rubygems-update 3.2.28 → 3.2.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/Manifest.txt +28 -1
  4. data/bundler/CHANGELOG.md +58 -1
  5. data/bundler/README.md +1 -1
  6. data/bundler/lib/bundler/build_metadata.rb +2 -2
  7. data/bundler/lib/bundler/cli/gem.rb +86 -8
  8. data/bundler/lib/bundler/cli/info.rb +11 -4
  9. data/bundler/lib/bundler/cli/issue.rb +4 -3
  10. data/bundler/lib/bundler/cli.rb +3 -1
  11. data/bundler/lib/bundler/compact_index_client.rb +2 -2
  12. data/bundler/lib/bundler/definition.rb +49 -78
  13. data/bundler/lib/bundler/digest.rb +71 -0
  14. data/bundler/lib/bundler/errors.rb +18 -2
  15. data/bundler/lib/bundler/fetcher.rb +2 -1
  16. data/bundler/lib/bundler/friendly_errors.rb +5 -30
  17. data/bundler/lib/bundler/gem_helper.rb +6 -17
  18. data/bundler/lib/bundler/lockfile_parser.rb +1 -0
  19. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  20. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  21. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  22. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  23. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  24. data/bundler/lib/bundler/man/bundle-config.1 +3 -3
  25. data/bundler/lib/bundler/man/bundle-config.1.ronn +2 -2
  26. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  27. data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
  28. data/bundler/lib/bundler/man/bundle-gem.1 +14 -1
  29. data/bundler/lib/bundler/man/bundle-gem.1.ronn +16 -0
  30. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  31. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  32. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  33. data/bundler/lib/bundler/man/bundle-install.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  35. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  36. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  40. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  41. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  42. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle.1 +1 -1
  45. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  46. data/bundler/lib/bundler/rubygems_ext.rb +4 -0
  47. data/bundler/lib/bundler/rubygems_gem_installer.rb +20 -4
  48. data/bundler/lib/bundler/rubygems_integration.rb +26 -9
  49. data/bundler/lib/bundler/runtime.rb +2 -2
  50. data/bundler/lib/bundler/source/git/git_proxy.rb +5 -2
  51. data/bundler/lib/bundler/source/git.rb +22 -4
  52. data/bundler/lib/bundler/source/rubygems.rb +36 -72
  53. data/bundler/lib/bundler/spec_set.rb +1 -1
  54. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +5 -2
  55. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +5 -1
  56. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +12 -12
  57. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +2 -0
  58. data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  59. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
  60. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  61. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
  62. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +39 -74
  63. data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  64. data/bundler/lib/bundler/vendor/molinillo/LICENSE +9 -0
  65. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +2 -2
  66. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  67. data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
  68. data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  69. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +453 -0
  70. data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  71. data/bundler/lib/bundler/vendored_tsort.rb +4 -0
  72. data/bundler/lib/bundler/version.rb +1 -1
  73. data/bundler/lib/bundler/worker.rb +2 -2
  74. data/bundler/lib/bundler.rb +2 -1
  75. data/lib/rubygems/command.rb +4 -4
  76. data/lib/rubygems/commands/cert_command.rb +18 -11
  77. data/lib/rubygems/commands/fetch_command.rb +1 -1
  78. data/lib/rubygems/commands/server_command.rb +3 -3
  79. data/lib/rubygems/commands/setup_command.rb +65 -56
  80. data/lib/rubygems/commands/uninstall_command.rb +1 -1
  81. data/lib/rubygems/commands/update_command.rb +1 -1
  82. data/lib/rubygems/core_ext/tcpsocket_init.rb +2 -2
  83. data/lib/rubygems/defaults.rb +1 -1
  84. data/lib/rubygems/dependency_list.rb +2 -2
  85. data/lib/rubygems/errors.rb +1 -2
  86. data/lib/rubygems/ext/builder.rb +6 -5
  87. data/lib/rubygems/ext/cmake_builder.rb +1 -1
  88. data/lib/rubygems/install_update_options.rb +2 -2
  89. data/lib/rubygems/installer.rb +32 -15
  90. data/lib/rubygems/local_remote_options.rb +3 -3
  91. data/lib/rubygems/optparse/COPYING +56 -0
  92. data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
  93. data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
  94. data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
  95. data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
  96. data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
  97. data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
  98. data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
  99. data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
  100. data/lib/rubygems/optparse/lib/optparse.rb +2230 -0
  101. data/lib/rubygems/optparse.rb +3 -0
  102. data/lib/rubygems/package.rb +24 -34
  103. data/lib/rubygems/query_utils.rb +4 -4
  104. data/lib/rubygems/remote_fetcher.rb +2 -2
  105. data/lib/rubygems/request/connection_pools.rb +1 -1
  106. data/lib/rubygems/request/http_pool.rb +1 -1
  107. data/lib/rubygems/request.rb +2 -0
  108. data/lib/rubygems/request_set.rb +3 -3
  109. data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
  110. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +2 -2
  111. data/lib/rubygems/s3_uri_signer.rb +4 -5
  112. data/lib/rubygems/security/policy.rb +5 -3
  113. data/lib/rubygems/security/signer.rb +3 -4
  114. data/lib/rubygems/security.rb +49 -15
  115. data/lib/rubygems/security_option.rb +3 -3
  116. data/lib/rubygems/source/git.rb +2 -2
  117. data/lib/rubygems/source.rb +1 -1
  118. data/lib/rubygems/specification.rb +38 -40
  119. data/lib/rubygems/specification_policy.rb +1 -1
  120. data/lib/rubygems/tsort/LICENSE.txt +22 -0
  121. data/lib/rubygems/tsort/lib/tsort.rb +454 -0
  122. data/lib/rubygems/tsort.rb +3 -0
  123. data/lib/rubygems/user_interaction.rb +1 -1
  124. data/lib/rubygems/util/licenses.rb +2 -0
  125. data/lib/rubygems/util.rb +1 -1
  126. data/lib/rubygems/version_option.rb +2 -2
  127. data/lib/rubygems.rb +18 -18
  128. data/rubygems-update.gemspec +1 -1
  129. data/test/rubygems/encrypted_private_key.pem +26 -26
  130. data/test/rubygems/helper.rb +32 -44
  131. data/test/rubygems/private_ec_key.pem +9 -0
  132. data/test/rubygems/test_gem.rb +59 -71
  133. data/test/rubygems/test_gem_command.rb +1 -1
  134. data/test/rubygems/test_gem_commands_cert_command.rb +71 -12
  135. data/test/rubygems/test_gem_commands_fetch_command.rb +36 -0
  136. data/test/rubygems/test_gem_commands_server_command.rb +3 -3
  137. data/test/rubygems/test_gem_commands_setup_command.rb +50 -19
  138. data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
  139. data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -1
  140. data/test/rubygems/test_gem_commands_yank_command.rb +1 -1
  141. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +7 -3
  142. data/test/rubygems/test_gem_install_update_options.rb +2 -2
  143. data/test/rubygems/test_gem_package.rb +27 -26
  144. data/test/rubygems/test_gem_request.rb +10 -4
  145. data/test/rubygems/test_gem_resolver.rb +7 -7
  146. data/test/rubygems/test_gem_security.rb +32 -4
  147. data/test/rubygems/test_gem_source_fetch_problem.rb +10 -0
  148. data/test/rubygems/test_gem_specification.rb +225 -232
  149. data/test/rubygems/test_require.rb +6 -4
  150. metadata +34 -7
  151. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef3b3d5da1e7cb11b95714c00fa4e0b0026112870503550c694d5c502dab5339
4
- data.tar.gz: 7ec21881232ed07b1061a4570f5af5e80246f74cd20e8a27592f45c609c70f8d
3
+ metadata.gz: 87e453bd13f69a120fdadd84b3a57e16527b54f7283a5077d742eb218b634bfa
4
+ data.tar.gz: ce3cfe1c1c8a515e4904fdcddae871c2012b374aea224ce66ffdd92dfd007d8f
5
5
  SHA512:
6
- metadata.gz: 4806038e2893fd4957e02b09f6ed6289ec5759142c8ba3329500b5423aa4d1e6dddeb3f2f218667bfd17791b886f0a7d436b465795368217d9ee7e94d0e4479f
7
- data.tar.gz: 680548baf911d819513df953d56005d4bf59f903d5a37dc0fb24eb057f5e0cf7bcf77cad9821efb9962f95c13353f0858538ddc1ebc5844f31f8237d83e48c4b
6
+ metadata.gz: 57fe0ccc4919643d63c6bf2016458924af17d3ec8aab9ddca552781aceebe44bfc8ac350a20e8323265ef6d3e943c4399bf0ccd280cdc000fbe4be9acdfa1a0a
7
+ data.tar.gz: c354269b3a4e084d76ada0c3547cf2890aaa989554a4011f51654cea114677ccf76c5944ea669c93b9ad7dc09d9b533d51ade69f96f167aadd372311bc208bac
data/CHANGELOG.md CHANGED
@@ -1,3 +1,68 @@
1
+ # 3.2.32 / 2021-11-23
2
+
3
+ ## Enhancements:
4
+
5
+ * Refactor installer thread safety protections. Pull request #5050 by
6
+ deivid-rodriguez
7
+ * Allow gem activation from `operating_system.rb`. Pull request #5044 by
8
+ deivid-rodriguez
9
+ * Installs bundler 2.2.32 as a default gem.
10
+
11
+ # 3.2.31 / 2021-11-08
12
+
13
+ ## Enhancements:
14
+
15
+ * Don't pass empty `DESTDIR` to `nmake` since it works differently from
16
+ standard `make`. Pull request #5057 by hsbt
17
+ * Fix `gem install` vs `gem fetch` inconsistency. Pull request #5037 by
18
+ deivid-rodriguez
19
+ * Lazily load and vendor `optparse`. Pull request #4881 by
20
+ deivid-rodriguez
21
+ * Use a vendored copy of `tsort` internally. Pull request #5027 by
22
+ deivid-rodriguez
23
+
24
+ ## Bug fixes:
25
+
26
+ * Fix `ruby setup.rb` when `--prefix` is passed. Pull request #5051 by
27
+ deivid-rodriguez
28
+ * Don't apply `--destdir` twice when running `setup.rb`. Pull request
29
+ #2768 by alyssais
30
+
31
+ # 3.2.30 / 2021-10-26
32
+
33
+ ## Enhancements:
34
+
35
+ * Add support to build and sign certificates with multiple key algorithms.
36
+ Pull request #4991 by doodzik
37
+ * Avoid loading the `digest` gem unnecessarily. Pull request #4979 by
38
+ deivid-rodriguez
39
+ * Prefer `require_relative` for all internal requires. Pull request #4978
40
+ by deivid-rodriguez
41
+ * Add missing `require` of `time` within
42
+ `Gem::Request.verify_certificate_message`. Pull request #4975 by nobu
43
+
44
+ ## Performance:
45
+
46
+ * Speed up `gem install`, specially under Windows. Pull request #4960 by
47
+ deivid-rodriguez
48
+
49
+ # 3.2.29 / 2021-10-08
50
+
51
+ ## Enhancements:
52
+
53
+ * Only disallow FIXME/TODO for first word of gemspec description. Pull
54
+ request #4937 by duckinator
55
+
56
+ ## Bug fixes:
57
+
58
+ * Fix `wordy` method in `SourceFetchProblem` changing the password of
59
+ source. Pull request #4910 by Huangxiaodui
60
+
61
+ ## Performance:
62
+
63
+ * Improve `require` performance, particularly on systems with a lot of
64
+ gems installed. Pull request #4951 by pocke
65
+
1
66
  # 3.2.28 / 2021-09-23
