Rails 3.0: Release candidate!
Posted by David July 26, 2010 @ 09:45 PM
High off Baltimore Pandemic and Yellow Tops, I believe we promised a release candidate shortly after RailsConf. As things usually go in open source, we gorged ourselves on fixes and improvements instead. But all to your benefit. We’ve had 842 commits by 125 authors since the release of the last beta!
Now it’s time to just say good is good enough, otherwise we could keep on with this forever. So please welcome the Rails 3 release candidate! You install, as always, with gem install rails --pre.
Most of the fixes have been of minor significance, but we did manage to dramatically speed up Rails 3 development and startup speed for larger applications (Basecamp went from insufferable to about 2.3 levels of enjoyment).
Speed is now pretty good across the board except for part of Arel that Active Record now depends on. We’ll be making sure we get performance of Active Record back to at least 2.3 levels before release.
A few more highlights:
- Support for the MySQL2 gem, which will take care of MySQL encoding issues on Ruby 1.9.2.
- Shallow routes are back.
- Fixed the autoload issues
- Made the rails command work even when you’re in a subdirectory
- Dealt with a variety of web encoding issues
Indulge yourself in the delights of all the glorious details from the commit logs or checkout the slightly less pedantic summaries in the CHANGELOGs.
This release candidate of Rails 3 also concides with the release candidate of Bundler 1.0. Huge strides were made with Bundler and it should both be much faster and have most of the edge cases sawed off.
I’ve said “we’re almost there” so many times that I’m almost exhausted. But really, guys, WE’RE ALMOST THERE!!!1
1 Just a few weeks before final is out?

