rubygems-update 3.2.0 → 3.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/{History.txt → CHANGELOG.md} +482 -457
  3. data/Manifest.txt +31 -27
  4. data/POLICIES.md +4 -3
  5. data/Rakefile +23 -18
  6. data/bundler/CHANGELOG.md +67 -20
  7. data/bundler/bundler.gemspec +1 -1
  8. data/bundler/lib/bundler.rb +8 -2
  9. data/bundler/lib/bundler/build_metadata.rb +2 -2
  10. data/bundler/lib/bundler/cli.rb +3 -6
  11. data/bundler/lib/bundler/cli/gem.rb +2 -0
  12. data/bundler/lib/bundler/cli/install.rb +14 -5
  13. data/bundler/lib/bundler/cli/outdated.rb +2 -2
  14. data/bundler/lib/bundler/cli/update.rb +1 -1
  15. data/bundler/lib/bundler/compact_index_client/cache.rb +5 -13
  16. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  17. data/bundler/lib/bundler/compact_index_client/updater.rb +0 -8
  18. data/bundler/lib/bundler/definition.rb +24 -21
  19. data/bundler/lib/bundler/dependency.rb +3 -1
  20. data/bundler/lib/bundler/gem_helper.rb +3 -3
  21. data/bundler/lib/bundler/gem_helpers.rb +30 -24
  22. data/bundler/lib/bundler/lazy_specification.rb +16 -3
  23. data/bundler/{man → lib/bundler/man}/bundle-add.1 +0 -0
  24. data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +0 -0
  25. data/bundler/{man → lib/bundler/man}/bundle-cache.1 +0 -0
  26. data/bundler/{man → lib/bundler/man}/bundle-check.1 +0 -0
  27. data/bundler/{man → lib/bundler/man}/bundle-clean.1 +0 -0
  28. data/bundler/{man → lib/bundler/man}/bundle-config.1 +0 -0
  29. data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +0 -0
  30. data/bundler/{man → lib/bundler/man}/bundle-exec.1 +0 -0
  31. data/bundler/{man → lib/bundler/man}/bundle-gem.1 +0 -0
  32. data/bundler/{man → lib/bundler/man}/bundle-info.1 +0 -0
  33. data/bundler/{man → lib/bundler/man}/bundle-init.1 +0 -0
  34. data/bundler/{man → lib/bundler/man}/bundle-inject.1 +0 -0
  35. data/bundler/{man → lib/bundler/man}/bundle-install.1 +0 -0
  36. data/bundler/{man → lib/bundler/man}/bundle-list.1 +0 -0
  37. data/bundler/{man → lib/bundler/man}/bundle-lock.1 +0 -0
  38. data/bundler/{man → lib/bundler/man}/bundle-open.1 +0 -0
  39. data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +0 -0
  40. data/bundler/{man → lib/bundler/man}/bundle-platform.1 +0 -0
  41. data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +0 -0
  42. data/bundler/{man → lib/bundler/man}/bundle-remove.1 +0 -0
  43. data/bundler/{man → lib/bundler/man}/bundle-show.1 +0 -0
  44. data/bundler/{man → lib/bundler/man}/bundle-update.1 +0 -0
  45. data/bundler/{man → lib/bundler/man}/bundle-viz.1 +0 -0
  46. data/bundler/{man → lib/bundler/man}/bundle.1 +0 -0
  47. data/bundler/{man → lib/bundler/man}/gemfile.5 +0 -0
  48. data/bundler/{man → lib/bundler/man}/index.txt +0 -0
  49. data/bundler/lib/bundler/resolver.rb +29 -27
  50. data/bundler/lib/bundler/resolver/spec_group.rb +19 -25
  51. data/bundler/lib/bundler/rubygems_integration.rb +0 -6
  52. data/bundler/lib/bundler/source/git.rb +18 -16
  53. data/bundler/lib/bundler/source/git/git_proxy.rb +54 -49
  54. data/bundler/lib/bundler/source/path/installer.rb +2 -0
  55. data/bundler/lib/bundler/source/rubygems.rb +10 -1
  56. data/bundler/lib/bundler/spec_set.rb +5 -8
  57. data/bundler/lib/bundler/stub_specification.rb +0 -2
  58. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +1 -1
  59. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  60. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +3 -0
  61. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +8 -1
  62. data/bundler/lib/bundler/version.rb +1 -1
  63. data/lib/rubygems.rb +1 -1
  64. data/lib/rubygems/commands/owner_command.rb +0 -1
  65. data/lib/rubygems/commands/push_command.rb +0 -1
  66. data/lib/rubygems/commands/setup_command.rb +16 -62
  67. data/lib/rubygems/commands/yank_command.rb +0 -1
  68. data/lib/rubygems/dependency_installer.rb +1 -0
  69. data/lib/rubygems/ext/builder.rb +3 -3
  70. data/lib/rubygems/ext/cmake_builder.rb +1 -2
  71. data/lib/rubygems/ext/configure_builder.rb +1 -2
  72. data/lib/rubygems/ext/rake_builder.rb +1 -1
  73. data/lib/rubygems/gemcutter_utilities.rb +22 -17
  74. data/lib/rubygems/installer.rb +0 -23
  75. data/lib/rubygems/remote_fetcher.rb +4 -2
  76. data/lib/rubygems/request_set.rb +2 -13
  77. data/lib/rubygems/resolver.rb +6 -1
  78. data/lib/rubygems/resolver/api_set.rb +29 -20
  79. data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
  80. data/lib/rubygems/resolver/api_specification.rb +4 -3
  81. data/lib/rubygems/resolver/best_set.rb +2 -2
  82. data/lib/rubygems/resolver/index_specification.rb +18 -0
  83. data/lib/rubygems/resolver/installer_set.rb +57 -7
  84. data/lib/rubygems/resolver/spec_specification.rb +14 -0
  85. data/lib/rubygems/resolver/specification.rb +12 -0
  86. data/lib/rubygems/server.rb +6 -1
  87. data/lib/rubygems/source.rb +11 -6
  88. data/lib/rubygems/specification.rb +18 -14
  89. data/lib/rubygems/test_case.rb +17 -4
  90. data/lib/rubygems/test_utilities.rb +6 -5
  91. data/rubygems-update.gemspec +2 -2
  92. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  93. data/test/rubygems/test_gem_commands_install_command.rb +131 -0
  94. data/test/rubygems/test_gem_commands_push_command.rb +41 -2
  95. data/test/rubygems/test_gem_commands_setup_command.rb +21 -37
  96. data/test/rubygems/test_gem_dependency_installer.rb +27 -47
  97. data/test/rubygems/test_gem_ext_builder.rb +6 -6
  98. data/test/rubygems/test_gem_ext_cmake_builder.rb +2 -4
  99. data/test/rubygems/test_gem_ext_configure_builder.rb +2 -2
  100. data/test/rubygems/test_gem_ext_rake_builder.rb +25 -0
  101. data/test/rubygems/test_gem_installer.rb +6 -60
  102. data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
  103. data/test/rubygems/test_gem_resolver_api_set.rb +54 -51
  104. data/test/rubygems/test_gem_resolver_api_specification.rb +3 -3
  105. data/test/rubygems/test_gem_resolver_best_set.rb +26 -3
  106. data/test/rubygems/test_gem_source.rb +2 -2
  107. data/test/rubygems/test_gem_source_subpath_problem.rb +2 -2
  108. data/test/rubygems/test_gem_specification.rb +9 -3
  109. data/test/test_changelog_generator.rb +17 -0
  110. metadata +38 -58
@@ -1,6 +1,6 @@
1
+ CHANGELOG.md
1
2
  CODE_OF_CONDUCT.md
2
3
  CONTRIBUTING.md
3
- History.txt
4
4
  LICENSE.txt
5
5
  MAINTAINERS.txt
6
6
  MIT.txt
@@ -52,6 +52,7 @@ bundler/lib/bundler/cli/update.rb
52
52
  bundler/lib/bundler/cli/viz.rb
53
53
  bundler/lib/bundler/compact_index_client.rb
54
54
  bundler/lib/bundler/compact_index_client/cache.rb
55
+ bundler/lib/bundler/compact_index_client/gem_parser.rb
55
56
  bundler/lib/bundler/compact_index_client/updater.rb
56
57
  bundler/lib/bundler/constants.rb
57
58
  bundler/lib/bundler/current_ruby.rb
@@ -90,31 +91,57 @@ bundler/lib/bundler/lazy_specification.rb
90
91
  bundler/lib/bundler/lockfile_generator.rb
91
92
  bundler/lib/bundler/lockfile_parser.rb
92
93
  bundler/lib/bundler/man/.document
94
+ bundler/lib/bundler/man/bundle-add.1
93
95
  bundler/lib/bundler/man/bundle-add.1.ronn
96
+ bundler/lib/bundler/man/bundle-binstubs.1
94
97
  bundler/lib/bundler/man/bundle-binstubs.1.ronn
98
+ bundler/lib/bundler/man/bundle-cache.1
95
99
  bundler/lib/bundler/man/bundle-cache.1.ronn
100
+ bundler/lib/bundler/man/bundle-check.1
96
101
  bundler/lib/bundler/man/bundle-check.1.ronn
102
+ bundler/lib/bundler/man/bundle-clean.1
97
103
  bundler/lib/bundler/man/bundle-clean.1.ronn
104
+ bundler/lib/bundler/man/bundle-config.1
98
105
  bundler/lib/bundler/man/bundle-config.1.ronn
106
+ bundler/lib/bundler/man/bundle-doctor.1
99
107
  bundler/lib/bundler/man/bundle-doctor.1.ronn
108
+ bundler/lib/bundler/man/bundle-exec.1
100
109
  bundler/lib/bundler/man/bundle-exec.1.ronn
110
+ bundler/lib/bundler/man/bundle-gem.1
101
111
  bundler/lib/bundler/man/bundle-gem.1.ronn
112
+ bundler/lib/bundler/man/bundle-info.1
102
113
  bundler/lib/bundler/man/bundle-info.1.ronn
114
+ bundler/lib/bundler/man/bundle-init.1
103
115
  bundler/lib/bundler/man/bundle-init.1.ronn
116
+ bundler/lib/bundler/man/bundle-inject.1
104
117
  bundler/lib/bundler/man/bundle-inject.1.ronn
118
+ bundler/lib/bundler/man/bundle-install.1
105
119
  bundler/lib/bundler/man/bundle-install.1.ronn
120
+ bundler/lib/bundler/man/bundle-list.1
106
121
  bundler/lib/bundler/man/bundle-list.1.ronn
122
+ bundler/lib/bundler/man/bundle-lock.1
107
123
  bundler/lib/bundler/man/bundle-lock.1.ronn
124
+ bundler/lib/bundler/man/bundle-open.1
108
125
  bundler/lib/bundler/man/bundle-open.1.ronn
126
+ bundler/lib/bundler/man/bundle-outdated.1
109
127
  bundler/lib/bundler/man/bundle-outdated.1.ronn
128
+ bundler/lib/bundler/man/bundle-platform.1
110
129
  bundler/lib/bundler/man/bundle-platform.1.ronn
130
+ bundler/lib/bundler/man/bundle-pristine.1
111
131
  bundler/lib/bundler/man/bundle-pristine.1.ronn
132
+ bundler/lib/bundler/man/bundle-remove.1
112
133
  bundler/lib/bundler/man/bundle-remove.1.ronn
134
+ bundler/lib/bundler/man/bundle-show.1
113
135
  bundler/lib/bundler/man/bundle-show.1.ronn
136
+ bundler/lib/bundler/man/bundle-update.1
114
137
  bundler/lib/bundler/man/bundle-update.1.ronn
138
+ bundler/lib/bundler/man/bundle-viz.1
115
139
  bundler/lib/bundler/man/bundle-viz.1.ronn
140
+ bundler/lib/bundler/man/bundle.1
116
141
  bundler/lib/bundler/man/bundle.1.ronn
142
+ bundler/lib/bundler/man/gemfile.5
117
143
  bundler/lib/bundler/man/gemfile.5.ronn
144
+ bundler/lib/bundler/man/index.txt
118
145
  bundler/lib/bundler/match_platform.rb
119
146
  bundler/lib/bundler/mirror.rb
120
147
  bundler/lib/bundler/plugin.rb
@@ -279,32 +306,6 @@ bundler/lib/bundler/version_ranges.rb
279
306
  bundler/lib/bundler/vlad.rb
280
307
  bundler/lib/bundler/worker.rb
281
308
  bundler/lib/bundler/yaml_serializer.rb
282
- bundler/man/bundle-add.1
283
- bundler/man/bundle-binstubs.1
284
- bundler/man/bundle-cache.1
285
- bundler/man/bundle-check.1
286
- bundler/man/bundle-clean.1
287
- bundler/man/bundle-config.1
288
- bundler/man/bundle-doctor.1
289
- bundler/man/bundle-exec.1
290
- bundler/man/bundle-gem.1
291
- bundler/man/bundle-info.1
292
- bundler/man/bundle-init.1
293
- bundler/man/bundle-inject.1
294
- bundler/man/bundle-install.1
295
- bundler/man/bundle-list.1
296
- bundler/man/bundle-lock.1
297
- bundler/man/bundle-open.1
298
- bundler/man/bundle-outdated.1
299
- bundler/man/bundle-platform.1
300
- bundler/man/bundle-pristine.1
301
- bundler/man/bundle-remove.1
302
- bundler/man/bundle-show.1
303
- bundler/man/bundle-update.1
304
- bundler/man/bundle-viz.1
305
- bundler/man/bundle.1
306
- bundler/man/gemfile.5
307
- bundler/man/index.txt
308
309
  hide_lib_for_update/note.txt
309
310
  lib/rubygems.rb
310
311
  lib/rubygems/available_set.rb
@@ -412,6 +413,7 @@ lib/rubygems/requirement.rb
412
413
  lib/rubygems/resolver.rb
413
414
  lib/rubygems/resolver/activation_request.rb
414
415
  lib/rubygems/resolver/api_set.rb
416
+ lib/rubygems/resolver/api_set/gem_parser.rb
415
417
  lib/rubygems/resolver/api_specification.rb
416
418
  lib/rubygems/resolver/best_set.rb
417
419
  lib/rubygems/resolver/composed_set.rb
@@ -509,6 +511,7 @@ test/rubygems/child_key.pem
509
511
  test/rubygems/client.pem
510
512
  test/rubygems/data/gem-private_key.pem
511
513
  test/rubygems/data/gem-public_cert.pem
514
+ test/rubygems/data/null-required-rubygems-version.gemspec.rz
512
515
  test/rubygems/data/null-type.gemspec.rz
513
516
  test/rubygems/encrypted_private_key.pem
514
517
  test/rubygems/expired_cert.pem
@@ -682,3 +685,4 @@ test/rubygems/test_remote_fetch_error.rb
682
685
  test/rubygems/test_require.rb
683
686
  test/rubygems/wrong_key_cert.pem
684
687
  test/rubygems/wrong_key_cert_32.pem
688
+ test/test_changelog_generator.rb
@@ -57,9 +57,10 @@ smooth and no needed steps are missed.
57
57
 
58
58
  ### Steps for all releases
59
59
 
60
- * Confirm milestone on GitHub is complete
61
- * Update History.txt
62
- * Update Manifest.txt
60
+ * Confirm all PRs that you want backported are properly tagged with `rubygems:
61
+ <type>` labels at GitHub.
62
+ * Run `rake prepare_stable_branch[<target_version>]`, create a PR and merge it
63
+ to the stable branch once CI passes.
63
64
  * Create and push git tag
64
65
  * Create and push `rubygems-update` gem and tgz
65
66
  * Publish blog post
data/Rakefile CHANGED
@@ -7,9 +7,7 @@ require 'psych'
7
7
 
8
8
  desc "Setup Rubygems dev environment"
9
9
  task :setup do
10
- version = File.read("dev_gems.rb.lock").split(/BUNDLED WITH\n /).last
11
- sh "gem install bundler:#{version}"
12
- sh "bundle install --gemfile=dev_gems.rb"
10
+ sh "ruby bundler/bin/bundle install --gemfile=dev_gems.rb"
13
11
  end
14
12
 
15
13
  desc "Setup git hooks"
@@ -39,7 +37,7 @@ RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
39
37
  doc.title = "RubyGems #{v} API Documentation"
40
38
 
41
39
  rdoc_files = Rake::FileList.new %w[lib bundler/lib]
42
- rdoc_files.add %w[History.txt LICENSE.txt MIT.txt CODE_OF_CONDUCT.md CONTRIBUTING.md
40
+ rdoc_files.add %w[CHANGELOG.md LICENSE.txt MIT.txt CODE_OF_CONDUCT.md CONTRIBUTING.md
43
41
  MAINTAINERS.txt Manifest.txt POLICIES.md README.md UPGRADING.md bundler/CHANGELOG.md
44
42
  bundler/doc/contributing/README.md bundler/LICENSE.md bundler/README.md
45
43
  hide_lib_for_update/note.txt].map(&:freeze)
@@ -99,9 +97,16 @@ task :check_deprecations do
99
97
  end
100
98
  end
101
99
 
100
+ desc "Prepare stable branch"
101
+ task :prepare_stable_branch, [:version] do |_t, opts|
102
+ require_relative "util/release"
103
+
104
+ Release.new(opts[:version] || v.to_s).prepare!
105
+ end
106
+
102
107
  desc "Install rubygems to local system"
103
108
  task :install => [:clear_package, :package] do
104
- sh "ruby -Ilib bin/gem install --no-document pkg/rubygems-update-#{v}.gem && update_rubygems --no-document"
109
+ sh "ruby -Ilib bin/gem install --no-document pkg/rubygems-update-#{v}.gem --backtrace && update_rubygems --no-document --backtrace"
105
110
  end
106
111
 
107
112
  desc "Clears previously built package"
@@ -111,9 +116,9 @@ end
111
116
 
112
117
  desc "Generates the changelog for a specific target version"
113
118
  task :generate_changelog, [:version] do |_t, opts|
114
- require_relative "util/changelog"
119
+ require_relative "util/release"
115
120
 
116
- Changelog.for_rubygems(opts[:version]).cut!
121
+ Release.for_rubygems(opts[:version]).cut_changelog!
117
122
  end
118
123
 
119
124
  desc "Release rubygems-#{v}"
@@ -167,13 +172,16 @@ file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do
167
172
  end
168
173
  end
169
174
 
175
+ desc "Upload the release to Github releases"
176
+ task :upload_to_github do
177
+ require_relative "util/release"
178
+
179
+ Release.for_rubygems(v).create_for_github!
180
+ end
181
+
170
182
  desc "Upload release to S3"
171
183
  task :upload_to_s3 do
172
- begin
173
- require "aws-sdk-s3"
174
- rescue LoadError
175
- abort "Install the aws-sdk-s3 gem to be able to upload gems to rubygems.org."
176
- end
184
+ require "aws-sdk-s3"
177
185
 
178
186
  s3 = Aws::S3::Resource.new(region:'us-west-2')
179
187
  %w[zip tgz].each do |ext|
@@ -183,7 +191,7 @@ task :upload_to_s3 do
183
191
  end
184
192
 
185
193
  desc "Upload release to rubygems.org"
186
- task :upload => %w[upload_to_s3]
194
+ task :upload => %w[upload_to_github upload_to_s3]
187
195
 
188
196
  directory '../guides.rubygems.org' do
189
197
  sh 'git', 'clone',
@@ -299,9 +307,7 @@ To update to the latest RubyGems you can run:
299
307
 
300
308
  gem update --system
301
309
 
302
- If you need to upgrade or downgrade please follow the [how to upgrade/downgrade
303
- RubyGems][upgrading] instructions. To install RubyGems by hand see the
304
- [Download RubyGems][download] page.
310
+ To install RubyGems by hand see the [Download RubyGems][download] page.
305
311
 
306
312
  #{history.release_notes_for_blog.join("\n")}
307
313
 
@@ -310,7 +316,6 @@ SHA256 Checksums:
310
316
  #{checksums}
311
317
 
312
318
  [download]: https://rubygems.org/pages/download
313
- [upgrading]: http://docs.seattlerb.org/rubygems/UPGRADING_rdoc.html
314
319
 
315
320
  ANNOUNCEMENT
316
321
 
@@ -351,7 +356,7 @@ module Rubygems
351
356
  class ProjectFiles
352
357
  def self.all
353
358
  files = []
354
- exclude = %r{\A(?:\.|dev_gems|bundler/(?!lib|man|exe|[^/]+\.md|bundler.gemspec)|util/)}
359
+ exclude = %r{\A(?:\.|dev_gems|bundler/(?!lib|exe|[^/]+\.md|bundler.gemspec)|util/)}
355
360
  tracked_files = `git ls-files`.split("\n")
356
361
 
357
362
  tracked_files.each do |path|
@@ -1,3 +1,53 @@
1
+ # 2.2.5 (January 11, 2021)
2
+
3
+ ## Enhancements:
4
+
5
+ - Improve rubocop setup in the new gem template [#4220](https://github.com/rubygems/rubygems/pull/4220)
6
+ - Support repositories with default branch not named master [#4224](https://github.com/rubygems/rubygems/pull/4224)
7
+
8
+ ## Bug fixes:
9
+
10
+ - Let Net::HTTP decompress the index instead of doing it manually [#4081](https://github.com/rubygems/rubygems/pull/4081)
11
+ - Workaround for another jruby crash when autoloading a constant [#4252](https://github.com/rubygems/rubygems/pull/4252)
12
+ - Fix another performance regression in the resolver [#4243](https://github.com/rubygems/rubygems/pull/4243)
13
+ - Restore support for old git versions [#4233](https://github.com/rubygems/rubygems/pull/4233)
14
+ - Give a proper error if cache path does not have write access [#4215](https://github.com/rubygems/rubygems/pull/4215)
15
+ - Fix running `rake release` from an ambiguous ref [#4219](https://github.com/rubygems/rubygems/pull/4219)
16
+
17
+ # 2.2.4 (December 31, 2020)
18
+
19
+ ## Bug fixes:
20
+
21
+ - Fix bundle man pages display on truffleruby [#4209](https://github.com/rubygems/rubygems/pull/4209)
22
+ - Fix Windows + JRuby no longer being able to install git sources [#4196](https://github.com/rubygems/rubygems/pull/4196)
23
+
24
+ # 2.2.3 (December 22, 2020)
25
+
26
+ ## Bug fixes:
27
+
28
+ - Restore full compatibility with previous lockfiles [#4179](https://github.com/rubygems/rubygems/pull/4179)
29
+ - Add all matching variants with the same platform specificity to the lockfile [#4180](https://github.com/rubygems/rubygems/pull/4180)
30
+ - Fix bundler installing gems for a different platform when running in frozen mode and current platform not in the lockfile [#4172](https://github.com/rubygems/rubygems/pull/4172)
31
+ - Fix crash when `bundle exec`'ing to bundler [#4175](https://github.com/rubygems/rubygems/pull/4175)
32
+
33
+ # 2.2.2 (December 17, 2020)
34
+
35
+ ## Bug fixes:
36
+
37
+ - Fix resolver crash when a candidate has 0 matching platforms [#4163](https://github.com/rubygems/rubygems/pull/4163)
38
+ - Restore change to copy global with/without config locally upon `bundle install` [#4154](https://github.com/rubygems/rubygems/pull/4154)
39
+
40
+ # 2.2.1 (December 14, 2020)
41
+
42
+ ## Bug fixes:
43
+
44
+ - Ad-hoc fix for platform regression [#4127](https://github.com/rubygems/rubygems/pull/4127)
45
+ - Workaround JRuby + Windows issue with net-http-persistent vendored code [#4138](https://github.com/rubygems/rubygems/pull/4138)
46
+ - Reset also root when in a nested invocation [#4140](https://github.com/rubygems/rubygems/pull/4140)
47
+ - Restore 2.1.4 resolution times [#4134](https://github.com/rubygems/rubygems/pull/4134)
48
+ - Fix `bundle outdated --strict` crash [#4133](https://github.com/rubygems/rubygems/pull/4133)
49
+ - Autoload `Bundler::RemoteSpecification` to workaround crash on jruby [#4114](https://github.com/rubygems/rubygems/pull/4114)
50
+
1
51
  # 2.2.0 (December 7, 2020)
2
52
 
3
53
  ## Enhancements:
@@ -34,7 +84,11 @@
34
84
 
35
85
  # 2.2.0.rc.2 (October 6, 2020)
36
86
 
37
- ## Minor enhancements:
87
+ ## Features:
88
+
89
+ - Add `bundle fund` command [#3390](https://github.com/rubygems/rubygems/pull/3390)
90
+
91
+ ## Enhancements:
38
92
 
39
93
  - Fix ls-files matching regexp [#3845](https://github.com/rubygems/rubygems/pull/3845)
40
94
  - Remove redundant `bundler/setup` require from `spec_helper.rb` generated by `bundle gem` [#3791](https://github.com/rubygems/rubygems/pull/3791)
@@ -67,10 +121,6 @@
67
121
 
68
122
  - Deprecate `bundle cache --all` flag [#3932](https://github.com/rubygems/rubygems/pull/3932)
69
123
 
70
- ## Features:
71
-
72
- - Add `bundle fund` command [#3390](https://github.com/rubygems/rubygems/pull/3390)
73
-
74
124
  ## Documentation:
75
125
 
76
126
  - Correct grammar in Gemfile docs [#3990](https://github.com/rubygems/rubygems/pull/3990)
@@ -81,12 +131,12 @@
81
131
 
82
132
  # 2.2.0.rc.1 (July 2, 2020)
83
133
 
84
- ## Major enhancements:
134
+ ## Features:
85
135
 
86
136
  - Windows support. There's still gotchas and unimplemented features, but a Windows CI is now enforced.
87
137
  - Full multiplatform support. Bundler should now seamlessly handle multiplatform `Gemfile` or `gems.rb` files.
88
138
 
89
- ## Features:
139
+ ## Enhancements:
90
140
 
91
141
  - `bundle info` now includes gem metadata [#7376](https://github.com/rubygems/bundler/pull/7376)
92
142
  - `bundle list --without-group` and `bundle list --only-group` now support space separated list of groups in addition to single groups [#7404](https://github.com/rubygems/bundler/pull/7404)
@@ -97,9 +147,6 @@
97
147
  - Add `bundle plugin uninstall` [#3482](https://github.com/rubygems/rubygems/pull/3482)
98
148
  - `bundle gem` now supports a `--ci` flag and a `gem.ci` configuration that adds CI config files for the main CI providers to the generated gem skeleton [#3667](https://github.com/rubygems/rubygems/pull/3667)
99
149
  - Allow setting a tag prefix to be used by release tasks [#3766](https://github.com/rubygems/rubygems/pull/3766)
100
-
101
- ## Minor enhancements:
102
-
103
150
  - `bundle outdated` now prints output in columns for better readability [#4474](https://github.com/rubygems/bundler/pull/4474)
104
151
  - bundler's `release` rake task now prints a better message when not being logged in and trying to push a gem [#7513](https://github.com/rubygems/bundler/pull/7513)
105
152
  - `BUNDLE_APP_CONFIG` environment variable is now documented [#7563](https://github.com/rubygems/bundler/pull/7563)
@@ -192,7 +239,7 @@
192
239
  - Restore previous `BUNDLE_GEMFILE` in `bundler/inline` [#7418](https://github.com/rubygems/bundler/pull/7418)
193
240
  - Fix error when using `gem` DSL's `:glob` option for selecting gemspecs from a specific source [#7419](https://github.com/rubygems/bundler/pull/7419)
194
241
 
195
- ## Minor enhancements:
242
+ ## Enhancements:
196
243
 
197
244
  - `bundle config` no longer warns when using "old interface" (might be deprecated again in the future) [#7475](https://github.com/rubygems/bundler/pull/7475)
198
245
  - `bundle update` no longer warns when used without arguments (might be deprecated again in the future) [#7475](https://github.com/rubygems/bundler/pull/7475)
@@ -296,7 +343,7 @@
296
343
  - Fix `bundle update` message about exclude groups saying "installed" instead of "updated" ([#7150](https://github.com/rubygems/bundler/pull/7150))
297
344
  - Fix `bundle licenses` not showing correct information about bundler itself ([#7147](https://github.com/rubygems/bundler/pull/7147))
298
345
  - Fix installation path not including ruby scope when `BUNDLE_PATH` was set ([#7163](https://github.com/rubygems/bundler/pull/7163))
299
- - Fix `bundle clean` incorrectly removing git depedencies present in the Gemfile when rubygems 3.0+ was used and path involved a symlink ([#7211](https://github.com/rubygems/bundler/pull/7211))
346
+ - Fix `bundle clean` incorrectly removing git dependencies present in the Gemfile when rubygems 3.0+ was used and path involved a symlink ([#7211](https://github.com/rubygems/bundler/pull/7211))
300
347
  - Fix platform specific gems always being re-resolved when bundler was not running under that platform ([#7212](https://github.com/rubygems/bundler/pull/7212))
301
348
  - Fix `bundle package --all-platforms` causing `bundle install` to ignore `--with` and `--without` ([#6113](https://github.com/rubygems/bundler/pull/6113))
302
349
  - Fix `MissingRevision` git errors to include the specific `git` command that failed under the hood ([#7225](https://github.com/rubygems/bundler/pull/7225))
@@ -321,7 +368,7 @@
321
368
 
322
369
  # 2.0.2 (June 13, 2019)
323
370
 
324
- ## Minor enhancements:
371
+ ## Enhancements:
325
372
 
326
373
  - Fixes for Bundler integration with ruby-src ([#6941](https://github.com/rubygems/bundler/pull/6941), [#6973](https://github.com/bundler/bundler/pull/6973), [#6977](https://github.com/bundler/bundler/pull/6977), [#6315](https://github.com/bundler/bundler/pull/6315), [#7061](https://github.com/bundler/bundler/pull/7061))
327
374
  - Use `__dir__` instead of `__FILE__` when generating a gem with `bundle gem` ([#6503](https://github.com/rubygems/bundler/pull/6503))
@@ -365,7 +412,7 @@
365
412
 
366
413
  - Ruby 2.6 compatibility fixes (@segiddins)
367
414
 
368
- ## Minor enhancements:
415
+ ## Enhancements:
369
416
 
370
417
  - Import changes from Bundler 1.17.3 release
371
418
 
@@ -460,7 +507,7 @@ Changes
460
507
 
461
508
  # 1.16.6 (October 5, 2018)
462
509
 
463
- ## Minor enhancements:
510
+ ## Enhancements:
464
511
 
465
512
  - Add an error message when adding a gem with `bundle add` that's already in the bundle ([#6341](https://github.com/rubygems/bundler/issues/6341), @agrim123)
466
513
  - Add Homepage, Source Code and Changelog URI metadata fields to the `bundle gem` gemspec template (@walf443)
@@ -468,7 +515,7 @@ Changes
468
515
  ## Bug fixes:
469
516
 
470
517
  - Fix issue where updating a gem resulted in the gem's version being downgraded when `BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS` was set ([#6529](https://github.com/rubygems/bundler/issues/6529), @theflow)
471
- - Fix some rescue calls that don't specifiy error type (@utilum)
518
+ - Fix some rescue calls that don't specify error type (@utilum)
472
519
  - Fix an issue when the Lockfile would contain platform-specific gems that it didn't need ([#6491](https://github.com/rubygems/bundler/issues/6491), @segiddins)
473
520
  - Improve handling of adding new gems with only a single group to the Gemfile in `bundle add` (@agrim123)
474
521
  - Refactor check for OpenSSL in `bundle env` (@voxik)
@@ -482,7 +529,7 @@ Changes
482
529
 
483
530
  # 1.16.5 (September 18, 2018)
484
531
 
485
- ## Minor enhancements:
532
+ ## Enhancements:
486
533
 
487
534
  - Add support for TruffleRuby (@eregon)
488
535
 
@@ -498,7 +545,7 @@ Changes
498
545
 
499
546
  # 1.16.4 (August 17, 2018)
500
547
 
501
- ## Minor enhancements:
548
+ ## Enhancements:
502
549
 
503
550
  - Welcome new members to the Bundler core team (@indirect)
504
551
  - Don't mutate original error trees when determining version_conflict_message (@greysteil)
@@ -540,7 +587,7 @@ Changes
540
587
 
541
588
  # 1.16.2 (April 20, 2018)
542
589
 
543
- ## Minor enhancements:
590
+ ## Enhancements:
544
591
 
545
592
  - Include the gem's source in the gem install error message when available (@papanikge)
546
593
  - Remove unnecessary executable bit from gem template (@voxik)
@@ -1519,7 +1566,7 @@ Changes
1519
1566
  - prefer gemspecs closest to the directory root ([#3428](https://github.com/rubygems/bundler/issues/3428), @segiddins)
1520
1567
  - debug log for API request limits ([#3452](https://github.com/rubygems/bundler/issues/3452), @neerfri)
1521
1568
 
1522
- ## Minor enhancements:
1569
+ ## Enhancements:
1523
1570
 
1524
1571
  - Molinillo resolver, shared with CocoaPods (@segiddins)
1525
1572
  - updated Thor to v0.19.1 (@segiddins)
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
34
34
  s.required_ruby_version = ">= 2.3.0"
35
35
  s.required_rubygems_version = ">= 2.5.2"
36
36
 
37
- s.files = Dir.glob("{lib,man,exe}/**/*", File::FNM_DOTMATCH).reject {|f| File.directory?(f) }
37
+ s.files = Dir.glob("{lib,exe}/**/*", File::FNM_DOTMATCH).reject {|f| File.directory?(f) }
38
38
 
39
39
  # Include the CHANGELOG.md, LICENSE.md, README.md manually
40
40
  s.files += %w[CHANGELOG.md LICENSE.md README.md]
@@ -63,7 +63,6 @@ module Bundler
63
63
  autoload :Resolver, File.expand_path("bundler/resolver", __dir__)
64
64
  autoload :Retry, File.expand_path("bundler/retry", __dir__)
65
65
  autoload :RubyDsl, File.expand_path("bundler/ruby_dsl", __dir__)
66
- autoload :RubyGemsGemInstaller, File.expand_path("bundler/rubygems_gem_installer", __dir__)
67
66
  autoload :RubyVersion, File.expand_path("bundler/ruby_version", __dir__)
68
67
  autoload :Runtime, File.expand_path("bundler/runtime", __dir__)
69
68
  autoload :Settings, File.expand_path("bundler/settings", __dir__)
@@ -212,6 +211,12 @@ module Bundler
212
211
  end
213
212
  end
214
213
 
214
+ def most_specific_locked_platform?(platform)
215
+ return false unless defined?(@definition) && @definition
216
+
217
+ definition.most_specific_locked_platform == platform
218
+ end
219
+
215
220
  def ruby_scope
216
221
  "#{Bundler.rubygems.ruby_engine}/#{RbConfig::CONFIG["ruby_version"]}"
217
222
  end
@@ -602,8 +607,9 @@ EOF
602
607
  reset_rubygems!
603
608
  end
604
609
 
605
- def reset_settings!
610
+ def reset_settings_and_root!
606
611
  @settings = nil
612
+ @root = nil
607
613
  end
608
614
 
609
615
  def reset_paths!