2
67
 
3
68
  ## Enhancements:
data/Manifest.txt CHANGED
@@ -60,6 +60,7 @@ bundler/lib/bundler/dep_proxy.rb
60
60
  bundler/lib/bundler/dependency.rb
61
61
  bundler/lib/bundler/deployment.rb
62
62
  bundler/lib/bundler/deprecate.rb
63
+ bundler/lib/bundler/digest.rb
63
64
  bundler/lib/bundler/dsl.rb
64
65
  bundler/lib/bundler/endpoint_specification.rb
65
66
  bundler/lib/bundler/env.rb
@@ -213,6 +214,7 @@ bundler/lib/bundler/templates/newgem/rspec.tt
213
214
  bundler/lib/bundler/templates/newgem/rubocop.yml.tt
214
215
  bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt
215
216
  bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt
217
+ bundler/lib/bundler/templates/newgem/standard.yml.tt
216
218
  bundler/lib/bundler/templates/newgem/test/minitest/newgem_test.rb.tt
217
219
  bundler/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt
218
220
  bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt
@@ -223,11 +225,14 @@ bundler/lib/bundler/ui/rg_proxy.rb
223
225
  bundler/lib/bundler/ui/shell.rb
224
226
  bundler/lib/bundler/ui/silent.rb
225
227
  bundler/lib/bundler/uri_credentials_filter.rb
228
+ bundler/lib/bundler/vendor/connection_pool/LICENSE
226
229
  bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb
227
- bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb
228
230
  bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb
229
231
  bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb
232
+ bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb
233
+ bundler/lib/bundler/vendor/fileutils/LICENSE.txt
230
234
  bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb
235
+ bundler/lib/bundler/vendor/molinillo/LICENSE
231
236
  bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb
232
237
  bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
233
238
  bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
@@ -248,10 +253,12 @@ bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb
248
253
  bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
249
254
  bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb
250
255
  bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb
256
+ bundler/lib/bundler/vendor/net-http-persistent/README.rdoc
251
257
  bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
252
258
  bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb
253
259
  bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb
254
260
  bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb
261
+ bundler/lib/bundler/vendor/thor/LICENSE.md
255
262
  bundler/lib/bundler/vendor/thor/lib/thor.rb
256
263
  bundler/lib/bundler/vendor/thor/lib/thor/actions.rb
257
264
  bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb
@@ -284,6 +291,9 @@ bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb
284
291
  bundler/lib/bundler/vendor/thor/lib/thor/util.rb
285
292
  bundler/lib/bundler/vendor/thor/lib/thor/version.rb
286
293
  bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb
294
+ bundler/lib/bundler/vendor/tsort/LICENSE.txt
295
+ bundler/lib/bundler/vendor/tsort/lib/tsort.rb
296
+ bundler/lib/bundler/vendor/uri/LICENSE.txt
287
297
  bundler/lib/bundler/vendor/uri/lib/uri.rb
288
298
  bundler/lib/bundler/vendor/uri/lib/uri/common.rb
289
299
  bundler/lib/bundler/vendor/uri/lib/uri/file.rb
@@ -302,6 +312,7 @@ bundler/lib/bundler/vendored_molinillo.rb
302
312
  bundler/lib/bundler/vendored_persistent.rb
303
313
  bundler/lib/bundler/vendored_thor.rb
304
314
  bundler/lib/bundler/vendored_tmpdir.rb
315
+ bundler/lib/bundler/vendored_tsort.rb
305
316
  bundler/lib/bundler/vendored_uri.rb
306
317
  bundler/lib/bundler/version.rb
307
318
  bundler/lib/bundler/version_ranges.rb
@@ -383,6 +394,17 @@ lib/rubygems/local_remote_options.rb
383
394
  lib/rubygems/mock_gem_ui.rb
384
395
  lib/rubygems/name_tuple.rb
385
396
  lib/rubygems/openssl.rb
397
+ lib/rubygems/optparse.rb
398
+ lib/rubygems/optparse/COPYING
399
+ lib/rubygems/optparse/lib/optionparser.rb
400
+ lib/rubygems/optparse/lib/optparse.rb
401
+ lib/rubygems/optparse/lib/optparse/ac.rb
402
+ lib/rubygems/optparse/lib/optparse/date.rb
403
+ lib/rubygems/optparse/lib/optparse/kwargs.rb
404
+ lib/rubygems/optparse/lib/optparse/shellwords.rb
405
+ lib/rubygems/optparse/lib/optparse/time.rb
406
+ lib/rubygems/optparse/lib/optparse/uri.rb
407
+ lib/rubygems/optparse/lib/optparse/version.rb
386
408
  lib/rubygems/package.rb
387
409
  lib/rubygems/package/digest_io.rb
388
410
  lib/rubygems/package/file_source.rb
@@ -431,6 +453,7 @@ lib/rubygems/resolver/local_specification.rb
431
453
  lib/rubygems/resolver/lock_set.rb
432
454
  lib/rubygems/resolver/lock_specification.rb
433
455
  lib/rubygems/resolver/molinillo.rb
456
+ lib/rubygems/resolver/molinillo/LICENSE
434
457
  lib/rubygems/resolver/molinillo/lib/molinillo.rb
435
458
  lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb
436
459
  lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb
@@ -484,6 +507,9 @@ lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem
484
507
  lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
485
508
  lib/rubygems/stub_specification.rb
486
509
  lib/rubygems/text.rb
510
+ lib/rubygems/tsort.rb
511
+ lib/rubygems/tsort/LICENSE.txt
512
+ lib/rubygems/tsort/lib/tsort.rb
487
513
  lib/rubygems/uninstaller.rb
488
514
  lib/rubygems/uri.rb
489
515
  lib/rubygems/uri_formatter.rb
@@ -539,6 +565,7 @@ test/rubygems/plugin/exception/rubygems_plugin.rb
539
565
  test/rubygems/plugin/load/rubygems_plugin.rb
