Skip to content

Instantly share code, notes, and snippets.

@drnic
Created December 20, 2011 20:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drnic/1503106 to your computer and use it in GitHub Desktop.
Save drnic/1503106 to your computer and use it in GitHub Desktop.

Rails 4, Rails 3.2RC1 and Ruby 1.9.3

It was very exciting at the Engine Yard office today to see the simultaneous release of Rails 3.2RC1 and the announcement that rails/master is now Rails 4.0.0.beta!

We want to join the pre-holiday merriment by announcing early access support for Rails 4 so that we can proactively track its development and its requirements for your Rails applications, by showing you how to test out Rails 3.2RC, and by announcing public release of Ruby 1.9.3 for beta testing.

Happy Holidays! Let's open the presents!

Ruby 1.9.3 public beta

We are very happy with the stability of Ruby 1.9.3p0 and its integration into the Engine Yard Cloud stacks. We are now making it publicly available to all customers as a public beta option. We will continue to watch it in production and soon make it available under your Support plan.

What's new in Rails 3.2RC1?

The highlights of Rails 3.2 are summarized well on the Rails blog as primarily benefits for development:

  • Faster dev mode & routing - only reload classes from files you’ve actually changed, which makes a dramatic difference on larger applications
  • Explain queries - explain how an ActiveRecord/ARel query is generated, see slow queries in development mode
  • Tagged logger - running a multi-user, multi-account application (like Engine Yard Cloud itself)? now its easy to filter your logs by who did what
  • Active Record store - "Key/value stores are great, but it’s not always you want to go the whole honking way just for a little variable-key action"

Test out Rails 3.2RC1 today by updating your Gemfile to:

gem 'rails', '~> 3.2.0.rc'

If you upgrade your Rails 3.1 application to Rails 3.2, it should continue working perfectly on Engine Yard Cloud. As always, we recommend you test major application upgrades or environment changes in a staging environment first.

Rails 4.0

"Rails 4.0" is not a current release of Rails. It is the version number that Rails gives to itself if you use edge rails. As of this instant there is nothing shiny or new in Rails that wasn't released in Rails 3.2RC today.

Can I try out Rails 4.0 on Engine Yard Cloud? I'm glad you asked. We've made pre-emptive accommodations for Rails 4 in Engine Yard Cloud so that we can evolve the platform over the next 6 months during Rails 4.0 development. You too can access it today via the Early Access Program from the dashboard.

Go to your Account Settings:

Click through to your account and scroll down to the section "Managed Early Access Features":

Enable the "Rails 4.0" feature and you can now create new "Rails 4" Applications:

What does this do today? It only restricts your Ruby choices to Ruby 1.9.3, JRuby (1.9 mode) and soon Rubinius 2 (1.9 mode). As new features are added to Rails 4 we will evolve Engine Yard Cloud to support them.

Using Rails 4.0

Want to live on the edge of Rails 4.0? Then you need to do two things:

  • change to Ruby 1.9.3 or JRuby (1.9 mode) or coming soon Rubinius 2 (1.9 mode)
  • change your Gemfile to edge Rails and run "bundle update":
gem 'rails',     :git => 'git://github.com/rails/rails.git'
gem 'journey',   :git => 'git://github.com/rails/journey.git'
gem 'arel',      :git => 'git://github.com/rails/arel.git'

group :assets do
  gem 'sass-rails',   :git => 'git://github.com/rails/sass-rails.git'
  gem 'coffee-rails', :git => 'git://github.com/rails/coffee-rails.git'
  
  gem 'uglifier', '>= 1.0.3'
end

To create a brand new Rails 4.0 application:

gem install rails --pre   # to get Rails 3.2RC1
rails new edgeapp --edge  # Gemfile contains the specification above

Engine Yard Cloud runs on Rails

Internally we've been upgrading many of our services to Rails 3.1 (including the public facing Engine Yard Cloud dashboard, which started life as a Merb app). As a group of engineers working on Rails projects, we are now more excited than ever for the future of Rails and for the future of Engine Yard Cloud as the premier platform for production Rails applications.

We run Engine Yard Cloud - the main platform and all its internal services - on Engine Yard Cloud itself. With the future of Rails being 4.0, and its dependencies on Ruby 1.9.3, or the 1.9 modes for Rubinius or JRuby, we want to get in early and enjoy the ride!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment