backports 3.15.0 → 3.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +846 -0
  3. data/Gemfile +6 -13
  4. data/README.md +706 -0
  5. data/SECURITY.md +5 -0
  6. data/backports.gemspec +6 -2
  7. data/lib/backports/1.8.7.rb +10 -2
  8. data/lib/backports/1.9.1.rb +6 -1
  9. data/lib/backports/1.9.2/stdlib/matrix.rb +5 -0
  10. data/lib/backports/1.9.2.rb +6 -1
  11. data/lib/backports/1.9.3.rb +6 -1
  12. data/lib/backports/2.0.0/range/size.rb +2 -0
  13. data/lib/backports/2.0.0.rb +7 -2
  14. data/lib/backports/2.1.0/module/singleton_class.rb +8 -0
  15. data/lib/backports/2.1.0.rb +2 -2
  16. data/lib/backports/2.2.0/enumerable/slice_after.rb +1 -1
  17. data/lib/backports/2.2.0/float/next_float.rb +1 -1
  18. data/lib/backports/2.2.0/float/prev_float.rb +1 -1
  19. data/lib/backports/2.2.0/method/super_method.rb +2 -2
  20. data/lib/backports/2.2.0/string/unicode_normalize.rb +3 -3
  21. data/lib/backports/2.2.0.rb +2 -2
  22. data/lib/backports/2.3.0/array/bsearch_index.rb +1 -1
  23. data/lib/backports/2.3.0/hash/lt.rb +1 -1
  24. data/lib/backports/2.3.0/hash/lte.rb +1 -1
  25. data/lib/backports/2.3.0/hash/to_proc.rb +1 -1
  26. data/lib/backports/2.3.0/queue/close.rb +48 -0
  27. data/lib/backports/2.3.0/string.rb +3 -0
  28. data/lib/backports/2.3.0/struct/dig.rb +3 -2
  29. data/lib/backports/2.3.0.rb +2 -2
  30. data/lib/backports/2.4.0/bignum/dup.rb +5 -0
  31. data/lib/backports/2.4.0/bignum.rb +3 -0
  32. data/lib/backports/2.4.0/enumerable/sum.rb +8 -4
  33. data/lib/backports/2.4.0/hash/transform_values.rb +2 -2
  34. data/lib/backports/2.4.0/string/unpack1.rb +7 -0
  35. data/lib/backports/2.4.0/true_class/dup.rb +0 -1
  36. data/lib/backports/2.4.0.rb +2 -2
  37. data/lib/backports/2.5.0/dir/children.rb +4 -0
  38. data/lib/backports/2.5.0/dir/each_child.rb +7 -0
  39. data/lib/backports/2.5.0/hash/transform_keys.rb +11 -4
  40. data/lib/backports/2.5.0/integer/sqrt.rb +2 -2
  41. data/lib/backports/2.5.0/module/alias_method.rb +0 -1
  42. data/lib/backports/2.5.0/string/undump.rb +5 -9
  43. data/lib/backports/2.5.0/struct/new.rb +1 -1
  44. data/lib/backports/2.5.0.rb +2 -2
  45. data/lib/backports/2.5.rb +1 -1
  46. data/lib/backports/2.6.0/array/difference.rb +7 -3
  47. data/lib/backports/2.6.0/enumerable/chain.rb +6 -1
  48. data/lib/backports/2.6.0/hash/to_h.rb +1 -1
  49. data/lib/backports/2.6.0/range/cover.rb +22 -0
  50. data/lib/backports/2.6.0/range.rb +3 -0
  51. data/lib/backports/2.6.0.rb +3 -3
  52. data/lib/backports/2.6.rb +1 -1
  53. data/lib/backports/2.7.0/array/intersection.rb +7 -0
  54. data/lib/backports/2.7.0/array.rb +3 -0
  55. data/lib/backports/2.7.0/comparable/clamp.rb +23 -0
  56. data/lib/backports/2.7.0/comparable.rb +3 -0
  57. data/lib/backports/2.7.0/complex/comparison.rb +13 -0
  58. data/lib/backports/2.7.0/complex.rb +3 -0
  59. data/lib/backports/2.7.0/enumerable/filter_map.rb +14 -0
  60. data/lib/backports/2.7.0/enumerable/tally.rb +11 -0
  61. data/lib/backports/2.7.0/enumerable.rb +3 -0
  62. data/lib/backports/2.7.0/enumerator/produce.rb +20 -0
  63. data/lib/backports/2.7.0/enumerator.rb +3 -0
  64. data/lib/backports/2.7.0/symbol/end_with.rb +9 -0
  65. data/lib/backports/2.7.0/symbol/start_with.rb +9 -0
  66. data/lib/backports/2.7.0/symbol.rb +3 -0
  67. data/lib/backports/2.7.0/time/ceil.rb +10 -0
  68. data/lib/backports/2.7.0/time/floor.rb +7 -0
  69. data/lib/backports/2.7.0.rb +3 -0
  70. data/lib/backports/2.7.rb +1 -0
  71. data/lib/backports/3.0.0/env/except.rb +10 -0
  72. data/lib/backports/3.0.0/env.rb +3 -0
  73. data/lib/backports/3.0.0/hash/except.rb +10 -0
  74. data/lib/backports/3.0.0/hash/transform_keys.rb +48 -0
  75. data/lib/backports/3.0.0/hash.rb +3 -0
  76. data/lib/backports/3.0.0/ractor.rb +19 -0
  77. data/lib/backports/3.0.0/symbol/name.rb +21 -0
  78. data/lib/backports/3.0.0/symbol.rb +3 -0
  79. data/lib/backports/3.0.0.rb +3 -0
  80. data/lib/backports/3.0.rb +1 -0
  81. data/lib/backports/3.1.0/array/intersect.rb +16 -0
  82. data/lib/backports/3.1.0/array.rb +3 -0
  83. data/lib/backports/3.1.0/class/subclasses.rb +11 -0
  84. data/lib/backports/3.1.0/enumerable/compact.rb +5 -0
  85. data/lib/backports/3.1.0/enumerable/tally.rb +18 -0
  86. data/lib/backports/3.1.0/enumerable.rb +3 -0
  87. data/lib/backports/3.1.0/file/dirname.rb +16 -0
  88. data/lib/backports/3.1.0/file.rb +3 -0
  89. data/lib/backports/3.1.0/integer/try_convert.rb +7 -0
  90. data/lib/backports/3.1.0/integer.rb +3 -0
  91. data/lib/backports/3.1.0/match_data/match.rb +5 -0
  92. data/lib/backports/3.1.0/match_data/match_length.rb +6 -0
  93. data/lib/backports/3.1.0/match_data.rb +3 -0
  94. data/lib/backports/3.1.0/struct/keyword_init.rb +5 -0
  95. data/lib/backports/3.1.0/struct.rb +3 -0
  96. data/lib/backports/3.1.0.rb +3 -0
  97. data/lib/backports/3.1.rb +1 -0
  98. data/lib/backports/3.2.0/class/attached_object.rb +10 -0
  99. data/lib/backports/3.2.0/class.rb +3 -0
  100. data/lib/backports/3.2.0/data.rb +144 -0
  101. data/lib/backports/3.2.0/enumerator/product.rb +64 -0
  102. data/lib/backports/3.2.0/enumerator.rb +3 -0
  103. data/lib/backports/3.2.0/hash/shift.rb +10 -0
  104. data/lib/backports/3.2.0/hash.rb +3 -0
  105. data/lib/backports/3.2.0/integer/ceildiv.rb +7 -0
  106. data/lib/backports/3.2.0/integer.rb +3 -0
  107. data/lib/backports/3.2.0/match_data/byteoffset.rb +12 -0
  108. data/lib/backports/3.2.0/match_data.rb +3 -0
  109. data/lib/backports/3.2.0.rb +3 -0
  110. data/lib/backports/3.2.rb +1 -0
  111. data/lib/backports/latest.rb +1 -1
  112. data/lib/backports/ractor/cloner.rb +103 -0
  113. data/lib/backports/ractor/errors.rb +20 -0
  114. data/lib/backports/ractor/filtered_queue.rb +205 -0
  115. data/lib/backports/ractor/queues.rb +66 -0
  116. data/lib/backports/ractor/ractor.rb +272 -0
  117. data/lib/backports/ractor/sharing.rb +97 -0
  118. data/lib/backports/rails/array.rb +4 -0
  119. data/lib/backports/rails/enumerable.rb +4 -0
  120. data/lib/backports/rails/hash.rb +4 -0
  121. data/lib/backports/rails/kernel.rb +4 -0
  122. data/lib/backports/rails/module.rb +4 -0
  123. data/lib/backports/rails/string.rb +4 -0
  124. data/lib/backports/std_lib.rb +3 -0
  125. data/lib/backports/tools/deprecation.rb +19 -0
  126. data/lib/backports/tools/require_relative_dir.rb +6 -1
  127. data/lib/backports/version.rb +1 -1
  128. data/lib/backports.rb +6 -0
  129. metadata +81 -488
  130. data/.document +0 -6
  131. data/.gitignore +0 -9
  132. data/.gitmodules +0 -6
  133. data/.irbrc +0 -3
  134. data/.travis.yml +0 -20
  135. data/CHANGELOG.rdoc +0 -479
  136. data/README.rdoc +0 -422
  137. data/Rakefile +0 -189
  138. data/default.mspec +0 -14
  139. data/frozen_old_spec/tags/1.8.6/core/argf/each_line_spec.rb +0 -6
  140. data/frozen_old_spec/tags/1.8.6/core/argf/each_spec.rb +0 -6
  141. data/frozen_old_spec/tags/1.8.6/core/argf/lines_spec.rb +0 -6
  142. data/frozen_old_spec/tags/1.8.6/core/array/append_spec.rb +0 -1
  143. data/frozen_old_spec/tags/1.8.6/core/array/collect_spec.rb +0 -7
  144. data/frozen_old_spec/tags/1.8.6/core/array/rotate_spec.rb +0 -2
  145. data/frozen_old_spec/tags/1.8.6/core/array/uniq_spec.rb +0 -3
  146. data/frozen_old_spec/tags/1.8.6/core/complex/to_r_spec.rb +0 -3
  147. data/frozen_old_spec/tags/1.8.6/core/enumerable/all_spec.rb +0 -1
  148. data/frozen_old_spec/tags/1.8.6/core/enumerable/any_spec.rb +0 -2
  149. data/frozen_old_spec/tags/1.8.6/core/enumerable/each_entry_spec.rb +0 -1
  150. data/frozen_old_spec/tags/1.8.6/core/enumerable/none_spec.rb +0 -1
  151. data/frozen_old_spec/tags/1.8.6/core/enumerable/one_spec.rb +0 -1
  152. data/frozen_old_spec/tags/1.8.6/core/enumerator/next_spec.rb +0 -1
  153. data/frozen_old_spec/tags/1.8.6/core/env/to_h_spec.rb +0 -2
  154. data/frozen_old_spec/tags/1.8.6/core/file/join_spec.rb +0 -3
  155. data/frozen_old_spec/tags/1.8.6/core/file/lchmod_spec.rb +0 -2
  156. data/frozen_old_spec/tags/1.8.6/core/file/new_spec.rb +0 -2
  157. data/frozen_old_spec/tags/1.8.6/core/file/open_spec.rb +0 -13
  158. data/frozen_old_spec/tags/1.8.6/core/file/to_path_spec.rb +0 -1
  159. data/frozen_old_spec/tags/1.8.6/core/fixnum/fdiv_spec.rb +0 -1
  160. data/frozen_old_spec/tags/1.8.6/core/gc/stress_spec.rb +0 -2
  161. data/frozen_old_spec/tags/1.8.6/core/hash/assoc_spec.rb +0 -1
  162. data/frozen_old_spec/tags/1.8.6/core/hash/constructor_spec.rb +0 -3
  163. data/frozen_old_spec/tags/1.8.6/core/hash/default_proc_spec.rb +0 -3
  164. data/frozen_old_spec/tags/1.8.6/core/hash/delete_if_spec.rb +0 -1
  165. data/frozen_old_spec/tags/1.8.6/core/hash/each_pair_spec.rb +0 -1
  166. data/frozen_old_spec/tags/1.8.6/core/hash/eql_spec.rb +0 -3
  167. data/frozen_old_spec/tags/1.8.6/core/hash/hash_spec.rb +0 -3
  168. data/frozen_old_spec/tags/1.8.6/core/hash/keep_if_spec.rb +0 -2
  169. data/frozen_old_spec/tags/1.8.6/core/hash/rassoc_spec.rb +0 -1
  170. data/frozen_old_spec/tags/1.8.6/core/hash/reject_spec.rb +0 -2
  171. data/frozen_old_spec/tags/1.8.6/core/hash/select_spec.rb +0 -8
  172. data/frozen_old_spec/tags/1.8.6/core/integer/round_spec.rb +0 -2
  173. data/frozen_old_spec/tags/1.8.6/core/io/binread_spec.rb +0 -7
  174. data/frozen_old_spec/tags/1.8.6/core/io/chars_spec.rb +0 -1
  175. data/frozen_old_spec/tags/1.8.6/core/io/each_char_spec.rb +0 -1
  176. data/frozen_old_spec/tags/1.8.6/core/io/lines_spec.rb +0 -1
  177. data/frozen_old_spec/tags/1.8.6/core/io/open_spec.rb +0 -24
  178. data/frozen_old_spec/tags/1.8.6/core/io/ungetbyte_spec.rb +0 -4
  179. data/frozen_old_spec/tags/1.8.6/core/io/write_spec.rb +0 -5
  180. data/frozen_old_spec/tags/1.8.6/core/kernel/__callee___spec.rb +0 -6
  181. data/frozen_old_spec/tags/1.8.6/core/kernel/__method___spec.rb +0 -1
  182. data/frozen_old_spec/tags/1.8.6/core/kernel/define_singleton_method_spec.rb +0 -2
  183. data/frozen_old_spec/tags/1.8.6/core/kernel/public_method_spec.rb +0 -2
  184. data/frozen_old_spec/tags/1.8.6/core/kernel/require_relative_spec.rb +0 -3
  185. data/frozen_old_spec/tags/1.8.6/core/math/log2_spec.rb +0 -6
  186. data/frozen_old_spec/tags/1.8.6/core/math/log_spec.rb +0 -3
  187. data/frozen_old_spec/tags/1.8.6/core/module/alias_method_spec.rb +0 -1
  188. data/frozen_old_spec/tags/1.8.6/core/module/attr_accessor_spec.rb +0 -2
  189. data/frozen_old_spec/tags/1.8.6/core/module/attr_reader_spec.rb +0 -2
  190. data/frozen_old_spec/tags/1.8.6/core/module/attr_spec.rb +0 -1
  191. data/frozen_old_spec/tags/1.8.6/core/module/attr_writer_spec.rb +0 -2
  192. data/frozen_old_spec/tags/1.8.6/core/module/class_exec_spec.rb +0 -2
  193. data/frozen_old_spec/tags/1.8.6/core/module/define_method_spec.rb +0 -1
  194. data/frozen_old_spec/tags/1.8.6/core/module/module_exec_spec.rb +0 -2
  195. data/frozen_old_spec/tags/1.8.6/core/module/remove_method_spec.rb +0 -1
  196. data/frozen_old_spec/tags/1.8.6/core/module/undef_method_spec.rb +0 -1
  197. data/frozen_old_spec/tags/1.8.6/core/nil/dup_spec.rb +0 -1
  198. data/frozen_old_spec/tags/1.8.6/core/numeric/step_spec.rb +0 -12
  199. data/frozen_old_spec/tags/1.8.6/core/proc/curry_spec.rb +0 -4
  200. data/frozen_old_spec/tags/1.8.6/core/range/step_spec.rb +0 -12
  201. data/frozen_old_spec/tags/1.8.6/core/string/getbyte_spec.rb +0 -6
  202. data/frozen_old_spec/tags/1.8.6/core/string/partition_spec.rb +0 -1
  203. data/frozen_old_spec/tags/1.8.6/core/string/prepend_spec.rb +0 -1
  204. data/frozen_old_spec/tags/1.8.6/core/string/rpartition_spec.rb +0 -1
  205. data/frozen_old_spec/tags/1.8.6/core/string/setbyte_spec.rb +0 -5
  206. data/frozen_old_spec/tags/1.8.6/core/string/upto_spec.rb +0 -1
  207. data/frozen_old_spec/tags/1.8.6/core/symbol/capitalize_spec.rb +0 -3
  208. data/frozen_old_spec/tags/1.8.6/core/symbol/comparison_spec.rb +0 -1
  209. data/frozen_old_spec/tags/1.8.6/core/symbol/downcase_spec.rb +0 -2
  210. data/frozen_old_spec/tags/1.8.6/core/symbol/element_reference_spec.rb +0 -4
  211. data/frozen_old_spec/tags/1.8.6/core/symbol/empty_spec.rb +0 -1
  212. data/frozen_old_spec/tags/1.8.6/core/symbol/match_spec.rb +0 -2
  213. data/frozen_old_spec/tags/1.8.6/core/symbol/swapcase_spec.rb +0 -2
  214. data/frozen_old_spec/tags/1.8.6/core/symbol/to_proc_spec.rb +0 -1
  215. data/frozen_old_spec/tags/1.8.6/core/symbol/upcase_spec.rb +0 -1
  216. data/frozen_old_spec/tags/1.8.7/core/array/append_spec.rb +0 -1
  217. data/frozen_old_spec/tags/1.8.7/core/array/keep_if_spec.rb +0 -2
  218. data/frozen_old_spec/tags/1.8.7/core/array/rotate_spec.rb +0 -2
  219. data/frozen_old_spec/tags/1.8.7/core/array/select_spec.rb +0 -2
  220. data/frozen_old_spec/tags/1.8.7/core/array/uniq_spec.rb +0 -3
  221. data/frozen_old_spec/tags/1.8.7/core/complex/to_r_spec.rb +0 -3
  222. data/frozen_old_spec/tags/1.8.7/core/enumerable/all_spec.rb +0 -1
  223. data/frozen_old_spec/tags/1.8.7/core/enumerable/any_spec.rb +0 -2
  224. data/frozen_old_spec/tags/1.8.7/core/enumerable/collect_concat_spec.rb +0 -1
  225. data/frozen_old_spec/tags/1.8.7/core/enumerable/flat_map_spec.rb +0 -1
  226. data/frozen_old_spec/tags/1.8.7/core/enumerable/none_spec.rb +0 -1
  227. data/frozen_old_spec/tags/1.8.7/core/enumerable/one_spec.rb +0 -1
  228. data/frozen_old_spec/tags/1.8.7/core/env/to_h_spec.rb +0 -2
  229. data/frozen_old_spec/tags/1.8.7/core/file/lchmod_spec.rb +0 -2
  230. data/frozen_old_spec/tags/1.8.7/core/file/new_spec.rb +0 -1
  231. data/frozen_old_spec/tags/1.8.7/core/file/open_spec.rb +0 -5
  232. data/frozen_old_spec/tags/1.8.7/core/file/readlink_spec.rb +0 -6
  233. data/frozen_old_spec/tags/1.8.7/core/file/to_path_spec.rb +0 -1
  234. data/frozen_old_spec/tags/1.8.7/core/hash/assoc_spec.rb +0 -1
  235. data/frozen_old_spec/tags/1.8.7/core/hash/default_proc_spec.rb +0 -3
  236. data/frozen_old_spec/tags/1.8.7/core/hash/keep_if_spec.rb +0 -2
  237. data/frozen_old_spec/tags/1.8.7/core/hash/merge_spec.rb +0 -3
  238. data/frozen_old_spec/tags/1.8.7/core/hash/rassoc_spec.rb +0 -1
  239. data/frozen_old_spec/tags/1.8.7/core/hash/select_spec.rb +0 -1
  240. data/frozen_old_spec/tags/1.8.7/core/hash/to_h_spec.rb +0 -1
  241. data/frozen_old_spec/tags/1.8.7/core/hash/update_spec.rb +0 -3
  242. data/frozen_old_spec/tags/1.8.7/core/integer/round_spec.rb +0 -2
  243. data/frozen_old_spec/tags/1.8.7/core/io/binread_spec.rb +0 -7
  244. data/frozen_old_spec/tags/1.8.7/core/io/open_spec.rb +0 -32
  245. data/frozen_old_spec/tags/1.8.7/core/io/ungetbyte_spec.rb +0 -4
  246. data/frozen_old_spec/tags/1.8.7/core/io/write_spec.rb +0 -5
  247. data/frozen_old_spec/tags/1.8.7/core/kernel/__callee___spec.rb +0 -6
  248. data/frozen_old_spec/tags/1.8.7/core/kernel/define_singleton_method_spec.rb +0 -2
  249. data/frozen_old_spec/tags/1.8.7/core/kernel/public_method_spec.rb +0 -1
  250. data/frozen_old_spec/tags/1.8.7/core/kernel/require_relative_spec.rb +0 -3
  251. data/frozen_old_spec/tags/1.8.7/core/math/log2_spec.rb +0 -6
  252. data/frozen_old_spec/tags/1.8.7/core/math/log_spec.rb +0 -3
  253. data/frozen_old_spec/tags/1.8.7/core/module/alias_method_spec.rb +0 -7
  254. data/frozen_old_spec/tags/1.8.7/core/module/attr_accessor_spec.rb +0 -2
  255. data/frozen_old_spec/tags/1.8.7/core/module/attr_reader_spec.rb +0 -2
  256. data/frozen_old_spec/tags/1.8.7/core/module/attr_spec.rb +0 -2
  257. data/frozen_old_spec/tags/1.8.7/core/module/attr_writer_spec.rb +0 -2
  258. data/frozen_old_spec/tags/1.8.7/core/module/define_method_spec.rb +0 -1
  259. data/frozen_old_spec/tags/1.8.7/core/module/include_spec.rb +0 -3
  260. data/frozen_old_spec/tags/1.8.7/core/module/remove_method_spec.rb +0 -3
  261. data/frozen_old_spec/tags/1.8.7/core/module/undef_method_spec.rb +0 -3
  262. data/frozen_old_spec/tags/1.8.7/core/nil/dup_spec.rb +0 -1
  263. data/frozen_old_spec/tags/1.8.7/core/proc/curry_spec.rb +0 -3
  264. data/frozen_old_spec/tags/1.8.7/core/proc/yield_spec.rb +0 -4
  265. data/frozen_old_spec/tags/1.8.7/core/range/size_spec.rb +0 -1
  266. data/frozen_old_spec/tags/1.8.7/core/string/getbyte_spec.rb +0 -5
  267. data/frozen_old_spec/tags/1.8.7/core/string/prepend_spec.rb +0 -1
  268. data/frozen_old_spec/tags/1.8.7/core/string/setbyte_spec.rb +0 -5
  269. data/frozen_old_spec/tags/1.8.7/core/struct/new_spec.rb +0 -3
  270. data/frozen_old_spec/tags/1.8.7/core/symbol/capitalize_spec.rb +0 -3
  271. data/frozen_old_spec/tags/1.8.7/core/symbol/comparison_spec.rb +0 -1
  272. data/frozen_old_spec/tags/1.8.7/core/symbol/downcase_spec.rb +0 -2
  273. data/frozen_old_spec/tags/1.8.7/core/symbol/element_reference_spec.rb +0 -4
  274. data/frozen_old_spec/tags/1.8.7/core/symbol/empty_spec.rb +0 -1
  275. data/frozen_old_spec/tags/1.8.7/core/symbol/match_spec.rb +0 -2
  276. data/frozen_old_spec/tags/1.8.7/core/symbol/swapcase_spec.rb +0 -2
  277. data/frozen_old_spec/tags/1.8.7/core/symbol/upcase_spec.rb +0 -1
  278. data/frozen_old_spec/tags/1.9.1/core/array/append_spec.rb +0 -1
  279. data/frozen_old_spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  280. data/frozen_old_spec/tags/1.9.1/core/enumerable/all_spec.rb +0 -1
  281. data/frozen_old_spec/tags/1.9.1/core/enumerable/any_spec.rb +0 -2
  282. data/frozen_old_spec/tags/1.9.1/core/enumerable/none_spec.rb +0 -1
  283. data/frozen_old_spec/tags/1.9.1/core/enumerable/one_spec.rb +0 -1
  284. data/frozen_old_spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  285. data/frozen_old_spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  286. data/frozen_old_spec/tags/1.9.1/core/io/write_spec.rb +0 -2
  287. data/frozen_old_spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -4
  288. data/frozen_old_spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -2
  289. data/frozen_old_spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -2
  290. data/frozen_old_spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  291. data/frozen_old_spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -2
  292. data/frozen_old_spec/tags/1.9.1/core/module/define_method_spec.rb +0 -3
  293. data/frozen_old_spec/tags/1.9.1/core/module/remove_method_spec.rb +0 -1
  294. data/frozen_old_spec/tags/1.9.1/core/module/undef_method_spec.rb +0 -1
  295. data/frozen_old_spec/tags/1.9.1/core/nil/dup_spec.rb +0 -1
  296. data/frozen_old_spec/tags/1.9.2/core/array/append_spec.rb +0 -1
  297. data/frozen_old_spec/tags/1.9.2/core/enumerable/all_spec.rb +0 -1
  298. data/frozen_old_spec/tags/1.9.2/core/enumerable/any_spec.rb +0 -2
  299. data/frozen_old_spec/tags/1.9.2/core/enumerable/none_spec.rb +0 -1
  300. data/frozen_old_spec/tags/1.9.2/core/enumerable/one_spec.rb +0 -1
  301. data/frozen_old_spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  302. data/frozen_old_spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -4
  303. data/frozen_old_spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -2
  304. data/frozen_old_spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -2
  305. data/frozen_old_spec/tags/1.9.2/core/module/attr_spec.rb +0 -1
  306. data/frozen_old_spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -2
  307. data/frozen_old_spec/tags/1.9.2/core/module/define_method_spec.rb +0 -3
  308. data/frozen_old_spec/tags/1.9.2/core/module/remove_method_spec.rb +0 -1
  309. data/frozen_old_spec/tags/1.9.2/core/module/undef_method_spec.rb +0 -1
  310. data/frozen_old_spec/tags/1.9.2/core/nil/dup_spec.rb +0 -1
  311. data/frozen_old_spec/tags/1.9.3/core/enumerable/any_spec.rb +0 -1
  312. data/frozen_old_spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -4
  313. data/frozen_old_spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  314. data/frozen_old_spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  315. data/frozen_old_spec/tags/1.9.3/core/module/attr_spec.rb +0 -1
  316. data/frozen_old_spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  317. data/frozen_old_spec/tags/1.9.3/core/module/define_method_spec.rb +0 -3
  318. data/frozen_old_spec/tags/1.9.3/core/module/remove_method_spec.rb +0 -1
  319. data/frozen_old_spec/tags/1.9.3/core/module/undef_method_spec.rb +0 -1
  320. data/frozen_old_spec/tags/2.0.0/core/enumerable/any_spec.rb +0 -1
  321. data/frozen_old_spec/tags/2.0.0/core/module/alias_method_spec.rb +0 -1
  322. data/frozen_old_spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -2
  323. data/frozen_old_spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -2
  324. data/frozen_old_spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  325. data/frozen_old_spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -2
  326. data/frozen_old_spec/tags/2.0.0/core/module/define_method_spec.rb +0 -2
  327. data/frozen_old_spec/tags/2.0.0/core/module/remove_method_spec.rb +0 -1
  328. data/frozen_old_spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -1
  329. data/frozen_old_spec/tags/2.0.0/core/nil/dup_spec.rb +0 -1
  330. data/frozen_old_spec/tags/2.0.0/core/struct/new_spec.rb +0 -1
  331. data/frozen_old_spec/tags/2.1.0/core/enumerable/any_spec.rb +0 -1
  332. data/frozen_old_spec/tags/2.1.0/core/module/alias_method_spec.rb +0 -1
  333. data/frozen_old_spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -2
  334. data/frozen_old_spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -2
  335. data/frozen_old_spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  336. data/frozen_old_spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -2
  337. data/frozen_old_spec/tags/2.1.0/core/module/define_method_spec.rb +0 -2
  338. data/frozen_old_spec/tags/2.1.0/core/module/remove_method_spec.rb +0 -1
  339. data/frozen_old_spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -1
  340. data/frozen_old_spec/tags/2.1.0/core/nil/dup_spec.rb +0 -1
  341. data/frozen_old_spec/tags/2.1.0/core/struct/new_spec.rb +0 -1
  342. data/frozen_old_spec/tags/2.2.0/core/enumerable/any_spec.rb +0 -1
  343. data/frozen_old_spec/tags/2.2.0/core/module/alias_method_spec.rb +0 -1
  344. data/frozen_old_spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -2
  345. data/frozen_old_spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -2
  346. data/frozen_old_spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  347. data/frozen_old_spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -2
  348. data/frozen_old_spec/tags/2.2.0/core/module/define_method_spec.rb +0 -1
  349. data/frozen_old_spec/tags/2.2.0/core/module/remove_method_spec.rb +0 -1
  350. data/frozen_old_spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -1
  351. data/frozen_old_spec/tags/2.2.0/core/nil/dup_spec.rb +0 -1
  352. data/frozen_old_spec/tags/2.2.0/core/struct/new_spec.rb +0 -1
  353. data/frozen_old_spec/tags/2.3.0/core/enumerable/any_spec.rb +0 -1
  354. data/frozen_old_spec/tags/2.3.0/core/module/alias_method_spec.rb +0 -1
  355. data/frozen_old_spec/tags/2.3.0/core/module/attr_accessor_spec.rb +0 -2
  356. data/frozen_old_spec/tags/2.3.0/core/module/attr_reader_spec.rb +0 -2
  357. data/frozen_old_spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  358. data/frozen_old_spec/tags/2.3.0/core/module/attr_writer_spec.rb +0 -2
  359. data/frozen_old_spec/tags/2.3.0/core/module/define_method_spec.rb +0 -1
  360. data/frozen_old_spec/tags/2.3.0/core/module/remove_method_spec.rb +0 -1
  361. data/frozen_old_spec/tags/2.3.0/core/module/undef_method_spec.rb +0 -1
  362. data/frozen_old_spec/tags/2.3.0/core/nil/dup_spec.rb +0 -1
  363. data/frozen_old_spec/tags/2.3.0/core/struct/new_spec.rb +0 -1
  364. data/frozen_old_spec/tags/2.3.5/core/struct/new_spec.rb +0 -1
  365. data/frozen_old_spec/tags/2.4.0/core/enumerable/any_spec.rb +0 -1
  366. data/frozen_old_spec/tags/2.4.0/core/module/alias_method_spec.rb +0 -1
  367. data/frozen_old_spec/tags/2.4.0/core/module/attr_accessor_spec.rb +0 -2
  368. data/frozen_old_spec/tags/2.4.0/core/module/attr_reader_spec.rb +0 -2
  369. data/frozen_old_spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  370. data/frozen_old_spec/tags/2.4.0/core/module/attr_writer_spec.rb +0 -2
  371. data/frozen_old_spec/tags/2.4.0/core/module/define_method_spec.rb +0 -1
  372. data/frozen_old_spec/tags/2.4.0/core/module/remove_method_spec.rb +0 -1
  373. data/frozen_old_spec/tags/2.4.0/core/module/undef_method_spec.rb +0 -1
  374. data/frozen_old_spec/tags/2.4.0/core/nil/dup_spec.rb +0 -1
  375. data/frozen_old_spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  376. data/frozen_old_spec/tags/2.5.0/core/enumerable/any_spec.rb +0 -1
  377. data/frozen_old_spec/tags/2.5.0/core/module/alias_method_spec.rb +0 -1
  378. data/frozen_old_spec/tags/2.5.0/core/module/attr_accessor_spec.rb +0 -2
  379. data/frozen_old_spec/tags/2.5.0/core/module/attr_reader_spec.rb +0 -2
  380. data/frozen_old_spec/tags/2.5.0/core/module/attr_spec.rb +0 -1
  381. data/frozen_old_spec/tags/2.5.0/core/module/attr_writer_spec.rb +0 -2
  382. data/frozen_old_spec/tags/2.5.0/core/module/define_method_spec.rb +0 -1
  383. data/frozen_old_spec/tags/2.5.0/core/module/remove_method_spec.rb +0 -1
  384. data/frozen_old_spec/tags/2.5.0/core/module/undef_method_spec.rb +0 -1
  385. data/frozen_old_spec/tags/2.5.0/core/nil/dup_spec.rb +0 -1
  386. data/frozen_old_spec/tags/2.5.0/core/struct/new_spec.rb +0 -1
  387. data/set_version/1.8.7.rb +0 -1
  388. data/set_version/1.9.1.rb +0 -1
  389. data/set_version/1.9.2.rb +0 -1
  390. data/set_version/1.9.3.rb +0 -1
  391. data/set_version/2.0.0.rb +0 -1
  392. data/set_version/2.1.0.rb +0 -1
  393. data/set_version/2.2.0.rb +0 -1
  394. data/set_version/2.3.0.rb +0 -1
  395. data/set_version/2.4.0.rb +0 -1
  396. data/set_version/2.5.0.rb +0 -1
  397. data/set_version/2.6.0.rb +0 -1
  398. data/set_version/setter.rb +0 -22
  399. data/spec/tags/1.8.7/core/array/to_h_spec.rb +0 -3
  400. data/spec/tags/1.8.7/core/enumerable/to_h_spec.rb +0 -2
  401. data/spec/tags/1.8.7/core/module/attr_spec.rb +0 -1
  402. data/spec/tags/1.8.7/core/module/include_spec.rb +0 -1
  403. data/spec/tags/1.9.1/core/array/bsearch_index_spec.rb +0 -1
  404. data/spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  405. data/spec/tags/1.9.1/core/dir/each_child_spec.rb +0 -1
  406. data/spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  407. data/spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  408. data/spec/tags/1.9.1/core/hash/slice_spec.rb +0 -1
  409. data/spec/tags/1.9.1/core/hash/transform_keys_spec.rb +0 -2
  410. data/spec/tags/1.9.1/core/hash/transform_values_spec.rb +0 -2
  411. data/spec/tags/1.9.1/core/io/write_spec.rb +0 -3
  412. data/spec/tags/1.9.1/core/kernel/yield_self_spec.rb +0 -1
  413. data/spec/tags/1.9.1/core/method/curry_spec.rb +0 -1
  414. data/spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -3
  415. data/spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -1
  416. data/spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -1
  417. data/spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  418. data/spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -1
  419. data/spec/tags/1.9.1/core/module/define_method_spec.rb +0 -7
  420. data/spec/tags/1.9.1/core/string/uplus_spec.rb +0 -1
  421. data/spec/tags/1.9.1/core/struct/new_spec.rb +0 -2
  422. data/spec/tags/1.9.2/core/array/bsearch_index_spec.rb +0 -1
  423. data/spec/tags/1.9.2/core/array/to_h_spec.rb +0 -3
  424. data/spec/tags/1.9.2/core/dir/each_child_spec.rb +0 -1
  425. data/spec/tags/1.9.2/core/enumerable/to_h_spec.rb +0 -2
  426. data/spec/tags/1.9.2/core/hash/slice_spec.rb +0 -1
  427. data/spec/tags/1.9.2/core/hash/to_h_spec.rb +0 -3
  428. data/spec/tags/1.9.2/core/hash/transform_keys_spec.rb +0 -2
  429. data/spec/tags/1.9.2/core/hash/transform_values_spec.rb +0 -2
  430. data/spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  431. data/spec/tags/1.9.2/core/kernel/then_spec.rb +0 -1
  432. data/spec/tags/1.9.2/core/kernel/yield_self_spec.rb +0 -1
  433. data/spec/tags/1.9.2/core/method/curry_spec.rb +0 -1
  434. data/spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -3
  435. data/spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -1
  436. data/spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -1
  437. data/spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -1
  438. data/spec/tags/1.9.2/core/module/define_method_spec.rb +0 -7
  439. data/spec/tags/1.9.2/core/module/include_spec.rb +0 -1
  440. data/spec/tags/1.9.2/core/string/uplus_spec.rb +0 -1
  441. data/spec/tags/1.9.2/core/struct/new_spec.rb +0 -2
  442. data/spec/tags/1.9.3/core/array/bsearch_index_spec.rb +0 -1
  443. data/spec/tags/1.9.3/core/dir/each_child_spec.rb +0 -1
  444. data/spec/tags/1.9.3/core/hash/slice_spec.rb +0 -1
  445. data/spec/tags/1.9.3/core/hash/to_h_spec.rb +0 -3
  446. data/spec/tags/1.9.3/core/hash/transform_keys_spec.rb +0 -2
  447. data/spec/tags/1.9.3/core/hash/transform_values_spec.rb +0 -2
  448. data/spec/tags/1.9.3/core/io/write_spec.rb +0 -3
  449. data/spec/tags/1.9.3/core/kernel/yield_self_spec.rb +0 -1
  450. data/spec/tags/1.9.3/core/method/curry_spec.rb +0 -1
  451. data/spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -3
  452. data/spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  453. data/spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  454. data/spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  455. data/spec/tags/1.9.3/core/module/define_method_spec.rb +0 -7
  456. data/spec/tags/1.9.3/core/module/include_spec.rb +0 -1
  457. data/spec/tags/1.9.3/core/string/uplus_spec.rb +0 -1
  458. data/spec/tags/1.9.3/core/struct/new_spec.rb +0 -2
  459. data/spec/tags/2.0.0/core/array/to_h_spec.rb +0 -3
  460. data/spec/tags/2.0.0/core/enumerable/to_h_spec.rb +0 -2
  461. data/spec/tags/2.0.0/core/hash/slice_spec.rb +0 -1
  462. data/spec/tags/2.0.0/core/hash/to_h_spec.rb +0 -3
  463. data/spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -1
  464. data/spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -1
  465. data/spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  466. data/spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -1
  467. data/spec/tags/2.0.0/core/module/define_method_spec.rb +0 -4
  468. data/spec/tags/2.0.0/core/module/include_spec.rb +0 -1
  469. data/spec/tags/2.0.0/core/string/uplus_spec.rb +0 -1
  470. data/spec/tags/2.0.0/core/struct/new_spec.rb +0 -1
  471. data/spec/tags/2.1.0/core/array/union_spec.rb +0 -1
  472. data/spec/tags/2.1.0/core/hash/slice_spec.rb +0 -1
  473. data/spec/tags/2.1.0/core/hash/to_h_spec.rb +0 -1
  474. data/spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -1
  475. data/spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -1
  476. data/spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  477. data/spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -1
  478. data/spec/tags/2.1.0/core/module/define_method_spec.rb +0 -4
  479. data/spec/tags/2.1.0/core/string/uplus_spec.rb +0 -1
  480. data/spec/tags/2.1.0/core/struct/new_spec.rb +0 -1
  481. data/spec/tags/2.2.0/core/hash/slice_spec.rb +0 -1
  482. data/spec/tags/2.2.0/core/hash/to_h_spec.rb +0 -1
  483. data/spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -1
  484. data/spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -1
  485. data/spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  486. data/spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -1
  487. data/spec/tags/2.2.0/core/module/define_method_spec.rb +0 -4
  488. data/spec/tags/2.2.0/core/string/uplus_spec.rb +0 -1
  489. data/spec/tags/2.2.0/core/struct/new_spec.rb +0 -1
  490. data/spec/tags/2.3.0/core/hash/slice_spec.rb +0 -1
  491. data/spec/tags/2.3.0/core/hash/to_h_spec.rb +0 -1
  492. data/spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  493. data/spec/tags/2.3.0/core/string/uplus_spec.rb +0 -1
  494. data/spec/tags/2.3.0/core/struct/new_spec.rb +0 -1
  495. data/spec/tags/2.4.0/core/hash/slice_spec.rb +0 -1
  496. data/spec/tags/2.4.0/core/hash/to_h_spec.rb +0 -1
  497. data/spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  498. data/spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  499. data/spec/tags/2.5.0/core/hash/to_h_spec.rb +0 -1
  500. data/test/README +0 -2
  501. data/test/_backport_guards_test.rb +0 -148
  502. data/test/bit_length_test.rb +0 -11
  503. data/test/lazy_test.rb +0 -487
  504. data/test/socket_interaction_test.rb +0 -9
  505. data/test/test_helper.rb +0 -1
data/CHANGELOG.md ADDED
@@ -0,0 +1,846 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [3.24.0](https://github.com/marcandre/backports/compare/v3.23.0...v3.24.0) - 2023-03-07
8
+
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?`
62
+
63
+ ## [3.21.0](https://github.com/marcandre/backports/compare/v3.20.1...v3.21.0) - 2021-03-31
64
+
65
+ ### Added
66
+
67
+ - Added `String#unpack1` (Ruby 2.4) [#166]
68
+
69
+ ## [3.20.1](https://github.com/marcandre/backports/compare/v3.20.0...v3.20.1) - 2021-01-03
70
+
71
+ ### Fixed
72
+
73
+ - Added `Ractor.[]` and `[]=` [#161]
74
+ - `Ractor.current` fixed from threads [#161]
75
+
76
+ ## [3.20.0](https://github.com/marcandre/backports/compare/v3.19.0...v3.20.0) - 2020-12-30
77
+
78
+ ### Added
79
+
80
+ Ractor backport (all methods)
81
+
82
+ ## [3.19.0](https://github.com/marcandre/backports/compare/v3.18.2...v3.19.0) - 2020-12-28
83
+
84
+ ### Added
85
+
86
+ - Ruby 3.0 backports
87
+
88
+ - Env
89
+
90
+ - `except`
91
+
92
+ - Hash
93
+
94
+ - `except`
95
+ - `transform_keys`, `transform_keys!` (with hash argument)
96
+
97
+ - Symbol
98
+ - `name`
99
+
100
+ - Ruby 2.3 backports
101
+
102
+ - Queue
103
+ - `close`, `closed?` (affects `push`, `pop` and aliases)
104
+
105
+ ## [3.18.2](https://github.com/marcandre/backports/compare/v3.18.0...v3.18.2) - 2020-08-26
106
+
107
+ ### Fixed
108
+
109
+ Require per ruby version now properly requiring 2.3.0 backports for `String` [#152]
110
+
111
+ ## [3.18.1](https://github.com/marcandre/backports/compare/v3.18.1...v3.18.2) - 2020-06-22
112
+
113
+ ### Fixed
114
+
115
+ Fixed Changelog URI in gem manifest
116
+
117
+ ## [3.18.0](https://github.com/marcandre/backports/compare/v3.17.2...v3.18.0) - 2020-06-22
118
+
119
+ ### Changed
120
+
121
+ Require per ruby version / all requires now check `RUBY_VERSION` to be more efficient [#149]
122
+
123
+ ## [3.17.2](https://github.com/marcandre/backports/compare/v3.17.1...v3.17.2) - 2020-04-09
124
+
125
+ ### Fixed
126
+
127
+ Fix Range#cover (Ruby 2.6.0) [#148]
128
+
129
+ ## [3.17.1](https://github.com/marcandre/backports/compare/v3.17.0...v3.17.1) - 2020-04-09
130
+
131
+ ### Fixed
132
+
133
+ Fix Range#size (Ruby 2.0) on Ruby 1.8.7 [#144]
134
+
135
+ ## [3.17.0](https://github.com/marcandre/backports/compare/v3.16.2...v3.17.0) - 2020-03-06
136
+
137
+ ### Added
138
+
139
+ - Ruby 2.6 backports
140
+
141
+ - Range
142
+ - `cover?` (with `Range` argument)
143
+
144
+ ### Changed
145
+
146
+ Requiring features for a particular version of Ruby or `latest` is un-deprecated but
147
+ instead simply warned in verbose mode.
148
+
149
+ ## [3.16.1](https://github.com/marcandre/backports/compare/v3.16.0...v3.16.1) - 2020-02-16
150
+
151
+ ### Deprecated
152
+
153
+ Officially deprecate requiring features for a particular version of Ruby, `latest`, `std_lib` or `rails` backports.
154
+ Partly un-deprecated in 3.17.0!
155
+
156
+ ### Fixed
157
+
158
+ `matrix` library when loaded in 2.7.0 [#141]
159
+
160
+ ## [3.16.0](https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0) - 2020-02-06
161
+
162
+ ### Added
163
+
164
+ - Ruby 2.7 backports
165
+
166
+ - Array
167
+
168
+ - `intersection`
169
+
170
+ - Comparable
171
+
172
+ - `clamp` (with range)
173
+
174
+ - Complex
175
+
176
+ - `<=>`
177
+
178
+ - Enumerable
179
+
180
+ - `filter_map`
181
+ - `tally`
182
+
183
+ - Enumerator
184
+
185
+ - `produce` (class method)
186
+
187
+ - Time
188
+ - `floor`, `ceil`
189
+
190
+ ## [3.15.0] - 2019-05-15
191
+
192
+ ### Added
193
+
194
+ - Proc / Method
195
+ - `<<`, `>>`
196
+
197
+ ## 3.14.0 - 2019-04-29
198
+
199
+ ### Added
200
+
201
+ - Hash
202
+ - `to_h` (with block)
203
+
204
+ ## 3.13.0 - 2019-04-5
205
+
206
+ ### Added
207
+
208
+ - Hash
209
+ - `merge`, `merge!`/`update` (with multiple arguments)
210
+
211
+ ## 3.12.0 - 2019-02-20
212
+
213
+ ### Added
214
+
215
+ - Ruby 2.6.0 backports
216
+
217
+ - Array
218
+
219
+ - `difference`, `union`
220
+ - `to_h` (with block)
221
+
222
+ - Enumerable
223
+
224
+ - `chain`
225
+ - `to_h` (with block)
226
+
227
+ - Enumerator::Chain (use Enumerable#chain)
228
+ - Kernel
229
+ - `then`
230
+
231
+ - Additional backports for 2.5.0:
232
+ - String
233
+ - `undump`
234
+
235
+ ## 3.11.0 - 2017-12-25
236
+
237
+ ### Added
238
+
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
250
+
251
+ - `any?`, `all?`, `none?`, `one?` (with pattern argument)
252
+
253
+ - Hash
254
+
255
+ - `slice`
256
+ - `transform_keys`
257
+
258
+ - Integer
259
+
260
+ - `sqrt`
261
+ - `allbits?`, `anybits?` and `nobits?`
262
+
263
+ - Kernel
264
+
265
+ - `yield_self`
266
+
267
+ - Module
268
+
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
283
+
284
+ ## 3.10.0 - 2017-10-17
285
+
286
+ ### Added
287
+
288
+ - Additional features of 2.4.0
289
+
290
+ - Enumerable
291
+
292
+ - `uniq`
293
+ - `sum`
294
+
295
+ - Hash
296
+ - `compact`
297
+ - `transform_values`
298
+
299
+ ## 3.9.0 - 2017-10-07
300
+
301
+ ### Added
302
+
303
+ - From 2.4.0: `dup` for `true`, `false`, `nil`, Numeric
304
+ - From 2.2.0: `Method#super_method`
305
+
306
+ ## 3.8.0 - 2017-04-26
307
+
308
+ ### Added
309
+
310
+ - From 2.4.0: `String#match?`, `Regexp#match?`
311
+
312
+ - From 2.3.0:
313
+
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`
320
+
321
+ - From 2.2.0:
322
+ - `Method#curry`
323
+ - `String#unicode_normalize{|?|!}`
324
+ - `Kernel#itself`
325
+ - Float: `next_float`, `prev_float`
326
+
327
+ ## 3.7.0 - 2017-03-28
328
+
329
+ Initiate work on backports of 2.2, 2.3, 2.4
330
+
331
+ ### Added
332
+
333
+ - From 2.4.0:
334
+
335
+ - `Comparable#clamp`
336
+
337
+ - From 2.2.0:
338
+ - Enumerable: `slice_when`, `slice_after`
339
+
340
+ ## 3.6.0 - 2014-02-14
341
+
342
+ ### Added
343
+
344
+ - Additional features of 2.1.0
345
+ - Bignum#bit_length
346
+ - Fixnum#bit_length
347
+ - Module#include (now public)
348
+
349
+ ## 3.5.0 - 2014-02-3
350
+
351
+ ### Added
352
+
353
+ - Additional features of 2.0.0
354
+ - Range#size
355
+
356
+ ## 3.4.0 - 2013-12-29
357
+
358
+ ### Added
359
+
360
+ - Additional features of 2.1.0
361
+ - Array#to_h, Enumerable#to_h
362
+
363
+ ## 3.3.0 - 2013-04-03
364
+
365
+ ### Fixed
366
+
367
+ - Moved `Proc#yield` & `Hash#key` from 1.8.7 to 1.9.1
368
+
369
+ ## 3.2.0 - 2013-04-02
370
+
371
+ ### Fixed
372
+
373
+ - Moved `Dir.mktmpdir` to the stdlib 'tmpdir' for Ruby 1.8.7
374
+
375
+ ### Removed
376
+
377
+ - Removed `returning` as it is no longer part of Rails.
378
+
379
+ ## 3.1.0 - 2013-03-05
380
+
381
+ ### Added
382
+
383
+ - Backports can now be loaded separately!
384
+
385
+ ### Fixed
386
+
387
+ - Small tweaks and fixes for many methods to pass more RubySpecs
388
+
389
+ ## 3.0.0 - 2013-02-24
390
+
391
+ ### Added
392
+
393
+ - Additional features of 2.0.0
394
+
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...)
400
+
401
+ ## 2.8.0 - 2013-02-3
402
+
403
+ ### Added
404
+
405
+ - Added some features of 2.0.0 (must be required explicitly until official
406
+ release):
407
+ - Array#bsearch
408
+ - Range#bsearch
409
+
410
+ ## 2.7.0 - 2013-01-14
411
+
412
+ ### Added
413
+
414
+ - Features of 2.0.0 (must be required explicitly until official
415
+ release):
416
+ - Enumerable#lazy
417
+ - Enumerator::Lazy
418
+
419
+ ## 2.6.0 - 2012-05-29
420
+
421
+ ### Removed
422
+
423
+ - Enumerable#join
424
+
425
+ ## 2.5.0 - 2012-02-25
426
+
427
+ ### Added
428
+
429
+ - Some features of 1.9.3:
430
+ - IO::NULL
431
+ - IO#advise
432
+ - String#byteslice
433
+ - String#prepend
434
+
435
+ ## 2.4.0 - 2012-02-24
436
+
437
+ ### Added
438
+
439
+ - Add backporting for libraries
440
+
441
+ - Bring libraries up to date:
442
+
443
+ - Matrix
444
+ - Prime
445
+ - Set
446
+
447
+ - Some features of 1.9.3:
448
+
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)
456
+
457
+ ## 2.3.0 - 2011-05-13
458
+
459
+ ### Added
460
+
461
+ - `Enumerator::Yielder#<<`
462
+
463
+ ## 2.2.0 - 2011-05-13
464
+
465
+ ### Fixed
466
+
467
+ - Ruby 1.8.8 was officially cancelled; code was moved to Ruby 1.9.1 and
468
+ README updated.
469
+
470
+ - `"".ord` now raises an error.
471
+
472
+ ## 2.1.0 - 2011-04-16
473
+
474
+ ### Added
475
+
476
+ - Proc#curry, #lambda (thanks Konstantine Haase)
477
+
478
+ ## 2.0.0 - 2010-12-5
479
+
480
+ ### Fixed
481
+
482
+ Change of major version because of two small changes that are not quite
483
+ compatible and because the minor version was getting quite high!
484
+
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)
490
+
491
+ - Change behavior of array.flatten(0) to match Ruby 1.9 (i.e. return a dup
492
+ of array, instead of array itself)
493
+
494
+ ## 1.18.0 - 2010-06-19
495
+
496
+ ### Added
497
+
498
+ - Some features of 1.9.1:
499
+
500
+ - Math#log2, Math#log with base
501
+
502
+ ### Fixed
503
+
504
+ - Enumerator#each in 1.8.6.
505
+
506
+ ## 1.17.0 - 2010-05-17
507
+
508
+ ### Added
509
+
510
+ - Some features of 1.9.2:
511
+
512
+ - Array#repeated_combination, #repeated_permutation
513
+
514
+ ## 1.16.2 - 2010-04-11
515
+
516
+ ### Added
517
+
518
+ - Some features of 1.9.2:
519
+
520
+ - Array#uniq, #uniq! (with block)
521
+ - Array#product (with block)
522
+ - Dir.home
523
+ - Hash#keep_if, select!
524
+ - Random (new class)
525
+
526
+ ## 1.15.0 - 2010-02-23
527
+
528
+ ### Added
529
+
530
+ - A features of 1.9.2:
531
+
532
+ - Object#singleton_class
533
+
534
+ ## 1.14.0 - 2010-02-3
535
+
536
+ ### Added
537
+
538
+ - Some features of 1.9.2:
539
+
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#==
547
+
548
+ ## 1.13.0 - 2010-01-20
549
+
550
+ ### Added
551
+
552
+ - Missing for 1.8.7 were
553
+ - Array#permutation
554
+ - Hash#hash (was only inherited)
555
+ - Hash#eql? (was only inherited)
556
+
557
+ ## 1.12.0 - 2009-12-4
558
+
559
+ ### Added
560
+
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)
564
+
565
+ - Backported all builtin methods of 1.8.8 (most of which where moved from
566
+ the 1.9 backports)
567
+
568
+ - Refreshed README
569
+
570
+ ## 1.11.0 - 2009-11-04
571
+
572
+ ### Added
573
+
574
+ - Enumerable#flat_map / collect_concat (Ruby 1.9)
575
+
576
+ - Object#public_send (Ruby 1.9)
577
+
578
+ - Object#public_method (Ruby 1.9)
579
+
580
+ ## 1.10.0 - 2009-09-29
581
+
582
+ ### Added
583
+
584
+ - Enumerable#chunk (Ruby 1.9)
585
+
586
+ - Kernel#respond_to_missing? (Ruby 1.9)
587
+
588
+ - Completed Process.exec (Ruby 1.8.7)
589
+
590
+ ## 1.9.0 - 2009-09-04
591
+
592
+ ### Added
593
+
594
+ - In Ruby 1.9, most class methods of File accept filenames as String, or
595
+ convertible via #to_str or #to_path.
596
+
597
+ - File#to_path is also an alias to File#path. These have been backported.
598
+
599
+ - File.binread (actually IO.binread)
600
+
601
+ - BasicObject available via "require 'backports/basic_object"
602
+
603
+ ## 1.8.4 - 2009-09-03
604
+
605
+ ### Added
606
+
607
+ `Dir.mktmpdir` for older version of 1.8.6
608
+
609
+ ## 1.8.1 - 2009-09-01
610
+
611
+ ### Added
612
+
613
+ The alias String#lines (Ruby 1.8.7)
614
+
615
+ ## 1.8.0 - 2009-08-30
616
+
617
+ ### Added
618
+
619
+ Backports can be required selectively:
620
+
621
+ - backports/1.8.7
622
+ - backports/1.9 (which include 1.8.7)
623
+ - rails
624
+
625
+ ## 1.7.1 - 2009-08-20
626
+
627
+ ### Fixed
628
+
629
+ `Enumerable#take` and `Enumerable#first(n)` are now returning as soon as possible.
630
+ Previously, `#each` was yielding one element too many. See redmine issue #1554.
631
+
632
+ ## 1.7.0 - 2009-05-27
633
+
634
+ ### Fixed
635
+
636
+ Porting all 1.8.7 features to rubinius was quite enlightening
637
+ (http://blog.marc-andre.ca/2009/05/schizo-ruby-puzzle.html ). Many
638
+ improvements were made to be consistent with MRI, e.g. converting arguments
639
+ using to_int if needed, etc... The changes are now reflected in 'backports'.
640
+
641
+ ### Added
642
+
643
+ Some IO and ARGF methods were missing and are now complete.
644
+
645
+ ## 1.6.6 - 2009-04-30
646
+
647
+ ### Fixed
648
+
649
+ Important bug fix. `String#gsub` is left alone until I find a good way to modify
650
+ it.
651
+
652
+ ## 1.6.0 - 2009-04-29
653
+
654
+ ### Added
655
+
656
+ Completed backport to 1.8.7.
657
+
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`
675
+
676
+ - Hash
677
+
678
+ - Optional block for `delete_if, each, each_key, each_pair, each_value, reject!, select` (and ENV)
679
+
680
+ - Integer
681
+
682
+ - moved stuff out of Fixnum
683
+ - Optional block for `downto`, `times`, `upto`
684
+
685
+ - IO
686
+
687
+ - Optional block for `each`, `each_line`, `each_byte`, `foreach` (and
688
+ ARGF)
689
+
690
+ - Kernel
691
+
692
+ - `loop`, `StopIteration`
693
+ - +**method**+, +**callee**+
694
+
695
+ - Method
696
+
697
+ - `name`, `owner`, `receiver`
698
+
699
+ - Module
700
+
701
+ - `class_exec`, `module_exec`
702
+
703
+ - Numeric
704
+
705
+ - `step`
706
+
707
+ - Object
708
+
709
+ - `define_singleton_method`
710
+ - `instance_exec`
711
+
712
+ - ObjectSpace
713
+
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`
749
+
750
+ ## 1.5.0 - 2009-04-24
751
+
752
+ ### Added
753
+
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)
763
+
764
+ - `div`, `fdiv`
765
+ - `succ`
766
+ - `magnitude`
767
+
768
+ - Enumerable (completed)
769
+ - `each_with_object`
770
+ - `inject`
771
+ - `max_by`, `min_by`, `minmax`, `minmax_by`
772
+ - `reduce`
773
+ - `to_a`
774
+
775
+ ## 1.4.0 - 2009-04-21
776
+
777
+ ### Added
778
+
779
+ - String
780
+
781
+ - `rpartition`
782
+
783
+ - Proc
784
+ - `yield`
785
+
786
+ ## 1.3.0 - 2009-04-17
787
+
788
+ ### Added
789
+
790
+ - Enumerable
791
+
792
+ - `none?`
793
+
794
+ - Array
795
+
796
+ - `sample`, `shuffle`, `shuffle!`
797
+
798
+ - String
799
+ - `each_char`, `chars`
800
+ - `partition`
801
+
802
+ Tests and fixes for `String#start_with?` and `String#end_with?`
803
+
804
+ ## 1.2.0 - 2009-04-12
805
+
806
+ ### Added
807
+
808
+ - Array
809
+
810
+ - `reverse_each`
811
+ - `cycle`
812
+
813
+ - Enumerable
814
+
815
+ - `reverse_each`
816
+ - `each_slice`, `each_cons`
817
+ - `count`
818
+ - `cycle`
819
+ - `group_by`
820
+
821
+ - Hash
822
+ - `default_proc=`
823
+
824
+ ## 1.1.0 - 2009-04-11
825
+
826
+ ### Added
827
+
828
+ - Array
829
+
830
+ - `flatten`, `flatten!`
831
+ - `find_index`, `index`
832
+
833
+ - Hash
834
+ - `reverse_merge`, `reverse_merge!`
835
+
836
+ ## 1.0.0 - 2009-04-2
837
+
838
+ - Initial release.
839
+
840
+ ## Notes
841
+
842
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
843
+
844
+ [unreleased]: https://github.com/marcandre/backports/compare/v3.16.0...HEAD
845
+ [3.16.0]: https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0
846
+ [3.15.0]: https://github.com/marcandre/backports/compare/v3.14.0...v3.15.0