We’ve released Ruby on Rails 2.3.6: six months of bug fixes, a handful of new features, and a strong bridge to Rails 3.
We deprecated some obscure and ancient features in Rails 2.3.6 so we could cut them entirely from Rails 3. If your app runs on Rails 2.3.6 without deprecation warnings, you’re in good shape for a smooth sail onward.
This slow-cooked dish is brought to you some 87 committers from our all-volunteer kitchen.
Now, let’s open the goodie bag!
cookies.permanent.signed[:remember_me] = current_user.id. Read more.alert and notice, the most common flash keys in many apps, to self.alert = '...' and self.notice = '...'. Add redirect_to url, :alert => '...' and :notice => '...'. Read more.label helper.self.table_name_prefix. Read more.Post.reset_counters(1234, :comments) to count the number of comments for post 1234 and reset its comments_count cache.add_ and change_column support column positioning using :first => true and :after => :other_column.gem install yajl-rubyassert_blank and assert_present. Read more.Object#singleton_class from Ruby 1.8.8, deprecating our Object#metaclass.Object#presence that returns the object if it’s #present? otherwise returns nil. Example: region = params[:state].presence || params[:country].presence || 'US'Enumerable#exclude? to match include?.Array#rand to Array#random_element to avoid collision with Kernel#rand.Date# and Time#last_(month|year) to #prev_(month|year) for Ruby 1.9 forward compatibility.ActiveResource::Base.include_root_in_json = true to serialize as a hash of model name → attributes instead of a bare attributes hash. Defaults to false.Peruse the commit log for the full story.