rubygems-update 2.6.11 → 2.7.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (405) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +8 -22
  3. data/CONTRIBUTING.rdoc +53 -54
  4. data/History.txt +405 -0
  5. data/Manifest.txt +46 -15
  6. data/POLICIES.rdoc +3 -3
  7. data/README.md +72 -0
  8. data/Rakefile +55 -12
  9. data/appveyor.yml +29 -1
  10. data/bin/gem +1 -1
  11. data/bin/update_rubygems +2 -2
  12. data/bundler/CHANGELOG.md +412 -9
  13. data/bundler/CODE_OF_CONDUCT.md +1 -1
  14. data/bundler/CONTRIBUTING.md +10 -29
  15. data/bundler/README.md +27 -11
  16. data/bundler/bundler.gemspec +58 -0
  17. data/bundler/exe/bundle +5 -7
  18. data/bundler/exe/bundle_ruby +4 -3
  19. data/bundler/lib/bundler.rb +103 -79
  20. data/bundler/lib/bundler/build_metadata.rb +53 -0
  21. data/bundler/lib/bundler/capistrano.rb +5 -0
  22. data/bundler/lib/bundler/cli.rb +231 -66
  23. data/bundler/lib/bundler/cli/add.rb +25 -0
  24. data/bundler/lib/bundler/cli/binstubs.rb +9 -7
  25. data/bundler/lib/bundler/cli/cache.rb +5 -4
  26. data/bundler/lib/bundler/cli/check.rb +3 -5
  27. data/bundler/lib/bundler/cli/clean.rb +5 -6
  28. data/bundler/lib/bundler/cli/common.rb +18 -2
  29. data/bundler/lib/bundler/cli/config.rb +26 -7
  30. data/bundler/lib/bundler/cli/console.rb +2 -1
  31. data/bundler/lib/bundler/cli/doctor.rb +1 -0
  32. data/bundler/lib/bundler/cli/exec.rb +6 -5
  33. data/bundler/lib/bundler/cli/gem.rb +42 -18
  34. data/bundler/lib/bundler/cli/info.rb +50 -0
  35. data/bundler/lib/bundler/cli/init.rb +21 -7
  36. data/bundler/lib/bundler/cli/inject.rb +13 -4
  37. data/bundler/lib/bundler/cli/install.rb +61 -77
  38. data/bundler/lib/bundler/cli/issue.rb +40 -0
  39. data/bundler/lib/bundler/cli/list.rb +22 -0
  40. data/bundler/lib/bundler/cli/lock.rb +4 -2
  41. data/bundler/lib/bundler/cli/open.rb +2 -2
  42. data/bundler/lib/bundler/cli/outdated.rb +30 -28
  43. data/bundler/lib/bundler/cli/package.rb +9 -6
  44. data/bundler/lib/bundler/cli/platform.rb +1 -0
  45. data/bundler/lib/bundler/cli/plugin.rb +1 -0
  46. data/bundler/lib/bundler/cli/pristine.rb +43 -0
  47. data/bundler/lib/bundler/cli/show.rb +1 -1
  48. data/bundler/lib/bundler/cli/update.rb +36 -13
  49. data/bundler/lib/bundler/cli/viz.rb +5 -1
  50. data/bundler/lib/bundler/compact_index_client.rb +1 -0
  51. data/bundler/lib/bundler/compact_index_client/cache.rb +1 -2
  52. data/bundler/lib/bundler/compact_index_client/updater.rb +36 -8
  53. data/bundler/lib/bundler/compatibility_guard.rb +14 -0
  54. data/bundler/lib/bundler/constants.rb +1 -0
  55. data/bundler/lib/bundler/current_ruby.rb +16 -8
  56. data/bundler/lib/bundler/definition.rb +252 -170
  57. data/bundler/lib/bundler/dep_proxy.rb +3 -1
  58. data/bundler/lib/bundler/dependency.rb +7 -7
  59. data/bundler/lib/bundler/deployment.rb +1 -1
  60. data/bundler/lib/bundler/deprecate.rb +15 -3
  61. data/bundler/lib/bundler/dsl.rb +103 -62
  62. data/bundler/lib/bundler/endpoint_specification.rb +13 -3
  63. data/bundler/lib/bundler/env.rb +101 -38
  64. data/bundler/lib/bundler/environment_preserver.rb +27 -6
  65. data/bundler/lib/bundler/errors.rb +3 -1
  66. data/bundler/lib/bundler/feature_flag.rb +39 -4
  67. data/bundler/lib/bundler/fetcher.rb +18 -11
  68. data/bundler/lib/bundler/fetcher/base.rb +1 -0
  69. data/bundler/lib/bundler/fetcher/compact_index.rb +2 -12
  70. data/bundler/lib/bundler/fetcher/dependency.rb +2 -1
  71. data/bundler/lib/bundler/fetcher/downloader.rb +14 -7
  72. data/bundler/lib/bundler/fetcher/index.rb +3 -2
  73. data/bundler/lib/bundler/friendly_errors.rb +7 -2
  74. data/bundler/lib/bundler/gem_helper.rb +24 -10
  75. data/bundler/lib/bundler/gem_helpers.rb +1 -0
  76. data/bundler/lib/bundler/gem_remote_fetcher.rb +1 -0
  77. data/bundler/lib/bundler/gem_tasks.rb +1 -0
  78. data/bundler/lib/bundler/gem_version_promoter.rb +13 -0
  79. data/bundler/lib/bundler/gemdeps.rb +1 -0
  80. data/bundler/lib/bundler/graph.rb +1 -0
  81. data/bundler/lib/bundler/index.rb +19 -11
  82. data/bundler/lib/bundler/injector.rb +54 -30
  83. data/bundler/lib/bundler/inline.rb +10 -10
  84. data/bundler/lib/bundler/installer.rb +114 -52
  85. data/bundler/lib/bundler/installer/gem_installer.rb +14 -4
  86. data/bundler/lib/bundler/installer/parallel_installer.rb +91 -42
  87. data/bundler/lib/bundler/installer/standalone.rb +1 -0
  88. data/bundler/lib/bundler/lazy_specification.rb +17 -4
  89. data/bundler/lib/bundler/lockfile_generator.rb +95 -0
  90. data/bundler/lib/bundler/lockfile_parser.rb +49 -35
  91. data/bundler/lib/bundler/match_platform.rb +1 -0
  92. data/bundler/lib/bundler/mirror.rb +10 -5
  93. data/bundler/lib/bundler/plugin.rb +8 -3
  94. data/bundler/lib/bundler/plugin/api/source.rb +16 -3
  95. data/bundler/lib/bundler/plugin/index.rb +9 -2
  96. data/bundler/lib/bundler/plugin/installer.rb +7 -6
  97. data/bundler/lib/bundler/plugin/source_list.rb +7 -8
  98. data/bundler/lib/bundler/process_lock.rb +24 -0
  99. data/bundler/lib/bundler/psyched_yaml.rb +10 -0
  100. data/bundler/lib/bundler/remote_specification.rb +25 -1
  101. data/bundler/lib/bundler/resolver.rb +176 -193
  102. data/bundler/lib/bundler/resolver/spec_group.rb +106 -0
  103. data/bundler/lib/bundler/retry.rb +1 -0
  104. data/bundler/lib/bundler/ruby_dsl.rb +1 -0
  105. data/bundler/lib/bundler/ruby_version.rb +7 -2
  106. data/bundler/lib/bundler/rubygems_ext.rb +18 -8
  107. data/bundler/lib/bundler/rubygems_gem_installer.rb +25 -2
  108. data/bundler/lib/bundler/rubygems_integration.rb +166 -69
  109. data/bundler/lib/bundler/runtime.rb +29 -19
  110. data/bundler/lib/bundler/settings.rb +202 -87
  111. data/bundler/lib/bundler/settings/validator.rb +79 -0
  112. data/bundler/lib/bundler/setup.rb +4 -7
  113. data/bundler/lib/bundler/shared_helpers.rb +143 -27
  114. data/bundler/lib/bundler/similarity_detector.rb +1 -0
  115. data/bundler/lib/bundler/source.rb +53 -1
  116. data/bundler/lib/bundler/source/gemspec.rb +1 -0
  117. data/bundler/lib/bundler/source/git.rb +51 -22
  118. data/bundler/lib/bundler/source/git/git_proxy.rb +23 -13
  119. data/bundler/lib/bundler/source/metadata.rb +63 -0
  120. data/bundler/lib/bundler/source/path.rb +38 -17
  121. data/bundler/lib/bundler/source/path/installer.rb +4 -2
  122. data/bundler/lib/bundler/source/rubygems.rb +161 -82
  123. data/bundler/lib/bundler/source/rubygems/remote.rb +12 -2
  124. data/bundler/lib/bundler/source_list.rb +75 -15
  125. data/bundler/lib/bundler/spec_set.rb +37 -21
  126. data/bundler/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
  127. data/bundler/lib/bundler/stub_specification.rb +86 -2
  128. data/bundler/lib/bundler/templates/.document +1 -0
  129. data/bundler/lib/bundler/templates/Executable +13 -1
  130. data/bundler/lib/bundler/templates/Executable.bundler +105 -0
  131. data/bundler/lib/bundler/templates/Executable.standalone +5 -5
  132. data/bundler/lib/bundler/templates/Gemfile +3 -0
  133. data/bundler/lib/bundler/templates/gems.rb +8 -0
  134. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +4 -2
  135. data/bundler/lib/bundler/templates/newgem/LICENSE.txt.tt +1 -1
  136. data/bundler/lib/bundler/templates/newgem/README.md.tt +14 -8
  137. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +5 -5
  138. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +4 -4
  139. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +3 -3
  140. data/bundler/lib/bundler/templates/newgem/gitignore.tt +0 -1
  141. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +6 -6
  142. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +4 -4
  143. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +21 -12
  144. data/bundler/lib/bundler/templates/newgem/rspec.tt +1 -0
  145. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +0 -2
  146. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +3 -0
  147. data/bundler/lib/bundler/templates/newgem/test/newgem_test.rb.tt +1 -1
  148. data/bundler/lib/bundler/templates/newgem/test/test_helper.rb.tt +3 -3
  149. data/bundler/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
  150. data/bundler/lib/bundler/ui.rb +1 -0
  151. data/bundler/lib/bundler/ui/rg_proxy.rb +1 -0
  152. data/bundler/lib/bundler/ui/shell.rb +26 -10
  153. data/bundler/lib/bundler/ui/silent.rb +12 -1
  154. data/bundler/lib/bundler/uri_credentials_filter.rb +1 -0
  155. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
  156. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +2 -0
  157. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
  158. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  159. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
  160. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +16 -5
  161. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
  162. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +10 -2
  163. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -0
  164. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -0
  165. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -0
  166. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +1 -0
  167. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -0
  168. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -0
  169. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +16 -5
  170. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +75 -7
  171. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  172. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
  173. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +3 -1
  174. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +501 -138
  175. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +1 -0
  176. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -4
  177. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +3 -1
  178. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +46 -21
  179. data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +24 -22
  180. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +2 -1
  181. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  182. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +2 -2
  183. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +16 -8
  184. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +66 -18
  185. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +17 -15
  186. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +55 -32
  187. data/bundler/lib/bundler/vendor/thor/lib/thor/command.rb +13 -11
  188. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +21 -1
  189. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +7 -5
  190. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +94 -63
  191. data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +3 -3
  192. data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +13 -13
  193. data/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb +4 -5
  194. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
  195. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +4 -7
  196. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +16 -16
  197. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +42 -21
  198. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +13 -10
  199. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +31 -29
  200. data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  201. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +49 -33
  202. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
  203. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +4 -4
  204. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
  205. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  206. data/bundler/lib/bundler/vendored_fileutils.rb +9 -0
  207. data/bundler/lib/bundler/vendored_molinillo.rb +1 -0
  208. data/bundler/lib/bundler/vendored_persistent.rb +35 -0
  209. data/bundler/lib/bundler/vendored_thor.rb +6 -2
  210. data/bundler/lib/bundler/version.rb +19 -2
  211. data/bundler/lib/bundler/version_ranges.rb +76 -0
  212. data/bundler/lib/bundler/vlad.rb +5 -0
  213. data/bundler/lib/bundler/worker.rb +3 -1
  214. data/bundler/lib/bundler/yaml_serializer.rb +3 -3
  215. data/bundler/man/bundle-add.ronn +29 -0
  216. data/bundler/man/bundle-binstubs.ronn +15 -1
  217. data/bundler/man/bundle-check.ronn +26 -0
  218. data/bundler/man/bundle-clean.ronn +18 -0
  219. data/bundler/man/bundle-config.ronn +193 -69
  220. data/bundler/man/bundle-doctor.ronn +33 -0
  221. data/bundler/man/bundle-exec.ronn +10 -3
  222. data/bundler/man/bundle-gem.ronn +3 -2
  223. data/bundler/man/bundle-info.ronn +17 -0
  224. data/bundler/man/bundle-init.ronn +29 -0
  225. data/bundler/man/bundle-inject.ronn +22 -0
  226. data/bundler/man/bundle-install.ronn +44 -35
  227. data/bundler/man/bundle-list.ronn +15 -0
  228. data/bundler/man/bundle-lock.ronn +1 -1
  229. data/bundler/man/bundle-open.ronn +19 -0
  230. data/bundler/man/bundle-outdated.ronn +2 -2
  231. data/bundler/man/bundle-package.ronn +7 -2
  232. data/bundler/man/bundle-pristine.ronn +34 -0
  233. data/bundler/man/bundle-show.ronn +21 -0
  234. data/bundler/man/bundle-update.ronn +24 -17
  235. data/bundler/man/bundle-viz.ronn +30 -0
  236. data/bundler/man/bundle.ronn +36 -45
  237. data/bundler/man/gemfile.5.ronn +77 -71
  238. data/lib/rubygems.rb +102 -46
  239. data/lib/rubygems/basic_specification.rb +8 -4
  240. data/lib/rubygems/bundler_version_finder.rb +99 -0
  241. data/lib/rubygems/command.rb +10 -2
  242. data/lib/rubygems/command_manager.rb +8 -4
  243. data/lib/rubygems/commands/cert_command.rb +31 -6
  244. data/lib/rubygems/commands/cleanup_command.rb +10 -3
  245. data/lib/rubygems/commands/generate_index_command.rb +1 -1
  246. data/lib/rubygems/commands/help_command.rb +1 -1
  247. data/lib/rubygems/commands/install_command.rb +7 -0
  248. data/lib/rubygems/commands/open_command.rb +1 -1
  249. data/lib/rubygems/commands/owner_command.rb +7 -2
  250. data/lib/rubygems/commands/pristine_command.rb +11 -8
  251. data/lib/rubygems/commands/push_command.rb +39 -5
  252. data/lib/rubygems/commands/query_command.rb +17 -17
  253. data/lib/rubygems/commands/setup_command.rb +174 -69
  254. data/lib/rubygems/commands/signin_command.rb +33 -0
  255. data/lib/rubygems/commands/signout_command.rb +33 -0
  256. data/lib/rubygems/commands/sources_command.rb +1 -1
  257. data/lib/rubygems/commands/uninstall_command.rb +5 -4
  258. data/lib/rubygems/commands/unpack_command.rb +19 -7
  259. data/lib/rubygems/commands/update_command.rb +1 -1
  260. data/lib/rubygems/commands/which_command.rb +1 -1
  261. data/lib/rubygems/commands/yank_command.rb +4 -11
  262. data/lib/rubygems/config_file.rb +15 -26
  263. data/lib/rubygems/core_ext/kernel_require.rb +12 -16
  264. data/lib/rubygems/dependency.rb +3 -0
  265. data/lib/rubygems/dependency_installer.rb +8 -2
  266. data/lib/rubygems/dependency_list.rb +1 -1
  267. data/lib/rubygems/errors.rb +3 -0
  268. data/lib/rubygems/exceptions.rb +11 -1
  269. data/lib/rubygems/ext/builder.rb +2 -2
  270. data/lib/rubygems/ext/ext_conf_builder.rb +2 -4
  271. data/lib/rubygems/ext/rake_builder.rb +1 -1
  272. data/lib/rubygems/gem_runner.rb +5 -1
  273. data/lib/rubygems/gemcutter_utilities.rb +5 -2
  274. data/lib/rubygems/indexer.rb +6 -5
  275. data/lib/rubygems/install_update_options.rb +6 -29
  276. data/lib/rubygems/installer.rb +60 -13
  277. data/lib/rubygems/installer_test_case.rb +6 -3
  278. data/lib/rubygems/package.rb +55 -8
  279. data/lib/rubygems/package/file_source.rb +2 -2
  280. data/lib/rubygems/package/old.rb +3 -3
  281. data/lib/rubygems/package/tar_header.rb +17 -10
  282. data/lib/rubygems/package/tar_writer.rb +4 -3
  283. data/lib/rubygems/platform.rb +1 -1
  284. data/lib/rubygems/remote_fetcher.rb +2 -2
  285. data/lib/rubygems/request.rb +1 -1
  286. data/lib/rubygems/request_set.rb +47 -19
  287. data/lib/rubygems/request_set/gem_dependency_api.rb +3 -3
  288. data/lib/rubygems/request_set/lockfile.rb +1 -1
  289. data/lib/rubygems/requirement.rb +19 -4
  290. data/lib/rubygems/resolver.rb +24 -3
  291. data/lib/rubygems/resolver/api_specification.rb +5 -0
  292. data/lib/rubygems/resolver/installer_set.rb +4 -6
  293. data/lib/rubygems/safe_yaml.rb +51 -0
  294. data/lib/rubygems/security.rb +18 -6
  295. data/lib/rubygems/security/trust_dir.rb +1 -1
  296. data/lib/rubygems/security_option.rb +43 -0
  297. data/lib/rubygems/server.rb +21 -17
  298. data/lib/rubygems/source.rb +9 -6
  299. data/lib/rubygems/source/git.rb +2 -1
  300. data/lib/rubygems/source/local.rb +38 -35
  301. data/lib/rubygems/source/lock.rb +4 -1
  302. data/lib/rubygems/source_local.rb +3 -1
  303. data/lib/rubygems/source_specific_file.rb +3 -2
  304. data/lib/rubygems/spec_fetcher.rb +7 -3
  305. data/lib/rubygems/specification.rb +315 -249
  306. data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
  307. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  308. data/lib/rubygems/stub_specification.rb +4 -3
  309. data/lib/rubygems/test_case.rb +51 -11
  310. data/lib/rubygems/test_utilities.rb +2 -2
  311. data/lib/rubygems/text.rb +14 -1
  312. data/lib/rubygems/user_interaction.rb +24 -15
  313. data/lib/rubygems/util.rb +6 -16
  314. data/lib/rubygems/util/licenses.rb +72 -4
  315. data/lib/rubygems/validator.rb +3 -3
  316. data/lib/rubygems/version.rb +24 -4
  317. data/lib/rubygems/version_option.rb +6 -1
  318. data/lib/ubygems.rb +3 -0
  319. data/setup.rb +1 -1
  320. data/test/rubygems/private3072_key.pem +40 -0
  321. data/test/rubygems/public3072_cert.pem +25 -0
  322. data/test/rubygems/test_bundled_ca.rb +7 -4
  323. data/test/rubygems/test_config.rb +1 -1
  324. data/test/rubygems/test_gem.rb +158 -39
  325. data/test/rubygems/test_gem_bundler_version_finder.rb +126 -0
  326. data/test/rubygems/test_gem_command.rb +7 -1
  327. data/test/rubygems/test_gem_command_manager.rb +2 -2
  328. data/test/rubygems/test_gem_commands_build_command.rb +29 -1
  329. data/test/rubygems/test_gem_commands_cert_command.rb +64 -0
  330. data/test/rubygems/test_gem_commands_cleanup_command.rb +44 -1
  331. data/test/rubygems/test_gem_commands_install_command.rb +73 -2
  332. data/test/rubygems/test_gem_commands_open_command.rb +2 -1
  333. data/test/rubygems/test_gem_commands_owner_command.rb +25 -0
  334. data/test/rubygems/test_gem_commands_pristine_command.rb +1 -1
  335. data/test/rubygems/test_gem_commands_push_command.rb +25 -5
  336. data/test/rubygems/test_gem_commands_query_command.rb +154 -1
  337. data/test/rubygems/test_gem_commands_setup_command.rb +140 -10
  338. data/test/rubygems/test_gem_commands_signin_command.rb +98 -0
  339. data/test/rubygems/test_gem_commands_signout_command.rb +37 -0
  340. data/test/rubygems/test_gem_commands_sources_command.rb +52 -0
  341. data/test/rubygems/test_gem_commands_uninstall_command.rb +15 -3
  342. data/test/rubygems/test_gem_commands_update_command.rb +1 -7
  343. data/test/rubygems/test_gem_commands_which_command.rb +3 -3
  344. data/test/rubygems/test_gem_dependency.rb +28 -0
  345. data/test/rubygems/test_gem_dependency_installer.rb +1 -1
  346. data/test/rubygems/test_gem_doctor.rb +2 -2
  347. data/test/rubygems/test_gem_ext_builder.rb +8 -8
  348. data/test/rubygems/test_gem_ext_configure_builder.rb +1 -1
  349. data/test/rubygems/test_gem_ext_rake_builder.rb +2 -6
  350. data/test/rubygems/test_gem_gemcutter_utilities.rb +4 -4
  351. data/test/rubygems/test_gem_indexer.rb +1 -2
  352. data/test/rubygems/test_gem_install_update_options.rb +6 -1
  353. data/test/rubygems/test_gem_installer.rb +168 -31
  354. data/test/rubygems/test_gem_package.rb +183 -26
  355. data/test/rubygems/test_gem_package_old.rb +1 -1
  356. data/test/rubygems/test_gem_package_tar_header.rb +21 -0
  357. data/test/rubygems/test_gem_rdoc.rb +2 -0
  358. data/test/rubygems/test_gem_remote_fetcher.rb +24 -5
  359. data/test/rubygems/test_gem_request.rb +5 -2
  360. data/test/rubygems/test_gem_request_connection_pools.rb +6 -7
  361. data/test/rubygems/test_gem_request_set.rb +7 -7
  362. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -3
  363. data/test/rubygems/test_gem_request_set_lockfile.rb +4 -4
  364. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +1 -1
  365. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
  366. data/test/rubygems/test_gem_requirement.rb +12 -0
  367. data/test/rubygems/test_gem_resolver.rb +26 -0
  368. data/test/rubygems/test_gem_resolver_api_specification.rb +24 -0
  369. data/test/rubygems/test_gem_resolver_conflict.rb +1 -1
  370. data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
  371. data/test/rubygems/test_gem_resolver_installer_set.rb +1 -1
  372. data/test/rubygems/test_gem_security.rb +5 -0
  373. data/test/rubygems/test_gem_security_policy.rb +27 -27
  374. data/test/rubygems/test_gem_security_signer.rb +6 -6
  375. data/test/rubygems/test_gem_security_trust_dir.rb +2 -2
  376. data/test/rubygems/test_gem_server.rb +194 -12
  377. data/test/rubygems/test_gem_source.rb +12 -3
  378. data/test/rubygems/test_gem_source_git.rb +1 -1
  379. data/test/rubygems/test_gem_spec_fetcher.rb +20 -0
  380. data/test/rubygems/test_gem_specification.rb +180 -42
  381. data/test/rubygems/test_gem_stream_ui.rb +8 -8
  382. data/test/rubygems/test_gem_stub_specification.rb +26 -8
  383. data/test/rubygems/test_gem_text.rb +16 -0
  384. data/test/rubygems/test_gem_util.rb +26 -0
  385. data/test/rubygems/test_gem_version.rb +68 -9
  386. data/test/rubygems/test_gem_version_option.rb +15 -0
  387. data/test/rubygems/test_kernel.rb +30 -0
  388. data/test/rubygems/test_require.rb +70 -21
  389. data/util/ci +1 -0
  390. data/util/generate_spdx_license_list.rb +16 -6
  391. data/util/update_bundled_ca_certificates.rb +1 -3
  392. metadata +61 -57
  393. data/README.rdoc +0 -54
  394. data/bundler/DEVELOPMENT.md +0 -150
  395. data/bundler/ISSUES.md +0 -117
  396. data/bundler/lib/bundler/postit_trampoline.rb +0 -73
  397. data/bundler/lib/bundler/vendor/postit/lib/postit.rb +0 -15
  398. data/bundler/lib/bundler/vendor/postit/lib/postit/environment.rb +0 -44
  399. data/bundler/lib/bundler/vendor/postit/lib/postit/installer.rb +0 -28
  400. data/bundler/lib/bundler/vendor/postit/lib/postit/parser.rb +0 -21
  401. data/bundler/lib/bundler/vendor/postit/lib/postit/setup.rb +0 -12
  402. data/bundler/lib/bundler/vendor/postit/lib/postit/version.rb +0 -3
  403. data/bundler/man/index.txt +0 -8
  404. data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  405. data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3145b3347290a8137e8aafa35a0c28e7a2df9cf50129a35f8e99c4e37dfbad9