Lovely Jubbly
Awesome! I know what I’ll be doing this week! :D
Kick ass!
Gg
Yes!!
This is great! I won’t be able to sleep tonight!
Yay!
Awesome! I’ve been using Rails 3 betas for a couple of months now. Really excited for this release!
Great news – well done all the team!
Nice work guys
Nice job! :-)
Awesome work everyone!!!
omgomgomgomg. I have waited for this for so long.
Great work guys!
Rock it! I hope you you won’t release rc2, rc3 and rc4 tomorrow! )))
Awesome job. I’ve been following the github feed and testing bits myself and I can say that I enjoy this new version a lot! Kudos to all collaborators!
Congratulations!!
Rock it! I hope you you won’t release rc2, rc3 and rc4 tomorrow! )))
Hoorray! :)
Congratulations!!!
Awesome job. I’ve been following the github feed and testing bits myself and I can say that I enjoy this new version a lot! Kudos to all collaborators!
This will be legen-dary
Awesome!
The past is history, the future is a mistery and Rails 3 is a gift, that’s why its called present.
Rock it! I hope you you won’t release rc2, rc3 and rc4 tomorrow! )))
Rails 3 is even better than organic unicorn whispers
Cannot wait to pull this down and try it out! Thanks to all for all your hard work!!!
Váaaamonos!
I hope Rails 3 will be a strong, powerful, reliable and, above everything else, FAST framework.
Longing for the final release …
Great job, guys. I wish I was one of you :)
how to start with mongrel? Exiting /Library/Ruby/Gems/1.8/gems/rack-1.2.1/lib/rack/handler/mongrel.rb:1:in `require’: no such file to load—mongrel (LoadError) => Booting WEBrick
Great stuff! Looking forward to trying out all the cool new features. Oh and I read your interview in this month’s .net magazine – cheers for the great tips
Good Job guys!
well done guys!
Thanks for your hard work!
hell yeah!
Downloading!
Downloading!
Hey that’s awesome! Thank you guys…
Perfect timing for me—thanks to everyone who has put in the hard work.
Hey, great news! :) Thank you guys, you are awesome!
Great work! Great from POLAND :)
Great work! Greetings from Poland :-)
Nice work!
Thank you, everyone, for the great work.
By the way, what do I have to specify in Gemfile?
gem “rails”, “3.0.0.rc1”
didn’t work when I executed “bundle install” with an error,
Could not find gem ‘rails (= 3.0.0.rc1, runtime)’ in any of the gem sources.
great job guys, getting ready to test a Rails3 RC project on EngineYard now.
Thank you to all the commit contributors for the great work, and looking forward to converting our main app from 2.3 to 3.0 final!
Hell Yeah!!!
tadatoshi, look in rubygems.org before crying, it’s “3.0.0.rc”.
Thank you, slainer68.
I should have done that.
Seems stuff in /lib isn’t being loaded now.
All I had in there was a custom email validator (from the railscast) and it isn’t being loaded again.
Are we supposed to move these somewhere else?
HUrry
Leroooooooooooooy!
tadatoshi, use “3.0.0.rc”.
Between Beta3 and RC I now get odd deprecation warnings running rake features, as below, is there any good explanation of the deprecation warning (not the new features)?
csld: rake features (in /Users/user_x/Sites/sixarm/csld) DEPRECATION WARNING: Calling a method in Rails::Application is deprecated, please call it directly in your application constant Csld::Application. (called from method_missing at /Users/user_x/.rvm/gems/ruby-1.9.2-rc1/gems/railties-3.0.0.rc/lib/rails/application.rb:77) bundle exec /Users/user_x/.rvm/rubies/ruby-1.9.2-rc1/bin/ruby -I ”/Users/user_x/.rvm/gems/ruby-1.9.2-rc1/gems/cucumber-0.8.5/lib:lib” ”/Users/user_x/.rvm/gems/ruby-1.9.2-rc1/gems/cucumber-0.8.5/bin/cucumber” —profile default Using the default profile… DEPRECATION WARNING: You are using the old router DSL which will be removed in Rails 3.1. Please check how to update your routes file at: http://www.engineyard.com/blog/2010/the-lowdown-on-routes-in-rails-3/. (called from initialize at /Users/user_x/.rvm/gems/ruby-1.9.2-rc1/gems/actionpack-3.0.0.rc/lib/action_dispatch/routing/deprecated_mapper.rb:33)
Thank you, DHH.
And thank you again for all the hard works.
You are irrelevant, Node.js is so much better, Ruby and Rails are just the new Cobol.
I heard about Rails 3 when i was a kid. Now my nephews will eventually enjoy it ;-)
Awesome! Great work to all those involved!
will update all internal projects to RC
hope we have a final 3.0.0 before christmas
I am so excited!!
Thank you all guys, the community always surprises me!
Woot! Shifts eyes to Heroku to see about a bamboo stack.
Congratz :)
Thanks guys, Rails has matured sooo much with version 3!!
Congrats! Can’t wait to dig in soon…
Giggity-giggity!!
trying to generate a new RC app:
/Users/modsognir/.rvm/gems/ruby/1.9.2/gems/railties-3.0.0.rc/lib/rails/generators/rails/app/app_generator.rb:22:in `empty_directory_with_gitkeep’: protected method `empty_directory_with_gitkeep’ called for #<rails::generators::appgenerator:0x00000100a1b188> (NoMethodError)
Really happy about this. I’ve been watching the commits/lighthouse for awhile wondering when this day might come. Onward to Rails 3!
Congratulations guys, Rails 3 is a huge leap for everyone, can’t wait to test out the rc.
Je suis comblé.
Congrats guys ! every beginning has an end ! almost there ….
just a doubt, is this correct ?
macbookpro# gem install rails—pre Successfully installed activesupport-3.0.0.rc Successfully installed activemodel-3.0.0.rc Successfully installed rack-1.2.1 Successfully installed rack-mount-0.6.9 Successfully installed actionpack-3.0.0.rc Successfully installed activerecord-3.0.0.rc Successfully installed activeresource-3.0.0.rc Successfully installed actionmailer-3.0.0.rc Successfully installed thor-0.14.0 Successfully installed railties-3.0.0.rc Successfully installed bundler-1.0.0.rc.1 Successfully installed rails-3.0.0.rc 12 gems installed Installing ri documentation for activesupport-3.0.0.rc… Installing ri documentation for activemodel-3.0.0.rc… Installing ri documentation for rack-1.2.1… Installing ri documentation for rack-mount-0.6.9… Installing ri documentation for actionpack-3.0.0.rc… Installing ri documentation for activerecord-3.0.0.rc… Installing ri documentation for activeresource-3.0.0.rc… Installing ri documentation for actionmailer-3.0.0.rc… Installing ri documentation for thor-0.14.0… Installing ri documentation for railties-3.0.0.rc… Installing ri documentation for bundler-1.0.0.rc.1… Installing ri documentation for rails-3.0.0.rc… Installing RDoc documentation for activesupport-3.0.0.rc… Installing RDoc documentation for activemodel-3.0.0.rc… Installing RDoc documentation for rack-1.2.1… Installing RDoc documentation for rack-mount-0.6.9… Installing RDoc documentation for actionpack-3.0.0.rc… Installing RDoc documentation for activerecord-3.0.0.rc… Installing RDoc documentation for activeresource-3.0.0.rc… Installing RDoc documentation for actionmailer-3.0.0.rc… Installing RDoc documentation for thor-0.14.0… Installing RDoc documentation for railties-3.0.0.rc… Installing RDoc documentation for bundler-1.0.0.rc.1… Installing RDoc documentation for rails-3.0.0.rc… macbookpro# rails -v Rails 3.0.0.beta4 macbookpro~#
What’s the plan for the migration of Merb?
great news
ok I run a gem cleanup and everything is ok: Successfully uninstalled activesupport-3.0.0.beta4 Clean Up Complete macbookpro# rails -v Rails 3.0.0.rc macbookpro#
Great Success!
what’s with the snowman? http://github.com/rails/rails/commit/25215d7285db10e2c04d903f251b791342e4dd6a#L5R1485
Rails 3 will be released in the next weeks?
Confirm/deny?
Awesome!!
@Eric -
I’m noticing that too. Not sure if we’re supposed to throw in require statements everywhere like they’re now doing in the rails source.
Great work :)
Great news of the day :)
Congratulations!
Awesome news! Can’t wait to install this RC. Thanks to all you guys involved.
rvm + Rails 3 + bundler + new ActiveRecord => the best web development framework is even better!
Been using Rails 3 for our new project, it has been a smooth ride. Thanks everyone!
“Made the rails command work even when you’re in a subdirectory”
This one made my day :D
I’ve been riding the prerelease versions for a while now and they keep getting better and better. Thanks to everyone involved!
it’s just awesome, lads!
Awesome.Thanks to everyone involved.
@Tim
Dude don’t spam with your Node.js comment everywhere.
@eric
Same here with the railscast email validator…
I will hunt for a solution on this one. So far I just commented the validator out…
Are you guys competing against Blizzard or something? Rails3 beta was released at around the time that Starcraft 2 beta was released. And now you release RC on the day of the Starcraft 2 release.
In Rails 3b4 my ruby files in the lib directory of my application were automaticaly loaded/required.
In Rails 3rc1, there are not anymore. Is this normal?
Where is the commit that changed this? What is the best prefered way to load the files in “lib”?
Thanks for your answers.
Nicolas.
Congrats!
I am also finding that the contents of my lib directory are not loading too
uninitialized constant ApplicationController::Authentication
There’s a question about it here on the mailing list if anyone knows how to fix this: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/4bb505f2539c8895?hl=en
PS – the rc does load a hell of a lot quicker than beta4!
looks very, very promising!!! using in in the next days…
Thank you guys!
Thanks guys, very much appreciated!
w00t
Hmm, nice to see a release, not so nice to have to rummage around to find that the Rakefile init had changed from Rails::Application to <appname>::Application, config.load_paths had been replaced by config.autoload_paths, lib/* is not autoloaded anymore and Object#returning has been suddenly dropped for Object#tap without fallback or deprecation (breaking SimpleForm in the process).
I did rummage around the CHANGELOGs but even so, quick and sudden changes like this forced me to make a new Rails app and do lots of differencing to work out why something had broken so badly in some places… how come so many sudden breaks from beta to RC?
Also, in your rakefile, change:
Rails::Application.load_tasks
to:
YourAppName::Application.load_tasks
Anyway, rc is really fast – so good
whoops, last comment didn’t really work :)
if you’re having trouble with the contents of your lib directory not loading, all you need to do is add the following to your application.rb file:
config.autoload_paths += %W(#{config.root}/lib)
You might as well add this to your rake file too:
Change:
Rails::Application.load_tasks
to:
YourAppName::Application.load_tasks
PS – this might only apply to those upgrading from b4 to rc…
@myself
I could use mongrel by adding a line to the Gemfile:
gem ‘mysql’
and then I could use “script/rails s mongrel”
Awesome job everyone! Am installing it and will be testing out some apps that were already migrated to beta4. It’s such a pleasure to code with! Well done and thank you.
Sweet!
This is exciting news. I currently have one simple Rails 2.x based site and have been waiting for Rails 3 to get a little closer before converting a second site to Rails. The only thing I’m wondering is if in the Rails world a few days means several weeks, does a few weeks mean a few, or several, months?
great… on new apps BUt I am having bad times in running bundle install on existing test_app
gem file source :gemcutter # gem ‘rails’, ‘3.0.0.rc’
gem ‘sqlite3-ruby’, :require => ‘sqlite3’ gem “nifty-generators”
gem ‘capybara’ ..
——console log—- Using capybara (0.3.9) /Users/yves/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/rubygems/package/tar_input.rb:111:in `initialize’: No metadata found! (Gem::Package::FormatError) from /Users/yves/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/rubygems/package/tar_input.rb:17:in `new’ from /Users/yves/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/rubygems/package/tar_input.rb:17:in `open’ from /Users/yves/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/rubygems/package.rb:58:in `open’ .... from /Users/yves/.rvm/gems/ruby-1.9.2-rc2@rails3rc1/bin/bundle:19:in `load’ from /Users/yves/.rvm/gems/ruby-1.9.2-rc2@rails3rc1/bin/bundle:19:in `<main>‘great… on new apps BUt I am having bad times in running bundle install on existing test_app
gem file source :gemcutter # gem ‘rails’, ‘3.0.0.rc’
gem ‘sqlite3-ruby’, :require => ‘sqlite3’ gem “nifty-generators”
gem ‘capybara’ ..
——console log—- Using capybara (0.3.9) /Users/yves/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/rubygems/package/tar_input.rb:111:in `initialize’: No metadata found! (Gem::Package::FormatError) from /Users/yves/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/rubygems/package/tar_input.rb:17:in `new’ from /Users/yves/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/rubygems/package/tar_input.rb:17:in `open’ from /Users/yves/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/rubygems/package.rb:58:in `open’ .... from /Users/yves/.rvm/gems/ruby-1.9.2-rc2@rails3rc1/bin/bundle:19:in `load’ from /Users/yves/.rvm/gems/ruby-1.9.2-rc2@rails3rc1/bin/bundle:19:in `<main>‘If you get the lib message on debian based linux try:
” sudo mkdir /usr/lib/ruby/gems/1.8/gems/rails-3.0.0.rc/lib”
or
” sudo mkdir /usr/lib/ruby/gems/1.9/gems/rails-3.0.0.rc/lib”
change your ruby version # as appropriate.
Hooray, can’t wait for the final release!
@BillSaysThis, as for the first warning, I’m also getting this (“Calling a method in Rails::Application is deprecated”).
As for the second warning (“You are using the old router DSL which will be removed in Rails 3.1”), you can get rid of it by removing the block argument in config/routes.rb, so:
Your::Application.routes.draw do |map| end
becomes
Your::Application.routes.draw do end
@stephen murdoch, @Olek: Thanks! Those were the answers.
good times.
we got the WMD
we got the WMD
The lib directory thing was confusing the hell out of me. Thanks for the comments folks.
That’s good
Thanks to everybody for all of the hard work!
So the RC is currently slower than 2.3, and once AR is fixed for the final release it will be equivalent to 2.3. Is that correct? Rails 3 will match 2.3’s performance once it’s finally released?
Great!! now downloading!!!
@ modsognir try ruby 1.9.2-preview3 instead of 1.9.2-preview1
Could the rails people make a statement about what versions of ruby are recommended for use with rails 3?
Baaaaaaaaaaaaaaaaaaaaaaaaaam
Baaaaaaaaaaaaaaaaaaaaaaaaaam
Baaaaaaaaaaaaaaaaaaaaaaaaaam
I upgraded my Rails 3b4 app to RC, everything worked out perfectly, but capistrano stopped working.
alexle:m3 sr3d$ cap shell /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/bundler-1.0.0.rc.1/lib/bundler/runtime.rb:27:in `setup’: You have already activated net-ssh 2.0.22, but your Gemfile requires net-ssh 2.0.23. Consider using bundle exec. (Gem::LoadError) from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/bundler-1.0.0.rc.1/lib/bundler/spec_set.rb:12:in `each’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/bundler-1.0.0.rc.1/lib/bundler/spec_set.rb:12:in `each’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/bundler-1.0.0.rc.1/lib/bundler/runtime.rb:17:in `setup’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/bundler-1.0.0.rc.1/lib/bundler.rb:97:in `setup’ from ./config/boot.rb:5 from /Users/sr3d/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require’ from /Users/sr3d/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:152:in `require’ from ./config/deploy.rb:2:in `load’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:172:in `load_from_file’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:89:in `load’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:86:in `load’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:86:in `each’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:86:in `load’ from Capfile:4:in `load’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:172:in `load_from_file’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:89:in `load’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:86:in `load’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:86:in `each’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/configuration/loading.rb:86:in `load’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/cli/execute.rb:65:in `load_recipes’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/cli/execute.rb:65:in `each’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/cli/execute.rb:65:in `load_recipes’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/cli/execute.rb:31:in `execute!’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/lib/capistrano/cli/execute.rb:14:in `execute’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/gems/capistrano-2.5.18/bin/cap:4 from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/bin/cap:19:in `load’ from /Users/sr3d/.rvm/gems/ruby-1.8.7-p249/bin/cap:19
Not sure what’s going on. The first time I ran cap, I got an error for “highline” version mistmatch, similar to the above stacktrace. I then removed the existing Gemfile.lock and re-ran “bundle update”, and now it’s Net-SSH that’s scewed up.
Anyone got any idea?
Thanks,
Alex
Well, “bundle exec cap staging deploy” works, but I run into issues with the existing deployment of the application and older version of Bundler.
I ran into a few errors, but finally get Capistrano to work. I had to add this to the deploy.rb file so that bundle install can install everything properly for the first deployment.
task :bundle_install, :roles => [:web] do run “cd #{release_path} && bundle install” end
after “deploy:update_code”, “bundle_install”
With beta4 and moonshine, I added the line
config.eager_load_paths = [‘models’, ‘controllers’, ‘helpers’]
for moonshine to work, as described with the problem here:
http://groups.google.com/group/railsmachine-moonshine/msg/4d85c29bbfa40df4
In RC, this would break the system, so I commented it out and it worked now.
With regards to having moonshine work, I haven’t done a deploy yet, but will give feedback once I have it running.
Waiting for the Release.
Installed this on a fresh Ruby 1.8.7 p299 install on WinXP SP3. It seems the various gems and dependencies where installed ok, but the installation crashed when trying to build the documentation for some of the components. Error log pasted below:
C:\>gem install rails—pre Successfully installed activesupport-3.0.0.rc .... Successfully installed rails-3.0.0.rc 24 gems installed Installing ri documentation for activesupport-3.0.0.rc… Installing ri documentation for builder-2.1.2… ERROR: While generating documentation for builder-2.1.2 ... MESSAGE: Unhandled special: Special: type=17, text=”<!
- HI ->” ... RDOC args:-ri—op c:/Ruby/lib/ruby/gems/1.8/doc/builder-2.1.2/ri—title Builder -Easy XML Building—main README—line-numbers—quiet lib CHANGES Rakefile README doc/releases/builder-1.2.4 .rdoc doc/releases/builder-2.0.0.rdoc doc/releases/builder-2.1.1.rdoc—title builder-2.1.2 Document ation (continuing with the rest of the installation) Installing ri documentation for i18n-0.4.1… .... Installing ri documentation for activerecord-3.0.0.rc… ERROR: While executing gem … (Errno::EINVAL) Invalid argument – ./</cdesc-><.yamlC:\>
um, I don’t think ‘release candidate’ means the same thing to me it means to you.
I thought ‘release candidate’ meant “we think it’s done, but we’re not tagging it yet because we’re going to wait to see if anyone finds bugs.”
If you’re still planning new features/refactorings, or there are still bugs you’re planning on fixing before the release—that’s not an RC. At least how I understand RC. Cause, otherwise, how is it different than a beta/prerelease?
But I guess rails team understands “RC” different?
Lucious
sss thx this is cool
sss thx this is cool
Why would you settle for a regular iPad when you can buy a 24K gold iPad for a less expensive price than the one sold in stores? SP00W! is the hottest online auction site, featuring discounted speed bidding on custom and exclusive items in real time. FREE REGISTRATION and 5 FREE BIDS !!! http://www.spoow.com/getfreebids also you can join us on Facebook and gain additional free bids!!! http://www.facebook.com/pages/Spoow-Speed-Bid-Auctions/142522825781258?ref=ts