Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 461 lines (287 sloc) 13.978 kb
0fb6bbd @rafaelfranca Merge pull request #7140 from seamusabshere/patch-1
rafaelfranca authored
1 ## Rails 3.2.9 (unreleased)
6abe0e7 @rafaelfranca Backport explain fixes.
rafaelfranca authored
2
9a38e73 @spastorino Merge pull request #7371 from csmuc/fix_dup_validation_errors
spastorino authored
3 * Fix AR#dup to nullify the validation errors in the dup'ed object. Previously the original
4 and the dup'ed object shared the same errors.
5
6 * Christian Seiler*
7
d92e66f @tenderlove Synchronize around deleting from the reserved connections hash.
tenderlove authored
8 * Synchronize around deleting from the reserved connections hash.
9 Fixes #7955
10
3980465 @arturopie #7914 get default value when type uses schema name
arturopie authored
11 * PostgreSQL adapter correctly fetches default values when using
12 multiple schemas and domains in a db. Fixes #7914
13
14 *Arturo Pie*
15
990a938 @ernie Fix has_many assocation w/select load after create
ernie authored
16 * Fix deprecation notice when loading a collection association that
17 selects columns from other tables, if a new record was previously
18 built using that association.
19
20 *Ernie Miller*
21
de360ac @rafaelfranca Merge pull request #7850 from senny/5920_postgres_adapter_table_with_cap...
rafaelfranca authored
22 * The postgres adapter now supports tables with capital letters.
23 Fix #5920
24
25 *Yves Senn*
26
27 * `CollectionAssociation#count` returns `0` without querying if the
28 parent record is not persisted.
9896729 @rafaelfranca Merge pull request #6978 from frodsan/count_nosql_unsaved_parent
rafaelfranca authored
29
30 Before:
31
de360ac @rafaelfranca Merge pull request #7850 from senny/5920_postgres_adapter_table_with_cap...
rafaelfranca authored
32 person.pets.count
9896729 @rafaelfranca Merge pull request #6978 from frodsan/count_nosql_unsaved_parent
rafaelfranca authored
33 # SELECT COUNT(*) FROM "pets" WHERE "pets"."person_id" IS NULL
34 # => 0
35
36 After:
37
de360ac @rafaelfranca Merge pull request #7850 from senny/5920_postgres_adapter_table_with_cap...
rafaelfranca authored
38 person.pets.count
9896729 @rafaelfranca Merge pull request #6978 from frodsan/count_nosql_unsaved_parent
rafaelfranca authored
39 # fires without sql query
40 # => 0
41
42 *Francesco Rodriguez*
43
3f0bc97 @rafaelfranca Merge pull request #7822 from lulalala/reset-counter-cache-for-has-many-...
rafaelfranca authored
44 * Fix `reset_counters` crashing on `has_many :through` associations.
45 Fix #7822.
46
47 *lulalala*
48
3908706 @jrochkind ConnectionPool accepts spec key 'checkout_timeout'
jrochkind authored
49 * ConnectionPool recognizes checkout_timeout spec key as taking
50 precedence over legacy wait_timeout spec key, can be used to avoid
51 conflict with mysql2 use of wait_timeout. Closes #7684.
52
53 *jrochkind*
54
b8fba55 @tenderlove Merge pull request #3544 from amatsuda/_field_changed
tenderlove authored
55 * Rename field_changed? to _field_changed? so that users can create a field named field
56
57 *Akira Matsuda*, backported by *Steve Klabnik*
58
ee43989 @rafaelfranca Merge pull request #7661 from ernie/build-join-records-on-unsaved-hmt
rafaelfranca authored
59 * Fix creation of through association models when using `collection=[]`
60 on a `has_many :through` association from an unsaved model.
61 Fix #7661.
62
63 *Ernie Miller*
64
6abe0e7 @rafaelfranca Backport explain fixes.
rafaelfranca authored
65 * Explain only normal CRUD sql (select / update / insert / delete).
66 Fix problem that explains unexplainable sql. Closes #7544 #6458.
67
68 *kennyj*
69
f48bb01 Backport PostgreSQL auto-reconnect test coverage
Steve Jorgensen authored
70 * Backport test coverage to ensure that PostgreSQL auto-reconnect functionality
71 remains healthy.
72
2326d46 @frodsan fix markdown markup in AR/CHANGELOG
frodsan authored
73 *Steve Jorgensen*
f48bb01 Backport PostgreSQL auto-reconnect test coverage
Steve Jorgensen authored
74
9630485 @kennyj Backported #7572 to 3-2-stable. Use config['encoding'], because database...
kennyj authored
75 * Use config['encoding'] instead of config['charset'] when executing
76 databases.rake in the mysql/mysql2. A correct option for a database.yml
77 is 'encoding'.
78
79 *kennyj*
80
652107e @tchandy ConnectionAdapters::Column.type_cast_code should always convert values t...
tchandy authored
81 * Fix ConnectionAdapters::Column.type_cast_code integer conversion,
82 to always convert values to integer calling #to_i. Fixes #7509.
83
84 *Thiago Pradi*
0fb6bbd @rafaelfranca Merge pull request #7140 from seamusabshere/patch-1
rafaelfranca authored
85
5054e26 @rafaelfranca Merge pull request #7337 from adzap/string_to_dummy_time
rafaelfranca authored
86 * Fix time column type casting for invalid time string values to correctly return nil.
87
88 *Adam Meehan*
89
01d09a6 @senny set the configured #inheritance_column on #become (#7503)
senny authored
90 * Fix `becomes` when using a configured `inheritance_column`.
91
92 *Yves Senn*
93
648c5a1 @rafaelfranca Merge pull request #5210 from Pliny/masteri
rafaelfranca authored
94 * Fix `reset_counters` when there are multiple `belongs_to` association with the
95 same foreign key and one of them have a counter cache.
96 Fixes #5200.
97
98 *Dave Desrochers*
99
8905c1f @rafaelfranca Merge pull request #6986 from kennyj/fix_6975
rafaelfranca authored
100 * Round usec when comparing timestamp attributes in the dirty tracking.
101 Fixes #6975.
102
103 *kennyj*
104
fdf4eae @carlosantoniodasilva Merge pull request #7377 from brainopia/use_inversed_parent_for_first_an...
carlosantoniodasilva authored
105 * Use inversed parent for first and last child of has_many association.
106
107 *Ravil Bayramgalin*
108
d6dbd7f @rafaelfranca Merge pull request #7352 from aripollak/microsecond-timestamp
rafaelfranca authored
109 * Fix Column.microseconds and Column.fast_string_to_date to avoid converting
110 timestamp seconds to a float, since it occasionally results in inaccuracies
111 with microsecond-precision times. Fixes #7352.
112
113 *Ari Pollak*
114
8055cd6 @rafaelfranca Do not use update_column where update_attribute is not interchangeable
rafaelfranca authored
115 * Fix `increment!`, `decrement!`, `toggle!` that was skipping callbacks.
116 Fixes #7306.
117
118 *Rafael Mendonça França*
119
786713a @rafaelfranca Merge pull request #6073 from daveyeu/restore-state-on-record-invalid
rafaelfranca authored
120 * Fix AR#create to return an unsaved record when AR::RecordInvalid is
121 raised. Fixes #3217.
122
123 *Dave Yeu*
124
3307a2e @rafaelfranca Add CHANGELOG entry for #7286
rafaelfranca authored
125 * Remove unnecessary transaction when assigning has_one associations with a nil or equal value.
126 Fix #7191.
127
128 *kennyj*
129
5c2fc69 @rafaelfranca Add CHANGELOG entry
rafaelfranca authored
130 * Allow store to work with an empty column.
131 Fix #4840.
132
133 *Jeremy Walker*
134
ea48732 @rafaelfranca Add CHANGELOG entry for a935c7a
rafaelfranca authored
135 * Remove prepared statement from system query in postgresql adapter.
136 Fix #5872.
137
138 *Ivan Evtuhovich*
139
0fb6bbd @rafaelfranca Merge pull request #7140 from seamusabshere/patch-1
rafaelfranca authored
140 * Make sure `:environment` task is executed before `db:schema:load` or `db:structure:load`
141 Fixes #4772.
142
143 *Seamus Abshere*
144
145
ddedf5d @spastorino Add release date to CHANGELOGs
spastorino authored
146 ## Rails 3.2.8 (Aug 9, 2012) ##
a893672 @rafaelfranca Add CHANGELOG entry [ci skip]
rafaelfranca authored
147
55e05d4 @rafaelfranca Do not consider the numeric attribute as changed if the old value is
rafaelfranca authored
148 * Do not consider the numeric attribute as changed if the old value is zero and the new value
149 is not a string.
150 Fixes #7237.
151
152 *Rafael Mendonça França*
a893672 @rafaelfranca Add CHANGELOG entry [ci skip]
rafaelfranca authored
153
81542f9 @fxn removes the deprecation of update_attribute
fxn authored
154 * Removes the deprecation of `update_attribute`. *fxn*
155
857697b @rafaelfranca Fix CHANGELOGS
rafaelfranca authored
156 * Reverted the deprecation of `composed_of`. *Rafael Mendonça França*
157
0c52702 @jonleighton Revert "Deprecate :finder_sql, :counter_sql, :insert_sql, :delete_sql."
jonleighton authored
158 * Reverted the deprecation of `*_sql` association options. They will
857697b @rafaelfranca Fix CHANGELOGS
rafaelfranca authored
159 be deprecated in 4.0 instead. *Jon Leighton*
160
161 * Do not eager load AR session store. ActiveRecord::SessionStore depends on the abstract store
162 in Action Pack. Eager loading this class would break client code that eager loads Active Record
163 standalone.
164 Fixes #7160
0c52702 @jonleighton Revert "Deprecate :finder_sql, :counter_sql, :insert_sql, :delete_sql."
jonleighton authored
165
857697b @rafaelfranca Fix CHANGELOGS
rafaelfranca authored
166 *Xavier Noria*
6764b7b @spastorino Add missing CHANGELOG entries
spastorino authored
167
a893672 @rafaelfranca Add CHANGELOG entry [ci skip]
rafaelfranca authored
168 * Do not set RAILS_ENV to "development" when using `db:test:prepare` and related rake tasks.
169 This was causing the truncation of the development database data when using RSpec.
857697b @rafaelfranca Fix CHANGELOGS
rafaelfranca authored
170 Fixes #7175.
a893672 @rafaelfranca Add CHANGELOG entry [ci skip]
rafaelfranca authored
171
172 *Rafael Mendonça França*
173
d1b9cf2 @tenderlove updating release date
tenderlove authored
174 ## Rails 3.2.7 (Jul 26, 2012) ##
2109fd5 @fxn registers the deprecation of update_attribute in the CHANGELOG
fxn authored
175
a79bfa9 @jonleighton Deprecate :finder_sql, :counter_sql, :insert_sql, :delete_sql.
jonleighton authored
176 * `:finder_sql` and `:counter_sql` options on collection associations
177 are deprecated. Please transition to using scopes.
178
179 *Jon Leighton*
180
181 * `:insert_sql` and `:delete_sql` options on `has_and_belongs_to_many`
182 associations are deprecated. Please transition to using `has_many
183 :through`
184
185 *Jon Leighton*
186
857697b @rafaelfranca Fix CHANGELOGS
rafaelfranca authored
187 * `composed_of` has been deprecated. You'll have to write your own accessor
188 and mutator methods if you'd like to use value objects to represent some
189 portion of your models.
190
191 *Steve Klabnik*
192
2f930df @rafaelfranca Revert "Add update_columns and the suggestion of using update_columns
rafaelfranca authored
193 * `update_attribute` has been deprecated. Use `update_column` if
2109fd5 @fxn registers the deprecation of update_attribute in the CHANGELOG
fxn authored
194 you want to bypass mass-assignment protection, validations, callbacks,
195 and touching of updated_at. Otherwise please use `update_attributes`.
196
197 *Steve Klabnik*
198
8381d39 @tenderlove updating changelogs
tenderlove authored
199 ## Rails 3.2.6 (Jun 12, 2012) ##
959fb8e @jonleighton Revert "Perf: Don't load the association for #delete_all."
jonleighton authored
200
ceb8ec3 @tenderlove updating changelogs with security fixes
tenderlove authored
201 * protect against the nesting of hashes changing the
202 table context in the next call to build_from_hash. This fix
203 covers this case as well.
204
8381d39 @tenderlove updating changelogs
tenderlove authored
205 CVE-2012-2695
206
959fb8e @jonleighton Revert "Perf: Don't load the association for #delete_all."
jonleighton authored
207 * Revert earlier 'perf fix' (see 3.2.4 changelog / GH #6289). This
208 change introduced a regression (GH #6609). assoc.clear and
209 assoc.delete_all have loaded the association before doing the delete
210 since at least Rails 2.3. Doing the delete without loading the
211 records means that the `before_remove` and `after_remove` callbacks do
212 not get invoked. Therefore, this change was less a fix a more an
213 optimisation, which should only have gone into master.
214
215 *Jon Leighton*
216
b13d89e @rafaelfranca Add release date of 3.2.5 on the CHANGELOG
rafaelfranca authored
217 ## Rails 3.2.5 (Jun 1, 2012) ##
218
219 * Restore behavior of Active Record 3.2.3 scopes.
220 A series of commits relating to preloading and scopes caused a regression.
221
222 *Andrew White*
223
224
d3e5d1c @tenderlove updating changelogs
tenderlove authored
225 ## Rails 3.2.4 (May 31, 2012) ##
2c21a2f @benedikt Revert "Revert "Fix #5667. Preloading should ignore scoping.""
benedikt authored
226
b98d1e2 @jonleighton Perf: Don't load the association for #delete_all.
jonleighton authored
227 * Perf fix: Don't load the records when doing assoc.delete_all.
228 GH #6289. *Jon Leighton*
229
2c21a2f @benedikt Revert "Revert "Fix #5667. Preloading should ignore scoping.""
benedikt authored
230 * Association preloading shouldn't be affected by the current scoping.
231 This could cause infinite recursion and potentially other problems.
232 See GH #5667. *Jon Leighton*
233
d3e5d1c @tenderlove updating changelogs
tenderlove authored
234 * Datetime attributes are forced to be changed. GH #3965
235
236 * Fix attribute casting. GH #5549
237
238 * Fix #5667. Preloading should ignore scoping.
239
44aca7b @tenderlove adding security notifications to CHANGELOGs
tenderlove authored
240 * Predicate builder should not recurse for determining where columns.
241 Thanks to Ben Murphy for reporting this! CVE-2012-2661
242
b13d89e @rafaelfranca Add release date of 3.2.5 on the CHANGELOG
rafaelfranca authored
243
3005f58 @rafaelfranca Add release data to Rails 3.2.3
rafaelfranca authored
244 ## Rails 3.2.3 (March 30, 2012) ##
3bfd651 @vijaydev changelog updates [ci skip]
vijaydev authored
245
90d9635 @pixeltrix Add dynamic find_or_create_by_{attribute}! method.
pixeltrix authored
246 * Added find_or_create_by_{attribute}! dynamic method. *Andrew White*
247
3bfd651 @vijaydev changelog updates [ci skip]
vijaydev authored
248 * Whitelist all attribute assignment by default. Change the default for newly generated applications to whitelist all attribute assignment. Also update the generated model classes so users are reminded of the importance of attr_accessible. *NZKoz*
249
250 * Update ActiveRecord::AttributeMethods#attribute_present? to return false for empty strings. *Jacobkg*
251
252 * Fix associations when using per class databases. *larskanis*
253
254 * Revert setting NOT NULL constraints in add_timestamps *fxn*
255
256 * Fix mysql to use proper text types. Fixes #3931. *kennyj*
257
258 * Fix #5069 - Protect foreign key from mass assignment through association builder. *byroot*
259
db743ff @rafaelfranca Fix my name in the CHANGELOG to follow the convention
rafaelfranca authored
260
261 ## Rails 3.2.2 (March 1, 2012) ##
262
263 * No changes.
264
265
97e8d1d @fxn CHANGELOG revision for v3.2.1
fxn authored
266 ## Rails 3.2.1 (January 26, 2012) ##
fab664a @jonleighton Fix another race condition.
jonleighton authored
267
2809375 @fxn registers 2483460 in the CHANGELOG
fxn authored
268 * The threshold for auto EXPLAIN is ignored if there's no logger. *fxn*
269
97e8d1d @fxn CHANGELOG revision for v3.2.1
fxn authored
270 * Call `to_s` on the value passed to `table_name=`, in particular symbols
271 are supported (regression). *Sergey Nartimov*
272
fab664a @jonleighton Fix another race condition.
jonleighton authored
273 * Fix possible race condition when two threads try to define attribute
97e8d1d @fxn CHANGELOG revision for v3.2.1
fxn authored
274 methods for the same class. *Jon Leighton*
275
fab664a @jonleighton Fix another race condition.
jonleighton authored
276
f36dcaf @dhh Preparing for 3.2.0 release
dhh authored
277 ## Rails 3.2.0 (January 20, 2012) ##
281272a @jonleighton Convert CHANGELOGs to Markdown format.
jonleighton authored
278
4c5b73f @tenderlove Merge pull request #4531 from exviva/pessimistic_with_lock
tenderlove authored
279 * Added a `with_lock` method to ActiveRecord objects, which starts
280 a transaction, locks the object (pessimistically) and yields to the block.
281 The method takes one (optional) parameter and passes it to `lock!`.
282
283 Before:
284
285 class Order < ActiveRecord::Base
286 def cancel!
287 transaction do
288 lock!
289 # ... cancelling logic
290 end
291 end
292 end
293
294 After:
295
296 class Order < ActiveRecord::Base
297 def cancel!
298 with_lock do
299 # ... cancelling logic
300 end
301 end
302 end
303
304 *Olek Janiszewski*
305
3f16f5b @spastorino Add CHANGELOG entry
spastorino authored
306 * 'on' and 'ON' boolean columns values are type casted to true
307 *Santiago Pastorino*
308
35a1744 @drogus Allow to run migrations with given scope, with SCOPE=<scope>
drogus authored
309 * Added ability to run migrations only for given scope, which allows
310 to run migrations only from one engine (for example to revert changes
311 from engine that you want to remove).
312
313 Example:
314 rake db:migrate SCOPE=blog
315
4c5b73f @tenderlove Merge pull request #4531 from exviva/pessimistic_with_lock
tenderlove authored
316 *Piotr Sarnacki*
35a1744 @drogus Allow to run migrations with given scope, with SCOPE=<scope>
drogus authored
317
318 * Migrations copied from engines are now scoped with engine's name,
319 for example 01_create_posts.blog.rb. *Piotr Sarnacki*
320
de24ed9 @fxn removes the convenience instance version of AR::Base.silence_auto_explai...
fxn authored
321 * Implements `AR::Base.silence_auto_explain`. This method allows the user to
322 selectively disable automatic EXPLAINs within a block. *fxn*
0be5ada @fxn implements AR::Base(.|#)silence_auto_explain
fxn authored
323
0306f82 @fxn implements automatic EXPLAIN logging for slow queries
fxn authored
324 * Implements automatic EXPLAIN logging for slow queries.
325
326 A new configuration parameter `config.active_record.auto_explain_threshold_in_seconds`
327 determines what's to be considered a slow query. Setting that to `nil` disables
328 this feature. Defaults are 0.5 in development mode, and `nil` in test and production
329 modes.
330
331 As of this writing there's support for SQLite, MySQL (mysql2 adapter), and
332 PostgreSQL.
333
334 *fxn*
a382d60 @bogdan ActiveRecord::Relation#pluck method
bogdan authored
335
336 * Implemented ActiveRecord::Relation#pluck method
337
338 Method returns Array of column value from table under ActiveRecord model
2809375 @fxn registers 2483460 in the CHANGELOG
fxn authored
339
a382d60 @bogdan ActiveRecord::Relation#pluck method
bogdan authored
340 Client.pluck(:id)
341
342 *Bogdan Gusiev*
343
0e2477b @tenderlove Automatic closure of connections in threads is deprecated. For example
tenderlove authored
344 * Automatic closure of connections in threads is deprecated. For example
345 the following code is deprecated:
346
347 Thread.new { Post.find(1) }.join
348
349 It should be changed to close the database connection at the end of
350 the thread:
351
352 Thread.new {
353 Post.find(1)
354 Post.connection.close
355 }.join
2809375 @fxn registers 2483460 in the CHANGELOG
fxn authored
356
0e2477b @tenderlove Automatic closure of connections in threads is deprecated. For example
tenderlove authored
357 Only people who spawn threads in their application code need to worry
358 about this change.
359
34609d6 @jonleighton Deprecate set_inheritance_column in favour of self.inheritance_column=
jonleighton authored
360 * Deprecated:
361
362 * `set_table_name`
363 * `set_inheritance_column`
7af719e @jonleighton Deprecate set_sequence_name in favour of self.sequence_name=
jonleighton authored
364 * `set_sequence_name`
1a474cc @jonleighton Deprecate set_primary_key in favour of self.primary_key=
jonleighton authored
365 * `set_primary_key`
f3c84dc @jonleighton Deprecate set_locking_column in favour of self.locking_column=
jonleighton authored
366 * `set_locking_column`
34609d6 @jonleighton Deprecate set_inheritance_column in favour of self.inheritance_column=
jonleighton authored
367
368 Use an assignment method instead. For example, instead of `set_table_name`, use `self.table_name=`:
0b72a04 @jonleighton Deprecate set_table_name in favour of self.table_name= or defining your ...
jonleighton authored
369
370 class Project < ActiveRecord::Base
371 self.table_name = "project"
372 end
373
34609d6 @jonleighton Deprecate set_inheritance_column in favour of self.inheritance_column=
jonleighton authored
374 Or define your own `self.table_name` method:
375
0b72a04 @jonleighton Deprecate set_table_name in favour of self.table_name= or defining your ...
jonleighton authored
376 class Post < ActiveRecord::Base
377 def self.table_name
378 "special_" + super
379 end
380 end
381 Post.table_name # => "special_posts"
382
383 *Jon Leighton*
384
10834e9 @joshsusser changelog & docs for GeneratedFeatureMethods
joshsusser authored
385 * Generated association methods are created within a separate module to allow overriding and
386 composition using `super`. For a class named `MyModel`, the module is named
387 `MyModel::GeneratedFeatureMethods`. It is included into the model class immediately after
388 the `generated_attributes_methods` module defined in ActiveModel, so association methods
389 override attribute methods of the same name. *Josh Susser*
390
e7b7b44 @fxn implements AR::Relation#explain
fxn authored
391 * Implemented ActiveRecord::Relation#explain. *fxn*
392
562583c @jonleighton Add ActiveRecord::Relation#uniq for toggling DISTINCT in the SQL query
jonleighton authored
393 * Add ActiveRecord::Relation#uniq for generating unique queries.
394
395 Before:
396
397 Client.select('DISTINCT name')
398
399 After:
400
401 Client.select(:name).uniq
402
403 This also allows you to revert the unqueness in a relation:
404
405 Client.select(:name).uniq.uniq(false)
406
407 *Jon Leighton*
408
69dcd45 @vjebelev AR changes to support creating ordered (asc, desc) indexes
vjebelev authored
409 * Support index sort order in sqlite, mysql and postgres adapters. *Vlad Jebelev*
410
281272a @jonleighton Convert CHANGELOGs to Markdown format.
jonleighton authored
411 * Allow the :class_name option for associations to take a symbol (:Client) in addition to
412 a string ('Client').
413
414 This is to avoid confusing newbies, and to be consistent with the fact that other options
415 like :foreign_key already allow a symbol or a string.
416
417 *Jon Leighton*
418
419 * In development mode the db:drop task also drops the test database. For symmetry with
420 the db:create task. *Dmitriy Kiriyenko*
421
422 * Added ActiveRecord::Base.store for declaring simple single-column key/value stores *DHH*
423
424 class User < ActiveRecord::Base
425 store :settings, accessors: [ :color, :homepage ]
426 end
427
428 u = User.new(color: 'black', homepage: '37signals.com')
429 u.color # Accessor stored attribute
430 u.settings[:country] = 'Denmark' # Any attribute, even if not specified with an accessor
431
432
433 * MySQL: case-insensitive uniqueness validation avoids calling LOWER when
434 the column already uses a case-insensitive collation. Fixes #561.
435
436 *Joseph Palermo*
437
438 * Transactional fixtures enlist all active database connections. You can test
439 models on different connections without disabling transactional fixtures.
440
441 *Jeremy Kemper*
442
443 * Add first_or_create, first_or_create!, first_or_initialize methods to Active Record. This is a
444 better approach over the old find_or_create_by dynamic methods because it's clearer which
445 arguments are used to find the record and which are used to create it:
446
447 User.where(:first_name => "Scarlett").first_or_create!(:last_name => "Johansson")
448
449 *Andrés Mejía*
450
451 * Fix nested attributes bug where _destroy parameter is taken into account
452 during :reject_if => :all_blank (fixes #2937)
453
454 *Aaron Christy*
2809375 @fxn registers 2483460 in the CHANGELOG
fxn authored
455
04d5eae @bdurand Add ActiveSupport::Cache::NullStore to expose caching interface without ...
bdurand authored
456 * Add ActiveSupport::Cache::NullStore for use in development and testing.
457
458 *Brian Durand*
281272a @jonleighton Convert CHANGELOGs to Markdown format.
jonleighton authored
459
8efced6 @fxn CHANGELOGs are now per branch
fxn authored
460 Please check [3-1-stable](https://github.com/rails/rails/blob/3-1-stable/activerecord/CHANGELOG.md) for previous changes.
Something went wrong with that request. Please try again.