activesupport 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 activesupport might be problematic. Click here for more details.

Files changed (94) hide show
  1. data/CHANGELOG +128 -89
  2. data/lib/active_support.rb +31 -33
  3. data/lib/active_support/backtrace_cleaner.rb +72 -0
  4. data/lib/active_support/buffered_logger.rb +9 -7
  5. data/lib/active_support/cache.rb +13 -8
  6. data/lib/active_support/cache/drb_store.rb +2 -3
  7. data/lib/active_support/cache/mem_cache_store.rb +6 -1
  8. data/lib/active_support/cache/strategy/local_cache.rb +104 -0
  9. data/lib/active_support/callbacks.rb +20 -21
  10. data/lib/active_support/core_ext.rb +1 -1
  11. data/lib/active_support/core_ext/array.rb +2 -0
  12. data/lib/active_support/core_ext/array/conversions.rb +26 -13
  13. data/lib/active_support/core_ext/array/wrapper.rb +24 -0
  14. data/lib/active_support/core_ext/benchmark.rb +13 -6
  15. data/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +14 -5
  16. data/lib/active_support/core_ext/class/attribute_accessors.rb +24 -24
  17. data/lib/active_support/core_ext/class/delegating_attributes.rb +20 -19
  18. data/lib/active_support/core_ext/class/inheritable_attributes.rb +34 -34
  19. data/lib/active_support/core_ext/date/conversions.rb +3 -3
  20. data/lib/active_support/core_ext/date_time/conversions.rb +1 -1
  21. data/lib/active_support/core_ext/enumerable.rb +9 -0
  22. data/lib/active_support/core_ext/exception.rb +12 -8
  23. data/lib/active_support/core_ext/file/atomic.rb +2 -2
  24. data/lib/active_support/core_ext/hash/conversions.rb +32 -54
  25. data/lib/active_support/core_ext/hash/indifferent_access.rb +6 -0
  26. data/lib/active_support/core_ext/hash/keys.rb +1 -1
  27. data/lib/active_support/core_ext/hash/slice.rb +8 -1
  28. data/lib/active_support/core_ext/logger.rb +8 -6
  29. data/lib/active_support/core_ext/module/aliasing.rb +3 -3
  30. data/lib/active_support/core_ext/module/attr_accessor_with_default.rb +4 -4
  31. data/lib/active_support/core_ext/module/attribute_accessors.rb +24 -24
  32. data/lib/active_support/core_ext/module/delegation.rb +29 -3
  33. data/lib/active_support/core_ext/module/synchronization.rb +5 -5
  34. data/lib/active_support/core_ext/object/conversions.rb +2 -1
  35. data/lib/active_support/core_ext/object/misc.rb +16 -0
  36. data/lib/active_support/core_ext/range/conversions.rb +1 -1
  37. data/lib/active_support/core_ext/rexml.rb +29 -24
  38. data/lib/active_support/core_ext/string/inflections.rb +3 -3
  39. data/lib/active_support/core_ext/time/calculations.rb +1 -2
  40. data/lib/active_support/core_ext/time/conversions.rb +1 -1
  41. data/lib/active_support/core_ext/try.rb +36 -0
  42. data/lib/active_support/dependencies.rb +18 -14
  43. data/lib/active_support/deprecation.rb +10 -57
  44. data/lib/active_support/duration.rb +3 -1
  45. data/lib/active_support/inflections.rb +1 -0
  46. data/lib/active_support/inflector.rb +16 -7
  47. data/lib/active_support/json/decoding.rb +21 -3
  48. data/lib/active_support/json/encoders/date.rb +1 -1
  49. data/lib/active_support/json/encoders/date_time.rb +1 -1
  50. data/lib/active_support/json/encoders/hash.rb +10 -11
  51. data/lib/active_support/json/encoders/time.rb +1 -1
  52. data/lib/active_support/json/encoding.rb +23 -29
  53. data/lib/active_support/locale/en.yml +3 -2
  54. data/lib/active_support/memoizable.rb +61 -43
  55. data/lib/active_support/message_encryptor.rb +70 -0
  56. data/lib/active_support/message_verifier.rb +46 -0
  57. data/lib/active_support/multibyte.rb +6 -30
  58. data/lib/active_support/multibyte/chars.rb +30 -9
  59. data/lib/active_support/multibyte/unicode_database.rb +4 -4
  60. data/lib/active_support/option_merger.rb +7 -1
  61. data/lib/active_support/ordered_hash.rb +75 -27
  62. data/lib/active_support/secure_random.rb +8 -6
  63. data/lib/active_support/test_case.rb +32 -17
  64. data/lib/active_support/testing/{core_ext/test/unit/assertions.rb → assertions.rb} +13 -20
  65. data/lib/active_support/testing/declarative.rb +21 -0
  66. data/lib/active_support/testing/deprecation.rb +55 -0
  67. data/lib/active_support/testing/performance.rb +1 -1
  68. data/lib/active_support/testing/setup_and_teardown.rb +57 -86
  69. data/lib/active_support/time_with_zone.rb +8 -6
  70. data/lib/active_support/values/time_zone.rb +1 -0
  71. data/lib/active_support/vendor.rb +6 -11
  72. data/lib/active_support/vendor/i18n-0.1.3/MIT-LICENSE +20 -0
  73. data/lib/active_support/vendor/i18n-0.1.3/README.textile +20 -0
  74. data/lib/active_support/vendor/i18n-0.1.3/Rakefile +5 -0
  75. data/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec +27 -0
  76. data/lib/active_support/vendor/{i18n-0.0.1 → i18n-0.1.3/lib}/i18n.rb +42 -37
  77. data/lib/active_support/vendor/{i18n-0.0.1 → i18n-0.1.3/lib}/i18n/backend/simple.rb +37 -39
  78. data/lib/active_support/vendor/{i18n-0.0.1 → i18n-0.1.3/lib}/i18n/exceptions.rb +3 -3
  79. data/lib/active_support/vendor/i18n-0.1.3/test/all.rb +5 -0
  80. data/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb +100 -0
  81. data/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb +125 -0
  82. data/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb +1 -0
  83. data/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml +3 -0
  84. data/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb +568 -0
  85. data/lib/active_support/vendor/{memcache-client-1.5.1 → memcache-client-1.6.5}/memcache.rb +381 -295
  86. data/lib/active_support/version.rb +2 -2
  87. data/lib/active_support/xml_mini.rb +31 -0
  88. data/lib/active_support/xml_mini/libxml.rb +133 -0
  89. data/lib/active_support/xml_mini/nokogiri.rb +77 -0
  90. data/lib/active_support/xml_mini/rexml.rb +108 -0
  91. metadata +85 -14
  92. data/lib/active_support/multibyte/utils.rb +0 -61
  93. data/lib/active_support/testing/core_ext/test.rb +0 -6
  94. data/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb +0 -1021
data/CHANGELOG CHANGED
@@ -1,27 +1,66 @@
1
- *2.2.3 (September 4th, 2009)*
1
+ *2.3.2 [Final] (March 15, 2009)*
2
2
 
3
- * Introduce ActiveSupport::Multibyte.clean to clean invalid multibyte strings.
3
+ * XmlMini supports LibXML and Nokogiri backends. #2084, #2190 [Bart ten Brinke, Aaron Patterson]
4
+ Example: XmlMini.backend = 'Nokogiri'
5
+
6
+ * Vendorize i18n 0.1.3 gem (fixes issues with incompatible character encodings in Ruby 1.9) #2038 [Akira Matsuda]
7
+
8
+ * Update bundled memcache-client from 1.5.0.5 to 1.6.4.99. See http://www.mikeperham.com/2009/02/15/memcache-client-performance/ [Mike Perham]
4
9
 
5
10
  * Ruby 1.9.1p0 fix: URI.unescape can decode multibyte chars. #2033 [MOROHASHI Kyosuke]
6
11
 
12
+ * Time#to_s(:rfc822) uses #formatted_offset instead of unreliable and non-standard %z directive #1899 [Zachary Zolton]
13
+
14
+ * Make TimeWithZone#to_formatted_s an alias to TimeWithZone#to_s #1796 [Levin Alexander]
15
+
16
+ * Introduce Array.wrap(foo) to wrap the argument in an array unless it's already an array. Wraps nil as an empty array. Use instead of Array(foo) and foo.to_a since they treat String as Enumerable. [Jeremy Kemper]
17
+
7
18
  * TimeWithZone#xmlschema accepts optional fraction_digits argument [#1725 state:resolved] [Nicholas Dainty]
8
19
 
20
+ * Object#tap shim for Ruby < 1.8.7. Similar to Object#returning, tap yields self then returns self. [Jeremy Kemper]
21
+ array.select { ... }.tap(&:inspect).map { ... }
22
+
9
23
  * TimeWithZone#- gives correct result with wrapped DateTime, and with DateTime argument [Geoff Buesing]
10
24
 
25
+ * Updated i18n gem to version 0.1.1 #1635 [Yaroslav Markin]
26
+
27
+ * Add :allow_nil option to delegate. #1127 [Sergio Gil]
28
+
29
+ * Add Benchmark.ms convenience method to benchmark realtime in milliseconds. [Jeremy Kemper]
30
+
31
+ * Updated included memcache-client to the 1.5.0.5 version which includes fixes from fiveruns and 37signals to deal with failover and timeouts #1535 [Joshua Sierles]
32
+
11
33
  * Multibyte: add multibyte-safe Chars#ord rather than falling back to String#ord. #1483 [Jason Cheow]
12
34
 
35
+ * I18n support for Array#to_sentence. Introduces support.array.words_connector, .two_words_connector, and .last_word_connector translation keys. #1397 [Akira Matsuda]
13
36
 
14
- *2.2.2 (November 21st, 2008)*
37
+ * Added ActiveSupport::OrderedHash#each_key and ActiveSupport::OrderedHash#each_value #1410 [Christoffer Sawicki]
38
+
39
+ * Added ActiveSupport::MessageVerifier and MessageEncryptor to aid users who need to store signed and/or encrypted messages. [Michael Koziarski]
40
+
41
+ * Added ActiveSupport::BacktraceCleaner to cut down on backtrace noise according to filters and silencers [David Heinemeier Hansson]
42
+
43
+ * Added Object#try. ( Taken from http://ozmm.org/posts/try.html ) [Chris Wanstrath]
44
+
45
+ * Added Enumerable#none? to check that none of the elements match the block #1408 [Damian Janowski]
15
46
 
16
47
  * TimeZone offset tests: use current_period, to ensure TimeZone#utc_offset is up-to-date [Geoff Buesing]
17
48
 
18
49
  * Update bundled TZInfo to 0.3.12 [Geoff Buesing]
19
50
 
51
+ * Added lambda merging to OptionMerger (especially useful with named_scope and with_options) #726 [Paweł Kondzior]
52
+
53
+
54
+ *2.2.1 [RC2] (November 14th, 2008)*
55
+
20
56
  * Increment the version of our altered memcache-client to prevent confusion caused when the 1.5.0 gem is installed.
21
57
 
22
58
  * Fixed the option merging in Array#to_xml #1126 [Rudolf Gavlas]
23
59
 
24
- * Make I18n::Backend::Simple reload its translations in development mode [DHH/Sven Fuchs]
60
+ * Make I18n::Backend::Simple reload its translations in development mode [David Heinemeier Hansson/Sven Fuchs]
61
+
62
+
63
+ *2.2.0 [RC1] (October 24th, 2008)*
25
64
 
26
65
  * TimeWithZone#freeze: preload instance variables so that we can actually freeze [Geoff Buesing]
27
66
 
@@ -29,7 +68,7 @@
29
68
 
30
69
  * Time#advance recognizes fractional days and weeks. Deprecate Durations of fractional months and years #970 [Tom Lea]
31
70
 
32
- * Add ActiveSupport::Rescuable module abstracting ActionController::Base rescue_from features. [Norbert Crombach, Pratik]
71
+ * Add ActiveSupport::Rescuable module abstracting ActionController::Base rescue_from features. [Norbert Crombach, Pratik Naik]
33
72
 
34
73
  * Switch from String#chars to String#mb_chars for the unicode proxy. [Manfred Stienstra]
35
74
 
@@ -43,7 +82,7 @@
43
82
 
44
83
  * Added Inflector#parameterize for easy slug generation ("Donald E. Knuth".parameterize => "donald-e-knuth") #713 [Matt Darby]
45
84
 
46
- * Changed cache benchmarking to be reported in milliseconds [DHH]
85
+ * Changed cache benchmarking to be reported in milliseconds [David Heinemeier Hansson]
47
86
 
48
87
  * Fix Ruby's Time marshaling bug in pre-1.9 versions of Ruby: utc instances are now correctly unmarshaled with a utc zone instead of the system local zone [#900 state:resolved] [Luca Guidi, Geoff Buesing]
49
88
 
@@ -59,7 +98,7 @@
59
98
 
60
99
  * Move the test related core_ext stuff out of core_ext so it's only loaded by the test helpers. [Michael Koziarski]
61
100
 
