| Rails 1.0 |
|
| 2005-12 |
|
| |
Ruby 1.8.6 |
| |
|
| Rails 1.2 |
|
| 2007-01 |
|
| |
REST routes |
| |
respond_to/format |
| |
ActiveSupport::Multibyte |
| |
|
| Rails 2 |
|
| 2007-12 |
|
| |
RESTful routes improvements; nested routes |
| |
/people/1/edit instead of /people/1;edit |
| |
.html.erb instead of .rhtml |
| |
t.type :name instead of t.column :name, :type |
| |
|
| Rails 2.1 |
|
| 2008-05 |
|
| |
Time zones |
| |
Gem dependencies (config.gem in environment.rb) |
| |
named scopes |
| |
record changes |
| |
UTC-named migrations |
| |
|
| Rails 2.2 |
|
| 2008-11 |
|
| |
Ruby 1.8.6, 1.8.7 |
| |
Internationalization framework |
| |
Thread safety |
| |
transactional migrations |
| |
vendorized gems |
| |
String#chars -> mb_chars |
| |
|
| Rails 2.3 |
|
| 2009-03 |
|
| |
Ruby 1.8.6, 1.8.7, 1.9.1 |
| |
Engines |
| |
use Rack middleware, Metal |
| |
Nested forms |
| |
dynamic & default scopes |
| |
|
| *Rails 3.0 |
|
| 2010-08 |
|
| |
Ruby 1.8.6, 1.9.2, 1.9.3 |
| |
Merb integration |
| |
ARel query engine |
| |
new router |
| |
new action mailer |
| |
Bundler |
| |
supports jQuery (not only prototype); Data Mapper (not only ActiveRecord) etc |
| |
|
| Rails 3.1 |
|
| 2011-08 |
|
| |
asset pipeline |
| |
HTTP streaming |
| |
jQuery as default |
| |
reversible migrations |
| |
mountable engines |
| |
mass-assignment protection |
| |
|
| Rails 3.2 |
|
| 2012-01 |
|
| |
plugins deprecated |
| |
faster dev mode |
| |
explain queries |
| |
|
| Rails 4.0 |
|
| 2013-06 |
|
| |
Ruby 1.9.3, 2.0 |
| |
strong parameters |
| |
Turbolinks |
| |
live streaming |
| |
save for threaded servers |
| |
|
| Rails 4.1 |
|
| 2014-04 |
|
| |
Ruby 1.9.3, 2.0, 2.1 |
| |
Spring preloader |
| |
Variant templates |
| |
Enums |
| |
Mailer previews |
| |
config/secrets.yml |
| |
|
| Rails 4.2 |
|
| 2014-12 |
|
| |
Ruby 1.9.3, 2.0, 2.1, 2.2 |
| |
Active Job framework |
| |
Adequate Record optimizations |
| |
Web Console |
| |
Foreign key support in migration DSL |
| |
|
| Rails 5 |
|
| 2015-… |
|
| |
Ruby 2.2.1 |
| |
rails command execute rake tasks too |
| |
rake test TEST=… -> rails test … |
| |
rake restart |
| |
Rails API |
| |
Turbolinks 3.0 |
| |
Action Cable (WebSockets; uses Redis) |
| |
Model.where(…).or(Model.where(…)) |
| |
belongs_to required by default (=> optional: true) |
| |
has_secure_token |
| |
alias_method_chain deprecated (-> prepend) |