540
566
  test/rubygems/plugin/standarderror/rubygems_plugin.rb
541
567
  test/rubygems/private3072_key.pem
568
+ test/rubygems/private_ec_key.pem
542
569
  test/rubygems/private_key.pem
543
570
  test/rubygems/public3072_cert.pem
544
571
  test/rubygems/public_cert.pem
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,60 @@
1
+ # 2.2.32 (November 23, 2021)
2
+
3
+ ## Enhancements:
4
+
5
+ - Clarify `bundle viz` deprecation [#5083](https://github.com/rubygems/rubygems/pull/5083)
6
+ - Unlock dependencies that no longer match lockfile [#5068](https://github.com/rubygems/rubygems/pull/5068)
7
+ - Use `shellsplit` instead of array of strings for git push [#5062](https://github.com/rubygems/rubygems/pull/5062)
8
+ - Re-enable `default_ignores` option for standard [#5003](https://github.com/rubygems/rubygems/pull/5003)
9
+
10
+ ## Bug fixes:
11
+
12
+ - Fix downgrading dependencies by changing the `Gemfile` and running `bundle update` [#5078](https://github.com/rubygems/rubygems/pull/5078)
13
+
14
+ # 2.2.31 (November 8, 2021)
15
+
16
+ ## Enhancements:
17
+
18
+ - Link to working `bundler-graph` plugin in `bundle viz` deprecation message [#5061](https://github.com/rubygems/rubygems/pull/5061)
19
+ - Memoize materialized specs when requiring `bundler/setup` [#5033](https://github.com/rubygems/rubygems/pull/5033)
20
+ - Allow custom LicenseRef [#5013](https://github.com/rubygems/rubygems/pull/5013)
21
+ - Better error when installing a lockfile with git sources and git is not installed [#5036](https://github.com/rubygems/rubygems/pull/5036)
22
+ - Only delete cached gem when it's corrupted [#5031](https://github.com/rubygems/rubygems/pull/5031)
23
+ - Support gemified `tsort` [#5032](https://github.com/rubygems/rubygems/pull/5032)
24
+ - Add standard option alongside rubocop to `bundle gem` [#4411](https://github.com/rubygems/rubygems/pull/4411)
25
+
26
+ ## Bug fixes:
27
+
28
+ - Fix system man pages no longer working after bundler overrides `MANPATH` [#5039](https://github.com/rubygems/rubygems/pull/5039)
29
+ - Don't warn when a lockfile is locked to a dev version [#5018](https://github.com/rubygems/rubygems/pull/5018)
30
+
31
+ # 2.2.30 (October 26, 2021)
32
+
33
+ ## Enhancements:
34
+
35
+ - Add a custom SHA1 digest implementation to no longer depend on the digest gem before we know which version to activate [#4989](https://github.com/rubygems/rubygems/pull/4989)
36
+ - Ensure vendored gems have licenses [#4998](https://github.com/rubygems/rubygems/pull/4998)
37
+ - Update broken link in Bundler::Fetcher::CertificateFailureError [#4987](https://github.com/rubygems/rubygems/pull/4987)
38
+ - Give better errors for some permission issues [#4965](https://github.com/rubygems/rubygems/pull/4965)
39
+ - Print better errors when `bundler/gem_tasks` fail [#4872](https://github.com/rubygems/rubygems/pull/4872)
40
+ - Fix `bundle install` to reinstall deleted gems [#4974](https://github.com/rubygems/rubygems/pull/4974)
41
+ - Unify issue template and ISSUES.md document [#4980](https://github.com/rubygems/rubygems/pull/4980)
42
+ - Bump vendored connection_pool to 2.2.5 [#4738](https://github.com/rubygems/rubygems/pull/4738)
43
+
44
+ ## Bug fixes:
45
+
46
+ - Fix error message pointing to non existing file when using a global gem cache [#4999](https://github.com/rubygems/rubygems/pull/4999)
47
+ - Fix install crash when lockfile has missing dependencies for the current platform [#4941](https://github.com/rubygems/rubygems/pull/4941)
48
+ - Make `bundle info` show a proper warning every time it finds a deleted gem [#4971](https://github.com/rubygems/rubygems/pull/4971)
49
+
50
+ # 2.2.29 (October 8, 2021)
51
+
52
+ ## Enhancements:
53
+
54
+ - Require at least Ruby 2.6.0 for gems created with recent rubies [#4920](https://github.com/rubygems/rubygems/pull/4920)
55
+ - Include glob information in string representation of git sources to make generated lockfiles deterministic [#4947](https://github.com/rubygems/rubygems/pull/4947)
56
+ - Add missing `rubygem_push` prerequisite [#4930](https://github.com/rubygems/rubygems/pull/4930)
57
+
1
58
  # 2.2.28 (September 23, 2021)
2
59
 
3
60
  ## Enhancements:
@@ -99,7 +156,7 @@
99
156
  - Fix `bundle doctor` crashing when finding a broken symlink [#4707](https://github.com/rubygems/rubygems/pull/4707)
100
157
  - Fix incorrect re-resolve edge case [#4700](https://github.com/rubygems/rubygems/pull/4700)
101
158
  - Fix some gems being unintentionally locked under multiple lockfile sections [#4701](https://github.com/rubygems/rubygems/pull/4701)
102
- - Fix `--conservative` flag unexpectedly updating indirect dependencies [#4692](https://github.com/rubygems/rubygems/pull/4692)
159
+ - Fix `--conservative` flag unexpectedly updating indirect dependencies. NOTE: As part of this bug fix, some undocumented, unintentional code causing `bundle update --source <gem>` to update conservatively was fixed. Use the documented `bundle update --conservative <gem>` instead [#4692](https://github.com/rubygems/rubygems/pull/4692)
103
160
 
104
161
  # 2.2.21 (June 23, 2021)
105
162
 
data/bundler/README.md CHANGED
@@ -32,7 +32,7 @@ See [bundler.io](https://bundler.io) for the full documentation.
32
32
 
33
33
  For help with common problems, see [TROUBLESHOOTING](doc/TROUBLESHOOTING.md).
34
34
 
35
- Still stuck? Try [filing an issue](doc/contributing/ISSUES.md).
35
+ Still stuck? Try [filing an issue](https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md).
36
36
 
37
37
  ### Other questions
38
38
 
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2021-09-23".freeze
8
- @git_commit_sha = "99b72cbd55".freeze
7
+ @built_at = "2021-11-23".freeze
8
+ @git_commit_sha = "20d4957649".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -68,7 +68,7 @@ module Bundler
68
68
  :bundler_version => bundler_dependency_version,
69
69
  :git => use_git,
70
70
  :github_username => github_username.empty? ? "[USERNAME]" : github_username,
71
- :required_ruby_version => Gem.ruby_version < Gem::Version.new("2.4.a") ? "2.3.0" : "2.4.0",
71
+ :required_ruby_version => required_ruby_version,
72
72
  }
73
73
  ensure_safe_gem_name(name, constant_array)
74
74
 
@@ -163,15 +163,16 @@ module Bundler
163
163
  templates.merge!("CHANGELOG.md.tt" => "CHANGELOG.md")
164
164
  end
165
165
 
166
- if ask_and_set(:rubocop, "Do you want to add rubocop as a dependency for gems you generate?",
167
- "RuboCop is a static code analyzer that has out-of-the-box rules for many " \
168
- "of the guidelines in the community style guide. " \
169
- "For more information, see the RuboCop docs (https://docs.rubocop.org/en/stable/) " \
170
- "and the Ruby Style Guides (https://github.com/rubocop-hq/ruby-style-guide).")
171
- config[:rubocop] = true
172
- config[:rubocop_version] = Gem.ruby_version < Gem::Version.new("2.4.a") ? "0.81.0" : "1.7"
166
+ config[:linter] = ask_and_set_linter
167
+ case config[:linter]
168
+ when "rubocop"
169
+ config[:linter_version] = rubocop_version
173
170
  Bundler.ui.info "RuboCop enabled in config"
174
171
  templates.merge!("rubocop.yml.tt" => ".rubocop.yml")
172
+ when "standard"
173
+ config[:linter_version] = standard_version
174
+ Bundler.ui.info "Standard enabled in config"
175
+ templates.merge!("standard.yml.tt" => ".standard.yml")
175
176
  end
176
177
 
177
178
  templates.merge!("exe/newgem.tt" => "exe/#{name}") if config[:exe]
@@ -317,6 +318,58 @@ module Bundler
317
318
  ci_template
318
319
  end
319
320
 
321
+ def ask_and_set_linter
322
+ linter_template = options[:linter] || Bundler.settings["gem.linter"]
323
+ linter_template = deprecated_rubocop_option if linter_template.nil?
324
+
325
+ if linter_template.to_s.empty?
326
+ Bundler.ui.confirm "Do you want to add a code linter and formatter to your gem? " \
327
+ "Supported Linters:\n" \
328
+ "* RuboCop: https://rubocop.org\n" \
329
+ "* Standard: https://github.com/testdouble/standard\n" \
330
+ "\n"
331
+ Bundler.ui.info hint_text("linter")
332
+
333
+ result = Bundler.ui.ask "Enter a linter. rubocop/standard/(none):"
334
+ if result =~ /rubocop|standard/
335
+ linter_template = result
336
+ else
337
+ linter_template = false
338
+ end
339
+ end
340
+
341
+ if Bundler.settings["gem.linter"].nil?
342
+ Bundler.settings.set_global("gem.linter", linter_template)
343
+ end
344
+
345
+ # Once gem.linter safely set, unset the deprecated gem.rubocop
346
+ unless Bundler.settings["gem.rubocop"].nil?
347
+ Bundler.settings.set_global("gem.rubocop", nil)
348
+ end
349
+
350
+ if options[:linter] == Bundler.settings["gem.linter"]
351
+ Bundler.ui.info "#{options[:linter]} is already configured, ignoring --linter flag."
352
+ end
353
+
354
+ linter_template
355
+ end
356
+
357
+ def deprecated_rubocop_option
358
+ if !options[:rubocop].nil?
359
+ if options[:rubocop]
360
+ Bundler::SharedHelpers.major_deprecation 2, "--rubocop is deprecated, use --linter=rubocop"
361
+ "rubocop"
362
+ else
363
+ Bundler::SharedHelpers.major_deprecation 2, "--no-rubocop is deprecated, use --linter"
364
+ false
365
+ end
366
+ elsif !Bundler.settings["gem.rubocop"].nil?
367
+ Bundler::SharedHelpers.major_deprecation 2,
368
+ "config gem.rubocop is deprecated; we've updated your config to use gem.linter instead"
369
+ Bundler.settings["gem.rubocop"] ? "rubocop" : false
370
+ end
371
+ end
372
+
320
373
  def bundler_dependency_version
321
374
  v = Gem::Version.new(Bundler::VERSION)
322
375
  req = v.segments[0..1]
@@ -350,5 +403,30 @@ module Bundler
350
403
  def open_editor(editor, file)
351
404
  thor.run(%(#{editor} "#{file}"))
352
405
  end
406
+
407
+ def required_ruby_version
408
+ if Gem.ruby_version < Gem::Version.new("2.4.a") then "2.3.0"
409
+ elsif Gem.ruby_version < Gem::Version.new("2.5.a") then "2.4.0"
410
+ elsif Gem.ruby_version < Gem::Version.new("2.6.a") then "2.5.0"
411
+ else
412
+ "2.6.0"
413
+ end
414
+ end
415
+
416
+ def rubocop_version
417
+ if Gem.ruby_version < Gem::Version.new("2.4.a") then "0.81.0"
418
+ elsif Gem.ruby_version < Gem::Version.new("2.5.a") then "1.12"
419
+ else
420
+ "1.21"
421
+ end
422
+ end
423
+
424
+ def standard_version
425
+ if Gem.ruby_version < Gem::Version.new("2.4.a") then "0.2.5"
426
+ elsif Gem.ruby_version < Gem::Version.new("2.5.a") then "1.0"
427
+ else
428
+ "1.3"
429
+ end
430
+ end
353
431
  end
354
432
  end
@@ -40,12 +40,13 @@ module Bundler
40
40
  end
41
41
 
42
42
  def print_gem_path(spec)
43
- if spec.name == "bundler"
43
+ name = spec.name
44
+ if name == "bundler"
44
45
  path = File.expand_path("../../../..", __FILE__)
45
46
  else
46
47
  path = spec.full_gem_path
47
- unless File.directory?(path)
48
- return Bundler.ui.warn "The gem #{gem_name} has been deleted. It was installed at: #{path}"
48
+ if spec.deleted_gem?
49
+ return Bundler.ui.warn "The gem #{name} has been deleted. It was installed at: #{path}"
49
50
  end
50
51
  end
51
52
 
@@ -54,8 +55,9 @@ module Bundler
54
55
 
55
56
  def print_gem_info(spec)
56
57
  metadata = spec.metadata
58
+ name = spec.name
57
59
  gem_info = String.new
58
- gem_info << " * #{spec.name} (#{spec.version}#{spec.git_version})\n"
60
+ gem_info << " * #{name} (#{spec.version}#{spec.git_version})\n"
59
61
  gem_info << "\tSummary: #{spec.summary}\n" if spec.summary
60
62
  gem_info << "\tHomepage: #{spec.homepage}\n" if spec.homepage
61
63
  gem_info << "\tDocumentation: #{metadata["documentation_uri"]}\n" if metadata.key?("documentation_uri")
@@ -67,6 +69,11 @@ module Bundler
67
69
  gem_info << "\tMailing List: #{metadata["mailing_list_uri"]}\n" if metadata.key?("mailing_list_uri")
68
70
  gem_info << "\tPath: #{spec.full_gem_path}\n"
69
71
  gem_info << "\tDefault Gem: yes" if spec.respond_to?(:default_gem?) && spec.default_gem?
72
+
73
+ if spec.deleted_gem?
74
+ return Bundler.ui.warn "The gem #{name} has been deleted. Gemspec information is still available though:\n#{gem_info}"
75
+ end
76
+
70
77
  Bundler.ui.info gem_info
71
78
  end
72
79
  end
@@ -20,9 +20,10 @@ module Bundler
20
20
 
21
21
  Hopefully the troubleshooting steps above resolved your problem! If things
22
22
  still aren't working the way you expect them to, please let us know so
23
- that we can diagnose and help fix the problem you're having. Please
24
- view the Filing Issues guide for more information:
25
- https://github.com/rubygems/rubygems/blob/master/bundler/doc/contributing/ISSUES.md
23
+ that we can diagnose and help fix the problem you're having, by filling
24
+ in the new issue form located at
25
+ https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md,
26
+ and copy and pasting the information below.
26
27
 
27
28
  EOS
28
29
 
@@ -552,7 +552,7 @@ module Bundler
552
552
  method_option :version, :type => :boolean, :default => false, :aliases => "-v", :desc => "Set to show each gem version."
553
553
  method_option :without, :type => :array, :default => [], :aliases => "-W", :banner => "GROUP[ GROUP...]", :desc => "Exclude gems that are part of the specified named group."
554
554
  def viz
555
- SharedHelpers.major_deprecation 2, "The `viz` command has been moved to the `bundle-viz` gem, see https://github.com/bundler/bundler-viz"
555
+ SharedHelpers.major_deprecation 2, "The `viz` command has been renamed to `graph` and moved to a plugin. See https://github.com/rubygems/bundler-graph"
556
556
  require_relative "cli/viz"
557
557
  Viz.new(options.dup).run
558
558
  end
@@ -575,6 +575,8 @@ module Bundler
575
575
  :desc => "Generate a test directory for your library, either rspec, minitest or test-unit. Set a default with `bundle config set --global gem.test (rspec|minitest|test-unit)`."
576
576
  method_option :ci, :type => :string, :lazy_default => Bundler.settings["gem.ci"] || "",
577
577
  :desc => "Generate CI configuration, either GitHub Actions, Travis CI, GitLab CI or CircleCI. Set a default with `bundle config set --global gem.ci (github|travis|gitlab|circle)`"
578
+ method_option :linter, :type => :string, :lazy_default => Bundler.settings["gem.linter"] || "",
579
+ :desc => "Add a linter and code formatter, either RuboCop or Standard. Set a default with `bundle config set --global gem.linter (rubocop|standard)`"
578
580
  method_option :github_username, :type => :string, :default => Bundler.settings["gem.github_username"], :banner => "Set your username on GitHub", :desc => "Fill in GitHub username on README so that you don't have to do it manually. Set a default with `bundle config set --global gem.github_username <your_username>`."
579
581
 
580
582
  def gem(name)
@@ -5,7 +5,7 @@ require "set"
5
5
 
6
6
  module Bundler
7
7
  class CompactIndexClient
8
- DEBUG_MUTEX = Mutex.new
8
+ DEBUG_MUTEX = Thread::Mutex.new
9
9
  def self.debug
10
10
  return unless ENV["DEBUG_COMPACT_INDEX"]
11
11
  DEBUG_MUTEX.synchronize { warn("[#{self}] #{yield}") }
@@ -25,7 +25,7 @@ module Bundler
25
25
  @endpoints = Set.new
26
26
  @info_checksums_by_name = {}
27
27
  @parsed_checksums = false
28
- @mutex = Mutex.new
28
+ @mutex = Thread::Mutex.new
29
29
  end
30
30
 
31
31
  def execution_mode=(block)