rubygems-update 3.5.4 → 3.5.6

Sign up to get free protection for your applications and to get access to all the features.
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