4
- data.tar.gz: e9c34d66185f10c358e6bfb47d1a55828f3433d16eb1c1dddb127c36fcab297d
3
+ metadata.gz: 05af8c86d4ea15a0d09d4d8611a6aca36d75dc741cdd8e5d86076475ebe8a7de
4
+ data.tar.gz: a8dfa7a91b938c27adb2227e99bb3160384e5bfe4b0701f54bdda00039f5bedb
5
5
  SHA512:
6
- metadata.gz: 9e27f2aa64535ebc313e5ede961eccb6b671ee65d42730ab84b200df57a3f819ef5f379d9c5041ee80d6127d8fad2a03c9661ecf1042fe712f9767178d883e43
7
- data.tar.gz: 19aeb548def6a0b6a274e5281f1b840a8de35d026c31ff4d9bb1f827808b58758f6a1fe9d72688a8c02043cecae13912c5894832a27889ebbe0f8974190c1208
6
+ metadata.gz: 7c7a3afc31fb6b849ad66759acb0df2444867bf0db3f64ec05f7484689cb47bac289429d5a350fa7949a5d2a94090c14fd7eec552b8ea3678e71f4a65bdd11ba
7
+ data.tar.gz: 77a27d60b8709a0b26872bf616eeb4161cf9c847b0770e74976d631934b4ef88c2d5d2406c36846104361acea894e1b4104921fd286a6540adf17402d85dcecb
data/.travis.yml CHANGED
@@ -4,6 +4,8 @@ after_script:
4
4
  before_script:
