activerecord 2.2.3 → 2.3.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activerecord might be problematic. Click here for more details.

Files changed (120) hide show
  1. data/CHANGELOG +438 -396
  2. data/Rakefile +4 -2
  3. data/lib/active_record.rb +46 -43
  4. data/lib/active_record/association_preload.rb +34 -19
  5. data/lib/active_record/associations.rb +193 -251
  6. data/lib/active_record/associations/association_collection.rb +38 -21
  7. data/lib/active_record/associations/association_proxy.rb +11 -4
  8. data/lib/active_record/associations/has_and_belongs_to_many_association.rb +2 -2
  9. data/lib/active_record/associations/has_many_association.rb +2 -2
  10. data/lib/active_record/associations/has_many_through_association.rb +8 -8
  11. data/lib/active_record/associations/has_one_association.rb +11 -2
  12. data/lib/active_record/attribute_methods.rb +1 -0
  13. data/lib/active_record/autosave_association.rb +349 -0
  14. data/lib/active_record/base.rb +292 -106
  15. data/lib/active_record/batches.rb +73 -0
  16. data/lib/active_record/calculations.rb +34 -16
  17. data/lib/active_record/callbacks.rb +37 -8
  18. data/lib/active_record/connection_adapters/abstract/connection_pool.rb +16 -0
  19. data/lib/active_record/connection_adapters/abstract/connection_specification.rb +3 -0
  20. data/lib/active_record/connection_adapters/abstract/database_statements.rb +103 -15
  21. data/lib/active_record/connection_adapters/abstract/query_cache.rb +6 -6
  22. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +28 -25
  23. data/lib/active_record/connection_adapters/abstract_adapter.rb +29 -5
  24. data/lib/active_record/connection_adapters/mysql_adapter.rb +50 -21
  25. data/lib/active_record/connection_adapters/postgresql_adapter.rb +26 -41
  26. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +1 -1
  27. data/lib/active_record/connection_adapters/sqlite_adapter.rb +41 -21
  28. data/lib/active_record/dirty.rb +1 -1
  29. data/lib/active_record/dynamic_scope_match.rb +25 -0
  30. data/lib/active_record/fixtures.rb +193 -198
  31. data/lib/active_record/locale/en.yml +1 -1
  32. data/lib/active_record/locking/optimistic.rb +33 -0
  33. data/lib/active_record/migration.rb +8 -2
  34. data/lib/active_record/named_scope.rb +13 -6
  35. data/lib/active_record/nested_attributes.rb +329 -0
  36. data/lib/active_record/query_cache.rb +25 -13
  37. data/lib/active_record/reflection.rb +6 -1
  38. data/lib/active_record/schema_dumper.rb +2 -0
  39. data/lib/active_record/serialization.rb +3 -1
  40. data/lib/active_record/serializers/json_serializer.rb +19 -0
  41. data/lib/active_record/serializers/xml_serializer.rb +28 -13
  42. data/lib/active_record/session_store.rb +318 -0
  43. data/lib/active_record/test_case.rb +15 -9
  44. data/lib/active_record/timestamp.rb +2 -2
  45. data/lib/active_record/transactions.rb +58 -8
  46. data/lib/active_record/validations.rb +29 -24
  47. data/lib/active_record/version.rb +2 -2
  48. data/test/cases/ar_schema_test.rb +0 -1
  49. data/test/cases/associations/belongs_to_associations_test.rb +35 -131
  50. data/test/cases/associations/cascaded_eager_loading_test.rb +8 -0
  51. data/test/cases/associations/eager_load_nested_include_test.rb +29 -0
  52. data/test/cases/associations/eager_test.rb +137 -7
  53. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +45 -7
  54. data/test/cases/associations/has_many_associations_test.rb +110 -149
  55. data/test/cases/associations/has_many_through_associations_test.rb +39 -7
  56. data/test/cases/associations/has_one_associations_test.rb +39 -92
  57. data/test/cases/associations/has_one_through_associations_test.rb +34 -3
  58. data/test/cases/associations/inner_join_association_test.rb +0 -5
  59. data/test/cases/associations/join_model_test.rb +5 -7
  60. data/test/cases/attribute_methods_test.rb +13 -1
  61. data/test/cases/autosave_association_test.rb +901 -0
  62. data/test/cases/base_test.rb +41 -21
  63. data/test/cases/batches_test.rb +61 -0
  64. data/test/cases/calculations_test.rb +37 -17
  65. data/test/cases/callbacks_test.rb +43 -5
  66. data/test/cases/connection_pool_test.rb +25 -0
  67. data/test/cases/copy_table_test_sqlite.rb +11 -0
  68. data/test/cases/datatype_test_postgresql.rb +1 -0
  69. data/test/cases/defaults_test.rb +37 -26
  70. data/test/cases/dirty_test.rb +26 -2
  71. data/test/cases/finder_test.rb +79 -44
  72. data/test/cases/fixtures_test.rb +15 -19
  73. data/test/cases/helper.rb +26 -19
  74. data/test/cases/inheritance_test.rb +2 -2
  75. data/test/cases/json_serialization_test.rb +1 -1
  76. data/test/cases/locking_test.rb +23 -5
  77. data/test/cases/method_scoping_test.rb +126 -3
  78. data/test/cases/migration_test.rb +253 -237
  79. data/test/cases/named_scope_test.rb +73 -3
  80. data/test/cases/nested_attributes_test.rb +509 -0
  81. data/test/cases/query_cache_test.rb +0 -4
  82. data/test/cases/reflection_test.rb +13 -3
  83. data/test/cases/reload_models_test.rb +3 -1
  84. data/test/cases/repair_helper.rb +50 -0
  85. data/test/cases/schema_dumper_test.rb +0 -1
  86. data/test/cases/transactions_test.rb +177 -12
  87. data/test/cases/validations_i18n_test.rb +288 -294
  88. data/test/cases/validations_test.rb +230 -180
  89. data/test/cases/xml_serialization_test.rb +19 -1
  90. data/test/fixtures/fixture_database.sqlite3 +0 -0
  91. data/test/fixtures/fixture_database_2.sqlite3 +0 -0
  92. data/test/fixtures/member_types.yml +6 -0
  93. data/test/fixtures/members.yml +3 -1
  94. data/test/fixtures/people.yml +10 -1
  95. data/test/fixtures/toys.yml +4 -0
  96. data/test/models/author.rb +1 -2
  97. data/test/models/bird.rb +3 -0
  98. data/test/models/category.rb +1 -0
  99. data/test/models/company.rb +3 -0
  100. data/test/models/developer.rb +12 -0
  101. data/test/models/event.rb +3 -0
  102. data/test/models/member.rb +1 -0
  103. data/test/models/member_detail.rb +1 -0
  104. data/test/models/member_type.rb +3 -0
  105. data/test/models/owner.rb +2 -1
  106. data/test/models/parrot.rb +2 -0
  107. data/test/models/person.rb +6 -0
  108. data/test/models/pet.rb +2 -1
  109. data/test/models/pirate.rb +55 -1
  110. data/test/models/post.rb +6 -0
  111. data/test/models/project.rb +1 -0
  112. data/test/models/reply.rb +6 -0
  113. data/test/models/ship.rb +8 -1
  114. data/test/models/ship_part.rb +5 -0
  115. data/test/models/topic.rb +13 -1
  116. data/test/models/toy.rb +4 -0
  117. data/test/schema/schema.rb +35 -2
  118. metadata +70 -9
  119. data/test/fixtures/fixture_database.sqlite +0 -0
  120. data/test/fixtures/fixture_database_2.sqlite +0 -0
data/CHANGELOG CHANGED
@@ -1,28 +1,70 @@
1
- *2.2.3 (September 4th, 2009)*
1
+ *2.3.2 [Final] (March 15, 2009)*
2
2
 
3
- Version bump.
3
+ * Added ActiveRecord::Base.find_each and ActiveRecord::Base.find_in_batches for batch processing [DHH/Jamis Buck]
4
4
 
5
- *2.2 (November 21st, 2008)*
5
+ * Added that ActiveRecord::Base.exists? can be called with no arguments #1817 [Scott Taylor]
6
+
7
+ * Add Support for updating deeply nested models from a single form. #1202 [Eloy Duran]
8
+
9
+ class Book < ActiveRecord::Base
10
+ has_one :author
11
+ has_many :pages
12
+
13
+ accepts_nested_attributes_for :author, :pages
14
+ end
15
+
16
+ * Make after_save callbacks fire only if the record was successfully saved. #1735 [Michael Lovitt]
17
+
18
+ Previously the callbacks would fire if a before_save cancelled saving.
19
+
20
+ * Support nested transactions using database savepoints. #383 [Jonathan Viney, Hongli Lai]
21
+
22
+ * Added dynamic scopes ala dynamic finders #1648 [Yaroslav Markin]
23
+
24
+ * Fixed that ActiveRecord::Base#new_record? should return false (not nil) for existing records #1219 [Yaroslav Markin]
25
+
26
+ * I18n the word separator for error messages. Introduces the activerecord.errors.format.separator translation key. #1294 [Akira Matsuda]
27
+
28
+ * Add :having as a key to find and the relevant associations. [Emilio Tagua]
29
+
30
+ * Added default_scope to Base #1381 [Paweł Kondzior]. Example:
31
+
32
+ class Person < ActiveRecord::Base
33
+ default_scope :order => 'last_name, first_name'
34
+ end
35
+
36
+ class Company < ActiveRecord::Base
37
+ has_many :people
38
+ end
39
+
40
+ Person.all # => Person.find(:all, :order => 'last_name, first_name')
41
+ Company.find(1).people # => Person.find(:all, :order => 'last_name, first_name', :conditions => { :company_id => 1 })
42
+
43
+
44
+ *2.2.1 [RC2] (November 14th, 2008)*
6
45
 
7
46
  * Ensure indices don't flip order in schema.rb #1266 [Jordi Bunster]
8
47
 
9
48
  * Fixed that serialized strings should never be type-casted (i.e. turning "Yes" to a boolean) #857 [Andreas Korth]
10
49
 
50
+
51
+ *2.2.0 [RC1] (October 24th, 2008)*
52
+
11
53
  * Skip collection ids reader optimization if using :finder_sql [Jeremy Kemper]
12
54
 
13
- * Add Model#delete instance method, similar to Model.delete class method. #1086 [Hongli Lai]
55
+ * Add Model#delete instance method, similar to Model.delete class method. #1086 [Hongli Lai (Phusion)]
14
56
 
15
57
  * MySQL: cope with quirky default values for not-null text columns. #1043 [Frederick Cheung]
16
58
 
