Rails 3.0: Release candidate 2
weblog.rubyonrails.org
weblog.rubyonrails.org
Still, RC1 has been rock solid for me. 3.0 is gearing up to be an amazing release, been using it for all my web projects since the first beta (feb).
If you're still stuck on Rails2, seriously consider upgrading. Your life will be much happier (once you go through the pain of course ;-)
Disclaimer - I'll happily be one of the pawns. :D
I certainly buy that you'll have to update sooner or later, but I'd rather do it on my terms.
The keyword here is "eventually".
Wait for the next point release before upgrading.
Just like Windows.
Edit: big list of changes http://edgeguides.rubyonrails.org/3_0_release_notes.html
If you have a large working corpus of code in Blub, you absolutely shouldn't replace it just because a new version of Language on Locomotives comes out.
What you should do is exactly what patio11's doing here: evaluate if an upgrade brings you something that offsets the disruption the rewrite will cause.
For me, this also includes factoring in whether or not I'm going to be actively developing the application in the next year. If so, I do things like keep the framework versions current just so, nine months down the line, I'm using a framework version that I can still get docs and plugins for.
Claiming that Rails solves problems you "do not have" is blub thinking at its finest. Okay, I'll grant you that the routing changes are perhaps a little gratuitous. But consider the replacement of the ad-hoc manual SQL generation by arel. You will probably never even notice when this makes a query work that would have blown up before, or when your load times decrease because of lazy querying.
ActiveModel is another place where they've added huge power and flexibility. The fact that you no longer have to use ActiveRecord to get some of its best functionality is a huge win. Just because you haven't noticed how it might help you doesn't mean it won't if you give it a chance.
Even if you really don't need anything in Rails 3, it's still a straw man argument, because Rails 3 is all about modularization and embracing much wider development paradigms. If you want to use RSpec and FactoryGirl now you can do so with fully integrated generators. If ActiveRecord is useless to you, there is a well-defined API for any other ORM to integrate just as tightly. More importantly, the APIs that the components use are now public and documented, and will remain stable over time. This makes Rails useful for an order of magnitude more projects than it used to be.
Also, I should add that I'm in the same boat as you. I have a 50,000 line/200 model app dating back 3.5 years, and the Rails 3 upgrade is going to be painful. I put up with it though, because I much prefer a cutting edge platform to one where new thinking can never get a foothold.
Not that it's 100%, but it should pinpoint what you need to update. Lots of stuff is just deprecated, 3.1 will break it.
Having said that, this version upgrade is half a paradigm shift. Living through it has cleared up a lot of mvc and good code concepts and ideas for me. I can think of numerous ways my 2.3 rails code could be better thanks to going through the transition. That alone is worth a couple of weeks of dev time, imho.
Here's hoping that'll be before the weekend and wish for a Heroku update of the Bamboo stack :-)
Also, not sure how it will compare to the 1.x => 2.x upgrade, but I was able to get a very complex application with horrible code and no tests upgraded from 1.x Rails to 2.x Rails. It only took me 3 or 4 days to get 90% of the app working. The rest was just stuff that I didn't find was broken. Since the app didn't have any integration tests, none of those features even got tested. I had to rely on traditional QA to find the errors, and this process took just under a month.