-
Get a monthly update on best practices for delivering successful software.

This week marked the release of Ruby on Rails 2.3 RC 1.
If you're thinking, "Good Lord, that was fast. I just got around to watching the What's New in 2.2 video", you're probably not alone. 2.2, according to the ever-reliable Wikipedia, was released about 10 weeks before 2.3 RC 1. And it's not like 2.3 is a minor tweak -- it includes a major change to the Rails internals (Rack support), a nested form feature that's been a top request for some time, and a bunch of other small, but nice changes.
However, I don't mean to do a "What's New" post -- at least, not this week. This week is a little bit more meta, and might more accurately be called, "How To Deal With What's New".
I have three or four big go-to sources for keeping up with changes to Rails. There are two blog sources that regularly post about changes in Edge Rails, the official Ruby on Rails blog, and Ryan Daigle's blog, both well worth your time.
For keeping up with changes in the Rails ecosystem, especially new and updated plugins, the Rails Envy podcast is a great source. It's about 15-20 minutes a week, there's usually at least 2-3 things I need to follow up on right away.
Finally, if you want to go to the source, you can follow Ruby on Rails at Github. This will give you an RSS feed of all commits to the Rails source, and any comments on those commits. That's a lot of information, I generally just keep an eye on this feed for things that seem particularly interesting.
On of the side effects of keeping a low-key side project floating around is that it gives you an opportunity to have an actual project running Edge or new versions of Rails. Keeping the project on Edge is fairly easy if you are using Git and keeping Rails in it's own separate git project (just a git pull from time to time). Otherwise, you can stay on Edge by periodically running rake rails::freeze::edge, which will download the current edge Rails as a tar file. Specific, non-edge releases of Rails, (like 2.3 RC 1) can be downloaded directly from GitHub. You can also get the most recent release candidate version of Rails as a gem by gem install rails --source http://gems.rubyonrails.org.
My basic rule of thumb on what version of Rails to use.
rails . or one of the rake update tasks to get updated versions of the scripts, and JavaScript libraries, environment files, and whatnot in your existing app -- you can get some weird bugs if the environment files are out of sync with the Rails versionMake sure that all the developers on your team are up to date on the features of the Rails version that you are using. If, say, half the team knows about named scopes, and the other half doesn't, you're going to get some messy, two-headed code. Running through the various What's New docs as part of the kickoff on a new project might be helpful.
Related posts:
Topics: Ruby on Rails
“Point release updates (2.0 -> 2.1) generally should not be applied to an app in production unless other work is going on.”
Hopefully this is going to change in Rails 3.0 as the design teem has committed to a stable and tested public API like Merb has. This should help projects stay compatible with point releases as long as they follow the API and don’t Monkey Patch things too much.
On a related Note, here hoping that Rails 3.0 will also be easier to extend (a la Merb).
Comment by Antares Trader, Monday, February 9, 2009 @ 1:40 pm
Thanks a lot for the podcast mention! I agree with you mostly about the different versions of Rails to use. One thing I’d like to add is that if you’re using RSpec for testing, it’s generally a good idea to stay away from edge if you plan on updating edge frequently. I’ve lost a lot of time from a broken edge RSpec/Rails combination. HOWEVER, the good news is that keeping RSpec working with edge is going to be much more of a priority from now on, according to Yehuda. Anyway, great post!
Comment by Jason Seifer, Monday, February 9, 2009 @ 6:18 pm
[...] post is the practical companion to my post about a month ago about keeping up with Edge Rails and new versions. There are many wonderful things about Rails and [...]
Pingback by Ruby on Rails » Keeping Up With The Joneses: Keeping Rails and its extensions up to date » Pathfinder Development, Friday, March 6, 2009 @ 12:00 pm