5
5
  - util/ci before_script
6
6
  language: ruby
7
+ dist: trusty
8
+ sudo: required
7
9
  branches:
8
10
  only:
9
11
  - master
@@ -16,33 +18,17 @@ rvm:
16
18
  - 1.9.3
17
19
  - 2.0.0
18
20
  - 2.1.10
19
- - 2.2.6
20
- - 2.3.3
21
- - 2.4.0
21
+ - 2.2.9
22
+ - 2.3.6
23
+ - 2.4.3
24
+ - 2.5.0
22
25
  - ruby-head
23
26
  env:
24
27
  - "TEST_TOOL=rubygems YAML=syck"
25
28
  - "TEST_TOOL=rubygems YAML=psych"
26
29
  - "TEST_TOOL=bundler RGV=master"
27
30
  script:
28
- - util/ci script
31
+ - util/ci script
29
32
  matrix:
30
- exclude:
31
- - rvm: 1.8.7
32
- env: "TEST_TOOL=rubygems YAML=psych"
33
- - rvm: 1.9.2
34
- env: "TEST_TOOL=bundler RGV=master"
35
- - rvm: 2.0.0
36
- env: "TEST_TOOL=rubygems YAML=syck"
37
- - rvm: 2.1.7
38
- env: "TEST_TOOL=rubygems YAML=syck"
39
- - rvm: 2.2.6
40
- env: "TEST_TOOL=rubygems YAML=syck"
41
- - rvm: 2.3.3
42
- env: "TEST_TOOL=rubygems YAML=syck"
43
- - rvm: 2.4.0
44
- env: "TEST_TOOL=rubygems YAML=syck"
45
- - rvm: ruby-head
46
- env: "TEST_TOOL=rubygems YAML=syck"
47
33
  allow_failures:
