Ruby on Rails 3.0, an upgrade to the popular open source Web framework that features a merger with the Merb framework, was released Sunday, the founder of Rails, David Heinemeier Hansson, said in a blog.
Version 3.0's general availability follows a second release candidate that was offered last week. The capabilities of Merb have been leveraged in Rails 3.0 to boost performance.
[ Rails and Merb merged in late 2008 and a roadmap for Rails, culminating with Rails 3.0, was detailed shortly thereafter. | Rails founder Hansson has criticized a survey that ranked Rails low in user satisfaction. | Keep up with app dev issues and trends with InfoWorld's Fatal Exception blog and Developer World newsletter. ]
"Rails 3.0 has been underway for a good two years, so it's with immense pleasure that we can declare it's finally here. We've brought the work of more than 1,600 contributors together to make everything better, faster, cleaner, and more beautiful," Hansson said in a blog post.
Available now for download, Rails 3.0 is designed to work with Ruby version 1.8.7, 1.92, and 1.5.2.
Hansson listed the following highlights of Rails 3.0:
- A new Active Record Query Engine to make it easier to build complex queries over several iterations.
- Cross-site scripting protection by default.
- A new router for Action Controller, favoring REST "with less noise and complexity."
- A new Action Mailer, built on top of the new Mail gem.
- The ability to manage dependencies of Rails applications with Bundler. Developers can specify the libraries, frameworks, and plug-ins needed for an application.
Rails 3.0 also addresses encoding issues. "Never struggle with corrupted data pasted by a user from Microsoft Word again," Hansson said.
Railties, which has been described as the core of Rails, has been rewritten with the goal of using a new plug-in API for Rails with frameworks such as Active Record and Action Mailer. "This means that Rails plug-ins like the ones for DataMapper and RSpec have access to all of the integration as the built-in support for Active Record and Test::Unit," Hansson said.
Also, Action Pack and Railties are easier to extend.
A new Active Model framework allows ORM (object-relational mapper) like Mongoid to use Active Record validation, callbacks, and serialization. A rewritten Acton Controller removes references to Active Record, thus defining a simple API that ORMs can complement.
Meanwhile, rewritten internals and new plug-ins bring framework agnosticism for components of Rails 3.0.