62
- * Add Inflection rules for String#humanize. #535 [dcmanges]
101
+ * Add Inflection rules for String#humanize. #535 [Dan Manges]
63
102
 
64
103
  ActiveSupport::Inflector.inflections do |inflect|
65
104
  inflect.human(/_cnt$/i, '\1_count')
@@ -71,19 +110,19 @@
71
110
 
72
111
  * Added TimeZone #=~, to support matching zones by regex in time_zone_select. #195 [Ernie Miller]
73
112
 
74
- * Added Array#second through Array#fifth as aliases for Array#[1] through Array#[4] + Array#forty_two as alias for Array[41] [DHH]
113
+ * Added Array#second through Array#fifth as aliases for Array#[1] through Array#[4] + Array#forty_two as alias for Array[41] [David Heinemeier Hansson]
75
114
 
76
115
  * Added test/do declaration style testing to ActiveSupport::TestCase [DHH via Jay Fields]
77
116
 
78
- * Added Object#present? which is equivalent to !Object#blank? [DHH]
117
+ * Added Object#present? which is equivalent to !Object#blank? [David Heinemeier Hansson]
79
118
 
80
- * Added Enumberable#many? to encapsulate collection.size > 1 [DHH/Damian Janowski]
119
+ * Added Enumberable#many? to encapsulate collection.size > 1 [David Heinemeier Hansson/Damian Janowski]
81
120
 
82
121
  * Add more standard Hash methods to ActiveSupport::OrderedHash [Steve Purcell]
83
122
 
84
123
  * Namespace Inflector, Dependencies, OrderedOptions, and TimeZone under ActiveSupport [Josh Peek]
85
124
 
86
- * Added StringInquirer for doing things like StringInquirer.new("production").production? # => true and StringInquirer.new("production").development? # => false [DHH]
125
+ * Added StringInquirer for doing things like StringInquirer.new("production").production? # => true and StringInquirer.new("production").development? # => false [David Heinemeier Hansson]
87
126
 
88
127
  * Fixed Date#end_of_quarter to not blow up on May 31st [#289 state:resolved] (Danger)
89
128
 
@@ -120,7 +159,7 @@
120
159
 
121
160
  * TimeWithZone respects config.active_support.use_standard_json_time_format [Geoff Buesing]
122
161
 
123
- * Add config.active_support.escape_html_entities_in_json to allow disabling of html entity escaping. [rick]
162
+ * Add config.active_support.escape_html_entities_in_json to allow disabling of html entity escaping. [Rick Olson]
124
163
 
125
164
  * Improve documentation. [Xavier Noria]
126
165
 
@@ -132,7 +171,7 @@
132
171
 
133
172
  * TimeWithZone#method_missing: send to utc to advance with dst correctness, otherwise send to time. Adding tests for time calculations methods [Geoff Buesing]
134
173
 
135
- * Add config.active_support.use_standard_json_time_format setting so that Times and Dates export to ISO 8601 dates. [rick]
174
+ * Add config.active_support.use_standard_json_time_format setting so that Times and Dates export to ISO 8601 dates. [Rick Olson]
136
175
 
137
176
  * TZInfo: Removing unneeded TimezoneProxy class [Geoff Buesing]
138
177
 
@@ -150,9 +189,9 @@
150
189
 
151
190
  * TimeWithZone#usec returns 0 instead of error when DateTime is wrapped [Geoff Buesing]
152
191
 
153
- * Improve documentation. [Radar, Jan De Poorter, chuyeow, xaviershay, danger, miloops, Xavier Noria, Sunny Ripert]
192
+ * Improve documentation. [Ryan Bigg, Jan De Poorter, Cheah Chu Yeow, Xavier Shay, Jack Danger Canty, Emilio Tagua, Xavier Noria, Sunny Ripert]
154
193
 
155
- * Ensure that TimeWithZone#to_yaml works when passed a YAML::Emitter. [rick]
194
+ * Ensure that TimeWithZone#to_yaml works when passed a YAML::Emitter. [Rick Olson]
156
195
 
157
196
  * Ensure correct TimeWithZone#to_date [Geoff Buesing]
158
197
 
@@ -184,7 +223,7 @@
184
223
 
185
224
  * Adding TimeWithZone #marshal_dump and #marshal_load [Geoff Buesing]
186
225
 
187
- * Add OrderedHash#to_hash [josh]
226
+ * Add OrderedHash#to_hash [Josh Peek]
188
227
 
189
228
  * Adding Time#end_of_day, _quarter, _week, and _year. #9312 [Juanjo Bazan, Tarmo Tänav, BigTitus]
190
229
 
@@ -194,9 +233,9 @@
194
233
 
195
234
  * TimeWithZone #+ and #- behave consistently with numeric arguments regardless of whether wrapped time is a Time or DateTime; consistenty answers false to #acts_like?(:date) [Geoff Buesing]
196
235
 
197
- * Add String#squish and String#squish! to remove consecutive chunks of whitespace. #11123 [jordi, Henrik N]
236
+ * Add String#squish and String#squish! to remove consecutive chunks of whitespace. #11123 [Jordi Bunster, Henrik N]
198
237
 
199
- * Serialize BigDecimals as Floats when using to_yaml. #8746 [ernesto.jimenez]
238
+ * Serialize BigDecimals as Floats when using to_yaml. #8746 [Ernesto Jimenez]
200
239
 
201
240
  * Adding TimeWithZone #to_yaml, #to_datetime, #eql? and method aliases for duck-typing compatibility with Time [Geoff Buesing]
202
241
 
@@ -214,7 +253,7 @@
214
253
 
215
254
  * TimeZone#new method renamed #local; when used with Time.zone, constructor now reads: Time.zone.local() [Geoff Buesing]
216
255
 
217
- * Added Base64.encode64s to encode values in base64 without the newlines. This makes the values immediately usable as URL parameters or memcache keys without further processing [DHH]
256
+ * Added Base64.encode64s to encode values in base64 without the newlines. This makes the values immediately usable as URL parameters or memcache keys without further processing [David Heinemeier Hansson]
218
257
 
219
258
  * Remove :nodoc: entries around the ActiveSupport test/unit assertions. #10946 [dancroak, jamesh]
220
259
 
@@ -222,7 +261,7 @@
222
261
 
223
262
  * cache.fetch(key, :force => true) to force a cache miss. [Jeremy Kemper]
224
263
 
225
- * Support retrieving TimeZones with a Duration. TimeZone[-28800] == TimeZone[-480.minutes]. [rick]
264
+ * Support retrieving TimeZones with a Duration. TimeZone[-28800] == TimeZone[-480.minutes]. [Rick Olson]
226
265
 
227
266
  * TimeWithZone#- added, so that #- can handle a Time or TimeWithZone argument correctly [Geoff Buesing]
228
267
 
@@ -270,21 +309,21 @@
270
309
 
271
310
  * TestCase: introduce declared setup and teardown callbacks. Pass a list of methods and an optional block to call before setup or after teardown. Setup callbacks are run in the order declared; teardown callbacks are run in reverse. [Jeremy Kemper]
272
311
 
273
- * Added ActiveSupport::Gzip.decompress/compress(source) as an easy wrapper for Zlib [Tobias Luetke]
312
+ * Added ActiveSupport::Gzip.decompress/compress(source) as an easy wrapper for Zlib [Tobias Lütke]
274
313
 
275
314
  * Included MemCache-Client to make the improved ActiveSupport::Cache::MemCacheStore work out of the box [Bob Cottrell, Eric Hodel]
276
315
 
277
- * Added ActiveSupport::Cache::* framework as an extraction from ActionController::Caching::Fragments::* [DHH]
316
+ * Added ActiveSupport::Cache::* framework as an extraction from ActionController::Caching::Fragments::* [David Heinemeier Hansson]
278
317
 
279
318
  * Fixed String#titleize to work for strings with 's too #10571 [trek]
280
319
 
281
- * Changed the implementation of Enumerable#group_by to use a double array approach instead of a hash such that the insert order is honored [DHH/Marcel]
320
+ * Changed the implementation of Enumerable#group_by to use a double array approach instead of a hash such that the insert order is honored [David Heinemeier Hansson/Marcel Molina Jr.]
282
321
 
283
- * remove multiple enumerations from ActiveSupport::JSON#convert_json_to_yaml when dealing with date/time values. [rick]
322
+ * remove multiple enumerations from ActiveSupport::JSON#convert_json_to_yaml when dealing with date/time values. [Rick Olson]
284
323
 
285
324
  * Hash#symbolize_keys skips keys that can't be symbolized. #10500 [Brad Greenlee]
286
325
 
287
- * Ruby 1.9 compatibility. #1689, #10466, #10468, #10554, #10594, #10632 [Cheah Chu Yeow, Pratik Naik, Jeremy Kemper, Dirkjan Bussink, fxn]
326
+ * Ruby 1.9 compatibility. #1689, #10466, #10468, #10554, #10594, #10632 [Cheah Chu Yeow, Pratik Naik, Jeremy Kemper, Dirkjan Bussink, Xavier Noria]
288
327
 
289
328
  * TimeZone#to_s uses UTC rather than GMT. #1689 [Cheah Chu Yeow]
290
329
 
@@ -295,7 +334,7 @@
295
334
 
296
335
  *2.0.1* (December 7th, 2007)
297
336
 
298
- * Added Array#from and Array#to that behaves just from String#from and String#to [DHH]
337
+ * Added Array#from and Array#to that behaves just from String#from and String#to [David Heinemeier Hansson]
299
338
 
300
339
  * Fix that empty collections should be treated as empty arrays regardless of whitespace for Hash#from_xml #10255 [adamj]
301
340
 
@@ -303,17 +342,17 @@
303
342
 
304
343
  * Change Time and DateTime #end_of_month to return last second of month instead of beginning of last day of month. Closes #10200 [Geoff Buesing]
305
344
 
306
- * Speedup String#blank? [Jeremy Kemper, Koz]
345
+ * Speedup String#blank? [Jeremy Kemper, Michael Koziarski]
307
346
 
308
347
  * Add documentation for Hash#diff. Closes #9306 [Tarmo Tänav]
309
348
 
310
- * Add new superclass_delegating_accessors. Similar to class inheritable attributes but with subtly different semantics. [Koz, Tarmo Tänav]
349
+ * Add new superclass_delegating_accessors. Similar to class inheritable attributes but with subtly different semantics. [Michael Koziarski, Tarmo Tänav]
311
350
 
312
351
  * Change JSON to encode %w(< > &) as 4 digit hex codes to be in compliance with the JSON spec. Closes #9975 [Josh Peek, Cheah Chu Yeow, Tim Pope]
313
352
 
314
- * Fix JSON encoding/decoding bugs dealing with /'s. Closes #9990 [Rick, theamazingrando]
353
+ * Fix JSON encoding/decoding bugs dealing with /'s. Closes #9990 [Rick Olson, theamazingrando]
315
354
 
316
- * Introduce a base class for all test cases used by rails applications. ActiveSupport::TestCase [Koz]
355
+ * Introduce a base class for all test cases used by rails applications. ActiveSupport::TestCase [Michael Koziarski]
317
356
 
318
357
  The intention is to use this to reduce the amount of monkeypatching / overriding that
319
358
  is done to test/unit's classes.
@@ -366,13 +405,13 @@
366
405
 
367
406
  * Backport Object#instance_variable_defined? for Ruby < 1.8.6. [Jeremy Kemper]
368
407
 
369
- * BufferedLogger#add converts the message to a string. #9702, #9724 [eigentone, DrMark, tomafro]
408
+ * BufferedLogger#add converts the message to a string. #9702, #9724 [eigentone, DrMark, Tom Ward]
370
409
 
371
- * Added ActiveSupport::BufferedLogger as a duck-typing alternative (albeit with no formatter) to the Ruby Logger, which provides a very nice speed bump (inspired by Ezra's buffered logger) [DHH]
410
+ * Added ActiveSupport::BufferedLogger as a duck-typing alternative (albeit with no formatter) to the Ruby Logger, which provides a very nice speed bump (inspired by Ezra's buffered logger) [David Heinemeier Hansson]
372
411
 
373
412
  * Object#instance_exec produces fewer garbage methods. [Mauricio Fernandez]
374
413
 
375
- * Decode json strings as Dates/Times if they're using a YAML-compatible format. Closes #9614 [Rick]
414
+ * Decode json strings as Dates/Times if they're using a YAML-compatible format. Closes #9614 [Rick Olson]
376
415
 
377
416
  * Fixed cache_page to use the request url instead of the routing options when picking a save path. #8614 [Josh Peek]
378
417
 
@@ -380,11 +419,11 @@
380
419
 
381
420
  * Fixed that pluralizing an empty string should return the same empty string, not "s". #7720 [Josh Peek]
382
421
 
383
- * Added call to inspect on non-string classes for the logger #8533 [codahale]
422
+ * Added call to inspect on non-string classes for the logger #8533 [Coda Hale]
384
423
 
385
424
  * Deprecation: remove deprecated :mday option from Time, Date, and DateTime#change. [Jeremy Kemper]
386
425
 
387
- * Fix JSON decoder with nested quotes and commas. #9579 [zdennis]
426
+ * Fix JSON decoder with nested quotes and commas. #9579 [Zach Dennis]
388
427
 
389
428
  * Hash#to_xml doesn't double-unescape. #8806 [Ezran]
390
429
 
@@ -396,27 +435,27 @@
396
435
 
397
436
  * Deprecation: removed Reloadable. [Jeremy Kemper]
398
437
 
399
- * Make the utf-handler return the correct value for non-matching regular expressions. Closes #9049 [manfred]
438
+ * Make the utf-handler return the correct value for non-matching regular expressions. Closes #9049 [Manfred Stienstra]
400
439
 
401
- * Add ljust, rjust and center to utf8-handler. Closes #9165 [manfred]
440
+ * Add ljust, rjust and center to utf8-handler. Closes #9165 [Manfred Stienstra]
402
441
 
403
- * Fix Time#advance bug when trying to advance a year from leap day. Closes #8655 [gbuesing]
442
+ * Fix Time#advance bug when trying to advance a year from leap day. Closes #8655 [Geoff Buesing]
404
443
 
405
- * Add support for []= on ActiveSupport::Multibyte::Chars. Closes #9142. [ewan, manfred]
444
+ * Add support for []= on ActiveSupport::Multibyte::Chars. Closes #9142. [ewan, Manfred Stienstra]
406
445
 
407
446
  * Added Array#extract_options! to encapsulate the pattern of getting an options hash out of a variable number of parameters. #8759 [Norbert Crombach]
408
447
 
409
448
  * Let alias_attribute work with attributes with initial capital letters (legacy columns etc). Closes #8596 [mpalmer]
410
449
 
411
- * Added Hash#except which is the inverse of Hash#slice -- return the hash except the keys that are specified [DHH]
450
+ * Added Hash#except which is the inverse of Hash#slice -- return the hash except the keys that are specified [David Heinemeier Hansson]
412
451
 
413
- * Added support for pluralization with a different starting letter than the singular version (cow/kine) #4929 [norri_b/hasmanyjosh]
452
+ * Added support for pluralization with a different starting letter than the singular version (cow/kine) #4929 [norri_b/Josh Susser]
414
453
 
415
454
  * Demote Hash#to_xml to use XmlSimple#xml_in_string so it can't read files or stdin. #8453 [candlerb, Jeremy Kemper]
416
455
 
417
- * Backport clean_logger changes to support ruby 1.8.2 [mislav]
456
+ * Backport clean_logger changes to support ruby 1.8.2 [Mislav Marohnić]
418
457
 
419
- * Added proper handling of arrays #8537 [hasmanyjosh]
458
+ * Added proper handling of arrays #8537 [Josh Susser]
420
459
 
421
460
  Before:
422
461
  Hash.from_xml '<images></images>'
@@ -450,7 +489,7 @@
450
489
 
451
490
  * Move common DateTime calculations to Date. #8536 [Geoff Buesing]
452
491
 
453
- * Added Date#change (like Time#change) [DHH]
492
+ * Added Date#change (like Time#change) [David Heinemeier Hansson]
454
493
 
455
494
  * DateTime#to_time converts to Time unless out of range. #8512 [Geoff Buesing]
456
495
 
@@ -458,7 +497,7 @@
458
497
 
459
498
  * Time durations use since instead of + for accuracy. #8513 [Geoff Buesing]
460
499
 
461
- * escape <'s and >'s in JSON strings. #8371 [Rick]
500
+ * escape <'s and >'s in JSON strings. #8371 [Rick Olson]
462
501
 
463
502
  * Inflections: MatrixTest -> MatrixTests instead of MatricesTest. #8496 [jbwiv]
464
503
 
@@ -474,11 +513,11 @@
474
513
 
475
514
  * Simplify API of assert_difference by passing in an expression that is evaluated before and after the passed in block. See documenation for examples of new API. [Marcel Molina Jr.]
476
515
 
477
- * Added assert_difference and assert_no_difference to test/unit assertions [Tobias Luetke]
516
+ * Added assert_difference and assert_no_difference to test/unit assertions [Tobias Lütke]
478
517
 
479
- * Removed breakpointer and Binding.of_caller in favor of relying on ruby-debug by Kent Sibilev since the breakpointer has been broken since Ruby 1.8.4 and will not be coming back [DHH]
518
+ * Removed breakpointer and Binding.of_caller in favor of relying on ruby-debug by Kent Sibilev since the breakpointer has been broken since Ruby 1.8.4 and will not be coming back [David Heinemeier Hansson]
480
519
 
481
- * Added parsing of file type in Hash.xml_in so you can easily do file uploads with base64 from an API [DHH]
520
+ * Added parsing of file type in Hash.xml_in so you can easily do file uploads with base64 from an API [David Heinemeier Hansson]
482
521
 
483
522
  <person>
484
523
  <name>David</name>
@@ -498,9 +537,9 @@
498
537
 
499
538
  * Use XSD-compatible type names for Hash#to_xml and make the converters extendable #8047 [Tim Pope]
500
539
 
501
- * Added yielding of builder in Hash#to_xml [DHH]
540
+ * Added yielding of builder in Hash#to_xml [David Heinemeier Hansson]
502
541
 
503
- * Hash#with_indifferent_access now also converts hashes kept in arrays to indifferent access (makes it easier to treat HTML and XML parameters the same) [DHH]
542
+ * Hash#with_indifferent_access now also converts hashes kept in arrays to indifferent access (makes it easier to treat HTML and XML parameters the same) [David Heinemeier Hansson]
504
543
 
505
544
  * Hash#to_xml supports YAML attributes. #7502 [jonathan]
506
545
 
@@ -518,9 +557,9 @@
518
557
 
519
558
  * Give DateTime correct .to_s implementations, lets it play nice with ActiveRecord quoting. #7649 [Geoff Buesing]
520
559
 
521
- * Add File.atomic_write, allows you to write large files in an atomic manner, preventing users from seeing half written files. [Koz]
560
+ * Add File.atomic_write, allows you to write large files in an atomic manner, preventing users from seeing half written files. [Michael Koziarski]
522
561
 
523
- * Allow users to provide custom formatters to Logger. [aeden]
562
+ * Allow users to provide custom formatters to Logger. [Anthony Eden]
524
563
 
525
564
  * Hash#to_query CGI-escapes its keys. [Jeremy Kemper]
526
565
 
@@ -529,7 +568,7 @@
529
568
  * :db format for Date#to_s [Jeremy Kemper]
530
569
  Date.new(2007, 1, 27).to_s(:db) # => '2007-01-27'
531
570
 
532
- * Added :instance_writer option to #mattr_writer/accessor, #cattr_writer/accessor, and #class_inheritable_writer to skip the creation of the instance writer. [Rick]
571
+ * Added :instance_writer option to #mattr_writer/accessor, #cattr_writer/accessor, and #class_inheritable_writer to skip the creation of the instance writer. [Rick Olson]
533
572
 
534
573
  * Added Hash#to_query to turn a hash of values into a form-encoded query string [Nicholas Seckar]
535
574
 
@@ -564,7 +603,7 @@ public for compatibility. [Jeremy Kemper]
564
603
 
565
604
  * Optimize Class Inheritable Attributes so that unnecessary hashes are not created. Closes #7472 [Bruce Perens]
566
605
 
567
- * Added :instance_writer option to #mattr_writer/accessor, #cattr_writer/accessor, and #class_inheritable_writer to skip the creation of the instance writer. [Rick]
606
+ * Added :instance_writer option to #mattr_writer/accessor, #cattr_writer/accessor, and #class_inheritable_writer to skip the creation of the instance writer. [Rick Olson]
568
607
 
569
608
  * Full test coverage for Inflector. #7228 [Dan Kubb]
570
609
 
@@ -589,13 +628,13 @@ public for compatibility. [Jeremy Kemper]
589
628
 
590
629
  * Fixed Array#to_xml when it contains a series of hashes (each piece would get its own XML declaration) #6610 [thkarcher/cyu]
591
630
 
592
- * Added Time#to_s(:time) which will just return H:M, like 17:44 [DHH]
631
+ * Added Time#to_s(:time) which will just return H:M, like 17:44 [David Heinemeier Hansson]
593
632
 
594
633
  * Add Module#attr_accessor_with_default to initialize value of attribute before setting it. Closes #6538. [Stuart Halloway, Marcel Molina Jr.]
595
634
 
596
- * Hash#to_xml handles keys with the same name as Kernel methods. #6613 [Catfish]
635
+ * Hash#to_xml handles keys with the same name as Kernel methods. #6613 [Jonathan del Strother]
597
636
 
598
- * Added Time#end_of_day to get 23:59:59 of that day [DHH]
637
+ * Added Time#end_of_day to get 23:59:59 of that day [David Heinemeier Hansson]
599
638
 
600
639
  * Don't quote hash keys in Hash#to_json if they're valid JavaScript identifiers. Disable this with ActiveSupport::JSON.unquote_hash_key_identifiers = false if you need strict JSON compliance. [Sam Stephenson]
601
640
 
@@ -605,11 +644,11 @@ public for compatibility. [Jeremy Kemper]
605
644
 
606
645
  * Fix unicode JSON regexp for Onigurama compatibility. #6494 [whitley]
607
646
 
608
- * update XmlSimple to 1.0.10. Closes #6532. [nicksieger]
647
+ * update XmlSimple to 1.0.10. Closes #6532. [Nick Sieger]
609
648
 
610
649
  * Update dependencies to allow constants to be defined alongside their siblings. A common case for this is AR model classes with STI; user.rb might define User, Administrator and Guest for example. [Nicholas Seckar]
611
650
 
612
- * next_week respects DST changes. #6483, #5617, #2353, #2509, #4551 [marclove, rabiedenharn, rails@roetzel.de, jsolson@damogran.org, drbrain@segment7.net]
651
+ * next_week respects DST changes. #6483, #5617, #2353, #2509, #4551 [marclove, Rob Biedenharn, rails@roetzel.de, jsolson@damogran.org, drbrain@segment7.net]
613
652
 
614
653
  * Expose methods added to Enumerable in the documentation, such as group_by. Closes #6170. [sergeykojin@gmail.com, Marcel Molina Jr.]
615
654
 
@@ -629,9 +668,9 @@ public for compatibility. [Jeremy Kemper]
629
668
 
630
669
  * Hash#to_xml supports Bignum and BigDecimal. #6313 [edibiase]
631
670
 
632
- * Don't undefine #class in OptionMerger [Rick]
671
+ * Don't undefine #class in OptionMerger [Rick Olson]
633
672
 
634
- * Hash.create_from_xml has been renamed to Hash.from_xml, alias will exist until Rails 2.0 [DHH]
673
+ * Hash.create_from_xml has been renamed to Hash.from_xml, alias will exist until Rails 2.0 [David Heinemeier Hansson]
635
674
 
636
675
  * alias_method_chain works with accessor= methods also. #6153 [Caio Chassot]
637
676
 
@@ -683,13 +722,13 @@ public for compatibility. [Jeremy Kemper]
683
722
  self.attr_internal_naming_format = '@%s__rofl'
684
723
  attr_internal :foo
685
724
 
686
- * Raise fully qualified names upon name errors. #5533 [lars@pinds.com, Nicholas Seckar]
725
+ * Raise fully qualified names upon name errors. #5533 [Lars Pind, Nicholas Seckar]
687
726
 
688
727
  * Add extention to obtain the missing constant from NameError instances. [Nicholas Seckar]
689
728
 
690
729
  * Thoroughly document inflections. #5700 [petermichaux@gmail.com]
691
730
 
692
- * Added Module#alias_attribute [Jamis/DHH]. Example:
731
+ * Added Module#alias_attribute [Jamis/David Heinemeier Hansson]. Example:
693
732
 
694
733
  class Content < ActiveRecord::Base
695
734
  # has a title attribute
@@ -711,23 +750,23 @@ public for compatibility. [Jeremy Kemper]
711
750
  Provide your own per-environment in e.g. config/environments/development.rb:
712
751
  ActiveSupport::Deprecation.behavior = Proc.new { |message| raise message }
713
752
 
714
- * First cut of the Rails Deprecation system. [Koz]
753
+ * First cut of the Rails Deprecation system. [Michael Koziarski]
715
754
 
716
755
  * Strip boolean XML content before checking for 'true' [Rick Olson]
717
756
 
718
- * Customize default BigDecimal formatting. References #5672 [dave@pragprog.com]
757
+ * Customize default BigDecimal formatting. References #5672 [Dave Thomas]
719
758
 
720
- * Correctly convert <foo nil="true"> to nil when using Hash.create_from_xml. [Rick]
759
+ * Correctly convert <foo nil="true"> to nil when using Hash.create_from_xml. [Rick Olson]
721
760
 
722
761
  * Optional identity for Enumerable#sum defaults to zero. #5657 [gensym@mac.com]
723
762
 
724
- * HashWithIndifferentAccess shouldn't confuse false and nil. #5601 [shugo@ruby-lang.org]
763
+ * HashWithIndifferentAccess shouldn't confuse false and nil. #5601 [Shugo Maeda]
725
764
 
726
765
  * Fixed HashWithIndifferentAccess#default #5586 [chris@seagul.co.uk]
727
766
 
728
767
  * More compatible Hash.create_from_xml. #5523 [nunemaker@gmail.com]
729
768
 
730
- * Added Enumerable#sum for calculating a sum from the elements [DHH, jonathan@daikini.com]. Examples:
769
+ * Added Enumerable#sum for calculating a sum from the elements [David Heinemeier Hansson, jonathan@daikini.com]. Examples:
731
770
 
732
771
  [1, 2, 3].sum
733
772
  payments.sum { |p| p.price * p.tax_rate }
@@ -749,7 +788,7 @@ public for compatibility. [Jeremy Kemper]
749
788
  {1 => "one", 2 => "two", 3 => "three"}.sort_by(&:first).map(&:last)
750
789
  #=> ["one", "two", "three"]
751
790
 
752
- * Added Hash.create_from_xml(string) which will create a hash from a XML string and even typecast if possible [DHH]. Example:
791
+ * Added Hash.create_from_xml(string) which will create a hash from a XML string and even typecast if possible [David Heinemeier Hansson]. Example:
753
792
 
754
793
  Hash.create_from_xml <<-EOT
755
794
  <note>
@@ -762,7 +801,7 @@ public for compatibility. [Jeremy Kemper]
762
801
 
763
802
  { :note => { :title => "This is a note", :created_at => Date.new(2004, 10, 10) } }
764
803
 
765
- * Added Jim Weirich's excellent FlexMock class to vendor (Copyright 2003, 2004 by Jim Weirich (jim@weriichhouse.org)) -- it's not automatically required, though, so require 'flexmock' is still necessary [DHH]
804
+ * Added Jim Weirich's excellent FlexMock class to vendor (Copyright 2003, 2004 by Jim Weirich (jim@weriichhouse.org)) -- it's not automatically required, though, so require 'flexmock' is still necessary [David Heinemeier Hansson]
766
805
 
767
806
  * Fixed that Module#alias_method_chain should work with both foo? foo! and foo at the same time #4954 [anna@wota.jp]
768
807
 
@@ -770,13 +809,13 @@ public for compatibility. [Jeremy Kemper]
770
809
 
771
810
  * Add OrderedHash#values. [Sam Stephenson]
772
811
 
773
- * Added Array#to_s(:db) that'll produce a comma-separated list of ids [DHH]. Example:
812
+ * Added Array#to_s(:db) that'll produce a comma-separated list of ids [David Heinemeier Hansson]. Example:
774
813
 
775
814
  Purchase.find(:all, :conditions => "product_id IN (#{shops.products.to_s(:db)})"
776
815
 
777
816
  * Normalize classify's argument to a String so that it plays nice with Symbols. [Marcel Molina Jr.]
778
817
 
779
- * Strip out leading schema name in classify. References #5139. [schoenm@earthlink.net]
818
+ * Strip out leading schema name in classify. References #5139. [Michael Schoen]
780
819
 
781
820
  * Remove Enumerable#first_match since break(value) handles the use case well enough. [Nicholas Seckar]
782
821
 
@@ -808,7 +847,7 @@ public for compatibility. [Jeremy Kemper]
808
847
 
809
848
  * Added Module#alias_method_chain [Jamis Buck]
810
849
 
811
- * Updated to Builder 2.0 [DHH]
850
+ * Updated to Builder 2.0 [David Heinemeier Hansson]
812
851
 
813
852
  * Add Array#split for dividing arrays into one or more subarrays by value or block. [Sam Stephenson]
814
853
 
@@ -839,7 +878,7 @@ public for compatibility. [Jeremy Kemper]
839
878
 
840
879
  * Added Fixnum#seconds for consistency, so you can say 5.minutes + 30.seconds instead of 5.minutes + 30 #4389 [François Beausoleil]
841
880
 
842
- * Added option to String#camelize to generate lower-cased camel case by passing in :lower, like "super_man".camelize(:lower) # => "superMan" [DHH]
881
+ * Added option to String#camelize to generate lower-cased camel case by passing in :lower, like "super_man".camelize(:lower) # => "superMan" [David Heinemeier Hansson]
843
882
 
844
883
  * Added Hash#diff to show the difference between two hashes [Chris McGrath]
845
884
 
@@ -847,12 +886,12 @@ public for compatibility. [Jeremy Kemper]
847
886
 
848
887
  * Enhance Inflector.underscore to convert '-' into '_' (as the inverse of Inflector.dasherize) [Jamis Buck]
849
888
 
850
- * Switched to_xml to use the xml schema format for datetimes. This allows the encoding of time zones and should improve operability. [Koz]
889
+ * Switched to_xml to use the xml schema format for datetimes. This allows the encoding of time zones and should improve operability. [Michael Koziarski]
851
890
 
852
891
  * Added a note to the documentation for the Date related Numeric extensions to indicate that they're
853
- approximations and shouldn't be used for critical calculations. [Koz]
892
+ approximations and shouldn't be used for critical calculations. [Michael Koziarski]
854
893
 
855
- * Added Hash#to_xml and Array#to_xml that makes it much easier to produce XML from basic structures [DHH]. Examples:
894
+ * Added Hash#to_xml and Array#to_xml that makes it much easier to produce XML from basic structures [David Heinemeier Hansson]. Examples:
856
895
 
857
896
  { :name => "David", :street_name => "Paulina", :age => 26, :moved_on => Date.new(2005, 11, 15) }.to_xml
858
897
 
@@ -865,7 +904,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
865
904
  <moved-on type="date">2005-11-15</moved-on>
866
905
  </person>
867
906
 
868
- * Moved Jim Weirich's wonderful Builder from Action Pack to Active Support (it's simply too useful to be stuck in AP) [DHH]
907
+ * Moved Jim Weirich's wonderful Builder from Action Pack to Active Support (it's simply too useful to be stuck in AP) [David Heinemeier Hansson]
869
908
 
870
909
  * Fixed that Array#to_sentence will return "" on an empty array instead of ", and" #3842, #4031 [rubyonrails@beautifulpixel.com]
871
910
 
@@ -894,7 +933,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
894
933
 
895
934
  [Marcel Molina Jr., Sam Stephenson]
896
935
 
897
- * Added Kernel#daemonize to turn the current process into a daemon that can be killed with a TERM signal [DHH]
936
+ * Added Kernel#daemonize to turn the current process into a daemon that can be killed with a TERM signal [David Heinemeier Hansson]
898
937
 
899
938
  * Add 'around' methods to Logger, to make it easy to log before and after messages for a given block as requested in #3809. [Michael Koziarski] Example:
900
939
 
@@ -909,7 +948,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
909
948
 
910
949
  * Make String#last return the string instead of nil when it is shorter than the limit [Scott Barron].
911
950
 
912
- * Added delegation support to Module that allows multiple delegations at once (unlike Forwardable in the stdlib) [DHH]. Example:
951
+ * Added delegation support to Module that allows multiple delegations at once (unlike Forwardable in the stdlib) [David Heinemeier Hansson]. Example:
913
952
 
914
953
  class Account < ActiveRecord::Base
915
954
  has_one :subscription
@@ -944,7 +983,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
944
983
  include Reloadable
945
984
  end
946
985
 
947
- Reloading a class is done by removing its constant which will cause it to be loaded again on the next reference. [DHH]
986
+ Reloading a class is done by removing its constant which will cause it to be loaded again on the next reference. [David Heinemeier Hansson]
948
987
 
949
988
  * Added auto-loading support for classes in modules, so Conductor::Migration will look for conductor/migration.rb and Conductor::Database::Settings will look for conductor/database/settings.rb [Nicholas Seckar]
950
989
 
@@ -952,7 +991,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
952
991
 
953
992
  * Add Proc#bind(object) for changing a proc or block's self by returning a Method bound to the given object. Based on why the lucky stiff's "cloaker" method. [Sam Stephenson]
954
993
 
955
- * Fix merge and dup for hashes with indifferent access #3404 [kenneth.miller@bitfield.net]
994
+ * Fix merge and dup for hashes with indifferent access #3404 [Ken Miller]
956
995
 
957
996
  * Fix the requires in option_merger_test to unbreak AS tests. [Sam Stephenson]
958
997
 
@@ -1059,7 +1098,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
1059
1098
 
1060
1099
  * Fixed clean logger to work with Ruby 1.8.3 Logger class #2245
1061
1100
 
1062
- * Fixed memory leak with Active Record classes when Dependencies.mechanism = :load #1704 [c.r.mcgrath@gmail.com]
1101
+ * Fixed memory leak with Active Record classes when Dependencies.mechanism = :load #1704 [Chris McGrath]
1063
1102
 
1064
1103
  * Fixed Inflector.underscore for use with acronyms, so HTML becomes html instead of htm_l #2173 [k@v2studio.com]
1065
1104
 
@@ -1069,11 +1108,11 @@ approximations and shouldn't be used for critical calculations. [Koz]
1069
1108
 
1070
1109
  * Added Hash#reverse_merge, Hash#reverse_merge!, and Hash#reverse_update to ease the use of default options
1071
1110
 
1072
- * Added Array#to_sentence that'll turn ['one', 'two', 'three'] into "one, two, and three" #2157 [m.stienstra@fngtps.com]
1111
+ * Added Array#to_sentence that'll turn ['one', 'two', 'three'] into "one, two, and three" #2157 [Manfred Stienstra]
1073
1112
 
1074
1113
  * Added Kernel#silence_warnings to turn off warnings temporarily for the passed block
1075
1114
 
1076
- * Added String#starts_with? and String#ends_with? #2118 [thijs@vandervossen.net]
1115
+ * Added String#starts_with? and String#ends_with? #2118 [Thijs van der Vossen]
1077
1116
 
1078
1117
  * Added easy extendability to the inflector through Inflector.inflections (using the Inflector::Inflections singleton class). Examples:
1079
1118
 
@@ -1116,7 +1155,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
1116
1155
 
1117
1156
  * Added new rules to the Inflector to deal with more unusual plurals mouse/louse => mice/lice, information => information, ox => oxen, virus => viri, archive => archives #1571, #1583, #1490, #1599, #1608 [foamdino@gmail.com/others]
1118
1157
 
1119
- * Fixed memory leak with Object#remove_subclasses_of, which inflicted a Rails application running in development mode with a ~20KB leak per request #1289 [c.r.mcgrath@gmail.com]
1158
+ * Fixed memory leak with Object#remove_subclasses_of, which inflicted a Rails application running in development mode with a ~20KB leak per request #1289 [Chris McGrath]
1120
1159
 
1121
1160
  * Made 1.year == 365.25.days to account for leap years. This allows you to do User.find(:all, :conditions => ['birthday > ?', 50.years.ago]) without losing a lot of days. #1488 [tuxie@dekadance.se]
1122
1161
 
@@ -1151,7 +1190,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
1151
1190
 
1152
1191
  * Fixed that in some circumstances controllers outside of modules may have hidden ones inside modules. For example, admin/content might have been hidden by /content. #1075 [Nicholas Seckar]
1153
1192
 
1154
- * Fixed inflection of perspectives and similar words #1045 [thijs@vandervossen.net]
1193
+ * Fixed inflection of perspectives and similar words #1045 [Thijs van der Vossen]
1155
1194
 
1156
1195
  * Added Fixnum#even? and Fixnum#odd?
1157
1196
 
@@ -1193,7 +1232,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
1193
1232
 
1194
1233
  * Added inflection rules for "sh" words, like "wish" and "fish" #755 [phillip@pjbsoftware.com]
1195
1234
 
1196
- * Fixed an exception when using Ajax based requests from Safari because Safari appends a \000 to the post body. Symbols can't have \000 in them so indifferent access would throw an exception in the constructor. Indifferent hashes now use strings internally instead. #746 [Tobias Luetke]
1235
+ * Fixed an exception when using Ajax based requests from Safari because Safari appends a \000 to the post body. Symbols can't have \000 in them so indifferent access would throw an exception in the constructor. Indifferent hashes now use strings internally instead. #746 [Tobias Lütke]
1197
1236
 
1198
1237
  * Added String#to_time and String#to_date for wrapping ParseDate
1199
1238
 
@@ -1259,7 +1298,7 @@ approximations and shouldn't be used for critical calculations. [Koz]
1259
1298
 
1260
1299
  * Added Inflections as an extension on String, so Inflector.pluralize(Inflector.classify(name)) becomes name.classify.pluralize #476 [Jeremy Kemper]
1261
1300
 
1262
- * Added Byte operations to Numeric, so 5.5.megabytes + 200.kilobytes #461 [Marcel Molina]
1301
+ * Added Byte operations to Numeric, so 5.5.megabytes + 200.kilobytes #461 [Marcel Molina Jr.]
1263
1302
 
1264
1303
  * Fixed that Dependencies.reload can't load the same file twice #420 [Kent Sibilev]
1265
1304