48
- - rvm: ruby-head
34
+ - env: "TEST_TOOL=bundler RGV=master"
data/CONTRIBUTING.rdoc CHANGED
@@ -1,7 +1,7 @@
1
1
  = How to contribute
2
2
 
3
- Community involvement is essential to RubyGems. We want to keep it easy as
4
- possible to contribute changes. There are a few guidelines that we need
3
+ Community involvement is essential to RubyGems. We want to keep it as easy
4
+ as possible to contribute changes. There are a few guidelines that we need
5
5
  contributors to follow to reduce the time it takes to get changes merged in.
6
6
 
7
7
  == Guidelines
@@ -11,9 +11,9 @@ contributors to follow to reduce the time it takes to get changes merged in.
11
11
  2. Ensure that your code blends well with ours:
12
12
  * No trailing whitespace
13
13
  * Match indentation (two spaces)
14
- * Match coding style (`if`, `elsif`, `when` need trailing `then`)
14
+ * Match coding style (+if+, +elsif+, +when+ need trailing +then+)
15
15
 
16
- 3. If any new files are added or existing files removed in a commit or PR, please update the `Manifest.txt` accordingly.
16
+ 3. If any new files are added or existing files removed in a commit or PR, please update the +Manifest.txt+ accordingly.
17
17
 
18
18
  4. Don't modify the history file or version number.
19
19
 
@@ -28,7 +28,7 @@ here: http://guides.rubygems.org/contributing/
28
28
  $ gem install hoe
