News from the edge of Rails.

What's New in Edge Rails #37

Week of September 3 - September 9, 2012

  • Routing concerns have been enhanced in 05136e5c to let you move logic entirely out of the routing file into your models or elsewhere.
  • 3b516b5b adds support for the PostgreSQL 9.2 native JSON data type.

What's New in Edge Rails #36

Week of August 27 - September 2, 2012

  • A bunch of tinkering with ActionView internals is summarized with a doc commit at daa0ed3a. THis includes the deprecation of ActionView::RecordIdentifier and the deprecation of Template#mime_type, the latter in favor of type. The overall goal is to make it easier to extract ActionView from ActionPack in the future.
  • 810a50da splits up the CHANGELOG so that it’s separate files on separate branches.
  • Rails bumps its bundler dependency to 1.2 in 5f99bdbe. Time to upgrade.

What's New in Edge Rails #35

Week of August 20 - August 26, 2012

  • e6747d8 decouples eager loading from class caching.
  • 2801786e moves from config.preload_frameworks to config.eager_load_namespaces, allowing you to register any Ruby namespace from your application for the eager loading process.
  • As of 73c02220, ActiveRecord::SessionStore has been extracted from Rails into a separate gem.
  • The update_attribute saga continues. 50bdb924 reverts the commit that removed it, so as of right now it’s back in Rails 4.0.

What's New in Edge Rails #34

Week of August 13 - August 19, 2012

Looks like there’s some focus on ActiveRecord optimizations currently. That’s work that many people will welcome.

  • DHH’s routing concerns plugin gets merged to the main line at 0dd24728b - documentation is at 0bd7b07d. This lets you tidy up your routes.rb file by declaring common reusable resources.
  • 0d0d4622 adds Request#formats=(extensions) to let you set a prioritized list of multiple formats to use in response.

What's New in Edge Rails #33

Week of August 6 - August 12, 2012

Not a hugely busy week, though there’s plenty of tinkering going on inside things like routing and associations still.

  • DHH stepped in at fb883318 to revert the generation of humans.txt when making new applications. He may not make a lot of commits these days but his opinions are still important.
  • 2a290f7f introduces a default_headers config option, making it easy to apply HTTP headers to every response your application generates.

What's New in Edge Rails #32

Week of July 30 - August 5, 2012

The most sweeping change this week was actually on the 3.2 branch, where a bunch of deprecations were undone, in line with a new policy of not deprecating APIs in point releases.

  • The column updating saga continues. 4ac81de5 removes the deprecation of update_column, so both it and update_columns will be supported in 4.0.
  • 92641ef reverses the behavior of multiple calls to .order(). Now .order("first_name ASC").order("last_name ASC") will generate ORDER BY last_name ASC, first_name ASC.
  • 7db0b073 makes the inflector locale-aware and multilingual. Now you can define separate pluralization rules for separate locales.
  • 437851e adds Relation#load to force eager loading of records.
  • Documentation for the new association API is available in 6fe11965.

What's New in Edge Rails #31

Week of July 23 - July 29, 2012

Biggest change this week is probably the introduction of ActionController::Live, but there are lots of little advances as well.

  • 449039a8 swaps out ActionDispatch::Head in favor of Rack::Head.
  • Don’t get too used to update_column, which is the 3.2.x replacement for update_attribute. In 87ffc366 it gets replaced by update_columns.
  • With 6a81ccd6 ActiveRecord::Base.all returns a Relation instead of an Array. Finally.
  • 99ea1a87 changes the behavior of Object#try to return nil if the receiving object doesn’t implement the method. You can use Object#try! if you want the old behavior.
  • ActionController::Live allows any method to stream data to the client live. 0899be57 has the changelog entry.

What's New in Edge Rails #30

Week of July 16 - July 22, 2012

Big changes to associations internals landed this week, along with various other odds and ends.

  • There’s now a migrator specifically for join tables, keyed on the migration name: rails g migration create_clients_join_table doctors patients., as of 211d88b7.
  • More tidying on the JavaScript front: fb8a830a removes :confirm in favor of :data => { :confirm => 'Are you sure?' } in various tag helpers.
  • e1cfa6e0 shows off the new association macro syntax, with declarations like has_many :popular_grouped_posts, -> { includes(:comments).group("type").having("SUM(comments_count) > 1").select("type") }, :class_name => "Post"
  • 3803fcce drops support for the :finder_sql, :counter_sql, :insert_sql, and :delete_sql in declaring associations.

What's New in Edge Rails #29

Week of July 9 - July 15, 2012

It was a very quiet week for Rails. There’s some work going on in refactoring the internals of associations, and some code cleanup, but I didn’t find a single feature in the week’s commits worth calling out here. Enjoy your summer vacation.