Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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