rubygems-update 3.5.4 → 3.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -1
  3. data/Manifest.txt +77 -60
  4. data/POLICIES.md +5 -5
  5. data/bundler/CHANGELOG.md +27 -1
  6. data/bundler/lib/bundler/build_metadata.rb +2 -2
  7. data/bundler/lib/bundler/cli/gem.rb +1 -1
  8. data/bundler/lib/bundler/cli/lock.rb +5 -4
  9. data/bundler/lib/bundler/cli.rb +1 -1
  10. data/bundler/lib/bundler/compact_index_client/updater.rb +4 -4
  11. data/bundler/lib/bundler/definition.rb +54 -28
  12. data/bundler/lib/bundler/dsl.rb +7 -7
  13. data/bundler/lib/bundler/environment_preserver.rb +3 -3
  14. data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
  15. data/bundler/lib/bundler/fetcher.rb +2 -2
  16. data/bundler/lib/bundler/injector.rb +1 -1
  17. data/bundler/lib/bundler/installer.rb +2 -2
  18. data/bundler/lib/bundler/man/bundle-config.1 +2 -2
  19. data/bundler/lib/bundler/man/bundle-config.1.ronn +2 -2
  20. data/bundler/lib/bundler/mirror.rb +3 -3
  21. data/bundler/lib/bundler/plugin/api/source.rb +2 -2
  22. data/bundler/lib/bundler/runtime.rb +1 -1
  23. data/bundler/lib/bundler/settings.rb +4 -4
  24. data/bundler/lib/bundler/source/git/git_proxy.rb +1 -1
  25. data/bundler/lib/bundler/source/git.rb +1 -1
  26. data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
  27. data/bundler/lib/bundler/source/rubygems.rb +2 -2
  28. data/bundler/lib/bundler/spec_set.rb +1 -1
  29. data/bundler/lib/bundler/uri_credentials_filter.rb +2 -2
  30. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +22 -22
  31. data/bundler/lib/bundler/vendored_uri.rb +18 -1
  32. data/bundler/lib/bundler/version.rb +1 -1
  33. data/bundler/lib/bundler/yaml_serializer.rb +12 -0
  34. data/bundler/lib/bundler.rb +3 -2
  35. data/lib/rubygems/commands/sources_command.rb +2 -2
  36. data/lib/rubygems/core_ext/kernel_require.rb +11 -2
  37. data/lib/rubygems/defaults.rb +1 -1
  38. data/lib/rubygems/gemcutter_utilities/webauthn_listener.rb +1 -1
  39. data/lib/rubygems/gemcutter_utilities.rb +39 -22
  40. data/lib/rubygems/local_remote_options.rb +6 -6
  41. data/lib/rubygems/net/http.rb +1 -1
  42. data/lib/rubygems/optparse.rb +1 -1
  43. data/lib/rubygems/remote_fetcher.rb +2 -2
  44. data/lib/rubygems/request.rb +4 -4
  45. data/lib/rubygems/requirement.rb +5 -0
  46. data/lib/rubygems/resolver/api_set.rb +1 -1
  47. data/lib/rubygems/resolver/best_set.rb +1 -1
  48. data/lib/rubygems/resolver.rb +5 -5
  49. data/lib/rubygems/s3_uri_signer.rb +2 -2
  50. data/lib/rubygems/source/git.rb +2 -2
  51. data/lib/rubygems/source_list.rb +1 -1
  52. data/lib/rubygems/specification.rb +6 -6
  53. data/lib/rubygems/specification_policy.rb +6 -6
  54. data/lib/rubygems/timeout.rb +1 -1
  55. data/lib/rubygems/tsort.rb +1 -1
  56. data/lib/rubygems/uri.rb +6 -6
  57. data/lib/rubygems/util.rb +1 -1
  58. data/lib/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  59. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/delegates/specification_provider.rb +11 -11
  60. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/action.rb +1 -1
  61. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
  62. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
  63. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
  64. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
  65. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/log.rb +1 -1
  66. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
  67. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -1
  68. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph/vertex.rb +1 -1
  69. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/dependency_graph.rb +1 -1
  70. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/errors.rb +1 -1
  71. data/lib/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  72. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/modules/specification_provider.rb +2 -2
  73. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/modules/ui.rb +1 -1
  74. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/resolution.rb +3 -3
  75. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/resolver.rb +1 -1
  76. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo/state.rb +1 -1
  77. data/lib/rubygems/{resolver → vendor}/molinillo/lib/molinillo.rb +2 -2
  78. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/generic_request.rb +9 -9
  79. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/header.rb +2 -2
  80. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/request.rb +3 -3
  81. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/requests.rb +30 -30
  82. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/response.rb +2 -2
  83. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/responses.rb +6 -6
  84. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/status.rb +1 -1
  85. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http.rb +15 -15
  86. data/lib/rubygems/{net-http → vendor/net-http}/lib/net/https.rb +1 -1
  87. data/lib/rubygems/vendor/optparse/lib/optparse/uri.rb +7 -0
  88. data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse.rb +11 -11
  89. data/lib/rubygems/{timeout → vendor/timeout}/lib/timeout.rb +1 -1
  90. data/lib/rubygems/{tsort → vendor/tsort}/lib/tsort.rb +2 -2
  91. data/lib/rubygems/vendor/uri/.document +1 -0
  92. data/lib/rubygems/vendor/uri/LICENSE.txt +22 -0
  93. data/lib/rubygems/vendor/uri/lib/uri/common.rb +853 -0
  94. data/lib/rubygems/vendor/uri/lib/uri/file.rb +100 -0
  95. data/lib/rubygems/vendor/uri/lib/uri/ftp.rb +267 -0
  96. data/lib/rubygems/vendor/uri/lib/uri/generic.rb +1588 -0
  97. data/lib/rubygems/vendor/uri/lib/uri/http.rb +125 -0
  98. data/lib/rubygems/vendor/uri/lib/uri/https.rb +23 -0
  99. data/lib/rubygems/vendor/uri/lib/uri/ldap.rb +261 -0
  100. data/lib/rubygems/vendor/uri/lib/uri/ldaps.rb +22 -0
  101. data/lib/rubygems/vendor/uri/lib/uri/mailto.rb +293 -0
  102. data/lib/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +539 -0
  103. data/lib/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +183 -0
  104. data/lib/rubygems/vendor/uri/lib/uri/version.rb +6 -0
  105. data/lib/rubygems/vendor/uri/lib/uri/ws.rb +83 -0
  106. data/lib/rubygems/vendor/uri/lib/uri/wss.rb +23 -0
  107. data/lib/rubygems/vendor/uri/lib/uri.rb +104 -0
  108. data/lib/rubygems/vendored_molinillo.rb +3 -0
  109. data/lib/rubygems/yaml_serializer.rb +12 -0
  110. data/lib/rubygems.rb +8 -1
  111. data/rubygems-update.gemspec +7 -2
  112. metadata +83 -63
  113. data/lib/rubygems/optparse/lib/optparse/uri.rb +0 -7
  114. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  115. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  116. data/lib/rubygems/resolver/molinillo.rb +0 -3
  117. /data/lib/rubygems/{net-http → vendor/molinillo}/.document +0 -0
  118. /data/lib/rubygems/{resolver → vendor}/molinillo/LICENSE +0 -0
  119. /data/lib/rubygems/{net-protocol → vendor/net-http}/.document +0 -0
  120. /data/lib/rubygems/{net-http → vendor/net-http}/LICENSE.txt +0 -0
  121. /data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/backward.rb +0 -0
  122. /data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/exceptions.rb +0 -0
  123. /data/lib/rubygems/{net-http → vendor/net-http}/lib/net/http/proxy_delta.rb +0 -0
  124. /data/lib/rubygems/{optparse → vendor/net-protocol}/.document +0 -0
  125. /data/lib/rubygems/{net-protocol → vendor/net-protocol}/LICENSE.txt +0 -0
  126. /data/lib/rubygems/{net-protocol → vendor/net-protocol}/lib/net/protocol.rb +0 -0
  127. /data/lib/rubygems/{resolv → vendor/optparse}/.document +0 -0
  128. /data/lib/rubygems/{optparse → vendor/optparse}/COPYING +0 -0
  129. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optionparser.rb +0 -0
  130. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/ac.rb +0 -0
  131. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/date.rb +0 -0
  132. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/kwargs.rb +0 -0
  133. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/shellwords.rb +0 -0
  134. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/time.rb +0 -0
  135. /data/lib/rubygems/{optparse → vendor/optparse}/lib/optparse/version.rb +0 -0
  136. /data/lib/rubygems/{resolver/molinillo → vendor/resolv}/.document +0 -0
  137. /data/lib/rubygems/{resolv → vendor/resolv}/LICENSE.txt +0 -0
  138. /data/lib/rubygems/{resolv → vendor/resolv}/lib/resolv.rb +0 -0
  139. /data/lib/rubygems/{timeout → vendor/timeout}/.document +0 -0
  140. /data/lib/rubygems/{timeout → vendor/timeout}/LICENSE.txt +0 -0
  141. /data/lib/rubygems/{tsort → vendor/tsort}/.document +0 -0
  142. /data/lib/rubygems/{tsort → vendor/tsort}/LICENSE.txt +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4cb7b6f7687a1507b8536010f6eed4228f0e940ba642a684070d9e5b7676813b
