rubygems-update 3.4.10 → 3.5.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (725) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +714 -4
  3. data/CODE_OF_CONDUCT.md +79 -28
  4. data/CONTRIBUTING.md +3 -3
  5. data/Manifest.txt +128 -257
  6. data/POLICIES.md +82 -13
  7. data/README.md +1 -3
  8. data/bundler/CHANGELOG.md +556 -2
  9. data/bundler/README.md +1 -2
  10. data/bundler/bundler.gemspec +4 -2
  11. data/bundler/exe/bundle +5 -22
  12. data/bundler/lib/bundler/build_metadata.rb +3 -3
  13. data/bundler/lib/bundler/capistrano.rb +1 -1
  14. data/bundler/lib/bundler/checksum.rb +254 -0
  15. data/bundler/lib/bundler/ci_detector.rb +75 -0
  16. data/bundler/lib/bundler/cli/add.rb +4 -4
  17. data/bundler/lib/bundler/cli/binstubs.rb +5 -5
  18. data/bundler/lib/bundler/cli/cache.rb +1 -1
  19. data/bundler/lib/bundler/cli/check.rb +3 -3
  20. data/bundler/lib/bundler/cli/common.rb +9 -1
  21. data/bundler/lib/bundler/cli/config.rb +8 -7
  22. data/bundler/lib/bundler/cli/console.rb +3 -2
  23. data/bundler/lib/bundler/cli/doctor.rb +2 -2
  24. data/bundler/lib/bundler/cli/exec.rb +1 -1
  25. data/bundler/lib/bundler/cli/fund.rb +1 -1
  26. data/bundler/lib/bundler/cli/gem.rb +44 -42
  27. data/bundler/lib/bundler/cli/info.rb +2 -13
  28. data/bundler/lib/bundler/cli/install.rb +18 -12
  29. data/bundler/lib/bundler/cli/issue.rb +1 -1
  30. data/bundler/lib/bundler/cli/lock.rb +33 -29
  31. data/bundler/lib/bundler/cli/open.rb +5 -7
  32. data/bundler/lib/bundler/cli/outdated.rb +23 -25
  33. data/bundler/lib/bundler/cli/platform.rb +7 -5
  34. data/bundler/lib/bundler/cli/plugin.rb +9 -15
  35. data/bundler/lib/bundler/cli/pristine.rb +38 -30
  36. data/bundler/lib/bundler/cli/show.rb +2 -2
  37. data/bundler/lib/bundler/cli/update.rb +6 -5
  38. data/bundler/lib/bundler/cli.rb +226 -291
  39. data/bundler/lib/bundler/compact_index_client/cache.rb +55 -60
  40. data/bundler/lib/bundler/compact_index_client/cache_file.rb +153 -0
  41. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +7 -3
  42. data/bundler/lib/bundler/compact_index_client/parser.rb +84 -0
  43. data/bundler/lib/bundler/compact_index_client/updater.rb +79 -81
  44. data/bundler/lib/bundler/compact_index_client.rb +58 -80
  45. data/bundler/lib/bundler/constants.rb +8 -1
  46. data/bundler/lib/bundler/current_ruby.rb +5 -21
  47. data/bundler/lib/bundler/definition.rb +341 -180
  48. data/bundler/lib/bundler/dependency.rb +22 -13
  49. data/bundler/lib/bundler/digest.rb +2 -2
  50. data/bundler/lib/bundler/dsl.rb +100 -54
  51. data/bundler/lib/bundler/endpoint_specification.rb +17 -2
  52. data/bundler/lib/bundler/env.rb +4 -6
  53. data/bundler/lib/bundler/environment_preserver.rb +5 -23
  54. data/bundler/lib/bundler/errors.rb +74 -0
  55. data/bundler/lib/bundler/feature_flag.rb +0 -1
  56. data/bundler/lib/bundler/fetcher/base.rb +5 -3
  57. data/bundler/lib/bundler/fetcher/compact_index.rb +21 -34
  58. data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
  59. data/bundler/lib/bundler/fetcher/downloader.rb +15 -11
  60. data/bundler/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  61. data/bundler/lib/bundler/fetcher/index.rb +2 -3
  62. data/bundler/lib/bundler/fetcher.rb +72 -58
  63. data/bundler/lib/bundler/force_platform.rb +0 -2
  64. data/bundler/lib/bundler/friendly_errors.rb +6 -6
  65. data/bundler/lib/bundler/gem_helper.rb +5 -6
  66. data/bundler/lib/bundler/gem_helpers.rb +21 -4
  67. data/bundler/lib/bundler/gem_version_promoter.rb +43 -39
  68. data/bundler/lib/bundler/graph.rb +9 -9
  69. data/bundler/lib/bundler/index.rb +63 -33
  70. data/bundler/lib/bundler/injector.rb +6 -8
  71. data/bundler/lib/bundler/inline.rb +33 -12
  72. data/bundler/lib/bundler/installer/gem_installer.rb +13 -12
  73. data/bundler/lib/bundler/installer/parallel_installer.rb +19 -36
  74. data/bundler/lib/bundler/installer/standalone.rb +16 -6
  75. data/bundler/lib/bundler/installer.rb +29 -33
  76. data/bundler/lib/bundler/lazy_specification.rb +31 -17
  77. data/bundler/lib/bundler/lockfile_generator.rb +10 -1
  78. data/bundler/lib/bundler/lockfile_parser.rb +110 -45
  79. data/bundler/lib/bundler/man/bundle-add.1 +29 -41
  80. data/bundler/lib/bundler/man/bundle-add.1.ronn +37 -14
  81. data/bundler/lib/bundler/man/bundle-binstubs.1 +4 -16
  82. data/bundler/lib/bundler/man/bundle-cache.1 +5 -26
  83. data/bundler/lib/bundler/man/bundle-cache.1.ronn +2 -2
  84. data/bundler/lib/bundler/man/bundle-check.1 +5 -12
  85. data/bundler/lib/bundler/man/bundle-check.1.ronn +3 -0
  86. data/bundler/lib/bundler/man/bundle-clean.1 +3 -10
  87. data/bundler/lib/bundler/man/bundle-config.1 +21 -217
  88. data/bundler/lib/bundler/man/bundle-config.1.ronn +9 -9
  89. data/bundler/lib/bundler/man/bundle-console.1 +4 -22
  90. data/bundler/lib/bundler/man/bundle-doctor.1 +4 -18
  91. data/bundler/lib/bundler/man/bundle-exec.1 +13 -74
  92. data/bundler/lib/bundler/man/bundle-exec.1.ronn +2 -3
  93. data/bundler/lib/bundler/man/bundle-gem.1 +19 -49
  94. data/bundler/lib/bundler/man/bundle-gem.1.ronn +11 -0
  95. data/bundler/lib/bundler/man/bundle-help.1 +3 -7
  96. data/bundler/lib/bundler/man/bundle-info.1 +5 -11
  97. data/bundler/lib/bundler/man/bundle-info.1.ronn +3 -3
  98. data/bundler/lib/bundler/man/bundle-init.1 +3 -12
  99. data/bundler/lib/bundler/man/bundle-inject.1 +6 -19
  100. data/bundler/lib/bundler/man/bundle-install.1 +29 -127
  101. data/bundler/lib/bundler/man/bundle-install.1.ronn +3 -2
  102. data/bundler/lib/bundler/man/bundle-list.1 +4 -19
  103. data/bundler/lib/bundler/man/bundle-lock.1 +5 -29
  104. data/bundler/lib/bundler/man/bundle-open.1 +7 -27
  105. data/bundler/lib/bundler/man/bundle-outdated.1 +15 -63
  106. data/bundler/lib/bundler/man/bundle-outdated.1.ronn +12 -8
  107. data/bundler/lib/bundler/man/bundle-platform.1 +5 -27
  108. data/bundler/lib/bundler/man/bundle-plugin.1 +24 -47
  109. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +12 -8
  110. data/bundler/lib/bundler/man/bundle-pristine.1 +5 -16
  111. data/bundler/lib/bundler/man/bundle-remove.1 +4 -14
  112. data/bundler/lib/bundler/man/bundle-show.1 +3 -10
  113. data/bundler/lib/bundler/man/bundle-update.1 +18 -137
  114. data/bundler/lib/bundler/man/bundle-version.1 +3 -16
  115. data/bundler/lib/bundler/man/bundle-viz.1 +4 -16
  116. data/bundler/lib/bundler/man/bundle.1 +5 -44
  117. data/bundler/lib/bundler/man/gemfile.5 +43 -294
  118. data/bundler/lib/bundler/man/gemfile.5.ronn +23 -3
  119. data/bundler/lib/bundler/match_metadata.rb +4 -0
  120. data/bundler/lib/bundler/match_platform.rb +1 -1
  121. data/bundler/lib/bundler/mirror.rb +3 -3
  122. data/bundler/lib/bundler/plugin/api/source.rb +7 -5
  123. data/bundler/lib/bundler/plugin/index.rb +9 -1
  124. data/bundler/lib/bundler/plugin/installer/path.rb +18 -0
  125. data/bundler/lib/bundler/plugin/installer.rb +37 -17
  126. data/bundler/lib/bundler/plugin/source_list.rb +4 -4
  127. data/bundler/lib/bundler/plugin.rb +13 -6
  128. data/bundler/lib/bundler/remote_specification.rb +4 -0
  129. data/bundler/lib/bundler/resolver/base.rb +12 -4
  130. data/bundler/lib/bundler/resolver/candidate.rb +5 -17
  131. data/bundler/lib/bundler/resolver/incompatibility.rb +1 -1
  132. data/bundler/lib/bundler/resolver/package.rb +19 -1
  133. data/bundler/lib/bundler/resolver/spec_group.rb +21 -6
  134. data/bundler/lib/bundler/resolver.rb +174 -64
  135. data/bundler/lib/bundler/retry.rb +2 -2
  136. data/bundler/lib/bundler/ruby_dsl.rb +42 -7
  137. data/bundler/lib/bundler/ruby_version.rb +18 -5
  138. data/bundler/lib/bundler/rubygems_ext.rb +173 -71
  139. data/bundler/lib/bundler/rubygems_gem_installer.rb +56 -57
  140. data/bundler/lib/bundler/rubygems_integration.rb +35 -112
  141. data/bundler/lib/bundler/runtime.rb +5 -10
  142. data/bundler/lib/bundler/safe_marshal.rb +31 -0
  143. data/bundler/lib/bundler/self_manager.rb +49 -11
  144. data/bundler/lib/bundler/settings.rb +136 -49
  145. data/bundler/lib/bundler/setup.rb +10 -1
  146. data/bundler/lib/bundler/shared_helpers.rb +56 -17
  147. data/bundler/lib/bundler/source/git/git_proxy.rb +91 -32
  148. data/bundler/lib/bundler/source/git.rb +108 -39
  149. data/bundler/lib/bundler/source/metadata.rb +17 -15
  150. data/bundler/lib/bundler/source/path.rb +10 -20
  151. data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
  152. data/bundler/lib/bundler/source/rubygems.rb +87 -92
  153. data/bundler/lib/bundler/source.rb +3 -1
  154. data/bundler/lib/bundler/source_list.rb +26 -6
  155. data/bundler/lib/bundler/spec_set.rb +112 -30
  156. data/bundler/lib/bundler/stub_specification.rb +26 -4
  157. data/bundler/lib/bundler/templates/Executable.bundler +1 -1
  158. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +77 -29
  159. data/bundler/lib/bundler/templates/newgem/README.md.tt +7 -3
  160. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +8 -8
  161. data/bundler/lib/bundler/templates/newgem/bin/console.tt +0 -4
  162. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
  163. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +5 -0
  164. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
  165. data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +4 -4
  166. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +1 -1
  167. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +5 -3
  168. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +0 -5
  169. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +1 -1
  170. data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
  171. data/bundler/lib/bundler/ui/shell.rb +25 -3
  172. data/bundler/lib/bundler/ui/silent.rb +12 -1
  173. data/bundler/lib/bundler/uri_credentials_filter.rb +2 -2
  174. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  175. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +53 -6
  176. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +9 -21
  177. data/bundler/lib/bundler/vendor/net-http-persistent/.document +1 -0
  178. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +4 -3
  179. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +23 -11
  180. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +1 -1
  181. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +102 -64
  182. data/bundler/lib/bundler/vendor/pub_grub/.document +1 -0
  183. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +1 -0
  184. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +9 -4
  185. data/bundler/lib/bundler/vendor/securerandom/.document +1 -0
  186. data/bundler/lib/bundler/vendor/securerandom/lib/random/formatter.rb +373 -0
  187. data/bundler/lib/bundler/vendor/securerandom/lib/securerandom.rb +96 -0
  188. data/bundler/lib/bundler/vendor/thor/.document +1 -0
  189. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +3 -2
  190. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +1 -1
  191. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +1 -1
  192. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +8 -10
  193. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +15 -4
  194. data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +15 -15
  195. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +140 -14
  196. data/bundler/lib/bundler/vendor/thor/lib/thor/command.rb +13 -4
  197. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +4 -0
  198. data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +16 -25
  199. data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +1 -1
  200. data/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -1
  201. data/bundler/lib/bundler/vendor/thor/lib/thor/nested_context.rb +2 -2
  202. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +20 -1
  203. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +33 -17
  204. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +27 -8
  205. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +44 -6
  206. data/bundler/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +2 -2
  207. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +40 -30
  208. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +26 -150
  209. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -46
  210. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  211. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +0 -45
  212. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +134 -0
  213. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  214. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  215. data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  216. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
  217. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  218. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +155 -8
  219. data/bundler/lib/bundler/vendor/tsort/.document +1 -0
  220. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +3 -0
  221. data/bundler/lib/bundler/vendor/uri/.document +1 -0
  222. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +258 -132
  223. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1 -0
  224. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +2 -2
  225. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +96 -32
  226. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  227. data/bundler/lib/bundler/vendored_net_http.rb +23 -0
  228. data/bundler/lib/bundler/vendored_persistent.rb +0 -4
  229. data/bundler/lib/bundler/vendored_securerandom.rb +14 -0
  230. data/bundler/lib/bundler/vendored_timeout.rb +12 -0
  231. data/bundler/lib/bundler/vendored_uri.rb +18 -1
  232. data/bundler/lib/bundler/version.rb +1 -1
  233. data/bundler/lib/bundler/vlad.rb +1 -1
  234. data/bundler/lib/bundler/yaml_serializer.rb +22 -13
  235. data/bundler/lib/bundler.rb +108 -81
  236. data/{bin → exe}/gem +2 -0
  237. data/{bin → exe}/update_rubygems +8 -6
  238. data/lib/rubygems/available_set.rb +6 -5
  239. data/lib/rubygems/basic_specification.rb +81 -44
  240. data/lib/rubygems/bundler_version_finder.rb +6 -6
  241. data/lib/rubygems/ci_detector.rb +75 -0
  242. data/lib/rubygems/command.rb +32 -36
  243. data/lib/rubygems/command_manager.rb +13 -12
  244. data/lib/rubygems/commands/build_command.rb +5 -13
  245. data/lib/rubygems/commands/cert_command.rb +6 -6
  246. data/lib/rubygems/commands/check_command.rb +10 -5
  247. data/lib/rubygems/commands/cleanup_command.rb +15 -26
  248. data/lib/rubygems/commands/contents_command.rb +21 -13
  249. data/lib/rubygems/commands/dependency_command.rb +7 -8
  250. data/lib/rubygems/commands/environment_command.rb +4 -5
  251. data/lib/rubygems/commands/exec_command.rb +3 -7
  252. data/lib/rubygems/commands/fetch_command.rb +17 -2
  253. data/lib/rubygems/commands/generate_index_command.rb +40 -74
  254. data/lib/rubygems/commands/help_command.rb +9 -8
  255. data/lib/rubygems/commands/info_command.rb +2 -2
  256. data/lib/rubygems/commands/install_command.rb +9 -20
  257. data/lib/rubygems/commands/list_command.rb +3 -2
  258. data/lib/rubygems/commands/lock_command.rb +2 -1
  259. data/lib/rubygems/commands/mirror_command.rb +1 -0
  260. data/lib/rubygems/commands/open_command.rb +2 -3
  261. data/lib/rubygems/commands/outdated_command.rb +1 -0
  262. data/lib/rubygems/commands/owner_command.rb +11 -10
  263. data/lib/rubygems/commands/pristine_command.rb +41 -29
  264. data/lib/rubygems/commands/push_command.rb +3 -2
  265. data/lib/rubygems/commands/query_command.rb +5 -5
  266. data/lib/rubygems/commands/rdoc_command.rb +4 -10
  267. data/lib/rubygems/commands/rebuild_command.rb +264 -0
  268. data/lib/rubygems/commands/search_command.rb +3 -2
  269. data/lib/rubygems/commands/server_command.rb +1 -0
  270. data/lib/rubygems/commands/setup_command.rb +41 -39
  271. data/lib/rubygems/commands/signin_command.rb +1 -0
  272. data/lib/rubygems/commands/signout_command.rb +1 -0
  273. data/lib/rubygems/commands/sources_command.rb +15 -14
  274. data/lib/rubygems/commands/specification_command.rb +16 -11
  275. data/lib/rubygems/commands/stale_command.rb +3 -2
  276. data/lib/rubygems/commands/uninstall_command.rb +25 -21
  277. data/lib/rubygems/commands/unpack_command.rb +12 -13
  278. data/lib/rubygems/commands/update_command.rb +26 -30
  279. data/lib/rubygems/commands/which_command.rb +2 -1
  280. data/lib/rubygems/commands/yank_command.rb +3 -2
  281. data/lib/rubygems/compatibility.rb +5 -6
  282. data/lib/rubygems/config_file.rb +95 -30
  283. data/lib/rubygems/core_ext/kernel_gem.rb +2 -4
  284. data/lib/rubygems/core_ext/kernel_require.rb +31 -50
  285. data/lib/rubygems/core_ext/kernel_warn.rb +4 -5
  286. data/lib/rubygems/core_ext/tcpsocket_init.rb +3 -1
  287. data/lib/rubygems/defaults.rb +27 -10
  288. data/lib/rubygems/dependency.rb +25 -30
  289. data/lib/rubygems/dependency_installer.rb +39 -43
  290. data/lib/rubygems/dependency_list.rb +3 -2
  291. data/lib/rubygems/deprecate.rb +80 -75
  292. data/lib/rubygems/doctor.rb +8 -7
  293. data/lib/rubygems/errors.rb +6 -8
  294. data/lib/rubygems/exceptions.rb +15 -5
  295. data/lib/rubygems/ext/build_error.rb +1 -0
  296. data/lib/rubygems/ext/builder.rb +24 -18
  297. data/lib/rubygems/ext/cargo_builder.rb +10 -25
  298. data/lib/rubygems/ext/configure_builder.rb +1 -0
  299. data/lib/rubygems/ext/ext_conf_builder.rb +3 -4
  300. data/lib/rubygems/ext/rake_builder.rb +5 -3
  301. data/lib/rubygems/ext.rb +1 -0
  302. data/lib/rubygems/gem_runner.rb +10 -5
  303. data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
  304. data/lib/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
  305. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +80 -0
  306. data/lib/rubygems/gemcutter_utilities.rb +105 -43
  307. data/lib/rubygems/gemspec_helpers.rb +19 -0
  308. data/lib/rubygems/install_default_message.rb +1 -0
  309. data/lib/rubygems/install_message.rb +1 -0
  310. data/lib/rubygems/install_update_options.rb +20 -20
  311. data/lib/rubygems/installer.rb +112 -85
  312. data/lib/rubygems/installer_uninstaller_utils.rb +0 -2
  313. data/lib/rubygems/local_remote_options.rb +15 -17
  314. data/lib/rubygems/name_tuple.rb +8 -9
  315. data/lib/rubygems/package/digest_io.rb +2 -1
  316. data/lib/rubygems/package/file_source.rb +1 -0
  317. data/lib/rubygems/package/io_source.rb +1 -0
  318. data/lib/rubygems/package/old.rb +3 -2
  319. data/lib/rubygems/package/source.rb +1 -0
  320. data/lib/rubygems/package/tar_header.rb +64 -41
  321. data/lib/rubygems/package/tar_reader/entry.rb +24 -24
  322. data/lib/rubygems/package/tar_reader.rb +15 -10
  323. data/lib/rubygems/package/tar_writer.rb +22 -19
  324. data/lib/rubygems/package.rb +69 -47
  325. data/lib/rubygems/package_task.rb +3 -2
  326. data/lib/rubygems/path_support.rb +11 -11
  327. data/lib/rubygems/platform.rb +73 -50
  328. data/lib/rubygems/psych_tree.rb +1 -0
  329. data/lib/rubygems/query_utils.rb +13 -15
  330. data/lib/rubygems/rdoc.rb +1 -0
  331. data/lib/rubygems/remote_fetcher.rb +30 -22
  332. data/lib/rubygems/request/connection_pools.rb +3 -3
  333. data/lib/rubygems/request/http_pool.rb +1 -0
  334. data/lib/rubygems/request/https_pool.rb +1 -0
  335. data/lib/rubygems/request.rb +29 -25
  336. data/lib/rubygems/request_set/gem_dependency_api.rb +122 -124
  337. data/lib/rubygems/request_set/lockfile/parser.rb +11 -10
  338. data/lib/rubygems/request_set/lockfile/tokenizer.rb +22 -12
  339. data/lib/rubygems/request_set/lockfile.rb +7 -11
  340. data/lib/rubygems/request_set.rb +11 -9
  341. data/lib/rubygems/requirement.rb +16 -10
  342. data/lib/rubygems/resolver/activation_request.rb +5 -8
  343. data/lib/rubygems/resolver/api_set/gem_parser.rb +7 -3
  344. data/lib/rubygems/resolver/api_set.rb +16 -9
  345. data/lib/rubygems/resolver/api_specification.rb +2 -1
  346. data/lib/rubygems/resolver/best_set.rb +1 -28
  347. data/lib/rubygems/resolver/composed_set.rb +2 -1
  348. data/lib/rubygems/resolver/conflict.rb +5 -12
  349. data/lib/rubygems/resolver/current_set.rb +1 -0
  350. data/lib/rubygems/resolver/dependency_request.rb +1 -0
  351. data/lib/rubygems/resolver/git_set.rb +1 -0
  352. data/lib/rubygems/resolver/git_specification.rb +1 -0
  353. data/lib/rubygems/resolver/index_set.rb +5 -4
  354. data/lib/rubygems/resolver/index_specification.rb +3 -2
  355. data/lib/rubygems/resolver/installed_specification.rb +2 -1
  356. data/lib/rubygems/resolver/installer_set.rb +9 -7
  357. data/lib/rubygems/resolver/local_specification.rb +2 -1
  358. data/lib/rubygems/resolver/lock_set.rb +2 -1
  359. data/lib/rubygems/resolver/lock_specification.rb +1 -0
  360. data/lib/rubygems/resolver/requirement_list.rb +1 -0
  361. data/lib/rubygems/resolver/set.rb +1 -0
  362. data/lib/rubygems/resolver/source_set.rb +2 -0
  363. data/lib/rubygems/resolver/spec_specification.rb +8 -0
  364. data/lib/rubygems/resolver/specification.rb +1 -0
  365. data/lib/rubygems/resolver/stats.rb +1 -0
  366. data/lib/rubygems/resolver/vendor_set.rb +1 -0
  367. data/lib/rubygems/resolver/vendor_specification.rb +1 -0
  368. data/lib/rubygems/resolver.rb +11 -17
  369. data/lib/rubygems/s3_uri_signer.rb +13 -11
  370. data/lib/rubygems/safe_marshal/elements.rb +146 -0
  371. data/lib/rubygems/safe_marshal/reader.rb +308 -0
  372. data/lib/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  373. data/lib/rubygems/safe_marshal/visitors/to_ruby.rb +415 -0
  374. data/lib/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  375. data/lib/rubygems/safe_marshal.rb +74 -0
  376. data/lib/rubygems/safe_yaml.rb +14 -26
  377. data/lib/rubygems/security/policies.rb +37 -38
  378. data/lib/rubygems/security/policy.rb +8 -11
  379. data/lib/rubygems/security/signer.rb +12 -3
  380. data/lib/rubygems/security/trust_dir.rb +10 -11
  381. data/lib/rubygems/security.rb +12 -25
  382. data/lib/rubygems/security_option.rb +2 -1
  383. data/lib/rubygems/shellwords.rb +3 -0
  384. data/lib/rubygems/source/git.rb +10 -10
  385. data/lib/rubygems/source/installed.rb +4 -3
  386. data/lib/rubygems/source/local.rb +48 -48
  387. data/lib/rubygems/source/lock.rb +2 -3
  388. data/lib/rubygems/source/specific_file.rb +6 -4
  389. data/lib/rubygems/source/vendor.rb +1 -2
  390. data/lib/rubygems/source.rb +28 -22
  391. data/lib/rubygems/source_list.rb +8 -8
  392. data/lib/rubygems/spec_fetcher.rb +46 -56
  393. data/lib/rubygems/specification.rb +252 -309
  394. data/lib/rubygems/specification_policy.rb +120 -67
  395. data/lib/rubygems/specification_record.rb +212 -0
  396. data/lib/rubygems/stub_specification.rb +48 -22
  397. data/lib/rubygems/text.rb +1 -2
  398. data/lib/rubygems/uninstaller.rb +52 -32
  399. data/lib/rubygems/update_suggestion.rb +6 -19
  400. data/lib/rubygems/uri.rb +6 -6
  401. data/lib/rubygems/uri_formatter.rb +1 -1
  402. data/lib/rubygems/user_interaction.rb +23 -27
  403. data/lib/rubygems/util/licenses.rb +297 -35
  404. data/lib/rubygems/util/list.rb +4 -1
  405. data/lib/rubygems/util.rb +9 -6
  406. data/lib/rubygems/validator.rb +11 -10
  407. data/lib/rubygems/vendor/molinillo/.document +1 -0
  408. data/lib/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  409. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/delegates/specification_provider.rb +11 -11
  410. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/action.rb +1 -1
  411. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
  412. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
  413. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
  414. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
  415. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/log.rb +1 -1
  416. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
  417. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -1
  418. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/vertex.rb +1 -1
  419. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph.rb +2 -2
  420. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/errors.rb +1 -1
  421. data/lib/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  422. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/modules/specification_provider.rb +2 -2
  423. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/modules/ui.rb +1 -1
  424. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/resolution.rb +4 -4
  425. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/resolver.rb +1 -1
  426. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/state.rb +1 -1
  427. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo.rb +2 -2
  428. data/lib/rubygems/vendor/net-http/.document +1 -0
  429. data/lib/rubygems/vendor/net-http/LICENSE.txt +22 -0
  430. data/lib/rubygems/vendor/net-http/lib/net/http/backward.rb +40 -0
  431. data/lib/rubygems/vendor/net-http/lib/net/http/exceptions.rb +34 -0
  432. data/lib/rubygems/vendor/net-http/lib/net/http/generic_request.rb +414 -0
  433. data/lib/rubygems/vendor/net-http/lib/net/http/header.rb +981 -0
  434. data/lib/rubygems/vendor/net-http/lib/net/http/proxy_delta.rb +17 -0
  435. data/lib/rubygems/vendor/net-http/lib/net/http/request.rb +88 -0
  436. data/lib/rubygems/vendor/net-http/lib/net/http/requests.rb +425 -0
  437. data/lib/rubygems/vendor/net-http/lib/net/http/response.rb +738 -0
  438. data/lib/rubygems/vendor/net-http/lib/net/http/responses.rb +1174 -0
  439. data/lib/rubygems/vendor/net-http/lib/net/http/status.rb +84 -0
  440. data/lib/rubygems/vendor/net-http/lib/net/http.rb +2496 -0
  441. data/lib/rubygems/vendor/net-http/lib/net/https.rb +23 -0
  442. data/lib/rubygems/vendor/net-protocol/.document +1 -0
  443. data/lib/rubygems/vendor/net-protocol/LICENSE.txt +22 -0
  444. data/lib/rubygems/vendor/net-protocol/lib/net/protocol.rb +544 -0
  445. data/lib/rubygems/vendor/optparse/.document +1 -0
  446. data/lib/rubygems/vendor/optparse/lib/optparse/uri.rb +7 -0
  447. data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse.rb +49 -27
  448. data/lib/rubygems/vendor/resolv/.document +1 -0
  449. data/lib/rubygems/vendor/resolv/LICENSE.txt +22 -0
  450. data/lib/rubygems/vendor/resolv/lib/resolv.rb +3442 -0
  451. data/lib/rubygems/vendor/securerandom/.document +1 -0
  452. data/lib/rubygems/vendor/securerandom/LICENSE.txt +22 -0
  453. data/lib/rubygems/vendor/securerandom/lib/random/formatter.rb +373 -0
  454. data/lib/rubygems/vendor/securerandom/lib/securerandom.rb +96 -0
  455. data/lib/rubygems/vendor/timeout/.document +1 -0
  456. data/lib/rubygems/vendor/timeout/LICENSE.txt +22 -0
  457. data/lib/rubygems/vendor/timeout/lib/timeout.rb +199 -0
  458. data/lib/rubygems/vendor/tsort/.document +1 -0
  459. data/lib/rubygems/vendor/tsort/LICENSE.txt +22 -0
  460. data/lib/rubygems/{tsort → vendor/tsort}/lib/tsort.rb +5 -2
  461. data/lib/rubygems/vendor/uri/.document +1 -0
  462. data/lib/rubygems/vendor/uri/LICENSE.txt +22 -0
  463. data/lib/rubygems/vendor/uri/lib/uri/common.rb +855 -0
  464. data/lib/rubygems/vendor/uri/lib/uri/file.rb +100 -0
  465. data/lib/rubygems/vendor/uri/lib/uri/ftp.rb +267 -0
  466. data/lib/rubygems/vendor/uri/lib/uri/generic.rb +1588 -0
  467. data/lib/rubygems/vendor/uri/lib/uri/http.rb +125 -0
  468. data/lib/rubygems/vendor/uri/lib/uri/https.rb +23 -0
  469. data/lib/rubygems/vendor/uri/lib/uri/ldap.rb +261 -0
  470. data/lib/rubygems/vendor/uri/lib/uri/ldaps.rb +22 -0
  471. data/lib/rubygems/vendor/uri/lib/uri/mailto.rb +293 -0
  472. data/lib/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +539 -0
  473. data/lib/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +183 -0
  474. data/lib/rubygems/vendor/uri/lib/uri/version.rb +6 -0
  475. data/lib/rubygems/vendor/uri/lib/uri/ws.rb +83 -0
  476. data/lib/rubygems/vendor/uri/lib/uri/wss.rb +23 -0
  477. data/lib/rubygems/vendor/uri/lib/uri.rb +104 -0
  478. data/lib/rubygems/vendored_molinillo.rb +3 -0
  479. data/lib/rubygems/vendored_net_http.rb +5 -0
  480. data/lib/rubygems/vendored_optparse.rb +3 -0
  481. data/lib/rubygems/vendored_securerandom.rb +4 -0
  482. data/lib/rubygems/vendored_timeout.rb +5 -0
  483. data/lib/rubygems/vendored_tsort.rb +3 -0
  484. data/lib/rubygems/version.rb +38 -31
  485. data/lib/rubygems/version_option.rb +3 -5
  486. data/lib/rubygems/yaml_serializer.rb +98 -0
  487. data/lib/rubygems.rb +99 -72
  488. data/rubygems-update.gemspec +15 -8
  489. data/setup.rb +4 -1
  490. metadata +169 -267
  491. data/lib/rubygems/indexer.rb +0 -427
  492. data/lib/rubygems/mock_gem_ui.rb +0 -85
  493. data/lib/rubygems/optparse/lib/optparse/uri.rb +0 -7
  494. data/lib/rubygems/optparse.rb +0 -3
  495. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  496. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  497. data/lib/rubygems/resolver/molinillo.rb +0 -2
  498. data/lib/rubygems/tsort.rb +0 -3
  499. data/test/rubygems/alternate_cert.pem +0 -19
  500. data/test/rubygems/alternate_cert_32.pem +0 -19
  501. data/test/rubygems/alternate_key.pem +0 -27
  502. data/test/rubygems/bad_rake.rb +0 -2
  503. data/test/rubygems/bundler_test_gem.rb +0 -419
  504. data/test/rubygems/ca_cert.pem +0 -77
  505. data/test/rubygems/child_cert.pem +0 -19
  506. data/test/rubygems/child_cert_32.pem +0 -19
  507. data/test/rubygems/child_key.pem +0 -27
  508. data/test/rubygems/client.pem +0 -107
  509. data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
  510. data/test/rubygems/data/gem-private_key.pem +0 -27
  511. data/test/rubygems/data/gem-public_cert.pem +0 -20
  512. data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
  513. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  514. data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
  515. data/test/rubygems/encrypted_private_key.pem +0 -30
  516. data/test/rubygems/expired_cert.pem +0 -19
  517. data/test/rubygems/fake_certlib/openssl.rb +0 -8
  518. data/test/rubygems/foo/discover.rb +0 -1
  519. data/test/rubygems/future_cert.pem +0 -19
  520. data/test/rubygems/future_cert_32.pem +0 -19
  521. data/test/rubygems/good_rake.rb +0 -2
  522. data/test/rubygems/grandchild_cert.pem +0 -19
  523. data/test/rubygems/grandchild_cert_32.pem +0 -19
  524. data/test/rubygems/grandchild_key.pem +0 -27
  525. data/test/rubygems/helper.rb +0 -1629
  526. data/test/rubygems/installer_test_case.rb +0 -247
  527. data/test/rubygems/invalid_client.pem +0 -49
  528. data/test/rubygems/invalid_issuer_cert.pem +0 -20
  529. data/test/rubygems/invalid_issuer_cert_32.pem +0 -20
  530. data/test/rubygems/invalid_key.pem +0 -27
  531. data/test/rubygems/invalid_signer_cert.pem +0 -19
  532. data/test/rubygems/invalid_signer_cert_32.pem +0 -19
  533. data/test/rubygems/invalidchild_cert.pem +0 -19
  534. data/test/rubygems/invalidchild_cert_32.pem +0 -19
  535. data/test/rubygems/invalidchild_key.pem +0 -27
  536. data/test/rubygems/package/tar_test_case.rb +0 -174
  537. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  538. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  539. data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
  540. data/test/rubygems/plugin/exception/rubygems_plugin.rb +0 -3
  541. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -4
  542. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +0 -3
  543. data/test/rubygems/private3072_key.pem +0 -40
  544. data/test/rubygems/private_ec_key.pem +0 -9
  545. data/test/rubygems/private_key.pem +0 -27
  546. data/test/rubygems/public3072_cert.pem +0 -25
  547. data/test/rubygems/public_cert.pem +0 -20
  548. data/test/rubygems/public_cert_32.pem +0 -19
  549. data/test/rubygems/public_key.pem +0 -9
  550. data/test/rubygems/rubygems/commands/crash_command.rb +0 -4
  551. data/test/rubygems/rubygems_plugin.rb +0 -23
  552. data/test/rubygems/sff/discover.rb +0 -1
  553. data/test/rubygems/simple_gem.rb +0 -67
  554. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -7
  555. data/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec +0 -0
  556. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +0 -12
  557. data/test/rubygems/ssl_cert.pem +0 -80
  558. data/test/rubygems/ssl_key.pem +0 -27
  559. data/test/rubygems/test_bundled_ca.rb +0 -60
  560. data/test/rubygems/test_config.rb +0 -27
  561. data/test/rubygems/test_deprecate.rb +0 -157
  562. data/test/rubygems/test_exit.rb +0 -17
  563. data/test/rubygems/test_gem.rb +0 -1766
  564. data/test/rubygems/test_gem_available_set.rb +0 -129
  565. data/test/rubygems/test_gem_bundler_version_finder.rb +0 -126
  566. data/test/rubygems/test_gem_command.rb +0 -400
  567. data/test/rubygems/test_gem_command_manager.rb +0 -399
  568. data/test/rubygems/test_gem_commands_build_command.rb +0 -737
  569. data/test/rubygems/test_gem_commands_cert_command.rb +0 -865
  570. data/test/rubygems/test_gem_commands_check_command.rb +0 -67
  571. data/test/rubygems/test_gem_commands_cleanup_command.rb +0 -291
  572. data/test/rubygems/test_gem_commands_contents_command.rb +0 -270
  573. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -227
  574. data/test/rubygems/test_gem_commands_environment_command.rb +0 -167
  575. data/test/rubygems/test_gem_commands_exec_command.rb +0 -851
  576. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -257
  577. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -80
  578. data/test/rubygems/test_gem_commands_help_command.rb +0 -93
  579. data/test/rubygems/test_gem_commands_info_command.rb +0 -69
  580. data/test/rubygems/test_gem_commands_install_command.rb +0 -1572
  581. data/test/rubygems/test_gem_commands_list_command.rb +0 -32
  582. data/test/rubygems/test_gem_commands_lock_command.rb +0 -66
  583. data/test/rubygems/test_gem_commands_mirror.rb +0 -19
  584. data/test/rubygems/test_gem_commands_open_command.rb +0 -97
  585. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -49
  586. data/test/rubygems/test_gem_commands_owner_command.rb +0 -407
  587. data/test/rubygems/test_gem_commands_pristine_command.rb +0 -707
  588. data/test/rubygems/test_gem_commands_push_command.rb +0 -498
  589. data/test/rubygems/test_gem_commands_query_command.rb +0 -857
  590. data/test/rubygems/test_gem_commands_search_command.rb +0 -15
  591. data/test/rubygems/test_gem_commands_server_command.rb +0 -19
  592. data/test/rubygems/test_gem_commands_setup_command.rb +0 -474
  593. data/test/rubygems/test_gem_commands_signin_command.rb +0 -258
  594. data/test/rubygems/test_gem_commands_signout_command.rb +0 -30
  595. data/test/rubygems/test_gem_commands_sources_command.rb +0 -533
  596. data/test/rubygems/test_gem_commands_specification_command.rb +0 -276
  597. data/test/rubygems/test_gem_commands_stale_command.rb +0 -42
  598. data/test/rubygems/test_gem_commands_uninstall_command.rb +0 -521
  599. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -223
  600. data/test/rubygems/test_gem_commands_update_command.rb +0 -835
  601. data/test/rubygems/test_gem_commands_which_command.rb +0 -84
  602. data/test/rubygems/test_gem_commands_yank_command.rb +0 -180
  603. data/test/rubygems/test_gem_config_file.rb +0 -516
  604. data/test/rubygems/test_gem_dependency.rb +0 -397
  605. data/test/rubygems/test_gem_dependency_installer.rb +0 -1155
  606. data/test/rubygems/test_gem_dependency_list.rb +0 -264
  607. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -26
  608. data/test/rubygems/test_gem_doctor.rb +0 -194
  609. data/test/rubygems/test_gem_ext_builder.rb +0 -336
  610. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +0 -1
  611. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +0 -8
  612. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +0 -233
  613. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +0 -10
  614. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +0 -27
  615. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +0 -1
  616. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +0 -1
  617. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +0 -247
  618. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +0 -10
  619. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +0 -8
  620. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +0 -51
  621. data/test/rubygems/test_gem_ext_cargo_builder.rb +0 -166
  622. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +0 -33
  623. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +0 -60
  624. data/test/rubygems/test_gem_ext_cmake_builder.rb +0 -83
  625. data/test/rubygems/test_gem_ext_configure_builder.rb +0 -79
  626. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -229
  627. data/test/rubygems/test_gem_ext_rake_builder.rb +0 -112
  628. data/test/rubygems/test_gem_gem_runner.rb +0 -118
  629. data/test/rubygems/test_gem_gemcutter_utilities.rb +0 -276
  630. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -59
  631. data/test/rubygems/test_gem_indexer.rb +0 -380
  632. data/test/rubygems/test_gem_install_update_options.rb +0 -207
  633. data/test/rubygems/test_gem_installer.rb +0 -2463
  634. data/test/rubygems/test_gem_local_remote_options.rb +0 -132
  635. data/test/rubygems/test_gem_name_tuple.rb +0 -42
  636. data/test/rubygems/test_gem_package.rb +0 -1190
  637. data/test/rubygems/test_gem_package_old.rb +0 -90
  638. data/test/rubygems/test_gem_package_tar_header.rb +0 -225
  639. data/test/rubygems/test_gem_package_tar_reader.rb +0 -134
  640. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -297
  641. data/test/rubygems/test_gem_package_tar_writer.rb +0 -330
  642. data/test/rubygems/test_gem_package_task.rb +0 -117
  643. data/test/rubygems/test_gem_path_support.rb +0 -138
  644. data/test/rubygems/test_gem_platform.rb +0 -496
  645. data/test/rubygems/test_gem_rdoc.rb +0 -136
  646. data/test/rubygems/test_gem_remote_fetcher.rb +0 -1226
  647. data/test/rubygems/test_gem_request.rb +0 -541
  648. data/test/rubygems/test_gem_request_connection_pools.rb +0 -150
  649. data/test/rubygems/test_gem_request_set.rb +0 -671
  650. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +0 -845
  651. data/test/rubygems/test_gem_request_set_lockfile.rb +0 -468
  652. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +0 -543
  653. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +0 -306
  654. data/test/rubygems/test_gem_requirement.rb +0 -504
  655. data/test/rubygems/test_gem_resolver.rb +0 -858
  656. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -42
  657. data/test/rubygems/test_gem_resolver_api_set.rb +0 -209
  658. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -166
  659. data/test/rubygems/test_gem_resolver_best_set.rb +0 -158
  660. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -43
  661. data/test/rubygems/test_gem_resolver_conflict.rb +0 -81
  662. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -82
  663. data/test/rubygems/test_gem_resolver_git_set.rb +0 -187
  664. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -113
  665. data/test/rubygems/test_gem_resolver_index_set.rb +0 -87
  666. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -92
  667. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -46
  668. data/test/rubygems/test_gem_resolver_installer_set.rb +0 -319
  669. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -43
  670. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -61
  671. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -97
  672. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -18
  673. data/test/rubygems/test_gem_resolver_specification.rb +0 -62
  674. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -81
  675. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -81
  676. data/test/rubygems/test_gem_security.rb +0 -340
  677. data/test/rubygems/test_gem_security_policy.rb +0 -535
  678. data/test/rubygems/test_gem_security_signer.rb +0 -217
  679. data/test/rubygems/test_gem_security_trust_dir.rb +0 -98
  680. data/test/rubygems/test_gem_silent_ui.rb +0 -122
  681. data/test/rubygems/test_gem_source.rb +0 -253
  682. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -36
  683. data/test/rubygems/test_gem_source_git.rb +0 -309
  684. data/test/rubygems/test_gem_source_installed.rb +0 -34
  685. data/test/rubygems/test_gem_source_list.rb +0 -118
  686. data/test/rubygems/test_gem_source_local.rb +0 -106
  687. data/test/rubygems/test_gem_source_lock.rb +0 -112
  688. data/test/rubygems/test_gem_source_specific_file.rb +0 -75
  689. data/test/rubygems/test_gem_source_subpath_problem.rb +0 -49
  690. data/test/rubygems/test_gem_source_vendor.rb +0 -29
  691. data/test/rubygems/test_gem_spec_fetcher.rb +0 -337
  692. data/test/rubygems/test_gem_specification.rb +0 -3811
  693. data/test/rubygems/test_gem_stream_ui.rb +0 -224
  694. data/test/rubygems/test_gem_stub_specification.rb +0 -277
  695. data/test/rubygems/test_gem_text.rb +0 -102
  696. data/test/rubygems/test_gem_uninstaller.rb +0 -674
  697. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -30
  698. data/test/rubygems/test_gem_update_suggestion.rb +0 -208
  699. data/test/rubygems/test_gem_uri.rb +0 -39
  700. data/test/rubygems/test_gem_uri_formatter.rb +0 -26
  701. data/test/rubygems/test_gem_util.rb +0 -90
  702. data/test/rubygems/test_gem_validator.rb +0 -42
  703. data/test/rubygems/test_gem_version.rb +0 -302
  704. data/test/rubygems/test_gem_version_option.rb +0 -164
  705. data/test/rubygems/test_kernel.rb +0 -123
  706. data/test/rubygems/test_project_sanity.rb +0 -20
  707. data/test/rubygems/test_remote_fetch_error.rb +0 -19
  708. data/test/rubygems/test_require.rb +0 -733
  709. data/test/rubygems/test_rubygems.rb +0 -74
  710. data/test/rubygems/utilities.rb +0 -393
  711. data/test/rubygems/wrong_key_cert.pem +0 -19
  712. data/test/rubygems/wrong_key_cert_32.pem +0 -19
  713. data/test/test_changelog_generator.rb +0 -17
  714. /data/{lib/rubygems/optparse → bundler/lib/bundler/vendor/connection_pool}/.document +0 -0
  715. /data/{lib/rubygems/tsort → bundler/lib/bundler/vendor/fileutils}/.document +0 -0
  716. /data/{lib/rubygems/tsort → bundler/lib/bundler/vendor/securerandom}/LICENSE.txt +0 -0
  717. /data/lib/rubygems/{resolver → vendor}/molinillo/LICENSE +0 -0
  718. /data/lib/rubygems/{optparse → vendor/optparse}/COPYING +0 -0
  719. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optionparser.rb +0 -0
  720. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/ac.rb +0 -0
  721. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/date.rb +0 -0
  722. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/kwargs.rb +0 -0
  723. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/shellwords.rb +0 -0
  724. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/time.rb +0 -0
  725. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/version.rb +0 -0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,713 @@
