Hi, I was waiting for public release with graphics 2.0. I tried to fix things you changed, but after full day I couldn’t fix some issues, so I decided to revert changes and simply enable compatibility mode, but even with this some issues are left. I tried to download older version of corona sdk, but I’m getting access denied from download page. Could someone send me a link to older version, because this is ridiciolus… I almost finished my game and now everything’s wrong. I’m stuck and cannot do anything.
Welcome to Corona SDK - breaking your code since 2009 
I love your sense of dark humor!!! If this forum supported signatures that quote would be my signature going forward!
A whole day? You spent a FULL day on it, and didn’t finish? Now that’s some “true grit” right there! (j/k)
Seriously though, in mobile development (and most everything else technological) the one thing you can bank on is change.
Devices change. Operating Systems change. And consequently, good sdk’s change. One big plus of Corona actually, is how few “migrations” like this one (to graphics 2.0) are. IOS 6 came out, and you didn’t have to re-write your application. Or for iOS 7. Or for Android Ice Cream Sandwich. Or for Jelly Bean. Or for Nook. (and soon hopefully, not for Windows 8).
And so finally CoronaLabs implemented a major engine change (switching to openGL 2.0) and updated their API calls at the same time. Yes, this particular SDK update does force a “migration” instead of a simple rebuild of our apps (previous sdk updates hid many of the big OS changes in the past - and we never even noticed).
But a day and a half of migrating to be compatible with 1 billion+ devices isn’t really that much, relatively speaking.
Another way to put it is: CoronaLabs usually is able to keep your Ferrari race car driving around the track without stopping while they change out parts. In this very unusual case, they require you to pull in the pit stop for a quick migration.
IMHO CoronaLabs is doing a KICK ASS job. Period.
I admire Corona to have the guts to make breaking changes. These anchor points are much better than reference points for example. I’m sometimes annoyed by how they priorities some things though.
I’m on day 2 of converting my project. My biggest challenge has been when to apply the anchorChildren property. I would think I should have it always true as that was the previous default behavior but then strange things happen.
@jonjonsson - I’d agree the anchor points, and everything else I’ve looked at (after the bugs were gone) seems to work a lot better…
Agreed about the anchor points. It’s a lot better dealing with masks / masking too… and it’s also nice not having to reposition text objects after changing the text string (it repositions automatically now - so we can pull out the old code that would change text, reset the alignment and reset the x coord to get it to redraw properly).
I’ve got one big project, over 150,000 LOC and it took about a week to fully migrate on both platforms (must have been almost a thousand setReferencePoint calls, ugh). A dozen or so tableViews also took a little time to position / tweak just right, and a few other minor issues here and there. (after 2 days straight of only searching / changing setReferencePoint to .anchorX .anchorY I began bouncing off the walls, but a couple shots of romulan ale, and I made it through).
So a couple days aint bad, you’ll get there 
@mpappas Wow thats a lot of reference points. I thought mine was pretty biggish with 130.
I didn’t know that we don’t need to reposition text after changing now. That is a nice change.
Was going bonkers with so much conversion – so looked to save a little time, and that helped…
Also FYI – you don’t need masks on your tableViews in 2.0 either… (dunno about other widgets)…
When creating a tableView, you used to set the paramater “maskFile” to your graphics mask, which was applied to the tableView. Now, you just set the height and width when you create it, and it’s automatically masked (so you can ditch the unneeded mask assets)
Didn’t notice any other big time savers.
I tested no mask on scrollViews and they work fine too. Have you tested the new reRender thingy yet? Thats next on my list.
Sorry! This page can’t be accessed.
I don’t agree with anchor Points. I was using xReference and yReference to stick one object to another and fully rotate with him now it’s all screwed and I have to recalculate it somehow… Not to mention 0…1 colors (I’ve read your reasons to change this and completly don’t understand this, 16 milion colours is not enough, huh?). The thing is I don’t know how to fix my problems (I’m talking about compatibility mode only, in 2.0 I’ll faster write game from scratch than fix so much bugs).
For example:
I have 2 backgrounds:
local bg1 = display.newImage(“images/background.png”)
bg1.width = screenWidth
bg1.height = screenHeight
--bg1.anchorX = 0
--bg1.anchorY = 0
bg1:setReferencePoint(display.TopLeftReferencePoint)
bg1.x = screenLeft
bg1.y = screenTop
group:insert(bg1)
local bg2 = display.newImage(“images/background2.png”)
bg2.width = screenWidth
bg2.height = screenHeight
--bg1.anchorX = 0
--bg2.anchorY = 0
bg2:setReferencePoint(display.TopLeftReferencePoint)
bg2.x = bg1.x + bg1.width + 200
bg2.y = screenTop
group:insert(bg2)
And on enterFrame I was moving them to like this:
bg1.x = bg1.x - speed
bg2.x = bg2.x - speed
bg1.y = camera.y + screenTop
bg2.y = camera.y + screenTop
if bg1.x + bg1.width - screenLeft < 0 then
bg1.x = bg1.x + screenWidth * 2
end
if bg2.x + bg2.width - screenLeft < 0 then
bg2.x = bg2.x + screenWidth * 2
end
if bg1.x - screenRight > 0 then
bg1.x = bg1.x - screenWidth * 2
end
if bg2.x - screenRight > 0 then
bg2.x = bg2.x - screenWidth * 2
end
In older version it was working. I had moving world with fish object.
Now there’s an black offset between them. I don’t know why… When I turn off compatibility mode offset is longer… I’m using these constants:
centerX = display.contentCenterX
centerY = display.contentCenterY
screenLeft = display.screenOriginX
screenWidth = display.contentWidth - screenLeft * 2
screenRight = screenLeft + screenWidth
screenTop = display.screenOriginY
screenHeight = display.contentHeight - screenTop * 2
screenBottom = screenTop + screenHeight
display.contentWidth = screenWidth
display.contentHeight = screenHeight
@mpappas: I don’t agree. I wrote an app for android 2.2 (few tousand lines of code), now it’s 4.4 and it’s still working like a charm. This is not how sdks should be updated. And you can’t downgrade to older version 
Strange… I can access it with no problems. Have you tried emptying your browser cache?
btw, if i run old games in compatibility mode with g 2.0, are there any performance increases or is it about the same?
Yeah. Tried to re-log and other browsers too. It looks like basic account is not enough.
Starter accounts should be able to access this page too. It looks like there could be some permission problems. I’ll email one of the guys at CoronaLabs and ask them to check things out.
I had a quick look at your code and I saw this:
bg2.x = bg1.x + bg1.width + 200
This would effectively add a 200 pixel black border between the images, wouldn’t it?
Ah holy crap. I forgot to remove this while testing 2.0. Thanks, now it’s almost working with compatibility mode 
But still there’s something wrong with physics. I enabled hybrid drawing mode and it looks ok, but collisions look strange and also it’s working another way. Figured that one: os.time() is now in seconds not miliseconds… I was calculated time difference and power boost was working for 4500 seconds not miliseconds… But it’s still something wrong with collisions. 2 objects collide too late. I see now: only last part of multi-shaped object collide.
Another issue:
boosterSprite.x = fish.x - 60
boosterSprite.y = fish.y + 45
boosterSprite.xReference = 60
boosterSprite.yReference = -45
boosterSprite.rotation = fish.rotation
it was working before. Booster was sticked to fish by [-60,45] offset. Now it’s not.
And one more thing: why console is not showing when I run my game via sublime text? (with last version of corona editor plugin).
I also saw that when you set the anchor point for bg2 you’re setting bg1.anchorX instead of bg2.anchorX.
I ran your code with Graphics 2.0 and after removing the +200 from the width and fixing the anchor above it’s scrolling nicely. (also commenting out the setReferencePoint code).
I had migrated my game right well, but I noticed something extrange, my game is a top down car game with physics, so if I run game in hybrid mode I can see the lines of joints of wheels to the body moving with the car perfectly, but with graphics 2.0 joints lines seems not to be positioned correctly, only in the top left corner body shapes and joint lines seems to be good but when moving car lines of joints move out of car.

I have a problem with physics too:

Rock is multi-shaped object - green colour.
Fish is multi-shaped object too - orange colour.
Fish was rolling on the floor (from left to right) and collision started just when I made this screenshot, but it should happen way more earlier. It was actually… but update changed this…