Rails 3.1 Has Landed

We are ecstatic to let all of you wonderful Engine Yard Cloud and Engine Yard Managed customers know that we are officially supporting Rails 3.1! Rails 3.1 brings a metric ton (we measured) of new features and functionality that will benefit you all. Instead of just listing them out, I asked a few folks including some of our staff what they were most looking forward to in Rails 3.1. ###Asset Pipeline A whole slew of excited Twitterers said they were most looking forward to the use of the asset pipeline! Our own Evan Machnic sums it up by saying, “The asset pipeline makes it easy to organize and serve your assets. Pairing the pipeline with a well-tuned web and application server means that web sites are rendered blazing fast.” I would have said the same thing. Word for word. I’m suspicious that he copied my work. ###Prepared Statements Thomas Enebo and Nick Sieger of the JRuby crew are wildly excited about the use of Prepared Statements. PostgreSQL customers will notice a huge performance boost. It was because of Rails 3.1’s improvements for PostgreSQL that we decided to offer PostgreSQL to our customers. PostgreSQL is currently released in Alpha. MySQL customers utilizing complex statements will also notice a boost. ###HTTP Streaming Danish Khan and several folks from Facebook also chimed in for HTTP streaming response. Browsers will load pages faster than ever before, especially when used with the asset pipeline! Please note that currently we only support streaming with Unicorn. We are working as quickly as possible to support other web servers. ###jQuery Shane Becker is excited by jQuery being the default JavaScript framework for Rails with 3.1. He says, “One of my favorite Rails 3.1 features is that jQuery is the default JavaScript library. It’s such a small detail. But there’s something in the details, right?” ###:bulk => true Josh Lane and Tyler Poland both echoed that the use of :bulk => true is what will make their dreams come true. Using :bulk => true option in change_table migrations ensures that all schema changes use a single ALTER statement.

Tyler explains that, “Before Rails 3.1, each statement within a migration is mapped to an individual ‘ALTER TABLE’ statement within MySQL. This is problematic since each of those ‘ALTER’ statements re-writes the entire table on disk and blocks writes while it is running. Generally, each ‘ALTER’ takes about the same amount of time to run as a single statement capturing all those changes written in the ‘SQL’ syntax. Baron Schwartz discusses the topic here. This feature enables Rails to merge the changes into a single statement automatically, thus increasing the speed of your migrations.”

This is just a sampling of the new features available to you with Rails 3.1. Now everyone who has been building Rails 3.1 applications can start deploying them on Engine Yard today. For all additional documentation, go here.

When you upgrade your Rails 3 application to Rails 3.1, all this goodness is available when you ey deploy!