1
+ # 3.5.22 / 2024-10-16
2
+
3
+ ## Enhancements:
4
+
5
+ * Prevent `._*` files in packages generated from macOS. Pull request
6
+ [#8150](https://github.com/rubygems/rubygems/pull/8150) by
7
+ deivid-rodriguez
8
+ * Fix `gem pristine etc` resetting gem twice sometimes. Pull request
9
+ [#8117](https://github.com/rubygems/rubygems/pull/8117) by
10
+ deivid-rodriguez
11
+ * Allow `gem pristine` to reset default gems too. Pull request
12
+ [#8118](https://github.com/rubygems/rubygems/pull/8118) by
13
+ deivid-rodriguez
14
+ * Update vendored `uri` and `net-http`. Pull request
15
+ [#8112](https://github.com/rubygems/rubygems/pull/8112) by segiddins
16
+ * Installs bundler 2.5.22 as a default gem.
17
+
18
+ ## Bug fixes:
19
+
20
+ * Fix `gem contents` for default gems. Pull request
21
+ [#8132](https://github.com/rubygems/rubygems/pull/8132) by
22
+ deivid-rodriguez
23
+ * Fix duplicated specs when they have been previously activated. Pull
24
+ request [#8131](https://github.com/rubygems/rubygems/pull/8131) by
25
+ deivid-rodriguez
26
+ * Fix `gem install` on NFS shares. Pull request
27
+ [#8123](https://github.com/rubygems/rubygems/pull/8123) by
28
+ deivid-rodriguez
29
+ * Fix a `gem install` crash during "done installing" hooks. Pull request
30
+ [#8113](https://github.com/rubygems/rubygems/pull/8113) by
31
+ deivid-rodriguez
32
+ * Fix plugin command loading. Pull request
33
+ [#8121](https://github.com/rubygems/rubygems/pull/8121) by
34
+ deivid-rodriguez
35
+
36
+ # 3.5.21 / 2024-10-03
37
+
38
+ ## Enhancements:
39
+
40
+ * Fix `Gem::MissingSpecVersionError#to_s` not showing exception message.
41
+ Pull request [#8074](https://github.com/rubygems/rubygems/pull/8074) by
42
+ deivid-rodriguez
43
+ * Remove code that makes suggest_gems_from_name give worse results. Pull
44
+ request [#8083](https://github.com/rubygems/rubygems/pull/8083) by
45
+ duckinator
46
+ * Warning about PATH in `--user-install` mode is only necessary for gems
47
+ with executables. Pull request
48
+ [#8071](https://github.com/rubygems/rubygems/pull/8071) by
49
+ deivid-rodriguez
50
+ * Installs bundler 2.5.21 as a default gem.
51
+
52
+ ## Bug fixes:
53
+
54
+ * Fix error in one source when fetching dependency APIs clearing results
55
+ from all sources. Pull request
56
+ [#8080](https://github.com/rubygems/rubygems/pull/8080) by
57
+ deivid-rodriguez
58
+ * Fix `gem cleanup` warning when two versions of psych installed. Pull
59
+ request [#8072](https://github.com/rubygems/rubygems/pull/8072) by
60
+ deivid-rodriguez
61
+
62
+ # 3.5.20 / 2024-09-24
63
+
64
+ ## Enhancements:
65
+
66
+ * Installs bundler 2.5.20 as a default gem.
67
+
68
+ # 3.5.19 / 2024-09-18
69
+
70
+ ## Enhancements:
71
+
72
+ * Standardize pretty-print output for `Gem::Source` and subclasses. Pull
73
+ request [#7994](https://github.com/rubygems/rubygems/pull/7994) by
74
+ djberube
75
+ * Update vendored `molinillo` to master and vendored `resolv` to 0.4.0.
76
+ Pull request [#7521](https://github.com/rubygems/rubygems/pull/7521) by
77
+ hsbt
78
+ * Installs bundler 2.5.19 as a default gem.
79
+
80
+ ## Bug fixes:
81
+
82
+ * Fix `bundle exec rake install` failing when local gem has extensions.
83
+ Pull request [#7977](https://github.com/rubygems/rubygems/pull/7977) by
84
+ deivid-rodriguez
85
+ * Make `gem exec` use the standard GEM_HOME. Pull request
86
+ [#7982](https://github.com/rubygems/rubygems/pull/7982) by
87
+ deivid-rodriguez
88
+ * Fix `gem fetch` always exiting with zero status code. Pull request
89
+ [#8007](https://github.com/rubygems/rubygems/pull/8007) by
90
+ deivid-rodriguez
91
+ * Remove temporary `.lock` files unintentionally left around by gem
92
+ installer. Pull request
93
+ [#7939](https://github.com/rubygems/rubygems/pull/7939) by nobu
94
+ * Removed unused stringio. Pull request
95
+ [#8001](https://github.com/rubygems/rubygems/pull/8001) by hsbt
96
+ * Avoid another race condition of open mode. Pull request
97
+ [#7931](https://github.com/rubygems/rubygems/pull/7931) by nobu
98
+ * Fix `@license` typo preventing licenses from being correctly
99
+ unmarshalled. Pull request
100
+ [#7975](https://github.com/rubygems/rubygems/pull/7975) by djberube
101
+
102
+ ## Performance:
103
+
104
+ * Fix `gem install does-not-exist` being super slow. Pull request
105
+ [#8006](https://github.com/rubygems/rubygems/pull/8006) by
106
+ deivid-rodriguez
107
+
108
+ # 3.5.18 / 2024-08-26
109
+
110
+ ## Enhancements:
111
+
112
+ * Installs bundler 2.5.18 as a default gem.
113
+
114
+ ## Bug fixes:
115
+
116
+ * Fix `gem uninstall <name>:<version>` failing on shadowed default gems.
117
+ Pull request [#7949](https://github.com/rubygems/rubygems/pull/7949) by
118
+ deivid-rodriguez
119
+
120
+ # 3.5.17 / 2024-08-01
121
+
122
+ ## Enhancements:
123
+
124
+ * Explicitly encode `Gem::Dependency` to yaml. Pull request
125
+ [#7867](https://github.com/rubygems/rubygems/pull/7867) by segiddins
126
+ * Installs bundler 2.5.17 as a default gem.
127
+
128
+ ## Bug fixes:
129
+
130
+ * Fix `gem list` regression when a regular gem shadows a default one. Pull
131
+ request [#7892](https://github.com/rubygems/rubygems/pull/7892) by
132
+ deivid-rodriguez
133
+ * Always leave default gem executables around. Pull request
134
+ [#7879](https://github.com/rubygems/rubygems/pull/7879) by
135
+ deivid-rodriguez
136
+ * Fix line comment issue for hash when loading gemrc. Pull request
137
+ [#7857](https://github.com/rubygems/rubygems/pull/7857) by leetking
138
+
139
+ # 3.5.16 / 2024-07-18
140
+
141
+ ## Enhancements:
142
+
143
+ * Installs bundler 2.5.16 as a default gem.
144
+
145
+ ## Bug fixes:
146
+
147
+ * Fix gemspec `require_paths` validation. Pull request
148
+ [#7866](https://github.com/rubygems/rubygems/pull/7866) by
149
+ deivid-rodriguez
150
+ * Fix loading of nested `gemrc` config keys when specified as symbols.
151
+ Pull request [#7851](https://github.com/rubygems/rubygems/pull/7851) by
152
+ moofkit
153
+
154
+ ## Performance:
155
+
156
+ * Use `caller_locations` instead of splitting `caller`. Pull request
157
+ [#7708](https://github.com/rubygems/rubygems/pull/7708) by nobu
158
+
159
+ # 3.5.15 / 2024-07-09
160
+
161
+ ## Enhancements:
162
+
163
+ * Installs bundler 2.5.15 as a default gem.
164
+
165
+ ## Bug fixes:
166
+
167
+ * Restrict generic `arm` to only match 32-bit arm. Pull request
168
+ [#7830](https://github.com/rubygems/rubygems/pull/7830) by ntkme
169
+ * Protect creating binstubs with a file lock. Pull request
170
+ [#7806](https://github.com/rubygems/rubygems/pull/7806) by
171
+ deivid-rodriguez
172
+
173
+ ## Documentation:
174
+
175
+ * Make it clearer that `add_dependency` is the main way to add
176
+ non-development dependencies. Pull request
177
+ [#7800](https://github.com/rubygems/rubygems/pull/7800) by jeromedalbert
178
+
179
+ # 3.5.14 / 2024-06-21
180
+
181
+ ## Enhancements:
182
+
183
+ * Installs bundler 2.5.14 as a default gem.
184
+
185
+ ## Bug fixes:
186
+
187
+ * Make "bundler? update --bundler" behave identically. Pull request
188
+ [#7778](https://github.com/rubygems/rubygems/pull/7778) by x-yuri
189
+
190
+ # 3.5.13 / 2024-06-14
191
+
192
+ ## Enhancements:
193
+
194
+ * Installs bundler 2.5.13 as a default gem.
195
+
196
+ ## Bug fixes:
197
+
198
+ * Never remove executables that may belong to a default gem. Pull request
199
+ [#7747](https://github.com/rubygems/rubygems/pull/7747) by
200
+ deivid-rodriguez
201
+
202
+ # 3.5.12 / 2024-06-13
203
+
204
+ ## Enhancements:
205
+
206
+ * Installs bundler 2.5.12 as a default gem.
207
+
208
+ ## Bug fixes:
209
+
210
+ * Fix `gem uninstall` unresolved specifications warning. Pull request
211
+ [#7667](https://github.com/rubygems/rubygems/pull/7667) by
212
+ deivid-rodriguez
213
+ * Fix `gem pristine` sometimes failing to pristine user installed gems.
214
+ Pull request [#7664](https://github.com/rubygems/rubygems/pull/7664) by
215
+ deivid-rodriguez
216
+
217
+ # 3.5.11 / 2024-05-28
218
+
219
+ ## Enhancements:
220
+
221
+ * Update SPDX license list as of 2024-05-22. Pull request
222
+ [#7689](https://github.com/rubygems/rubygems/pull/7689) by
223
+ github-actions[bot]
224
+ * Fix the update_rubygems inconsistency (--disable-gems). Pull request
225
+ [#7658](https://github.com/rubygems/rubygems/pull/7658) by x-yuri
226
+ * Accept WASI as an OS name in Gem::Platform. Pull request
227
+ [#7629](https://github.com/rubygems/rubygems/pull/7629) by kateinoigakukun
228
+ * Warn if RubyGems version explicitly set in gemspec does not match
229
+ running version. Pull request
230
+ [#7460](https://github.com/rubygems/rubygems/pull/7460) by
231
+ deivid-rodriguez
232
+ * Installs bundler 2.5.11 as a default gem.
233
+
234
+ ## Bug fixes:
235
+
236
+ * Fix binstubs sometimes not getting regenerated when `--destdir` is
237
+ given. Pull request
238
+ [#7660](https://github.com/rubygems/rubygems/pull/7660) by
239
+ deivid-rodriguez
240
+ * Fix `gem uninstall --user-install` for symlinked HOME. Pull request
241
+ [#7645](https://github.com/rubygems/rubygems/pull/7645) by
242
+ deivid-rodriguez
243
+ * Fix issue when plugin stubs would sometimes not be properly removed by
244
+ `gem uninstall`. Pull request
245
+ [#7631](https://github.com/rubygems/rubygems/pull/7631) by
246
+ deivid-rodriguez
247
+ * Fix plugins uninstallation for user installed gems. Pull request
248
+ [#6456](https://github.com/rubygems/rubygems/pull/6456) by voxik
249
+
250
+ ## Performance:
251
+
252
+ * Use a constant empty tar header to avoid extra allocations. Pull request
253
+ [#7484](https://github.com/rubygems/rubygems/pull/7484) by segiddins
254
+
255
+ ## Documentation:
256
+
257
+ * Recommend `bin/rake` over `rake` in contributing docs. Pull request
258
+ [#7648](https://github.com/rubygems/rubygems/pull/7648) by
259
+ deivid-rodriguez
260
+
261
+ # 3.5.10 / 2024-05-03
262
+
263
+ ## Security:
264
+
265
+ * Add a limit to the size of the metadata and checksums files in a gem
266
+ package. Pull request
267
+ [#7568](https://github.com/rubygems/rubygems/pull/7568) by segiddins
268
+
269
+ ## Enhancements:
270
+
271
+ * Don't fully require `rubygems` from `rubygems/package` to prevent some
272
+ circular require warnings when using Bundler. Pull request
273
+ [#7612](https://github.com/rubygems/rubygems/pull/7612) by
274
+ deivid-rodriguez
275
+ * Installs bundler 2.5.10 as a default gem.
276
+
277
+ ## Bug fixes:
278
+
279
+ * Rename credential email to identifier in WebAuthn poller. Pull request
280
+ [#7623](https://github.com/rubygems/rubygems/pull/7623) by jenshenny
281
+
282
+ # 3.5.9 / 2024-04-12
283
+
284
+ ## Enhancements:
285
+
286
+ * Installs bundler 2.5.9 as a default gem.
287
+
288
+ # 3.5.8 / 2024-04-11
289
+
290
+ ## Security:
291
+
292
+ * Respect global umask when writing regular files. Pull request
293
+ [#7518](https://github.com/rubygems/rubygems/pull/7518) by
294
+ deivid-rodriguez
295
+
296
+ ## Enhancements:
297
+
298
+ * Allow string keys with gemrc. Pull request
299
+ [#7543](https://github.com/rubygems/rubygems/pull/7543) by hsbt
300
+ * [Experimental] Add "gem rebuild" command. Pull request
301
+ [#4913](https://github.com/rubygems/rubygems/pull/4913) by duckinator
302
+ * Installs bundler 2.5.8 as a default gem.
303
+
304
+ ## Bug fixes:
305
+
306
+ * Fix NoMethodError crash when building errors about corrupt package
307
+ files. Pull request
308
+ [#7539](https://github.com/rubygems/rubygems/pull/7539) by jez
309
+ * Fix resolver to properly intersect Arrays of `Gem::Resolver::Activation`
310
+ objects. Pull request
311
+ [#7537](https://github.com/rubygems/rubygems/pull/7537) by
312
+ deivid-rodriguez
313
+
314
+ # 3.5.7 / 2024-03-22
315
+
316
+ ## Enhancements:
317
+
318
+ * Warn on empty or open required_ruby_version specification attribute.
319
+ Pull request [#5010](https://github.com/rubygems/rubygems/pull/5010) by
320
+ simi
321
+ * Control whether YAML aliases are enabled in Gem::SafeYAML.safe_load via
322
+ attribute. Pull request
323
+ [#7464](https://github.com/rubygems/rubygems/pull/7464) by segiddins
324
+ * Update SPDX license list as of 2024-02-08. Pull request
325
+ [#7468](https://github.com/rubygems/rubygems/pull/7468) by
326
+ github-actions[bot]
327
+ * Installs bundler 2.5.7 as a default gem.
328
+
329
+ ## Bug fixes:
330
+
331
+ * Allow prerelease activation (even if requirement is not explicit about
332
+ it) when it's the only possibility. Pull request
333
+ [#7428](https://github.com/rubygems/rubygems/pull/7428) by kimesf
334
+
335
+ ## Documentation:
336
+
337
+ * Fix a typo. Pull request
338
+ [#7505](https://github.com/rubygems/rubygems/pull/7505) by hsbt
339
+ * Use https instead of http in documentation links. Pull request
340
+ [#7481](https://github.com/rubygems/rubygems/pull/7481) by hsbt
341
+
342
+ # 3.5.6 / 2024-02-06
343
+
344
+ ## Enhancements:
345
+
346
+ * Deep copy requirements in `Gem::Specification` and `Gem::Requirement`.
347
+ Pull request [#7439](https://github.com/rubygems/rubygems/pull/7439) by
348
+ flavorjones
349
+ * Change gem login message to clear up that username can be also used.
350
+ Pull request [#7422](https://github.com/rubygems/rubygems/pull/7422) by
351
+ VitaliySerov
352
+ * Add metadata for rubygems.org. Pull request
353
+ [#7435](https://github.com/rubygems/rubygems/pull/7435) by m-nakamura145
354
+ * Improve gem login scope selection. Pull request
355
+ [#7342](https://github.com/rubygems/rubygems/pull/7342) by williantenfen
356
+ * Vendor uri in RubyGems. Pull request
357
+ [#7386](https://github.com/rubygems/rubygems/pull/7386) by
358
+ deivid-rodriguez
359
+ * Installs bundler 2.5.6 as a default gem.
360
+
361
+ ## Bug fixes:
362
+
363
+ * Skip to load commented out words. Pull request
364
+ [#7413](https://github.com/rubygems/rubygems/pull/7413) by hsbt
365
+ * Fix rake runtime dependency warning for rake based extension. Pull
366
+ request [#7395](https://github.com/rubygems/rubygems/pull/7395) by ntkme
367
+
368
+ # 3.5.5 / 2024-01-18
369
+
370
+ ## Enhancements:
371
+
372
+ * Installs bundler 2.5.5 as a default gem.
373
+
374
+ ## Bug fixes:
375
+
376
+ * Fix `require` activation conflicts when requiring default gems under
377
+ some situations. Pull request
378
+ [#7379](https://github.com/rubygems/rubygems/pull/7379) by
379
+ deivid-rodriguez
380
+ * Use cache_home instead of data_home in default_spec_cache_dir. Pull
381
+ request [#7331](https://github.com/rubygems/rubygems/pull/7331) by mrkn
382
+
383
+ ## Documentation:
384
+
385
+ * Use squiggly heredocs in `Gem::Specification#description` documentation,
386
+ so it doesn't add leading whitespace. Pull request
387
+ [#7373](https://github.com/rubygems/rubygems/pull/7373) by bravehager
388
+
389
+ # 3.5.4 / 2024-01-04
390
+
391
+ ## Enhancements:
392
+
393
+ * Always avoid "Updating rubygems-update" message. Pull request
394
+ [#7335](https://github.com/rubygems/rubygems/pull/7335) by
395
+ deivid-rodriguez
396
+ * Installs bundler 2.5.4 as a default gem.
397
+
398
+ ## Bug fixes:
399
+
400
+ * Make `gem update --system` respect ruby version constraints. Pull
401
+ request [#7334](https://github.com/rubygems/rubygems/pull/7334) by
402
+ deivid-rodriguez
403
+
404
+ # 3.5.3 / 2023-12-22
405
+
406
+ ## Enhancements:
407
+
408
+ * Installs bundler 2.5.3 as a default gem.
409
+
410
+ # 3.5.2 / 2023-12-21
411
+
412
+ ## Enhancements:
413
+
414
+ * Support dynamic library loading with extension .so or .o. Pull request
415
+ [#7241](https://github.com/rubygems/rubygems/pull/7241) by hogelog
416
+ * Installs bundler 2.5.2 as a default gem.
417
+
418
+ ## Performance:
419
+
420
+ * Replace `object_id` comparison with identity Hash. Pull request
421
+ [#7303](https://github.com/rubygems/rubygems/pull/7303) by amomchilov
422
+ * Use IO.copy_stream when reading, writing. Pull request
423
+ [#6958](https://github.com/rubygems/rubygems/pull/6958) by martinemde
424
+
425
+ # 3.5.1 / 2023-12-15
426
+
427
+ ## Enhancements:
428
+
429
+ * Installs bundler 2.5.1 as a default gem.
430
+
431
+ # 3.5.0 / 2023-12-15
432
+
433
+ ## Security:
434
+
435
+ * Replace `Marshal.load` with a fully-checked safe gemspec loader. Pull
436
+ request [#6896](https://github.com/rubygems/rubygems/pull/6896) by
437
+ segiddins
438
+
439
+ ## Breaking changes:
440
+
441
+ * Drop ruby 2.6 and 2.7 support. Pull request
442
+ [#7116](https://github.com/rubygems/rubygems/pull/7116) by
443
+ deivid-rodriguez
444
+ * Release package no longer includes test files. Pull request
445
+ [#6781](https://github.com/rubygems/rubygems/pull/6781) by hsbt
446
+ * Hide `Gem::MockGemUi` from users. Pull request
447
+ [#6623](https://github.com/rubygems/rubygems/pull/6623) by hsbt
448
+ * Deprecated `Gem.datadir` has been removed. Pull request
449
+ [#6469](https://github.com/rubygems/rubygems/pull/6469) by hsbt
450
+
451
+ ## Deprecations:
452
+
453
+ * Deprecate `Gem::Platform.match?`. Pull request
454
+ [#6783](https://github.com/rubygems/rubygems/pull/6783) by hsbt
455
+ * Deprecate `Gem::List`. Pull request
456
+ [#6311](https://github.com/rubygems/rubygems/pull/6311) by segiddins
457
+
458
+ ## Features:
459
+
460
+ * The `generate_index` command can now generate compact index files and
461
+ lives as an external `rubygems-generate_index` gem. Pull request
462
+ [#7085](https://github.com/rubygems/rubygems/pull/7085) by segiddins
463
+ * Make `gem install` fallback to user installation directory if default
464
+ gem home is not writable. Pull request
465
+ [#5327](https://github.com/rubygems/rubygems/pull/5327) by duckinator
466
+ * Leverage ruby feature to warn when requiring default gems from stdlib
467
+ that will be turned into bundled gems in the future. Pull request
468
+ [#6840](https://github.com/rubygems/rubygems/pull/6840) by hsbt
469
+
470
+ ## Performance:
471
+
472
+ * Use match? when regexp match data is unused. Pull request
473
+ [#7263](https://github.com/rubygems/rubygems/pull/7263) by segiddins
474
+ * Fewer allocations in gem installation. Pull request
475
+ [#6975](https://github.com/rubygems/rubygems/pull/6975) by segiddins
476
+ * Optimize allocations in `Gem::Version`. Pull request
477
+ [#6970](https://github.com/rubygems/rubygems/pull/6970) by segiddins
478
+
479
+ ## Enhancements:
480
+
481
+ * Warn for duplicate meta data links when building gems. Pull request
482
+ [#7213](https://github.com/rubygems/rubygems/pull/7213) by etherbob
483
+ * Vendor `net-http`, `net-protocol`, `resolv`, and `timeout` to reduce
484
+ conflicts between Gemfile gems and internal dependencies. Pull request
485
+ [#6793](https://github.com/rubygems/rubygems/pull/6793) by
486
+ deivid-rodriguez
487
+ * Remove non-transparent requirement added to prerelease gems. Pull
488
+ request [#7226](https://github.com/rubygems/rubygems/pull/7226) by
489
+ deivid-rodriguez
490
+ * Stream output from ext builds when --verbose. Pull request
491
+ [#7240](https://github.com/rubygems/rubygems/pull/7240) by osyoyu
492
+ * Add missing services to CI detection and make it consistent between
493
+ RubyGems and Bundler. Pull request
494
+ [#7205](https://github.com/rubygems/rubygems/pull/7205) by nevinera
495
+ * Update generate licenses template to not freeze regexps. Pull request
496
+ [#7154](https://github.com/rubygems/rubygems/pull/7154) by
497
+ github-actions[bot]
498
+ * Don't check `LIBRUBY_RELATIVE` in truffleruby to signal a bash prelude
499
+ in rubygems binstubs. Pull request
500
+ [#7156](https://github.com/rubygems/rubygems/pull/7156) by
501
+ deivid-rodriguez
502
+ * Update SPDX list and warn on deprecated identifiers. Pull request
503
+ [#6926](https://github.com/rubygems/rubygems/pull/6926) by simi
504
+ * Simplify extended `require` to potentially fix some deadlocks. Pull
505
+ request [#6827](https://github.com/rubygems/rubygems/pull/6827) by nobu
506
+ * Small refactors for `Gem::Resolver`. Pull request
507
+ [#6766](https://github.com/rubygems/rubygems/pull/6766) by hsbt
508
+ * Use double-quotes instead of single-quotes consistently in warnings.
509
+ Pull request [#6550](https://github.com/rubygems/rubygems/pull/6550) by
510
+ hsbt
511
+ * Add debug message for `nil` version gemspec. Pull request
512
+ [#6436](https://github.com/rubygems/rubygems/pull/6436) by hsbt
513
+ * Installs bundler 2.5.0 as a default gem.
514
+
515
+ ## Bug fixes:
516
+
517
+ * Fix installing from source with same default bundler version already
518
+ installed. Pull request
519
+ [#7244](https://github.com/rubygems/rubygems/pull/7244) by
520
+ deivid-rodriguez
521
+
522
+ ## Documentation:
523
+
524
+ * Improve comment explaining the necessity of `write_default_spec` method.
525
+ Pull request [#6563](https://github.com/rubygems/rubygems/pull/6563) by
526
+ voxik
527
+
528
+ # 3.4.22 / 2023-11-09
529
+
530
+ ## Enhancements:
531
+
532
+ * Update SPDX license list as of 2023-10-05. Pull request
533
+ [#7040](https://github.com/rubygems/rubygems/pull/7040) by
534
+ github-actions[bot]
535
+ * Remove unnecessary rescue. Pull request
536
+ [#7109](https://github.com/rubygems/rubygems/pull/7109) by
537
+ deivid-rodriguez
538
+ * Installs bundler 2.4.22 as a default gem.
539
+
540
+ ## Bug fixes:
541
+
542
+ * Handle empty array at built-in YAML serializer. Pull request
543
+ [#7099](https://github.com/rubygems/rubygems/pull/7099) by hsbt
544
+ * Ignore non-tar format `.gem` files during search. Pull request
545
+ [#7095](https://github.com/rubygems/rubygems/pull/7095) by dearblue
546
+ * Allow explicitly uninstalling multiple versions of same gem. Pull
547
+ request [#7063](https://github.com/rubygems/rubygems/pull/7063) by
548
+ kstevens715
549
+
550
+ ## Performance:
551
+
552
+ * Avoid regexp match on every call to `Gem::Platform.local`. Pull request
553
+ [#7104](https://github.com/rubygems/rubygems/pull/7104) by segiddins
554
+
555
+ ## Documentation:
556
+
557
+ * Get `Gem::Specification#extensions_dir` documented. Pull request
558
+ [#6218](https://github.com/rubygems/rubygems/pull/6218) by
559
+ deivid-rodriguez
560
+
561
+ # 3.4.21 / 2023-10-17
562
+
563
+ ## Enhancements:
564
+
565
+ * Abort `setup.rb` if Ruby is too old. Pull request
566
+ [#7011](https://github.com/rubygems/rubygems/pull/7011) by
567
+ deivid-rodriguez
568
+ * Remove usage of Dir.chdir that only execute a subprocess. Pull request
569
+ [#6930](https://github.com/rubygems/rubygems/pull/6930) by segiddins
570
+ * Freeze more strings in generated gemspecs. Pull request
571
+ [#6974](https://github.com/rubygems/rubygems/pull/6974) by segiddins
572
+ * Use pure-ruby YAML parser for loading configuration at RubyGems. Pull
573
+ request [#6615](https://github.com/rubygems/rubygems/pull/6615) by hsbt
574
+ * Installs bundler 2.4.21 as a default gem.
575
+
576
+ ## Documentation:
577
+
578
+ * Update suggested variable for bindir. Pull request
579
+ [#7028](https://github.com/rubygems/rubygems/pull/7028) by hsbt
580
+ * Fix invalid links in documentation. Pull request
581
+ [#7008](https://github.com/rubygems/rubygems/pull/7008) by simi
582
+
583
+ # 3.4.20 / 2023-09-27
584
+
585
+ ## Enhancements:
586
+
587
+ * Raise `Gem::Package::FormatError` when gem encounters corrupt EOF.
588
+ Pull request [#6882](https://github.com/rubygems/rubygems/pull/6882)
589
+ by martinemde
590
+ * Allow skipping empty license `gem build` warning by setting license to
591
+ `nil`. Pull request
592
+ [#6879](https://github.com/rubygems/rubygems/pull/6879) by jhong97
593
+ * Update SPDX license list as of 2023-06-18. Pull request
594
+ [#6891](https://github.com/rubygems/rubygems/pull/6891) by
595
+ github-actions[bot]
596
+ * Update SPDX license list as of 2023-04-28. Pull request
597
+ [#6642](https://github.com/rubygems/rubygems/pull/6642) by segiddins
598
+ * Update SPDX license list as of 2023-01-26. Pull request
599
+ [#6310](https://github.com/rubygems/rubygems/pull/6310) by segiddins
600
+ * Installs bundler 2.4.20 as a default gem.
601
+
602
+ ## Bug fixes:
603
+
604
+ * Fixed false positive SymlinkError in symbolic link directory. Pull
605
+ request [#6947](https://github.com/rubygems/rubygems/pull/6947) by
606
+ negi0109
607
+ * Ensure that loading multiple gemspecs with legacy YAML class references
608
+ does not warn. Pull request
609
+ [#6889](https://github.com/rubygems/rubygems/pull/6889) by segiddins
610
+ * Fix NoMethodError when choosing a too big number from `gem uni` list.
611
+ Pull request [#6901](https://github.com/rubygems/rubygems/pull/6901) by
612
+ amatsuda
613
+
614
+ ## Performance:
615
+
616
+ * Reduce allocations for stub specifications. Pull request
617
+ [#6972](https://github.com/rubygems/rubygems/pull/6972) by segiddins
618
+
619
+ # 3.4.19 / 2023-08-17
620
+
621
+ ## Enhancements:
622
+
623
+ * Installs bundler 2.4.19 as a default gem.
624
+
625
+ ## Performance:
626
+
627
+ * Speedup building docs when updating rubygems. Pull request
628
+ [#6864](https://github.com/rubygems/rubygems/pull/6864) by
629
+ deivid-rodriguez
630
+
631
+ # 3.4.18 / 2023-08-02
632
+
633
+ ## Enhancements:
634
+
635
+ * Add poller to fetch WebAuthn OTP. Pull request
636
+ [#6774](https://github.com/rubygems/rubygems/pull/6774) by jenshenny
637
+ * Remove side effects when unmarshaling old `Gem::Specification`. Pull
638
+ request [#6825](https://github.com/rubygems/rubygems/pull/6825) by nobu
639
+ * Ship rubygems executables in `exe` folder. Pull request
640
+ [#6704](https://github.com/rubygems/rubygems/pull/6704) by hsbt
641
+ * Installs bundler 2.4.18 as a default gem.
642
+
643
+ # 3.4.17 / 2023-07-14
644
+
645
+ ## Enhancements:
646
+
647
+ * Installs bundler 2.4.17 as a default gem.
648
+
649
+ ## Performance:
650
+
651
+ * Avoid unnecessary work for private local gem installation. Pull request
652
+ [#6810](https://github.com/rubygems/rubygems/pull/6810) by
653
+ deivid-rodriguez
654
+
655
+ # 3.4.16 / 2023-07-10
656
+
657
+ ## Enhancements:
658
+
659
+ * Installs bundler 2.4.16 as a default gem.
660
+
661
+ # 3.4.15 / 2023-06-29
662
+
663
+ ## Enhancements:
664
+
665
+ * Installs bundler 2.4.15 as a default gem.
666
+
667
+ ## Bug fixes:
668
+
669
+ * Autoload shellwords when it's needed. Pull request
670
+ [#6734](https://github.com/rubygems/rubygems/pull/6734) by ioquatix
671
+
672
+ ## Documentation:
673
+
674
+ * Update command to test local gem command changes. Pull request
675
+ [#6761](https://github.com/rubygems/rubygems/pull/6761) by jenshenny
676
+
677
+ # 3.4.14 / 2023-06-12
678
+
679
+ ## Enhancements:
680
+
681
+ * Load plugin immediately. Pull request
682
+ [#6673](https://github.com/rubygems/rubygems/pull/6673) by kou
683
+ * Installs bundler 2.4.14 as a default gem.
684
+
685
+ ## Documentation:
686
+
687
+ * Clarify what the `rubygems-update` gem is for, and link to source code
688
+ and guides. Pull request
689
+ [#6710](https://github.com/rubygems/rubygems/pull/6710) by davetron5000
690
+
691
+ # 3.4.13 / 2023-05-09
692
+
693
+ ## Enhancements:
694
+
695
+ * Installs bundler 2.4.13 as a default gem.
696
+
697
+ # 3.4.12 / 2023-04-11
698
+
699
+ ## Enhancements:
700
+
701
+ * [Experimental] Add WebAuthn Support to the CLI. Pull request
702
+ [#6560](https://github.com/rubygems/rubygems/pull/6560) by jenshenny
703
+ * Installs bundler 2.4.12 as a default gem.
704
+
705
+ # 3.4.11 / 2023-04-10
706
+
707
+ ## Enhancements:
708
+
709
+ * Installs bundler 2.4.11 as a default gem.
710
+
1
711
  # 3.4.10 / 2023-03-27
2
712
 
3
713
  ## Enhancements:
@@ -666,7 +1376,7 @@
666
1376
 
667
1377
  ## Enhancements:
668
1378
 
669
- * Redact credentails when printing URI. Pull request [#4868](https://github.com/rubygems/rubygems/pull/4868) by intuxicated
1379
+ * Redact credentials when printing URI. Pull request [#4868](https://github.com/rubygems/rubygems/pull/4868) by intuxicated
670
1380
  * Prefer `require_relative` to `require` for internal requires. Pull
671
1381
  request [#4858](https://github.com/rubygems/rubygems/pull/4858) by deivid-rodriguez
672
1382
  * Prioritise gems with higher version for fetching metadata, and stop
@@ -5483,11 +6193,11 @@ annoying issues involving other libraries that RubyGems depends upon.
5483
6193
  0.8.3 contains some workarounds for these issues. In particular:
5484
6194
 
5485
6195
  * Added workaround for the null byte in Dir string issue. (see
5486
- http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121702).
6196
+ https://blade.ruby-lang.org/ruby-talk/121702).
5487
6197
  (Thanks to Mauricio Fernández for the quick response on this one).
5488
6198
  * Added workaround for old version of Zlib on windows that caused
5489
6199
  Ruwiki to fail to install. (see
5490
- http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121770)
6200
+ https://blade.ruby-lang.org/ruby-talk/121770)
5491
6201
  * Added workaround for large YAML file issues. (We dynamically cut
5492
6202
  down the size of the source index YAML file and seem to have worked
5493
6203
  around immediate issues.
@@ -5499,7 +6209,7 @@ There has been some minor usability enhancements and changes ...
5499
6209
  This *greatly* speeds up gem commands run in non-admin mode when the
5500
6210
  site-wide cache is out of date.
5501
6211
  * The gem command now used an HTTP HEAD command to detect if the
5502
- server's source index needs to be downloaed.
6212
+ server's source index needs to be downloaded.
5503
6213
  * gem check gemname --test will run unit tests on installed gems that
5504
6214
  have unit tests.
5505
6215
  * Multiple gem names are allowed on the gem install command line.