rubygems-update 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e535991039093b466602143c2faf7a2a20bfa8321710f2dd5cf0b148dce1c61
4
- data.tar.gz: 39a3eb132fab5eac5a07517f0b7d8554d9ae645d49040226e38f092dc641cd0a
3
+ metadata.gz: 4528e626d1fed9c0dcbc5c43bd3145e3fe11ad95331342b6d73d48e7d1173e42
4
+ data.tar.gz: bfb5d478718b397bb6b355571bc3349db1c8e2cded98ea5889f70a3a0fe3ca32
5
5
  SHA512:
6
- metadata.gz: a206521bd4393212b53f4f281d501c9e7fbeec8fb9dab8a863e7590037998c371ca55da029ba569fff6898efe07e22a8b9ec46924f13fdd975aadcca9a03e015
7
- data.tar.gz: 38c0dc3e7ea2961b1fd8020948a83ee2caa527a5355c975748c57efdd17fd23a85c82d2e90e6a39d59ac3a3cd6799ae319fcb0892b94e0bceec4fcac720f2017
6
+ metadata.gz: 5692fa6e596bcd8a9d702451d5c2f7f52b336e4c367ba9cc050f1f56feab4c7d2d5e705e286cc70eeec2b042292e06878083000d3852df18e966305c543ceb6f
7
+ data.tar.gz: 4493b5d9b76a7867c7dc81f8bde7d7078bc836d1bded817424024d341ff491b38cb8a46ada2047b6c1788a78e18313b66fb8a070e059275ed46dd3d7cda5c8b6
@@ -1,3 +1,17 @@
1
+ === 3.2.1 / 2020-12-14
2
+
3
+ Enhancements:
4
+
5
+ * Added help message for gem i webrick in gem server command. Pull request
6
+ #4117 by hsbt
7
+
8
+ Bug fixes:
9
+
10
+ * Added the missing loading of fileutils same as load_specs. Pull request
11
+ #4124 by hsbt
12
+ * Fix Resolver::APISet to always include prereleases when necessary. Pull
13
+ request #4113 by deivid-rodriguez
14
+
1
15
  === 3.2.0 / 2020-12-7
2
16
 
3
17
  Enhancements:
@@ -56,7 +70,7 @@ Performance:
56
70
 
57
71
  === 3.2.0.rc.2 / 2020-10-8
58
72
 
59
- Minor enhancements:
73
+ Enhancements:
60
74
 
61
75
  * Make --dry-run flag consistent across rubygems commands. Pull request
62
76
  #3867 by bronzdoc
@@ -97,14 +111,11 @@ Performance:
97
111
 
98
112
  === 3.2.0.rc.1 / 2020-07-04
99
113
 
100
- Major enhancements:
114
+ Enhancements:
101
115
 
102
116
  * Test TruffleRuby in CI. Pull request #2797 by Benoit Daloze.
103
117
  * Rework plugins system and speed up rubygems. Pull request #3108 by David
104
118
  Rodríguez.
105
-
106
- Minor enhancements:
107
-
108
119
  * Specify explicit separator not to be affected by $;. Pull request #3424
109
120
  by Nobuyoshi Nakada.
110
121
  * Enable `Layout/ExtraSpacing` cop. Pull request #3449 by David Rodríguez.
@@ -203,7 +214,7 @@ Breaking changes:
203
214
 
204
215
  === 3.1.4 / 2020-06-03
205
216
 
206
- Minor enhancements:
217
+ Enhancements:
207
218
 
208
219
  * Deprecate rubyforge_project attribute only during build
209
220
  time. Pull request #3609 by Josef Šimánek.
@@ -214,7 +225,7 @@ Minor enhancements:
214
225
 
215
226
  === 3.1.3 / 2020-05-05
216
227
 
217
- Minor enhancements:
228
+ Enhancements:
218
229
 
219
230
  * Resolver: require NameTuple before use. Pull request #3171 by Olle
220
231
  Jonsson.
@@ -239,7 +250,7 @@ Bug fixes:
239
250
 
240
251
  === 3.1.2 / 2019-12-20
241
252
 
242
- Minor enhancements:
253
+ Enhancements:
243
254
 
244
255
  * Restore non prompting `gem update --system` behavior. Pull request #3040
245
256
  by David Rodríguez.
@@ -266,12 +277,9 @@ Bug fixes:
266
277
 
267
278
  === 3.1.0 / 2019-12-16
268
279
 
269
- Major enhancements:
280
+ Enhancements:
270
281
 
271
282
  * Vendor bundler 2.1. Pull request #3028 by David Rodríguez.
272
-
273
- Minor enhancements:
274
-
275
283
  * Check for rubygems.org typo squatting sources. Pull request #2999 by
276
284
  Luis Sagastume.
277
285
  * Refactor remote fetcher. Pull request #3017 by David Rodríguez.
@@ -301,7 +309,7 @@ Breaking changes:
301
309
 
302
310
  === 3.1.0.pre3 / 2019-11-11
303
311
 
304
- Minor enhancements:
312
+ Enhancements:
305
313
 
306
314
  * Fix gem pristine not accounting for user installed gems. Pull request
307
315
  #2914 by Luis Sagastume.
@@ -322,7 +330,7 @@ Minor enhancements:
322
330
 
323
331
  === 3.1.0.pre2 / 2019-10-15
324
332
 
325
- Minor enhancements:
333
+ Enhancements:
326
334
 
327
335
  * Optimize Gem::Package::TarReader#each. Pull request #2941 by Jean byroot
328
336
  Boussier.
@@ -331,7 +339,7 @@ Minor enhancements:
331
339
 
332
340
  === 3.1.0.pre1 / 2019-10-08
333
341
 
334
- Major enhancements:
342
+ Enhancements:
335
343
 
336
344
  * Try to use bundler-2.1.0.pre.2. Pull request #2923 by SHIBATA Hiroshi.
337
345
  * [Require] Ensure -I beats a default gem. Pull request #1868 by Samuel
@@ -342,9 +350,6 @@ Major enhancements:
342
350
  Chaofan.
343
351
  * Autoswitch to exact bundler version if present. Pull request #2583 by
344
352
  David Rodríguez.
345
-
346
- Minor enhancements:
347
-
348
353
  * Fix Gem::Requirement equality comparison when ~> operator is used. Pull
349
354
  request #2554 by Grey Baker.
350
355
  * Don't use a proxy if https_proxy env var is empty. Pull request #2567 by
@@ -561,7 +566,7 @@ Bug fixes:
561
566
 
562
567
  === 3.0.5 / 2019-08-16
563
568
 
564
- Minor enhancements:
569
+ Enhancements:
565
570
 
566
571
  * Use env var to configure api key on push. Pull request #2559 by Luis
567
572
  Sagastume.
@@ -614,7 +619,7 @@ Bug fixes:
614
619
 
615
620
  === 3.0.4 / 2019-06-14
616
621
 
617
- Minor enhancements:
622
+ Enhancements:
618
623
 
619
624
  * Add support for TruffleRuby #2612 by Benoit Daloze
620
625
  * Serve a more descriptive error when --no-ri or --no-rdoc are used #2572
