Rails 3.2.9.rc1 has been released. If no regressions are found I will release 3.2.9 final this Thursday 1st. If you find a regression open an issue on github and mention me on it, mail me or tweet me, whatever but let me know :).
CHANGES since 3.2.8
- Do not render views when mail() isn't called. Fix #7761
Accept :remote as symbolic option for
link_tohelper. Riley Lynch
Warn when the
:localsoption is passed to
assert_templateoutside of a view test case Fix #3415
Rename internal variables on ActionController::TemplateAssertions to prevent naming collisions. @partials, @templates and @layouts are now prefixed with an underscore. Fix #7459
resourcesdon't modify the passed options hash Fix #7777
Precompiled assets include aliases from foo.js to foo/index.js and vice versa.
# Precompiles phone-<digest>.css and aliases phone/index.css to phone.css. config.assets.precompile = [ 'phone.css' ] # Precompiles phone/index-<digest>.css and aliases phone.css to phone/index.css. config.assets.precompile = [ 'phone/index.css' ] # Both of these work with either precompile thanks to their aliases. <%= stylesheet_link_tag 'phone', media: 'all' %> <%= stylesheet_link_tag 'phone/index', media: 'all' %>
assert_templateis no more passing with what ever string that matches with the template name.
Before when we have a template
assert_templatewas passing with any string that matches. This behavior allowed false positive like:
assert_template "layout" assert_template "out/hello"
Now it only passes with:
assert_template "layout/hello" assert_template "hello"
Rack::Test::UploadedFile, don't call to_param on it. Since
Rack::Test::UploadedFileisn't API compatible this is needed to test file uploads that rely on
Fixed a bug with shorthand routes scoped with the
:moduleoption not adding the module to the controller as described in issue #6497. This should now work properly:
scope :module => "engine" do get "api/version" # routes to engine/api#version end
Luiz Felipe Garcia Pereira
config.digest = falsefor
asset_pathinternals only respected the
:digestoption, but ignored the global config setting. This meant that
config.digest = falsecould not be used in conjunction with
config.compile = falsethis corrects the behavior.
Fix #7646, the log now displays the correct status code when an exception is raised.
Fix handling of date selects when using both disabled and discard options. Fixes #7431.
Fix select_tag when option_tags is nil. Fixes #7404.
application.jsif the file does not exists. Prem Sichanugrist
Support cookie jar options (e.g., domain :all) for all session stores. Fixes GH#3047, GH#2483.
Performance Improvement to send_file: Avoid having to pass an open file handle as the response body. Rack::Sendfile will usually intercept the response and just uses the path directly, so no reason to open the file. This performance improvement also resolves an issue with jRuby encodings, and is the reason for the backport, see issue #6844.
Jeremy Kemper & Erich Menge
Due to a change in builder, nil values and empty strings now generates closed tags, so instead of this:
It generates this:
Carlos Antonio da Silva
Fix bug where
update_columnwould not let you update the primary key column.
Decode URI encoded attributes on database connection URLs.
Fix AR#dup to nullify the validation errors in the dup'ed object. Previously the original and the dup'ed object shared the same errors.
- Christian Seiler*
Synchronize around deleting from the reserved connections hash. Fixes #7955
PostgreSQL adapter correctly fetches default values when using multiple schemas and domains in a db. Fixes #7914
Fix deprecation notice when loading a collection association that selects columns from other tables, if a new record was previously built using that association.
The postgres adapter now supports tables with capital letters. Fix #5920
0without querying if the parent record is not persisted.
person.pets.count # SELECT COUNT(*) FROM "pets" WHERE "pets"."person_id" IS NULL # => 0
person.pets.count # fires without sql query # => 0
has_many :throughassociations. Fix #7822.
ConnectionPool recognizes checkout_timeout spec key as taking precedence over legacy wait_timeout spec key, can be used to avoid conflict with mysql2 use of wait_timeout. Closes #7684.
Rename field_changed? to _field_changed? so that users can create a field named field
Akira Matsuda, backported by Steve Klabnik
Fix creation of through association models when using
has_many :throughassociation from an unsaved model. Fix #7661.
Explain only normal CRUD sql (select / update / insert / delete). Fix problem that explains unexplainable sql. Closes #7544 #6458.
Backport test coverage to ensure that PostgreSQL auto-reconnect functionality remains healthy.
Use config['encoding'] instead of config['charset'] when executing databases.rake in the mysql/mysql2. A correct option for a database.yml is 'encoding'.
Fix ConnectionAdapters::Column.type_cast_code integer conversion, to always convert values to integer calling #to_i. Fixes #7509.
Fix time column type casting for invalid time string values to correctly return nil.
becomeswhen using a configured
reset_counterswhen there are multiple
belongs_toassociation with the same foreign key and one of them have a counter cache. Fixes #5200.
Round usec when comparing timestamp attributes in the dirty tracking. Fixes #6975.
Use inversed parent for first and last child of has_many association.
Fix Column.microseconds and Column.fast_string_to_date to avoid converting timestamp seconds to a float, since it occasionally results in inaccuracies with microsecond-precision times. Fixes #7352.
toggle!that was skipping callbacks. Fixes #7306.
Rafael Mendonça França
Fix AR#create to return an unsaved record when AR::RecordInvalid is raised. Fixes #3217.
Remove unnecessary transaction when assigning has_one associations with a nil or equal value. Fix #7191.
Allow store to work with an empty column. Fix #4840.
Remove prepared statement from system query in postgresql adapter. Fix #5872.
:environmenttask is executed before
- No changes
Add logger.push_tags and .pop_tags to complement logger.tagged:
class Job def before Rails.logger.push_tags :jobs, self.class.name end def after Rails.logger.pop_tags 2 end end
Add %:z and %::z format string support to ActiveSupport::TimeWithZone#strftime. [fixes #6962] kennyj
Don't eager-load app/assets and app/views Elia Schito
Update supported ruby versions error message in ruby_version_check.rb Lihan Li
- 24af6eff6b7c647d04eee9585184ba89f0746d40 actionmailer-3.2.9.rc1.gem
- c34ea8f12308c9f6fc4d6b31ce8caa2a562b210a actionpack-3.2.9.rc1.gem
- 8b3171fdde905c76a541286192e6cef211d83a70 activemodel-3.2.9.rc1.gem
- 0752e47880da4bb9be2b0309bce5a444a9271420 activerecord-3.2.9.rc1.gem
- d8c1eeedbf3bc33d1560700cc70cb1752cdc811a activeresource-3.2.9.rc1.gem
- 8ad917f70cc3b0a04864c8aa705a0e4997736872 activesupport-3.2.9.rc1.gem
- 6fdc627a032f1f3ded7830e044298e20fd3fc6ce rails-3.2.9.rc1.gem
- 444da0c3f2a1e3200d2a613973062c2d3e4ad7d0 railties-3.2.9.rc1.gem
You can find a list of changes between v3.2.8 and v3.2.9.rc1 here
Thanks to everyone!