Rails 3.2.0.rc2 has been released!

Hi everyone,

Rails 3.2.0.rc2 has been released!

What to update in your apps

  • Update your Gemfile to depend on rails ~> 3.2.0.rc2
  • Update your Gemfile to depend on sass-rails ~> 3.2.3
  • Start moving any remaining Rails 2.3-style vendor/plugins/*. These are finally deprecated!

Extract your vendor/plugins to their own gems and bundle them in your Gemfile. If they’re tiny, not worthy of the own gem, fold it into your app as lib/myplugin/* and config/initializers/myplugin.rb.

Changes since RC1

ActionMailer

  • No changes

ActionPack

  • Add font_path helper method Santiago Pastorino

  • Depends on rack ~> 1.4.0 Santiago Pastorino

  • Add :gzip option to caches_page. The default option can be configured globally using page_cache_compression Andrey Sitnik

ActiveModel

  • No changes

ActiveRecord

  • No changes

ActiveResource

  • No changes

ActiveSupport

  • ActiveSupport::Base64 is deprecated in favor of ::Base64. Sergey Nartimov

Railties

  • Rails 2.3-style plugins in vendor/plugins are deprecated and will be removed in Rails 4.0. Move them out of vendor/plugins and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. Santiago Pastorino

  • Guides are available as a single .mobi for the Kindle and free Kindle readers apps. Michael Pearson & Xavier Noria

  • Allow scaffold/model/migration generators to accept a “index” and “uniq” modifiers, as in: “tracking_id:integer:uniq” in order to generate (unique) indexes. Some types also accept custom options, for instance, you can specify the precision and scale for decimals as “price:decimal{7,2}”. Dmitrii Samoilov

Gem checksums

  • MD5 (actionmailer-3.2.0.rc2.gem) = 118c83b2cddaa935d1de7534cfb6c810
  • MD5 (actionpack-3.2.0.rc2.gem) = 6b18851bc26d5c8958672f27adda05ca
  • MD5 (activemodel-3.2.0.rc2.gem) = d82f4eed949dcff17f8bf2aed806679a
  • MD5 (activerecord-3.2.0.rc2.gem) = d07806fd5fc464f960200d20ceb2193a
  • MD5 (activeresource-3.2.0.rc2.gem) = f51af240ff4623b0b6f8a4293ffa50dc
  • MD5 (activesupport-3.2.0.rc2.gem) = 01380240c12e0380c9e61c97dd45f2f1
  • MD5 (rails-3.2.0.rc2.gem) = 134f923f7d821f514abf6bdf4af62ca7
  • MD5 (railties-3.2.0.rc2.gem) = 4b3ac0f9c5da16b90a1875e8199253d2

You can find an exhaustive list of changes on github. Along with the closed issues marked for v3.2.0.

You can also see issues we haven’t closed yet.

Thanks to everyone!

Rails 3.1.1 has been released!

Hi everyone,

Rails 3.1.1 has been released. This release requires at least sass-rails 3.1.4

CHANGES

ActionMailer

  • No changes

ActionPack

  • stylesheetlinktag(‘/stylesheets/application’) and similar helpers doesn’t
    throw Sprockets::FileOutsidePaths exception anymore [Santiago Pastorino]

  • Ensure defaultassethost_protocol is respected, closes #2980. [José Valim]

    Changing rake db:schema:dump to run :environment as well as :load_config,
    as running :load_config alone will lead to the dumper being run without
    including extensions such as those included in foreigner and
    spatial_adapter.

    This reverses a change made here:
    https://github.com/rails/rails/commit/5df72a238e9fcb18daf6ab6e6dc9051c9106d7bb#L0L324

    I’m assuming here that :load_config needs to be invoked
    separately from :environment, as it is elsewhere in the
    file for db operations, if not the alternative is to go
    back to “task :dump => :environment do”.

    [Ben Woosley]

  • Update to rack-cache 1.1.

    Versions prior to 1.1 delete the If-Modified-Since and If-Not-Modified
    headers when config.actioncontroller.performcaching is true. This has two
    problems:

    • unexpected inconsistent behaviour between development &
      production environments
    • breaks applications that use of these headers

    [Brendan Ribera]

  • Ensure that enhancements to assets:precompile task are only run once [Sam Pohlenz]

  • TestCase should respect the view_assigns API instead of pulling variables on
    its own. [José Valim]

  • javascriptpath and stylesheetpath now refer to /assets if asset pipelining
    is on. [Santiago Pastorino]

  • button_to support form option. Now you’re able to pass for example
    ‘data-type’ => ‘json’. [ihower]

  • imagepath and imagetag should use /assets if asset pipelining is turned
    on. Closes #3126 [Santiago Pastorino and christos]

  • Avoid use of existing precompiled assets during rake assets:precompile run.
    Closes #3119 [Guillermo Iguaran]

  • Copy assets to nondigested filenames too [Santiago Pastorino]

  • Give precedence to config.digest = false over the existence of
    manifest.yml asset digests [christos]

  • escape options for the stylesheetlinktag method [Alexey Vakhov]

  • Re-launch assets:precompile task using (Rake.)ruby instead of Kernel.exec so
    it works on Windows [cablegram]

  • env var passed to process shouldn’t be modified in process method. [Santiago
    Pastorino]

  • rake assets:precompile loads the application but does not initialize
    it.

    To the app developer, this means configuration add in
    config/initializers/* will not be executed.

    Plugins developers need to special case their initializers that are
    meant to be run in the assets group by adding :group => :assets. [José Valim]

  • Sprockets uses config.assets.prefix for asset_path [asee]

  • FileStore keyfilepath properly limit filenames to 255 characters. [phuibonhoa]

  • Fix Hash#toquery edge case with htmlsafe strings. [brainopia]

  • Allow asset tag helper methods to accept :digest => false option in order to completely avoid the digest generation.
    Useful for linking assets from static html files or from emails when the user
    could probably look at an older html email with an older asset. [Santiago Pastorino]

  • Don’t mount Sprockets server at config.assets.prefix if config.assets.compile is false. [Mark J. Titorenko]

  • Set relative url root in assets when controller isn’t available for Sprockets (eg. Sass files using asset_path). Fixes #2435 [Guillermo Iguaran]

  • Fix basic auth credential generation to not make newlines. GH #2882

  • Fixed the behavior of asset pipeline when config.assets.digest and config.assets.compile are false and requested asset isn’t precompiled.
    Before the requested asset were compiled anyway ignoring that the config.assets.compile flag is false. [Guillermo Iguaran]

  • CookieJar is now Enumerable. Fixes #2795

  • Fixed AssetNotPrecompiled error raised when rake assets:precompile is compiling certain .erb files. See GH #2763 #2765 #2805 [Guillermo Iguaran]

  • Manifest is correctly placed in assets path when default assets prefix is changed. Fixes #2776 [Guillermo Iguaran]

  • Fixed stylesheetlinktag and javascriptincludetag to respect additional options passed by the users when debug is on. [Guillermo Iguaran]

  • Fix ActiveRecord#exists? when passsed a nil value

  • Fix assertselectemail to work on multipart and non-multipart emails as the method stopped working correctly in Rails 3.x due to changes in the new mail gem.

ActiveModel

  • Remove hard dependency on bcrypt-ruby to avoid make ActiveModel dependent on a binary library.
    You must add the gem explicitly to your Gemfile if you want use ActiveModel::SecurePassword:

    gem ‘bcrypt-ruby’, ‘~> 3.0.0’

    See GH #2687. [Guillermo Iguaran]

ActiveRecord

  • Add deprecation for the preload_associations method. Fixes #3022.

    [Jon Leighton]

  • Don’t require a DB connection when loading a model that uses setprimarykey. GH #2807.

    [Jon Leighton]

  • Fix using select() with a habtm association, e.g. Person.friends.select(:name). GH #3030 and #2923.

    [Hendy Tanata]

  • Fix belongs_to polymorphic with custom primary key on target. GH #3104.

    [Jon Leighton]

  • CollectionProxy#replace should change the DB records rather than just mutating the array.
    Fixes #3020.

    [Jon Leighton]

  • LRU cache in mysql and sqlite are now per-process caches.

    • lib/activerecord/connectionadapters/mysql_adapter.rb: LRU cache
      keys are per process id.
    • lib/activerecord/connectionadapters/sqlite_adapter.rb: ditto
  • Database adapters use a statement pool for limiting the number of open
    prepared statments on the database. The limit defaults to 1000, but can
    be adjusted in your database config by changing ‘statement_limit’.

  • Fix clash between using ‘preload’, ‘joins’ or ‘eager_load’ in a default scope and including the
    default scoped model in a nested through association. (GH #2834.) [Jon Leighton]

  • Ensure we are not comparing a string with a symbol in HasManyAssociation#inverseupdatescounter_cache?.
    Fixes GH #2755, where a counter cache could be decremented twice as far as it was supposed to be.

    [Jon Leighton]

  • Don’t send any queries to the database when the foreign key of a belongs_to is nil. Fixes
    GH #2828. [Georg Friedrich]

  • Fixed findin_batches method to not include order from defaultscope. See GH #2832 [Arun Agrawal]

  • Don’t compute table name for abstract classes. Fixes problem with setting the primary key
    in an abstract class. See GH #2791. [Akira Matsuda]

  • Psych errors with poor yaml formatting are proxied. Fixes GH #2645 and
    GH #2731

  • Use the LIMIT word with the methods #last and #first. Fixes GH #2783 [Damien Mathieu]

ActiveResource

  • No changes

ActiveSupport

  • ruby193: String#prepend is also unsafe [Akira Matsuda]

  • Fix obviously breakage of Time.=== for Time subclasses [jeremyevans]

  • Added fix so that file store does not raise an exception when cache dir does
    not exist yet. This can happen if a delete_matched is called before anything
    is saved in the cache. [Philippe Huibonhoa]

  • Fixed performance issue where TimeZone lookups would require tzinfo each time [Tim Lucas]

  • ActiveSupport::OrderedHash is now marked as extractable when using Array#extract_options! [Prem Sichanugrist]

Railties

  • Add jquery-rails to Gemfile of plugins, test/dummy app needs it. Closes #3091. [Santiago Pastorino]

  • rake assets:precompile loads the application but does not initialize it.

    To the app developer, this means configuration add in
    config/initializers/* will not be executed.

    Plugins developers need to special case their initializers that are
    meant to be run in the assets group by adding :group => :assets.

SHA-1

  • 9337cff7772da034b0b34b73b85cf249f1a70f52 actionmailer-3.1.1.gem
  • 7bb1b8d096a6ff1ff46dcfb778bf86a5daca1b0d actionpack-3.1.1.gem
  • d5dc71e1a9a0e20d819f4dff27ff0697e99a7f64 activemodel-3.1.1.gem
  • 7245632cb3b38612628304c1e244855d0053f7be activerecord-3.1.1.gem
  • 6d09800202c2747e84249b8646f0fd480ed4924f activeresource-3.1.1.gem
  • 66df2fd144aab22f52819fd489e33a976d68a46b activesupport-3.1.1.gem
  • 6a35a49948bbd9f461839a1a271def90b23a851a rails-3.1.1.gem
  • 6979ef891bd03fb639b979af9fdc56781f9358d9 railties-3.1.1.gem

You can find an exhaustive list of changes on github. Along with the closed issues marked for v3.1.1.

Thanks to everyone!

[ANN] Rails 3.1.1.rc3

Hi everyone,

Rails 3.1.1.rc3 has been released. Please give it a try, it’s our chance to fix regressions you might find and make a beautiful 3.1.1 stable release. If there are no regressions I will be releasing 3.1.1 final next October 7th. If you find any regression please contact me ASAP by email, twitter or github.

CHANGES

ActionMailer

  • No changes

ActionPack

  • stylesheetlinktag(‘/stylesheets/application’) and similar helpers doesn’t
    throw Sprockets::FileOutsidePaths exception anymore [Santiago Pastorino]

  • Ensure defaultassethost_protocol is respected, closes #2980. [José Valim]

    Changing rake db:schema:dump to run :environment as well as :load_config,
    as running :load_config alone will lead to the dumper being run without
    including extensions such as those included in foreigner and
    spatial_adapter.

    This reverses a change made here:
    https://github.com/rails/rails/commit/5df72a238e9fcb18daf6ab6e6dc9051c9106d7bb#L0L324

    I’m assuming here that :load_config needs to be invoked
    separately from :environment, as it is elsewhere in the
    file for db operations, if not the alternative is to go
    back to “task :dump => :environment do”.

    [Ben Woosley]

  • Update to rack-cache 1.1.

    Versions prior to 1.1 delete the If-Modified-Since and If-Not-Modified
    headers when config.actioncontroller.performcaching is true. This has two
    problems:

    • unexpected inconsistent behaviour between development &
      production environments
    • breaks applications that use of these headers

    [Brendan Ribera]

  • Ensure that enhancements to assets:precompile task are only run once [Sam Pohlenz]

  • TestCase should respect the view_assigns API instead of pulling variables on
    its own. [José Valim]

  • javascriptpath and stylesheetpath now refer to /assets if asset pipelining
    is on. [Santiago Pastorino]

  • button_to support form option. Now you’re able to pass for example
    ‘data-type’ => ‘json’. [ihower]

  • imagepath and imagetag should use /assets if asset pipelining is turned
    on. Closes #3126 [Santiago Pastorino and christos]

  • Avoid use of existing precompiled assets during rake assets:precompile run.
    Closes #3119 [Guillermo Iguaran]

  • Copy assets to nondigested filenames too [Santiago Pastorino]

  • Give precedence to config.digest = false over the existence of
    manifest.yml asset digests [christos]

  • escape options for the stylesheetlinktag method [Alexey Vakhov]

  • Re-launch assets:precompile task using (Rake.)ruby instead of Kernel.exec so
    it works on Windows [cablegram]

  • env var passed to process shouldn’t be modified in process method. [Santiago
    Pastorino]

  • rake assets:precompile loads the application but does not initialize
    it.

    To the app developer, this means configuration add in
    config/initializers/* will not be executed.

    Plugins developers need to special case their initializers that are
    meant to be run in the assets group by adding :group => :assets. [José Valim]

  • Sprockets uses config.assets.prefix for asset_path [asee]

  • FileStore keyfilepath properly limit filenames to 255 characters. [phuibonhoa]

  • Fix Hash#toquery edge case with htmlsafe strings. [brainopia]

  • Allow asset tag helper methods to accept :digest => false option in order to completely avoid the digest generation.
    Useful for linking assets from static html files or from emails when the user
    could probably look at an older html email with an older asset. [Santiago Pastorino]

  • Don’t mount Sprockets server at config.assets.prefix if config.assets.compile is false. [Mark J. Titorenko]

  • Set relative url root in assets when controller isn’t available for Sprockets (eg. Sass files using asset_path). Fixes #2435 [Guillermo Iguaran]

  • Fix basic auth credential generation to not make newlines. GH #2882

  • Fixed the behavior of asset pipeline when config.assets.digest and config.assets.compile are false and requested asset isn’t precompiled.
    Before the requested asset were compiled anyway ignoring that the config.assets.compile flag is false. [Guillermo Iguaran]

  • CookieJar is now Enumerable. Fixes #2795

  • Fixed AssetNotPrecompiled error raised when rake assets:precompile is compiling certain .erb files. See GH #2763 #2765 #2805 [Guillermo Iguaran]

  • Manifest is correctly placed in assets path when default assets prefix is changed. Fixes #2776 [Guillermo Iguaran]

  • Fixed stylesheetlinktag and javascriptincludetag to respect additional options passed by the users when debug is on. [Guillermo Iguaran]

  • Fix ActiveRecord#exists? when passsed a nil value

  • Fix assertselectemail to work on multipart and non-multipart emails as the method stopped working correctly in Rails 3.x due to changes in the new mail gem.

ActiveModel

  • Remove hard dependency on bcrypt-ruby to avoid make ActiveModel dependent on a binary library.
    You must add the gem explicitly to your Gemfile if you want use ActiveModel::SecurePassword:

    gem ‘bcrypt-ruby’, ‘~> 3.0.0’

    See GH #2687. [Guillermo Iguaran]

ActiveRecord

  • Add deprecation for the preload_associations method. Fixes #3022.

    [Jon Leighton]

  • Don’t require a DB connection when loading a model that uses setprimarykey. GH #2807.

    [Jon Leighton]

  • Fix using select() with a habtm association, e.g. Person.friends.select(:name). GH #3030 and

    2923.

    [Hendy Tanata]

  • Fix belongs_to polymorphic with custom primary key on target. GH #3104.

    [Jon Leighton]

  • CollectionProxy#replace should change the DB records rather than just mutating the array.
    Fixes #3020.

    [Jon Leighton]

  • LRU cache in mysql and sqlite are now per-process caches.

    • lib/activerecord/connectionadapters/mysql_adapter.rb: LRU cache
      keys are per process id.
    • lib/activerecord/connectionadapters/sqlite_adapter.rb: ditto
  • Database adapters use a statement pool for limiting the number of open
    prepared statments on the database. The limit defaults to 1000, but can
    be adjusted in your database config by changing ‘statement_limit’.

  • Fix clash between using ‘preload’, ‘joins’ or ‘eager_load’ in a default scope and including the
    default scoped model in a nested through association. (GH #2834.) [Jon Leighton]

  • Ensure we are not comparing a string with a symbol in HasManyAssociation#inverseupdatescounter_cache?.
    Fixes GH #2755, where a counter cache could be decremented twice as far as it was supposed to be.

    [Jon Leighton]

  • Don’t send any queries to the database when the foreign key of a belongs_to is nil. Fixes
    GH #2828. [Georg Friedrich]

  • Fixed findin_batches method to not include order from defaultscope. See GH #2832 [Arun Agrawal]

  • Don’t compute table name for abstract classes. Fixes problem with setting the primary key
    in an abstract class. See GH #2791. [Akira Matsuda]

  • Psych errors with poor yaml formatting are proxied. Fixes GH #2645 and
    GH #2731

  • Use the LIMIT word with the methods #last and #first. Fixes GH #2783 [Damien Mathieu]

ActiveResource

  • No changes

ActiveSupport

  • ruby193: String#prepend is also unsafe [Akira Matsuda]

  • Fix obviously breakage of Time.=== for Time subclasses [jeremyevans]

  • Added fix so that file store does not raise an exception when cache dir does
    not exist yet. This can happen if a delete_matched is called before anything
    is saved in the cache. [Philippe Huibonhoa]

  • Fixed performance issue where TimeZone lookups would require tzinfo each time [Tim Lucas]

  • ActiveSupport::OrderedHash is now marked as extractable when using Array#extract_options! [Prem Sichanugrist]

Railties

  • Add jquery-rails to Gemfile of plugins, test/dummy app needs it. Closes #3091. [Santiago Pastorino]

  • rake assets:precompile loads the application but does not initialize it.

    To the app developer, this means configuration add in
    config/initializers/* will not be executed.

    Plugins developers need to special case their initializers that are
    meant to be run in the assets group by adding :group => :assets.

You can find an exhaustive list of changes on github. Along with the closed issues marked for v3.1.1. You can also take a look to what’s new between v3.1.1.rc2 and v3.1.1.rc3

You can also see issues we haven’t closed yet.

Thanks to everyone!

[ANN] Rails 3.1.1.rc2

Hi everyone,

Rails 3.1.1.rc2 has been released. Please give it a try, it’s our chance to fix regressions you might find and make a beautiful 3.1.1 stable release. If there are no regressions I will be releasing 3.1.1 final next October 3rd. If you find any regression please contact me ASAP by email, twitter or github.

## CHANGES

*ActionMailer*

* No changes

*ActionPack*

* Allow asset tag helper methods to accept :digest => false option in order to completely avoid the digest generation.
Useful for linking assets from static html files or from emails when the user
could probably look at an older html email with an older asset. [Santiago Pastorino]

* Don’t mount Sprockets server at config.assets.prefix if config.assets.compile is false. [Mark J. Titorenko]

* Set relative url root in assets when controller isn’t available for Sprockets (eg. Sass files using asset_path). Fixes #2435 [Guillermo Iguaran]

* Fix basic auth credential generation to not make newlines. GH #2882

* Fixed the behavior of asset pipeline when config.assets.digest and config.assets.compile are false and requested asset isn’t precompiled.
Before the requested asset were compiled anyway ignoring that the config.assets.compile flag is false. [Guillermo Iguaran]

* CookieJar is now Enumerable. Fixes #2795

* Fixed AssetNotPrecompiled error raised when rake assets:precompile is compiling certain .erb files. See GH #2763 #2765 #2805 [Guillermo Iguaran]

* Manifest is correctly placed in assets path when default assets prefix is changed. Fixes #2776 [Guillermo Iguaran]

* Fixed stylesheet_link_tag and javascript_include_tag to respect additional options passed by the users when debug is on. [Guillermo Iguaran]

* Fix ActiveRecord#exists? when passsed a nil value

* Fix assert_select_email to work on multipart and non-multipart emails as the method stopped working correctly in Rails 3.x due to changes in the new mail gem.

*ActiveModel*

* Remove hard dependency on bcrypt-ruby to avoid make ActiveModel dependent on a binary library.
You must add the gem explicitly to your Gemfile if you want use ActiveModel::SecurePassword:

gem ‘bcrypt-ruby’, ‘~> 3.0.0’

See GH #2687. [Guillermo Iguaran]

*ActiveRecord*

* Add deprecation for the preload_associations method. Fixes #3022.

[Jon Leighton]

* Don’t require a DB connection when loading a model that uses set_primary_key. GH #2807.

[Jon Leighton]

* Fix using select() with a habtm association, e.g. Person.friends.select(:name). GH #3030 and
#2923.

[Hendy Tanata]

* Fix belongs_to polymorphic with custom primary key on target. GH #3104.

[Jon Leighton]

* CollectionProxy#replace should change the DB records rather than just mutating the array.
Fixes #3020.

[Jon Leighton]

* LRU cache in mysql and sqlite are now per-process caches.

* lib/active_record/connection_adapters/mysql_adapter.rb: LRU cache
keys are per process id.
* lib/active_record/connection_adapters/sqlite_adapter.rb: ditto

* Database adapters use a statement pool for limiting the number of open
prepared statments on the database. The limit defaults to 1000, but can
be adjusted in your database config by changing ‘statement_limit’.

* Fix clash between using ‘preload’, ‘joins’ or ‘eager_load’ in a default scope and including the
default scoped model in a nested through association. (GH #2834.) [Jon Leighton]

* Ensure we are not comparing a string with a symbol in HasManyAssociation#inverse_updates_counter_cache?.
Fixes GH #2755, where a counter cache could be decremented twice as far as it was supposed to be.

[Jon Leighton]

* Don’t send any queries to the database when the foreign key of a belongs_to is nil. Fixes
GH #2828. [Georg Friedrich]

* Fixed find_in_batches method to not include order from default_scope. See GH #2832 [Arun Agrawal]

* Don’t compute table name for abstract classes. Fixes problem with setting the primary key
in an abstract class. See GH #2791. [Akira Matsuda]

* Psych errors with poor yaml formatting are proxied. Fixes GH #2645 and
GH #2731

* Use the LIMIT word with the methods #last and #first. Fixes GH #2783 [Damien Mathieu]

*ActiveResource*

* No changes

*ActiveSupport*

* Fixed performance issue where TimeZone lookups would require tzinfo each time [Tim Lucas]

* ActiveSupport::OrderedHash is now marked as extractable when using Array#extract_options! [Prem Sichanugrist]

*Railties*

* Add jquery-rails to Gemfile of plugins, test/dummy app needs it. Closes #3091. [Santiago Pastorino]

* `rake assets:precompile` loads the application but does not initialize it.

To the app developer, this means configuration add in
config/initializers/* will not be executed.

Plugins developers need to special case their initializers that are
meant to be run in the assets group by adding :group => :assets.

You can find an exhaustive list of changes on [github](https://github.com/rails/rails/compare/v3.1.0…v3.1.1.rc2). Along with the [closed issues marked for v3.1.1](https://github.com/rails/rails/issues?milestone=6&state=closed). You can also take a look to what’s new between [v3.1.1.rc1 and v3.1.1.rc2](https://github.com/rails/rails/compare/v3.1.1.rc1…v3.1.1.rc2)

You can also see issues [we haven’t closed yet](https://github.com/rails/rails/issues?milestone=8&state=open).

Thanks to everyone!

[ANN] Rails 3.1.1.rc1

Hi everyone,

Rails 3.1.1.rc1 has been released. Please give it a try, it’s our chance to fix regressions you might find and make a beautiful 3.1.1 stable release. If there are no regressions I will be releasing 3.1.1 final next September 16th during GoGaRuCo.

CHANGES

ActionMailer

  • No changes

ActionPack

  • Allow asset tag helper methods to accept :digest => false option in order to completely avoid the digest generation.
    Useful for linking assets from static html files or from emails when the user
    could probably look at an older html email with an older asset. [Santiago Pastorino]

  • Don’t mount Sprockets server at config.assets.prefix if config.assets.compile is false. [Mark J. Titorenko]

  • Set relative url root in assets when controller isn’t available for Sprockets (eg. Sass files using asset_path). Fixes #2435 [Guillermo Iguaran]

  • Fix basic auth credential generation to not make newlines. GH #2882

  • Fixed the behavior of asset pipeline when config.assets.digest and config.assets.compile are false and requested asset isn’t precompiled.
    Before the requested asset were compiled anyway ignoring that the config.assets.compile flag is false. [Guillermo Iguaran]

  • CookieJar is now Enumerable. Fixes #2795

  • Fixed AssetNotPrecompiled error raised when rake assets:precompile is compiling certain .erb files. See GH #2763 #2765 #2805 [Guillermo Iguaran]

  • Manifest is correctly placed in assets path when default assets prefix is changed. Fixes #2776 [Guillermo Iguaran]

  • Fixed stylesheetlinktag and javascriptincludetag to respect additional options passed by the users when debug is on. [Guillermo Iguaran]

  • Fix ActiveRecord#exists? when passsed a nil value

  • Fix assertselectemail to work on multipart and non-multipart emails as the method stopped working correctly in Rails 3.x due to changes in the new mail gem.

ActiveModel

  • Remove hard dependency on bcrypt-ruby to avoid make ActiveModel dependent on a binary library.
    You must add the gem explicitly to your Gemfile if you want use ActiveModel::SecurePassword:

    gem ‘bcrypt-ruby’, ‘~> 3.0.0’

    See GH #2687. [Guillermo Iguaran]

ActiveRecord

  • LRU cache in mysql and sqlite are now per-process caches.

    • lib/activerecord/connectionadapters/mysql_adapter.rb: LRU cache
      keys are per process id.
    • lib/activerecord/connectionadapters/sqlite_adapter.rb: ditto
  • Database adapters use a statement pool for limiting the number of open
    prepared statments on the database. The limit defaults to 1000, but can
    be adjusted in your database config by changing ‘statement_limit’.

  • Fix clash between using ‘preload’, ‘joins’ or ‘eager_load’ in a default scope and including the
    default scoped model in a nested through association. (GH #2834.) [Jon Leighton]

  • Ensure we are not comparing a string with a symbol in HasManyAssociation#inverseupdatescounter_cache?.
    Fixes GH #2755, where a counter cache could be decremented twice as far as it was supposed to be.

    [Jon Leighton]

  • Don’t send any queries to the database when the foreign key of a belongs_to is nil. Fixes
    GH #2828. [Georg Friedrich]

  • Fixed findin_batches method to not include order from defaultscope. See GH #2832 [Arun Agrawal]

  • Don’t compute table name for abstract classes. Fixes problem with setting the primary key
    in an abstract class. See GH #2791. [Akira Matsuda]

  • Psych errors with poor yaml formatting are proxied. Fixes GH #2645 and
    GH #2731

  • Use the LIMIT word with the methods #last and #first. Fixes GH #2783 [Damien Mathieu]

ActiveResource

  • No changes

ActiveSupport

  • Fixed performance issue where TimeZone lookups would require tzinfo each time [Tim Lucas]

  • ActiveSupport::OrderedHash is now marked as extractable when using Array#extract_options! [Prem Sichanugrist]

Railties

  • No changes

You can find an exhaustive list of changes on github. Along with the closed issues marked for v3.1.1.

You can also see issues we haven’t closed yet.

Thanks to everyone!

[ANN] Rails 3.1.0.rc8

Hi everyone,

Rails 3.1.0.rc8 has been released (we’ve an issue with rc7). This is
the final release candidate. Please give it a try, it’s our last
chance to fix regressions and severe issues. We will be releasing
final 3.1.0 next August 30th.

CHANGES

Check the CHANGELOG file of each framework to see what we’ve changed.

You can find an exhaustive list of changes on
github.
Along with the closed issues marked for
v3.1.0
.

You can also see issues we haven’t
closed
.

A comprehensive CHANGELOG will be announced when 3.1.0 final is released.

Thanks!

Rails 3.1 HackFest

Have you ever wanted to contribute back to Rails? This is the opportunity you’ve been looking for. We’re organizing a Rails 3.1 Hackfest on the weekend of July 23rd and 24th!!!

GOAL

The goal of this event is to have Rails 3.1 as the most stable version as possible. So, in this event we will focus on working on 3-1-stable branch of the project.

HOW

In order to achieve this we encourage you to:

  • Upgrade your existing apps to Rails 3.1 and report any existing issue if it doesn’t already exist
  • Test your favorite plugins/gems with Rails 3.1 and report any existing issue if it doesn’t already exist
  • Review all the open issues and pull requests
    • Check if issues can be reproduced
    • If so provide as many details as possible (for example it’s important for us to know which Rails version/s are affected. They could be 2-3-stable, 3-0-stable, 3-1-stable or master)
    • If it’s not possible to reproduce the issue, add a comment on github issue tracker indicating that
  • Provide test cases and patches for 3-1-stable blockers only (blockers will be tagged as ‘blocker’)
    • Follow the contributing to Ruby on Rails guide
    • Try to provide a failing test case (if you can’t figure out the whole solution)
    • Try to provide a full patch (tests, code and docs if needed)
  • Write documentation (guides, API), you can push modifications directly to docrails
  • Write blog posts about your experience using 3.1

Please note that since we are on the release candidate already, only patches for blocking issues will be accepted.

WHO

From the core team: Aaron Patterson (tenderlove), Xavier Noria (fxn) and Santiago Pastorino (spastorino), and the core contributors: Damien Mathieu (dmathieu), Prem Sichanugrist (sikachu) and Josh Kalderimis (joshk) will be around, so don’t hesitate to ask whatever questions you may have.

WHEN

The weekend of July 23rd and 24th, 2011

WHERE

On IRC:

Server: irc.freenode.net
Channel: #rails-contrib

In real life:

What could be better than gathering together in real life and hacking (and drinking?) on the weekend!? It’s the best chance to get together and getting into the depth of Rails core. Contact your friends, your boss, your co-workers, and get them organized!

These are the places that have confirmed the gathering:

Keep watching this list as it continues to grow. See you on 23rd!

Rails 3.0.5 has been released!

Aaron Patterson showed us some tenderlove this week by releasing Rails 3.0.5. Have a peek at what got updated.

Bugs Fixed

  • Fix when gzip returns a UTF-8 string on Ruby 1.9, when it is actually binary. commit
  • Active Record limit values will not escape Arel SQL Literal nodes. commit
  • Relation#where calls will always produce AND statements regardless of how conditions hashes behaves (reverting 00693209ecc).
  • Observer callbacks will only be executed once when using STI classes in ActiveRecord. commit

Deprecations Added:

  • Deprecate Relation#& alias for Relation#merge. commit
  • Deprecated support for interpolated association conditions with the
    :conditions => ‘foo = #{bar}’ syntax, and added the new interpolation syntax
    which is :conditions => proc { “foo = #{bar}” }. commit

This is not a complete list of changes. The complete list of changes can be
found here

SHA1 Checksums:

  • actionmailer-3.0.5.gem b25750c8126aa21db27d7b0ee829b2e94e525ebc
  • actionpack-3.0.5.gem 0a6f7f9ac2960ff224c913877a2917e1bea80df3
  • activemodel-3.0.5.gem 1556900a7afa1cdcdf4641edbcdd2c24f98bb2de
  • activerecord-3.0.5.gem 33dd05d7362931564f6f15ea7130cc27a5fc09e8
  • activeresource-3.0.5.gem 758f893cbb7ef945c857bf4ca044b94017bdc437
  • activesupport-3.0.5.gem 195fa3f7fa044134703a655cdb906edb515286c4
  • rails-3.0.5.gem 32322bf9952d76c5fa0054c8533c0c58609f40aa
  • railties-3.0.5.gem 3dddf14736dec991c3dbbe2d89495613e72c19c7