Ruby on Rails 3.0 is Now Officially Available
The third generation of Rails has finally been released. More than 1,600 contributors were involved in its creation. There have been a large number of changes with the release of Ruby on Rails 3.0. David August notes that there were thousands of commits, but highlighted some of the major changes. Here is a look at some of the new creations as well as important changes.
The New Stuff
- Active Record Query Engine – it is use the Arel query engine so that scopes and queries will be more composable and more consistent.
- Router for Action Controller – Rails 2 saw a switch to the REST-based approach and Rails 3 has redone the syntax to minimize the noise and increase flexibility within the REST style.
- Action Mailer – With Rails 3, the Action Mailer has been made all controller to improve the functionality as well as the overall feel.
- Managing Dependencies – All of the dependencies from Rails 3 will be managed by Bundler. The intention of this is to allow you to specify libraries, plugins, and framework.
- Default XSS Protection
- Encoding Issues – Rails 3 has combined all of the tools necessary to eliminate encoding errors that lead to corrupted data being copied and pasted by Microsoft Word.
- No Direct References to Active Record – Most of the commonly requested Active Record components have been integrated into the Active Model framework. You can now use an ORM (API Compliant) for related features.
- New Plugin APIs – Railties have been rewritten in order to accommodate a new plugin API.
- Internals Have Been Rewritten – In regards to Action Pack and Railties, the internals have been completely rewritten. There are now modules as opposed to the Action Controller.
- New Documentation – It should be no surprise that with the longer than expected development cycle there is also a bit of new documentation with more to be released soon.
There are a large number of other changes, both big and small, that have been made to Ruby on Rails 3. For more detailed information, make sure to check out all of the new documentation.