4
- data.tar.gz: df18b884768e1c6ce0b9566cee7df79dba8f07b40bb7798b109e4c2834b6991b
3
+ metadata.gz: 441d0ff90372c26b0c6ecb291af1dffa910597060b81e655cd17fdd0f28f0fac
4
+ data.tar.gz: bd7079f9e2f60401c275254d5418986baadc1578788cfb4ed20dd9c163d00df7
5
5
  SHA512:
6
- metadata.gz: 660660053dd83e660146422b033644d7ecf5f8ba13fb38995d37248979ef8c259aad042b9b9f741b0a5cf405bea117e86e5e7ef30c7d1db76f0de3b1d9fe2e59
7
- data.tar.gz: b6036f05191c48ca663ea87e3e5f142f60da79f97d2adaba0796f30de65be4bdf039ccd122433a5ae5ba161f6df2e436cd2627c8a65107049b7ea0fc9bce5f1e
6
+ metadata.gz: 58c8b6329079a1a2b8849fd17167e31fd7bb9dc255b226489db1be189ec245b004bc49bd58e6e336608260c24e88a40003e903b35445d3b8f5bf546be2e06a92
7
+ data.tar.gz: a4154c7e57d48f9c88e25ef975340b49b51195455ae1548285439bc0fd776019f3c4d250f170b743cfe83ac4132b2165f39d528bbd73470c65008792ac092fea
data/CHANGELOG.md CHANGED
@@ -1,4 +1,51 @@
1
- # 3.5.4 / 2024-01-03
1
+ # 3.5.6 / 2024-02-06
2
+
3
+ ## Enhancements:
4
+
5
+ * Deep copy requirements in `Gem::Specification` and `Gem::Requirement`.
6
+ Pull request [#7439](https://github.com/rubygems/rubygems/pull/7439) by
7
+ flavorjones
8
+ * Change gem login message to clear up that username can be also used.
9
+ Pull request [#7422](https://github.com/rubygems/rubygems/pull/7422) by
10
+ VitaliySerov
11
+ * Add metadata for rubygems.org. Pull request
12
+ [#7435](https://github.com/rubygems/rubygems/pull/7435) by m-nakamura145
13
+ * Improve gem login scope selection. Pull request
14
+ [#7342](https://github.com/rubygems/rubygems/pull/7342) by williantenfen
15
+ * Vendor uri in RubyGems. Pull request
16
+ [#7386](https://github.com/rubygems/rubygems/pull/7386) by
17
+ deivid-rodriguez
18
+ * Installs bundler 2.5.6 as a default gem.
19
+
20
+ ## Bug fixes:
21
+
22
+ * Skip to load commented out words. Pull request
23
+ [#7413](https://github.com/rubygems/rubygems/pull/7413) by hsbt
24
+ * Fix rake runtime dependency warning for rake based extension. Pull
25
+ request [#7395](https://github.com/rubygems/rubygems/pull/7395) by ntkme
26
+
27
+ # 3.5.5 / 2024-01-18
28
+
29
+ ## Enhancements:
30
+
31
+ * Installs bundler 2.5.5 as a default gem.
32
+
33
+ ## Bug fixes:
34
+
35
+ * Fix `require` activation conflicts when requiring default gems under
36
+ some situations. Pull request
37
+ [#7379](https://github.com/rubygems/rubygems/pull/7379) by
38
+ deivid-rodriguez
39
+ * Use cache_home instead of data_home in default_spec_cache_dir. Pull
40
+ request [#7331](https://github.com/rubygems/rubygems/pull/7331) by mrkn
41
+
42
+ ## Documentation:
43
+
44
+ * Use squiggly heredocs in `Gem::Specification#description` documentation,
45
+ so it doesn't add leading whitespace. Pull request
46
+ [#7373](https://github.com/rubygems/rubygems/pull/7373) by bravehager
47
+
48
+ # 3.5.4 / 2024-01-04
2
49
 
3
50
  ## Enhancements:
4
51
 
data/Manifest.txt CHANGED
@@ -431,37 +431,9 @@ lib/rubygems/installer.rb
431
431
  lib/rubygems/installer_uninstaller_utils.rb
432
432
  lib/rubygems/local_remote_options.rb
433
433
  lib/rubygems/name_tuple.rb
434
- lib/rubygems/net-http/.document
435
- lib/rubygems/net-http/LICENSE.txt
436
- lib/rubygems/net-http/lib/net/http.rb
437
- lib/rubygems/net-http/lib/net/http/backward.rb
438
- lib/rubygems/net-http/lib/net/http/exceptions.rb
439
- lib/rubygems/net-http/lib/net/http/generic_request.rb
440
- lib/rubygems/net-http/lib/net/http/header.rb
441
- lib/rubygems/net-http/lib/net/http/proxy_delta.rb
442
- lib/rubygems/net-http/lib/net/http/request.rb
443
- lib/rubygems/net-http/lib/net/http/requests.rb
444
- lib/rubygems/net-http/lib/net/http/response.rb
445
- lib/rubygems/net-http/lib/net/http/responses.rb
446
- lib/rubygems/net-http/lib/net/http/status.rb
447
- lib/rubygems/net-http/lib/net/https.rb
448
- lib/rubygems/net-protocol/.document
449
- lib/rubygems/net-protocol/LICENSE.txt
450
- lib/rubygems/net-protocol/lib/net/protocol.rb
451
434
  lib/rubygems/net/http.rb
452
435
  lib/rubygems/openssl.rb
453
436
  lib/rubygems/optparse.rb
454
- lib/rubygems/optparse/.document
455
- lib/rubygems/optparse/COPYING
456
- lib/rubygems/optparse/lib/optionparser.rb
457
- lib/rubygems/optparse/lib/optparse.rb
458
- lib/rubygems/optparse/lib/optparse/ac.rb
459
- lib/rubygems/optparse/lib/optparse/date.rb
460
- lib/rubygems/optparse/lib/optparse/kwargs.rb
461
- lib/rubygems/optparse/lib/optparse/shellwords.rb
462
- lib/rubygems/optparse/lib/optparse/time.rb
463
- lib/rubygems/optparse/lib/optparse/uri.rb
464
- lib/rubygems/optparse/lib/optparse/version.rb
465
437
  lib/rubygems/package.rb
466
438
  lib/rubygems/package/digest_io.rb
467
439
  lib/rubygems/package/file_source.rb
@@ -489,9 +461,6 @@ lib/rubygems/request_set/lockfile.rb
489
461
  lib/rubygems/request_set/lockfile/parser.rb
490
462
  lib/rubygems/request_set/lockfile/tokenizer.rb
491
463
  lib/rubygems/requirement.rb
492
- lib/rubygems/resolv/.document
493
- lib/rubygems/resolv/LICENSE.txt
494
- lib/rubygems/resolv/lib/resolv.rb
495
464
  lib/rubygems/resolver.rb
496
465
  lib/rubygems/resolver/activation_request.rb
497
466
  lib/rubygems/resolver/api_set.rb
@@ -511,29 +480,6 @@ lib/rubygems/resolver/installer_set.rb
511
480
  lib/rubygems/resolver/local_specification.rb
512
481
  lib/rubygems/resolver/lock_set.rb
513
482
  lib/rubygems/resolver/lock_specification.rb
514
- lib/rubygems/resolver/molinillo.rb
515
- lib/rubygems/resolver/molinillo/.document
516
- lib/rubygems/resolver/molinillo/LICENSE
517
- lib/rubygems/resolver/molinillo/lib/molinillo.rb
518
- lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb
519
- lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb
520
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb
521
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb
522
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb
523
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb
524
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb
525
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
526
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb
527
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
528
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb
529
- lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb
530
- lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb
531
- lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb
532
- lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb
533
- lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb
534
- lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb
535
- lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb
536
- lib/rubygems/resolver/molinillo/lib/molinillo/state.rb
537
483
  lib/rubygems/resolver/requirement_list.rb
538
484
  lib/rubygems/resolver/set.rb
539
485
  lib/rubygems/resolver/source_set.rb
@@ -574,13 +520,7 @@ lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
574
520
  lib/rubygems/stub_specification.rb
575
521
  lib/rubygems/text.rb
576
522
  lib/rubygems/timeout.rb
577
- lib/rubygems/timeout/.document
578
- lib/rubygems/timeout/LICENSE.txt
579
- lib/rubygems/timeout/lib/timeout.rb
580
523
  lib/rubygems/tsort.rb
581
- lib/rubygems/tsort/.document
582
- lib/rubygems/tsort/LICENSE.txt
583
- lib/rubygems/tsort/lib/tsort.rb
584
524
  lib/rubygems/uninstaller.rb
585
525
  lib/rubygems/unknown_command_spell_checker.rb
586
526
  lib/rubygems/update_suggestion.rb
@@ -591,6 +531,83 @@ lib/rubygems/util.rb
591
531
  lib/rubygems/util/licenses.rb
592
532
  lib/rubygems/util/list.rb
593
533
  lib/rubygems/validator.rb
534
+ lib/rubygems/vendor/molinillo/.document
535
+ lib/rubygems/vendor/molinillo/LICENSE
536
+ lib/rubygems/vendor/molinillo/lib/molinillo.rb
537
+ lib/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
538
+ lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
539
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb
540
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/action.rb
541
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb
542
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb
543
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb
544
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
545
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/log.rb
546
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb
547
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb
548
+ lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb
549
+ lib/rubygems/vendor/molinillo/lib/molinillo/errors.rb
550
+ lib/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb
551
+ lib/rubygems/vendor/molinillo/lib/molinillo/modules/specification_provider.rb
552
+ lib/rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb
553
+ lib/rubygems/vendor/molinillo/lib/molinillo/resolution.rb
554
+ lib/rubygems/vendor/molinillo/lib/molinillo/resolver.rb
555
+ lib/rubygems/vendor/molinillo/lib/molinillo/state.rb
556
+ lib/rubygems/vendor/net-http/.document
557
+ lib/rubygems/vendor/net-http/LICENSE.txt
558
+ lib/rubygems/vendor/net-http/lib/net/http.rb
559
+ lib/rubygems/vendor/net-http/lib/net/http/backward.rb
560
+ lib/rubygems/vendor/net-http/lib/net/http/exceptions.rb
561
+ lib/rubygems/vendor/net-http/lib/net/http/generic_request.rb
562
+ lib/rubygems/vendor/net-http/lib/net/http/header.rb
563
+ lib/rubygems/vendor/net-http/lib/net/http/proxy_delta.rb
564
+ lib/rubygems/vendor/net-http/lib/net/http/request.rb
565
+ lib/rubygems/vendor/net-http/lib/net/http/requests.rb
566
+ lib/rubygems/vendor/net-http/lib/net/http/response.rb
567
+ lib/rubygems/vendor/net-http/lib/net/http/responses.rb
568
+ lib/rubygems/vendor/net-http/lib/net/http/status.rb
569
+ lib/rubygems/vendor/net-http/lib/net/https.rb
570
+ lib/rubygems/vendor/net-protocol/.document
571
+ lib/rubygems/vendor/net-protocol/LICENSE.txt
572
+ lib/rubygems/vendor/net-protocol/lib/net/protocol.rb
573
+ lib/rubygems/vendor/optparse/.document
574
+ lib/rubygems/vendor/optparse/COPYING
575
+ lib/rubygems/vendor/optparse/lib/optionparser.rb
576
+ lib/rubygems/vendor/optparse/lib/optparse.rb
577
+ lib/rubygems/vendor/optparse/lib/optparse/ac.rb
578
+ lib/rubygems/vendor/optparse/lib/optparse/date.rb
579
+ lib/rubygems/vendor/optparse/lib/optparse/kwargs.rb
580
+ lib/rubygems/vendor/optparse/lib/optparse/shellwords.rb
581
+ lib/rubygems/vendor/optparse/lib/optparse/time.rb
582
+ lib/rubygems/vendor/optparse/lib/optparse/uri.rb
583
+ lib/rubygems/vendor/optparse/lib/optparse/version.rb
584
+ lib/rubygems/vendor/resolv/.document
585
+ lib/rubygems/vendor/resolv/LICENSE.txt
586
+ lib/rubygems/vendor/resolv/lib/resolv.rb
587
+ lib/rubygems/vendor/timeout/.document
588
+ lib/rubygems/vendor/timeout/LICENSE.txt
589
+ lib/rubygems/vendor/timeout/lib/timeout.rb
590
+ lib/rubygems/vendor/tsort/.document
591
+ lib/rubygems/vendor/tsort/LICENSE.txt
592
+ lib/rubygems/vendor/tsort/lib/tsort.rb
593
+ lib/rubygems/vendor/uri/.document
594
+ lib/rubygems/vendor/uri/LICENSE.txt
595
+ lib/rubygems/vendor/uri/lib/uri.rb
596
+ lib/rubygems/vendor/uri/lib/uri/common.rb
597
+ lib/rubygems/vendor/uri/lib/uri/file.rb
598
+ lib/rubygems/vendor/uri/lib/uri/ftp.rb
599
+ lib/rubygems/vendor/uri/lib/uri/generic.rb
600
+ lib/rubygems/vendor/uri/lib/uri/http.rb
601
+ lib/rubygems/vendor/uri/lib/uri/https.rb
602
+ lib/rubygems/vendor/uri/lib/uri/ldap.rb
603
+ lib/rubygems/vendor/uri/lib/uri/ldaps.rb
604
+ lib/rubygems/vendor/uri/lib/uri/mailto.rb
605
+ lib/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb
606
+ lib/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb
607
+ lib/rubygems/vendor/uri/lib/uri/version.rb
608
+ lib/rubygems/vendor/uri/lib/uri/ws.rb
609
+ lib/rubygems/vendor/uri/lib/uri/wss.rb
610
+ lib/rubygems/vendored_molinillo.rb
594
611
  lib/rubygems/version.rb
595
612
  lib/rubygems/version_option.rb
596
613
  lib/rubygems/yaml_serializer.rb
data/POLICIES.md CHANGED
@@ -79,11 +79,11 @@ changelog.
79
79
  If PRs don't have a proper label, they won't be backported to patch releases.
80
80
 
81
81
  If you want a PR to be backported to a patch level release, but don't want to
82
- include it in the changelog, you can use the special `rubygems: backport` and
83
- `bundler: backport` labels. For example, this is useful when backporting a PR
84
- generates conflicts that are solved by backporting another PR with no user
85
- visible changes. You can use these special labels to also backport the other PR
86
- and not get any conflicts.
82
+ include it in the changelog, you can use the special `rubygems: skip changelog`
83
+ and `bundler: skip changelog` labels. For example, this is useful when
84
+ backporting a PR generates conflicts that are solved by backporting another PR
85
+ with no user visible changes. You can use these special labels to also backport
86
+ the other PR and not get any conflicts.
87
87
 
88
88
  ### Steps for patch releases
89
89
 
data/bundler/CHANGELOG.md CHANGED
@@ -1,4 +1,30 @@
1
- # 2.5.4 (January 3, 2024)
1
+ # 2.5.6 (February 6, 2024)
2
+
3
+ ## Deprecations:
4
+
5
+ - Refactor lockfile generation and deprecate `Definition#lock` with explicit lockfile [#7047](https://github.com/rubygems/rubygems/pull/7047)
6
+
7
+ ## Enhancements:
8
+
9
+ - Bump `required_ruby_version` to be used in `bundle gem` template [#7430](https://github.com/rubygems/rubygems/pull/7430)
10
+
11
+ ## Bug fixes:
12
+
13
+ - Fix musl platform not being added to the lockfile [#7441](https://github.com/rubygems/rubygems/pull/7441)
14
+ - Let `Bundler.with_original_env` properly restore env variables originally empty [#7383](https://github.com/rubygems/rubygems/pull/7383)
15
+
16
+ # 2.5.5 (January 18, 2024)
17
+
18
+ ## Bug fixes:
19
+
20
+ - Fix development dependency not being added if introduced by two gemspecs [#7358](https://github.com/rubygems/rubygems/pull/7358)
21
+ - Fix ETag quoting regression in If-None-Match header of compact index request [#7352](https://github.com/rubygems/rubygems/pull/7352)
22
+
23
+ ## Documentation:
24
+
25
+ - Refer to underscores as underscores [#7364](https://github.com/rubygems/rubygems/pull/7364)
26
+
27
+ # 2.5.4 (January 4, 2024)
2
28
 
3
29
  ## Bug fixes:
4
30
 
@@ -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 = "2024-01-04".freeze
8
- @git_commit_sha = "7ffda9ba9b".freeze
7
+ @built_at = "2024-02-06".freeze
8
+ @git_commit_sha = "7ac045dcaa".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -437,7 +437,7 @@ module Bundler
437
437
  end
438
438
 
439
439
  def required_ruby_version
440
- "2.6.0"
440
+ "3.0.0"
441
441
  end
442
442
 
443
443
  def rubocop_version
@@ -33,8 +33,11 @@ module Bundler
33
33
  update = { bundler: bundler }
34
34
  end
35
35
 
36
+ file = options[:lockfile]
37
+ file = file ? Pathname.new(file).expand_path : Bundler.default_lockfile
38
+
36
39
  Bundler.settings.temporary(frozen: false) do
37
- definition = Bundler.definition(update)
40
+ definition = Bundler.definition(update, file)
38
41
 
39
42
  Bundler::CLI::Common.configure_gem_version_promoter(definition, options) if options[:update]
40
43
 
@@ -60,10 +63,8 @@ module Bundler
60
63
  if print
61
64
  puts definition.to_lock
62
65
  else
63
- file = options[:lockfile]
64
- file = file ? File.expand_path(file) : Bundler.default_lockfile
65
66
  puts "Writing lockfile to #{file}"
66
- definition.lock(file)
67
+ definition.lock
67
68
  end
68
69
  end
69
70
 
@@ -785,7 +785,7 @@ module Bundler
785
785
  return unless SharedHelpers.md5_available?
786
786
 
787
787
  latest = Fetcher::CompactIndex.
788
- new(nil, Source::Rubygems::Remote.new(Bundler::URI("https://rubygems.org")), nil, nil).
788
+ new(nil, Source::Rubygems::Remote.new(Gem::URI("https://rubygems.org")), nil, nil).
789
789
  send(:compact_index_client).
790
790
  instance_variable_get(:@cache).
791
791
  dependencies("bundler").
@@ -42,7 +42,7 @@ module Bundler
42
42
  else
43
43
  file.write(response.body)
44
44
  end
45
- CacheFile.write(etag_path, etag(response))
45
+ CacheFile.write(etag_path, etag_from_response(response))
46
46
  true
47
47
  end
48
48
  end
@@ -53,13 +53,13 @@ module Bundler
53
53
  response = @fetcher.call(remote_path, request_headers(etag))
54
54
  return true if response.is_a?(Gem::Net::HTTPNotModified)
55
55
  CacheFile.write(local_path, response.body, parse_digests(response))
56
- CacheFile.write(etag_path, etag(response))
56
+ CacheFile.write(etag_path, etag_from_response(response))
57
57
  end
58
58
 
59
59
  def request_headers(etag, range_start = nil)
60
60
  headers = {}
61
61
  headers["Range"] = "bytes=#{range_start}-" if range_start
62
- headers["If-None-Match"] = etag if etag
62
+ headers["If-None-Match"] = %("#{etag}") if etag
63
63
  headers
64
64
  end
65
65
 
@@ -77,7 +77,7 @@ module Bundler
77
77
  etag
78
78
  end
79
79
 
80
- def etag(response)
80
+ def etag_from_response(response)
81
81
  return unless response["ETag"]
82
82
  etag = response["ETag"].delete_prefix("W/")
83
83
  return if etag.delete_prefix!('"') && !etag.delete_suffix!('"')
@@ -320,38 +320,26 @@ module Bundler
320
320
  dependencies.map(&:groups).flatten.uniq
321
321
  end
322
322
 
323
- def lock(file, preserve_unknown_sections = false)
324
- return if Definition.no_lock
325
-
326
- contents = to_lock
327
-
328
- # Convert to \r\n if the existing lock has them
329
- # i.e., Windows with `git config core.autocrlf=true`
330
- contents.gsub!(/\n/, "\r\n") if @lockfile_contents.match?("\r\n")
331
-
332
- if @locked_bundler_version
333
- locked_major = @locked_bundler_version.segments.first
334
- current_major = bundler_version_to_lock.segments.first
335
-
336
- updating_major = locked_major < current_major
337
- end
323
+ def lock(file_or_preserve_unknown_sections = false, preserve_unknown_sections_or_unused = false)
324
+ if [true, false, nil].include?(file_or_preserve_unknown_sections)
325
+ target_lockfile = lockfile || Bundler.default_lockfile
326
+ preserve_unknown_sections = file_or_preserve_unknown_sections
327
+ else
328
+ target_lockfile = file_or_preserve_unknown_sections
329
+ preserve_unknown_sections = preserve_unknown_sections_or_unused
338
330
 
339
- preserve_unknown_sections ||= !updating_major && (Bundler.frozen_bundle? || !(unlocking? || @unlocking_bundler))
331
+ suggestion = if target_lockfile == lockfile
332
+ "To fix this warning, remove it from the `Definition#lock` call."
333
+ else
334
+ "Instead, instantiate a new definition passing `#{target_lockfile}`, and call `lock` without a file argument on that definition"
335
+ end
340
336
 
341
- if file && File.exist?(file) && lockfiles_equal?(@lockfile_contents, contents, preserve_unknown_sections)
342
- return if Bundler.frozen_bundle?
343
- SharedHelpers.filesystem_access(file) { FileUtils.touch(file) }
344
- return
345
- end
337
+ msg = "`Definition#lock` was passed a target file argument. #{suggestion}"
346
338
 
347
- if Bundler.frozen_bundle?
348
- Bundler.ui.error "Cannot write a changed lockfile while frozen."
349
- return
339
+ Bundler::SharedHelpers.major_deprecation 2, msg
350
340
  end
351
341
 
352
- SharedHelpers.filesystem_access(file) do |p|
353
- File.open(p, "wb") {|f| f.puts(contents) }
354
- end
342
+ write_lock(target_lockfile, preserve_unknown_sections)
355
343
  end
356
344
 
357
345
  def locked_ruby_version
@@ -518,7 +506,45 @@ module Bundler
518
506
  end
519
507
 
520
508
  def lockfile_exists?
521
- lockfile && File.exist?(lockfile)
509
+ file_exists?(lockfile)
510
+ end
511
+
512
+ def file_exists?(file)
513
+ file && File.exist?(file)
514
+ end
515
+
516
+ def write_lock(file, preserve_unknown_sections)
517
+ return if Definition.no_lock
518
+
519
+ contents = to_lock
520
+
521
+ # Convert to \r\n if the existing lock has them
522
+ # i.e., Windows with `git config core.autocrlf=true`
523
+ contents.gsub!(/\n/, "\r\n") if @lockfile_contents.match?("\r\n")
524
+
525
+ if @locked_bundler_version
526
+ locked_major = @locked_bundler_version.segments.first
527
+ current_major = bundler_version_to_lock.segments.first
528
+
529
+ updating_major = locked_major < current_major
530
+ end
531
+
532
+ preserve_unknown_sections ||= !updating_major && (Bundler.frozen_bundle? || !(unlocking? || @unlocking_bundler))
533
+
534
+ if file_exists?(file) && lockfiles_equal?(@lockfile_contents, contents, preserve_unknown_sections)
535
+ return if Bundler.frozen_bundle?
536
+ SharedHelpers.filesystem_access(file) { FileUtils.touch(file) }
537
+ return
538
+ end
539
+
540
+ if Bundler.frozen_bundle?
541
+ Bundler.ui.error "Cannot write a changed lockfile while frozen."
542
+ return
543
+ end
544
+
545
+ SharedHelpers.filesystem_access(file) do |p|
546
+ File.open(p, "wb") {|f| f.puts(contents) }
547
+ end
522
548
  end
523
549
 
524
550
  def resolver
@@ -102,9 +102,6 @@ module Bundler
102
102
 
103
103
  # if there's already a dependency with this name we try to prefer one
104
104
  if current = @dependencies.find {|d| d.name == dep.name }
105
- # Always prefer the dependency from the Gemfile
106
- @dependencies.delete(current) if current.gemspec_dev_dep?
107
-
108
105
  if current.requirement != dep.requirement
109
106
  current_requirement_open = current.requirements_list.include?(">= 0")
110
107
 
@@ -116,8 +113,6 @@ module Bundler
116
113
  Bundler.ui.warn "A gemspec development dependency (#{gemspec_dep.name}, #{gemspec_dep.requirement}) is being overridden by a Gemfile dependency (#{gemfile_dep.name}, #{gemfile_dep.requirement}).\n" \
117
114
  "This behaviour may change in the future. Please remove either of them, or make sure they both have the same requirement\n"
118
115
  end
119
-
120
- return if dep.gemspec_dev_dep?
121
116
  else
122
117
  update_prompt = ""
123
118
 
@@ -135,8 +130,13 @@ module Bundler
135
130
  "You specified: #{current.name} (#{current.requirement}) and #{dep.name} (#{dep.requirement})" \
136
131
  "#{update_prompt}"
137
132
  end
138
- elsif current.gemspec_dev_dep? || dep.gemspec_dev_dep?
139
- return if dep.gemspec_dev_dep?
133
+ end
134
+
135
+ # Always prefer the dependency from the Gemfile
136
+ if current.gemspec_dev_dep?
137
+ @dependencies.delete(current)
138
+ elsif dep.gemspec_dev_dep?
139
+ return
140
140
  elsif current.source != dep.source
141
141
  raise GemfileError, "You cannot specify the same gem twice coming from different sources.\n" \
142
142
  "You specified that #{dep.name} (#{dep.requirement}) should come from " \
@@ -58,9 +58,9 @@ module Bundler
58
58
  env = @original.clone
59
59
  @keys.each do |key|
60
60
  value = env[key]
61
- if !value.nil? && !value.empty?
61
+ if !value.nil?
62
62
  env[@prefix + key] ||= value
63
- elsif value.nil?
63
+ else
64
64
  env[@prefix + key] ||= INTENTIONALLY_NIL
65
65
  end
66
66
  end
@@ -72,7 +72,7 @@ module Bundler
72
72
  env = @original.clone
73
73
  @keys.each do |key|
74
74
  value_original = env[@prefix + key]
75
- next if value_original.nil? || value_original.empty?
75
+ next if value_original.nil?
76
76
  if value_original == INTENTIONALLY_NIL
77
77
  env.delete(key)
78
78
  else
@@ -23,7 +23,7 @@ module Bundler
23
23
  when Gem::Net::HTTPSuccess, Gem::Net::HTTPNotModified
24
24
  response
25
25
  when Gem::Net::HTTPRedirection
26
- new_uri = Bundler::URI.parse(response["location"])
26
+ new_uri = Gem::URI.parse(response["location"])
27
27
  if new_uri.host == uri.host
28
28
  new_uri.user = uri.user
29
29
  new_uri.password = uri.password
@@ -111,7 +111,7 @@ module Bundler
111
111
  spec -= [nil, "ruby", ""]
112
112
  spec_file_name = "#{spec.join "-"}.gemspec"
113
113
 
114
- uri = Bundler::URI.parse("#{remote_uri}#{Gem::MARSHAL_SPEC_DIR}#{spec_file_name}.rz")
114
+ uri = Gem::URI.parse("#{remote_uri}#{Gem::MARSHAL_SPEC_DIR}#{spec_file_name}.rz")
115
115
  spec = if uri.scheme == "file"
116
116
  path = Gem::Util.correct_for_windows_path(uri.path)
117
117
  Bundler.safe_load_marshal Bundler.rubygems.inflate(Gem.read_binary(path))
@@ -255,7 +255,7 @@ module Bundler
255
255
 
256
256
  con = Gem::Net::HTTP::Persistent.new name: "bundler", proxy: :ENV
257
257
  if gem_proxy = Gem.configuration[:http_proxy]
258
- con.proxy = Bundler::URI.parse(gem_proxy) if gem_proxy != :no_proxy
258
+ con.proxy = Gem::URI.parse(gem_proxy) if gem_proxy != :no_proxy
259
259
  end
260
260
 
261
261
  if remote_uri.scheme == "https"
@@ -50,7 +50,7 @@ module Bundler
50
50
  append_to(gemfile_path, build_gem_lines(@options[:conservative_versioning])) if @deps.any?
51
51
 
52
52
  # since we resolved successfully, write out the lockfile
53
- @definition.lock(Bundler.default_lockfile)
53
+ @definition.lock
54
54
 
55
55
  # invalidate the cached Bundler.definition
56
56
  Bundler.reset_paths!
@@ -260,8 +260,8 @@ module Bundler
260
260
  true
261
261
  end
262
262
 
263
- def lock(opts = {})
264
- @definition.lock(Bundler.default_lockfile, opts[:preserve_unknown_sections])
263
+ def lock
264
+ @definition.lock
265
265
  end
266
266
  end
267
267
  end
@@ -302,9 +302,9 @@ Note that any configured credentials will be redacted by informative commands su
302
302
  .P
303
303
  Also note that to guarantee a sane mapping between valid environment variable names and valid host names, bundler makes the following transformations:
304
304
  .IP "\(bu" 4
305
- Any \fB\-\fR characters in a host name are mapped to a triple dash (\fB___\fR) in the corresponding environment variable\.
305
+ Any \fB\-\fR characters in a host name are mapped to a triple underscore (\fB___\fR) in the corresponding environment variable\.
306
306
  .IP "\(bu" 4
307
- Any \fB\.\fR characters in a host name are mapped to a double dash (\fB__\fR) in the corresponding environment variable\.
307
+ Any \fB\.\fR characters in a host name are mapped to a double underscore (\fB__\fR) in the corresponding environment variable\.
308
308
  .IP "" 0
309
309
  .P
310
310
  This means that if you have a gem server named \fBmy\.gem\-host\.com\fR, you'll need to use the \fBBUNDLE_MY__GEM___HOST__COM\fR variable to configure credentials for it through ENV\.
@@ -388,10 +388,10 @@ copy-pasting bundler output.
388
388
  Also note that to guarantee a sane mapping between valid environment variable
389
389
  names and valid host names, bundler makes the following transformations:
390
390
 
391
- * Any `-` characters in a host name are mapped to a triple dash (`___`) in the
391
+ * Any `-` characters in a host name are mapped to a triple underscore (`___`) in the
392
392
  corresponding environment variable.
393
393
 
394
- * Any `.` characters in a host name are mapped to a double dash (`__`) in the
394
+ * Any `.` characters in a host name are mapped to a double underscore (`__`) in the
395
395
  corresponding environment variable.
396
396
 
397
397
  This means that if you have a gem server named `my.gem-host.com`, you'll need to
@@ -47,7 +47,7 @@ module Bundler
47
47
 
48
48
  def fetch_valid_mirror_for(uri)
49
49
  downcased = uri.to_s.downcase
50
- mirror = @mirrors[downcased] || @mirrors[Bundler::URI(downcased).host] || Mirror.new(uri)
50
+ mirror = @mirrors[downcased] || @mirrors[Gem::URI(downcased).host] || Mirror.new(uri)
51
51
  mirror.validate!(@prober)
52
52
  mirror = Mirror.new(uri) unless mirror.valid?
53
53
  mirror
@@ -74,7 +74,7 @@ module Bundler
74
74
  @uri = if uri.nil?
75
75
  nil
76
76
  else
77
- Bundler::URI(uri.to_s)
77
+ Gem::URI(uri.to_s)
78
78
  end
79
79
  @valid = nil
80
80
  end
@@ -126,7 +126,7 @@ module Bundler
126
126
  if uri == "all"
127
127
  @all = true
128
128
  else
129
- @uri = Bundler::URI(uri).absolute? ? Settings.normalize_uri(uri) : uri
129
+ @uri = Gem::URI(uri).absolute? ? Settings.normalize_uri(uri) : uri
130
130
  end
131
131
  @value = value
132
132
  end