29
29
  $ rake newb
30
30
 
31
- To run commands like `gem install` from the repo:
31
+ To run commands like <tt>gem install</tt> from the repo:
32
32
 
33
33
  $ ruby -Ilib bin/gem install
34
34
 
@@ -38,59 +38,65 @@ RubyGems uses labels to track all issues and pull requests. In order to provide
38
38
  guidance to the community this is documentation of how labels are used in the
39
39
  rubygems repository.
40
40
 
41
+ === Contribution
42
+
43
+ These labels are made to guide contributors to issue/pull requests that they
44
+ can help with. That are marked with a light gray <tt>contribution: *</tt>
45
+
46
+ * *small* - The issue described here will take a small amount of work to resolve,
47
+ and is a good option for a new contributor
48
+ * *unclaimed* - The issue has not been claimed for work, and is awaiting willing
49
+ volunteers!
50
+
41
51
  === Type
42
52
 
43
- Most Issues or pull requests will have one of these labels, which describes the
44
- type of the issue or pull request.
53
+ Most Issues or pull requests will have a light green <tt>type: *</tt> label,
54
+ which describes the type of the issue or pull request.
45
55
 
46
56
  * <b>bug report</b> - An issue describing a bug in rubygems. This would be something
47
57
  that is broken, confusing, unexpected behavior etc.
48
- * <b>bugfix</b> - A pull request that fixes a bug report.
58
+ * <b>bug fix</b> - A pull request that fixes a bug report.
49
59
  * <b>feature request</b> - An issue describing a request for a new feature or
50
60
  enhancement.
51
61
  * <b>feature implementation</b> - A pull request implementing a feature request.
52
- * <b>question</b> - An issue that is a more of a question than a call for specific
62
+ * *question* - An issue that is a more of a question than a call for specific
53
63
  changes in the codebase.
54
- * <b>cleanup</b> - Generally for a pull request that improves the code base without
64
+ * *cleanup* - Generally for a pull request that improves the code base without
55
65
  fixing a bug or implementing a feature.
56
66
  * <b>major bump</b> - This issue or pull request requires a major version bump
57
- * <b>administrative</b> - This issue relates to administrative tasks that need to
67
+ * *administrative* - This issue relates to administrative tasks that need to
58
68
  take place as it relates to rubygems
69
+ * *documentation* - This issue relates to improving the documentation for
70
+ in this repo. Note that much of the rubygems documentation is here:
71
+ https://github.com/rubygems/guides
59
72
 
60
- Bug report and Bugfix have the same color. And feature implementation and
61
- feature request have the same color since they are related labels.
73
+ === Workflow / Status
62
74
 
63
- === Workflow
75
+ The light yellow <tt>status: *</tt> labels that indicate the state of an
76
+ issue, where it is in the process from being submitted to being closed.
77
+ These are listed in rough progression order from submitted to closed.
64
78
 
65
- These are labels that indicate the state of an issue, where it is in the process
66
- from being submitted to being closed. These are listed in rough progression
67
- order from submitted to closed.
68
-
69
- * <b>triage</b> - This is an issue or pull request that needs to be properly
79
+ * *triage* - This is an issue or pull request that needs to be properly
70
80
  labeled by by a maintainer.
71
- * <b>accepted</b> - This issue / pull request has been accepted as valid and
72
- will be worked on by someone.
73
- * <b>ready for work</b> - An issue that is available for collaboration. This issue
81
+ * *confirmed* - This issue/pull request has been accepted as valid, but
82
+ is not yet immediately ready for work.
83
+ * <b>ready</b> - An issue that is available for collaboration. This issue
74
84
  should have existing discussion on the problem, and a description of how to go
75
- about solving it. This label should be removed once someone has said they are
76
- going to work on it.
77
- * <b>claimed</b> - An issue that is claimed by a member of the community and is
78
- working on it. If the member can be assigned to the issue, they should be.
79
- * <b>feedback</b>- This issue/pull request is waiting on feedback from
80
- one ore more of the folks involved in the issue. Generally their should be an
81
- <tt>@username/team</tt> in the issue indicating who should respond.
82
- * <b>blocked</b> - the issue/pull request is currently unable to move forward because
83
- of some specific reason, generally this will be a reason that is outside
85
+ about solving it.
86
+ * <b>working</b> - An issue that has a specific invidual assigned to and planning
87
+ to do work on it.
88
+ * <b>user feedback required</b> - The issue/pull request is blocked pending more
89
+ feedback from an end user
90
+ * <b>blocked / backlog</b> - the issue/pull request is currently unable to move forward
91
+ because of some specific reason, generally this will be a reason that is outside
84
92
  RubyGems or needs feedback from some specific individual or group, and it may
85
93
  be a while before something it is resolved.
86
94
 
87
- Feedback and blocked all have the same color since they are all waiting on
88
- someone in particular to do something.
89
-
90
- === Inactive Reason
95
+ === Closed Reason
91
96
 
92
97
  Reasons are why an issue / pull request was closed without being worked on or
93
- accepted. There should also be more detailed information in the comments.
98
+ accepted. There should also be more detailed information in the comments. The
99
+ closed reason labels are maroon <tt>closed: *</tt>.
94
100
 
95
101
  * *duplicate* - This is a duplicate of an existing bug. The comments must
96
102
  reference the existing issue.
@@ -100,32 +106,25 @@ accepted. There should also be more detailed information in the comments.
100
106
  is not accepted.
101
107
  * *deprecated* - An issue/pull request that no longer applies to the actively
102
108
  maintained codebase.
103
-
104
- All the reason labels are the same maroon color.
109
+ * *discussion* - An issue/pull that is no longer about a concrete change, and
110
+ is instead being used for discussion.
105
111
 
106
112
  === Categories
107
113
 
108
114
  These are aspects of the codebase, or what general area the issue or pull
109
- request pertains too. Not all issues will have a category.
115
+ request pertains too. Not all issues will have a category. All categorized
116
+ issues have a blue <tt>category: *</tt> label.
110
117
 
111
- * <b>gemspec</b> - related to the gem specification itself
112
- * <b>API</b> - related to the public supported rubygems API. This is the code api,
118
+ * *gemspec* - related to the gem specification itself
119
+ * *API* - related to the public supported rubygems API. This is the code API,
113
120
  not a network related API.
114
- * <b>command</b> - related to something in <tt>Gem::Commands</tt>
115
- * <b>install</b> - related to gem installations
116
- * <b>documentation</b> - related to updating / fixing / clarifying documentation or
121
+ * *command* - related to something in <tt>Gem::Commands</tt>
122
+ * *install* - related to gem installations
123
+ * *documentation* - related to updating / fixing / clarifying documentation or
117
124
  guides
118
125
 
119
- All category labels are the same blue color.
120
-
121
126
  === Platforms
122
127
 
123
128
  If an issue or pull request pertains to only one platform, then it should have
124
- an appropriate platform tag.
125
-
126
- * *windows*
127
- * *java*
128
- * *osx*
129
- * *linux*
130
-
131
- All platform tags are the same purple color.
129
+ an appropriate purple <tt>platform: *</tt> label. Current platform labels:
130
+ *windows*, *java*, *osx*, *linux*
data/History.txt CHANGED
@@ -1,5 +1,410 @@
1
1
  # coding: UTF-8
2
2
 
