backports 3.22.1 → 3.24.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -4,22 +4,74 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [Unreleased]
7
+ ## [3.24.0](https://github.com/marcandre/backports/compare/v3.23.0...v3.24.0) - 2023-03-07
8
8
 
9
- Note: [Next major version (X-mas 2021?)](https://github.com/marcandre/backports/issues/139) may drop support for Ruby < 2.2, please comment.
9
+ ## Added
10
+
11
+ - `Class#attached_object` (Ruby 3.2)
12
+ - `Data` (Ruby 3.2)
13
+ - `Enumerator.product` and `Enumerator::Product` (Ruby 3.2)
14
+ - `Hash#shift` (with correct behavior when empty) (Ruby 3.2)
15
+ - `Integer#ceildiv` (Ruby 3.2)
16
+ - `MatchData#byteoffset` (Ruby 3.2)
17
+ - `Symbol#start_with?` (Ruby 2.7)
18
+
19
+ ## Fixed
20
+
21
+ - `Class#descendants` (removed, as it was not actually added in Ruby 3.1, sorry)
22
+
23
+ ## [3.23.0](https://github.com/marcandre/backports/compare/v3.22.1...v3.23.0) - 2021-12-28
24
+
25
+ ### Added
26
+
27
+ - `Integer.try_convert` (Ruby 3.1)
28
+ - `Symbol.end_with?` (Ruby 2.7) [#171]
29
+
30
+ ## [3.22.1](https://github.com/marcandre/backports/compare/v3.21.0...v3.22.1) - 2021-12-27
31
+
32
+ ### Added
33
+
34
+ Ruby 3.1 backports:
35
+
36
+ #### Array
37
+
38
+ - `intersect?`
39
+
40
+ #### Class
41
+
42
+ - `descendants`
43
+ - `subclasses`
44
+
45
+ #### Enumerable
46
+
47
+ - `compact`
48
+ - `tally` (with hash argument)
49
+
50
+ ### File
51
+
52
+ - `dirname` (with depth argument)
53
+
54
+ #### MatchData
55
+
56
+ - `match`
57
+ - `match_length`
58
+
59
+ #### Struct
60
+
61
+ - `keyword_init?`
10
62
 
11
63
  ## [3.21.0](https://github.com/marcandre/backports/compare/v3.20.1...v3.21.0) - 2021-03-31
12
64
 
13
65
  ### Added
14
66
 
15
- * Added `String#unpack1` (Ruby 2.4) [#166]
67
+ - Added `String#unpack1` (Ruby 2.4) [#166]
16
68
 
17
69
  ## [3.20.1](https://github.com/marcandre/backports/compare/v3.20.0...v3.20.1) - 2021-01-03
18
70
 
19
71
  ### Fixed
20
72
 
21
- * Added `Ractor.[]` and `[]=` [#161]
22
- * `Ractor.current` fixed from threads [#161]
73
+ - Added `Ractor.[]` and `[]=` [#161]
74
+ - `Ractor.current` fixed from threads [#161]
23
75
 
24
76
  ## [3.20.0](https://github.com/marcandre/backports/compare/v3.19.0...v3.20.0) - 2020-12-30
25
77
 
@@ -31,22 +83,24 @@ Ractor backport (all methods)
31
83
 
32
84
  ### Added
33
85
 
34
- * Ruby 3.0 backports
86
+ - Ruby 3.0 backports
87
+
88
+ - Env
35
89
 
36
- * Env
37
- * `except`
90
+ - `except`
38
91
 
39
- * Hash
40
- * `except`
41
- * `transform_keys`, `transform_keys!` (with hash argument)
92
+ - Hash
42
93
 
43
- * Symbol
44
- * `name`
94
+ - `except`
95
+ - `transform_keys`, `transform_keys!` (with hash argument)
45
96
 
46
- * Ruby 2.3 backports
97
+ - Symbol
98
+ - `name`
47
99
 
48
- * Queue
49
- * `close`, `closed?` (affects `push`, `pop` and aliases)
100
+ - Ruby 2.3 backports
101
+
102
+ - Queue
103
+ - `close`, `closed?` (affects `push`, `pop` and aliases)
50
104
 
51
105
  ## [3.18.2](https://github.com/marcandre/backports/compare/v3.18.0...v3.18.2) - 2020-08-26
52
106
 
@@ -82,10 +136,10 @@ Fix Range#size (Ruby 2.0) on Ruby 1.8.7 [#144]
82
136
 
83
137
  ### Added
84
138
 
85
- * Ruby 2.6 backports
139
+ - Ruby 2.6 backports
86
140
 
87
- * Range
88
- * `cover?` (with `Range` argument)
141
+ - Range
142
+ - `cover?` (with `Range` argument)
89
143
 
90
144
  ### Changed
91
145
 
@@ -107,148 +161,168 @@ Partly un-deprecated in 3.17.0!
107
161
 
108
162
  ### Added
109
163
 
110
- * Ruby 2.7 backports
164
+ - Ruby 2.7 backports
165
+
166
+ - Array
167
+
168
+ - `intersection`
169
+
170
+ - Comparable
171
+
172
+ - `clamp` (with range)
111
173
 
112
- * Array
113
- * `intersection`
174
+ - Complex
114
175
 
115
- * Comparable
116
- * `clamp` (with range)
176
+ - `<=>`
117
177
 
118
- * Complex
119
- * `<=>`
178
+ - Enumerable
120
179
 
121
- * Enumerable
122
- * `filter_map`
123
- * `tally`
180
+ - `filter_map`
181
+ - `tally`
124
182
 
125
- * Enumerator
126
- * `produce` (class method)
183
+ - Enumerator
127
184
 
128
- * Time
129
- * `floor`, `ceil`
185
+ - `produce` (class method)
186
+
187
+ - Time
188
+ - `floor`, `ceil`
130
189
 
131
190
  ## [3.15.0] - 2019-05-15
132
191
 
133
192
  ### Added
134
193
 
135
- * Proc / Method
136
- * `<<`, `>>`
194
+ - Proc / Method
195
+ - `<<`, `>>`
137
196
 
138
197
  ## 3.14.0 - 2019-04-29
139
198
 
140
199
  ### Added
141
200
 
142
- * Hash
143
- * `to_h` (with block)
201
+ - Hash
202
+ - `to_h` (with block)
144
203
 
145
204
  ## 3.13.0 - 2019-04-5
146
205
 
147
206
  ### Added
148
207
 
149
- * Hash
150
- * `merge`, `merge!`/`update` (with multiple arguments)
208
+ - Hash
209
+ - `merge`, `merge!`/`update` (with multiple arguments)
151
210
 
152
211
  ## 3.12.0 - 2019-02-20
153
212
 
154
213
  ### Added
155
214
 
156
- * Ruby 2.6.0 backports
157
- * Array
158
- * `difference`, `union`
159
- * `to_h` (with block)
215
+ - Ruby 2.6.0 backports
216
+
217
+ - Array
218
+
219
+ - `difference`, `union`
220
+ - `to_h` (with block)
160
221
 
161
- * Enumerable
162
- * `chain`
163
- * `to_h` (with block)
222
+ - Enumerable
164
223
 
165
- * Enumerator::Chain (use Enumerable#chain)
166
- * Kernel
167
- * `then`
224
+ - `chain`
225
+ - `to_h` (with block)
168
226
 
169
- * Additional backports for 2.5.0:
170
- * String
171
- * `undump`
227
+ - Enumerator::Chain (use Enumerable#chain)
228
+ - Kernel
229
+ - `then`
230
+
231
+ - Additional backports for 2.5.0:
232
+ - String
233
+ - `undump`
172
234
 
173
235
  ## 3.11.0 - 2017-12-25
174
236
 
175
237
  ### Added
176
238
 
177
- * Ruby version 2.5.0 backports
178
- * Array
179
- * `append`, `prepend`
239
+ - Ruby version 2.5.0 backports
240
+
241
+ - Array
242
+
243
+ - `append`, `prepend`
244
+
245
+ - Dir
246
+
247
+ - `children`, `each_child`
248
+
249
+ - Enumerable
180
250
 
181
- * Dir
182
- * `children`, `each_child`
251
+ - `any?`, `all?`, `none?`, `one?` (with pattern argument)
183
252
 
184
- * Enumerable
185
- * `any?`, `all?`, `none?`, `one?` (with pattern argument)
253
+ - Hash
186
254
 
187
- * Hash
188
- * `slice`
189
- * `transform_keys`
255
+ - `slice`
256
+ - `transform_keys`
190
257
 
191
- * Integer
192
- * `sqrt`
193
- * `allbits?`, `anybits?` and `nobits?`
258
+ - Integer
194
259
 
195
- * Kernel
196
- * `yield_self`
260
+ - `sqrt`
261
+ - `allbits?`, `anybits?` and `nobits?`
197
262
 
198
- * Module
199
- * `attr`, `attr_accessor`, `attr_reader`, `attr_writer` (now public)
200
- * `define_method`, `alias_method`, `undef_method`, `remove_method`
201
- (now public)
263
+ - Kernel
202
264
 
203
- * String
204
- * `delete_prefix`, `delete_prefix!`
205
- * `delete_suffix`, `delete_suffix!`
265
+ - `yield_self`
206
266
 
207
- * Struct
208
- * `new` (with `keyword_init: true`)
267
+ - Module
209
268
 
210
- * `require 'backports/latest'` is now the way to require everything, but is
211
- discouraged
269
+ - `attr`, `attr_accessor`, `attr_reader`, `attr_writer` (now public)
270
+ - `define_method`, `alias_method`, `undef_method`, `remove_method`
271
+ (now public)
272
+
273
+ - String
274
+
275
+ - `delete_prefix`, `delete_prefix!`
276
+ - `delete_suffix`, `delete_suffix!`
277
+
278
+ - Struct
279
+ - `new` (with `keyword_init: true`)
280
+
281
+ - `require 'backports/latest'` is now the way to require everything, but is
282
+ discouraged
212
283
 
213
284
  ## 3.10.0 - 2017-10-17
214
285
 
215
286
  ### Added
216
287
 
217
- * Additional features of 2.4.0
218
- * Enumerable
219
- * `uniq`
220
- * `sum`
288
+ - Additional features of 2.4.0
289
+
290
+ - Enumerable
221
291
 
222
- * Hash
223
- * `compact`
224
- * `transform_values`
292
+ - `uniq`
293
+ - `sum`
294
+
295
+ - Hash
296
+ - `compact`
297
+ - `transform_values`
225
298
 
226
299
  ## 3.9.0 - 2017-10-07
227
300
 
228
301
  ### Added
229
302
 
230
- * From 2.4.0: `dup` for `true`, `false`, `nil`, Numeric
231
- * From 2.2.0: `Method#super_method`
303
+ - From 2.4.0: `dup` for `true`, `false`, `nil`, Numeric
304
+ - From 2.2.0: `Method#super_method`
232
305
 
233
306
  ## 3.8.0 - 2017-04-26
234
307
 
235
308
  ### Added
236
309
 
237
- * From 2.4.0: `String#match?`, `Regexp#match?`
310
+ - From 2.4.0: `String#match?`, `Regexp#match?`
311
+
312
+ - From 2.3.0:
238
313
 
239
- * From 2.3.0:
240
- * unary `String#+`, `-`
241
- * Numeric: `positive?`, `negative?`
242
- * Hash: `to_proc`, `fetch_values`, `>`, `<`, `>=`, `<=`
243
- * Enumerable: `chunk_while`, `grep_v`
244
- * `{Array|Hash|Struct}#dig`
245
- * `Array#bsearch_index`
314
+ - unary `String#+`, `-`
315
+ - Numeric: `positive?`, `negative?`
316
+ - Hash: `to_proc`, `fetch_values`, `>`, `<`, `>=`, `<=`
317
+ - Enumerable: `chunk_while`, `grep_v`
318
+ - `{Array|Hash|Struct}#dig`
319
+ - `Array#bsearch_index`
246
320
 
247
- * From 2.2.0:
248
- * `Method#curry`
249
- * `String#unicode_normalize{|?|!}`
250
- * `Kernel#itself`
251
- * Float: `next_float`, `prev_float`
321
+ - From 2.2.0:
322
+ - `Method#curry`
323
+ - `String#unicode_normalize{|?|!}`
324
+ - `Kernel#itself`
325
+ - Float: `next_float`, `prev_float`
252
326
 
253
327
  ## 3.7.0 - 2017-03-28
254
328
 
@@ -256,146 +330,150 @@ Initiate work on backports of 2.2, 2.3, 2.4
256
330
 
257
331
  ### Added
258
332
 
259
- * From 2.4.0:
260
- * `Comparable#clamp`
333
+ - From 2.4.0:
334
+
335
+ - `Comparable#clamp`
261
336
 
262
- * From 2.2.0:
263
- * Enumerable: `slice_when`, `slice_after`
337
+ - From 2.2.0:
338
+ - Enumerable: `slice_when`, `slice_after`
264
339
 
265
340
  ## 3.6.0 - 2014-02-14
266
341
 
267
342
  ### Added
268
343
 
269
- * Additional features of 2.1.0
270
- * Bignum#bit_length
271
- * Fixnum#bit_length
272
- * Module#include (now public)
344
+ - Additional features of 2.1.0
345
+ - Bignum#bit_length
346
+ - Fixnum#bit_length
347
+ - Module#include (now public)
273
348
 
274
349
  ## 3.5.0 - 2014-02-3
275
350
 
276
351
  ### Added
277
352
 
278
- * Additional features of 2.0.0
279
- * Range#size
353
+ - Additional features of 2.0.0
354
+ - Range#size
280
355
 
281
356
  ## 3.4.0 - 2013-12-29
282
357
 
283
358
  ### Added
284
359
 
285
- * Additional features of 2.1.0
286
- * Array#to_h, Enumerable#to_h
360
+ - Additional features of 2.1.0
361
+ - Array#to_h, Enumerable#to_h
287
362
 
288
363
  ## 3.3.0 - 2013-04-03
289
364
 
290
365
  ### Fixed
291
366
 
292
- * Moved `Proc#yield` & `Hash#key` from 1.8.7 to 1.9.1
367
+ - Moved `Proc#yield` & `Hash#key` from 1.8.7 to 1.9.1
293
368
 
294
369
  ## 3.2.0 - 2013-04-02
295
370
 
296
371
  ### Fixed
297
372
 
298
- * Moved `Dir.mktmpdir` to the stdlib 'tmpdir' for Ruby 1.8.7
373
+ - Moved `Dir.mktmpdir` to the stdlib 'tmpdir' for Ruby 1.8.7
299
374
 
300
375
  ### Removed
301
376
 
302
- * Removed `returning` as it is no longer part of Rails.
377
+ - Removed `returning` as it is no longer part of Rails.
303
378
 
304
379
  ## 3.1.0 - 2013-03-05
305
380
 
306
381
  ### Added
307
382
 
308
- * Backports can now be loaded separately!
383
+ - Backports can now be loaded separately!
309
384
 
310
385
  ### Fixed
311
386
 
312
- * Small tweaks and fixes for many methods to pass more RubySpecs
387
+ - Small tweaks and fixes for many methods to pass more RubySpecs
313
388
 
314
389
  ## 3.0.0 - 2013-02-24
315
390
 
316
391
  ### Added
317
392
 
318
- * Additional features of 2.0.0
319
- * Struct#to_h, NilClass#to_h, Hash#to_h
320
- * Hash#default_proc = nil
321
- * OpenStruct lib
393
+ - Additional features of 2.0.0
322
394
 
323
- * 1.8.7's Enumerator#with_index (it wasn't in the 1.8.7 NEWS file...)
395
+ - Struct#to_h, NilClass#to_h, Hash#to_h
396
+ - Hash#default_proc = nil
397
+ - OpenStruct lib
398
+
399
+ - 1.8.7's Enumerator#with_index (it wasn't in the 1.8.7 NEWS file...)
324
400
 
325
401
  ## 2.8.0 - 2013-02-3
326
402
 
327
403
  ### Added
328
404
 
329
- * Added some features of 2.0.0 (must be required explicitly until official
330
- release):
331
- * Array#bsearch
332
- * Range#bsearch
405
+ - Added some features of 2.0.0 (must be required explicitly until official
406
+ release):
407
+ - Array#bsearch
408
+ - Range#bsearch
333
409
 
334
410
  ## 2.7.0 - 2013-01-14
335
411
 
336
412
  ### Added
337
413
 
338
- * Features of 2.0.0 (must be required explicitly until official
339
- release):
340
- * Enumerable#lazy
341
- * Enumerator::Lazy
414
+ - Features of 2.0.0 (must be required explicitly until official
415
+ release):
416
+ - Enumerable#lazy
417
+ - Enumerator::Lazy
342
418
 
343
419
  ## 2.6.0 - 2012-05-29
344
420
 
345
421
  ### Removed
346
422
 
347
- * Enumerable#join
423
+ - Enumerable#join
348
424
 
349
425
  ## 2.5.0 - 2012-02-25
350
426
 
351
427
  ### Added
352
428
 
353
- * Some features of 1.9.3:
354
- * IO::NULL
355
- * IO#advise
356
- * String#byteslice
357
- * String#prepend
429
+ - Some features of 1.9.3:
430
+ - IO::NULL
431
+ - IO#advise
432
+ - String#byteslice
433
+ - String#prepend
358
434
 
359
435
  ## 2.4.0 - 2012-02-24
360
436
 
361
437
  ### Added
362
438
 
363
- * Add backporting for libraries
439
+ - Add backporting for libraries
440
+
441
+ - Bring libraries up to date:
364
442
 
365
- * Bring libraries up to date:
366
- * Matrix
367
- * Prime
368
- * Set
443
+ - Matrix
444
+ - Prime
445
+ - Set
369
446
 
370
- * Some features of 1.9.3:
371
- * IO.write, IO.binwrite
447
+ - Some features of 1.9.3:
372
448
 
373
- * Forcing backports (must be required explicitly):
374
- * Hash#select (returns a Hash instead of an Array)
375
- * Enumerable / Array#map (returns an enumerator when called without a
376
- block)
377
- * String#length, size (for UTF-8 support)
449
+ - IO.write, IO.binwrite
450
+
451
+ - Forcing backports (must be required explicitly):
452
+ - Hash#select (returns a Hash instead of an Array)
453
+ - Enumerable / Array#map (returns an enumerator when called without a
454
+ block)
455
+ - String#length, size (for UTF-8 support)
378
456
 
379
457
  ## 2.3.0 - 2011-05-13
380
458
 
381
459
  ### Added
382
460
 
383
- * `Enumerator::Yielder#<<`
461
+ - `Enumerator::Yielder#<<`
384
462
 
385
463
  ## 2.2.0 - 2011-05-13
386
464
 
387
465
  ### Fixed
388
466
 
389
- * Ruby 1.8.8 was officially cancelled; code was moved to Ruby 1.9.1 and
390
- README updated.
467
+ - Ruby 1.8.8 was officially cancelled; code was moved to Ruby 1.9.1 and
468
+ README updated.
391
469
 
392
- * `"".ord` now raises an error.
470
+ - `"".ord` now raises an error.
393
471
 
394
472
  ## 2.1.0 - 2011-04-16
395
473
 
396
474
  ### Added
397
475
 
398
- * Proc#curry, #lambda (thanks Konstantine Haase)
476
+ - Proc#curry, #lambda (thanks Konstantine Haase)
399
477
 
400
478
  ## 2.0.0 - 2010-12-5
401
479
 
@@ -404,123 +482,123 @@ Initiate work on backports of 2.2, 2.3, 2.4
404
482
  Change of major version because of two small changes that are not quite
405
483
  compatible and because the minor version was getting quite high!
406
484
 
407
- * Remove attempt at faking the new method missing. Unless you used
408
- `respond_to_missing` **and**
409
- `method(:some_method_handled_with_method_missing)`, you won't see a
410
- difference, except better performance (see issue #32) and this fixes some
411
- errors (see issue #34)
485
+ - Remove attempt at faking the new method missing. Unless you used
486
+ `respond_to_missing` **and**
487
+ `method(:some_method_handled_with_method_missing)`, you won't see a
488
+ difference, except better performance (see issue #32) and this fixes some
489
+ errors (see issue #34)
412
490
 
413
- * Change behavior of array.flatten(0) to match Ruby 1.9 (i.e. return a dup
414
- of array, instead of array itself)
491
+ - Change behavior of array.flatten(0) to match Ruby 1.9 (i.e. return a dup
492
+ of array, instead of array itself)
415
493
 
416
494
  ## 1.18.0 - 2010-06-19
417
495
 
418
496
  ### Added
419
497
 
420
- * Some features of 1.9.1:
498
+ - Some features of 1.9.1:
421
499
 
422
- * Math#log2, Math#log with base
500
+ - Math#log2, Math#log with base
423
501
 
424
502
  ### Fixed
425
503
 
426
- * Enumerator#each in 1.8.6.
504
+ - Enumerator#each in 1.8.6.
427
505
 
428
506
  ## 1.17.0 - 2010-05-17
429
507
 
430
508
  ### Added
431
509
 
432
- * Some features of 1.9.2:
510
+ - Some features of 1.9.2:
433
511
 
434
- * Array#repeated_combination, #repeated_permutation
512
+ - Array#repeated_combination, #repeated_permutation
435
513
 
436
514
  ## 1.16.2 - 2010-04-11
437
515
 
438
516
  ### Added
439
517
 
440
- * Some features of 1.9.2:
518
+ - Some features of 1.9.2:
441
519
 
442
- * Array#uniq, #uniq! (with block)
443
- * Array#product (with block)
444
- * Dir.home
445
- * Hash#keep_if, select!
446
- * Random (new class)
520
+ - Array#uniq, #uniq! (with block)
521
+ - Array#product (with block)
522
+ - Dir.home
523
+ - Hash#keep_if, select!
524
+ - Random (new class)
447
525
 
448
526
  ## 1.15.0 - 2010-02-23
449
527
 
450
528
  ### Added
451
529
 
452
- * A features of 1.9.2:
530
+ - A features of 1.9.2:
453
531
 
454
- * Object#singleton_class
532
+ - Object#singleton_class
455
533
 
456
534
  ## 1.14.0 - 2010-02-3
457
535
 
458
536
  ### Added
459
537
 
460
- * Some features of 1.9.2:
538
+ - Some features of 1.9.2:
461
539
 
462
- * Array#rotate, rotate!
463
- * Array#keep_if, select!
464
- * Array#sort_by!
465
- * Enumerable#join
466
- * Enumerable#slice_before
467
- * Float::INFINITY, NAN
468
- * MatchData#==
540
+ - Array#rotate, rotate!
541
+ - Array#keep_if, select!
542
+ - Array#sort_by!
543
+ - Enumerable#join
544
+ - Enumerable#slice_before
545
+ - Float::INFINITY, NAN
546
+ - MatchData#==
469
547
 
470
548
  ## 1.13.0 - 2010-01-20
471
549
 
472
550
  ### Added
473
551
 
474
- * Missing for 1.8.7 were
475
- * Array#permutation
476
- * Hash#hash (was only inherited)
477
- * Hash#eql? (was only inherited)
552
+ - Missing for 1.8.7 were
553
+ - Array#permutation
554
+ - Hash#hash (was only inherited)
555
+ - Hash#eql? (was only inherited)
478
556
 
479
557
  ## 1.12.0 - 2009-12-4
480
558
 
481
559
  ### Added
482
560
 
483
- * Finer grain includes (see README) require "backports/1.9" # requires
484
- all ruby backports require "backports/1.9.1" # requires all ruby
485
- backports up to 1.9.1 (but not 1.9.2)
561
+ - Finer grain includes (see README) require "backports/1.9" # requires
562
+ all ruby backports require "backports/1.9.1" # requires all ruby
563
+ backports up to 1.9.1 (but not 1.9.2)
486
564
 
487
- * Backported all builtin methods of 1.8.8 (most of which where moved from
488
- the 1.9 backports)
565
+ - Backported all builtin methods of 1.8.8 (most of which where moved from
566
+ the 1.9 backports)
489
567
 
490
- * Refreshed README
568
+ - Refreshed README
491
569
 
492
570
  ## 1.11.0 - 2009-11-04
493
571
 
494
572
  ### Added
495
573
 
496
- * Enumerable#flat_map / collect_concat (Ruby 1.9)
574
+ - Enumerable#flat_map / collect_concat (Ruby 1.9)
497
575
 
498
- * Object#public_send (Ruby 1.9)
576
+ - Object#public_send (Ruby 1.9)
499
577
 
500
- * Object#public_method (Ruby 1.9)
578
+ - Object#public_method (Ruby 1.9)
501
579
 
502
580
  ## 1.10.0 - 2009-09-29
503
581
 
504
582
  ### Added
505
583
 
506
- * Enumerable#chunk (Ruby 1.9)
584
+ - Enumerable#chunk (Ruby 1.9)
507
585
 
508
- * Kernel#respond_to_missing? (Ruby 1.9)
586
+ - Kernel#respond_to_missing? (Ruby 1.9)
509
587
 
510
- * Completed Process.exec (Ruby 1.8.7)
588
+ - Completed Process.exec (Ruby 1.8.7)
511
589
 
512
590
  ## 1.9.0 - 2009-09-04
513
591
 
514
592
  ### Added
515
593
 
516
- * In Ruby 1.9, most class methods of File accept filenames as String, or
517
- convertible via #to_str or #to_path.
594
+ - In Ruby 1.9, most class methods of File accept filenames as String, or
595
+ convertible via #to_str or #to_path.
518
596
 
519
- * File#to_path is also an alias to File#path. These have been backported.
597
+ - File#to_path is also an alias to File#path. These have been backported.
520
598
 
521
- * File.binread (actually IO.binread)
599
+ - File.binread (actually IO.binread)
522
600
 
523
- * BasicObject available via "require 'backports/basic_object"
601
+ - BasicObject available via "require 'backports/basic_object"
524
602
 
525
603
  ## 1.8.4 - 2009-09-03
526
604
 
@@ -539,9 +617,10 @@ The alias String#lines (Ruby 1.8.7)
539
617
  ### Added
540
618
 
541
619
  Backports can be required selectively:
542
- * backports/1.8.7
543
- * backports/1.9 (which include 1.8.7)
544
- * rails
620
+
621
+ - backports/1.8.7
622
+ - backports/1.9 (which include 1.8.7)
623
+ - rails
545
624
 
546
625
  ## 1.7.1 - 2009-08-20
547
626
 
@@ -576,128 +655,149 @@ it.
576
655
 
577
656
  Completed backport to 1.8.7.
578
657
 
579
- * Array
580
- * `extract_options!`
658
+ - Array
659
+
660
+ - `extract_options!`
661
+
662
+ - Binding
663
+
664
+ - `eval`
665
+
666
+ - Dir
667
+
668
+ - `each`, `foreach`
669
+
670
+ - Enumerator
671
+
672
+ - `new`
673
+ - `with_object`
674
+ - `next`, `rewind`
581
675
 
582
- * Binding
583
- * `eval`
676
+ - Hash
584
677
 
585
- * Dir
586
- * `each`, `foreach`
678
+ - Optional block for `delete_if, each, each_key, each_pair, each_value, reject!, select` (and ENV)
587
679
 
588
- * Enumerator
589
- * `new`
590
- * `with_object`
591
- * `next`, `rewind`
680
+ - Integer
592
681
 
593
- * Hash
594
- * Optional block for `delete_if, each, each_key, each_pair, each_value,
595
- reject!, select` (and ENV)
682
+ - moved stuff out of Fixnum
683
+ - Optional block for `downto`, `times`, `upto`
596
684
 
597
- * Integer
598
- * moved stuff out of Fixnum
599
- * Optional block for `downto`, `times`, `upto`
685
+ - IO
600
686
 
601
- * IO
602
- * Optional block for `each`, `each_line`, `each_byte`, `foreach` (and
603
- ARGF)
687
+ - Optional block for `each`, `each_line`, `each_byte`, `foreach` (and
688
+ ARGF)
604
689
 
605
- * Kernel
606
- * `loop`, `StopIteration`
607
- * +__method__+, +__callee__+
690
+ - Kernel
608
691
 
609
- * Method
610
- * `name`, `owner`, `receiver`
692
+ - `loop`, `StopIteration`
693
+ - +**method**+, +**callee**+
611
694
 
612
- * Module
613
- * `class_exec`, `module_exec`
695
+ - Method
614
696
 
615
- * Numeric
616
- * `step`
697
+ - `name`, `owner`, `receiver`
617
698
 
618
- * Object
619
- * `define_singleton_method`
620
- * `instance_exec`
699
+ - Module
621
700
 
622
- * ObjectSpace
623
- * `each_object`
701
+ - `class_exec`, `module_exec`
624
702
 
625
- * Range
626
- * Optional block for `each`, `step`
703
+ - Numeric
627
704
 
628
- * Regexp
629
- * `union`
705
+ - `step`
630
706
 
631
- * String
632
- * `try_convert`
633
- * `ascii_only?`
634
- * `bytesize`
635
- * `chr`
636
- * `clear`
637
- * `codepoints`, `each_codepoint`
638
- * `stringify_keys`, `stringify_keys!`
639
- * `each`, `each_line`, `each_byte`
640
- * `gsub`
641
- * `upto`
707
+ - Object
642
708
 
643
- * Struct
644
- * `each`, `each_pair`
709
+ - `define_singleton_method`
710
+ - `instance_exec`
645
711
 
646
- * Symbol
647
- * `<=>`, `casecmp`
648
- * `capitalize`, `downcase`, `next`, `succ`, `swapcase`, `upcase`
649
- * `=~, [], empty?, length, match, size`
712
+ - ObjectSpace
650
713
 
651
- * UnboundMethod
652
- * `name`, `owner`
714
+ - `each_object`
715
+
716
+ - Range
717
+
718
+ - Optional block for `each`, `step`
719
+
720
+ - Regexp
721
+
722
+ - `union`
723
+
724
+ - String
725
+
726
+ - `try_convert`
727
+ - `ascii_only?`
728
+ - `bytesize`
729
+ - `chr`
730
+ - `clear`
731
+ - `codepoints`, `each_codepoint`
732
+ - `stringify_keys`, `stringify_keys!`
733
+ - `each`, `each_line`, `each_byte`
734
+ - `gsub`
735
+ - `upto`
736
+
737
+ - Struct
738
+
739
+ - `each`, `each_pair`
740
+
741
+ - Symbol
742
+
743
+ - `<=>`, `casecmp`
744
+ - `capitalize`, `downcase`, `next`, `succ`, `swapcase`, `upcase`
745
+ - `=~, [], empty?, length, match, size`
746
+
747
+ - UnboundMethod
748
+ - `name`, `owner`
653
749
 
654
750
  ## 1.5.0 - 2009-04-24
655
751
 
656
752
  ### Added
657
753
 
658
- * Array (completed)
659
- * `combination`
660
- * `try_convert`
661
- * Optional block for `collect!, :map!, :each, :each_index, :reject,
662
- :reject!, :delete_if`
663
- * `pop`, `shift`
664
- * `product`
754
+ - Array (completed)
755
+
756
+ - `combination`
757
+ - `try_convert`
758
+ - Optional block for `collect!, :map!, :each, :each_index, :reject, :reject!, :delete_if`
759
+ - `pop`, `shift`
760
+ - `product`
761
+
762
+ - Fixnum (completed)
665
763
 
666
- * Fixnum (completed)
667
- * `div`, `fdiv`
668
- * `succ`
669
- * `magnitude`
764
+ - `div`, `fdiv`
765
+ - `succ`
766
+ - `magnitude`
670
767
 
671
- * Enumerable (completed)
672
- * `each_with_object`
673
- * `inject`
674
- * `max_by`, `min_by`, `minmax`, `minmax_by`
675
- * `reduce`
676
- * `to_a`
768
+ - Enumerable (completed)
769
+ - `each_with_object`
770
+ - `inject`
771
+ - `max_by`, `min_by`, `minmax`, `minmax_by`
772
+ - `reduce`
773
+ - `to_a`
677
774
 
678
775
  ## 1.4.0 - 2009-04-21
679
776
 
680
777
  ### Added
681
778
 
682
- * String
683
- * `rpartition`
779
+ - String
684
780
 
685
- * Proc
686
- * `yield`
781
+ - `rpartition`
782
+
783
+ - Proc
784
+ - `yield`
687
785
 
688
786
  ## 1.3.0 - 2009-04-17
689
787
 
690
788
  ### Added
691
789
 
692
- * Enumerable
693
- * `none?`
790
+ - Enumerable
791
+
792
+ - `none?`
694
793
 
695
- * Array
696
- * `sample`, `shuffle`, `shuffle!`
794
+ - Array
697
795
 
698
- * String
699
- * `each_char`, `chars`
700
- * `partition`
796
+ - `sample`, `shuffle`, `shuffle!`
797
+
798
+ - String
799
+ - `each_char`, `chars`
800
+ - `partition`
701
801
 
702
802
  Tests and fixes for `String#start_with?` and `String#end_with?`
703
803
 
@@ -705,39 +805,42 @@ Tests and fixes for `String#start_with?` and `String#end_with?`
705
805
 
706
806
  ### Added
707
807
 
708
- * Array
709
- * `reverse_each`
710
- * `cycle`
808
+ - Array
809
+
810
+ - `reverse_each`
811
+ - `cycle`
711
812
 
712
- * Enumerable
713
- * `reverse_each`
714
- * `each_slice`, `each_cons`
715
- * `count`
716
- * `cycle`
717
- * `group_by`
813
+ - Enumerable
718
814
 
719
- * Hash
720
- * `default_proc=`
815
+ - `reverse_each`
816
+ - `each_slice`, `each_cons`
817
+ - `count`
818
+ - `cycle`
819
+ - `group_by`
820
+
821
+ - Hash
822
+ - `default_proc=`
721
823
 
722
824
  ## 1.1.0 - 2009-04-11
723
825
 
724
826
  ### Added
725
827
 
726
- * Array
727
- * `flatten`, `flatten!`
728
- * `find_index`, `index`
828
+ - Array
829
+
830
+ - `flatten`, `flatten!`
831
+ - `find_index`, `index`
729
832
 
730
- * Hash
731
- * `reverse_merge`, `reverse_merge!`
833
+ - Hash
834
+ - `reverse_merge`, `reverse_merge!`
732
835
 
733
836
  ## 1.0.0 - 2009-04-2
734
837
 
735
- * Initial release.
838
+ - Initial release.
736
839
 
737
840
  ## Notes
738
841
 
739
842
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
740
843
 
741
- [Unreleased]: https://github.com/marcandre/backports/compare/v3.16.0...HEAD
844
+ [unreleased]: https://github.com/marcandre/backports/compare/v3.16.0...HEAD
742
845
  [3.16.0]: https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0
743
846
  [3.15.0]: https://github.com/marcandre/backports/compare/v3.14.0...v3.15.0