@@ -680,7 +685,7 @@ Security fixes:
680
685
 
681
686
  === 3.0.2 / 2019-01-01
682
687
 
683
- Minor enhancements:
688
+ Enhancements:
684
689
 
685
690
  * Use Bundler-1.17.3. Pull request #2556 by SHIBATA Hiroshi.
686
691
  * Fix document flag description. Pull request #2555 by Luis Sagastume.
@@ -708,7 +713,7 @@ Bug fixes:
708
713
 
709
714
  === 3.0.0 / 2018-12-19
710
715
 
711
- Major enhancements:
716
+ Enhancements:
712
717
 
713
718
  * S3 source. Pull request #1690 by Aditya Prakash.
714
719
  * Download gems with threads. Pull request #1898 by André Arko.
@@ -716,9 +721,6 @@ Major enhancements:
716
721
  * [GSoC] Multi-factor feature for RubyGems. Pull request #2369 by Qiu
717
722
  Chaofan.
718
723
  * Use bundler 1.17.2. Pull request #2521 by SHIBATA Hiroshi.
719
-
720
- Minor enhancements:
721
-
722
724
  * Don't treat inaccessible working directories as build failures. Pull
723
725
  request #1135 by Pete.
724
726
  * Remove useless directory parameter from builders .build methods.
@@ -984,7 +986,7 @@ Breaking changes:
984
986
 
985
987
  === 2.7.10 / 2019-06-14
986
988
 
987
- Minor enhancements:
989
+ Enhancements:
988
990
 
989
991
  * Fix bundler rubygems binstub not properly looking for bundler. Pull request #2426
990
992
  by David Rodríguez.
@@ -1005,7 +1007,7 @@ Security fixes:
1005
1007
 
1006
1008
  === 2.7.8 / 2018-11-02
1007
1009
 
1008
- Minor enhancements:
1010
+ Enhancements:
1009
1011
 
1010
1012
  * [Requirement] Treat requirements with == versions as equal. Pull
1011
1013
  request #2230 by Samuel Giddins.
@@ -1039,7 +1041,7 @@ Bug fixes:
1039
1041
 
1040
1042
  === 2.7.7 / 2018-05-08
1041
1043
 
1042
- Minor enhancements:
1044
+ Enhancements:
1043
1045
 
1044
1046
  * [RequestSet] Only suggest a gem version with an installable platform.
1045
1047
  Pull request #2175 by Samuel Giddins.
@@ -1125,7 +1127,7 @@ Bug fixes:
1125
1127
 
1126
1128
  === 2.7.3
1127
1129
 
1128
- Minor enhancements:
1130
+ Enhancements:
1129
1131
 
1130
1132
  * Removed needless version lock. Pull request #2074 by SHIBATA Hiroshi.
1131
1133
  * Add --[no-]check-development option to cleanup command. Pull request
@@ -1175,15 +1177,12 @@ Bug fixes:
1175
1177
 
1176
1178
  === 2.7.0 (2017-11-02)
1177
1179
 
1178
- Major enhancements:
1180
+ Enhancements:
1179
1181
 
1180
1182
  * Update vendored bundler-1.16.0. Pull request #2051 by Samuel Giddins.
1181
1183
  * Use Bundler for Gem.use_gemdeps. Pull request #1674 by Samuel Giddins.
1182
1184
  * Add command `signin` to `gem` CLI. Pull request #1944 by Shiva Bhusal.
1183
1185
  * Add Logout feature to CLI. Pull request #1938 by Shiva Bhusal.
1184
-
1185
- Minor enhancements:
1186
-
1187
1186
  * Added message to uninstall command for gem that is not installed. Pull
1188
1187
  request #1979 by anant anil kolvankar.
1189
1188
  * Add --trust-policy option to unpack command. Pull request #1718 by
@@ -1456,7 +1455,7 @@ Bug fixes:
1456
1455
 
1457
1456
  === 2.6.5 / 2016-06-21
1458
1457
 
1459
- Minor enhancements:
1458
+ Enhancements:
1460
1459
 
1461
1460
  * Support for unified Integer in Ruby 2.4. Pull request #1618
1462
1461
  by SHIBATA Hiroshi.
@@ -1485,7 +1484,7 @@ Bug fixes:
1485
1484
 
1486
1485
  === 2.6.4 / 2016-04-26
1487
1486
 
1488
- Minor enhancements:
1487
+ Enhancements:
1489
1488
 
1490
1489
  * Use Gem::Util::NULL_DEVICE instead of hard coded strings. Pull request #1588
1491
1490
  by Chris Charabaruk.
@@ -1502,7 +1501,7 @@ Bug fixes:
1502
1501
 
1503
1502
  === 2.6.3 / 2016-04-05
1504
1503
 
1505
- Minor enhancements:
1504
+ Enhancements:
1506
1505
 
1507
1506
  * Lazily calculate Gem::LoadError exception messages. Pull request #1550
1508
1507
  by Aaron Patterson.
@@ -1555,7 +1554,7 @@ Bug fixes:
1555
1554
 
1556
1555
  === 2.6.0 / 2016-02-26
1557
1556
 
1558
- Minor enhancements:
1557
+ Enhancements:
1559
1558
 
1560
1559
  * RubyGems now defaults the `gem push` to the gem's "allowed_push_host"
1561
1560
  metadata setting. Pull request #1486 by Josh Lane.
@@ -1610,7 +1609,7 @@ Bug fixes:
1610
1609
  * Handle symlinks containing ".." correctly. Pull request #1457 by Samuel E.
1611
1610
  Giddins.
1612
1611
 
1613
- Minor enhancements:
1612
+ Enhancements:
1614
1613
 
1615
1614
  * Add `--no-rc` flag, which skips loading `.gemrc`. Pull request #1329 by Luis
1616
1615
  Sagastume.
@@ -1668,7 +1667,7 @@ Bug fixes:
1668
1667
 
1669
1668
  === 2.5.0 / 2015-11-03
1670
1669
 
1671
- Major enhancements:
1670
+ Enhancements:
1672
1671
 
1673
1672
  * Added the Gem::Licenses class which provides a set of standard license
1674
1673
  identifiers as set by spdx.org. This is now used by the
@@ -1677,8 +1676,6 @@ Major enhancements:
1677
1676
 
1678
1677
  Pull request #1249 by Kyle Mitchell.
1679
1678
 
1680
- Minor enhancements:
1681
-
1682
1679
  * Use Molinillo as the resolver library. This is the same resolver as used by
1683
1680
  Bundler. Pull request #1189 by Samuel E. Giddins.
1684
1681
  * Add `--skip=gem_name` to Pristine command. Pull request #1018 by windwiny.
@@ -1942,7 +1939,7 @@ Bug fixes:
1942
1939
 
1943
1940
  === 2.4.0 / 2014-07-16
1944
1941
 
1945
- Minor enhancements:
1942
+ Enhancements:
1946
1943
 
1947
1944
  * The contents command now supports a --show-install-dir option that shows
1948
1945
  only the directory the gem is installed in. Feature request #966 by Akinori
@@ -2005,7 +2002,7 @@ Bug fixes:
2005
2002
 
2006
2003
  === 2.3.0 / 2014-06-10
2007
2004
 
2008
- Minor enhancements:
2005
+ Enhancements:
2009
2006
 
2010
2007
  * Added the `open` command which allows you to inspect the source of a gem
2011
2008
  using your editor.
@@ -2206,7 +2203,7 @@ Bug fixes:
2206
2203
  Special thanks to Vít Ondruch and Michal Papis for testing and finding bugs in
2207
2204
  RubyGems as it was prepared for the 2.2.0 release.
2208
2205
 
2209
- Major enhancements:
2206
+ Enhancements:
2210
2207
 
2211
2208
  * RubyGems can check for gem dependencies files (gem.deps.rb or Gemfile) when
2212
2209
  rubygems executables are started and uses the found dependencies. This
@@ -2229,8 +2226,6 @@ Major enhancements:
2229
2226
  The default sharing location may be configured by RubyGems packagers through
2230
2227
  Gem.default_ext_dir_for. Pull Request #744 by Vít Ondruch.
2231
2228
 
2232
- Minor enhancements:
2233
-
2234
2229
  * RubyGems checks the 'allowed_push_host' metadata value when pushing a gem to
2235
2230
  prevent an accidental push to a public repository (such as rubygems.org).
2236
2231
  If you have private gems you should set this value in your gem specification
@@ -2429,15 +2424,13 @@ Security fixes:
2429
2424
  including vulnerable APIs. Fixed versions include 2.0.8, 1.8.26 and
2430
2425
  1.8.23.1 (for Ruby 1.9.3). Issue #626 by Damir Sharipov.
2431
2426
 
2432
- Major enhancements:
2427
+ Enhancements:
2433
2428
 
2434
2429
  * RubyGems uses a new dependency resolver for gem installation which works
2435
2430
  similar to the bundler resolver. The new resolver can resolve conflicts the
2436
2431
  previous resolver could not and offers improved diagnostics when conflicts
2437
2432
  are discovered.
2438
2433
 
2439
- Minor enhancements:
2440
-
2441
2434
  * RubyGems now has improved platform matching for the ARM architecture. Gems
2442
2435
  built with a CPU of "arm" will match any specific ARM CPU. See `gem help
2443
2436
  platform` for further details. Fixes #532 by Kim Burgestrand.
@@ -2769,7 +2762,7 @@ Breaking changes:
2769
2762
  * Removed support for Ruby 1.9.1
2770
2763
  * Removed many deprecated methods
2771
2764
 
2772
- Major enhancements:
2765
+ Enhancements:
2773
2766
 
2774
2767
  * Improved support for default gems shipping with ruby 2.0.0+
2775
2768
  * A gem can have arbitrary metadata through Gem::Specification#metadata
@@ -2787,8 +2780,6 @@ Major enhancements:
2787
2780
  file (Gemfile, Isolate, gem.deps.rb).
2788
2781
  Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path
2789
2782
  to autodetect (current and parent directories are searched).
2790
-
2791
- Minor enhancements:
2792
2783
  * Added `gem check --doctor` to clean up after failed uninstallation. Bug
2793
2784
  #419 by Erik Hollensbe
2794
2785
  * RubyGems no longer defaults to uninstalling gems if a dependency would be
@@ -2911,7 +2902,7 @@ Bug fixes:
2911
2902
 
2912
2903
  === 2.0.0.rc.1 / 2013-01-08
2913
2904
 
2914
- Minor enhancements:
2905
+ Enhancements:
2915
2906
  * This release of RubyGems can push gems to rubygems.org. Ordinarily
2916
2907
  prerelease versions of RubyGems cannot push gems.
2917
2908
  * Added `gem check --doctor` to clean up after failed uninstallation. Bug
@@ -2925,7 +2916,7 @@ Bug fixes:
2925
2916
 
2926
2917
  === 2.0.0.preview2.2 / 2012-12-14
2927
2918
 
2928
- Minor enhancements:
2919
+ Enhancements:
2929
2920
  * Added a cmake builder. Pull request #265 by Allan Espinosa.
2930
2921
  * Removed rubyforge page from gem list output
2931
2922
 
@@ -2935,7 +2926,7 @@ Bug fixes:
2935
2926
 
2936
2927
  === 2.0.0.preview2.1 / 2012-12-08
2937
2928
 
2938
- Minor enhancements:
2929
+ Enhancements:
2939
2930
  * Gem::DependencyInstaller now passes build_args down to the installer.
2940
2931
  Pull Request #412 by Sam Rawlins.
2941
2932
  * RubyGems no longer defaults to uninstalling gems if a dependency would be
@@ -2982,7 +2973,7 @@ Breaking changes:
2982
2973
  * Removed support for Ruby 1.9.1
2983
2974
  * Removed many deprecated methods
2984
2975
 
2985
- Major enhancements:
2976
+ Enhancements:
2986
2977
 
2987
2978
  * Improved support for default gems shipping with ruby 2.0.0+
2988
2979
  * A gem can have arbitrary metadata through Gem::Specification#metadata
@@ -3000,9 +2991,6 @@ Major enhancements:
3000
2991
  file (Gemfile, Isolate, gem.deps.rb).
3001
2992
  Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path
3002
2993
  to autodetect (current and parent directories are searched).
3003
-
3004
- Minor enhancements:
3005
-
3006
2994
  * Added --only-executables option to `gem pristine`. Fixes #326
3007
2995
  * Added -I flag for 'gem query' to exclude installed items
3008
2996
  * Added Gem.install(name, version=default) for interactive sessions
@@ -3175,7 +3163,7 @@ Security fixes:
3175
3163
  * Disallow redirects from https to http
3176
3164
  * Turn on verification of server SSL certs
3177
3165
 
3178
- Minor enhancements:
3166
+ Enhancements:
3179
3167
  * Add --clear-sources to fetch
3180
3168
 
3181
3169
  Bug fixes:
@@ -3227,7 +3215,7 @@ Bug fixes:
3227
3215
 
3228
3216
  === 1.8.17 / 2012-02-17
3229
3217
 
3230
- Minor enhancements:
3218
+ Enhancements:
3231
3219
 
3232
3220
  * Add MacRuby to the list of special cases for platforms (ferrous26)
3233
3221
  * Add a default for where to install rubygems itself
@@ -3267,7 +3255,7 @@ Bug fixes:
3267
3255
 
3268
3256
  * Check loaded_specs properly when trying to satisfy a dep
3269
3257
 
3270
- Minor enhancements:
3258
+ Enhancements:
3271
3259
 
3272
3260
  * Remove using #loaded_path? for performance
3273
3261
  * Remove Zlib workaround for Windows build.
@@ -3331,7 +3319,7 @@ Bug fixes:
3331
3319
 
3332
3320
  === 1.8.6 / 2011-07-25
3333
3321
 
3334
- Minor enhancements:
3322
+ Enhancements:
3335
3323
 
3336
3324
  * Add autorequires and delay startup of RubyGems until require is called.
3337
3325
  See Ruby bug #4962
@@ -3350,7 +3338,7 @@ Bug fixes:
3350
3338
 
3351
3339
  === 1.8.5 / 2011-05-31
3352
3340
 
3353
- Minor enhancements:
3341
+ Enhancements:
3354
3342
 
3355
3343
  * The -u option to 'update local source cache' is official deprecated.
3356
3344
  * Remove has_rdoc deprecations from Specification.
@@ -3362,7 +3350,7 @@ Bug fixes:
3362
3350
 
3363
3351
  === 1.8.4 / 2011-05-25
3364
3352
 
3365
- Minor enhancements:
3353
+ Enhancements:
3366
3354
 
3367
3355
  * Removed default_executable deprecations from Specification.
3368
3356
 
@@ -3379,7 +3367,7 @@ Bug fixes:
3379
3367
 
3380
3368
  === 1.8.2 / 2011-05-11
3381
3369
 
3382
- Minor enhancements:
3370
+ Enhancements:
3383
3371
 
3384
3372
  * Moved #outdated from OutdatedCommand to Specification (for Isolate).
3385
3373
  * Print out a warning about missing executables.
@@ -3392,7 +3380,7 @@ Bug fixes:
3392
3380
 
3393
3381
  === 1.8.1 / 2011-05-05
3394
3382
 
3395
- Minor enhancements:
3383
+ Enhancements:
3396
3384
 
3397
3385
  * Added Gem::Requirement#specific? and Gem::Dependency#specific?
3398
3386
 
@@ -3439,14 +3427,11 @@ Deprecations:
3439
3427
  * Deprecated all of Gem::GemPathSearcher.
3440
3428
  * Deprecated Gem::Specification#default_executable.
3441
3429
 
3442
- Major enhancements:
3430
+ Enhancements:
3443
3431
 
3444
3432
  * Gem::SourceIndex functionality has been moved to Gem::Specification.
3445
3433
  Gem::SourceIndex is completely disconnected from Gem::Specification
3446
3434
  * Refactored GemPathSearcher entirely out. RIPMF
3447
-
3448
- Minor enhancements:
3449
-
3450
3435
  * Added CommandManager#unregister_command
3451
3436
  * Added Dependency#matching_specs + to_specs.
3452
3437
  * Added Dependency#to_spec
@@ -3526,7 +3511,7 @@ Deprecations:
3526
3511
  test_suite_file(=).
3527
3512
  * Deprecated Specification#has_rdoc= and default_executable=
3528
3513
 
3529
- Minor enhancements:
3514
+ Enhancements:
3530
3515
  * Added stupid simple deprecation module.
3531
3516
  * Added --spec option to `gem unpack` to output a gem's original metadata
3532
3517
  * Added packaging option to Specification#validate
@@ -3604,14 +3589,11 @@ Deprecations:
3604
3589
  * Gem::LoadError#version_requirements has been removed. Use
3605
3590
  Gem::LoadError#requirement.
3606
3591
 
3607
- Major enhancements:
3592
+ Enhancements:
3608
3593
 
3609
3594
  * Rewrote how Gem::activate (gem and require) resolves dependencies.
3610
3595
  * Gem::LoadError#version_requirement has been removed. Use
3611
3596
  Gem::LoadError#requirement.
3612
-
3613
- Minor enhancements:
3614
-
3615
3597
  * Added --key to `gem push` for setting alternate API keys.
3616
3598
  * Added --format-executable support to gem uninstall.
3617
3599
  * Added Gem::DependencyList#clear.
@@ -3665,7 +3647,7 @@ Bug fixes:
3665
3647
 
3666
3648
  ==== NOTE: `gem update --system` is broken. See UPGRADING.rdoc.
3667
3649
 
3668
- Minor enhancements:
3650
+ Enhancements:
3669
3651
 
3670
3652
  * Added ability to do gem update --system X.Y.Z.
3671
3653
 
@@ -3682,13 +3664,10 @@ Bug fixes:
3682
3664
 
3683
3665
  ==== NOTE: `gem update --system` is broken. See UPGRADING.rdoc.
3684
3666
 
3685
- Major enhancements:
3667
+ Enhancements:
3686
3668
 
3687
3669
  * Finally fixed all known 1.9.x issues. Upgrading is now possible!
3688
3670
  * Merged huge 1.3.7/ruby-core changes to master.
3689
-
3690
- Minor enhancements:
3691
-
3692
3671
  * Added UPGRADING.rdoc to help deal with 1.9 issues.
3693
3672
  * Gem::Format now gives better errors for corrupt gem files and includes paths
3694
3673
  * Pre-install hooks can now abort gem installation by returning false
@@ -4045,7 +4024,7 @@ Bug fixes:
4045
4024
  * `gem lock --strict` works again. Patch #21814 by Sven Engelhardt.
4046
4025
  * Platform detection for Solaris was improved. Patch #21911 by Bob Remeika.
4047
4026
 
4048
- Minor enhancements:
4027
+ Enhancements:
4049
4028
 
4050
4029
  * `gem help install` now describes _version_ argument to executable stubs
4051
4030
  * `gem help environment` describes environment variables and ~/.gemrc and
@@ -4107,7 +4086,7 @@ Bug fixes:
4107
4086
  * Gem::DependencyInstaller resets installed gems every install, bug #19444
4108
4087
  * Gem.default_path is now honored if GEM_PATH is not set, patch #19502
4109
4088
 
4110
- Minor enhancements:
4089
+ Enhancements:
4111
4090
 
4112
4091
  * setup.rb
4113
4092
  * stub files created by RubyGems 0.7.x and older are no longer removed. When
@@ -4173,7 +4152,7 @@ Bug fixes:
4173
4152
  * Gem stub scripts on windows now work outside Gem.bindir.
4174
4153
  * `gem sources -r` now works without network access.
4175
4154
 
4176
- Minor enhancements:
4155
+ Enhancements:
4177
4156
 
4178
4157
  * RubyGems now requires Ruby > 1.8.3.
4179
4158
  * Release notes are now printed upon installation.
@@ -4191,7 +4170,7 @@ Bug fixes:
4191
4170
  * Installation on Ruby 1.8.3 through 1.8.5 fixed
4192
4171
  * `gem build` on 1.8.3 fixed
4193
4172
 
4194
- Minor enhancements:
4173
+ Enhancements:
4195
4174
 
4196
4175
  * Since RubyGems 0.9.5, RubyGems is no longer supported on Ruby 1.8.2 or older,
4197
4176
  this is official in RubyGems 1.0.1.
@@ -4203,7 +4182,7 @@ Features:
4203
4182
  * RubyGems warns about various problems with gemspecs during gem building
4204
4183
  * More-consistent versioning for the RubyGems software
4205
4184
 
4206
- Minor enhancements:
4185
+ Enhancements:
4207
4186
 
4208
4187
  * Fixed various bugs and problems with installing gems on Windows
4209
4188
  * Fixed using `gem server` for installing gems
@@ -4243,7 +4222,7 @@ Features:
4243
4222
  * Improved stubs and `gem.bat` on mswin, including better compatibility
4244
4223
  with the One-Click Installer.
4245
4224
 
4246
- Minor enhancements:
4225
+ Enhancements:
4247
4226
 
4248
4227
  * Time::today is deprecated and will be removed at a future date
4249
4228
  * Gem::manage_gems is deprecated and will be removed at a future date
@@ -4336,7 +4315,7 @@ number one change is that we can now download the gem index
4336
4315
  incrementally. This will greatly speed up the gem command when only a
4337
4316
  few gems are out of date.
4338
4317
 
4339
- Major enhancements:
4318
+ Enhancements:
4340
4319
 
4341
4320
  * The gem index is now downloaded incrementally, only updating entries
4342
4321
  that are out of date. If more than 50 entries are out of date, we
@@ -4351,9 +4330,6 @@ Major enhancements:
4351
4330
  * Both RI and RDOC documents are now generated by default.
4352
4331
  * A gemri command is included to read gem RI docs (only needed for
4353
4332
  Ruby 1.8.4 or earlier).
4354
-
4355
- Minor enhancements:
4356
-
4357
4333
  * Version 0.0.0 is now a valid gem version.
4358
4334
  * Better detection of missing SSL functionality.
4359
4335
  * SSL is not required if the security policy does not require
@@ -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
@@ -99,6 +99,13 @@ task :check_deprecations do
99
99
  end
100
100
  end
101
101
 
102
+ desc "Prepare stable branch"
103
+ task :prepare_stable_branch, [:version] do |_t, opts|
104
+ require_relative "util/release"
105
+
106
+ Release.new(opts[:version] || v.to_s).prepare!
107
+ end
108
+
102
109
  desc "Install rubygems to local system"
103
110
  task :install => [:clear_package, :package] do
104
111
  sh "ruby -Ilib bin/gem install --no-document pkg/rubygems-update-#{v}.gem && update_rubygems --no-document"
@@ -111,9 +118,9 @@ end
111
118
 
112
119
  desc "Generates the changelog for a specific target version"
113
120
  task :generate_changelog, [:version] do |_t, opts|
114
- require_relative "util/changelog"
121
+ require_relative "util/release"
115
122
 
116
- Changelog.for_rubygems(opts[:version]).cut!
123
+ Release.for_rubygems(opts[:version]).cut_changelog!
117
124
  end
118
125
 
119
126
  desc "Release rubygems-#{v}"
@@ -167,6 +174,13 @@ file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do
167
174
  end
168
175
  end
169
176
 
177
+ desc "Upload the release to Github releases"
178
+ task :upload_to_github do
179
+ require_relative "util/release"
180
+
181
+ Release.for_rubygems(v).create_for_github!
182
+ end
183
+
170
184
  desc "Upload release to S3"
171
185
  task :upload_to_s3 do
172
186
  begin
@@ -183,7 +197,7 @@ task :upload_to_s3 do
183
197
  end
184
198
 
185
199
  desc "Upload release to rubygems.org"
186
- task :upload => %w[upload_to_s3]
200
+ task :upload => %w[upload_to_github upload_to_s3]
187
201
 
188
202
  directory '../guides.rubygems.org' do
189
203
  sh 'git', 'clone',
@@ -1,3 +1,14 @@
1
+ # 2.2.1 (December 14, 2020)
2
+
3
+ ## Bug fixes:
4
+
5
+ - Ad-hoc fix for platform regression [#4127](https://github.com/rubygems/rubygems/pull/4127)
6
+ - Workaround JRuby + Windows issue with net-http-persistent vendored code [#4138](https://github.com/rubygems/rubygems/pull/4138)
7
+ - Reset also root when in a nested invocation [#4140](https://github.com/rubygems/rubygems/pull/4140)
8
+ - Restore 2.1.4 resolution times [#4134](https://github.com/rubygems/rubygems/pull/4134)
9
+ - Fix `bundle outdated --strict` crash [#4133](https://github.com/rubygems/rubygems/pull/4133)
10
+ - Autoload `Bundler::RemoteSpecification` to workaround crash on jruby [#4114](https://github.com/rubygems/rubygems/pull/4114)
11
+
1
12
  # 2.2.0 (December 7, 2020)
2
13
 
3
14
  ## Enhancements:
@@ -34,7 +45,11 @@
34
45
 
35
46
  # 2.2.0.rc.2 (October 6, 2020)
36
47
 
37
- ## Minor enhancements:
48
+ ## Features:
49
+
50
+ - Add `bundle fund` command [#3390](https://github.com/rubygems/rubygems/pull/3390)
51
+
52
+ ## Enhancements:
38
53
 
39
54
  - Fix ls-files matching regexp [#3845](https://github.com/rubygems/rubygems/pull/3845)
40
55
  - Remove redundant `bundler/setup` require from `spec_helper.rb` generated by `bundle gem` [#3791](https://github.com/rubygems/rubygems/pull/3791)
@@ -67,10 +82,6 @@
67
82
 
68
83
  - Deprecate `bundle cache --all` flag [#3932](https://github.com/rubygems/rubygems/pull/3932)
69
84
 
70
- ## Features:
71
-
72
- - Add `bundle fund` command [#3390](https://github.com/rubygems/rubygems/pull/3390)
73
-
74
85
  ## Documentation:
75
86
 
76
87
  - Correct grammar in Gemfile docs [#3990](https://github.com/rubygems/rubygems/pull/3990)
@@ -81,12 +92,12 @@
81
92
 
82
93
  # 2.2.0.rc.1 (July 2, 2020)
83
94
 
84
- ## Major enhancements:
95
+ ## Features:
85
96
 
86
97
  - Windows support. There's still gotchas and unimplemented features, but a Windows CI is now enforced.
87
98
  - Full multiplatform support. Bundler should now seamlessly handle multiplatform `Gemfile` or `gems.rb` files.
88
99
 
89
- ## Features:
100
+ ## Enhancements:
90
101
 
91
102
  - `bundle info` now includes gem metadata [#7376](https://github.com/rubygems/bundler/pull/7376)
92
103
  - `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 +108,6 @@
97
108
  - Add `bundle plugin uninstall` [#3482](https://github.com/rubygems/rubygems/pull/3482)
98
109
  - `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
110
  - 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
111
  - `bundle outdated` now prints output in columns for better readability [#4474](https://github.com/rubygems/bundler/pull/4474)
104
112
  - 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
113
  - `BUNDLE_APP_CONFIG` environment variable is now documented [#7563](https://github.com/rubygems/bundler/pull/7563)
@@ -192,7 +200,7 @@
192
200
  - Restore previous `BUNDLE_GEMFILE` in `bundler/inline` [#7418](https://github.com/rubygems/bundler/pull/7418)
193
201
  - 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
202
 
195
- ## Minor enhancements:
203
+ ## Enhancements:
196
204
 
197
205
  - `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
206
  - `bundle update` no longer warns when used without arguments (might be deprecated again in the future) [#7475](https://github.com/rubygems/bundler/pull/7475)
@@ -321,7 +329,7 @@
321
329
 
322
330
  # 2.0.2 (June 13, 2019)
323
331
 
324
- ## Minor enhancements:
332
+ ## Enhancements:
325
333
 
326
334
  - 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
335
  - Use `__dir__` instead of `__FILE__` when generating a gem with `bundle gem` ([#6503](https://github.com/rubygems/bundler/pull/6503))
@@ -365,7 +373,7 @@
365
373
 
366
374
  - Ruby 2.6 compatibility fixes (@segiddins)
367
375
 
368
- ## Minor enhancements:
376
+ ## Enhancements:
369
377
 
370
378
  - Import changes from Bundler 1.17.3 release
371
379
 
@@ -460,7 +468,7 @@ Changes
460
468
 
461
469
  # 1.16.6 (October 5, 2018)
462
470
 
463
- ## Minor enhancements:
471
+ ## Enhancements:
464
472
 
465
473
  - 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
474
  - Add Homepage, Source Code and Changelog URI metadata fields to the `bundle gem` gemspec template (@walf443)
@@ -482,7 +490,7 @@ Changes
482
490
 
483
491
  # 1.16.5 (September 18, 2018)
484
492
 
485
- ## Minor enhancements:
493
+ ## Enhancements:
486
494
 
487
495
  - Add support for TruffleRuby (@eregon)
488
496
 
@@ -498,7 +506,7 @@ Changes
498
506
 
499
507
  # 1.16.4 (August 17, 2018)
500
508
 
501
- ## Minor enhancements:
509
+ ## Enhancements:
502
510
 
503
511
  - Welcome new members to the Bundler core team (@indirect)
504
512
  - Don't mutate original error trees when determining version_conflict_message (@greysteil)
@@ -540,7 +548,7 @@ Changes
540
548
 
541
549
  # 1.16.2 (April 20, 2018)
542
550
 
543
- ## Minor enhancements:
551
+ ## Enhancements:
544
552
 
545
553
  - Include the gem's source in the gem install error message when available (@papanikge)
546
554
  - Remove unnecessary executable bit from gem template (@voxik)
@@ -1519,7 +1527,7 @@ Changes
1519
1527
  - prefer gemspecs closest to the directory root ([#3428](https://github.com/rubygems/bundler/issues/3428), @segiddins)
1520
1528
  - debug log for API request limits ([#3452](https://github.com/rubygems/bundler/issues/3452), @neerfri)
1521
1529
 
1522
- ## Minor enhancements:
1530
+ ## Enhancements:
1523
1531
 
1524
1532
  - Molinillo resolver, shared with CocoaPods (@segiddins)
1525
1533
  - updated Thor to v0.19.1 (@segiddins)
@@ -212,6 +212,15 @@ module Bundler
212
212
  end
213
213
  end
214
214
 
215
+ def locked_bundler_version
216
+ return nil unless defined?(@definition) && @definition
217
+
218
+ locked_gems = definition.locked_gems
219
+ return nil unless locked_gems
220
+
221
+ locked_gems.bundler_version
222
+ end
223
+
215
224
  def ruby_scope
216
225
  "#{Bundler.rubygems.ruby_engine}/#{RbConfig::CONFIG["ruby_version"]}"
217
226
  end
@@ -602,8 +611,9 @@ EOF
602
611
  reset_rubygems!
603
612
  end
604
613
 
605
- def reset_settings!
614
+ def reset_settings_and_root!
606
615
  @settings = nil
616
+ @root = nil
607
617
  end
608
618
 
609
619
  def reset_paths!
@@ -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 = "2020-12-10".freeze
8
- @git_commit_sha = "d3628e5019".freeze
7
+ @built_at = "2020-12-14".freeze
8
+ @git_commit_sha = "b98d6b2035".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -57,7 +57,7 @@ module Bundler
57
57
  custom_gemfile = options[:gemfile] || Bundler.settings[:gemfile]
58
58
  if custom_gemfile && !custom_gemfile.empty?
59
59
  Bundler::SharedHelpers.set_env "BUNDLE_GEMFILE", File.expand_path(custom_gemfile)
60
- Bundler.reset_settings!
60
+ Bundler.reset_settings_and_root!
61
61
  end
62
62
 
63
63
  Bundler.settings.set_command_option_if_given :retry, options[:retry]
@@ -76,6 +76,8 @@ module Bundler
76
76
  next unless gems.empty? || gems.include?(current_spec.name)
77
77
 
78
78
  active_spec = retrieve_active_spec(definition, current_spec)
79
+ next unless active_spec
80
+
79
81
  next unless filter_options_patch.empty? || update_present_via_semver_portions(current_spec, active_spec, options)
80
82
 
81
83
  gem_outdated = Gem::Version.new(active_spec.version) > Gem::Version.new(current_spec.version)
@@ -229,8 +231,6 @@ module Bundler
229
231
  end
230
232
 
231
233
  def update_present_via_semver_portions(current_spec, active_spec, options)
232
- return false if active_spec.nil?
233
-
234
234
  current_major = current_spec.version.segments.first
235
235
  active_major = active_spec.version.segments.first
236
236
 
@@ -269,7 +269,9 @@ module Bundler
269
269
  else
270
270
  # Run a resolve against the locally available gems
271
271
  Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
272
- last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms)
272
+ platforms_for_resolve = platforms.one? {|p| generic(p) == Gem::Platform::RUBY } ? platforms : platforms.reject{|p| p == Gem::Platform::RUBY }
273
+ expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies, @remote, platforms_for_resolve.map {|p| generic(p) })
274
+ last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms_for_resolve)
273
275
  end
274
276
 
275
277
  # filter out gems that _can_ be installed on multiple platforms, but don't need
@@ -548,11 +550,7 @@ module Bundler
548
550
  private
549
551
 
550
552
  def add_current_platform
551
- current_platforms.each {|platform| add_platform(platform) }
552
- end
553
-
554
- def current_platforms
555
- [local_platform, generic_local_platform].uniq
553
+ add_platform(local_platform)
556
554
  end
557
555
 
558
556
  def change_reason
@@ -847,14 +845,6 @@ module Bundler
847
845
  @locked_specs[dep].any? {|s| s.satisfies?(dep) && (!dep.source || s.source.include?(dep.source)) }
848
846
  end
849
847
 
850
- # This list of dependencies is only used in #resolve, so it's OK to add
851
- # the metadata dependencies here
852
- def expanded_dependencies
853
- @expanded_dependencies ||= begin
854
- expand_dependencies(dependencies + metadata_dependencies, @remote)
855
- end
856
- end
857
-
858
848
  def metadata_dependencies
859
849
  @metadata_dependencies ||= begin
860
850
  ruby_versions = ruby_version_requirements(@ruby_version)
@@ -881,7 +871,8 @@ module Bundler
881
871
  end
882
872
  end
883
873
 
884
- def expand_dependencies(dependencies, remote = false)
874
+ def expand_dependencies(dependencies, remote = false, platforms = nil)
875
+ platforms ||= @platforms
885
876
  deps = []
886
877
  dependencies.each do |dep|
887
878
  dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name)
@@ -96,9 +96,11 @@ module Bundler
96
96
  def gem_platforms(valid_platforms)
97
97
  return valid_platforms if @platforms.empty?
98
98
 
99
+ valid_generic_platforms = valid_platforms.map {|p| [p, GemHelpers.generic(p)] }.to_h
99
100
  @gem_platforms ||= expanded_platforms.compact.uniq
100
101
 
101
- valid_platforms & @gem_platforms
102
+ filtered_generic_platforms = valid_generic_platforms.values & @gem_platforms
103
+ valid_generic_platforms.select {|_, v| filtered_generic_platforms.include?(v) }.keys
102
104
  end
103
105
 
104
106
  def expanded_platforms
@@ -82,7 +82,7 @@ module Bundler
82
82
  search_object = if source.is_a?(Source::Path)
83
83
  Dependency.new(name, version)
84
84
  else
85
- self
85
+ ruby_platform_materializes_to_ruby_platform? ? self : Dependency.new(name, version)
86
86
  end
87
87
  platform_object = Gem::Platform.new(platform)
88
88
  candidates = source.specs.search(search_object)
@@ -129,5 +129,19 @@ module Bundler
129
129
 
130
130
  @specification.send(method, *args, &blk)
131
131
  end
132
+
133
+ #
134
+ # Bundler 2.2.0 was the first version that records the full resolution
135
+ # including platform specific gems in the lockfile, which means that if a
136
+ # gem with RUBY platform is recorded, the RUBY platform version of the gem
137
+ # should be installed. Previously bundler would record only generic versions
138
+ # in the lockfile and then install the most specific platform variant if
139
+ # available.
140
+ #
141
+ def ruby_platform_materializes_to_ruby_platform?
142
+ locked_bundler_version = Bundler.locked_bundler_version
143
+
144
+ locked_bundler_version.nil? || Gem::Version.new(locked_bundler_version) >= Gem::Version.new("2.2.0")
145
+ end
132
146
  end
133
147
  end
@@ -75,7 +75,7 @@ module Bundler
75
75
  return unless debug?
76
76
  debug_info = yield
77
77
  debug_info = debug_info.inspect unless debug_info.is_a?(String)
78
- warn debug_info.split("\n").map {|s| "BUNDLER: " + " " * depth + s }
78
+ puts debug_info.split("\n").map {|s| "BUNDLER: " + " " * depth + s }
79
79
  end
80
80
 
81
81
  def debug?
@@ -106,18 +106,19 @@ module Bundler
106
106
  specification.dependencies_for_activated_platforms
107
107
  end
108
108
 
109
- def search_for(dependency)
110
- platform = dependency.__platform
111
- dependency = dependency.dep unless dependency.is_a? Gem::Dependency
112
- search = @search_for[dependency] ||= begin
109
+ def search_for(dependency_proxy)
110
+ platform = dependency_proxy.__platform
111
+ dependency = dependency_proxy.dep
112
+ @search_for[dependency_proxy] ||= begin
113
+ name = dependency.name
113
114
  index = index_for(dependency)
114
- results = index.search(dependency, @base[dependency.name])
115
+ results = index.search(dependency, @base[name])
115
116
 
116
- if vertex = @base_dg.vertex_named(dependency.name)
117
+ if vertex = @base_dg.vertex_named(name)
117
118
  locked_requirement = vertex.payload.requirement
118
119
  end
119
120
 
120
- if !@prerelease_specified[dependency.name] && (!@use_gvp || locked_requirement.nil?)
121
+ if !@prerelease_specified[name] && (!@use_gvp || locked_requirement.nil?)
121
122
  # Move prereleases to the beginning of the list, so they're considered
122
123
  # last during resolution.
123
124
  pre, results = results.partition {|spec| spec.version.prerelease? }
@@ -145,31 +146,25 @@ module Bundler
145
146
  end
146
147
  # GVP handles major itself, but it's still a bit risky to trust it with it
147
148
  # until we get it settled with new behavior. For 2.x it can take over all cases.
148
- if !@use_gvp
149
+ search = if !@use_gvp
149
150
  spec_groups
150
151
  else
151
152
  @gem_version_promoter.sort_versions(dependency, spec_groups)
152
153
  end
153
- end
154
- selected_sgs = []
155
- search.each do |sg|
156
- next unless sg.for?(platform)
157
- # Add a spec group for "non platform specific spec" as the fallback
158
- # spec group.
159
- sg_ruby = sg.copy_for(Gem::Platform::RUBY)
160
- selected_sgs << sg_ruby if sg_ruby
161
- sg_all_platforms = nil
162
- all_platforms = @platforms + [platform]
163
- self.class.sort_platforms(all_platforms).reverse_each do |other_platform|
164
- if sg_all_platforms.nil?
165
- sg_all_platforms = sg.copy_for(other_platform)
166
- else
167
- sg_all_platforms.activate_platform!(other_platform)
168
- end
154
+ selected_sgs = []
155
+ search.each do |sg|
156
+ next unless sg.for?(platform)
157
+ sg_all_platforms = sg.copy_for(self.class.sort_platforms(@platforms).reverse)
158
+ selected_sgs << sg_all_platforms
159
+
160
+ next if sg_all_platforms.activated_platforms == [Gem::Platform::RUBY]
161
+ # Add a spec group for "non platform specific spec" as the fallback
162
+ # spec group.
163
+ sg_ruby = sg.copy_for([Gem::Platform::RUBY])
164
+ selected_sgs.insert(-2, sg_ruby) if sg_ruby
169
165
  end
170
- selected_sgs << sg_all_platforms
166
+ selected_sgs
171
167
  end
172
- selected_sgs
173
168
  end
174
169
 
175
170
  def index_for(dependency)
@@ -6,7 +6,7 @@ module Bundler
6
6
  include GemHelpers
7
7
 
8
8
  attr_accessor :name, :version, :source
9
- attr_accessor :ignores_bundler_dependencies
9
+ attr_accessor :ignores_bundler_dependencies, :activated_platforms
10
10
 
11
11
  def initialize(all_specs)
12
12
  @all_specs = all_specs
@@ -32,17 +32,13 @@ module Bundler
32
32
  end.compact.uniq
33
33
  end
34
34
 
35
- def activate_platform!(platform)
36
- return unless for?(platform)
37
- return if @activated_platforms.include?(platform)
38
- @activated_platforms << platform
39
- end
35
+ def copy_for(platforms)
36
+ platforms.select! {|p| for?(p) }
37
+ return unless platforms.any?
40
38
 
41
- def copy_for(platform)
42
39
  copied_sg = self.class.new(@all_specs)
43
40
  copied_sg.ignores_bundler_dependencies = @ignores_bundler_dependencies
44
- return nil unless copied_sg.for?(platform)
45
- copied_sg.activate_platform!(platform)
41
+ copied_sg.activated_platforms = platforms
46
42
  copied_sg
47
43
  end
48
44
 
@@ -565,7 +565,6 @@ module Bundler
565
565
  end
566
566
 
567
567
  def all_specs
568
- require_relative "remote_specification"
569
568
  Gem::Specification.stubs.map do |stub|
570
569
  StubSpecification.from_stub(stub)
571
570
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "remote_specification"
4
-
5
3
  module Bundler
6
4
  class StubSpecification < RemoteSpecification
7
5
  def self.from_stub(stub)
@@ -159,7 +159,14 @@ class Bundler::Persistent::Net::HTTP::Persistent
159
159
  # limits (typically windows).
160
160
 
161
161
  if Process.const_defined? :RLIMIT_NOFILE
162
- DEFAULT_POOL_SIZE = Process.getrlimit(Process::RLIMIT_NOFILE).first / 4
162
+ open_file_limits = Process.getrlimit(Process::RLIMIT_NOFILE)
163
+
164
+ # Under JRuby on Windows Process responds to `getrlimit` but returns something that does not match docs
165
+ if open_file_limits.respond_to?(:first)
166
+ DEFAULT_POOL_SIZE = open_file_limits.first / 4
167
+ else
168
+ DEFAULT_POOL_SIZE = 256
169
+ end
163
170
  else
164
171
  DEFAULT_POOL_SIZE = 256
165
172
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.2.0".freeze
4
+ VERSION = "2.2.1".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
@@ -8,7 +8,7 @@
8
8
  require 'rbconfig'
9
9
 
10
10
  module Gem
11
- VERSION = "3.2.0".freeze
11
+ VERSION = "3.2.1".freeze
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
@@ -52,7 +52,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
52
52
  end
53
53
 
54
54
  versions(req.name).each do |ver|
55
- if req.dependency.match? req.name, ver[:number]
55
+ if req.dependency.match? req.name, ver[:number], @prerelease
56
56
  res << Gem::Resolver::APISpecification.new(self, ver)
57
57
  end
58
58
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- require 'webrick'
3
2
  require 'zlib'
4
3
  require 'erb'
5
4
  require 'uri'
@@ -429,6 +428,12 @@ div.method-source-code pre { color: #ffdead; overflow: hidden; }
429
428
  end
430
429
 
431
430
  def initialize(gem_dirs, port, daemon, launch = nil, addresses = nil)
431
+ begin
432
+ require 'webrick'
433
+ rescue LoadError
434
+ abort "webrick is not found. You may need to `gem install webrick` to install webrick."
435
+ end
436
+
432
437
  Gem::RDoc.load_rdoc
433
438
  Socket.do_not_reverse_lookup = true
434
439
 
@@ -148,6 +148,7 @@ class Gem::Source
148
148
  spec = Gem::Util.inflate spec
149
149
 
150
150
  if update_cache?
151
+ require "fileutils"
151
152
  FileUtils.mkdir_p cache_dir
152
153
 
153
154
  File.open local_spec, 'wb' do |io|
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.2.0"
5
+ s.version = "3.2.1"
6
6
  s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
7
7
  s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
8
8
 
@@ -55,6 +55,35 @@ class TestGemResolverAPISet < Gem::TestCase
55
55
  assert_equal expected, set.find_all(a_dep)
56
56
  end
57
57
 
58
+ def test_find_all_prereleases
59
+ spec_fetcher
60
+
61
+ data = [
62
+ { :name => 'a',
63
+ :number => '1',
64
+ :platform => 'ruby',
65
+ :dependencies => [] },
66
+ { :name => 'a',
67
+ :number => '2.a',
68
+ :platform => 'ruby',
69
+ :dependencies => [] },
70
+ ]
71
+
72
+ @fetcher.data["#{@dep_uri}?gems=a"] = Marshal.dump data
73
+
74
+ set = @DR::APISet.new @dep_uri
75
+ set.prerelease = true
76
+
77
+ a_dep = @DR::DependencyRequest.new dep('a'), nil
78
+
79
+ expected = [
80
+ @DR::APISpecification.new(set, data.first),
81
+ @DR::APISpecification.new(set, data.last),
82
+ ]
83
+
84
+ assert_equal expected, set.find_all(a_dep)
85
+ end
86
+
58
87
  def test_find_all_cache
59
88
  spec_fetcher
60
89
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -13,10 +13,10 @@ authors:
13
13
  - André Arko
14
14
  - Evan Phoenix
15
15
  - Hiroshi SHIBATA
16
- autorequire:
16
+ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2020-12-10 00:00:00.000000000 Z
19
+ date: 2020-12-14 00:00:00.000000000 Z
20
20
  dependencies: []
21
21
  description: |-
22
22
  A package (also known as a library) contains a set of functionality
@@ -53,30 +53,30 @@ extra_rdoc_files:
53
53
  - bundler/LICENSE.md
54
54
  - bundler/README.md
55
55
  - hide_lib_for_update/note.txt
56
+ - bundler/man/bundle-init.1
56
57
  - bundler/man/bundle-add.1
57
- - bundler/man/bundle-binstubs.1
58
- - bundler/man/bundle-cache.1
58
+ - bundler/man/bundle-remove.1
59
+ - bundler/man/bundle-info.1
60
+ - bundler/man/bundle.1
59
61
  - bundler/man/bundle-check.1
60
- - bundler/man/bundle-clean.1
61
- - bundler/man/bundle-config.1
62
- - bundler/man/bundle-doctor.1
63
62
  - bundler/man/bundle-exec.1
63
+ - bundler/man/bundle-show.1
64
+ - bundler/man/bundle-outdated.1
65
+ - bundler/man/bundle-platform.1
64
66
  - bundler/man/bundle-gem.1
65
- - bundler/man/bundle-info.1
66
- - bundler/man/bundle-init.1
67
67
  - bundler/man/bundle-inject.1
68
- - bundler/man/bundle-install.1
69
- - bundler/man/bundle-list.1
68
+ - bundler/man/bundle-binstubs.1
69
+ - bundler/man/bundle-doctor.1
70
70
  - bundler/man/bundle-lock.1
71
- - bundler/man/bundle-open.1
72
- - bundler/man/bundle-outdated.1
73
- - bundler/man/bundle-platform.1
74
- - bundler/man/bundle-pristine.1
75
- - bundler/man/bundle-remove.1
76
- - bundler/man/bundle-show.1
77
- - bundler/man/bundle-update.1
78
71
  - bundler/man/bundle-viz.1
79
- - bundler/man/bundle.1
72
+ - bundler/man/bundle-config.1
73
+ - bundler/man/bundle-list.1
74
+ - bundler/man/bundle-clean.1
75
+ - bundler/man/bundle-update.1
76
+ - bundler/man/bundle-pristine.1
77
+ - bundler/man/bundle-open.1
78
+ - bundler/man/bundle-cache.1
79
+ - bundler/man/bundle-install.1
80
80
  files:
81
81
  - CODE_OF_CONDUCT.md
82
82
  - CONTRIBUTING.md
@@ -767,7 +767,7 @@ licenses:
767
767
  - Ruby
768
768
  - MIT
769
769
  metadata: {}
770
- post_install_message:
770
+ post_install_message:
771
771
  rdoc_options:
772
772
  - "--main"
773
773
  - README.md
@@ -786,7 +786,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
786
786
  version: '0'
787
787
  requirements: []
788
788
  rubygems_version: 3.2.0
789
- signing_key:
789
+ signing_key:
790
790
  specification_version: 4
791
791
  summary: RubyGems is a package management framework for Ruby.
792
792
  test_files: []