Rails 3: New release completes integration of Merb
David Heinemeier Hansson has fulfilled the promise he made early last week and has released version 3.0 of his creation, the Ruby on Rails web framework. The new release is a redevelopment of the Ruby framework and incorporates the concepts from Rails former competitor, Merb, as a result of the decision to merge the two open source projects in late 2008.
The Rails inventor said that more than 1600 contributors submitting thousands of commits over about two years have jointly made Rails "better, faster, cleaner, and more beautiful". New features include a router which allows declarations that are based on the REST (Representational State Transfer) architecture and an interface to simplify the addition and management of plug-ins. Overall, the new Rails is considerably more modular than previous versions and more dependency agnostic, allowing developers to easily use Test::Unit, Prototype or DataMapper and other libraries instead of Rails' default libraries.
Rails' Active Record implementation is now based on the Arel Query Engine. Its algorithm is said to allow more complex search queries over multiple iterations. The developers have also changed the mechanism that protects applications against XSS (cross-site scripting) attacks. Rails 3 highlights APIs which can be considered obsolete and have been "deprecated". This helps developers migrate application code that was written in an older version of Rails to the new version without having to rewrite everything from scratch.
Rails 3 requires at least Ruby 1.8.7, but it also works with version 1.9.2 of the Ruby script language. The framework can also be used with the Ruby implementation JRuby 1.5.2 and later versions of the Java Virtual Machine (JVM). A good introduction for those who want to gain a first impression of the new features is available in Heinemeier Hansson's announcement. Another helpful resource is a post on Ruby Inside that links to more than 20 videos about the new functions. Various options to download the MIT-licensed Rails 3.0 are available on the rubyonrails.org website.