3
+ === 2.7.11 / 2020-12-08
4
+
5
+ Minor enhancements:
6
+
7
+ * Add GlobalSign Root CA - R3 cert and remove outdated certs. Pull request #4100
8
+ by Aditya Prakash.
9
+
10
+ === 2.7.10 / 2019-06-14
11
+
12
+ Minor enhancements:
13
+
14
+ * Fix bundler rubygems binstub not properly looking for bundler. Pull request #2426
15
+ by David Rodríguez.
16
+ * [BudlerVersionFinder] set .filter! and .compatible? to match only on major versions.
17
+ Pull request #2515 by Colby Swandale.
18
+ + Update for compatibilty with new minitest. Pull request #2118 by MSP-Greg.
19
+
20
+ === 2.7.9 / 2019-03-05
21
+
22
+ Security fixes:
23
+
24
+ * Fixed following vulnerabilities:
25
+ * CVE-2019-8320: Delete directory using symlink when decompressing tar
26
+ * CVE-2019-8321: Escape sequence injection vulnerability in `verbose`
27
+ * CVE-2019-8322: Escape sequence injection vulnerability in `gem owner`
28
+ * CVE-2019-8323: Escape sequence injection vulnerability in API response handling
29
+ * CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution
30
+ * CVE-2019-8325: Escape sequence injection vulnerability in errors
31
+
32
+ === 2.7.8 / 2018-11-02
33
+
34
+ Minor enhancements:
35
+
36
+ * [Requirement] Treat requirements with == versions as equal. Pull
37
+ request #2230 by Samuel Giddins.
38
+ * Fix exec_name documentation. Pull request #2239 by Luis Sagastume.
39
+ * [TarHeader] Extract the empty header into a constant. Pull request #2247
40
+ by Samuel Giddins.
41
+ * Simplify the code that lets us call the original, non-monkeypatched
42
+ Kernel#require. Pull request #2267 by Leon Miller-Out.
43
+ * Add install alias documentation. Pull request #2320 by ota42y.
44
+ * [Rakefile] Set bundler build metadata when doing a release. Pull request
45
+ #2335 by Samuel Giddins.
46
+ * Backport commits from ruby core . Pull request #2347 by SHIBATA Hiroshi.
47
+ * Sign in to the correct host before push. Pull request #2366 by Luis
48
+ Sagastume.
49
+ * Bump bundler-1.16.4. Pull request #2381 by SHIBATA Hiroshi.
50
+ * Improve bindir flag description. Pull request #2383 by Luis Sagastume.
51
+ * Update bundler-1.16.6. Pull request #2423 by SHIBATA Hiroshi.
52
+
53
+ Bug fixes:
54
+
55
+ * Fix #1470: generate documentation when --install-dir is present. Pull
56
+ request #2229 by Elias Hernandis.
57
+ * Fix no proxy checking. Pull request #2249 by Luis Sagastume.
58
+ * Validate SPDX license exceptions. Pull request #2257 by Mikit.
59
+ * Retry api specification spec with original platform. Pull request #2275
60
+ by Luis Sagastume.
61
+ * Fix approximate recommendation with prereleases. Pull request #2345 by
62
+ David Rodríguez.
63
+ * Gem::Version should handle nil like it used to before. Pull request
64
+ #2363 by Luis Sagastume.
65
+
66
+ === 2.7.7 / 2018-05-08
67
+
68
+ Minor enhancements:
69
+
70
+ * [RequestSet] Only suggest a gem version with an installable platform.
71
+ Pull request #2175 by Samuel Giddins.
72
+ * Fixed no assignment variables about default gems installation. Pull
73
+ request #2181 by SHIBATA Hiroshi.
74
+ * Backport improvements for test-case from Ruby core. Pull request #2189
75
+ by SHIBATA Hiroshi.
76
+ * Fix ruby warnings in test suite. Pull request #2205 by Colby Swandale.
77
+ * To use Gem::Specification#bindir of bundler instead of hard coded path.
78
+ Pull request #2208 by SHIBATA Hiroshi.
79
+ * Update gem push --help description. Pull request #2215 by Luis
80
+ Sagastume.
81
+ * Backport ruby core commits. Pull request #2264 by SHIBATA Hiroshi.
82
+
83
+ Bug fixes:
84
+
85
+ * Frozen string fix - lib/rubygems/bundler_version_finder.rb. Pull request
86
+ #2115 by MSP-Greg.
87
+ * Fixed tempfile leak for RubyGems 2.7.6. Pull request #2194 by SHIBATA
88
+ Hiroshi.
89
+ * Add missing requires. Pull request #2196 by David Rodríguez.
90
+ * Fix Gem::Version.correct?. Pull request #2203 by Masato Nakamura.
91
+ * Fix verify_entry regex for metadata. Pull request #2212 by Luis
92
+ Sagastume.
93
+ * Fix path checks for case insensitive filesystem. Pull request #2211 by
94
+ Lars Kanis.
95
+
96
+ Compatibility changes:
97
+
98
+ * Deprecate unused code before removing them at #1524. Pull request #2197
99
+ by SHIBATA Hiroshi.
100
+ * Deprecate for rubygems 3. Pull request #2214 by SHIBATA Hiroshi.
101
+ * Mark deprecation to `ubygems.rb` for RubyGems 4. Pull request #2269 by
102
+ SHIBATA Hiroshi.
103
+ * Update bundler-1.16.2. Pull request #2291 by SHIBATA Hiroshi.
104
+
105
+ === 2.7.6 / 2018-02-16
106
+
107
+ Security fixes:
108
+
109
+ * Prevent path traversal when writing to a symlinked basedir outside of the root.
110
+ Discovered by nmalkin, fixed by Jonathan Claudius and Samuel Giddins.
111
+ * Fix possible Unsafe Object Deserialization Vulnerability in gem owner.
112
+ Fixed by Jonathan Claudius.
113
+ * Strictly interpret octal fields in tar headers.
114
+ Discoved by plover, fixed by Samuel Giddins.
115
+ * Raise a security error when there are duplicate files in a package.
116
+ Discovered by plover, fixed by Samuel Giddins.
117
+ * Enforce URL validation on spec homepage attribute.
118
+ Discovered by Yasin Soliman, fixed by Jonathan Claudius.
119
+ * Mitigate XSS vulnerability in homepage attribute when displayed via `gem server`.
120
+ Discovered by Yasin Soliman, fixed by Jonathan Claudius.
121
+ * Prevent Path Traversal issue during gem installation.
122
+ Discovered by nmalkin.
123
+
124
+ === 2.7.5
125
+
126
+ Bug fixes:
127
+
128
+ * To use bundler-1.16.1 #2121 by SHIBATA Hiroshi.
129
+ * Fixed leaked FDs. Pull request #2127 by Nobuyoshi Nakada.
130
+ * Support option for `--destdir` with upgrade installer. #2169 by Thibault Jouan.
131
+ * Remove PID from gem index directory. #2155 by SHIBATA Hiroshi.
132
+ * Avoid a #mkdir race condition #2148 by Samuel Giddins.
133
+ * Gem::Util.traverse_parents should not crash on permissions error #2147 by Robert Ulejczyk.
134
+ * Use `File.open` instead of `open`. #2142 by SHIBATA Hiroshi.
135
+ * Set whether bundler is used for gemdeps with an environmental variable #2126 by SHIBATA Hiroshi.
136
+ * Fix undefined method error when printing alert #1884 by Robert Ross.
137
+
138
+ === 2.7.4
139
+
140
+ Bug fixes:
141
+
142
+ * Fixed leaked FDs. Pull request #2127 by Nobuyoshi Nakada.
143
+ * Avoid to warnings about gemspec loadings in rubygems tests. Pull request
144
+ #2125 by SHIBATA Hiroshi.
145
+ * Fix updater with rubygems-2.7.3 Pull request #2124 by SHIBATA Hiroshi.
146
+ * Handle environment that does not have `flock` system call. Pull request
147
+ #2107 by SHIBATA Hiroshi.
148
+
149
+ === 2.7.3
150
+
151
+ Minor enhancements:
152
+
153
+ * Removed needless version lock. Pull request #2074 by SHIBATA Hiroshi.
154
+ * Add --[no-]check-development option to cleanup command. Pull request
155
+ #2061 by Lin Jen-Shin (godfat).
156
+ * Merge glob pattern using braces. Pull request #2072 by Kazuhiro
157
+ NISHIYAMA.
158
+ * Removed warnings of unused variables. Pull request #2084 by SHIBATA
159
+ Hiroshi.
160
+ * Call SPDX.org using HTTPS. Pull request #2102 by Olle Jonsson.
161
+ * Remove multi load warning from plugins documentation. Pull request #2103
162
+ by Thibault Jouan.
163
+
164
+ Bug fixes:
165
+
166
+ * Fix test failure on Alpine Linux. Pull request #2079 by Ellen Marie
167
+ Dash.
168
+ * Avoid encoding issues by using binread in setup. Pull request #2089 by
169
+ Mauro Morales.
170
+ * Fix rake install_test_deps once the rake clean_env does not exist. Pull
171
+ request #2090 by Lucas Oliveira.
172
+ * Prevent to delete to "bundler-" prefix gem like bundler-audit. Pull
173
+ request #2086 by SHIBATA Hiroshi.
174
+ * Generate .bat files on Windows platform. Pull request #2094 by SHIBATA
175
+ Hiroshi.
176
+ * Workaround common options mutation in Gem::Command test. Pull request
177
+ #2098 by Thibault Jouan.
178
+ * Check gems dir existence before removing bundler. Pull request #2104 by
179
+ Thibault Jouan.
180
+ * Use setup command --regenerate-binstubs option flag. Pull request #2099
181
+ by Thibault Jouan.
182
+
183
+ === 2.7.2
184
+
185
+ Bug fixes:
186
+
187
+ * Added template files to vendoerd bundler. Pull request #2065 by SHIBATA
188
+ Hiroshi.
189
+ * Added workaround for non-git environment. Pull request #2066 by SHIBATA
190
+ Hiroshi.
191
+
192
+ === 2.7.1 (2017-11-03)
193
+
194
+ Bug fixes:
195
+
196
+ * Fix `gem update --system` with RubyGems 2.7+. Pull request #2054 by
197
+ Samuel Giddins.
198
+
199
+ === 2.7.0 (2017-11-02)
200
+
201
+ Major enhancements:
202
+
203
+ * Update vendored bundler-1.16.0. Pull request #2051 by Samuel Giddins.
204
+ * Use Bundler for Gem.use_gemdeps. Pull request #1674 by Samuel Giddins.
205
+ * Add command `signin` to `gem` CLI. Pull request #1944 by Shiva Bhusal.
206
+ * Add Logout feature to CLI. Pull request #1938 by Shiva Bhusal.
207
+
208
+ Minor enhancements:
209
+
210
+ * Added message to uninstall command for gem that is not installed. Pull
211
+ request #1979 by anant anil kolvankar.
212
+ * Add --trust-policy option to unpack command. Pull request #1718 by
213
+ Nobuyoshi Nakada.
214
+ * Show default gems for all platforms. Pull request #1685 by Konstantin
215
+ Shabanov.
216
+ * Add Travis and Appveyor build status to README. Pull request #1918 by
217
+ Jun Aruga.
218
+ * Remove warning `no email specified` when no email. Pull request #1675 by
219
+ Leigh McCulloch.
220
+ * Improve -rubygems performance. Pull request #1801 by Samuel Giddins.
221
+ * Improve the performance of Kernel#require. Pull request #1678 by Samuel
222
+ Giddins.
223
+ * Improve user-facing messages by consistent casing of Ruby/RubyGems. Pull
224
+ request #1771 by John Labovitz.
225
+ * Improve error message when Gem::RuntimeRequirementNotMetError is raised.
226
+ Pull request #1789 by Luis Sagastume.
227
+ * Code Improvement: Inheritance corrected. Pull request #1942 by Shiva
228
+ Bhusal.
229
+ * [Source] Autoload fileutils. Pull request #1906 by Samuel Giddins.
230
+ * Use Hash#fetch instead of if/else in Gem::ConfigFile. Pull request #1824
231
+ by Daniel Berger.
232
+ * Require digest when it is used. Pull request #2006 by Samuel Giddins.
233
+ * Do not index the doc folder in the `update_manifest` task. Pull request
234
+ #2031 by Colby Swandale.
235
+ * Don't use two postfix conditionals on one line. Pull request #2038 by
236
+ Ellen Marie Dash.
237
+ * [SafeYAML] Avoid warning when Gem::Deprecate.skip is set. Pull request
238
+ #2034 by Samuel Giddins.
239
+ * Update gem yank description. Pull request #2009 by David Radcliffe.
240
+ * Fix formatting of installation instructions in README. Pull request
241
+ #2018 by Jordan Danford.
242
+ * Do not use #quick_spec internally. Pull request #1733 by Jon Moss.
243
+ * Switch from docs to guides reference. Pull request #1886 by Jonathan
244
+ Claudius.
245
+ * Happier message when latest version is already installed. Pull request
246
+ #1956 by Jared Beck.
247
+ * Update specification reference docs. Pull request #1960 by Grey Baker.
248
+ * Allow Gem.finish_resolve to respect already-activated specs. Pull
249
+ request #1910 by Samuel Giddins.
250
+ * Update cryptography for Gem::Security. Pull request #1691 by Sylvain
251
+ Daubert.
252
+ * Don't output mkmf.log message if compilation didn't fail. Pull request
253
+ #1808 by Jeremy Evans.
254
+ * Matches_for_glob - remove root path. Pull request #2010 by ahorek.
255
+ * Gem::Resolver#search_for update for reliable searching/sorting. Pull
256
+ request #1993 by MSP-Greg.
257
+ * Allow local installs with transitive prerelease requirements. Pull
258
+ request #1990 by Samuel Giddins.
259
+ * Small style fixes to Installer Set. Pull request #1985 by Arthur
260
+ Marzinkovskiy.
261
+ * Setup cmd: Avoid terminating option string w/ dot. Pull request #1825 by
262
+ Olle Jonsson.
263
+ * Warn when no files are set. Pull request #1773 by Aidan Coyle.
264
+ * Ensure `to_spec` falls back on prerelease specs. Pull request #1755 by
265
+ André Arko.
266
+ * [Specification] Eval setting default attributes in #initialize. Pull
267
+ request #1739 by Samuel Giddins.
268
+ * Sort ordering of sources is preserved. Pull request #1633 by Nathan
269
+ Ladd.
270
+ * Retry with :prerelease when no suggestions are found. Pull request #1696
271
+ by Aditya Prakash.
272
+ * [Rakefile] Run `git submodule update --init` in `rake newb`. Pull
273
+ request #1694 by Samuel Giddins.
274
+ * [TestCase] Address comments around ui changes. Pull request #1677 by
275
+ Samuel Giddins.
276
+ * Eagerly resolve in activate_bin_path. Pull request #1666 by Samuel
277
+ Giddins.
278
+ * [Version] Make hash based upon canonical segments. Pull request #1659 by
279
+ Samuel Giddins.
280
+ * Add Ruby Together CTA, rearrange README a bit. Pull request #1775 by
281
+ Michael Bernstein.
282
+ * Update Contributing.rdoc with new label usage. Pull request #1716 by
283
+ Lynn Cyrin.
284
+ * Add --host sample to help. Pull request #1709 by Code Ahss.
285
+ * Add a helpful suggestion when `gem install` fails due to required_rub….
286
+ Pull request #1697 by Samuel Giddins.
287
+ * Add cert expiration length flag. Pull request #1725 by Luis Sagastume.
288
+ * Add submodule instructions to manual install. Pull request #1727 by
289
+ Joseph Frazier.
290
+ * Allow usage of multiple `--version` operators. Pull request #1546 by
291
+ James Wen.
292
+ * Warn when requiring deprecated files. Pull request #1939 by Ellen Marie
293
+ Dash.
294
+
295
+ Compatibility changes:
296
+
297
+ * Use `-rrubygems` instead of `-rubygems.rb`. Because ubygems.rb is
298
+ unavailable on Ruby 2.5. Pull request #2028 #2027 #2029
299
+ by SHIBATA Hiroshi.
300
+ * Deprecate Gem::InstallerTestCase#util_gem_bindir and
301
+ Gem::InstallerTestCase#util_gem_dir. Pull request #1729 by Jon Moss.
302
+ * Deprecate passing options to Gem::GemRunner. Pull request #1730 by Jon
303
+ Moss.
304
+ * Add deprecation for Gem#datadir. Pull request #1732 by Jon Moss.
305
+ * Add deprecation warning for Gem::DependencyInstaller#gems_to_install.
306
+ Pull request #1731 by Jon Moss.
307
+ * Update Code of Conduct to Contributor Covenant v1.4.0. Pull request
308
+ #1796 by Matej.
309
+
310
+ Bug fixes:
311
+
312
+ * Fix issue for MinGW / MSYS2 builds and testing. Pull request #1876 by
313
+ MSP-Greg.
314
+ * Fixed broken links and overzealous URL encoding in gem server. Pull
315
+ request #1809 by Nicole Orchard.
316
+ * Fix a typo. Pull request #1722 by Koichi ITO.
317
+ * Fix error message Gem::Security::Policy. Pull request #1724 by Nobuyoshi
318
+ Nakada.
319
+ * Fixing links markdown formatting in README. Pull request #1791 by Piotr
320
+ Kuczynski.
321
+ * Fix failing Bundler 1.8.7 CI builds. Pull request #1820 by Samuel
322
+ Giddins.
323
+ * Fixed test broken on ruby-head . Pull request #1842 by SHIBATA Hiroshi.
324
+ * Fix typos with misspell. Pull request #1846 by SHIBATA Hiroshi.
325
+ * Fix gem open to open highest version number rather than lowest. Pull
326
+ request #1877 by Tim Pope.
327
+ * Fix test_self_find_files_with_gemfile to sort expected files. Pull
328
+ request #1878 by Kazuaki Matsuo.
329
+ * Fix typos in CONTRIBUTING.rdoc. Pull request #1909 by Mark Sayson.
330
+ * Fix some small documentation issues in installer. Pull request #1972 by
331
+ Colby Swandale.
332
+ * Fix links in Policies document. Pull request #1964 by Alyssa Ross.
333
+ * Fix NoMethodError on bundler/inline environment. Pull request #2042 by
334
+ SHIBATA Hiroshi.
335
+ * Correct comments for Gem::InstallerTestCase#setup. Pull request #1741 by
336
+ MSP-Greg.
337
+ * Use File.expand_path for certification and key location. Pull request
338
+ #1987 by SHIBATA Hiroshi.
339
+ * Rescue EROFS. Pull request #1417 by Nobuyoshi Nakada.
340
+ * Fix spelling of 'vulnerability'. Pull request #2022 by Philip Arndt.
341
+ * Fix metadata link key names. Pull request #1896 by Aditya Prakash.
342
+ * Fix a typo in uninstall_command.rb. Pull request #1934 by Yasuhiro
343
+ Horimoto.
344
+ * Gem::Requirement.create treat arguments as variable-length. Pull request
345
+ #1830 by Toru YAGI.
346
+ * Display an explanation when rake encounters an ontological problem. Pull
347
+ request #1982 by Wilson Bilkovich.
348
+ * [Server] Handle gems with names ending in `-\d`. Pull request #1926 by
349
+ Samuel Giddins.
350
+ * [InstallerSet] Avoid reloading _all_ local gems multiple times during
351
+ dependency resolution. Pull request #1925 by Samuel Giddins.
352
+ * Modify the return value of Gem::Version.correct?. Pull request #1916 by
353
+ Tsukuru Tanimichi.
354
+ * Validate metadata link keys. Pull request #1834 by Aditya Prakash.
355
+ * Add changelog to metadata validation. Pull request #1885 by Aditya
356
+ Prakash.
357
+ * Replace socket error text message. Pull request #1823 by Daniel Berger.
358
+ * Raise error if the email is invalid when building cert. Pull request
359
+ #1779 by Luis Sagastume.
360
+ * [StubSpecification] Don’t iterate through all loaded specs in #to_spec.
361
+ Pull request #1738 by Samuel Giddins.
362
+
363
+ === 2.6.14 / 2017-10-09
364
+
365
+ Security fixes:
366
+
367
+ * Whitelist classes and symbols that are in loaded YAML.
368
+ See CVE-2017-0903 for full details.
369
+ Fix by Aaron Patterson.
370
+
371
+ === 2.6.13 / 2017-08-27
372
+
373
+ Security fixes:
374
+
375
+ * Fix a DNS request hijacking vulnerability. (CVE-2017-0902)
376
+ Discovered by Jonathan Claudius, fix by Samuel Giddins.
377
+ * Fix an ANSI escape sequence vulnerability. (CVE-2017-0899)
378
+ Discovered by Yusuke Endoh, fix by Evan Phoenix.
379
+ * Fix a DOS vulnerability in the `query` command. (CVE-2017-0900)
380
+ Discovered by Yusuke Endoh, fix by Samuel Giddins.
381
+ * Fix a vulnerability in the gem installer that allowed a malicious gem
382
+ to overwrite arbitrary files. (CVE-2017-0901)
383
+ Discovered by Yusuke Endoh, fix by Samuel Giddins.
384
+
385
+ === 2.6.12 / 2017-04-30
386
+
387
+ Bug fixes:
388
+
389
+ * Fix test_self_find_files_with_gemfile to sort expected files. Pull
390
+ request #1880 by Kazuaki Matsuo.
391
+ * Fix issue for MinGW / MSYS2 builds and testing. Pull request #1879 by
392
+ MSP-Greg.
393
+ * Fix gem open to open highest version number rather than lowest. Pull
394
+ request #1877 by Tim Pope.
395
+ * Add a test for requiring a default spec as installed by the ruby
396
+ installer. Pull request #1899 by Samuel Giddins.
397
+ * Fix broken --exact parameter to gem command. Pull request #1873 by Jason
398
+ Frey.
399
+ * [Installer] Generate backwards-compatible binstubs. Pull request #1904
400
+ by Samuel Giddins.
401
+ * Fix pre-existing source recognition on add action. Pull request #1883 by
402
+ Jonathan Claudius.
403
+ * Prevent negative IDs in output of #inspect. Pull request #1908 by Vít
404
+ Ondruch.
405
+ * Allow Gem.finish_resolve to respect already-activated specs. Pull
406
+ request #1910 by Samuel Giddins.
407
+
3
408
  === 2.6.11 / 2017-03-16
4
409
 
5
410
  Bug fixes: