backports 3.16.0 → 3.18.0

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 (441) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +691 -0
  3. data/Gemfile +6 -0
  4. data/README.md +529 -0
  5. data/SECURITY.md +5 -0
  6. data/backports.gemspec +5 -1
  7. data/lib/backports.rb +6 -0
  8. data/lib/backports/1.8.7.rb +10 -2
  9. data/lib/backports/1.9.1.rb +6 -1
  10. data/lib/backports/1.9.2.rb +6 -1
  11. data/lib/backports/1.9.2/stdlib/matrix.rb +5 -0
  12. data/lib/backports/1.9.3.rb +6 -1
  13. data/lib/backports/2.0.0.rb +6 -1
  14. data/lib/backports/2.0.0/range/size.rb +2 -0
  15. data/lib/backports/2.1.0.rb +1 -1
  16. data/lib/backports/2.2.0.rb +1 -1
  17. data/lib/backports/2.2.0/enumerable/slice_after.rb +1 -1
  18. data/lib/backports/2.2.0/float/next_float.rb +1 -1
  19. data/lib/backports/2.2.0/float/prev_float.rb +1 -1
  20. data/lib/backports/2.2.0/method/super_method.rb +2 -2
  21. data/lib/backports/2.3.0.rb +1 -1
  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/struct/dig.rb +1 -2
  27. data/lib/backports/2.4.0.rb +1 -1
  28. data/lib/backports/2.4.0/hash/transform_values.rb +2 -2
  29. data/lib/backports/2.4.0/true_class/dup.rb +0 -1
  30. data/lib/backports/2.5.0.rb +1 -1
  31. data/lib/backports/2.5.0/hash/transform_keys.rb +1 -1
  32. data/lib/backports/2.5.0/integer/sqrt.rb +2 -2
  33. data/lib/backports/2.5.0/module/alias_method.rb +0 -1
  34. data/lib/backports/2.5.0/string/undump.rb +3 -7
  35. data/lib/backports/2.5.0/struct/new.rb +1 -1
  36. data/lib/backports/2.6.0.rb +1 -1
  37. data/lib/backports/2.6.0/enumerable/chain.rb +4 -1
  38. data/lib/backports/2.6.0/hash/to_h.rb +1 -1
  39. data/lib/backports/2.6.0/range.rb +3 -0
  40. data/lib/backports/2.6.0/range/cover.rb +22 -0
  41. data/lib/backports/2.7.0.rb +1 -1
  42. data/lib/backports/2.7.0/enumerable/filter_map.rb +2 -2
  43. data/lib/backports/rails/array.rb +4 -0
  44. data/lib/backports/rails/enumerable.rb +4 -0
  45. data/lib/backports/rails/hash.rb +4 -0
  46. data/lib/backports/rails/kernel.rb +4 -0
  47. data/lib/backports/rails/module.rb +4 -0
  48. data/lib/backports/rails/string.rb +4 -0
  49. data/lib/backports/std_lib.rb +3 -0
  50. data/lib/backports/tools/deprecation.rb +19 -0
  51. data/lib/backports/tools/require_relative_dir.rb +6 -1
  52. data/lib/backports/version.rb +1 -1
  53. metadata +10 -511
  54. data/.document +0 -6
  55. data/.gitignore +0 -9
  56. data/.gitmodules +0 -6
  57. data/.irbrc +0 -3
  58. data/.travis.yml +0 -19
  59. data/CHANGELOG.rdoc +0 -504
  60. data/README.rdoc +0 -445
  61. data/Rakefile +0 -192
  62. data/default.mspec +0 -14
  63. data/frozen_old_spec/tags/1.8.6/core/argf/each_line_spec.rb +0 -6
  64. data/frozen_old_spec/tags/1.8.6/core/argf/each_spec.rb +0 -6
  65. data/frozen_old_spec/tags/1.8.6/core/argf/lines_spec.rb +0 -6
  66. data/frozen_old_spec/tags/1.8.6/core/array/append_spec.rb +0 -1
  67. data/frozen_old_spec/tags/1.8.6/core/array/collect_spec.rb +0 -7
  68. data/frozen_old_spec/tags/1.8.6/core/array/rotate_spec.rb +0 -2
  69. data/frozen_old_spec/tags/1.8.6/core/array/uniq_spec.rb +0 -3
  70. data/frozen_old_spec/tags/1.8.6/core/complex/to_r_spec.rb +0 -3
  71. data/frozen_old_spec/tags/1.8.6/core/enumerable/all_spec.rb +0 -1
  72. data/frozen_old_spec/tags/1.8.6/core/enumerable/any_spec.rb +0 -2
  73. data/frozen_old_spec/tags/1.8.6/core/enumerable/each_entry_spec.rb +0 -1
  74. data/frozen_old_spec/tags/1.8.6/core/enumerable/none_spec.rb +0 -1
  75. data/frozen_old_spec/tags/1.8.6/core/enumerable/one_spec.rb +0 -1
  76. data/frozen_old_spec/tags/1.8.6/core/enumerator/next_spec.rb +0 -1
  77. data/frozen_old_spec/tags/1.8.6/core/env/to_h_spec.rb +0 -2
  78. data/frozen_old_spec/tags/1.8.6/core/file/join_spec.rb +0 -3
  79. data/frozen_old_spec/tags/1.8.6/core/file/lchmod_spec.rb +0 -2
  80. data/frozen_old_spec/tags/1.8.6/core/file/new_spec.rb +0 -2
  81. data/frozen_old_spec/tags/1.8.6/core/file/open_spec.rb +0 -13
  82. data/frozen_old_spec/tags/1.8.6/core/file/to_path_spec.rb +0 -1
  83. data/frozen_old_spec/tags/1.8.6/core/fixnum/fdiv_spec.rb +0 -1
  84. data/frozen_old_spec/tags/1.8.6/core/gc/stress_spec.rb +0 -2
  85. data/frozen_old_spec/tags/1.8.6/core/hash/assoc_spec.rb +0 -1
  86. data/frozen_old_spec/tags/1.8.6/core/hash/constructor_spec.rb +0 -3
  87. data/frozen_old_spec/tags/1.8.6/core/hash/default_proc_spec.rb +0 -3
  88. data/frozen_old_spec/tags/1.8.6/core/hash/delete_if_spec.rb +0 -1
  89. data/frozen_old_spec/tags/1.8.6/core/hash/each_pair_spec.rb +0 -1
  90. data/frozen_old_spec/tags/1.8.6/core/hash/eql_spec.rb +0 -3
  91. data/frozen_old_spec/tags/1.8.6/core/hash/hash_spec.rb +0 -3
  92. data/frozen_old_spec/tags/1.8.6/core/hash/keep_if_spec.rb +0 -2
  93. data/frozen_old_spec/tags/1.8.6/core/hash/rassoc_spec.rb +0 -1
  94. data/frozen_old_spec/tags/1.8.6/core/hash/reject_spec.rb +0 -2
  95. data/frozen_old_spec/tags/1.8.6/core/hash/select_spec.rb +0 -8
  96. data/frozen_old_spec/tags/1.8.6/core/integer/round_spec.rb +0 -2
  97. data/frozen_old_spec/tags/1.8.6/core/io/binread_spec.rb +0 -7
  98. data/frozen_old_spec/tags/1.8.6/core/io/chars_spec.rb +0 -1
  99. data/frozen_old_spec/tags/1.8.6/core/io/each_char_spec.rb +0 -1
  100. data/frozen_old_spec/tags/1.8.6/core/io/lines_spec.rb +0 -1
  101. data/frozen_old_spec/tags/1.8.6/core/io/open_spec.rb +0 -24
  102. data/frozen_old_spec/tags/1.8.6/core/io/ungetbyte_spec.rb +0 -4
  103. data/frozen_old_spec/tags/1.8.6/core/io/write_spec.rb +0 -5
  104. data/frozen_old_spec/tags/1.8.6/core/kernel/__callee___spec.rb +0 -6
  105. data/frozen_old_spec/tags/1.8.6/core/kernel/__method___spec.rb +0 -1
  106. data/frozen_old_spec/tags/1.8.6/core/kernel/define_singleton_method_spec.rb +0 -2
  107. data/frozen_old_spec/tags/1.8.6/core/kernel/public_method_spec.rb +0 -2
  108. data/frozen_old_spec/tags/1.8.6/core/kernel/require_relative_spec.rb +0 -3
  109. data/frozen_old_spec/tags/1.8.6/core/math/log2_spec.rb +0 -6
  110. data/frozen_old_spec/tags/1.8.6/core/math/log_spec.rb +0 -3
  111. data/frozen_old_spec/tags/1.8.6/core/module/alias_method_spec.rb +0 -1
  112. data/frozen_old_spec/tags/1.8.6/core/module/attr_accessor_spec.rb +0 -2
  113. data/frozen_old_spec/tags/1.8.6/core/module/attr_reader_spec.rb +0 -2
  114. data/frozen_old_spec/tags/1.8.6/core/module/attr_spec.rb +0 -1
  115. data/frozen_old_spec/tags/1.8.6/core/module/attr_writer_spec.rb +0 -2
  116. data/frozen_old_spec/tags/1.8.6/core/module/class_exec_spec.rb +0 -2
  117. data/frozen_old_spec/tags/1.8.6/core/module/define_method_spec.rb +0 -1
  118. data/frozen_old_spec/tags/1.8.6/core/module/module_exec_spec.rb +0 -2
  119. data/frozen_old_spec/tags/1.8.6/core/module/remove_method_spec.rb +0 -1
  120. data/frozen_old_spec/tags/1.8.6/core/module/undef_method_spec.rb +0 -1
  121. data/frozen_old_spec/tags/1.8.6/core/nil/dup_spec.rb +0 -1
  122. data/frozen_old_spec/tags/1.8.6/core/numeric/step_spec.rb +0 -12
  123. data/frozen_old_spec/tags/1.8.6/core/proc/curry_spec.rb +0 -4
  124. data/frozen_old_spec/tags/1.8.6/core/range/step_spec.rb +0 -12
  125. data/frozen_old_spec/tags/1.8.6/core/string/getbyte_spec.rb +0 -6
  126. data/frozen_old_spec/tags/1.8.6/core/string/partition_spec.rb +0 -1
  127. data/frozen_old_spec/tags/1.8.6/core/string/prepend_spec.rb +0 -1
  128. data/frozen_old_spec/tags/1.8.6/core/string/rpartition_spec.rb +0 -1
  129. data/frozen_old_spec/tags/1.8.6/core/string/setbyte_spec.rb +0 -5
  130. data/frozen_old_spec/tags/1.8.6/core/string/upto_spec.rb +0 -1
  131. data/frozen_old_spec/tags/1.8.6/core/symbol/capitalize_spec.rb +0 -3
  132. data/frozen_old_spec/tags/1.8.6/core/symbol/comparison_spec.rb +0 -1
  133. data/frozen_old_spec/tags/1.8.6/core/symbol/downcase_spec.rb +0 -2
  134. data/frozen_old_spec/tags/1.8.6/core/symbol/element_reference_spec.rb +0 -4
  135. data/frozen_old_spec/tags/1.8.6/core/symbol/empty_spec.rb +0 -1
  136. data/frozen_old_spec/tags/1.8.6/core/symbol/match_spec.rb +0 -2
  137. data/frozen_old_spec/tags/1.8.6/core/symbol/swapcase_spec.rb +0 -2
  138. data/frozen_old_spec/tags/1.8.6/core/symbol/to_proc_spec.rb +0 -1
  139. data/frozen_old_spec/tags/1.8.6/core/symbol/upcase_spec.rb +0 -1
  140. data/frozen_old_spec/tags/1.8.7/core/array/append_spec.rb +0 -1
  141. data/frozen_old_spec/tags/1.8.7/core/array/keep_if_spec.rb +0 -2
  142. data/frozen_old_spec/tags/1.8.7/core/array/rotate_spec.rb +0 -2
  143. data/frozen_old_spec/tags/1.8.7/core/array/select_spec.rb +0 -2
  144. data/frozen_old_spec/tags/1.8.7/core/array/uniq_spec.rb +0 -3
  145. data/frozen_old_spec/tags/1.8.7/core/complex/to_r_spec.rb +0 -3
  146. data/frozen_old_spec/tags/1.8.7/core/enumerable/all_spec.rb +0 -1
  147. data/frozen_old_spec/tags/1.8.7/core/enumerable/any_spec.rb +0 -2
  148. data/frozen_old_spec/tags/1.8.7/core/enumerable/collect_concat_spec.rb +0 -1
  149. data/frozen_old_spec/tags/1.8.7/core/enumerable/flat_map_spec.rb +0 -1
  150. data/frozen_old_spec/tags/1.8.7/core/enumerable/none_spec.rb +0 -1
  151. data/frozen_old_spec/tags/1.8.7/core/enumerable/one_spec.rb +0 -1
  152. data/frozen_old_spec/tags/1.8.7/core/env/to_h_spec.rb +0 -2
  153. data/frozen_old_spec/tags/1.8.7/core/file/lchmod_spec.rb +0 -2
  154. data/frozen_old_spec/tags/1.8.7/core/file/new_spec.rb +0 -1
  155. data/frozen_old_spec/tags/1.8.7/core/file/open_spec.rb +0 -5
  156. data/frozen_old_spec/tags/1.8.7/core/file/readlink_spec.rb +0 -6
  157. data/frozen_old_spec/tags/1.8.7/core/file/to_path_spec.rb +0 -1
  158. data/frozen_old_spec/tags/1.8.7/core/hash/assoc_spec.rb +0 -1
  159. data/frozen_old_spec/tags/1.8.7/core/hash/default_proc_spec.rb +0 -3
  160. data/frozen_old_spec/tags/1.8.7/core/hash/keep_if_spec.rb +0 -2
  161. data/frozen_old_spec/tags/1.8.7/core/hash/merge_spec.rb +0 -3
  162. data/frozen_old_spec/tags/1.8.7/core/hash/rassoc_spec.rb +0 -1
  163. data/frozen_old_spec/tags/1.8.7/core/hash/select_spec.rb +0 -1
  164. data/frozen_old_spec/tags/1.8.7/core/hash/to_h_spec.rb +0 -1
  165. data/frozen_old_spec/tags/1.8.7/core/hash/update_spec.rb +0 -3
  166. data/frozen_old_spec/tags/1.8.7/core/integer/round_spec.rb +0 -2
  167. data/frozen_old_spec/tags/1.8.7/core/io/binread_spec.rb +0 -7
  168. data/frozen_old_spec/tags/1.8.7/core/io/open_spec.rb +0 -32
  169. data/frozen_old_spec/tags/1.8.7/core/io/ungetbyte_spec.rb +0 -4
  170. data/frozen_old_spec/tags/1.8.7/core/io/write_spec.rb +0 -5
  171. data/frozen_old_spec/tags/1.8.7/core/kernel/__callee___spec.rb +0 -6
  172. data/frozen_old_spec/tags/1.8.7/core/kernel/define_singleton_method_spec.rb +0 -2
  173. data/frozen_old_spec/tags/1.8.7/core/kernel/public_method_spec.rb +0 -1
  174. data/frozen_old_spec/tags/1.8.7/core/kernel/require_relative_spec.rb +0 -3
  175. data/frozen_old_spec/tags/1.8.7/core/math/log2_spec.rb +0 -6
  176. data/frozen_old_spec/tags/1.8.7/core/math/log_spec.rb +0 -3
  177. data/frozen_old_spec/tags/1.8.7/core/module/alias_method_spec.rb +0 -7
  178. data/frozen_old_spec/tags/1.8.7/core/module/attr_accessor_spec.rb +0 -2
  179. data/frozen_old_spec/tags/1.8.7/core/module/attr_reader_spec.rb +0 -2
  180. data/frozen_old_spec/tags/1.8.7/core/module/attr_spec.rb +0 -2
  181. data/frozen_old_spec/tags/1.8.7/core/module/attr_writer_spec.rb +0 -2
  182. data/frozen_old_spec/tags/1.8.7/core/module/define_method_spec.rb +0 -1
  183. data/frozen_old_spec/tags/1.8.7/core/module/include_spec.rb +0 -3
  184. data/frozen_old_spec/tags/1.8.7/core/module/remove_method_spec.rb +0 -3
  185. data/frozen_old_spec/tags/1.8.7/core/module/undef_method_spec.rb +0 -3
  186. data/frozen_old_spec/tags/1.8.7/core/nil/dup_spec.rb +0 -1
  187. data/frozen_old_spec/tags/1.8.7/core/proc/curry_spec.rb +0 -3
  188. data/frozen_old_spec/tags/1.8.7/core/proc/yield_spec.rb +0 -4
  189. data/frozen_old_spec/tags/1.8.7/core/range/size_spec.rb +0 -1
  190. data/frozen_old_spec/tags/1.8.7/core/string/getbyte_spec.rb +0 -5
  191. data/frozen_old_spec/tags/1.8.7/core/string/prepend_spec.rb +0 -1
  192. data/frozen_old_spec/tags/1.8.7/core/string/setbyte_spec.rb +0 -5
  193. data/frozen_old_spec/tags/1.8.7/core/struct/new_spec.rb +0 -3
  194. data/frozen_old_spec/tags/1.8.7/core/symbol/capitalize_spec.rb +0 -3
  195. data/frozen_old_spec/tags/1.8.7/core/symbol/comparison_spec.rb +0 -1
  196. data/frozen_old_spec/tags/1.8.7/core/symbol/downcase_spec.rb +0 -2
  197. data/frozen_old_spec/tags/1.8.7/core/symbol/element_reference_spec.rb +0 -4
  198. data/frozen_old_spec/tags/1.8.7/core/symbol/empty_spec.rb +0 -1
  199. data/frozen_old_spec/tags/1.8.7/core/symbol/match_spec.rb +0 -2
  200. data/frozen_old_spec/tags/1.8.7/core/symbol/swapcase_spec.rb +0 -2
  201. data/frozen_old_spec/tags/1.8.7/core/symbol/upcase_spec.rb +0 -1
  202. data/frozen_old_spec/tags/1.9.1/core/array/append_spec.rb +0 -1
  203. data/frozen_old_spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  204. data/frozen_old_spec/tags/1.9.1/core/enumerable/all_spec.rb +0 -1
  205. data/frozen_old_spec/tags/1.9.1/core/enumerable/any_spec.rb +0 -2
  206. data/frozen_old_spec/tags/1.9.1/core/enumerable/none_spec.rb +0 -1
  207. data/frozen_old_spec/tags/1.9.1/core/enumerable/one_spec.rb +0 -1
  208. data/frozen_old_spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  209. data/frozen_old_spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  210. data/frozen_old_spec/tags/1.9.1/core/io/write_spec.rb +0 -2
  211. data/frozen_old_spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -4
  212. data/frozen_old_spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -2
  213. data/frozen_old_spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -2
  214. data/frozen_old_spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  215. data/frozen_old_spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -2
  216. data/frozen_old_spec/tags/1.9.1/core/module/define_method_spec.rb +0 -3
  217. data/frozen_old_spec/tags/1.9.1/core/module/remove_method_spec.rb +0 -1
  218. data/frozen_old_spec/tags/1.9.1/core/module/undef_method_spec.rb +0 -1
  219. data/frozen_old_spec/tags/1.9.1/core/nil/dup_spec.rb +0 -1
  220. data/frozen_old_spec/tags/1.9.2/core/array/append_spec.rb +0 -1
  221. data/frozen_old_spec/tags/1.9.2/core/enumerable/all_spec.rb +0 -1
  222. data/frozen_old_spec/tags/1.9.2/core/enumerable/any_spec.rb +0 -2
  223. data/frozen_old_spec/tags/1.9.2/core/enumerable/none_spec.rb +0 -1
  224. data/frozen_old_spec/tags/1.9.2/core/enumerable/one_spec.rb +0 -1
  225. data/frozen_old_spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  226. data/frozen_old_spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -4
  227. data/frozen_old_spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -2
  228. data/frozen_old_spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -2
  229. data/frozen_old_spec/tags/1.9.2/core/module/attr_spec.rb +0 -1
  230. data/frozen_old_spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -2
  231. data/frozen_old_spec/tags/1.9.2/core/module/define_method_spec.rb +0 -3
  232. data/frozen_old_spec/tags/1.9.2/core/module/remove_method_spec.rb +0 -1
  233. data/frozen_old_spec/tags/1.9.2/core/module/undef_method_spec.rb +0 -1
  234. data/frozen_old_spec/tags/1.9.2/core/nil/dup_spec.rb +0 -1
  235. data/frozen_old_spec/tags/1.9.3/core/enumerable/any_spec.rb +0 -1
  236. data/frozen_old_spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -4
  237. data/frozen_old_spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  238. data/frozen_old_spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  239. data/frozen_old_spec/tags/1.9.3/core/module/attr_spec.rb +0 -1
  240. data/frozen_old_spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  241. data/frozen_old_spec/tags/1.9.3/core/module/define_method_spec.rb +0 -3
  242. data/frozen_old_spec/tags/1.9.3/core/module/remove_method_spec.rb +0 -1
  243. data/frozen_old_spec/tags/1.9.3/core/module/undef_method_spec.rb +0 -1
  244. data/frozen_old_spec/tags/2.0.0/core/enumerable/any_spec.rb +0 -1
  245. data/frozen_old_spec/tags/2.0.0/core/module/alias_method_spec.rb +0 -1
  246. data/frozen_old_spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -2
  247. data/frozen_old_spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -2
  248. data/frozen_old_spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  249. data/frozen_old_spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -2
  250. data/frozen_old_spec/tags/2.0.0/core/module/define_method_spec.rb +0 -2
  251. data/frozen_old_spec/tags/2.0.0/core/module/remove_method_spec.rb +0 -1
  252. data/frozen_old_spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -1
  253. data/frozen_old_spec/tags/2.0.0/core/nil/dup_spec.rb +0 -1
  254. data/frozen_old_spec/tags/2.0.0/core/struct/new_spec.rb +0 -1
  255. data/frozen_old_spec/tags/2.1.0/core/enumerable/any_spec.rb +0 -1
  256. data/frozen_old_spec/tags/2.1.0/core/module/alias_method_spec.rb +0 -1
  257. data/frozen_old_spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -2
  258. data/frozen_old_spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -2
  259. data/frozen_old_spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  260. data/frozen_old_spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -2
  261. data/frozen_old_spec/tags/2.1.0/core/module/define_method_spec.rb +0 -2
  262. data/frozen_old_spec/tags/2.1.0/core/module/remove_method_spec.rb +0 -1
  263. data/frozen_old_spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -1
  264. data/frozen_old_spec/tags/2.1.0/core/nil/dup_spec.rb +0 -1
  265. data/frozen_old_spec/tags/2.1.0/core/struct/new_spec.rb +0 -1
  266. data/frozen_old_spec/tags/2.2.0/core/enumerable/any_spec.rb +0 -1
  267. data/frozen_old_spec/tags/2.2.0/core/module/alias_method_spec.rb +0 -1
  268. data/frozen_old_spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -2
  269. data/frozen_old_spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -2
  270. data/frozen_old_spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  271. data/frozen_old_spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -2
  272. data/frozen_old_spec/tags/2.2.0/core/module/define_method_spec.rb +0 -1
  273. data/frozen_old_spec/tags/2.2.0/core/module/remove_method_spec.rb +0 -1
  274. data/frozen_old_spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -1
  275. data/frozen_old_spec/tags/2.2.0/core/nil/dup_spec.rb +0 -1
  276. data/frozen_old_spec/tags/2.2.0/core/struct/new_spec.rb +0 -1
  277. data/frozen_old_spec/tags/2.3.0/core/enumerable/any_spec.rb +0 -1
  278. data/frozen_old_spec/tags/2.3.0/core/module/alias_method_spec.rb +0 -1
  279. data/frozen_old_spec/tags/2.3.0/core/module/attr_accessor_spec.rb +0 -2
  280. data/frozen_old_spec/tags/2.3.0/core/module/attr_reader_spec.rb +0 -2
  281. data/frozen_old_spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  282. data/frozen_old_spec/tags/2.3.0/core/module/attr_writer_spec.rb +0 -2
  283. data/frozen_old_spec/tags/2.3.0/core/module/define_method_spec.rb +0 -1
  284. data/frozen_old_spec/tags/2.3.0/core/module/remove_method_spec.rb +0 -1
  285. data/frozen_old_spec/tags/2.3.0/core/module/undef_method_spec.rb +0 -1
  286. data/frozen_old_spec/tags/2.3.0/core/nil/dup_spec.rb +0 -1
  287. data/frozen_old_spec/tags/2.3.0/core/struct/new_spec.rb +0 -1
  288. data/frozen_old_spec/tags/2.3.5/core/struct/new_spec.rb +0 -1
  289. data/frozen_old_spec/tags/2.4.0/core/enumerable/any_spec.rb +0 -1
  290. data/frozen_old_spec/tags/2.4.0/core/module/alias_method_spec.rb +0 -1
  291. data/frozen_old_spec/tags/2.4.0/core/module/attr_accessor_spec.rb +0 -2
  292. data/frozen_old_spec/tags/2.4.0/core/module/attr_reader_spec.rb +0 -2
  293. data/frozen_old_spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  294. data/frozen_old_spec/tags/2.4.0/core/module/attr_writer_spec.rb +0 -2
  295. data/frozen_old_spec/tags/2.4.0/core/module/define_method_spec.rb +0 -1
  296. data/frozen_old_spec/tags/2.4.0/core/module/remove_method_spec.rb +0 -1
  297. data/frozen_old_spec/tags/2.4.0/core/module/undef_method_spec.rb +0 -1
  298. data/frozen_old_spec/tags/2.4.0/core/nil/dup_spec.rb +0 -1
  299. data/frozen_old_spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  300. data/frozen_old_spec/tags/2.5.0/core/enumerable/any_spec.rb +0 -1
  301. data/frozen_old_spec/tags/2.5.0/core/module/alias_method_spec.rb +0 -1
  302. data/frozen_old_spec/tags/2.5.0/core/module/attr_accessor_spec.rb +0 -2
  303. data/frozen_old_spec/tags/2.5.0/core/module/attr_reader_spec.rb +0 -2
  304. data/frozen_old_spec/tags/2.5.0/core/module/attr_spec.rb +0 -1
  305. data/frozen_old_spec/tags/2.5.0/core/module/attr_writer_spec.rb +0 -2
  306. data/frozen_old_spec/tags/2.5.0/core/module/define_method_spec.rb +0 -1
  307. data/frozen_old_spec/tags/2.5.0/core/module/remove_method_spec.rb +0 -1
  308. data/frozen_old_spec/tags/2.5.0/core/module/undef_method_spec.rb +0 -1
  309. data/frozen_old_spec/tags/2.5.0/core/nil/dup_spec.rb +0 -1
  310. data/frozen_old_spec/tags/2.5.0/core/struct/new_spec.rb +0 -1
  311. data/set_version/1.8.7.rb +0 -1
  312. data/set_version/1.9.1.rb +0 -1
  313. data/set_version/1.9.2.rb +0 -1
  314. data/set_version/1.9.3.rb +0 -1
  315. data/set_version/2.0.0.rb +0 -1
  316. data/set_version/2.1.0.rb +0 -1
  317. data/set_version/2.2.0.rb +0 -1
  318. data/set_version/2.3.0.rb +0 -1
  319. data/set_version/2.4.0.rb +0 -1
  320. data/set_version/2.5.0.rb +0 -1
  321. data/set_version/2.6.0.rb +0 -1
  322. data/set_version/2.7.0.rb +0 -1
  323. data/set_version/setter.rb +0 -22
  324. data/spec/tags/1.8.7/core/array/to_h_spec.rb +0 -3
  325. data/spec/tags/1.8.7/core/enumerable/to_h_spec.rb +0 -2
  326. data/spec/tags/1.8.7/core/module/attr_spec.rb +0 -1
  327. data/spec/tags/1.8.7/core/module/include_spec.rb +0 -1
  328. data/spec/tags/1.9.1/core/array/bsearch_index_spec.rb +0 -1
  329. data/spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  330. data/spec/tags/1.9.1/core/dir/each_child_spec.rb +0 -1
  331. data/spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  332. data/spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  333. data/spec/tags/1.9.1/core/hash/slice_spec.rb +0 -1
  334. data/spec/tags/1.9.1/core/hash/transform_keys_spec.rb +0 -2
  335. data/spec/tags/1.9.1/core/hash/transform_values_spec.rb +0 -2
  336. data/spec/tags/1.9.1/core/io/write_spec.rb +0 -3
  337. data/spec/tags/1.9.1/core/kernel/yield_self_spec.rb +0 -1
  338. data/spec/tags/1.9.1/core/method/curry_spec.rb +0 -1
  339. data/spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -3
  340. data/spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -1
  341. data/spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -1
  342. data/spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  343. data/spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -1
  344. data/spec/tags/1.9.1/core/module/define_method_spec.rb +0 -7
  345. data/spec/tags/1.9.1/core/string/uplus_spec.rb +0 -1
  346. data/spec/tags/1.9.1/core/struct/new_spec.rb +0 -2
  347. data/spec/tags/1.9.2/core/array/bsearch_index_spec.rb +0 -1
  348. data/spec/tags/1.9.2/core/array/to_h_spec.rb +0 -3
  349. data/spec/tags/1.9.2/core/dir/each_child_spec.rb +0 -1
  350. data/spec/tags/1.9.2/core/enumerable/to_h_spec.rb +0 -2
  351. data/spec/tags/1.9.2/core/hash/slice_spec.rb +0 -1
  352. data/spec/tags/1.9.2/core/hash/to_h_spec.rb +0 -3
  353. data/spec/tags/1.9.2/core/hash/transform_keys_spec.rb +0 -2
  354. data/spec/tags/1.9.2/core/hash/transform_values_spec.rb +0 -2
  355. data/spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  356. data/spec/tags/1.9.2/core/kernel/then_spec.rb +0 -1
  357. data/spec/tags/1.9.2/core/kernel/yield_self_spec.rb +0 -1
  358. data/spec/tags/1.9.2/core/method/curry_spec.rb +0 -1
  359. data/spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -3
  360. data/spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -1
  361. data/spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -1
  362. data/spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -1
  363. data/spec/tags/1.9.2/core/module/define_method_spec.rb +0 -7
  364. data/spec/tags/1.9.2/core/module/include_spec.rb +0 -1
  365. data/spec/tags/1.9.2/core/string/uplus_spec.rb +0 -1
  366. data/spec/tags/1.9.2/core/struct/new_spec.rb +0 -2
  367. data/spec/tags/1.9.3/core/array/bsearch_index_spec.rb +0 -1
  368. data/spec/tags/1.9.3/core/array/to_h_spec.rb +0 -3
  369. data/spec/tags/1.9.3/core/dir/each_child_spec.rb +0 -1
  370. data/spec/tags/1.9.3/core/enumerable/grep_v_spec.rb +0 -2
  371. data/spec/tags/1.9.3/core/enumerable/to_h_spec.rb +0 -2
  372. data/spec/tags/1.9.3/core/enumerator/produce_spec.rb +0 -1
  373. data/spec/tags/1.9.3/core/hash/slice_spec.rb +0 -1
  374. data/spec/tags/1.9.3/core/hash/to_h_spec.rb +0 -3
  375. data/spec/tags/1.9.3/core/hash/transform_keys_spec.rb +0 -2
  376. data/spec/tags/1.9.3/core/hash/transform_values_spec.rb +0 -2
  377. data/spec/tags/1.9.3/core/io/write_spec.rb +0 -3
  378. data/spec/tags/1.9.3/core/kernel/then_spec.rb +0 -1
  379. data/spec/tags/1.9.3/core/kernel/yield_self_spec.rb +0 -1
  380. data/spec/tags/1.9.3/core/method/curry_spec.rb +0 -1
  381. data/spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -3
  382. data/spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  383. data/spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  384. data/spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  385. data/spec/tags/1.9.3/core/module/define_method_spec.rb +0 -7
  386. data/spec/tags/1.9.3/core/module/include_spec.rb +0 -1
  387. data/spec/tags/1.9.3/core/string/uplus_spec.rb +0 -1
  388. data/spec/tags/1.9.3/core/struct/new_spec.rb +0 -2
  389. data/spec/tags/2.0.0/core/array/to_h_spec.rb +0 -3
  390. data/spec/tags/2.0.0/core/enumerable/grep_v_spec.rb +0 -2
  391. data/spec/tags/2.0.0/core/enumerable/to_h_spec.rb +0 -2
  392. data/spec/tags/2.0.0/core/hash/slice_spec.rb +0 -1
  393. data/spec/tags/2.0.0/core/hash/to_h_spec.rb +0 -3
  394. data/spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -1
  395. data/spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -1
  396. data/spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  397. data/spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -1
  398. data/spec/tags/2.0.0/core/module/define_method_spec.rb +0 -5
  399. data/spec/tags/2.0.0/core/module/include_spec.rb +0 -1
  400. data/spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -2
  401. data/spec/tags/2.0.0/core/string/uplus_spec.rb +0 -1
  402. data/spec/tags/2.0.0/core/struct/new_spec.rb +0 -3
  403. data/spec/tags/2.1.0/core/array/union_spec.rb +0 -1
  404. data/spec/tags/2.1.0/core/enumerable/grep_v_spec.rb +0 -2
  405. data/spec/tags/2.1.0/core/hash/slice_spec.rb +0 -1
  406. data/spec/tags/2.1.0/core/hash/to_h_spec.rb +0 -1
  407. data/spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -1
  408. data/spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -1
  409. data/spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  410. data/spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -1
  411. data/spec/tags/2.1.0/core/module/define_method_spec.rb +0 -5
  412. data/spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -2
  413. data/spec/tags/2.1.0/core/string/uplus_spec.rb +0 -1
  414. data/spec/tags/2.1.0/core/struct/new_spec.rb +0 -3
  415. data/spec/tags/2.2.0/core/enumerable/grep_v_spec.rb +0 -2
  416. data/spec/tags/2.2.0/core/hash/slice_spec.rb +0 -1
  417. data/spec/tags/2.2.0/core/hash/to_h_spec.rb +0 -1
  418. data/spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -1
  419. data/spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -1
  420. data/spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  421. data/spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -1
  422. data/spec/tags/2.2.0/core/module/define_method_spec.rb +0 -5
  423. data/spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -2
  424. data/spec/tags/2.2.0/core/string/uplus_spec.rb +0 -1
  425. data/spec/tags/2.2.0/core/struct/new_spec.rb +0 -3
  426. data/spec/tags/2.3.0/core/hash/slice_spec.rb +0 -1
  427. data/spec/tags/2.3.0/core/hash/to_h_spec.rb +0 -1
  428. data/spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  429. data/spec/tags/2.3.0/core/string/uplus_spec.rb +0 -1
  430. data/spec/tags/2.3.0/core/struct/new_spec.rb +0 -3
  431. data/spec/tags/2.4.0/core/hash/slice_spec.rb +0 -1
  432. data/spec/tags/2.4.0/core/hash/to_h_spec.rb +0 -1
  433. data/spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  434. data/spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  435. data/spec/tags/2.5.0/core/hash/to_h_spec.rb +0 -1
  436. data/test/README +0 -2
  437. data/test/_backport_guards_test.rb +0 -152
  438. data/test/bit_length_test.rb +0 -11
  439. data/test/lazy_test.rb +0 -487
  440. data/test/socket_interaction_test.rb +0 -9
  441. data/test/test_helper.rb +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d00f36f9d5f7bf5ce2a2c0dcb5ccabb2492b027b8d3e14db7f4617233533a0c9
4
- data.tar.gz: 44984e272e8685e222139966f66172453d8f4e5a6702c74e1d37a7adc2cf192d
3
+ metadata.gz: 06c0a76698c28b0610c4d294bbb8e76fbb532407375bd3a720318615f6b513a0
4
+ data.tar.gz: 8c23220b4656c1b2bbffa55b3a4897348eeccba0cd2fb3d177a79525d68937bf
5
5
  SHA512:
6
- metadata.gz: e3b7e7a35aa47664f455eaa705b47cd258d450aebe3948ebd09d83790a980931a51144288748a50bd807ad1767a703a4cd117b4adf31c63fa5ecb21f7ee0a747
7
- data.tar.gz: dfad03e722422b3ff206059927d9c2eac7756b8ccff20829e0cf71506c5814a0559dbec18401b3d0ebef5b1106a34244b5532bcd49bf2ef053b8a0a7a98adadd
6
+ metadata.gz: 19fcf45b4535c94c6ddb5256cbaf44403bb8f018496ac55ed5dcf946dba64fd787a0a3c92ab09b24b32473f3df38d998bd2e5071cd49f9c7a875dbb8450193c2
7
+ data.tar.gz: 986f23de4c7b284ad8633f2cd0ae279e5cf68a55df83a2aef3fa680dedfc013aff636aab635fd454ed154b6e141bfc7ed77096334875403859020833ad186911
@@ -0,0 +1,691 @@
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
+ ## [Unreleased]
8
+
9
+ Note: [Next major version (X-mas 2020)](https://github.com/marcandre/backports/issues/139) might drop support for Ruby < 2.2, please comment.
10
+
11
+ ## [3.18.0](https://github.com/marcandre/backports/compare/v3.17.2...v3.18.0) - 2020-06-22
12
+
13
+ ### Changed
14
+
15
+ Require per ruby version / all requires now check `RUBY_VERSION` to be more efficient [#149]
16
+
17
+ ## [3.17.2](https://github.com/marcandre/backports/compare/v3.17.1...v3.17.2) - 2020-04-09
18
+
19
+ ### Fixed
20
+
21
+ Fix Range#cover (Ruby 2.6.0) [#148]
22
+
23
+ ## [3.17.1](https://github.com/marcandre/backports/compare/v3.17.0...v3.17.1) - 2020-04-09
24
+
25
+ ### Fixed
26
+
27
+ Fix Range#size (Ruby 2.0) on Ruby 1.8.7 [#144]
28
+
29
+ ## [3.17.0](https://github.com/marcandre/backports/compare/v3.16.2...v3.17.0) - 2020-03-06
30
+
31
+ ### Added
32
+
33
+ * Ruby 2.6 backports
34
+
35
+ * Range
36
+ * `cover?` (with `Range` argument)
37
+
38
+ ### Changed
39
+
40
+ Requiring features for a particular version of Ruby or `latest` is un-deprecated but
41
+ instead simply warned in verbose mode.
42
+
43
+ ## [3.16.1](https://github.com/marcandre/backports/compare/v3.16.0...v3.16.1) - 2020-02-16
44
+
45
+ ### Deprecated
46
+
47
+ Officially deprecate requiring features for a particular version of Ruby, `latest`, `std_lib` or `rails` backports.
48
+ Partly un-deprecated in 3.17.0!
49
+
50
+ ### Fixed
51
+
52
+ `matrix` library when loaded in 2.7.0 [#141]
53
+
54
+ ## [3.16.0](https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0) - 2020-02-06
55
+
56
+ ### Added
57
+
58
+ * Ruby 2.7 backports
59
+
60
+ * Array
61
+ * `intersection`
62
+
63
+ * Comparable
64
+ * `clamp` (with range)
65
+
66
+ * Complex
67
+ * `<=>`
68
+
69
+ * Enumerable
70
+ * `filter_map`
71
+ * `tally`
72
+
73
+ * Enumerator
74
+ * `produce` (class method)
75
+
76
+ * Time
77
+ * `floor`, `ceil`
78
+
79
+ ## [3.15.0] - 2019-05-15
80
+
81
+ ### Added
82
+
83
+ * Proc / Method
84
+ * `<<`, `>>`
85
+
86
+ ## 3.14.0 - 2019-04-29
87
+
88
+ ### Added
89
+
90
+ * Hash
91
+ * `to_h` (with block)
92
+
93
+ ## 3.13.0 - 2019-04-5
94
+
95
+ ### Added
96
+
97
+ * Hash
98
+ * `merge`, `merge!`/`update` (with multiple arguments)
99
+
100
+ ## 3.12.0 - 2019-02-20
101
+
102
+ ### Added
103
+
104
+ * Ruby 2.6.0 backports
105
+ * Array
106
+ * `difference`, `union`
107
+ * `to_h` (with block)
108
+
109
+ * Enumerable
110
+ * `chain`
111
+ * `to_h` (with block)
112
+
113
+ * Enumerator::Chain (use Enumerable#chain)
114
+ * Kernel
115
+ * `then`
116
+
117
+ * Additional backports for 2.5.0:
118
+ * String
119
+ * `undump`
120
+
121
+ ## 3.11.0 - 2017-12-25
122
+
123
+ ### Added
124
+
125
+ * Ruby version 2.5.0 backports
126
+ * Array
127
+ * `append`, `prepend`
128
+
129
+ * Dir
130
+ * `children`, `each_child`
131
+
132
+ * Enumerable
133
+ * `any?`, `all?`, `none?`, `one?` (with pattern argument)
134
+
135
+ * Hash
136
+ * `slice`
137
+ * `transform_keys`
138
+
139
+ * Integer
140
+ * `sqrt`
141
+ * `allbits?`, `anybits?` and `nobits?`
142
+
143
+ * Kernel
144
+ * `yield_self`
145
+
146
+ * Module
147
+ * `attr`, `attr_accessor`, `attr_reader`, `attr_writer` (now public)
148
+ * `define_method`, `alias_method`, `undef_method`, `remove_method`
149
+ (now public)
150
+
151
+ * String
152
+ * `delete_prefix`, `delete_prefix!`
153
+ * `delete_suffix`, `delete_suffix!`
154
+
155
+ * Struct
156
+ * `new` (with `keyword_init: true`)
157
+
158
+ * `require 'backports/latest'` is now the way to require everything, but is
159
+ discouraged
160
+
161
+ ## 3.10.0 - 2017-10-17
162
+
163
+ ### Added
164
+
165
+ * Additional features of 2.4.0
166
+ * Enumerable
167
+ * `uniq`
168
+ * `sum`
169
+
170
+ * Hash
171
+ * `compact`
172
+ * `transform_values`
173
+
174
+ ## 3.9.0 - 2017-10-07
175
+
176
+ ### Added
177
+
178
+ * From 2.4.0: `dup` for `true`, `false`, `nil`, Numeric
179
+ * From 2.2.0: `Method#super_method`
180
+
181
+ ## 3.8.0 - 2017-04-26
182
+
183
+ ### Added
184
+
185
+ * From 2.4.0: `String#match?`, `Regexp#match?`
186
+
187
+ * From 2.3.0:
188
+ * unary `String#+`, `-`
189
+ * Numeric: `positive?`, `negative?`
190
+ * Hash: `to_proc`, `fetch_values`, `>`, `<`, `>=`, `<=`
191
+ * Enumerable: `chunk_while`, `grep_v`
192
+ * `{Array|Hash|Struct}#dig`
193
+ * `Array#bsearch_index`
194
+
195
+ * From 2.2.0:
196
+ * `Method#curry`
197
+ * `String#unicode_normalize{|?|!}`
198
+ * `Kernel#itself`
199
+ * Float: `next_float`, `prev_float`
200
+
201
+ ## 3.7.0 - 2017-03-28
202
+
203
+ Initiate work on backports of 2.2, 2.3, 2.4
204
+
205
+ ### Added
206
+
207
+ * From 2.4.0:
208
+ * `Comparable#clamp`
209
+
210
+ * From 2.2.0:
211
+ * Enumerable: `slice_when`, `slice_after`
212
+
213
+ ## 3.6.0 - 2014-02-14
214
+
215
+ ### Added
216
+
217
+ * Additional features of 2.1.0
218
+ * Bignum#bit_length
219
+ * Fixnum#bit_length
220
+ * Module#include (now public)
221
+
222
+ ## 3.5.0 - 2014-02-3
223
+
224
+ ### Added
225
+
226
+ * Additional features of 2.0.0
227
+ * Range#size
228
+
229
+ ## 3.4.0 - 2013-12-29
230
+
231
+ ### Added
232
+
233
+ * Additional features of 2.1.0
234
+ * Array#to_h, Enumerable#to_h
235
+
236
+ ## 3.3.0 - 2013-04-03
237
+
238
+ ### Fixed
239
+
240
+ * Moved `Proc#yield` & `Hash#key` from 1.8.7 to 1.9.1
241
+
242
+ ## 3.2.0 - 2013-04-02
243
+
244
+ ### Fixed
245
+
246
+ * Moved `Dir.mktmpdir` to the stdlib 'tmpdir' for Ruby 1.8.7
247
+
248
+ ### Removed
249
+
250
+ * Removed `returning` as it is no longer part of Rails.
251
+
252
+ ## 3.1.0 - 2013-03-05
253
+
254
+ ### Added
255
+
256
+ * Backports can now be loaded separately!
257
+
258
+ ### Fixed
259
+
260
+ * Small tweaks and fixes for many methods to pass more RubySpecs
261
+
262
+ ## 3.0.0 - 2013-02-24
263
+
264
+ ### Added
265
+
266
+ * Additional features of 2.0.0
267
+ * Struct#to_h, NilClass#to_h, Hash#to_h
268
+ * Hash#default_proc = nil
269
+ * OpenStruct lib
270
+
271
+ * 1.8.7's Enumerator#with_index (it wasn't in the 1.8.7 NEWS file...)
272
+
273
+ ## 2.8.0 - 2013-02-3
274
+
275
+ ### Added
276
+
277
+ * Added some features of 2.0.0 (must be required explicitly until official
278
+ release):
279
+ * Array#bsearch
280
+ * Range#bsearch
281
+
282
+ ## 2.7.0 - 2013-01-14
283
+
284
+ ### Added
285
+
286
+ * Features of 2.0.0 (must be required explicitly until official
287
+ release):
288
+ * Enumerable#lazy
289
+ * Enumerator::Lazy
290
+
291
+ ## 2.6.0 - 2012-05-29
292
+
293
+ ### Removed
294
+
295
+ * Enumerable#join
296
+
297
+ ## 2.5.0 - 2012-02-25
298
+
299
+ ### Added
300
+
301
+ * Some features of 1.9.3:
302
+ * IO::NULL
303
+ * IO#advise
304
+ * String#byteslice
305
+ * String#prepend
306
+
307
+ ## 2.4.0 - 2012-02-24
308
+
309
+ ### Added
310
+
311
+ * Add backporting for libraries
312
+
313
+ * Bring libraries up to date:
314
+ * Matrix
315
+ * Prime
316
+ * Set
317
+
318
+ * Some features of 1.9.3:
319
+ * IO.write, IO.binwrite
320
+
321
+ * Forcing backports (must be required explicitly):
322
+ * Hash#select (returns a Hash instead of an Array)
323
+ * Enumerable / Array#map (returns an enumerator when called without a
324
+ block)
325
+ * String#length, size (for UTF-8 support)
326
+
327
+ ## 2.3.0 - 2011-05-13
328
+
329
+ ### Added
330
+
331
+ * `Enumerator::Yielder#<<`
332
+
333
+ ## 2.2.0 - 2011-05-13
334
+
335
+ ### Fixed
336
+
337
+ * Ruby 1.8.8 was officially cancelled; code was moved to Ruby 1.9.1 and
338
+ README updated.
339
+
340
+ * `"".ord` now raises an error.
341
+
342
+ ## 2.1.0 - 2011-04-16
343
+
344
+ ### Added
345
+
346
+ * Proc#curry, #lambda (thanks Konstantine Haase)
347
+
348
+ ## 2.0.0 - 2010-12-5
349
+
350
+ ### Fixed
351
+
352
+ Change of major version because of two small changes that are not quite
353
+ compatible and because the minor version was getting quite high!
354
+
355
+ * Remove attempt at faking the new method missing. Unless you used
356
+ `respond_to_missing` **and**
357
+ `method(:some_method_handled_with_method_missing)`, you won't see a
358
+ difference, except better performance (see issue #32) and this fixes some
359
+ errors (see issue #34)
360
+
361
+ * Change behavior of array.flatten(0) to match Ruby 1.9 (i.e. return a dup
362
+ of array, instead of array itself)
363
+
364
+ ## 1.18.0 - 2010-06-19
365
+
366
+ ### Added
367
+
368
+ * Some features of 1.9.1:
369
+
370
+ * Math#log2, Math#log with base
371
+
372
+ ### Fixed
373
+
374
+ * Enumerator#each in 1.8.6.
375
+
376
+ ## 1.17.0 - 2010-05-17
377
+
378
+ ### Added
379
+
380
+ * Some features of 1.9.2:
381
+
382
+ * Array#repeated_combination, #repeated_permutation
383
+
384
+ ## 1.16.2 - 2010-04-11
385
+
386
+ ### Added
387
+
388
+ * Some features of 1.9.2:
389
+
390
+ * Array#uniq, #uniq! (with block)
391
+ * Array#product (with block)
392
+ * Dir.home
393
+ * Hash#keep_if, select!
394
+ * Random (new class)
395
+
396
+ ## 1.15.0 - 2010-02-23
397
+
398
+ ### Added
399
+
400
+ * A features of 1.9.2:
401
+
402
+ * Object#singleton_class
403
+
404
+ ## 1.14.0 - 2010-02-3
405
+
406
+ ### Added
407
+
408
+ * Some features of 1.9.2:
409
+
410
+ * Array#rotate, rotate!
411
+ * Array#keep_if, select!
412
+ * Array#sort_by!
413
+ * Enumerable#join
414
+ * Enumerable#slice_before
415
+ * Float::INFINITY, NAN
416
+ * MatchData#==
417
+
418
+ ## 1.13.0 - 2010-01-20
419
+
420
+ ### Added
421
+
422
+ * Missing for 1.8.7 were
423
+ * Array#permutation
424
+ * Hash#hash (was only inherited)
425
+ * Hash#eql? (was only inherited)
426
+
427
+ ## 1.12.0 - 2009-12-4
428
+
429
+ ### Added
430
+
431
+ * Finer grain includes (see README) require "backports/1.9" # requires
432
+ all ruby backports require "backports/1.9.1" # requires all ruby
433
+ backports up to 1.9.1 (but not 1.9.2)
434
+
435
+ * Backported all builtin methods of 1.8.8 (most of which where moved from
436
+ the 1.9 backports)
437
+
438
+ * Refreshed README
439
+
440
+ ## 1.11.0 - 2009-11-04
441
+
442
+ ### Added
443
+
444
+ * Enumerable#flat_map / collect_concat (Ruby 1.9)
445
+
446
+ * Object#public_send (Ruby 1.9)
447
+
448
+ * Object#public_method (Ruby 1.9)
449
+
450
+ ## 1.10.0 - 2009-09-29
451
+
452
+ ### Added
453
+
454
+ * Enumerable#chunk (Ruby 1.9)
455
+
456
+ * Kernel#respond_to_missing? (Ruby 1.9)
457
+
458
+ * Completed Process.exec (Ruby 1.8.7)
459
+
460
+ ## 1.9.0 - 2009-09-04
461
+
462
+ ### Added
463
+
464
+ * In Ruby 1.9, most class methods of File accept filenames as String, or
465
+ convertible via #to_str or #to_path.
466
+
467
+ * File#to_path is also an alias to File#path. These have been backported.
468
+
469
+ * File.binread (actually IO.binread)
470
+
471
+ * BasicObject available via "require 'backports/basic_object"
472
+
473
+ ## 1.8.4 - 2009-09-03
474
+
475
+ ### Added
476
+
477
+ `Dir.mktmpdir` for older version of 1.8.6
478
+
479
+ ## 1.8.1 - 2009-09-01
480
+
481
+ ### Added
482
+
483
+ The alias String#lines (Ruby 1.8.7)
484
+
485
+ ## 1.8.0 - 2009-08-30
486
+
487
+ ### Added
488
+
489
+ Backports can be required selectively:
490
+ * backports/1.8.7
491
+ * backports/1.9 (which include 1.8.7)
492
+ * rails
493
+
494
+ ## 1.7.1 - 2009-08-20
495
+
496
+ ### Fixed
497
+
498
+ `Enumerable#take` and `Enumerable#first(n)` are now returning as soon as possible.
499
+ Previously, `#each` was yielding one element too many. See redmine issue #1554.
500
+
501
+ ## 1.7.0 - 2009-05-27
502
+
503
+ ### Fixed
504
+
505
+ Porting all 1.8.7 features to rubinius was quite enlightening
506
+ (http://blog.marc-andre.ca/2009/05/schizo-ruby-puzzle.html ). Many
507
+ improvements were made to be consistent with MRI, e.g. converting arguments
508
+ using to_int if needed, etc... The changes are now reflected in 'backports'.
509
+
510
+ ### Added
511
+
512
+ Some IO and ARGF methods were missing and are now complete.
513
+
514
+ ## 1.6.6 - 2009-04-30
515
+
516
+ ### Fixed
517
+
518
+ Important bug fix. `String#gsub` is left alone until I find a good way to modify
519
+ it.
520
+
521
+ ## 1.6.0 - 2009-04-29
522
+
523
+ ### Added
524
+
525
+ Completed backport to 1.8.7.
526
+
527
+ * Array
528
+ * `extract_options!`
529
+
530
+ * Binding
531
+ * `eval`
532
+
533
+ * Dir
534
+ * `each`, `foreach`
535
+
536
+ * Enumerator
537
+ * `new`
538
+ * `with_object`
539
+ * `next`, `rewind`
540
+
541
+ * Hash
542
+ * Optional block for `delete_if, each, each_key, each_pair, each_value,
543
+ reject!, select` (and ENV)
544
+
545
+ * Integer
546
+ * moved stuff out of Fixnum
547
+ * Optional block for `downto`, `times`, `upto`
548
+
549
+ * IO
550
+ * Optional block for `each`, `each_line`, `each_byte`, `foreach` (and
551
+ ARGF)
552
+
553
+ * Kernel
554
+ * `loop`, `StopIteration`
555
+ * +__method__+, +__callee__+
556
+
557
+ * Method
558
+ * `name`, `owner`, `receiver`
559
+
560
+ * Module
561
+ * `class_exec`, `module_exec`
562
+
563
+ * Numeric
564
+ * `step`
565
+
566
+ * Object
567
+ * `define_singleton_method`
568
+ * `instance_exec`
569
+
570
+ * ObjectSpace
571
+ * `each_object`
572
+
573
+ * Range
574
+ * Optional block for `each`, `step`
575
+
576
+ * Regexp
577
+ * `union`
578
+
579
+ * String
580
+ * `try_convert`
581
+ * `ascii_only?`
582
+ * `bytesize`
583
+ * `chr`
584
+ * `clear`
585
+ * `codepoints`, `each_codepoint`
586
+ * `stringify_keys`, `stringify_keys!`
587
+ * `each`, `each_line`, `each_byte`
588
+ * `gsub`
589
+ * `upto`
590
+
591
+ * Struct
592
+ * `each`, `each_pair`
593
+
594
+ * Symbol
595
+ * `<=>`, `casecmp`
596
+ * `capitalize`, `downcase`, `next`, `succ`, `swapcase`, `upcase`
597
+ * `=~, [], empty?, length, match, size`
598
+
599
+ * UnboundMethod
600
+ * `name`, `owner`
601
+
602
+ ## 1.5.0 - 2009-04-24
603
+
604
+ ### Added
605
+
606
+ * Array (completed)
607
+ * `combination`
608
+ * `try_convert`
609
+ * Optional block for `collect!, :map!, :each, :each_index, :reject,
610
+ :reject!, :delete_if`
611
+ * `pop`, `shift`
612
+ * `product`
613
+
614
+ * Fixnum (completed)
615
+ * `div`, `fdiv`
616
+ * `succ`
617
+ * `magnitude`
618
+
619
+ * Enumerable (completed)
620
+ * `each_with_object`
621
+ * `inject`
622
+ * `max_by`, `min_by`, `minmax`, `minmax_by`
623
+ * `reduce`
624
+ * `to_a`
625
+
626
+ ## 1.4.0 - 2009-04-21
627
+
628
+ ### Added
629
+
630
+ * String
631
+ * `rpartition`
632
+
633
+ * Proc
634
+ * `yield`
635
+
636
+ ## 1.3.0 - 2009-04-17
637
+
638
+ ### Added
639
+
640
+ * Enumerable
641
+ * `none?`
642
+
643
+ * Array
644
+ * `sample`, `shuffle`, `shuffle!`
645
+
646
+ * String
647
+ * `each_char`, `chars`
648
+ * `partition`
649
+
650
+ Tests and fixes for `String#start_with?` and `String#end_with?`
651
+
652
+ ## 1.2.0 - 2009-04-12
653
+
654
+ ### Added
655
+
656
+ * Array
657
+ * `reverse_each`
658
+ * `cycle`
659
+
660
+ * Enumerable
661
+ * `reverse_each`
662
+ * `each_slice`, `each_cons`
663
+ * `count`
664
+ * `cycle`
665
+ * `group_by`
666
+
667
+ * Hash
668
+ * `default_proc=`
669
+
670
+ ## 1.1.0 - 2009-04-11
671
+
672
+ ### Added
673
+
674
+ * Array
675
+ * `flatten`, `flatten!`
676
+ * `find_index`, `index`
677
+
678
+ * Hash
679
+ * `reverse_merge`, `reverse_merge!`
680
+
681
+ ## 1.0.0 - 2009-04-2
682
+
683
+ * Initial release.
684
+
685
+ ## Notes
686
+
687
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
688
+
689
+ [Unreleased]: https://github.com/marcandre/backports/compare/v3.16.0...HEAD
690
+ [3.16.0]: https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0
691
+ [3.15.0]: https://github.com/marcandre/backports/compare/v3.14.0...v3.15.0