17
59
  * Multiparameter attributes skip time zone conversion for time-only columns [#1030 state:resolved] [Geoff Buesing]
18
60
 
19
- * Base.skip_time_zone_conversion_for_attributes uses class_inheritable_accessor, so that subclasses don't overwrite Base [#346 state:resolved] [miloops]
61
+ * Base.skip_time_zone_conversion_for_attributes uses class_inheritable_accessor, so that subclasses don't overwrite Base [#346 state:resolved] [Emilio Tagua]
20
62
 
21
- * Added find_last_by dynamic finder #762 [miloops]
63
+ * Added find_last_by dynamic finder #762 [Emilio Tagua]
22
64
 
23
- * Internal API: configurable association options and build_association method for reflections so plugins may extend and override. #985 [Hongli Lai]
65
+ * Internal API: configurable association options and build_association method for reflections so plugins may extend and override. #985 [Hongli Lai (Phusion)]
24
66
 
25
- * Changed benchmarks to be reported in milliseconds [DHH]
67
+ * Changed benchmarks to be reported in milliseconds [David Heinemeier Hansson]
26
68
 
27
69
  * Connection pooling. #936 [Nick Sieger]
28
70
 
@@ -71,7 +113,7 @@ Version bump.
71
113
 
72
114
  *2.1.0 (May 31st, 2008)*
73
115
 
74
- * Add ActiveRecord::Base.sti_name that checks ActiveRecord::Base#store_full_sti_class? and returns either the full or demodulized name. [rick]
116
+ * Add ActiveRecord::Base.sti_name that checks ActiveRecord::Base#store_full_sti_class? and returns either the full or demodulized name. [Rick Olson]
75
117
 
76
118
  * Add first/last methods to associations/named_scope. Resolved #226. [Ryan Bates]
77
119
 
@@ -104,27 +146,27 @@ Version bump.
104
146
 
105
147
  * Fixed that change_column should be able to use :null => true on a field that formerly had false [Nate Wiger] [#26]
106
148
 
107
- * Added that the MySQL adapter should map integer to either smallint, int, or bigint depending on the :limit just like PostgreSQL [DHH]
149
+ * Added that the MySQL adapter should map integer to either smallint, int, or bigint depending on the :limit just like PostgreSQL [David Heinemeier Hansson]
108
150
 
109
- * Change validates_uniqueness_of :case_sensitive option default back to true (from [9160]). Love your database columns, don't LOWER them. [rick]
151
+ * Change validates_uniqueness_of :case_sensitive option default back to true (from [9160]). Love your database columns, don't LOWER them. [Rick Olson]
110
152
 
111
- * Add support for interleaving migrations by storing which migrations have run in the new schema_migrations table. Closes #11493 [jordi]
153
+ * Add support for interleaving migrations by storing which migrations have run in the new schema_migrations table. Closes #11493 [Jordi Bunster]
112
154
 
113
- * ActiveRecord::Base#sum defaults to 0 if no rows are returned. Closes #11550 [kamal]
155
+ * ActiveRecord::Base#sum defaults to 0 if no rows are returned. Closes #11550 [Kamal Fariz Mahyuddin]
114
156
 
115
- * Ensure that respond_to? considers dynamic finder methods. Closes #11538. [floehopper]
157
+ * Ensure that respond_to? considers dynamic finder methods. Closes #11538. [James Mead]
116
158
 
117
- * Ensure that save on parent object fails for invalid has_one association. Closes #10518. [Pratik]
159
+ * Ensure that save on parent object fails for invalid has_one association. Closes #10518. [Pratik Naik]
118
160
 
119
- * Remove duplicate code from associations. [Pratik]
161
+ * Remove duplicate code from associations. [Pratik Naik]
120
162
 
121
- * Refactor HasManyThroughAssociation to inherit from HasManyAssociation. Association callbacks and <association>_ids= now work with hm:t. #11516 [rubyruy]
163
+ * Refactor HasManyThroughAssociation to inherit from HasManyAssociation. Association callbacks and <association>_ids= now work with hm:t. #11516 [Ruy Asan]
122
164
 
123
- * Ensure HABTM#create and HABTM#build do not load entire association. [Pratik]
165
+ * Ensure HABTM#create and HABTM#build do not load entire association. [Pratik Naik]
124
166
 
125
167
  * Improve documentation. [Xavier Noria, Jack Danger Canty, leethal]
126
168
 
127
- * Tweak ActiveRecord::Base#to_json to include a root value in the returned hash: {"post": {"title": ...}} [rick]
169
+ * Tweak ActiveRecord::Base#to_json to include a root value in the returned hash: {"post": {"title": ...}} [Rick Olson]
128
170
 
129
171
  Post.find(1).to_json # => {"title": ...}
130
172
  config.active_record.include_root_in_json = true
@@ -132,9 +174,9 @@ Version bump.
132
174
 
133
175
  * Add efficient #include? to AssociationCollection (for has_many/has_many :through/habtm). [stopdropandrew]
134
176
 
135
- * PostgreSQL: create_ and drop_database support. #9042 [ez, pedz, nicksieger]
177
+ * PostgreSQL: create_ and drop_database support. #9042 [ez, pedz, Nick Sieger]
136
178
 
137
- * Ensure that validates_uniqueness_of works with with_scope. Closes #9235. [nik.wakelin, cavalle]
179
+ * Ensure that validates_uniqueness_of works with with_scope. Closes #9235. [Nik Wakelin, cavalle]
138
180
 
139
181
  * Partial updates include only unsaved attributes. Off by default; set YourClass.partial_updates = true to enable. [Jeremy Kemper]
140
182
 
@@ -144,21 +186,21 @@ Version bump.
144
186
 
145
187
  * Track changes to unsaved attributes. [Jeremy Kemper]
146
188
 
147
- * Switched to UTC-timebased version numbers for migrations and the schema. This will as good as eliminate the problem of multiple migrations getting the same version assigned in different branches. Also added rake db:migrate:up/down to apply individual migrations that may need to be run when you merge branches #11458 [jbarnette]
189
+ * Switched to UTC-timebased version numbers for migrations and the schema. This will as good as eliminate the problem of multiple migrations getting the same version assigned in different branches. Also added rake db:migrate:up/down to apply individual migrations that may need to be run when you merge branches #11458 [John Barnette]
148
190
 
149
- * Fixed that has_many :through would ignore the hash conditions #11447 [miloops]
191
+ * Fixed that has_many :through would ignore the hash conditions #11447 [Emilio Tagua]
150
192
 
151
193
  * Fix issue where the :uniq option of a has_many :through association is ignored when find(:all) is called. Closes #9407 [cavalle]
152
194
 
153
195
  * Fix duplicate table alias error when including an association with a has_many :through association on the same join table. Closes #7310 [cavalle]
154
196
 
155
- * More efficient association preloading code that compacts a through_records array in a central location. Closes #11427 [danger]
197
+ * More efficient association preloading code that compacts a through_records array in a central location. Closes #11427 [Jack Danger Canty]
156
198
 
157
- * Improve documentation. [Radar, Jan De Poorter, chuyeow, xaviershay, danger, miloops, Xavier Noria, Sunny Ripert]
199
+ * Improve documentation. [Ryan Bigg, Jan De Poorter, Cheah Chu Yeow, Xavier Shay, Jack Danger Canty, Emilio Tagua, Xavier Noria, Sunny Ripert]
158
200
 
159
- * Fixed that ActiveRecord#Base.find_or_create/initialize would not honor attr_protected/accessible when used with a hash #11422 [miloops]
201
+ * Fixed that ActiveRecord#Base.find_or_create/initialize would not honor attr_protected/accessible when used with a hash #11422 [Emilio Tagua]
160
202
 
161
- * Added ActiveRecord#Base.all/first/last as aliases for find(:all/:first/:last) #11413 [nkallen, thechrisoshow]
203
+ * Added ActiveRecord#Base.all/first/last as aliases for find(:all/:first/:last) #11413 [nkallen, Chris O'Sullivan]
162
204
 
163
205
  * Merge the has_finder gem, renamed as 'named_scope'. #11404 [nkallen]
164
206
 
@@ -174,25 +216,25 @@ Version bump.
174
216
 
175
217
  See http://pivots.pivotallabs.com/users/nick/blog/articles/284-hasfinder-it-s-now-easier-than-ever-to-create-complex-re-usable-sql-queries
176
218
 
177
- * Add has_one :through support. #4756 [thechrisoshow]
219
+ * Add has_one :through support. #4756 [Chris O'Sullivan]
178
220
 
179
- * Migrations: create_table supports primary_key_prefix_type. #10314 [student, thechrisoshow]
221
+ * Migrations: create_table supports primary_key_prefix_type. #10314 [student, Chris O'Sullivan]
180
222
 
181
223
  * Added logging for dependency load errors with fixtures #11056 [stuthulhu]
182
224
 
183
225
  * Time zone aware attributes use Time#in_time_zone [Geoff Buesing]
184
226
 
185
- * Fixed that scoped joins would not always be respected #6821 [Theory/Danger]
227
+ * Fixed that scoped joins would not always be respected #6821 [Theory/Jack Danger Canty]
186
228
 
187
229
  * Ensure that ActiveRecord::Calculations disambiguates field names with the table name. #11027 [cavalle]
188
230
 
189
231
  * Added add/remove_timestamps to the schema statements for adding the created_at/updated_at columns on existing tables #11129 [jramirez]
190
232
 
191
- * Added ActiveRecord::Base.find(:last) #11338 [miloops]
233
+ * Added ActiveRecord::Base.find(:last) #11338 [Emilio Tagua]
192
234
 
193
235
  * test_native_types expects DateTime.local_offset instead of DateTime.now.offset; fixes test breakage due to dst transition [Geoff Buesing]
194
236
 
195
- * Add :readonly option to HasManyThrough associations. #11156 [miloops]
237
+ * Add :readonly option to HasManyThrough associations. #11156 [Emilio Tagua]
196
238
 
197
239
  * Improve performance on :include/:conditions/:limit queries by selectively joining in the pre-query. #9560 [dasil003]
198
240
 
@@ -212,7 +254,7 @@ Version bump.
212
254
 
213
255
  * Optimise the BigDecimal conversion code. #11110 [adymo]
214
256
 
215
- * Introduce the :readonly option to all associations. Records from the association cannot be saved. #11084 [miloops]
257
+ * Introduce the :readonly option to all associations. Records from the association cannot be saved. #11084 [Emilio Tagua]
216
258
 
217
259
  * Multiparameter attributes for time columns fail over to DateTime when out of range of Time [Geoff Buesing]
218
260
 
@@ -220,15 +262,15 @@ Version bump.
220
262
 
221
263
  * Add timezone-aware attribute readers and writers. #10982 [Geoff Buesing]
222
264
 
223
- * Instantiating time objects in multiparameter attributes uses Time.zone if available. #10982 [rick]
265
+ * Instantiating time objects in multiparameter attributes uses Time.zone if available. #10982 [Rick Olson]
224
266
 
225
- * Add note about how ActiveRecord::Observer classes are initialized in a Rails app. #10980 [fxn]
267
+ * Add note about how ActiveRecord::Observer classes are initialized in a Rails app. #10980 [Xavier Noria]
226
268
 
227
269
  * MySQL: omit text/blob defaults from the schema instead of using an empty string. #10963 [mdeiters]
228
270
 
229
271
  * belongs_to supports :dependent => :destroy and :delete. #10592 [Jonathan Viney]
230
272
 
231
- * Introduce preload query strategy for eager :includes. #9640 [Frederick Cheung, Aleksey Kondratenko, codafoo]
273
+ * Introduce preload query strategy for eager :includes. #9640 [Frederick Cheung, Aliaksey Kandratsenka, codafoo]
232
274
 
233
275
  * Support aggregations in finder conditions. #10572 [Ryan Kinderman]
234
276
 
@@ -244,13 +286,13 @@ Version bump.
244
286
 
245
287
  * update_all ignores scoped :order and :limit, so post.comments.update_all doesn't try to include the comment order in the update statement. #10686 [Brendan Ribera]
246
288
 
247
- * Added ActiveRecord::Base.cache_key to make it easier to cache Active Records in combination with the new ActiveSupport::Cache::* libraries [DHH]
289
+ * Added ActiveRecord::Base.cache_key to make it easier to cache Active Records in combination with the new ActiveSupport::Cache::* libraries [David Heinemeier Hansson]
248
290
 
249
291
  * Make sure CSV fixtures are compatible with ruby 1.9's new csv implementation. [JEG2]
250
292
 
251
293
  * Added by parameter to increment, decrement, and their bang varieties so you can do player1.increment!(:points, 5) #10542 [Sam]
252
294
 
253
- * Optimize ActiveRecord::Base#exists? to use #select_all instead of #find. Closes #10605 [jamesh, fcheung, protocool]
295
+ * Optimize ActiveRecord::Base#exists? to use #select_all instead of #find. Closes #10605 [jamesh, Frederick Cheung, protocool]
254
296
 
255
297
  * Don't unnecessarily load has_many associations in after_update callbacks. Closes #6822 [stopdropandrew, canadaduane]
256
298
 
@@ -263,11 +305,11 @@ Version bump.
263
305
 
264
306
  *2.0.2* (December 16th, 2007)
265
307
 
266
- * Ensure optimistic locking handles nil #lock_version values properly. Closes #10510 [rick]
308
+ * Ensure optimistic locking handles nil #lock_version values properly. Closes #10510 [Rick Olson]
267
309
 
268
310
  * Make the Fixtures Test::Unit enhancements more supporting for double-loaded test cases. Closes #10379 [brynary]
269
311
 
270
- * Fix that validates_acceptance_of still works for non-existent tables (useful for bootstrapping new databases). Closes #10474 [hasmanyjosh]
312
+ * Fix that validates_acceptance_of still works for non-existent tables (useful for bootstrapping new databases). Closes #10474 [Josh Susser]
271
313
 
272
314
  * Ensure that the :uniq option for has_many :through associations retains the order. #10463 [remvee]
273
315
 
@@ -278,19 +320,19 @@ Version bump.
278
320
 
279
321
  *2.0.1* (December 7th, 2007)
280
322
 
281
- * Removed query cache rescue as it could cause code to be run twice (closes #10408) [DHH]
323
+ * Removed query cache rescue as it could cause code to be run twice (closes #10408) [David Heinemeier Hansson]
282
324
 
283
325
 
284
326
  *2.0.0* (December 6th, 2007)
285
327
 
286
328
  * Anchor DateTimeTest to fixed DateTime instead of a variable value based on Time.now#advance#to_datetime, so that this test passes on 64-bit platforms running Ruby 1.8.6+ [Geoff Buesing]
287
329
 
288
- * Fixed that the Query Cache should just be ignored if the database is misconfigured (so that the "About your applications environment" works even before the database has been created) [DHH]
330
+ * Fixed that the Query Cache should just be ignored if the database is misconfigured (so that the "About your applications environment" works even before the database has been created) [David Heinemeier Hansson]
289
331
 
290
332
  * Fixed that the truncation of strings longer than 50 chars should use inspect
291
333
  so newlines etc are escaped #10385 [Norbert Crombach]
292
334
 
293
- * Fixed that habtm associations should be able to set :select as part of their definition and have that honored [DHH]
335
+ * Fixed that habtm associations should be able to set :select as part of their definition and have that honored [David Heinemeier Hansson]
294
336
 
295
337
  * Document how the :include option can be used in Calculations::calculate. Closes #7446 [adamwiggins, ultimoamore]
296
338
 
@@ -300,7 +342,7 @@ so newlines etc are escaped #10385 [Norbert Crombach]
300
342
 
301
343
  * More complete documentation for find_by_sql. Closes #7912 [fearoffish]
302
344
 
303
- * Added ActiveRecord::Base#becomes to turn a record into one of another class (mostly relevant for STIs) [DHH]. Example:
345
+ * Added ActiveRecord::Base#becomes to turn a record into one of another class (mostly relevant for STIs) [David Heinemeier Hansson]. Example:
304
346
 
305
347
  render :partial => @client.becomes(Company) # renders companies/company instead of clients/client
306
348
 
@@ -326,25 +368,25 @@ so newlines etc are escaped #10385 [Norbert Crombach]
326
368
 
327
369
  * attr_readonly behaves well with optimistic locking. #10188 [Nick Bugajski]
328
370
 
329
- * Base#to_xml supports the nil="true" attribute like Hash#to_xml. #8268 [Catfish]
371
+ * Base#to_xml supports the nil="true" attribute like Hash#to_xml. #8268 [Jonathan del Strother]
330
372
 
331
- * Change plings to the more conventional quotes in the documentation. Closes #10104 [danger]
373
+ * Change plings to the more conventional quotes in the documentation. Closes #10104 [Jack Danger Canty]
332
374
 
333
- * Fix HasManyThrough Association so it uses :conditions on the HasMany Association. Closes #9729 [danger]
375
+ * Fix HasManyThrough Association so it uses :conditions on the HasMany Association. Closes #9729 [Jack Danger Canty]
334
376
 
335
377
  * Ensure that column names are quoted. Closes #10134 [wesley.moxam]
336
378
 
337
- * Smattering of grammatical fixes to documentation. Closes #10083 [BobSilva]
379
+ * Smattering of grammatical fixes to documentation. Closes #10083 [Bob Silva]
338
380
 
339
- * Enhance explanation with more examples for attr_accessible macro. Closes #8095 [fearoffish, Marcel Molina]
381
+ * Enhance explanation with more examples for attr_accessible macro. Closes #8095 [fearoffish, Marcel Molina Jr.]
340
382
 
341
383
  * Update association/method mapping table to refected latest collection methods for has_many :through. Closes #8772 [Pratik Naik]
342
384
 
343
- * Explain semantics of having several different AR instances in a transaction block. Closes #9036 [jacobat, Marcel Molina]
385
+ * Explain semantics of having several different AR instances in a transaction block. Closes #9036 [jacobat, Marcel Molina Jr.]
344
386
 
345
- * Update Schema documentation to use updated sexy migration notation. Closes #10086 [sjgman9]
387
+ * Update Schema documentation to use updated sexy migration notation. Closes #10086 [Sam Granieri]
346
388
 
347
- * Make fixtures work with the new test subclasses. [Tarmo Tänav, Koz]
389
+ * Make fixtures work with the new test subclasses. [Tarmo Tänav, Michael Koziarski]
348
390
 
349
391
  * Introduce finder :joins with associations. Same :include syntax but with inner rather than outer joins. #10012 [RubyRedRick]
350
392
  # Find users with an avatar
@@ -355,7 +397,7 @@ so newlines etc are escaped #10385 [Norbert Crombach]
355
397
 
356
398
  * Associations: speedup duplicate record check. #10011 [Pratik Naik]
357
399
 
358
- * Make sure that << works on has_many associations on unsaved records. Closes #9989 [hasmanyjosh]
400
+ * Make sure that << works on has_many associations on unsaved records. Closes #9989 [Josh Susser]
359
401
 
360
402
  * Allow association redefinition in subclasses. #9346 [wildchild]
361
403
 
@@ -378,7 +420,7 @@ so newlines etc are escaped #10385 [Norbert Crombach]
378
420
 
379
421
  * Use VALID_FIND_OPTIONS when resolving :find scoping rather than hard coding the list of valid find options. Closes #9443 [sur]
380
422
 
381
- * Limited eager loading no longer ignores scoped :order. Closes #9561 [danger, Josh Peek]
423
+ * Limited eager loading no longer ignores scoped :order. Closes #9561 [Jack Danger Canty, Josh Peek]
382
424
 
383
425
  * Assigning an instance of a foreign class to a composed_of aggregate calls an optional conversion block. Refactor and simplify composed_of implementation. #6322 [brandon, Chris Cruft]
384
426
 
@@ -391,7 +433,7 @@ so newlines etc are escaped #10385 [Norbert Crombach]
391
433
  * Complete the assimilation of Sexy Migrations from ErrFree [Chris Wanstrath, PJ Hyett]
392
434
  http://errtheblog.com/post/2381
393
435
 
394
- * Qualified column names work in hash conditions, like :conditions => { 'comments.created_at' => ... }. #9733 [danger]
436
+ * Qualified column names work in hash conditions, like :conditions => { 'comments.created_at' => ... }. #9733 [Jack Danger Canty]
395
437
 
396
438
  * Fix regression where the association would not construct new finder SQL on save causing bogus queries for "WHERE owner_id = NULL" even after owner was saved. #8713 [Bryan Helmkamp]
397
439
 
@@ -401,11 +443,11 @@ so newlines etc are escaped #10385 [Norbert Crombach]
401
443
 
402
444
  * Alias association #build to #new so it behaves predictably. #8787 [Pratik Naik]
403
445
 
404
- * Add notes to documentation regarding attr_readonly behavior with counter caches and polymorphic associations. Closes #9835 [saimonmoore, rick]
446
+ * Add notes to documentation regarding attr_readonly behavior with counter caches and polymorphic associations. Closes #9835 [saimonmoore, Rick Olson]
405
447
 
406
448
  * Observers can observe model names as symbols properly now. Closes #9869 [queso]
407
449
 
408
- * find_and_(initialize|create)_by methods can now properly initialize protected attributes [Tobias Luetke]
450
+ * find_and_(initialize|create)_by methods can now properly initialize protected attributes [Tobias Lütke]
409
451
 
410
452
  * belongs_to infers the foreign key from the association name instead of from the class name. [Jeremy Kemper]
411
453
 
@@ -424,16 +466,16 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
424
466
 
425
467
  * Allow change_column to set NOT NULL in the PostgreSQL adapter [Tarmo Tänav]
426
468
 
427
- * Fix that ActiveRecord would create attribute methods and override custom attribute getters if the method is also defined in Kernel.methods. [Rick]
469
+ * Fix that ActiveRecord would create attribute methods and override custom attribute getters if the method is also defined in Kernel.methods. [Rick Olson]
428
470
 
429
- * Don't call attr_readonly on polymorphic belongs_to associations, in case it matches the name of some other non-ActiveRecord class/module. [Rick]
471
+ * Don't call attr_readonly on polymorphic belongs_to associations, in case it matches the name of some other non-ActiveRecord class/module. [Rick Olson]
430
472
 
431
473
  * Try loading activerecord-<adaptername>-adapter gem before trying a plain require so you can use custom gems for the bundled adapters. Also stops gems from requiring an adapter from an old Active Record gem. [Jeremy Kemper, Derrick Spell]
432
474
 
433
475
 
434
476
  *2.0.0 [Preview Release]* (September 29th, 2007) [Includes duplicates of changes from 1.14.2 - 1.15.3]
435
477
 
436
- * Add attr_readonly to specify columns that are skipped during a normal ActiveRecord #save operation. Closes #6896 [dcmanges]
478
+ * Add attr_readonly to specify columns that are skipped during a normal ActiveRecord #save operation. Closes #6896 [Dan Manges]
437
479
 
438
480
  class Comment < ActiveRecord::Base
439
481
  # Automatically sets Article#comments_count as readonly.
@@ -444,7 +486,7 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
444
486
  attr_readonly :approved_comments_count
445
487
  end
446
488
 
447
- * Make size for has_many :through use counter cache if it exists. Closes #9734 [xaviershay]
489
+ * Make size for has_many :through use counter cache if it exists. Closes #9734 [Xavier Shay]
448
490
 
449
491
  * Remove DB2 adapter since IBM chooses to maintain their own adapter instead. [Jeremy Kemper]
450
492
 
@@ -460,9 +502,9 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
460
502
 
461
503
  * Added the possibility of using symbols in addition to concrete classes with ActiveRecord::Observer#observe. #3998 [Robby Russell, Tarmo Tänav]
462
504
 
463
- * Added ActiveRecord::Base#to_json/from_json [DHH, Cheah Chu Yeow]
505
+ * Added ActiveRecord::Base#to_json/from_json [David Heinemeier Hansson, Cheah Chu Yeow]
464
506
 
465
- * Added ActiveRecord::Base#from_xml [DHH]. Example:
507
+ * Added ActiveRecord::Base#from_xml [David Heinemeier Hansson]. Example:
466
508
 
467
509
  xml = "<person><name>David</name></person>"
468
510
  Person.new.from_xml(xml).name # => "David"
@@ -497,27 +539,27 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
497
539
 
498
540
  * Explicitly require active_record/query_cache before using it. [Jeremy Kemper]
499
541
 
500
- * Fix bug where unserializing an attribute attempts to modify a frozen @attributes hash for a deleted record. [Rick, marclove]
542
+ * Fix bug where unserializing an attribute attempts to modify a frozen @attributes hash for a deleted record. [Rick Olson, marclove]
501
543
 
502
544
  * Performance: absorb instantiate and initialize_with_callbacks into the Base methods. [Jeremy Kemper]
503
545
 
504
- * Fixed that eager loading queries and with_scope should respect the :group option [DHH]
546
+ * Fixed that eager loading queries and with_scope should respect the :group option [David Heinemeier Hansson]
505
547
 
506
548
  * Improve performance and functionality of the postgresql adapter. Closes #8049 [roderickvd]
507
549
 
508
550
  For more information see: http://dev.rubyonrails.org/ticket/8049
509
551
 
510
- * Don't clobber includes passed to has_many.count [danger]
552
+ * Don't clobber includes passed to has_many.count [Jack Danger Canty]
511
553
 
512
- * Make sure has_many uses :include when counting [danger]
554
+ * Make sure has_many uses :include when counting [Jack Danger Canty]
513
555
 
514
- * Change the implementation of ActiveRecord's attribute reader and writer methods [nzkoz]
556
+ * Change the implementation of ActiveRecord's attribute reader and writer methods [Michael Koziarski]
515
557
  - Generate Reader and Writer methods which cache attribute values in hashes. This is to avoid repeatedly parsing the same date or integer columns.
516
558
  - Change exception raised when users use find with :select then try to access a skipped column. Plugins could override missing_attribute() to lazily load the columns.
517
559
  - Move method definition to the class, instead of the instance
518
560
  - Always generate the readers, writers and predicate methods.
519
561
 
520
- * Perform a deep #dup on query cache results so that modifying activerecord attributes does not modify the cached attributes. [Rick]
562
+ * Perform a deep #dup on query cache results so that modifying activerecord attributes does not modify the cached attributes. [Rick Olson]
521
563
 
522
564
  # Ensure that has_many :through associations use a count query instead of loading the target when #size is called. Closes #8800 [Pratik Naik]
523
565
 
@@ -537,7 +579,7 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
537
579
 
538
580
  * Remove deprecated count(conditions=nil, joins=nil) usage. Closes #8993 [Pratik Naik]
539
581
 
540
- * Change belongs_to so that the foreign_key assumption is taken from the association name, not the class name. Closes #8992 [hasmanyjosh]
582
+ * Change belongs_to so that the foreign_key assumption is taken from the association name, not the class name. Closes #8992 [Josh Susser]
541
583
 
542
584
  OLD
543
585
  belongs_to :visitor, :class_name => 'User' # => inferred foreign_key is user_id
@@ -551,7 +593,7 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
551
593
 
552
594
  * Move from select * to select tablename.* to avoid clobbering IDs. Closes #8889 [dasil003]
553
595
 
554
- * Don't call unsupported methods on associated objects when using :include, :method with to_xml #7307, [manfred, jwilger]
596
+ * Don't call unsupported methods on associated objects when using :include, :method with to_xml #7307, [Manfred Stienstra, jwilger]
555
597
 
556
598
  * Define collection singular ids method for has_many :through associations. #8763 [Pratik Naik]
557
599
 
@@ -565,7 +607,7 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
565
607
 
566
608
  * Update tests' use of fixtures for the new collections api. #8726 [Kamal Fariz Mahyuddin]
567
609
 
568
- * Save associated records only if the association is already loaded. #8713 [blaine]
610
+ * Save associated records only if the association is already loaded. #8713 [Blaine]
569
611
 
570
612
  * MySQL: fix show_variable. #8448 [matt, Jeremy Kemper]
571
613
 
@@ -609,7 +651,7 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
609
651
 
610
652
  * Load database adapters on demand. Eliminates config.connection_adapters and RAILS_CONNECTION_ADAPTERS. Add your lib directory to the $LOAD_PATH and put your custom adapter in lib/active_record/connection_adapters/adaptername_adapter.rb. This way you can provide custom adapters as plugins or gems without modifying Rails. [Jeremy Kemper]
611
653
 
612
- * Ensure that associations with :dependent => :delete_all respect :conditions option. Closes #8034 [danger, Josh Peek, Rick]
654
+ * Ensure that associations with :dependent => :delete_all respect :conditions option. Closes #8034 [Jack Danger Canty, Josh Peek, Rick Olson]
613
655
 
614
656
  * belongs_to assignment creates a new proxy rather than modifying its target in-place. #8412 [mmangino@elevatedrails.com]
615
657
 
@@ -621,13 +663,13 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
621
663
 
622
664
  * Sanitize Base#inspect. #8392, #8623 [Nik Wakelin, jnoon]
623
665
 
624
- * Replace the transaction {|transaction|..} semantics with a new Exception ActiveRecord::Rollback. [Koz]
666
+ * Replace the transaction {|transaction|..} semantics with a new Exception ActiveRecord::Rollback. [Michael Koziarski]
625
667
 
626
668
  * Oracle: extract column length for CHAR also. #7866 [ymendel]
627
669
 
628
670
  * Document :allow_nil option for validates_acceptance_of since it defaults to true. [tzaharia]
629
671
 
630
- * Update documentation for :dependent declaration so that it explicitly uses the non-deprecated API. [danger]
672
+ * Update documentation for :dependent declaration so that it explicitly uses the non-deprecated API. [Jack Danger Canty]
631
673
 
632
674
  * Add documentation caveat about when to use count_by_sql. [fearoffish]
633
675
 
@@ -637,7 +679,7 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
637
679
 
638
680
  * Add documentation for :encoding option to mysql adapter. [marclove]
639
681
 
640
- * Added short-hand declaration style to migrations (inspiration from Sexy Migrations, http://errtheblog.com/post/2381) [DHH]. Example:
682
+ * Added short-hand declaration style to migrations (inspiration from Sexy Migrations, http://errtheblog.com/post/2381) [David Heinemeier Hansson]. Example:
641
683
 
642
684
  create_table "products" do |t|
643
685
  t.column "shop_id", :integer
@@ -656,17 +698,17 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
656
698
  t.timestamps
657
699
  end
658
700
 
659
- * Use association name for the wrapper element when using .to_xml. Previous behavior lead to non-deterministic situations with STI and polymorphic associations. [Koz, jstrachan]
701
+ * Use association name for the wrapper element when using .to_xml. Previous behavior lead to non-deterministic situations with STI and polymorphic associations. [Michael Koziarski, jstrachan]
660
702
 
661
703
  * Improve performance of calling .create on has_many :through associations. [evan]
662
704
 
663
705
  * Improved cloning performance by relying less on exception raising #8159 [Blaine]
664
706
 
665
- * Added ActiveRecord::Base.inspect to return a column-view like #<Post id:integer, title:string, body:text> [DHH]
707
+ * Added ActiveRecord::Base.inspect to return a column-view like #<Post id:integer, title:string, body:text> [David Heinemeier Hansson]
666
708
 
667
- * Added yielding of Builder instance for ActiveRecord::Base#to_xml calls [DHH]
709
+ * Added yielding of Builder instance for ActiveRecord::Base#to_xml calls [David Heinemeier Hansson]
668
710
 
669
- * Small additions and fixes for ActiveRecord documentation. Closes #7342 [jeremymcanally]
711
+ * Small additions and fixes for ActiveRecord documentation. Closes #7342 [Jeremy McAnally]
670
712
 
671
713
  * Add helpful debugging info to the ActiveRecord::StatementInvalid exception in ActiveRecord::ConnectionAdapters::SqliteAdapter#table_structure. Closes #7925. [court3nay]
672
714
 
@@ -676,13 +718,13 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
676
718
 
677
719
  * Base.update_all :order and :limit options. Useful for MySQL updates that must be ordered to avoid violating unique constraints. [Jeremy Kemper]
678
720
 
679
- * Remove deprecated object transactions. People relying on this functionality should install the object_transactions plugin at http://code.bitsweat.net/svn/object_transactions. Closes #5637 [Koz, Jeremy Kemper]
721
+ * Remove deprecated object transactions. People relying on this functionality should install the object_transactions plugin at http://code.bitsweat.net/svn/object_transactions. Closes #5637 [Michael Koziarski, Jeremy Kemper]
680
722
 
681
723
  * PostgreSQL: remove DateTime -> Time downcast. Warning: do not enable translate_results for the C bindings if you have timestamps outside Time's domain. [Jeremy Kemper]
682
724
 
683
725
  * find_or_create_by_* takes a hash so you can create with more attributes than are in the method name. For example, Person.find_or_create_by_name(:name => 'Henry', :comments => 'Hi new user!') is equivalent to Person.find_by_name('Henry') || Person.create(:name => 'Henry', :comments => 'Hi new user!'). #7368 [Josh Susser]
684
726
 
685
- * Make sure with_scope takes both :select and :joins into account when setting :readonly. Allows you to save records you retrieve using method_missing on a has_many :through associations. [Koz]
727
+ * Make sure with_scope takes both :select and :joins into account when setting :readonly. Allows you to save records you retrieve using method_missing on a has_many :through associations. [Michael Koziarski]
686
728
 
687
729
  * Allow a polymorphic :source for has_many :through associations. Closes #7143 [protocool]
688
730
 
@@ -707,13 +749,13 @@ single-table inheritance. #3833, #9886 [Gabriel Gironda, rramdas, François Bea
707
749
  * Test DateTime native type in migrations, including an edge case with dates
708
750
  during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
709
751
 
710
- * SQLServer: correctly schema-dump tables with no indexes or descending indexes. #7333, #7703 [Jakob S, Tom Ward]
752
+ * SQLServer: correctly schema-dump tables with no indexes or descending indexes. #7333, #7703 [Jakob Skjerning, Tom Ward]
711
753
 
712
754
  * SQLServer: recognize real column type as Ruby float. #7057 [sethladd, Tom Ward]
713
755
 
714
- * Added fixtures :all as a way of loading all fixtures in the fixture directory at once #7214 [manfred]
756
+ * Added fixtures :all as a way of loading all fixtures in the fixture directory at once #7214 [Manfred Stienstra]
715
757
 
716
- * Added database connection as a yield parameter to ActiveRecord::Base.transaction so you can manually rollback [DHH]. Example:
758
+ * Added database connection as a yield parameter to ActiveRecord::Base.transaction so you can manually rollback [David Heinemeier Hansson]. Example:
717
759
 
718
760
  transaction do |transaction|
719
761
  david.withdrawal(100)
@@ -723,14 +765,14 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
723
765
 
724
766
  * Made increment_counter/decrement_counter play nicely with optimistic locking, and added a more general update_counters method [Jamis Buck]
725
767
 
726
- * Reworked David's query cache to be available as Model.cache {...}. For the duration of the block no select query should be run more then once. Any inserts/deletes/executes will flush the whole cache however [Tobias Luetke]
768
+ * Reworked David's query cache to be available as Model.cache {...}. For the duration of the block no select query should be run more then once. Any inserts/deletes/executes will flush the whole cache however [Tobias Lütke]
727
769
  Task.cache { Task.find(1); Task.find(1) } #=> 1 query
728
770
 
729
771
  * When dealing with SQLite3, use the table_info pragma helper, so that the bindings can do some translation for when sqlite3 breaks incompatibly between point releases. [Jamis Buck]
730
772
 
731
773
  * Oracle: fix lob and text default handling. #7344 [gfriedrich, Michael Schoen]
732
774
 
733
- * SQLServer: don't choke on strings containing 'null'. #7083 [Jakob S]
775
+ * SQLServer: don't choke on strings containing 'null'. #7083 [Jakob Skjerning]
734
776
 
735
777
  * MySQL: blob and text columns may not have defaults in 5.x. Update fixtures schema for strict mode. #6695 [Dan Kubb]
736
778
 
@@ -740,7 +782,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
740
782
 
741
783
  * Use Date#to_s(:db) for quoted dates. #7411 [Michael Schoen]
742
784
 
743
- * Don't create instance writer methods for class attributes. Closes #7401 [Rick]
785
+ * Don't create instance writer methods for class attributes. Closes #7401 [Rick Olson]
744
786
 
745
787
  * Docs: validations examples. #7343 [zackchandler]
746
788
 
@@ -760,11 +802,11 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
760
802
 
761
803
  * Make sure sqlite3 driver closes open connections on disconnect [Rob Rasmussen]
762
804
 
763
- * [DOC] clear up some ambiguity with the way has_and_belongs_to_many creates the default join table name. #7072 [jeremymcanally]
805
+ * [DOC] clear up some ambiguity with the way has_and_belongs_to_many creates the default join table name. #7072 [Jeremy McAnally]
764
806
 
765
807
  * change_column accepts :default => nil. Skip column options for primary keys. #6956, #7048 [Dan Manges, Jeremy Kemper]
766
808
 
767
- * MySQL, PostgreSQL: change_column_default quotes the default value and doesn't lose column type information. #3987, #6664 [Jonathan Viney, manfred, altano@bigfoot.com]
809
+ * MySQL, PostgreSQL: change_column_default quotes the default value and doesn't lose column type information. #3987, #6664 [Jonathan Viney, Manfred Stienstra, altano@bigfoot.com]
768
810
 
769
811
  * Oracle: create_table takes a :sequence_name option to override the 'tablename_seq' default. #7000 [Michael Schoen]
770
812
 
@@ -799,15 +841,15 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
799
841
 
800
842
  * fix faulty inheritance tests and that eager loading grabs the wrong inheritance column when the class of your association is an STI subclass. Closes #6859 [protocool]
801
843
 
802
- * Consolidated different create and create! versions to call through to the base class with scope. This fixes inconsistencies, especially related to protected attribtues. Closes #5847 [Alexander Dymo, Tobias Luetke]
844
+ * Consolidated different create and create! versions to call through to the base class with scope. This fixes inconsistencies, especially related to protected attribtues. Closes #5847 [Alexander Dymo, Tobias Lütke]
803
845
 
804
846
  * find supports :lock with :include. Check whether your database allows SELECT ... FOR UPDATE with outer joins before using. #6764 [vitaly, Jeremy Kemper]
805
847
 
806
848
  * Add AssociationCollection#create! to be consistent with AssociationCollection#create when dealing with a foreign key that is a protected attribute [Cody Fauser]
807
849
 
808
- * Added counter optimization for AssociationCollection#any? so person.friends.any? won't actually load the full association if we have the count in a cheaper form [DHH]
850
+ * Added counter optimization for AssociationCollection#any? so person.friends.any? won't actually load the full association if we have the count in a cheaper form [David Heinemeier Hansson]
809
851
 
810
- * Change fixture_path to a class inheritable accessor allowing test cases to have their own custom set of fixtures. #6672 [zdennis]
852
+ * Change fixture_path to a class inheritable accessor allowing test cases to have their own custom set of fixtures. #6672 [Zach Dennis]
811
853
 
812
854
  * Quote ActiveSupport::Multibyte::Chars. #6653 [Julian Tarkhanov]
813
855
 
@@ -862,15 +904,15 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
862
904
 
863
905
  * Fix has_many :through to add the appropriate conditions when going through an association using STI. Closes #5783. [Jonathan Viney]
864
906
 
865
- * fix select_limited_ids_list issues in postgresql, retain current behavior in other adapters [Rick]
907
+ * fix select_limited_ids_list issues in postgresql, retain current behavior in other adapters [Rick Olson]
866
908
 
867
- * Restore eager condition interpolation, document it's differences [Rick]
909
+ * Restore eager condition interpolation, document it's differences [Rick Olson]
868
910
 
869
911
  * Don't rollback in teardown unless a transaction was started. Don't start a transaction in create_fixtures if a transaction is started. #6282 [Jacob Fugal, Jeremy Kemper]
870
912
 
871
913
  * Add #delete support to has_many :through associations. Closes #6049 [Martin Landers]
872
914
 
873
- * Reverted old select_limited_ids_list postgresql fix that caused issues in mysql. Closes #5851 [Rick]
915
+ * Reverted old select_limited_ids_list postgresql fix that caused issues in mysql. Closes #5851 [Rick Olson]
874
916
 
875
917
  * Removes the ability for eager loaded conditions to be interpolated, since there is no model instance to use as a context for interpolation. #5553 [turnip@turnipspatch.com]
876
918
 
@@ -878,7 +920,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
878
920
 
879
921
  * Added update_attributes! which uses save! to raise an exception if a validation error prevents saving #6192 [jonathan]
880
922
 
881
- * Deprecated add_on_boundary_breaking (use validates_length_of instead) #6292 [BobSilva]
923
+ * Deprecated add_on_boundary_breaking (use validates_length_of instead) #6292 [Bob Silva]
882
924
 
883
925
  * The has_many create method works with polymorphic associations. #6361 [Dan Peterson]
884
926
 
@@ -894,9 +936,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
894
936
 
895
937
  * has_one associations with a nil target may be safely marshaled. #6279 [norbauer, Jeremy Kemper]
896
938
 
897
- * Duplicate the hash provided to AR::Base#to_xml to prevent unexpected side effects [Koz]
939
+ * Duplicate the hash provided to AR::Base#to_xml to prevent unexpected side effects [Michael Koziarski]
898
940
 
899
- * Add a :namespace option to AR::Base#to_xml [Koz]
941
+ * Add a :namespace option to AR::Base#to_xml [Michael Koziarski]
900
942
 
901
943
  * Deprecation tests. Remove warnings for dynamic finders and for the foo_count method if it's also an attribute. [Jeremy Kemper]
902
944
 
@@ -904,7 +946,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
904
946
 
905
947
  * Improve yaml fixtures error reporting. #6205 [Bruce Williams]
906
948
 
907
- * Rename AR::Base#quote so people can use that name in their models. #3628 [Koz]
949
+ * Rename AR::Base#quote so people can use that name in their models. #3628 [Michael Koziarski]
908
950
 
909
951
  * Add deprecation warning for inferred foreign key. #6029 [Josh Susser]
910
952
 
@@ -918,7 +960,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
918
960
 
919
961
  * to_xml: the :methods option works on arrays of records. #5845 [Josh Starcher]
920
962
 
921
- * Deprecation: update docs. #5998 [jakob@mentalized.net, Kevin Clark]
963
+ * Deprecation: update docs. #5998 [Jakob Skjerning, Kevin Clark]
922
964
 
923
965
  * Add some XmlSerialization tests for ActiveRecord [Rick Olson]
924
966
 
@@ -944,9 +986,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
944
986
 
945
987
  * MySQL: update test schema for MySQL 5 strict mode. #5861 [Tom Ward]
946
988
 
947
- * to_xml: correct naming of included associations. #5831 [josh.starcher@gmail.com]
989
+ * to_xml: correct naming of included associations. #5831 [Josh Starcher]
948
990
 
949
- * Pushing a record onto a has_many :through sets the association's foreign key to the associate's primary key and adds it to the correct association. #5815, #5829 [josh@hasmanythrough.com]
991
+ * Pushing a record onto a has_many :through sets the association's foreign key to the associate's primary key and adds it to the correct association. #5815, #5829 [Josh Susser]
950
992
 
951
993
  * Add records to has_many :through using <<, push, and concat by creating the association record. Raise if base or associate are new records since both ids are required to create the association. #build raises since you can't associate an unsaved record. #create! takes an attributes hash and creates the associated record and its association in a transaction. [Jeremy Kemper]
952
994
 
@@ -962,7 +1004,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
962
1004
 
963
1005
  * Cache nil results for :included has_one associations also. #5787 [Michael Schoen]
964
1006
 
965
- * Fixed a bug which would cause .save to fail after trying to access a empty has_one association on a unsaved record. [Tobias Luetke]
1007
+ * Fixed a bug which would cause .save to fail after trying to access a empty has_one association on a unsaved record. [Tobias Lütke]
966
1008
 
967
1009
  * Nested classes are given table names prefixed by the singular form of the parent's table name. [Jeremy Kemper]
968
1010
  Example: Invoice::Lineitem is given table name invoice_lineitems
@@ -992,7 +1034,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
992
1034
 
993
1035
  * Replace Reloadable with Reloadable::Deprecated. [Nicholas Seckar]
994
1036
 
995
- * Cache nil results for has_one associations so multiple calls don't call the database. Closes #5757. [Michael A. Schoen]
1037
+ * Cache nil results for has_one associations so multiple calls don't call the database. Closes #5757. [Michael Schoen]
996
1038
 
997
1039
  * Add documentation for how to disable timestamps on a per model basis. Closes #5684. [matt@mattmargolis.net Marcel Molina Jr.]
998
1040
 
@@ -1000,9 +1042,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1000
1042
 
1001
1043
  * Refactor ActiveRecord::Base.reset_subclasses to #reset, and add global observer resetting. [Rick Olson]
1002
1044
 
1003
- * Formally deprecate the deprecated finders. [Koz]
1045
+ * Formally deprecate the deprecated finders. [Michael Koziarski]
1004
1046
 
1005
- * Formally deprecate rich associations. [Koz]
1047
+ * Formally deprecate rich associations. [Michael Koziarski]
1006
1048
 
1007
1049
  * Fixed that default timezones for new / initialize should uphold utc setting #5709 [daniluk@yahoo.com]
1008
1050
 
@@ -1036,7 +1078,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1036
1078
 
1037
1079
  * SQLServer: fix db:schema:dump case-sensitivity. #4684 [Will Rogers]
1038
1080
 
1039
- * Oracle: BigDecimal support. #5667 [schoenm@earthlink.net]
1081
+ * Oracle: BigDecimal support. #5667 [Michael Schoen]
1040
1082
 
1041
1083
  * Numeric and decimal columns map to BigDecimal instead of Float. Those with scale 0 map to Integer. #5454 [robbat2@gentoo.org, work@ashleymoran.me.uk]
1042
1084
 
@@ -1052,9 +1094,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1052
1094
 
1053
1095
  * Clearer has_one/belongs_to model names (account has_one :user). #5632 [matt@mattmargolis.net]
1054
1096
 
1055
- * Oracle: use nonblocking queries if allow_concurrency is set, fix pessimistic locking, don't guess date vs. time by default (set OracleAdapter.emulate_dates = true for the old behavior), adapter cleanup. #5635 [schoenm@earthlink.net]
1097
+ * Oracle: use nonblocking queries if allow_concurrency is set, fix pessimistic locking, don't guess date vs. time by default (set OracleAdapter.emulate_dates = true for the old behavior), adapter cleanup. #5635 [Michael Schoen]
1056
1098
 
1057
- * Fixed a few Oracle issues: Allows Oracle's odd date handling to still work consistently within #to_xml, Passes test that hardcode insert statement by dropping the :id column, Updated RUNNING_UNIT_TESTS with Oracle instructions, Corrects method signature for #exec #5294 [schoenm@earthlink.net]
1099
+ * Fixed a few Oracle issues: Allows Oracle's odd date handling to still work consistently within #to_xml, Passes test that hardcode insert statement by dropping the :id column, Updated RUNNING_UNIT_TESTS with Oracle instructions, Corrects method signature for #exec #5294 [Michael Schoen]
1058
1100
 
1059
1101
  * Added :group to available options for finds done on associations #5516 [mike@michaeldewey.org]
1060
1102
 
@@ -1089,9 +1131,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1089
1131
 
1090
1132
  * Use explicit delegation instead of method aliasing for AR::Base.to_param -> AR::Base.id. #5299 (skaes@web.de)
1091
1133
 
1092
- * Refactored ActiveRecord::Base.to_xml to become a delegate for XmlSerializer, which restores sanity to the mega method. This refactoring also reinstates the opinions that type="string" is redundant and ugly and nil-differentiation is not a concern of serialization [DHH]
1134
+ * Refactored ActiveRecord::Base.to_xml to become a delegate for XmlSerializer, which restores sanity to the mega method. This refactoring also reinstates the opinions that type="string" is redundant and ugly and nil-differentiation is not a concern of serialization [David Heinemeier Hansson]
1093
1135
 
1094
- * Added simple hash conditions to find that'll just convert hash to an AND-based condition string #5143 [hcatlin@gmail.com]. Example:
1136
+ * Added simple hash conditions to find that'll just convert hash to an AND-based condition string #5143 [Hampton Catlin]. Example:
1095
1137
 
1096
1138
  Person.find(:all, :conditions => { :last_name => "Catlin", :status => 1 }, :limit => 2)
1097
1139
 
@@ -1122,26 +1164,26 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1122
1164
  Foo.find(:all, :conditions => ['bar_id IN (?)', bars])
1123
1165
  Foo.find(:first, :conditions => ['bar_id = ?', bar])
1124
1166
 
1125
- * Fixed that Base.find :all, :conditions => [ "id IN (?)", collection ] would fail if collection was empty [DHH]
1167
+ * Fixed that Base.find :all, :conditions => [ "id IN (?)", collection ] would fail if collection was empty [David Heinemeier Hansson]
1126
1168
 
1127
- * Add a list of regexes assert_queries skips in the ActiveRecord test suite. [Rick]
1169
+ * Add a list of regexes assert_queries skips in the ActiveRecord test suite. [Rick Olson]
1128
1170
 
1129
- * Fix the has_and_belongs_to_many #create doesn't populate the join for new records. Closes #3692 [josh@hasmanythrough.com]
1171
+ * Fix the has_and_belongs_to_many #create doesn't populate the join for new records. Closes #3692 [Josh Susser]
1130
1172
 
1131
1173
  * Provide Association Extensions access to the instance that the association is being accessed from.
1132
- Closes #4433 [josh@hasmanythrough.com]
1174
+ Closes #4433 [Josh Susser]
1133
1175
 
1134
1176
  * Update OpenBase adaterp's maintainer's email address. Closes #5176. [Derrick Spell]
1135
1177
 
1136
- * Add a quick note about :select and eagerly included associations. [Rick]
1178
+ * Add a quick note about :select and eagerly included associations. [Rick Olson]
1137
1179
 
1138
1180
  * Add docs for the :as option in has_one associations. Closes #5144 [cdcarter@gmail.com]
1139
1181
 
1140
- * Fixed that has_many collections shouldn't load the entire association to do build or create [DHH]
1182
+ * Fixed that has_many collections shouldn't load the entire association to do build or create [David Heinemeier Hansson]
1141
1183
 
1142
- * Added :allow_nil option for aggregations #5091 [ian.w.white@gmail.com]
1184
+ * Added :allow_nil option for aggregations #5091 [Ian White]
1143
1185
 
1144
- * Fix Oracle boolean support and tests. Closes #5139. [schoenm@earthlink.net]
1186
+ * Fix Oracle boolean support and tests. Closes #5139. [Michael Schoen]
1145
1187
 
1146
1188
  * create! no longer blows up when no attributes are passed and a :create scope is in effect (e.g. foo.bars.create! failed whereas foo.bars.create!({}) didn't.) [Jeremy Kemper]
1147
1189
 
@@ -1179,7 +1221,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1179
1221
 
1180
1222
  * Add warning about the proper way to validate the presence of a foreign key. Closes #4147. [Francois Beausoleil <francois.beausoleil@gmail.com>]
1181
1223
 
1182
- * Fix syntax error in documentation. Closes #4679. [mislav@nippur.irb.hr]
1224
+ * Fix syntax error in documentation. Closes #4679. [Mislav Marohnić]
1183
1225
 
1184
1226
  * Add Oracle support for CLOB inserts. Closes #4748. [schoenm@earthlink.net sandra.metz@duke.edu]
1185
1227
 
@@ -1193,14 +1235,14 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1193
1235
 
1194
1236
  * Sybase Adapter type conversion cleanup. Closes #4736. [dev@metacasa.net]
1195
1237
 
1196
- * Fix bug where calculations with long alias names return null. [Rick]
1238
+ * Fix bug where calculations with long alias names return null. [Rick Olson]
1197
1239
 
1198
- * Raise error when trying to add to a has_many :through association. Use the Join Model instead. [Rick]
1240
+ * Raise error when trying to add to a has_many :through association. Use the Join Model instead. [Rick Olson]
1199
1241
 
1200
1242
  @post.tags << @tag # BAD
1201
1243
  @post.taggings.create(:tag => @tag) # GOOD
1202
1244
 
1203
- * Allow all calculations to take the :include option, not just COUNT (closes #4840) [Rick]
1245
+ * Allow all calculations to take the :include option, not just COUNT (closes #4840) [Rick Olson]
1204
1246
 
1205
1247
  * Update inconsistent migrations documentation. #4683 [machomagna@gmail.com]
1206
1248
 
@@ -1208,17 +1250,17 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1208
1250
 
1209
1251
  * Properly quote index names in migrations (closes #4764) [John Long]
1210
1252
 
1211
- * Fix the HasManyAssociation#count method so it uses the new ActiveRecord::Base#count syntax, while maintaining backwards compatibility. [Rick]
1253
+ * Fix the HasManyAssociation#count method so it uses the new ActiveRecord::Base#count syntax, while maintaining backwards compatibility. [Rick Olson]
1212
1254
 
1213
- * Ensure that Associations#include_eager_conditions? checks both scoped and explicit conditions [Rick]
1255
+ * Ensure that Associations#include_eager_conditions? checks both scoped and explicit conditions [Rick Olson]
1214
1256
 
1215
- * Associations#select_limited_ids_list adds the ORDER BY columns to the SELECT DISTINCT List for postgresql. [Rick]
1257
+ * Associations#select_limited_ids_list adds the ORDER BY columns to the SELECT DISTINCT List for postgresql. [Rick Olson]
1216
1258
 
1217
1259
  * DRY up association collection reader method generation. [Marcel Molina Jr.]
1218
1260
 
1219
1261
  * DRY up and tweak style of the validation error object. [Marcel Molina Jr.]
1220
1262
 
1221
- * Add :case_sensitive option to validates_uniqueness_of (closes #3090) [Rick]
1263
+ * Add :case_sensitive option to validates_uniqueness_of (closes #3090) [Rick Olson]
1222
1264
 
1223
1265
  class Account < ActiveRecord::Base
1224
1266
  validates_uniqueness_of :email, :case_sensitive => false
@@ -1243,14 +1285,14 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1243
1285
 
1244
1286
  *1.15.2* (February 5th, 2007)
1245
1287
 
1246
- * Pass a range in :conditions to use the SQL BETWEEN operator. #6974 [dcmanges]
1288
+ * Pass a range in :conditions to use the SQL BETWEEN operator. #6974 [Dan Manges]
1247
1289
  Student.find(:all, :conditions => { :grade => 9..12 })
1248
1290
 
1249
- * Don't create instance writer methods for class attributes. [Rick]
1291
+ * Don't create instance writer methods for class attributes. [Rick Olson]
1250
1292
 
1251
1293
  * When dealing with SQLite3, use the table_info pragma helper, so that the bindings can do some translation for when sqlite3 breaks incompatibly between point releases. [Jamis Buck]
1252
1294
 
1253
- * SQLServer: don't choke on strings containing 'null'. #7083 [Jakob S]
1295
+ * SQLServer: don't choke on strings containing 'null'. #7083 [Jakob Skjerning]
1254
1296
 
1255
1297
  * Consistently use LOWER() for uniqueness validations (rather than mixing with UPPER()) so the database can always use a functional index on the lowercased column. #6495 [Si]
1256
1298
 
@@ -1268,11 +1310,11 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1268
1310
 
1269
1311
  *1.15.0* (January 16th, 2007)
1270
1312
 
1271
- * [DOC] clear up some ambiguity with the way has_and_belongs_to_many creates the default join table name. #7072 [jeremymcanally]
1313
+ * [DOC] clear up some ambiguity with the way has_and_belongs_to_many creates the default join table name. #7072 [Jeremy McAnally]
1272
1314
 
1273
- * change_column accepts :default => nil. Skip column options for primary keys. #6956, #7048 [dcmanges, Jeremy Kemper]
1315
+ * change_column accepts :default => nil. Skip column options for primary keys. #6956, #7048 [Dan Manges, Jeremy Kemper]
1274
1316
 
1275
- * MySQL, PostgreSQL: change_column_default quotes the default value and doesn't lose column type information. #3987, #6664 [Jonathan Viney, manfred, altano@bigfoot.com]
1317
+ * MySQL, PostgreSQL: change_column_default quotes the default value and doesn't lose column type information. #3987, #6664 [Jonathan Viney, Manfred Stienstra, altano@bigfoot.com]
1276
1318
 
1277
1319
  * Oracle: create_table takes a :sequence_name option to override the 'tablename_seq' default. #7000 [Michael Schoen]
1278
1320
 
@@ -1333,15 +1375,15 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1333
1375
 
1334
1376
  * Fix has_many :through to add the appropriate conditions when going through an association using STI. Closes #5783. [Jonathan Viney]
1335
1377
 
1336
- * fix select_limited_ids_list issues in postgresql, retain current behavior in other adapters [Rick]
1378
+ * fix select_limited_ids_list issues in postgresql, retain current behavior in other adapters [Rick Olson]
1337
1379
 
1338
- * Restore eager condition interpolation, document it's differences [Rick]
1380
+ * Restore eager condition interpolation, document it's differences [Rick Olson]
1339
1381
 
1340
1382
  * Don't rollback in teardown unless a transaction was started. Don't start a transaction in create_fixtures if a transaction is started. #6282 [Jacob Fugal, Jeremy Kemper]
1341
1383
 
1342
1384
  * Add #delete support to has_many :through associations. Closes #6049 [Martin Landers]
1343
1385
 
1344
- * Reverted old select_limited_ids_list postgresql fix that caused issues in mysql. Closes #5851 [Rick]
1386
+ * Reverted old select_limited_ids_list postgresql fix that caused issues in mysql. Closes #5851 [Rick Olson]
1345
1387
 
1346
1388
  * Removes the ability for eager loaded conditions to be interpolated, since there is no model instance to use as a context for interpolation. #5553 [turnip@turnipspatch.com]
1347
1389
 
@@ -1349,7 +1391,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1349
1391
 
1350
1392
  * Added update_attributes! which uses save! to raise an exception if a validation error prevents saving #6192 [jonathan]
1351
1393
 
1352
- * Deprecated add_on_boundary_breaking (use validates_length_of instead) #6292 [BobSilva]
1394
+ * Deprecated add_on_boundary_breaking (use validates_length_of instead) #6292 [Bob Silva]
1353
1395
 
1354
1396
  * The has_many create method works with polymorphic associations. #6361 [Dan Peterson]
1355
1397
 
@@ -1365,9 +1407,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1365
1407
 
1366
1408
  * has_one associations with a nil target may be safely marshaled. #6279 [norbauer, Jeremy Kemper]
1367
1409
 
1368
- * Duplicate the hash provided to AR::Base#to_xml to prevent unexpected side effects [Koz]
1410
+ * Duplicate the hash provided to AR::Base#to_xml to prevent unexpected side effects [Michael Koziarski]
1369
1411
 
1370
- * Add a :namespace option to AR::Base#to_xml [Koz]
1412
+ * Add a :namespace option to AR::Base#to_xml [Michael Koziarski]
1371
1413
 
1372
1414
  * Deprecation tests. Remove warnings for dynamic finders and for the foo_count method if it's also an attribute. [Jeremy Kemper]
1373
1415
 
@@ -1375,7 +1417,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1375
1417
 
1376
1418
  * Improve yaml fixtures error reporting. #6205 [Bruce Williams]
1377
1419
 
1378
- * Rename AR::Base#quote so people can use that name in their models. #3628 [Koz]
1420
+ * Rename AR::Base#quote so people can use that name in their models. #3628 [Michael Koziarski]
1379
1421
 
1380
1422
  * Add deprecation warning for inferred foreign key. #6029 [Josh Susser]
1381
1423
 
@@ -1405,9 +1447,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1405
1447
 
1406
1448
  * MySQL: update test schema for MySQL 5 strict mode. #5861 [Tom Ward]
1407
1449
 
1408
- * to_xml: correct naming of included associations. #5831 [josh.starcher@gmail.com]
1450
+ * to_xml: correct naming of included associations. #5831 [Josh Starcher]
1409
1451
 
1410
- * Pushing a record onto a has_many :through sets the association's foreign key to the associate's primary key and adds it to the correct association. #5815, #5829 [josh@hasmanythrough.com]
1452
+ * Pushing a record onto a has_many :through sets the association's foreign key to the associate's primary key and adds it to the correct association. #5815, #5829 [Josh Susser]
1411
1453
 
1412
1454
  * Add records to has_many :through using <<, push, and concat by creating the association record. Raise if base or associate are new records since both ids are required to create the association. #build raises since you can't associate an unsaved record. #create! takes an attributes hash and creates the associated record and its association in a transaction. [Jeremy Kemper]
1413
1455
 
@@ -1423,7 +1465,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1423
1465
 
1424
1466
  * Cache nil results for :included has_one associations also. #5787 [Michael Schoen]
1425
1467
 
1426
- * Fixed a bug which would cause .save to fail after trying to access a empty has_one association on a unsaved record. [Tobias Luetke]
1468
+ * Fixed a bug which would cause .save to fail after trying to access a empty has_one association on a unsaved record. [Tobias Lütke]
1427
1469
 
1428
1470
  * Nested classes are given table names prefixed by the singular form of the parent's table name. [Jeremy Kemper]
1429
1471
  Example: Invoice::Lineitem is given table name invoice_lineitems
@@ -1451,15 +1493,15 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1451
1493
 
1452
1494
  * Replace Reloadable with Reloadable::Deprecated. [Nicholas Seckar]
1453
1495
 
1454
- * Cache nil results for has_one associations so multiple calls don't call the database. Closes #5757. [Michael A. Schoen]
1496
+ * Cache nil results for has_one associations so multiple calls don't call the database. Closes #5757. [Michael Schoen]
1455
1497
 
1456
1498
  * Don't save has_one associations unnecessarily. #5735 [Jonathan Viney]
1457
1499
 
1458
1500
  * Refactor ActiveRecord::Base.reset_subclasses to #reset, and add global observer resetting. [Rick Olson]
1459
1501
 
1460
- * Formally deprecate the deprecated finders. [Koz]
1502
+ * Formally deprecate the deprecated finders. [Michael Koziarski]
1461
1503
 
1462
- * Formally deprecate rich associations. [Koz]
1504
+ * Formally deprecate rich associations. [Michael Koziarski]
1463
1505
 
1464
1506
  * Fixed that default timezones for new / initialize should uphold utc setting #5709 [daniluk@yahoo.com]
1465
1507
 
@@ -1493,7 +1535,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1493
1535
 
1494
1536
  * SQLServer: fix db:schema:dump case-sensitivity. #4684 [Will Rogers]
1495
1537
 
1496
- * Oracle: BigDecimal support. #5667 [schoenm@earthlink.net]
1538
+ * Oracle: BigDecimal support. #5667 [Michael Schoen]
1497
1539
 
1498
1540
  * Numeric and decimal columns map to BigDecimal instead of Float. Those with scale 0 map to Integer. #5454 [robbat2@gentoo.org, work@ashleymoran.me.uk]
1499
1541
 
@@ -1507,9 +1549,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1507
1549
 
1508
1550
  * Clearer has_one/belongs_to model names (account has_one :user). #5632 [matt@mattmargolis.net]
1509
1551
 
1510
- * Oracle: use nonblocking queries if allow_concurrency is set, fix pessimistic locking, don't guess date vs. time by default (set OracleAdapter.emulate_dates = true for the old behavior), adapter cleanup. #5635 [schoenm@earthlink.net]
1552
+ * Oracle: use nonblocking queries if allow_concurrency is set, fix pessimistic locking, don't guess date vs. time by default (set OracleAdapter.emulate_dates = true for the old behavior), adapter cleanup. #5635 [Michael Schoen]
1511
1553
 
1512
- * Fixed a few Oracle issues: Allows Oracle's odd date handling to still work consistently within #to_xml, Passes test that hardcode insert statement by dropping the :id column, Updated RUNNING_UNIT_TESTS with Oracle instructions, Corrects method signature for #exec #5294 [schoenm@earthlink.net]
1554
+ * Fixed a few Oracle issues: Allows Oracle's odd date handling to still work consistently within #to_xml, Passes test that hardcode insert statement by dropping the :id column, Updated RUNNING_UNIT_TESTS with Oracle instructions, Corrects method signature for #exec #5294 [Michael Schoen]
1513
1555
 
1514
1556
  * Added :group to available options for finds done on associations #5516 [mike@michaeldewey.org]
1515
1557
 
@@ -1542,9 +1584,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1542
1584
 
1543
1585
  * Use explicit delegation instead of method aliasing for AR::Base.to_param -> AR::Base.id. #5299 (skaes@web.de)
1544
1586
 
1545
- * Refactored ActiveRecord::Base.to_xml to become a delegate for XmlSerializer, which restores sanity to the mega method. This refactoring also reinstates the opinions that type="string" is redundant and ugly and nil-differentiation is not a concern of serialization [DHH]
1587
+ * Refactored ActiveRecord::Base.to_xml to become a delegate for XmlSerializer, which restores sanity to the mega method. This refactoring also reinstates the opinions that type="string" is redundant and ugly and nil-differentiation is not a concern of serialization [David Heinemeier Hansson]
1546
1588
 
1547
- * Added simple hash conditions to find that'll just convert hash to an AND-based condition string #5143 [hcatlin@gmail.com]. Example:
1589
+ * Added simple hash conditions to find that'll just convert hash to an AND-based condition string #5143 [Hampton Catlin]. Example:
1548
1590
 
1549
1591
  Person.find(:all, :conditions => { :last_name => "Catlin", :status => 1 }, :limit => 2)
1550
1592
 
@@ -1575,26 +1617,26 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1575
1617
  Foo.find(:all, :conditions => ['bar_id IN (?)', bars])
1576
1618
  Foo.find(:first, :conditions => ['bar_id = ?', bar])
1577
1619
 
1578
- * Fixed that Base.find :all, :conditions => [ "id IN (?)", collection ] would fail if collection was empty [DHH]
1620
+ * Fixed that Base.find :all, :conditions => [ "id IN (?)", collection ] would fail if collection was empty [David Heinemeier Hansson]
1579
1621
 
1580
- * Add a list of regexes assert_queries skips in the ActiveRecord test suite. [Rick]
1622
+ * Add a list of regexes assert_queries skips in the ActiveRecord test suite. [Rick Olson]
1581
1623
 
1582
- * Fix the has_and_belongs_to_many #create doesn't populate the join for new records. Closes #3692 [josh@hasmanythrough.com]
1624
+ * Fix the has_and_belongs_to_many #create doesn't populate the join for new records. Closes #3692 [Josh Susser]
1583
1625
 
1584
1626
  * Provide Association Extensions access to the instance that the association is being accessed from.
1585
- Closes #4433 [josh@hasmanythrough.com]
1627
+ Closes #4433 [Josh Susser]
1586
1628
 
1587
1629
  * Update OpenBase adaterp's maintainer's email address. Closes #5176. [Derrick Spell]
1588
1630
 
1589
- * Add a quick note about :select and eagerly included associations. [Rick]
1631
+ * Add a quick note about :select and eagerly included associations. [Rick Olson]
1590
1632
 
1591
1633
  * Add docs for the :as option in has_one associations. Closes #5144 [cdcarter@gmail.com]
1592
1634
 
1593
- * Fixed that has_many collections shouldn't load the entire association to do build or create [DHH]
1635
+ * Fixed that has_many collections shouldn't load the entire association to do build or create [David Heinemeier Hansson]
1594
1636
 
1595
- * Added :allow_nil option for aggregations #5091 [ian.w.white@gmail.com]
1637
+ * Added :allow_nil option for aggregations #5091 [Ian White]
1596
1638
 
1597
- * Fix Oracle boolean support and tests. Closes #5139. [schoenm@earthlink.net]
1639
+ * Fix Oracle boolean support and tests. Closes #5139. [Michael Schoen]
1598
1640
 
1599
1641
  * create! no longer blows up when no attributes are passed and a :create scope is in effect (e.g. foo.bars.create! failed whereas foo.bars.create!({}) didn't.) [Jeremy Kemper]
1600
1642
 
@@ -1620,7 +1662,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1620
1662
 
1621
1663
  * Add warning about the proper way to validate the presence of a foreign key. Closes #4147. [Francois Beausoleil <francois.beausoleil@gmail.com>]
1622
1664
 
1623
- * Fix syntax error in documentation. Closes #4679. [mislav@nippur.irb.hr]
1665
+ * Fix syntax error in documentation. Closes #4679. [Mislav Marohnić]
1624
1666
 
1625
1667
  * Add Oracle support for CLOB inserts. Closes #4748. [schoenm@earthlink.net sandra.metz@duke.edu]
1626
1668
 
@@ -1634,26 +1676,26 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1634
1676
 
1635
1677
  * Sybase Adapter type conversion cleanup. Closes #4736. [dev@metacasa.net]
1636
1678
 
1637
- * Fix bug where calculations with long alias names return null. [Rick]
1679
+ * Fix bug where calculations with long alias names return null. [Rick Olson]
1638
1680
 
1639
- * Raise error when trying to add to a has_many :through association. Use the Join Model instead. [Rick]
1681
+ * Raise error when trying to add to a has_many :through association. Use the Join Model instead. [Rick Olson]
1640
1682
 
1641
1683
  @post.tags << @tag # BAD
1642
1684
  @post.taggings.create(:tag => @tag) # GOOD
1643
1685
 
1644
- * Allow all calculations to take the :include option, not just COUNT (closes #4840) [Rick]
1686
+ * Allow all calculations to take the :include option, not just COUNT (closes #4840) [Rick Olson]
1645
1687
 
1646
1688
  * Add ActiveRecord::Errors#to_xml [Jamis Buck]
1647
1689
 
1648
1690
  * Properly quote index names in migrations (closes #4764) [John Long]
1649
1691
 
1650
- * Fix the HasManyAssociation#count method so it uses the new ActiveRecord::Base#count syntax, while maintaining backwards compatibility. [Rick]
1692
+ * Fix the HasManyAssociation#count method so it uses the new ActiveRecord::Base#count syntax, while maintaining backwards compatibility. [Rick Olson]
1651
1693
 
1652
- * Ensure that Associations#include_eager_conditions? checks both scoped and explicit conditions [Rick]
1694
+ * Ensure that Associations#include_eager_conditions? checks both scoped and explicit conditions [Rick Olson]
1653
1695
 
1654
- * Associations#select_limited_ids_list adds the ORDER BY columns to the SELECT DISTINCT List for postgresql. [Rick]
1696
+ * Associations#select_limited_ids_list adds the ORDER BY columns to the SELECT DISTINCT List for postgresql. [Rick Olson]
1655
1697
 
1656
- * Add :case_sensitive option to validates_uniqueness_of (closes #3090) [Rick]
1698
+ * Add :case_sensitive option to validates_uniqueness_of (closes #3090) [Rick Olson]
1657
1699
 
1658
1700
  class Account < ActiveRecord::Base
1659
1701
  validates_uniqueness_of :email, :case_sensitive => false
@@ -1670,7 +1712,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1670
1712
 
1671
1713
  * Add warning about the proper way to validate the presence of a foreign key. #4147 [Francois Beausoleil <francois.beausoleil@gmail.com>]
1672
1714
 
1673
- * Fix syntax error in documentation. #4679 [mislav@nippur.irb.hr]
1715
+ * Fix syntax error in documentation. #4679 [Mislav Marohnić]
1674
1716
 
1675
1717
  * Update inconsistent migrations documentation. #4683 [machomagna@gmail.com]
1676
1718
 
@@ -1683,9 +1725,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1683
1725
 
1684
1726
  * Properly quote index names in migrations (closes #4764) [John Long]
1685
1727
 
1686
- * Ensure that Associations#include_eager_conditions? checks both scoped and explicit conditions [Rick]
1728
+ * Ensure that Associations#include_eager_conditions? checks both scoped and explicit conditions [Rick Olson]
1687
1729
 
1688
- * Associations#select_limited_ids_list adds the ORDER BY columns to the SELECT DISTINCT List for postgresql. [Rick]
1730
+ * Associations#select_limited_ids_list adds the ORDER BY columns to the SELECT DISTINCT List for postgresql. [Rick Olson]
1689
1731
 
1690
1732
 
1691
1733
  *1.14.2* (April 9th, 2006)
@@ -1699,17 +1741,17 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1699
1741
 
1700
1742
  * Fixed that that multiparameter assignment doesn't work with aggregations (closes #4620) [Lars Pind]
1701
1743
 
1702
- * Enable Limit/Offset in Calculations (closes #4558) [lmarlow@yahoo.com]
1744
+ * Enable Limit/Offset in Calculations (closes #4558) [lmarlow]
1703
1745
 
1704
- * Fixed that loading including associations returns all results if Load IDs For Limited Eager Loading returns none (closes #4528) [Rick]
1746
+ * Fixed that loading including associations returns all results if Load IDs For Limited Eager Loading returns none (closes #4528) [Rick Olson]
1705
1747
 
1706
1748
  * Fixed HasManyAssociation#find bugs when :finder_sql is set #4600 [lagroue@free.fr]
1707
1749
 
1708
- * Allow AR::Base#respond_to? to behave when @attributes is nil [zenspider]
1750
+ * Allow AR::Base#respond_to? to behave when @attributes is nil [Ryan Davis]
1709
1751
 
1710
- * Support eager includes when going through a polymorphic has_many association. [Rick]
1752
+ * Support eager includes when going through a polymorphic has_many association. [Rick Olson]
1711
1753
 
1712
- * Added support for eagerly including polymorphic has_one associations. (closes #4525) [Rick]
1754
+ * Added support for eagerly including polymorphic has_one associations. (closes #4525) [Rick Olson]
1713
1755
 
1714
1756
  class Post < ActiveRecord::Base
1715
1757
  has_one :tagging, :as => :taggable
@@ -1717,9 +1759,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1717
1759
 
1718
1760
  Post.find :all, :include => :tagging
1719
1761
 
1720
- * Added descriptive error messages for invalid has_many :through associations: going through :has_one or :has_and_belongs_to_many [Rick]
1762
+ * Added descriptive error messages for invalid has_many :through associations: going through :has_one or :has_and_belongs_to_many [Rick Olson]
1721
1763
 
1722
- * Added support for going through a polymorphic has_many association: (closes #4401) [Rick]
1764
+ * Added support for going through a polymorphic has_many association: (closes #4401) [Rick Olson]
1723
1765
 
1724
1766
  class PhotoCollection < ActiveRecord::Base
1725
1767
  has_many :photos, :as => :photographic
@@ -1737,36 +1779,36 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1737
1779
 
1738
1780
  * Changed those private ActiveRecord methods to take optional third argument :auto instead of nil for performance optimizations. (closes #4456) [Stefan]
1739
1781
 
1740
- * Private ActiveRecord methods add_limit!, add_joins!, and add_conditions! take an OPTIONAL third argument 'scope' (closes #4456) [Rick]
1782
+ * Private ActiveRecord methods add_limit!, add_joins!, and add_conditions! take an OPTIONAL third argument 'scope' (closes #4456) [Rick Olson]
1741
1783
 
1742
- * DEPRECATED: Using additional attributes on has_and_belongs_to_many associations. Instead upgrade your association to be a real join model [DHH]
1784
+ * DEPRECATED: Using additional attributes on has_and_belongs_to_many associations. Instead upgrade your association to be a real join model [David Heinemeier Hansson]
1743
1785
 
1744
- * Fixed that records returned from has_and_belongs_to_many associations with additional attributes should be marked as read only (fixes #4512) [DHH]
1786
+ * Fixed that records returned from has_and_belongs_to_many associations with additional attributes should be marked as read only (fixes #4512) [David Heinemeier Hansson]
1745
1787
 
1746
1788
  * Do not implicitly mark recordss of has_many :through as readonly but do mark habtm records as readonly (eventually only on join tables without rich attributes). [Marcel Mollina Jr.]
1747
1789
 
1748
- * Fixed broken OCIAdapter #4457 [schoenm@earthlink.net]
1790
+ * Fixed broken OCIAdapter #4457 [Michael Schoen]
1749
1791
 
1750
1792
 
1751
1793
  *1.14.0* (March 27th, 2006)
1752
1794
 
1753
1795
  * Replace 'rescue Object' with a finer grained rescue. Closes #4431. [Nicholas Seckar]
1754
1796
 
1755
- * Fixed eager loading so that an aliased table cannot clash with a has_and_belongs_to_many join table [Rick]
1797
+ * Fixed eager loading so that an aliased table cannot clash with a has_and_belongs_to_many join table [Rick Olson]
1756
1798
 
1757
1799
  * Add support for :include to with_scope [andrew@redlinesoftware.com]
1758
1800
 
1759
- * Support the use of public synonyms with the Oracle adapter; required ruby-oci8 v0.1.14 #4390 [schoenm@earthlink.net]
1801
+ * Support the use of public synonyms with the Oracle adapter; required ruby-oci8 v0.1.14 #4390 [Michael Schoen]
1760
1802
 
1761
1803
  * Change periods (.) in table aliases to _'s. Closes #4251 [jeff@ministrycentered.com]
1762
1804
 
1763
- * Changed has_and_belongs_to_many join to INNER JOIN for Mysql 3.23.x. Closes #4348 [Rick]
1805
+ * Changed has_and_belongs_to_many join to INNER JOIN for Mysql 3.23.x. Closes #4348 [Rick Olson]
1764
1806
 
1765
- * Fixed issue that kept :select options from being scoped [Rick]
1807
+ * Fixed issue that kept :select options from being scoped [Rick Olson]
1766
1808
 
1767
- * Fixed db_schema_import when binary types are present #3101 [DHH]
1809
+ * Fixed db_schema_import when binary types are present #3101 [David Heinemeier Hansson]
1768
1810
 
1769
- * Fixed that MySQL enums should always be returned as strings #3501 [DHH]
1811
+ * Fixed that MySQL enums should always be returned as strings #3501 [David Heinemeier Hansson]
1770
1812
 
1771
1813
  * Change has_many :through to use the :source option to specify the source association. :class_name is now ignored. [Rick Olson]
1772
1814
 
@@ -1797,13 +1839,13 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1797
1839
  end
1798
1840
  end
1799
1841
 
1800
- * Fixed that schema changes while the database was open would break any connections to a SQLite database (now we reconnect if that error is throw) [DHH]
1842
+ * Fixed that schema changes while the database was open would break any connections to a SQLite database (now we reconnect if that error is throw) [David Heinemeier Hansson]
1801
1843
 
1802
- * Don't classify the has_one class when eager loading, it is already singular. Add tests. (closes #4117) [jonathan@bluewire.net.nz]
1844
+ * Don't classify the has_one class when eager loading, it is already singular. Add tests. (closes #4117) [Jonathan Viney]
1803
1845
 
1804
1846
  * Quit ignoring default :include options in has_many :through calls [Mark James]
1805
1847
 
1806
- * Allow has_many :through associations to find the source association by setting a custom class (closes #4307) [jonathan@bluewire.net.nz]
1848
+ * Allow has_many :through associations to find the source association by setting a custom class (closes #4307) [Jonathan Viney]
1807
1849
 
1808
1850
  * Eager Loading support added for has_many :through => :has_many associations (see below). [Rick Olson]
1809
1851
 
@@ -1823,13 +1865,13 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1823
1865
  belongs_to :client
1824
1866
  end
1825
1867
 
1826
- * Raise error when trying to select many polymorphic objects with has_many :through or :include (closes #4226) [josh@hasmanythrough.com]
1868
+ * Raise error when trying to select many polymorphic objects with has_many :through or :include (closes #4226) [Josh Susser]
1827
1869
 
1828
- * Fixed has_many :through to include :conditions set on the :through association. closes #4020 [jonathan@bluewire.net.nz]
1870
+ * Fixed has_many :through to include :conditions set on the :through association. closes #4020 [Jonathan Viney]
1829
1871
 
1830
- * Fix that has_many :through honors the foreign key set by the belongs_to association in the join model (closes #4259) [andylien@gmail.com / Rick]
1872
+ * Fix that has_many :through honors the foreign key set by the belongs_to association in the join model (closes #4259) [andylien@gmail.com / Rick Olson]
1831
1873
 
1832
- * SQL Server adapter gets some love #4298 [rtomayko@gmail.com]
1874
+ * SQL Server adapter gets some love #4298 [Ryan Tomayko]
1833
1875
 
1834
1876
  * Added OpenBase database adapter that builds on top of the http://www.spice-of-life.net/ruby-openbase/ driver. All functionality except LIMIT/OFFSET is supported #3528 [derrickspell@cdmplus.com]
1835
1877
 
@@ -1837,27 +1879,27 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1837
1879
 
1838
1880
  Author.find(:all, :include => { :posts => :special_comments }, :order => 'special_comments.body')
1839
1881
 
1840
- * Add AbstractAdapter#table_alias_for to create table aliases according to the rules of the current adapter. [Rick]
1882
+ * Add AbstractAdapter#table_alias_for to create table aliases according to the rules of the current adapter. [Rick Olson]
1841
1883
 
1842
- * Provide access to the underlying database connection through Adapter#raw_connection. Enables the use of db-specific methods without complicating the adapters. #2090 [Koz]
1884
+ * Provide access to the underlying database connection through Adapter#raw_connection. Enables the use of db-specific methods without complicating the adapters. #2090 [Michael Koziarski]
1843
1885
 
1844
- * Remove broken attempts at handling columns with a default of 'now()' in the postgresql adapter. #2257 [Koz]
1886
+ * Remove broken attempts at handling columns with a default of 'now()' in the postgresql adapter. #2257 [Michael Koziarski]
1845
1887
 
1846
- * Added connection#current_database that'll return of the current database (only works in MySQL, SQL Server, and Oracle so far -- please help implement for the rest of the adapters) #3663 [Tom ward]
1888
+ * Added connection#current_database that'll return of the current database (only works in MySQL, SQL Server, and Oracle so far -- please help implement for the rest of the adapters) #3663 [Tom Ward]
1847
1889
 
1848
1890
  * Fixed that Migration#execute would have the table name prefix appended to its query #4110 [mark.imbriaco@pobox.com]
1849
1891
 
1850
1892
  * Make all tinyint(1) variants act like boolean in mysql (tinyint(1) unsigned, etc.) [Jamis Buck]
1851
1893
 
1852
- * Use association's :conditions when eager loading. [jeremyevans0@gmail.com] #4144
1894
+ * Use association's :conditions when eager loading. [Jeremy Evans] #4144
1853
1895
 
1854
- * Alias the has_and_belongs_to_many join table on eager includes. #4106 [jeremyevans0@gmail.com]
1896
+ * Alias the has_and_belongs_to_many join table on eager includes. #4106 [Jeremy Evans]
1855
1897
 
1856
1898
  This statement would normally error because the projects_developers table is joined twice, and therefore joined_on would be ambiguous.
1857
1899
 
1858
1900
  Developer.find(:all, :include => {:projects => :developers}, :conditions => 'join_project_developers.joined_on IS NOT NULL')
1859
1901
 
1860
- * Oracle adapter gets some love #4230 [schoenm@earthlink.net]
1902
+ * Oracle adapter gets some love #4230 [Michael Schoen]
1861
1903
 
1862
1904
  * Changes :text to CLOB rather than BLOB [Moses Hohman]
1863
1905
  * Fixes an issue with nil numeric length/scales (several)
@@ -1892,7 +1934,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1892
1934
  has_many :attachments, :as => :attachable, :dependent => :delete_all
1893
1935
  end
1894
1936
 
1895
- * Nicer error message on has_many :through when :through reflection can not be found. #4042 [court3nay@gmail.com]
1937
+ * Nicer error message on has_many :through when :through reflection can not be found. #4042 [court3nay]
1896
1938
 
1897
1939
  * Upgrade to Transaction::Simple 1.3 [Jamis Buck]
1898
1940
 
@@ -1904,7 +1946,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
1904
1946
 
1905
1947
  * Dynamically set allow_concurrency. #4044 [Stefan Kaes]
1906
1948
 
1907
- * Added Base#to_xml that'll turn the current record into a XML representation [DHH]. Example:
1949
+ * Added Base#to_xml that'll turn the current record into a XML representation [David Heinemeier Hansson]. Example:
1908
1950
 
1909
1951
  topic.to_xml
1910
1952
 
@@ -2039,9 +2081,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2039
2081
 
2040
2082
  * CHANGED DEFAULT: set ActiveRecord::Base.allow_concurrency to false. Most AR usage is in single-threaded applications. [Jeremy Kemper]
2041
2083
 
2042
- * Renamed the "oci" adapter to "oracle", but kept the old name as an alias #4017 [schoenm@earthlink.net]
2084
+ * Renamed the "oci" adapter to "oracle", but kept the old name as an alias #4017 [Michael Schoen]
2043
2085
 
2044
- * Fixed that Base.save should always return false if the save didn't succeed, including if it has halted by before_save's #1861, #2477 [DHH]
2086
+ * Fixed that Base.save should always return false if the save didn't succeed, including if it has halted by before_save's #1861, #2477 [David Heinemeier Hansson]
2045
2087
 
2046
2088
  * Speed up class -> connection caching and stale connection verification. #3979 [Stefan Kaes]
2047
2089
 
@@ -2049,7 +2091,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2049
2091
 
2050
2092
  * Added that fixtures to placed in subdirectories of the main fixture files are also loaded #3937 [dblack@wobblini.net]
2051
2093
 
2052
- * Define attribute query methods to avoid method_missing calls. #3677 [jonathan@bluewire.net.nz]
2094
+ * Define attribute query methods to avoid method_missing calls. #3677 [Jonathan Viney]
2053
2095
 
2054
2096
  * ActiveRecord::Base.remove_connection explicitly closes database connections and doesn't corrupt the connection cache. Introducing the disconnect! instance method for the PostgreSQL, MySQL, and SQL Server adapters; implementations for the others are welcome. #3591 [Simon Stapleton, Tom Ward]
2055
2097
 
@@ -2073,7 +2115,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2073
2115
 
2074
2116
  * Fixed validates_length_of to work on UTF-8 strings by using characters instead of bytes #3699 [Masao Mutoh]
2075
2117
 
2076
- * Fixed that reflections would bleed across class boundaries in single-table inheritance setups #3796 [lars@pind.com]
2118
+ * Fixed that reflections would bleed across class boundaries in single-table inheritance setups #3796 [Lars Pind]
2077
2119
 
2078
2120
  * Added calculations: Base.count, Base.average, Base.sum, Base.minimum, Base.maxmium, and the generic Base.calculate. All can be used with :group and :having. Calculations and statitics need no longer require custom SQL. #3958 [Rick Olson]. Examples:
2079
2121
 
@@ -2082,7 +2124,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2082
2124
  Person.maximum :age
2083
2125
  Person.sum :salary, :group => :last_name
2084
2126
 
2085
- * Renamed Errors#count to Errors#size but kept an alias for the old name (and included an alias for length too) #3920 [contact@lukeredpath.co.uk]
2127
+ * Renamed Errors#count to Errors#size but kept an alias for the old name (and included an alias for length too) #3920 [Luke Redpath]
2086
2128
 
2087
2129
  * Reflections don't attempt to resolve module nesting of association classes. Simplify type computation. [Jeremy Kemper]
2088
2130
 
@@ -2090,7 +2132,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2090
2132
 
2091
2133
  * Fixed that the schema_info table used by ActiveRecord::Schema.define should respect table pre- and suffixes #3834 [rubyonrails@atyp.de]
2092
2134
 
2093
- * Added :select option to Base.count that'll allow you to select something else than * to be counted on. Especially important for count queries using DISTINCT #3839 [skaes]
2135
+ * Added :select option to Base.count that'll allow you to select something else than * to be counted on. Especially important for count queries using DISTINCT #3839 [Stefan Kaes]
2094
2136
 
2095
2137
  * Correct syntax error in mysql DDL, and make AAACreateTablesTest run first [Bob Silva]
2096
2138
 
@@ -2106,19 +2148,19 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2106
2148
 
2107
2149
  * Fix problems with count when used with :include [Jeremy Hopple and Kevin Clark]
2108
2150
 
2109
- * ActiveRecord::RecordInvalid now states which validations failed in its default error message [Tobias Luetke]
2151
+ * ActiveRecord::RecordInvalid now states which validations failed in its default error message [Tobias Lütke]
2110
2152
 
2111
- * Using AssociationCollection#build with arrays of hashes should call build, not create [DHH]
2153
+ * Using AssociationCollection#build with arrays of hashes should call build, not create [David Heinemeier Hansson]
2112
2154
 
2113
2155
  * Remove definition of reloadable? from ActiveRecord::Base to make way for new Reloadable code. [Nicholas Seckar]
2114
2156
 
2115
2157
  * Fixed schema handling for DB2 adapter that didn't work: an initial schema could be set, but it wasn't used when getting tables and indexes #3678 [Maik Schmidt]
2116
2158
 
2117
- * Support the :column option for remove_index with the PostgreSQL adapter. #3661 [shugo@ruby-lang.org]
2159
+ * Support the :column option for remove_index with the PostgreSQL adapter. #3661 [Shugo Maeda]
2118
2160
 
2119
2161
  * Add documentation for add_index and remove_index. #3600 [Manfred Stienstra <m.stienstra@fngtps.com>]
2120
2162
 
2121
- * If the OCI library is not available, raise an exception indicating as much. #3593 [schoenm@earthlink.net]
2163
+ * If the OCI library is not available, raise an exception indicating as much. #3593 [Michael Schoen]
2122
2164
 
2123
2165
  * Add explicit :order in finder tests as postgresql orders results differently by default. #3577. [Rick Olson]
2124
2166
 
@@ -2126,7 +2168,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2126
2168
 
2127
2169
  * Show a meaningful error when the DB2 adapter cannot be loaded due to missing dependencies. [Nicholas Seckar]
2128
2170
 
2129
- * Make .count work for has_many associations with multi line finder sql [schoenm@earthlink.net]
2171
+ * Make .count work for has_many associations with multi line finder sql [Michael Schoen]
2130
2172
 
2131
2173
  * Add AR::Base.base_class for querying the ancestor AR::Base subclass [Jamis Buck]
2132
2174
 
@@ -2134,13 +2176,13 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2134
2176
 
2135
2177
  * Don't hardcode 'id' in acts as list. [ror@philippeapril.com]
2136
2178
 
2137
- * Fix date errors for SQLServer in association tests. #3406 [kevin.clark@gmal.com]
2179
+ * Fix date errors for SQLServer in association tests. #3406 [Kevin Clark]
2138
2180
 
2139
2181
  * Escape database name in MySQL adapter when creating and dropping databases. #3409 [anna@wota.jp]
2140
2182
 
2141
2183
  * Disambiguate table names for columns in validates_uniquness_of's WHERE clause. #3423 [alex.borovsky@gmail.com]
2142
2184
 
2143
- * .with_scope imposed create parameters now bypass attr_protected [Tobias Luetke]
2185
+ * .with_scope imposed create parameters now bypass attr_protected [Tobias Lütke]
2144
2186
 
2145
2187
  * Don't raise an exception when there are more keys than there are named bind variables when sanitizing conditions. [Marcel Molina Jr.]
2146
2188
 
@@ -2148,25 +2190,25 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2148
2190
 
2149
2191
  * Sanitize scoped conditions. [Marcel Molina Jr.]
2150
2192
 
2151
- * Added option to Base.reflection_of_all_associations to specify a specific association to scope the call. For example Base.reflection_of_all_associations(:has_many) [DHH]
2193
+ * Added option to Base.reflection_of_all_associations to specify a specific association to scope the call. For example Base.reflection_of_all_associations(:has_many) [David Heinemeier Hansson]
2152
2194
 
2153
- * Added ActiveRecord::SchemaDumper.ignore_tables which tells SchemaDumper which tables to ignore. Useful for tables with funky column like the ones required for tsearch2. [TobiasLuetke]
2195
+ * Added ActiveRecord::SchemaDumper.ignore_tables which tells SchemaDumper which tables to ignore. Useful for tables with funky column like the ones required for tsearch2. [Tobias Lütke]
2154
2196
 
2155
- * SchemaDumper now doesn't fail anymore when there are unknown column types in the schema. Instead the table is ignored and a Comment is left in the schema.rb. [TobiasLuetke]
2197
+ * SchemaDumper now doesn't fail anymore when there are unknown column types in the schema. Instead the table is ignored and a Comment is left in the schema.rb. [Tobias Lütke]
2156
2198
 
2157
2199
  * Fixed that saving a model with multiple habtm associations would only save the first one. #3244 [yanowitz-rubyonrails@quantumfoam.org, Florian Weber]
2158
2200
 
2159
2201
  * Fix change_column to work with PostgreSQL 7.x and 8.x. #3141 [wejn@box.cz, Rick Olson, Scott Barron]
2160
2202
 
2161
- * removed :piggyback in favor of just allowing :select on :through associations. [Tobias Luetke]
2203
+ * removed :piggyback in favor of just allowing :select on :through associations. [Tobias Lütke]
2162
2204
 
2163
- * made method missing delegation to class methods on relation target work on :through associations. [Tobias Luetke]
2205
+ * made method missing delegation to class methods on relation target work on :through associations. [Tobias Lütke]
2164
2206
 
2165
- * made .find() work on :through relations. [Tobias Luetke]
2207
+ * made .find() work on :through relations. [Tobias Lütke]
2166
2208
 
2167
2209
  * Fix typo in association docs. #3296. [Blair Zajac]
2168
2210
 
2169
- * Fixed :through relations when using STI inherited classes would use the inherited class's name as foreign key on the join model [Tobias Luetke]
2211
+ * Fixed :through relations when using STI inherited classes would use the inherited class's name as foreign key on the join model [Tobias Lütke]
2170
2212
 
2171
2213
  *1.13.2* (December 13th, 2005)
2172
2214
 
@@ -2174,7 +2216,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2174
2216
 
2175
2217
  * MySQL: allow encoding option for mysql.rb driver. [Jeremy Kemper]
2176
2218
 
2177
- * Added option inheritance for find calls on has_and_belongs_to_many and has_many assosociations [DHH]. Example:
2219
+ * Added option inheritance for find calls on has_and_belongs_to_many and has_many assosociations [David Heinemeier Hansson]. Example:
2178
2220
 
2179
2221
  class Post
2180
2222
  has_many :recent_comments, :class_name => "Comment", :limit => 10, :include => :author
@@ -2184,7 +2226,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2184
2226
  post.recent_comments.find(:all, :limit => nil) # Uses no limit but include authors
2185
2227
  post.recent_comments.find(:all, :limit => nil, :include => nil) # Uses no limit and doesn't include authors
2186
2228
 
2187
- * Added option to specify :group, :limit, :offset, and :select options from find on has_and_belongs_to_many and has_many assosociations [DHH]
2229
+ * Added option to specify :group, :limit, :offset, and :select options from find on has_and_belongs_to_many and has_many assosociations [David Heinemeier Hansson]
2188
2230
 
2189
2231
  * MySQL: fixes for the bundled mysql.rb driver. #3160 [Justin Forder]
2190
2232
 
@@ -2212,9 +2254,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2212
2254
 
2213
2255
  * MySQL: work around ruby-mysql/mysql-ruby inconsistency with mysql.stat. Eliminate usage of mysql.ping because it doesn't guarantee reconnect. Explicitly close and reopen the connection instead. [Jeremy Kemper]
2214
2256
 
2215
- * Added preliminary support for polymorphic associations [DHH]
2257
+ * Added preliminary support for polymorphic associations [David Heinemeier Hansson]
2216
2258
 
2217
- * Added preliminary support for join models [DHH]
2259
+ * Added preliminary support for join models [David Heinemeier Hansson]
2218
2260
 
2219
2261
  * Allow validate_uniqueness_of to be scoped by more than just one column. #1559. [jeremy@jthopple.com, Marcel Molina Jr.]
2220
2262
 
@@ -2240,7 +2282,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2240
2282
 
2241
2283
  * Add tasks to create, drop and rebuild the MySQL and PostgreSQL test databases. [Marcel Molina Jr.]
2242
2284
 
2243
- * Correct boolean handling in generated reader methods. #2945 [don.park@gmail.com, Stefan Kaes]
2285
+ * Correct boolean handling in generated reader methods. #2945 [Don Park, Stefan Kaes]
2244
2286
 
2245
2287
  * Don't generate read methods for columns whose names are not valid ruby method names. #2946 [Stefan Kaes]
2246
2288
 
@@ -2288,7 +2330,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2288
2330
 
2289
2331
  * Fix sqlite adaptor's detection of missing dbfile or database declaration. [Nicholas Seckar]
2290
2332
 
2291
- * Fixed acts_as_list for definitions without an explicit :order #2803 [jonathan@bluewire.net.nz]
2333
+ * Fixed acts_as_list for definitions without an explicit :order #2803 [Jonathan Viney]
2292
2334
 
2293
2335
  * Upgrade bundled ruby-mysql 0.2.4 with mysql411 shim (see #440) to ruby-mysql 0.2.6 with a patchset for 4.1 protocol support. Local change [301] is now a part of the main driver; reapplied local change [2182]. Removed GC.start from Result.free. [tommy@tmtm.org, akuroda@gmail.com, Doug Fales <doug.fales@gmail.com>, Jeremy Kemper]
2294
2336
 
@@ -2307,7 +2349,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2307
2349
 
2308
2350
  * Fixed faulty regex in get_table_name method (SQLServerAdapter) #2639 [Ryan Tomayko]
2309
2351
 
2310
- * Added :include as an option for association declarations [DHH]. Example:
2352
+ * Added :include as an option for association declarations [David Heinemeier Hansson]. Example:
2311
2353
 
2312
2354
  has_many :posts, :include => [ :author, :comments ]
2313
2355
 
@@ -2322,7 +2364,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2322
2364
 
2323
2365
  * Fixed that SQL Server should ignore :size declarations on anything but integer and string in the agnostic schema representation #2756 [Ryan Tomayko]
2324
2366
 
2325
- * Added constrain scoping for creates using a hash of attributes bound to the :creation key [DHH]. Example:
2367
+ * Added constrain scoping for creates using a hash of attributes bound to the :creation key [David Heinemeier Hansson]. Example:
2326
2368
 
2327
2369
  Comment.constrain(:creation => { :post_id => 5 }) do
2328
2370
  # Associated with :post_id
@@ -2334,7 +2376,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2334
2376
  # If the tag doesn't exist, a new one is created that's associated with the person
2335
2377
  person.tags.find_or_create_by_name("Summer")
2336
2378
 
2337
- * Added find_or_create_by_X as a second type of dynamic finder that'll create the record if it doesn't already exist [DHH]. Example:
2379
+ * Added find_or_create_by_X as a second type of dynamic finder that'll create the record if it doesn't already exist [David Heinemeier Hansson]. Example:
2338
2380
 
2339
2381
  # No 'Summer' tag exists
2340
2382
  Tag.find_or_create_by_name("Summer") # equal to Tag.create(:name => "Summer")
@@ -2342,7 +2384,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2342
2384
  # Now the 'Summer' tag does exist
2343
2385
  Tag.find_or_create_by_name("Summer") # equal to Tag.find_by_name("Summer")
2344
2386
 
2345
- * Added extension capabilities to has_many and has_and_belongs_to_many proxies [DHH]. Example:
2387
+ * Added extension capabilities to has_many and has_and_belongs_to_many proxies [David Heinemeier Hansson]. Example:
2346
2388
 
2347
2389
  class Account < ActiveRecord::Base
2348
2390
  has_many :people do
@@ -2361,9 +2403,9 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2361
2403
 
2362
2404
  Note that the anoymous module must be declared using brackets, not do/end (due to order of evaluation).
2363
2405
 
2364
- * Omit internal dtproperties table from SQLServer table list. #2729 [rtomayko@gmail.com]
2406
+ * Omit internal dtproperties table from SQLServer table list. #2729 [Ryan Tomayko]
2365
2407
 
2366
- * Quote column names in generated SQL. #2728 [rtomayko@gmail.com]
2408
+ * Quote column names in generated SQL. #2728 [Ryan Tomayko]
2367
2409
 
2368
2410
  * Correct the pure-Ruby MySQL 4.1.1 shim's version test. #2718 [Jeremy Kemper]
2369
2411
 
@@ -2377,7 +2419,7 @@ during calendar reform. #7649, #7724 [fedot, Geoff Buesing]
2377
2419
 
2378
2420
  * Worked around that connection can't be reset if allow_concurrency is off. #2648 [Michael Schoen <schoenm@earthlink.net>]
2379
2421
 
2380
- * Fixed SQL Server adapter to pass even more tests and do even better #2634 [rtomayko@gmail.com]
2422
+ * Fixed SQL Server adapter to pass even more tests and do even better #2634 [Ryan Tomayko]
2381
2423
 
2382
2424
  * Fixed SQL Server adapter so it honors options[:conditions] when applying :limits #1978 [Tom Ward]
2383
2425
 
@@ -2390,18 +2432,18 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2390
2432
 
2391
2433
  * Added :offset and :limit to the kinds of options that Base.constrain can use #2466 [duane.johnson@gmail.com]
2392
2434
 
2393
- * Fixed handling of nil number columns on Oracle and cleaned up tests for Oracle in general #2555 [schoenm@earthlink.net]
2435
+ * Fixed handling of nil number columns on Oracle and cleaned up tests for Oracle in general #2555 [Michael Schoen]
2394
2436
 
2395
2437
  * Added quoted_true and quoted_false methods and tables to db2_adapter and cleaned up tests for DB2 #2493, #2624 [maik schmidt]
2396
2438
 
2397
2439
 
2398
2440
  *1.12.2* (October 26th, 2005)
2399
2441
 
2400
- * Allow symbols to rename columns when using SQLite adapter. #2531 [kevin.clark@gmail.com]
2442
+ * Allow symbols to rename columns when using SQLite adapter. #2531 [Kevin Clark]
2401
2443
 
2402
2444
  * Map Active Record time to SQL TIME. #2575, #2576 [Robby Russell <robby@planetargon.com>]
2403
2445
 
2404
- * Clarify semantics of ActiveRecord::Base#respond_to? #2560 [skaes@web.de]
2446
+ * Clarify semantics of ActiveRecord::Base#respond_to? #2560 [Stefan Kaes]
2405
2447
 
2406
2448
  * Fixed Association#clear for associations which have not yet been accessed. #2524 [Patrick Lenz <patrick@lenz.sh>]
2407
2449
 
@@ -2455,25 +2497,25 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2455
2497
 
2456
2498
  * Add test coverage for content_columns. #2432. [coffee2code]
2457
2499
 
2458
- * Speed up for unthreaded environments. #2431. [skaes@web.de]
2500
+ * Speed up for unthreaded environments. #2431. [Stefan Kaes]
2459
2501
 
2460
- * Optimization for Mysql selects using mysql-ruby extension greater than 2.6.3. #2426. [skaes@web.de]
2502
+ * Optimization for Mysql selects using mysql-ruby extension greater than 2.6.3. #2426. [Stefan Kaes]
2461
2503
 
2462
- * Speed up the setting of table_name. #2428. [skaes@web.de]
2504
+ * Speed up the setting of table_name. #2428. [Stefan Kaes]
2463
2505
 
2464
- * Optimize instantiation of STI subclass records. In partial fullfilment of #1236. [skaes@web.de]
2506
+ * Optimize instantiation of STI subclass records. In partial fullfilment of #1236. [Stefan Kaes]
2465
2507
 
2466
2508
  * Fix typo of 'constrains' to 'contraints'. #2069. [Michael Schuerig <michael@schuerig.de>]
2467
2509
 
2468
- * Optimization refactoring for add_limit_offset!. In partial fullfilment of #1236. [skaes@web.de]
2510
+ * Optimization refactoring for add_limit_offset!. In partial fullfilment of #1236. [Stefan Kaes]
2469
2511
 
2470
2512
  * Add ability to get all siblings, including the current child, with acts_as_tree. Recloses #2140. [Michael Schuerig <michael@schuerig.de>]
2471
2513
 
2472
- * Add geometric type for postgresql adapter. #2233 [akaspick@gmail.com]
2514
+ * Add geometric type for postgresql adapter. #2233 [Andrew Kaspick]
2473
2515
 
2474
- * Add option (true by default) to generate reader methods for each attribute of a record to avoid the overhead of calling method missing. In partial fullfilment of #1236. [skaes@web.de]
2516
+ * Add option (true by default) to generate reader methods for each attribute of a record to avoid the overhead of calling method missing. In partial fullfilment of #1236. [Stefan Kaes]
2475
2517
 
2476
- * Add convenience predicate methods on Column class. In partial fullfilment of #1236. [skaes@web.de]
2518
+ * Add convenience predicate methods on Column class. In partial fullfilment of #1236. [Stefan Kaes]
2477
2519
 
2478
2520
  * Raise errors when invalid hash keys are passed to ActiveRecord::Base.find. #2363 [Chad Fowler <chad@chadfowler.com>, Nicholas Seckar]
2479
2521
 
@@ -2498,7 +2540,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2498
2540
  * Make update_attribute use the same writer method that update_attributes uses.
2499
2541
  #2237 [trevor@protocool.com]
2500
2542
 
2501
- * Make migrations honor table name prefixes and suffixes. #2298 [Jakob S, Marcel Molina]
2543
+ * Make migrations honor table name prefixes and suffixes. #2298 [Jakob Skjerning, Marcel Molina Jr.]
2502
2544
 
2503
2545
  * Correct and optimize PostgreSQL bytea escaping. #1745, #1837 [dave@cherryville.org, ken@miriamtech.com, bellis@deepthought.org]
2504
2546
 
@@ -2506,7 +2548,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2506
2548
 
2507
2549
  * Standardize the interpretation of boolean columns in the Mysql and Sqlite adapters. (Use MysqlAdapter.emulate_booleans = false to disable this behavior)
2508
2550
 
2509
- * Added new symbol-driven approach to activating observers with Base#observers= [DHH]. Example:
2551
+ * Added new symbol-driven approach to activating observers with Base#observers= [David Heinemeier Hansson]. Example:
2510
2552
 
2511
2553
  ActiveRecord::Base.observers = :cacher, :garbage_collector
2512
2554
 
@@ -2522,19 +2564,19 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2522
2564
 
2523
2565
  * Fixed that the create_x method from belongs_to wouldn't save the association properly #2042 [Florian Weber]
2524
2566
 
2525
- * Fixed saving a record with two unsaved belongs_to associations pointing to the same object #2023 [Tobias Luetke]
2567
+ * Fixed saving a record with two unsaved belongs_to associations pointing to the same object #2023 [Tobias Lütke]
2526
2568
 
2527
2569
  * Improved migrations' behavior when the schema_info table is empty. [Nicholas Seckar]
2528
2570
 
2529
2571
  * Fixed that Observers didn't observe sub-classes #627 [Florian Weber]
2530
2572
 
2531
- * Fix eager loading error messages, allow :include to specify tables using strings or symbols. Closes #2222 [Marcel Molina]
2573
+ * Fix eager loading error messages, allow :include to specify tables using strings or symbols. Closes #2222 [Marcel Molina Jr.]
2532
2574
 
2533
2575
  * Added check for RAILS_CONNECTION_ADAPTERS on startup and only load the connection adapters specified within if its present (available in Rails through config.connection_adapters using the new config) #1958 [skae]
2534
2576
 
2535
2577
  * Fixed various problems with has_and_belongs_to_many when using customer finder_sql #2094 [Florian Weber]
2536
2578
 
2537
- * Added better exception error when unknown column types are used with migrations #1814 [fbeausoleil@ftml.net]
2579
+ * Added better exception error when unknown column types are used with migrations #1814 [François Beausoleil]
2538
2580
 
2539
2581
  * Fixed "connection lost" issue with the bundled Ruby/MySQL driver (would kill the app after 8 hours of inactivity) #2163, #428 [kajism@yahoo.com]
2540
2582
 
@@ -2550,13 +2592,13 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2550
2592
 
2551
2593
  * Make sure the schema_info table is created before querying the current version #1903
2552
2594
 
2553
- * Fixtures ignore table name prefix and suffix #1987 [Jakob S]
2595
+ * Fixtures ignore table name prefix and suffix #1987 [Jakob Skjerning]
2554
2596
 
2555
- * Add documentation for index_type argument to add_index method for migrations #2005 [blaine@odeo.com]
2597
+ * Add documentation for index_type argument to add_index method for migrations #2005 [Blaine]
2556
2598
 
2557
2599
  * Modify read_attribute to allow a symbol argument #2024 [Ken Kunz]
2558
2600
 
2559
- * Make destroy return self #1913 [sebastian.kanthak@muehlheim.de]
2601
+ * Make destroy return self #1913 [Sebastian Kanthak]
2560
2602
 
2561
2603
  * Fix typo in validations documentation #1938 [court3nay]
2562
2604
 
@@ -2578,7 +2620,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2578
2620
 
2579
2621
  * Fixed the handling of multiple blob columns in Oracle if one or more of them are null #1798
2580
2622
 
2581
- * Added support for calling constrained class methods on has_many and has_and_belongs_to_many collections #1764 [Tobias Luetke]
2623
+ * Added support for calling constrained class methods on has_many and has_and_belongs_to_many collections #1764 [Tobias Lütke]
2582
2624
 
2583
2625
  class Comment < AR:B
2584
2626
  def self.search(q)
@@ -2610,19 +2652,19 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2610
2652
 
2611
2653
  *1.11.1* (11 July, 2005)
2612
2654
 
2613
- * Added support for limit and offset with eager loading of has_one and belongs_to associations. Using the options with has_many and has_and_belongs_to_many associations will now raise an ActiveRecord::ConfigurationError #1692 [Rick Olsen]
2655
+ * Added support for limit and offset with eager loading of has_one and belongs_to associations. Using the options with has_many and has_and_belongs_to_many associations will now raise an ActiveRecord::ConfigurationError #1692 [Rick Olson]
2614
2656
 
2615
2657
  * Fixed that assume_bottom_position (in acts_as_list) could be called on items already last in the list and they would move one position away from the list #1648 [tyler@kianta.com]
2616
2658
 
2617
2659
  * Added ActiveRecord::Base.threaded_connections flag to turn off 1-connection per thread (required for thread safety). By default it's on, but WEBrick in Rails need it off #1685 [Sam Stephenson]
2618
2660
 
2619
- * Correct reflected table name for singular associations. #1688 [court3nay@gmail.com]
2661
+ * Correct reflected table name for singular associations. #1688 [court3nay]
2620
2662
 
2621
2663
  * Fixed optimistic locking with SQL Server #1660 [tom@popdog.net]
2622
2664
 
2623
2665
  * Added ActiveRecord::Migrator.migrate that can figure out whether to go up or down based on the target version and the current
2624
2666
 
2625
- * Added better error message for "packets out of order" #1630 [courtenay]
2667
+ * Added better error message for "packets out of order" #1630 [court3nay]
2626
2668
 
2627
2669
  * Fixed first run of "rake migrate" on PostgreSQL by not expecting a return value on the id #1640
2628
2670
 
@@ -2633,7 +2675,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2633
2675
 
2634
2676
  * Changed logging of SQL statements to use the DEBUG level instead of INFO
2635
2677
 
2636
- * Added new Migrations framework for describing schema transformations in a way that can be easily applied across multiple databases #1604 [Tobias Luetke] See documentation under ActiveRecord::Migration and the additional support in the Rails rakefile/generator.
2678
+ * Added new Migrations framework for describing schema transformations in a way that can be easily applied across multiple databases #1604 [Tobias Lütke] See documentation under ActiveRecord::Migration and the additional support in the Rails rakefile/generator.
2637
2679
 
2638
2680
  * Added callback hooks to association collections #1549 [Florian Weber]. Example:
2639
2681
 
@@ -2656,13 +2698,13 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2656
2698
 
2657
2699
  * Speed up ActiveRecord#method_missing for the common case (read_attribute).
2658
2700
 
2659
- * Only notify observers on after_find and after_initialize if these methods are defined on the model. #1235 [skaes@web.de]
2701
+ * Only notify observers on after_find and after_initialize if these methods are defined on the model. #1235 [Stefan Kaes]
2660
2702
 
2661
2703
  * Fixed that single-table inheritance sub-classes couldn't be used to limit the result set with eager loading #1215 [Chris McGrath]
2662
2704
 
2663
2705
  * Fixed validates_numericality_of to work with overrided getter-method when :allow_nil is on #1316 [raidel@onemail.at]
2664
2706
 
2665
- * Added roots, root, and siblings to the batch of methods added by acts_as_tree #1541 [michael@schuerig.de]
2707
+ * Added roots, root, and siblings to the batch of methods added by acts_as_tree #1541 [Michael Schuerig]
2666
2708
 
2667
2709
  * Added support for limit/offset with the MS SQL Server driver so that pagination will now work #1569 [DeLynn Berry]
2668
2710
 
@@ -2684,7 +2726,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2684
2726
  :conditions => 'project_id=1'
2685
2727
  )
2686
2728
 
2687
- * Fixed that validations didn't respecting custom setting for too_short, too_long messages #1437 [Marcel Molina]
2729
+ * Fixed that validations didn't respecting custom setting for too_short, too_long messages #1437 [Marcel Molina Jr.]
2688
2730
 
2689
2731
  * Fixed that clear_association_cache doesn't delete new associations on new records (so you can safely place new records in the session with Action Pack without having new associations wiped) #1494 [cluon]
2690
2732
 
@@ -2711,7 +2753,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2711
2753
 
2712
2754
  * Corrected typo in find SQL for has_and_belongs_to_many. #1312 [ben@bensinclair.com]
2713
2755
 
2714
- * Fixed sanitized conditions for has_many finder method. #1281 [jackc@hylesanderson.com, pragdave, Tobias Luetke]
2756
+ * Fixed sanitized conditions for has_many finder method. #1281 [jackc@hylesanderson.com, pragdave, Tobias Lütke]
2715
2757
 
2716
2758
  * Comprehensive PostgreSQL schema support. Use the optional schema_search_path directive in database.yml to give a comma-separated list of schemas to search for your tables. This allows you, for example, to have tables in a shared schema without having to use a custom table name. See http://www.postgresql.org/docs/8.0/interactive/ddl-schemas.html to learn more. #827 [dave@cherryville.org]
2717
2759
 
@@ -2769,15 +2811,15 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2769
2811
  # SELECT * FROM topics WHERE title IN ('First', 'Second')
2770
2812
  Topic.find_all_by_title(["First", "Second"])
2771
2813
 
2772
- * Added compatibility with camelCase column names for dynamic finders #533 [Dee.Zsombor]
2814
+ * Added compatibility with camelCase column names for dynamic finders #533 [Dee Zsombor]
2773
2815
 
2774
- * Fixed extraneous comma in count() function that made it not work with joins #1156 [jarkko/Dee.Zsombor]
2816
+ * Fixed extraneous comma in count() function that made it not work with joins #1156 [Jarkko Laine/Dee Zsombor]
2775
2817
 
2776
2818
  * Fixed incompatibility with Base#find with an array of ids that would fail when using eager loading #1186 [Alisdair McDiarmid]
2777
2819
 
2778
2820
  * Fixed that validate_length_of lost :on option when :within was specified #1195 [jhosteny@mac.com]
2779
2821
 
2780
- * Added encoding and min_messages options for PostgreSQL #1205 [shugo]. Configuration example:
2822
+ * Added encoding and min_messages options for PostgreSQL #1205 [Shugo Maeda]. Configuration example:
2781
2823
 
2782
2824
  development:
2783
2825
  adapter: postgresql
@@ -2835,7 +2877,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2835
2877
  a single query. A good use case for this is a threaded post system, where you want
2836
2878
  to display every reply to a comment without multiple selects.
2837
2879
 
2838
- * Added Base.save! that attempts to save the record just like Base.save but will raise a RecordInvalid exception instead of returning false if the record is not valid [After much pestering from Dave Thomas]
2880
+ * Added Base.save! that attempts to save the record just like Base.save but will raise a RecordInvalid exception instead of returning false if the record is not valid [Dave Thomas]
2839
2881
 
2840
2882
  * Fixed PostgreSQL usage of fixtures with regards to public schemas and table names with dots #962 [gnuman1@gmail.com]
2841
2883
 
@@ -2865,7 +2907,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2865
2907
 
2866
2908
  * Fixed counter_sql when no records exist in database for PostgreSQL (would give error, not 0) #1039 [Caleb Tennis]
2867
2909
 
2868
- * Fixed that benchmarking times for rendering included db runtimes #987 [skaes@web.de]
2910
+ * Fixed that benchmarking times for rendering included db runtimes #987 [Stefan Kaes]
2869
2911
 
2870
2912
  * Fixed boolean queries for t/f fields in PostgreSQL #995 [dave@cherryville.org]
2871
2913
 
@@ -2873,9 +2915,9 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2873
2915
 
2874
2916
  * Fixed auto-stamping of dates (created_on/updated_on) for PostgreSQL #985 [dave@cherryville.org]
2875
2917
 
2876
- * Fixed Base.silence/benchmark to only log if a logger has been configured #986 [skaes@web.de]
2918
+ * Fixed Base.silence/benchmark to only log if a logger has been configured #986 [Stefan Kaes]
2877
2919
 
2878
- * Added a join parameter as the third argument to Base.find_first and as the second to Base.count #426, #988 [skaes@web.de]
2920
+ * Added a join parameter as the third argument to Base.find_first and as the second to Base.count #426, #988 [Stefan Kaes]
2879
2921
 
2880
2922
  * Fixed bug in Base#hash method that would treat records with the same string-based id as different [Dave Thomas]
2881
2923
 
@@ -2961,7 +3003,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
2961
3003
  account.save # => CC with id = 12 is destroyed
2962
3004
 
2963
3005
 
2964
- * Added validates_numericality_of #716 [skanthak/c.r.mcgrath]. Docuemntation:
3006
+ * Added validates_numericality_of #716 [Sebastian Kanthak/Chris McGrath]. Docuemntation:
2965
3007
 
2966
3008
  Validates whether the value of the specified attribute is numeric by trying to convert it to
2967
3009
  a float with Kernel.Float (if <tt>integer</tt> is false) or applying it to the regular expression
@@ -3031,7 +3073,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3031
3073
  4. Added logic to the simplified_type method that allows the database to specify the scale of float data.
3032
3074
  5. Adjusted the quote_column_name to account for the fact that MS SQL is bothered by a forward slash in the data string.
3033
3075
 
3034
- * Fixed that the dynamic finder like find_all_by_something_boolean(false) didn't work #649 [lmarlow@yahoo.com]
3076
+ * Fixed that the dynamic finder like find_all_by_something_boolean(false) didn't work #649 [lmarlow]
3035
3077
 
3036
3078
  * Added validates_each that validates each specified attribute against a block #610 [Jeremy Kemper]. Example:
3037
3079
 
@@ -3214,17 +3256,17 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3214
3256
 
3215
3257
  * Fixed that that multiparameter assignment doesn't work with aggregations (closes #4620) [Lars Pind]
3216
3258
 
3217
- * Enable Limit/Offset in Calculations (closes #4558) [lmarlow@yahoo.com]
3259
+ * Enable Limit/Offset in Calculations (closes #4558) [lmarlow]
3218
3260
 
3219
- * Fixed that loading including associations returns all results if Load IDs For Limited Eager Loading returns none (closes #4528) [Rick]
3261
+ * Fixed that loading including associations returns all results if Load IDs For Limited Eager Loading returns none (closes #4528) [Rick Olson]
3220
3262
 
3221
3263
  * Fixed HasManyAssociation#find bugs when :finder_sql is set #4600 [lagroue@free.fr]
3222
3264
 
3223
- * Allow AR::Base#respond_to? to behave when @attributes is nil [zenspider]
3265
+ * Allow AR::Base#respond_to? to behave when @attributes is nil [Ryan Davis]
3224
3266
 
3225
- * Support eager includes when going through a polymorphic has_many association. [Rick]
3267
+ * Support eager includes when going through a polymorphic has_many association. [Rick Olson]
3226
3268
 
3227
- * Added support for eagerly including polymorphic has_one associations. (closes #4525) [Rick]
3269
+ * Added support for eagerly including polymorphic has_one associations. (closes #4525) [Rick Olson]
3228
3270
 
3229
3271
  class Post < ActiveRecord::Base
3230
3272
  has_one :tagging, :as => :taggable
@@ -3232,9 +3274,9 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3232
3274
 
3233
3275
  Post.find :all, :include => :tagging
3234
3276
 
3235
- * Added descriptive error messages for invalid has_many :through associations: going through :has_one or :has_and_belongs_to_many [Rick]
3277
+ * Added descriptive error messages for invalid has_many :through associations: going through :has_one or :has_and_belongs_to_many [Rick Olson]
3236
3278
 
3237
- * Added support for going through a polymorphic has_many association: (closes #4401) [Rick]
3279
+ * Added support for going through a polymorphic has_many association: (closes #4401) [Rick Olson]
3238
3280
 
3239
3281
  class PhotoCollection < ActiveRecord::Base
3240
3282
  has_many :photos, :as => :photographic
@@ -3252,36 +3294,36 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3252
3294
 
3253
3295
  * Changed those private ActiveRecord methods to take optional third argument :auto instead of nil for performance optimizations. (closes #4456) [Stefan]
3254
3296
 
3255
- * Private ActiveRecord methods add_limit!, add_joins!, and add_conditions! take an OPTIONAL third argument 'scope' (closes #4456) [Rick]
3297
+ * Private ActiveRecord methods add_limit!, add_joins!, and add_conditions! take an OPTIONAL third argument 'scope' (closes #4456) [Rick Olson]
3256
3298
 
3257
- * DEPRECATED: Using additional attributes on has_and_belongs_to_many associations. Instead upgrade your association to be a real join model [DHH]
3299
+ * DEPRECATED: Using additional attributes on has_and_belongs_to_many associations. Instead upgrade your association to be a real join model [David Heinemeier Hansson]
3258
3300
 
3259
- * Fixed that records returned from has_and_belongs_to_many associations with additional attributes should be marked as read only (fixes #4512) [DHH]
3301
+ * Fixed that records returned from has_and_belongs_to_many associations with additional attributes should be marked as read only (fixes #4512) [David Heinemeier Hansson]
3260
3302
 
3261
3303
  * Do not implicitly mark recordss of has_many :through as readonly but do mark habtm records as readonly (eventually only on join tables without rich attributes). [Marcel Mollina Jr.]
3262
3304
 
3263
- * Fixed broken OCIAdapter #4457 [schoenm@earthlink.net]
3305
+ * Fixed broken OCIAdapter #4457 [Michael Schoen]
3264
3306
 
3265
3307
 
3266
3308
  *1.14.0* (March 27th, 2006)
3267
3309
 
3268
3310
  * Replace 'rescue Object' with a finer grained rescue. Closes #4431. [Nicholas Seckar]
3269
3311
 
3270
- * Fixed eager loading so that an aliased table cannot clash with a has_and_belongs_to_many join table [Rick]
3312
+ * Fixed eager loading so that an aliased table cannot clash with a has_and_belongs_to_many join table [Rick Olson]
3271
3313
 
3272
3314
  * Add support for :include to with_scope [andrew@redlinesoftware.com]
3273
3315
 
3274
- * Support the use of public synonyms with the Oracle adapter; required ruby-oci8 v0.1.14 #4390 [schoenm@earthlink.net]
3316
+ * Support the use of public synonyms with the Oracle adapter; required ruby-oci8 v0.1.14 #4390 [Michael Schoen]
3275
3317
 
3276
3318
  * Change periods (.) in table aliases to _'s. Closes #4251 [jeff@ministrycentered.com]
3277
3319
 
3278
- * Changed has_and_belongs_to_many join to INNER JOIN for Mysql 3.23.x. Closes #4348 [Rick]
3320
+ * Changed has_and_belongs_to_many join to INNER JOIN for Mysql 3.23.x. Closes #4348 [Rick Olson]
3279
3321
 
3280
- * Fixed issue that kept :select options from being scoped [Rick]
3322
+ * Fixed issue that kept :select options from being scoped [Rick Olson]
3281
3323
 
3282
- * Fixed db_schema_import when binary types are present #3101 [DHH]
3324
+ * Fixed db_schema_import when binary types are present #3101 [David Heinemeier Hansson]
3283
3325
 
3284
- * Fixed that MySQL enums should always be returned as strings #3501 [DHH]
3326
+ * Fixed that MySQL enums should always be returned as strings #3501 [David Heinemeier Hansson]
3285
3327
 
3286
3328
  * Change has_many :through to use the :source option to specify the source association. :class_name is now ignored. [Rick Olson]
3287
3329
 
@@ -3312,13 +3354,13 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3312
3354
  end
3313
3355
  end
3314
3356
 
3315
- * Fixed that schema changes while the database was open would break any connections to a SQLite database (now we reconnect if that error is throw) [DHH]
3357
+ * Fixed that schema changes while the database was open would break any connections to a SQLite database (now we reconnect if that error is throw) [David Heinemeier Hansson]
3316
3358
 
3317
- * Don't classify the has_one class when eager loading, it is already singular. Add tests. (closes #4117) [jonathan@bluewire.net.nz]
3359
+ * Don't classify the has_one class when eager loading, it is already singular. Add tests. (closes #4117) [Jonathan Viney]
3318
3360
 
3319
3361
  * Quit ignoring default :include options in has_many :through calls [Mark James]
3320
3362
 
3321
- * Allow has_many :through associations to find the source association by setting a custom class (closes #4307) [jonathan@bluewire.net.nz]
3363
+ * Allow has_many :through associations to find the source association by setting a custom class (closes #4307) [Jonathan Viney]
3322
3364
 
3323
3365
  * Eager Loading support added for has_many :through => :has_many associations (see below). [Rick Olson]
3324
3366
 
@@ -3338,13 +3380,13 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3338
3380
  belongs_to :client
3339
3381
  end
3340
3382
 
3341
- * Raise error when trying to select many polymorphic objects with has_many :through or :include (closes #4226) [josh@hasmanythrough.com]
3383
+ * Raise error when trying to select many polymorphic objects with has_many :through or :include (closes #4226) [Josh Susser]
3342
3384
 
3343
- * Fixed has_many :through to include :conditions set on the :through association. closes #4020 [jonathan@bluewire.net.nz]
3385
+ * Fixed has_many :through to include :conditions set on the :through association. closes #4020 [Jonathan Viney]
3344
3386
 
3345
- * Fix that has_many :through honors the foreign key set by the belongs_to association in the join model (closes #4259) [andylien@gmail.com / Rick]
3387
+ * Fix that has_many :through honors the foreign key set by the belongs_to association in the join model (closes #4259) [andylien@gmail.com / Rick Olson]
3346
3388
 
3347
- * SQL Server adapter gets some love #4298 [rtomayko@gmail.com]
3389
+ * SQL Server adapter gets some love #4298 [Ryan Tomayko]
3348
3390
 
3349
3391
  * Added OpenBase database adapter that builds on top of the http://www.spice-of-life.net/ruby-openbase/ driver. All functionality except LIMIT/OFFSET is supported #3528 [derrickspell@cdmplus.com]
3350
3392
 
@@ -3352,27 +3394,27 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3352
3394
 
3353
3395
  Author.find(:all, :include => { :posts => :special_comments }, :order => 'special_comments.body')
3354
3396
 
3355
- * Add AbstractAdapter#table_alias_for to create table aliases according to the rules of the current adapter. [Rick]
3397
+ * Add AbstractAdapter#table_alias_for to create table aliases according to the rules of the current adapter. [Rick Olson]
3356
3398
 
3357
- * Provide access to the underlying database connection through Adapter#raw_connection. Enables the use of db-specific methods without complicating the adapters. #2090 [Koz]
3399
+ * Provide access to the underlying database connection through Adapter#raw_connection. Enables the use of db-specific methods without complicating the adapters. #2090 [Michael Koziarski]
3358
3400
 
3359
- * Remove broken attempts at handling columns with a default of 'now()' in the postgresql adapter. #2257 [Koz]
3401
+ * Remove broken attempts at handling columns with a default of 'now()' in the postgresql adapter. #2257 [Michael Koziarski]
3360
3402
 
3361
- * Added connection#current_database that'll return of the current database (only works in MySQL, SQL Server, and Oracle so far -- please help implement for the rest of the adapters) #3663 [Tom ward]
3403
+ * Added connection#current_database that'll return of the current database (only works in MySQL, SQL Server, and Oracle so far -- please help implement for the rest of the adapters) #3663 [Tom Ward]
3362
3404
 
3363
3405
  * Fixed that Migration#execute would have the table name prefix appended to its query #4110 [mark.imbriaco@pobox.com]
3364
3406
 
3365
3407
  * Make all tinyint(1) variants act like boolean in mysql (tinyint(1) unsigned, etc.) [Jamis Buck]
3366
3408
 
3367
- * Use association's :conditions when eager loading. [jeremyevans0@gmail.com] #4144
3409
+ * Use association's :conditions when eager loading. [Jeremy Evans] #4144
3368
3410
 
3369
- * Alias the has_and_belongs_to_many join table on eager includes. #4106 [jeremyevans0@gmail.com]
3411
+ * Alias the has_and_belongs_to_many join table on eager includes. #4106 [Jeremy Evans]
3370
3412
 
3371
3413
  This statement would normally error because the projects_developers table is joined twice, and therefore joined_on would be ambiguous.
3372
3414
 
3373
3415
  Developer.find(:all, :include => {:projects => :developers}, :conditions => 'join_project_developers.joined_on IS NOT NULL')
3374
3416
 
3375
- * Oracle adapter gets some love #4230 [schoenm@earthlink.net]
3417
+ * Oracle adapter gets some love #4230 [Michael Schoen]
3376
3418
 
3377
3419
  * Changes :text to CLOB rather than BLOB [Moses Hohman]
3378
3420
  * Fixes an issue with nil numeric length/scales (several)
@@ -3407,7 +3449,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3407
3449
  has_many :attachments, :as => :attachable, :dependent => :delete_all
3408
3450
  end
3409
3451
 
3410
- * Nicer error message on has_many :through when :through reflection can not be found. #4042 [court3nay@gmail.com]
3452
+ * Nicer error message on has_many :through when :through reflection can not be found. #4042 [court3nay]
3411
3453
 
3412
3454
  * Upgrade to Transaction::Simple 1.3 [Jamis Buck]
3413
3455
 
@@ -3419,7 +3461,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3419
3461
 
3420
3462
  * Dynamically set allow_concurrency. #4044 [Stefan Kaes]
3421
3463
 
3422
- * Added Base#to_xml that'll turn the current record into a XML representation [DHH]. Example:
3464
+ * Added Base#to_xml that'll turn the current record into a XML representation [David Heinemeier Hansson]. Example:
3423
3465
 
3424
3466
  topic.to_xml
3425
3467
 
@@ -3554,9 +3596,9 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3554
3596
 
3555
3597
  * CHANGED DEFAULT: set ActiveRecord::Base.allow_concurrency to false. Most AR usage is in single-threaded applications. [Jeremy Kemper]
3556
3598
 
3557
- * Renamed the "oci" adapter to "oracle", but kept the old name as an alias #4017 [schoenm@earthlink.net]
3599
+ * Renamed the "oci" adapter to "oracle", but kept the old name as an alias #4017 [Michael Schoen]
3558
3600
 
3559
- * Fixed that Base.save should always return false if the save didn't succeed, including if it has halted by before_save's #1861, #2477 [DHH]
3601
+ * Fixed that Base.save should always return false if the save didn't succeed, including if it has halted by before_save's #1861, #2477 [David Heinemeier Hansson]
3560
3602
 
3561
3603
  * Speed up class -> connection caching and stale connection verification. #3979 [Stefan Kaes]
3562
3604
 
@@ -3564,7 +3606,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3564
3606
 
3565
3607
  * Added that fixtures to placed in subdirectories of the main fixture files are also loaded #3937 [dblack@wobblini.net]
3566
3608
 
3567
- * Define attribute query methods to avoid method_missing calls. #3677 [jonathan@bluewire.net.nz]
3609
+ * Define attribute query methods to avoid method_missing calls. #3677 [Jonathan Viney]
3568
3610
 
3569
3611
  * ActiveRecord::Base.remove_connection explicitly closes database connections and doesn't corrupt the connection cache. Introducing the disconnect! instance method for the PostgreSQL, MySQL, and SQL Server adapters; implementations for the others are welcome. #3591 [Simon Stapleton, Tom Ward]
3570
3612
 
@@ -3588,7 +3630,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3588
3630
 
3589
3631
  * Fixed validates_length_of to work on UTF-8 strings by using characters instead of bytes #3699 [Masao Mutoh]
3590
3632
 
3591
- * Fixed that reflections would bleed across class boundaries in single-table inheritance setups #3796 [lars@pind.com]
3633
+ * Fixed that reflections would bleed across class boundaries in single-table inheritance setups #3796 [Lars Pind]
3592
3634
 
3593
3635
  * Added calculations: Base.count, Base.average, Base.sum, Base.minimum, Base.maxmium, and the generic Base.calculate. All can be used with :group and :having. Calculations and statitics need no longer require custom SQL. #3958 [Rick Olson]. Examples:
3594
3636
 
@@ -3597,7 +3639,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3597
3639
  Person.maximum :age
3598
3640
  Person.sum :salary, :group => :last_name
3599
3641
 
3600
- * Renamed Errors#count to Errors#size but kept an alias for the old name (and included an alias for length too) #3920 [contact@lukeredpath.co.uk]
3642
+ * Renamed Errors#count to Errors#size but kept an alias for the old name (and included an alias for length too) #3920 [Luke Redpath]
3601
3643
 
3602
3644
  * Reflections don't attempt to resolve module nesting of association classes. Simplify type computation. [Jeremy Kemper]
3603
3645
 
@@ -3605,7 +3647,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3605
3647
 
3606
3648
  * Fixed that the schema_info table used by ActiveRecord::Schema.define should respect table pre- and suffixes #3834 [rubyonrails@atyp.de]
3607
3649
 
3608
- * Added :select option to Base.count that'll allow you to select something else than * to be counted on. Especially important for count queries using DISTINCT #3839 [skaes]
3650
+ * Added :select option to Base.count that'll allow you to select something else than * to be counted on. Especially important for count queries using DISTINCT #3839 [Stefan Kaes]
3609
3651
 
3610
3652
  * Correct syntax error in mysql DDL, and make AAACreateTablesTest run first [Bob Silva]
3611
3653
 
@@ -3621,19 +3663,19 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3621
3663
 
3622
3664
  * Fix problems with count when used with :include [Jeremy Hopple and Kevin Clark]
3623
3665
 
3624
- * ActiveRecord::RecordInvalid now states which validations failed in its default error message [Tobias Luetke]
3666
+ * ActiveRecord::RecordInvalid now states which validations failed in its default error message [Tobias Lütke]
3625
3667
 
3626
- * Using AssociationCollection#build with arrays of hashes should call build, not create [DHH]
3668
+ * Using AssociationCollection#build with arrays of hashes should call build, not create [David Heinemeier Hansson]
3627
3669
 
3628
3670
  * Remove definition of reloadable? from ActiveRecord::Base to make way for new Reloadable code. [Nicholas Seckar]
3629
3671
 
3630
3672
  * Fixed schema handling for DB2 adapter that didn't work: an initial schema could be set, but it wasn't used when getting tables and indexes #3678 [Maik Schmidt]
3631
3673
 
3632
- * Support the :column option for remove_index with the PostgreSQL adapter. #3661 [shugo@ruby-lang.org]
3674
+ * Support the :column option for remove_index with the PostgreSQL adapter. #3661 [Shugo Maeda]
3633
3675
 
3634
3676
  * Add documentation for add_index and remove_index. #3600 [Manfred Stienstra <m.stienstra@fngtps.com>]
3635
3677
 
3636
- * If the OCI library is not available, raise an exception indicating as much. #3593 [schoenm@earthlink.net]
3678
+ * If the OCI library is not available, raise an exception indicating as much. #3593 [Michael Schoen]
3637
3679
 
3638
3680
  * Add explicit :order in finder tests as postgresql orders results differently by default. #3577. [Rick Olson]
3639
3681
 
@@ -3641,7 +3683,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3641
3683
 
3642
3684
  * Show a meaningful error when the DB2 adapter cannot be loaded due to missing dependencies. [Nicholas Seckar]
3643
3685
 
3644
- * Make .count work for has_many associations with multi line finder sql [schoenm@earthlink.net]
3686
+ * Make .count work for has_many associations with multi line finder sql [Michael Schoen]
3645
3687
 
3646
3688
  * Add AR::Base.base_class for querying the ancestor AR::Base subclass [Jamis Buck]
3647
3689
 
@@ -3649,13 +3691,13 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3649
3691
 
3650
3692
  * Don't hardcode 'id' in acts as list. [ror@philippeapril.com]
3651
3693
 
3652
- * Fix date errors for SQLServer in association tests. #3406 [kevin.clark@gmal.com]
3694
+ * Fix date errors for SQLServer in association tests. #3406 [Kevin Clark]
3653
3695
 
3654
3696
  * Escape database name in MySQL adapter when creating and dropping databases. #3409 [anna@wota.jp]
3655
3697
 
3656
3698
  * Disambiguate table names for columns in validates_uniquness_of's WHERE clause. #3423 [alex.borovsky@gmail.com]
3657
3699
 
3658
- * .with_scope imposed create parameters now bypass attr_protected [Tobias Luetke]
3700
+ * .with_scope imposed create parameters now bypass attr_protected [Tobias Lütke]
3659
3701
 
3660
3702
  * Don't raise an exception when there are more keys than there are named bind variables when sanitizing conditions. [Marcel Molina Jr.]
3661
3703
 
@@ -3663,25 +3705,25 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3663
3705
 
3664
3706
  * Sanitize scoped conditions. [Marcel Molina Jr.]
3665
3707
 
3666
- * Added option to Base.reflection_of_all_associations to specify a specific association to scope the call. For example Base.reflection_of_all_associations(:has_many) [DHH]
3708
+ * Added option to Base.reflection_of_all_associations to specify a specific association to scope the call. For example Base.reflection_of_all_associations(:has_many) [David Heinemeier Hansson]
3667
3709
 
3668
- * Added ActiveRecord::SchemaDumper.ignore_tables which tells SchemaDumper which tables to ignore. Useful for tables with funky column like the ones required for tsearch2. [TobiasLuetke]
3710
+ * Added ActiveRecord::SchemaDumper.ignore_tables which tells SchemaDumper which tables to ignore. Useful for tables with funky column like the ones required for tsearch2. [Tobias Lütke]
3669
3711
 
3670
- * SchemaDumper now doesn't fail anymore when there are unknown column types in the schema. Instead the table is ignored and a Comment is left in the schema.rb. [TobiasLuetke]
3712
+ * SchemaDumper now doesn't fail anymore when there are unknown column types in the schema. Instead the table is ignored and a Comment is left in the schema.rb. [Tobias Lütke]
3671
3713
 
3672
3714
  * Fixed that saving a model with multiple habtm associations would only save the first one. #3244 [yanowitz-rubyonrails@quantumfoam.org, Florian Weber]
3673
3715
 
3674
3716
  * Fix change_column to work with PostgreSQL 7.x and 8.x. #3141 [wejn@box.cz, Rick Olson, Scott Barron]
3675
3717
 
3676
- * removed :piggyback in favor of just allowing :select on :through associations. [Tobias Luetke]
3718
+ * removed :piggyback in favor of just allowing :select on :through associations. [Tobias Lütke]
3677
3719
 
3678
- * made method missing delegation to class methods on relation target work on :through associations. [Tobias Luetke]
3720
+ * made method missing delegation to class methods on relation target work on :through associations. [Tobias Lütke]
3679
3721
 
3680
- * made .find() work on :through relations. [Tobias Luetke]
3722
+ * made .find() work on :through relations. [Tobias Lütke]
3681
3723
 
3682
3724
  * Fix typo in association docs. #3296. [Blair Zajac]
3683
3725
 
3684
- * Fixed :through relations when using STI inherited classes would use the inherited class's name as foreign key on the join model [Tobias Luetke]
3726
+ * Fixed :through relations when using STI inherited classes would use the inherited class's name as foreign key on the join model [Tobias Lütke]
3685
3727
 
3686
3728
  *1.13.2* (December 13th, 2005)
3687
3729
 
@@ -3689,7 +3731,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3689
3731
 
3690
3732
  * MySQL: allow encoding option for mysql.rb driver. [Jeremy Kemper]
3691
3733
 
3692
- * Added option inheritance for find calls on has_and_belongs_to_many and has_many assosociations [DHH]. Example:
3734
+ * Added option inheritance for find calls on has_and_belongs_to_many and has_many assosociations [David Heinemeier Hansson]. Example:
3693
3735
 
3694
3736
  class Post
3695
3737
  has_many :recent_comments, :class_name => "Comment", :limit => 10, :include => :author
@@ -3699,7 +3741,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3699
3741
  post.recent_comments.find(:all, :limit => nil) # Uses no limit but include authors
3700
3742
  post.recent_comments.find(:all, :limit => nil, :include => nil) # Uses no limit and doesn't include authors
3701
3743
 
3702
- * Added option to specify :group, :limit, :offset, and :select options from find on has_and_belongs_to_many and has_many assosociations [DHH]
3744
+ * Added option to specify :group, :limit, :offset, and :select options from find on has_and_belongs_to_many and has_many assosociations [David Heinemeier Hansson]
3703
3745
 
3704
3746
  * MySQL: fixes for the bundled mysql.rb driver. #3160 [Justin Forder]
3705
3747
 
@@ -3717,7 +3759,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3717
3759
 
3718
3760
  * MySQL: more robust test for nullified result hashes. #3124 [Stefan Kaes]
3719
3761
 
3720
- * Reloading an instance refreshes its aggregations as well as its associations. #3024 [François Beausolei]
3762
+ * Reloading an instance refreshes its aggregations as well as its associations. #3024 [François Beausoleil]
3721
3763
 
3722
3764
  * Fixed that using :include together with :conditions array in Base.find would cause NoMethodError #2887 [Paul Hammmond]
3723
3765
 
@@ -3727,9 +3769,9 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3727
3769
 
3728
3770
  * MySQL: work around ruby-mysql/mysql-ruby inconsistency with mysql.stat. Eliminate usage of mysql.ping because it doesn't guarantee reconnect. Explicitly close and reopen the connection instead. [Jeremy Kemper]
3729
3771
 
3730
- * Added preliminary support for polymorphic associations [DHH]
3772
+ * Added preliminary support for polymorphic associations [David Heinemeier Hansson]
3731
3773
 
3732
- * Added preliminary support for join models [DHH]
3774
+ * Added preliminary support for join models [David Heinemeier Hansson]
3733
3775
 
3734
3776
  * Allow validate_uniqueness_of to be scoped by more than just one column. #1559. [jeremy@jthopple.com, Marcel Molina Jr.]
3735
3777
 
@@ -3755,7 +3797,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3755
3797
 
3756
3798
  * Add tasks to create, drop and rebuild the MySQL and PostgreSQL test databases. [Marcel Molina Jr.]
3757
3799
 
3758
- * Correct boolean handling in generated reader methods. #2945 [don.park@gmail.com, Stefan Kaes]
3800
+ * Correct boolean handling in generated reader methods. #2945 [Don Park, Stefan Kaes]
3759
3801
 
3760
3802
  * Don't generate read methods for columns whose names are not valid ruby method names. #2946 [Stefan Kaes]
3761
3803
 
@@ -3803,7 +3845,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3803
3845
 
3804
3846
  * Fix sqlite adaptor's detection of missing dbfile or database declaration. [Nicholas Seckar]
3805
3847
 
3806
- * Fixed acts_as_list for definitions without an explicit :order #2803 [jonathan@bluewire.net.nz]
3848
+ * Fixed acts_as_list for definitions without an explicit :order #2803 [Jonathan Viney]
3807
3849
 
3808
3850
  * Upgrade bundled ruby-mysql 0.2.4 with mysql411 shim (see #440) to ruby-mysql 0.2.6 with a patchset for 4.1 protocol support. Local change [301] is now a part of the main driver; reapplied local change [2182]. Removed GC.start from Result.free. [tommy@tmtm.org, akuroda@gmail.com, Doug Fales <doug.fales@gmail.com>, Jeremy Kemper]
3809
3851
 
@@ -3822,7 +3864,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3822
3864
 
3823
3865
  * Fixed faulty regex in get_table_name method (SQLServerAdapter) #2639 [Ryan Tomayko]
3824
3866
 
3825
- * Added :include as an option for association declarations [DHH]. Example:
3867
+ * Added :include as an option for association declarations [David Heinemeier Hansson]. Example:
3826
3868
 
3827
3869
  has_many :posts, :include => [ :author, :comments ]
3828
3870
 
@@ -3837,7 +3879,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3837
3879
 
3838
3880
  * Fixed that SQL Server should ignore :size declarations on anything but integer and string in the agnostic schema representation #2756 [Ryan Tomayko]
3839
3881
 
3840
- * Added constrain scoping for creates using a hash of attributes bound to the :creation key [DHH]. Example:
3882
+ * Added constrain scoping for creates using a hash of attributes bound to the :creation key [David Heinemeier Hansson]. Example:
3841
3883
 
3842
3884
  Comment.constrain(:creation => { :post_id => 5 }) do
3843
3885
  # Associated with :post_id
@@ -3849,7 +3891,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3849
3891
  # If the tag doesn't exist, a new one is created that's associated with the person
3850
3892
  person.tags.find_or_create_by_name("Summer")
3851
3893
 
3852
- * Added find_or_create_by_X as a second type of dynamic finder that'll create the record if it doesn't already exist [DHH]. Example:
3894
+ * Added find_or_create_by_X as a second type of dynamic finder that'll create the record if it doesn't already exist [David Heinemeier Hansson]. Example:
3853
3895
 
3854
3896
  # No 'Summer' tag exists
3855
3897
  Tag.find_or_create_by_name("Summer") # equal to Tag.create(:name => "Summer")
@@ -3857,7 +3899,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3857
3899
  # Now the 'Summer' tag does exist
3858
3900
  Tag.find_or_create_by_name("Summer") # equal to Tag.find_by_name("Summer")
3859
3901
 
3860
- * Added extension capabilities to has_many and has_and_belongs_to_many proxies [DHH]. Example:
3902
+ * Added extension capabilities to has_many and has_and_belongs_to_many proxies [David Heinemeier Hansson]. Example:
3861
3903
 
3862
3904
  class Account < ActiveRecord::Base
3863
3905
  has_many :people do
@@ -3876,9 +3918,9 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3876
3918
 
3877
3919
  Note that the anoymous module must be declared using brackets, not do/end (due to order of evaluation).
3878
3920
 
3879
- * Omit internal dtproperties table from SQLServer table list. #2729 [rtomayko@gmail.com]
3921
+ * Omit internal dtproperties table from SQLServer table list. #2729 [Ryan Tomayko]
3880
3922
 
3881
- * Quote column names in generated SQL. #2728 [rtomayko@gmail.com]
3923
+ * Quote column names in generated SQL. #2728 [Ryan Tomayko]
3882
3924
 
3883
3925
  * Correct the pure-Ruby MySQL 4.1.1 shim's version test. #2718 [Jeremy Kemper]
3884
3926
 
@@ -3892,7 +3934,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3892
3934
 
3893
3935
  * Worked around that connection can't be reset if allow_concurrency is off. #2648 [Michael Schoen <schoenm@earthlink.net>]
3894
3936
 
3895
- * Fixed SQL Server adapter to pass even more tests and do even better #2634 [rtomayko@gmail.com]
3937
+ * Fixed SQL Server adapter to pass even more tests and do even better #2634 [Ryan Tomayko]
3896
3938
 
3897
3939
  * Fixed SQL Server adapter so it honors options[:conditions] when applying :limits #1978 [Tom Ward]
3898
3940
 
@@ -3905,18 +3947,18 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3905
3947
 
3906
3948
  * Added :offset and :limit to the kinds of options that Base.constrain can use #2466 [duane.johnson@gmail.com]
3907
3949
 
3908
- * Fixed handling of nil number columns on Oracle and cleaned up tests for Oracle in general #2555 [schoenm@earthlink.net]
3950
+ * Fixed handling of nil number columns on Oracle and cleaned up tests for Oracle in general #2555 [Michael Schoen]
3909
3951
 
3910
3952
  * Added quoted_true and quoted_false methods and tables to db2_adapter and cleaned up tests for DB2 #2493, #2624 [maik schmidt]
3911
3953
 
3912
3954
 
3913
3955
  *1.12.2* (October 26th, 2005)
3914
3956
 
3915
- * Allow symbols to rename columns when using SQLite adapter. #2531 [kevin.clark@gmail.com]
3957
+ * Allow symbols to rename columns when using SQLite adapter. #2531 [Kevin Clark]
3916
3958
 
3917
3959
  * Map Active Record time to SQL TIME. #2575, #2576 [Robby Russell <robby@planetargon.com>]
3918
3960
 
3919
- * Clarify semantics of ActiveRecord::Base#respond_to? #2560 [skaes@web.de]
3961
+ * Clarify semantics of ActiveRecord::Base#respond_to? #2560 [Stefan Kaes]
3920
3962
 
3921
3963
  * Fixed Association#clear for associations which have not yet been accessed. #2524 [Patrick Lenz <patrick@lenz.sh>]
3922
3964
 
@@ -3970,25 +4012,25 @@ in effect. Added :readonly finder constraint. Calling an association collectio
3970
4012
 
3971
4013
  * Add test coverage for content_columns. #2432. [coffee2code]
3972
4014
 
3973
- * Speed up for unthreaded environments. #2431. [skaes@web.de]
4015
+ * Speed up for unthreaded environments. #2431. [Stefan Kaes]
3974
4016
 
3975
- * Optimization for Mysql selects using mysql-ruby extension greater than 2.6.3. #2426. [skaes@web.de]
4017
+ * Optimization for Mysql selects using mysql-ruby extension greater than 2.6.3. #2426. [Stefan Kaes]
3976
4018
 
3977
- * Speed up the setting of table_name. #2428. [skaes@web.de]
4019
+ * Speed up the setting of table_name. #2428. [Stefan Kaes]
3978
4020
 
3979
- * Optimize instantiation of STI subclass records. In partial fullfilment of #1236. [skaes@web.de]
4021
+ * Optimize instantiation of STI subclass records. In partial fullfilment of #1236. [Stefan Kaes]
3980
4022
 
3981
4023
  * Fix typo of 'constrains' to 'contraints'. #2069. [Michael Schuerig <michael@schuerig.de>]
3982
4024
 
3983
- * Optimization refactoring for add_limit_offset!. In partial fullfilment of #1236. [skaes@web.de]
4025
+ * Optimization refactoring for add_limit_offset!. In partial fullfilment of #1236. [Stefan Kaes]
3984
4026
 
3985
4027
  * Add ability to get all siblings, including the current child, with acts_as_tree. Recloses #2140. [Michael Schuerig <michael@schuerig.de>]
3986
4028
 
3987
- * Add geometric type for postgresql adapter. #2233 [akaspick@gmail.com]
4029
+ * Add geometric type for postgresql adapter. #2233 [Andrew Kaspick]
3988
4030
 
3989
- * Add option (true by default) to generate reader methods for each attribute of a record to avoid the overhead of calling method missing. In partial fullfilment of #1236. [skaes@web.de]
4031
+ * Add option (true by default) to generate reader methods for each attribute of a record to avoid the overhead of calling method missing. In partial fullfilment of #1236. [Stefan Kaes]
3990
4032
 
3991
- * Add convenience predicate methods on Column class. In partial fullfilment of #1236. [skaes@web.de]
4033
+ * Add convenience predicate methods on Column class. In partial fullfilment of #1236. [Stefan Kaes]
3992
4034
 
3993
4035
  * Raise errors when invalid hash keys are passed to ActiveRecord::Base.find. #2363 [Chad Fowler <chad@chadfowler.com>, Nicholas Seckar]
3994
4036
 
@@ -4013,7 +4055,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4013
4055
  * Make update_attribute use the same writer method that update_attributes uses.
4014
4056
  #2237 [trevor@protocool.com]
4015
4057
 
4016
- * Make migrations honor table name prefixes and suffixes. #2298 [Jakob S, Marcel Molina]
4058
+ * Make migrations honor table name prefixes and suffixes. #2298 [Jakob Skjerning, Marcel Molina Jr.]
4017
4059
 
4018
4060
  * Correct and optimize PostgreSQL bytea escaping. #1745, #1837 [dave@cherryville.org, ken@miriamtech.com, bellis@deepthought.org]
4019
4061
 
@@ -4021,7 +4063,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4021
4063
 
4022
4064
  * Standardize the interpretation of boolean columns in the Mysql and Sqlite adapters. (Use MysqlAdapter.emulate_booleans = false to disable this behavior)
4023
4065
 
4024
- * Added new symbol-driven approach to activating observers with Base#observers= [DHH]. Example:
4066
+ * Added new symbol-driven approach to activating observers with Base#observers= [David Heinemeier Hansson]. Example:
4025
4067
 
4026
4068
  ActiveRecord::Base.observers = :cacher, :garbage_collector
4027
4069
 
@@ -4037,19 +4079,19 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4037
4079
 
4038
4080
  * Fixed that the create_x method from belongs_to wouldn't save the association properly #2042 [Florian Weber]
4039
4081
 
4040
- * Fixed saving a record with two unsaved belongs_to associations pointing to the same object #2023 [Tobias Luetke]
4082
+ * Fixed saving a record with two unsaved belongs_to associations pointing to the same object #2023 [Tobias Lütke]
4041
4083
 
4042
4084
  * Improved migrations' behavior when the schema_info table is empty. [Nicholas Seckar]
4043
4085
 
4044
4086
  * Fixed that Observers didn't observe sub-classes #627 [Florian Weber]
4045
4087
 
4046
- * Fix eager loading error messages, allow :include to specify tables using strings or symbols. Closes #2222 [Marcel Molina]
4088
+ * Fix eager loading error messages, allow :include to specify tables using strings or symbols. Closes #2222 [Marcel Molina Jr.]
4047
4089
 
4048
4090
  * Added check for RAILS_CONNECTION_ADAPTERS on startup and only load the connection adapters specified within if its present (available in Rails through config.connection_adapters using the new config) #1958 [skae]
4049
4091
 
4050
4092
  * Fixed various problems with has_and_belongs_to_many when using customer finder_sql #2094 [Florian Weber]
4051
4093
 
4052
- * Added better exception error when unknown column types are used with migrations #1814 [fbeausoleil@ftml.net]
4094
+ * Added better exception error when unknown column types are used with migrations #1814 [François Beausoleil]
4053
4095
 
4054
4096
  * Fixed "connection lost" issue with the bundled Ruby/MySQL driver (would kill the app after 8 hours of inactivity) #2163, #428 [kajism@yahoo.com]
4055
4097
 
@@ -4065,13 +4107,13 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4065
4107
 
4066
4108
  * Make sure the schema_info table is created before querying the current version #1903
4067
4109
 
4068
- * Fixtures ignore table name prefix and suffix #1987 [Jakob S]
4110
+ * Fixtures ignore table name prefix and suffix #1987 [Jakob Skjerning]
4069
4111
 
4070
- * Add documentation for index_type argument to add_index method for migrations #2005 [blaine@odeo.com]
4112
+ * Add documentation for index_type argument to add_index method for migrations #2005 [Blaine]
4071
4113
 
4072
4114
  * Modify read_attribute to allow a symbol argument #2024 [Ken Kunz]
4073
4115
 
4074
- * Make destroy return self #1913 [sebastian.kanthak@muehlheim.de]
4116
+ * Make destroy return self #1913 [Sebastian Kanthak]
4075
4117
 
4076
4118
  * Fix typo in validations documentation #1938 [court3nay]
4077
4119
 
@@ -4093,7 +4135,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4093
4135
 
4094
4136
  * Fixed the handling of multiple blob columns in Oracle if one or more of them are null #1798
4095
4137
 
4096
- * Added support for calling constrained class methods on has_many and has_and_belongs_to_many collections #1764 [Tobias Luetke]
4138
+ * Added support for calling constrained class methods on has_many and has_and_belongs_to_many collections #1764 [Tobias Lütke]
4097
4139
 
4098
4140
  class Comment < AR:B
4099
4141
  def self.search(q)
@@ -4125,19 +4167,19 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4125
4167
 
4126
4168
  *1.11.1* (11 July, 2005)
4127
4169
 
4128
- * Added support for limit and offset with eager loading of has_one and belongs_to associations. Using the options with has_many and has_and_belongs_to_many associations will now raise an ActiveRecord::ConfigurationError #1692 [Rick Olsen]
4170
+ * Added support for limit and offset with eager loading of has_one and belongs_to associations. Using the options with has_many and has_and_belongs_to_many associations will now raise an ActiveRecord::ConfigurationError #1692 [Rick Olson]
4129
4171
 
4130
4172
  * Fixed that assume_bottom_position (in acts_as_list) could be called on items already last in the list and they would move one position away from the list #1648 [tyler@kianta.com]
4131
4173
 
4132
4174
  * Added ActiveRecord::Base.threaded_connections flag to turn off 1-connection per thread (required for thread safety). By default it's on, but WEBrick in Rails need it off #1685 [Sam Stephenson]
4133
4175
 
4134
- * Correct reflected table name for singular associations. #1688 [court3nay@gmail.com]
4176
+ * Correct reflected table name for singular associations. #1688 [court3nay]
4135
4177
 
4136
4178
  * Fixed optimistic locking with SQL Server #1660 [tom@popdog.net]
4137
4179
 
4138
4180
  * Added ActiveRecord::Migrator.migrate that can figure out whether to go up or down based on the target version and the current
4139
4181
 
4140
- * Added better error message for "packets out of order" #1630 [courtenay]
4182
+ * Added better error message for "packets out of order" #1630 [court3nay]
4141
4183
 
4142
4184
  * Fixed first run of "rake migrate" on PostgreSQL by not expecting a return value on the id #1640
4143
4185
 
@@ -4148,7 +4190,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4148
4190
 
4149
4191
  * Changed logging of SQL statements to use the DEBUG level instead of INFO
4150
4192
 
4151
- * Added new Migrations framework for describing schema transformations in a way that can be easily applied across multiple databases #1604 [Tobias Luetke] See documentation under ActiveRecord::Migration and the additional support in the Rails rakefile/generator.
4193
+ * Added new Migrations framework for describing schema transformations in a way that can be easily applied across multiple databases #1604 [Tobias Lütke] See documentation under ActiveRecord::Migration and the additional support in the Rails rakefile/generator.
4152
4194
 
4153
4195
  * Added callback hooks to association collections #1549 [Florian Weber]. Example:
4154
4196
 
@@ -4171,13 +4213,13 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4171
4213
 
4172
4214
  * Speed up ActiveRecord#method_missing for the common case (read_attribute).
4173
4215
 
4174
- * Only notify observers on after_find and after_initialize if these methods are defined on the model. #1235 [skaes@web.de]
4216
+ * Only notify observers on after_find and after_initialize if these methods are defined on the model. #1235 [Stefan Kaes]
4175
4217
 
4176
4218
  * Fixed that single-table inheritance sub-classes couldn't be used to limit the result set with eager loading #1215 [Chris McGrath]
4177
4219
 
4178
4220
  * Fixed validates_numericality_of to work with overrided getter-method when :allow_nil is on #1316 [raidel@onemail.at]
4179
4221
 
4180
- * Added roots, root, and siblings to the batch of methods added by acts_as_tree #1541 [michael@schuerig.de]
4222
+ * Added roots, root, and siblings to the batch of methods added by acts_as_tree #1541 [Michael Schuerig]
4181
4223
 
4182
4224
  * Added support for limit/offset with the MS SQL Server driver so that pagination will now work #1569 [DeLynn Berry]
4183
4225
 
@@ -4199,7 +4241,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4199
4241
  :conditions => 'project_id=1'
4200
4242
  )
4201
4243
 
4202
- * Fixed that validations didn't respecting custom setting for too_short, too_long messages #1437 [Marcel Molina]
4244
+ * Fixed that validations didn't respecting custom setting for too_short, too_long messages #1437 [Marcel Molina Jr.]
4203
4245
 
4204
4246
  * Fixed that clear_association_cache doesn't delete new associations on new records (so you can safely place new records in the session with Action Pack without having new associations wiped) #1494 [cluon]
4205
4247
 
@@ -4226,7 +4268,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4226
4268
 
4227
4269
  * Corrected typo in find SQL for has_and_belongs_to_many. #1312 [ben@bensinclair.com]
4228
4270
 
4229
- * Fixed sanitized conditions for has_many finder method. #1281 [jackc@hylesanderson.com, pragdave, Tobias Luetke]
4271
+ * Fixed sanitized conditions for has_many finder method. #1281 [jackc@hylesanderson.com, pragdave, Tobias Lütke]
4230
4272
 
4231
4273
  * Comprehensive PostgreSQL schema support. Use the optional schema_search_path directive in database.yml to give a comma-separated list of schemas to search for your tables. This allows you, for example, to have tables in a shared schema without having to use a custom table name. See http://www.postgresql.org/docs/8.0/interactive/ddl-schemas.html to learn more. #827 [dave@cherryville.org]
4232
4274
 
@@ -4284,15 +4326,15 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4284
4326
  # SELECT * FROM topics WHERE title IN ('First', 'Second')
4285
4327
  Topic.find_all_by_title(["First", "Second"])
4286
4328
 
4287
- * Added compatibility with camelCase column names for dynamic finders #533 [Dee.Zsombor]
4329
+ * Added compatibility with camelCase column names for dynamic finders #533 [Dee Zsombor]
4288
4330
 
4289
- * Fixed extraneous comma in count() function that made it not work with joins #1156 [jarkko/Dee.Zsombor]
4331
+ * Fixed extraneous comma in count() function that made it not work with joins #1156 [Jarkko Laine/Dee Zsombor]
4290
4332
 
4291
4333
  * Fixed incompatibility with Base#find with an array of ids that would fail when using eager loading #1186 [Alisdair McDiarmid]
4292
4334
 
4293
4335
  * Fixed that validate_length_of lost :on option when :within was specified #1195 [jhosteny@mac.com]
4294
4336
 
4295
- * Added encoding and min_messages options for PostgreSQL #1205 [shugo]. Configuration example:
4337
+ * Added encoding and min_messages options for PostgreSQL #1205 [Shugo Maeda]. Configuration example:
4296
4338
 
4297
4339
  development:
4298
4340
  adapter: postgresql
@@ -4350,7 +4392,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4350
4392
  a single query. A good use case for this is a threaded post system, where you want
4351
4393
  to display every reply to a comment without multiple selects.
4352
4394
 
4353
- * Added Base.save! that attempts to save the record just like Base.save but will raise a RecordInvalid exception instead of returning false if the record is not valid [After much pestering from Dave Thomas]
4395
+ * Added Base.save! that attempts to save the record just like Base.save but will raise a RecordInvalid exception instead of returning false if the record is not valid [Dave Thomas]
4354
4396
 
4355
4397
  * Fixed PostgreSQL usage of fixtures with regards to public schemas and table names with dots #962 [gnuman1@gmail.com]
4356
4398
 
@@ -4380,7 +4422,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4380
4422
 
4381
4423
  * Fixed counter_sql when no records exist in database for PostgreSQL (would give error, not 0) #1039 [Caleb Tennis]
4382
4424
 
4383
- * Fixed that benchmarking times for rendering included db runtimes #987 [skaes@web.de]
4425
+ * Fixed that benchmarking times for rendering included db runtimes #987 [Stefan Kaes]
4384
4426
 
4385
4427
  * Fixed boolean queries for t/f fields in PostgreSQL #995 [dave@cherryville.org]
4386
4428
 
@@ -4388,9 +4430,9 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4388
4430
 
4389
4431
  * Fixed auto-stamping of dates (created_on/updated_on) for PostgreSQL #985 [dave@cherryville.org]
4390
4432
 
4391
- * Fixed Base.silence/benchmark to only log if a logger has been configured #986 [skaes@web.de]
4433
+ * Fixed Base.silence/benchmark to only log if a logger has been configured #986 [Stefan Kaes]
4392
4434
 
4393
- * Added a join parameter as the third argument to Base.find_first and as the second to Base.count #426, #988 [skaes@web.de]
4435
+ * Added a join parameter as the third argument to Base.find_first and as the second to Base.count #426, #988 [Stefan Kaes]
4394
4436
 
4395
4437
  * Fixed bug in Base#hash method that would treat records with the same string-based id as different [Dave Thomas]
4396
4438
 
@@ -4476,7 +4518,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4476
4518
  account.save # => CC with id = 12 is destroyed
4477
4519
 
4478
4520
 
4479
- * Added validates_numericality_of #716 [skanthak/c.r.mcgrath]. Docuemntation:
4521
+ * Added validates_numericality_of #716 [Sebastian Kanthak/Chris McGrath]. Docuemntation:
4480
4522
 
4481
4523
  Validates whether the value of the specified attribute is numeric by trying to convert it to
4482
4524
  a float with Kernel.Float (if <tt>integer</tt> is false) or applying it to the regular expression
@@ -4546,7 +4588,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4546
4588
  4. Added logic to the simplified_type method that allows the database to specify the scale of float data.
4547
4589
  5. Adjusted the quote_column_name to account for the fact that MS SQL is bothered by a forward slash in the data string.
4548
4590
 
4549
- * Fixed that the dynamic finder like find_all_by_something_boolean(false) didn't work #649 [lmarlow@yahoo.com]
4591
+ * Fixed that the dynamic finder like find_all_by_something_boolean(false) didn't work #649 [lmarlow]
4550
4592
 
4551
4593
  * Added validates_each that validates each specified attribute against a block #610 [Jeremy Kemper]. Example:
4552
4594
 
@@ -4758,7 +4800,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4758
4800
  After:
4759
4801
  before_destroy { |record| Person.destroy_all "firm_id = #{record.id}" }
4760
4802
 
4761
- * Added :counter_cache option to acts_as_tree that works just like the one you can define on belongs_to #371 [Josh]
4803
+ * Added :counter_cache option to acts_as_tree that works just like the one you can define on belongs_to #371 [Josh Peek]
4762
4804
 
4763
4805
  * Added Base.default_timezone accessor that determines whether to use Time.local (using :local) or Time.utc (using :utc) when pulling dates
4764
4806
  and times from the database. This is set to :local by default.
@@ -4777,7 +4819,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4777
4819
 
4778
4820
  * Fixed handling of binary content in blobs and similar fields for Ruby/MySQL and SQLite #409 [xal]
4779
4821
 
4780
- * Fixed a bug in the Ruby/MySQL that caused binary content to be escaped badly and come back mangled #405 [Tobias Luetke]
4822
+ * Fixed a bug in the Ruby/MySQL that caused binary content to be escaped badly and come back mangled #405 [Tobias Lütke]
4781
4823
 
4782
4824
  * Fixed that the const_missing autoload assumes the requested constant is set by require_association and calls const_get to retrieve it.
4783
4825
  If require_association did not set the constant then const_get will call const_missing, resulting in an infinite loop #380 [Jeremy Kemper]
@@ -4818,7 +4860,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4818
4860
  * Added work-around for PostgreSQL and the problem of getting fixtures to be created from id 1 on each test case.
4819
4861
  This only works for auto-incrementing primary keys called "id" for now #359 [Scott Baron]
4820
4862
 
4821
- * Added Base#clear_association_cache to empty all the cached associations #347 [Tobias Luetke]
4863
+ * Added Base#clear_association_cache to empty all the cached associations #347 [Tobias Lütke]
4822
4864
 
4823
4865
  * Added more informative exceptions in establish_connection #356 [Jeremy Kemper]
4824
4866
 
@@ -4835,7 +4877,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4835
4877
 
4836
4878
  * Added that query benchmarking will only happen if its going to be logged anyway #344
4837
4879
 
4838
- * Added higher_item and lower_item as public methods for acts_as_list #342 [Tobias Luetke]
4880
+ * Added higher_item and lower_item as public methods for acts_as_list #342 [Tobias Lütke]
4839
4881
 
4840
4882
  * Fixed that options[:counter_sql] was overwritten with interpolated sql rather than original sql #355 [Jeremy Kemper]
4841
4883
 
@@ -4866,7 +4908,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4866
4908
  validates_inclusion_of :age, :in=>0..99
4867
4909
  end
4868
4910
 
4869
- * Added acts_as_list that can decorates an existing class with methods like move_higher/lower, move_to_top/bottom. [Tobias Luetke] Example:
4911
+ * Added acts_as_list that can decorates an existing class with methods like move_higher/lower, move_to_top/bottom. [Tobias Lütke] Example:
4870
4912
 
4871
4913
  class TodoItem < ActiveRecord::Base
4872
4914
  acts_as_list :scope => :todo_list_id
@@ -4874,12 +4916,12 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4874
4916
  end
4875
4917
 
4876
4918
  * Added acts_as_tree that can decorates an existing class with a many to many relationship with itself. Perfect for categories in
4877
- categories and the likes. [Tobias Luetke]
4919
+ categories and the likes. [Tobias Lütke]
4878
4920
 
4879
4921
  * Added that Active Records will automatically record creation and/or update timestamps of database objects if fields of the names
4880
- created_at/created_on or updated_at/updated_on are present. [Tobias Luetke]
4922
+ created_at/created_on or updated_at/updated_on are present. [Tobias Lütke]
4881
4923
 
4882
- * Added Base.default_error_messages as a hash of all the error messages used in the validates_*_of so they can be changed in one place [Tobias Luetke]
4924
+ * Added Base.default_error_messages as a hash of all the error messages used in the validates_*_of so they can be changed in one place [Tobias Lütke]
4883
4925
 
4884
4926
  * Added automatic transaction block around AssociationCollection.<<, AssociationCollection.delete, and AssociationCollection.destroy_all
4885
4927
 
@@ -4912,13 +4954,13 @@ in effect. Added :readonly finder constraint. Calling an association collectio
4912
4954
  errors.on("name") # => "must be shorter"
4913
4955
 
4914
4956
  * Added Base.validates_format_of that Validates whether the value of the specified attribute is of the correct form by matching
4915
- it against the regular expression provided. [Marcel]
4957
+ it against the regular expression provided. [Marcel Molina Jr.]
4916
4958
 
4917
4959
  class Person < ActiveRecord::Base
4918
4960
  validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/, :on => :create
4919
4961
  end
4920
4962
 
4921
- * Added Base.validates_length_of that delegates to add_on_boundary_breaking #312 [Tobias Luetke]. Example:
4963
+ * Added Base.validates_length_of that delegates to add_on_boundary_breaking #312 [Tobias Lütke]. Example:
4922
4964
 
4923
4965
  Validates that the specified attribute matches the length restrictions supplied in either:
4924
4966
 
@@ -5137,7 +5179,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
5137
5179
 
5138
5180
  * Fixed that calling id would create the instance variable for new_records preventing them from being saved correctly [Jeremy Kemper]
5139
5181
 
5140
- * Added sanitization feature to HasManyAssociation#find_all so it works just like Base.find_all [Sam Stephenson/bitsweat]
5182
+ * Added sanitization feature to HasManyAssociation#find_all so it works just like Base.find_all [Sam Stephenson/Jeremy Kemper]
5141
5183
 
5142
5184
  * Added that you can pass overlapping ids to find without getting duplicated records back [Jeremy Kemper]
5143
5185
 
@@ -5147,7 +5189,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
5147
5189
 
5148
5190
  * Fixed that quotes would break regular non-yaml fixtures [Dmitry Sabanin/daft]
5149
5191
 
5150
- * Fixed fixtures on windows with line endings cause problems under unix / mac [Tobias Luetke]
5192
+ * Fixed fixtures on windows with line endings cause problems under unix / mac [Tobias Lütke]
5151
5193
 
5152
5194
  * Added HasAndBelongsToManyAssociation#find(id) that'll search inside the collection and find the object or record with that id
5153
5195
 
@@ -5225,7 +5267,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
5225
5267
  end
5226
5268
 
5227
5269
  This will assume that settings is a text column and will now YAMLize any object put in that attribute. You can also specify
5228
- an optional :class_name option that'll raise an exception if a serialized object is retrieved as a descendent of a class not in
5270
+ an optional :class_name option that'll raise an exception if a serialized object is retrieved as a descendant of a class not in
5229
5271
  the hierarchy. Example:
5230
5272
 
5231
5273
  class User < ActiveRecord::Base
@@ -5268,7 +5310,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
5268
5310
  project.milestones << Milestone.find_all
5269
5311
  end
5270
5312
 
5271
- * Added logging of invalid SQL statements [Suggested by Daniel Von Fange]
5313
+ * Added logging of invalid SQL statements [Daniel Von Fange]
5272
5314
 
5273
5315
  * Added alias Errors#[] for Errors#on, so you can now say person.errors["name"] to retrieve the errors for name [Andreas Schwarz]
5274
5316
 
@@ -5300,7 +5342,7 @@ in effect. Added :readonly finder constraint. Calling an association collectio
5300
5342
 
5301
5343
  * Changed class inheritable attributes to not use eval [Caio Chassot]
5302
5344
 
5303
- * Changed Errors#add to now use "invalid" as the default message instead of true, which means full_messages work with those [Marcel Molina Jr]
5345
+ * Changed Errors#add to now use "invalid" as the default message instead of true, which means full_messages work with those [Marcel Molina Jr.]
5304
5346
 
5305
5347
  * Fixed spelling on Base#add_on_boundry_breaking to Base#add_on_boundary_breaking (old naming still works) [Marcel Molina Jr.]
5306
5348
 
@@ -5721,7 +5763,7 @@ _Misc_
5721
5763
  *0.8.2*
5722
5764
 
5723
5765
  * Added inheritable callback queues that can ensure that certain callback methods or inline fragments are
5724
- run throughout the entire inheritance hierarchy. Regardless of whether a descendent overwrites the callback
5766
+ run throughout the entire inheritance hierarchy. Regardless of whether a descendant overwrites the callback
5725
5767
  method:
5726
5768
 
5727
5769
  class Topic < ActiveRecord::Base
@@ -5752,7 +5794,7 @@ _Misc_
5752
5794
 
5753
5795
  *0.8.1*
5754
5796
 
5755
- * Added object-level transactions [Thanks to Austin Ziegler for Transaction::Simple]
5797
+ * Added object-level transactions [Austin Ziegler]
5756
5798
 
5757
5799
  * Changed adapter-specific connection methods to use centralized ActiveRecord::Base.establish_connection,
5758
5800
  which is parametized through a config hash with symbol keys instead of a regular parameter list.
@@ -5787,4 +5829,4 @@ _Misc_
5787
5829
  *0.7.6*
5788
5830
 
5789
5831
  * Fixed the install.rb to create the lib/active_record/support directory [Spotted by Gavin Sinclair]
5790
- * Fixed that has_association? would always return true [Spotted by Daniel Von Fange]
5832
+ * Fixed that has_association? would always return true [Daniel Von Fange]