rubygems-update 4.0.0.beta2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f31ce47efac5d3d0089c3975c5780af2261713de46df8c22303f5ac55573d518
4
- data.tar.gz: b43f1d1d9f1738113a8019f3ae2545d397994d5521b67c49ff2c483bbfea1b3c
3
+ metadata.gz: e3a33e757835b567451e625eb60fd87dc9d40b5710c96f6a548cf493bb930f03
4
+ data.tar.gz: 95b7748028d7563f74e22aac82e4eab9766ba4aca0b29596af58264ac42721e6
5
5
  SHA512:
6
- metadata.gz: 68e41c3357b295d7d47e18e010429c345f13fe61b8fa634ed8829ccc10d285912c949a3bc2e39658ee3006581ceb4607bb748165eca58d5105c7305e4ac0d21b
7
- data.tar.gz: a04efa571683ed932c4da17f87d5fea140961849479d854671098ef2a3d61b2394d4da977218cd2f22db8016b3d25d80e198ca98df5ba7a2722531c502020fd2
6
+ metadata.gz: 86a9a29465975044bfc0ad313700a2037a3ef33182f905134df80ab09b43bb753ccd5512bc0cdcc4c8838648ed7e01cfa47d9348d3d482d43c6a045584119be4
7
+ data.tar.gz: aaa0136052ccb1ca34cbedc2d45707f34b82820d1b72859c9de97f959b861bddae87e77801a47a50c79f5b5fb3fe2ce56d8fc46c47506646e554629c3bb41cf4
data/CHANGELOG.md CHANGED
@@ -1,55 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## 4.0.0.beta2 / 2025-11-26
4
-
5
- ### Deprecations:
6
-
7
- * Deprecate comparing Gem::Version objects with strings. Pull request
8
- [#9085](https://github.com/ruby/rubygems/pull/9085) by tenderlove
9
-
10
- ### Enhancements:
11
-
12
- * Undeprecate Gem::Version#<=> against strings. Pull request
13
- [#9110](https://github.com/ruby/rubygems/pull/9110) by byroot
14
- * Installs bundler 4.0.0.beta2 as a default gem.
15
-
16
- ### Bug fixes:
17
-
18
- * Respect `BUNDLE_VERSION` config at Gem::BundlerVersionFinder. Pull
19
- request [#9106](https://github.com/ruby/rubygems/pull/9106) by hsbt
20
-
21
- ## 4.0.0.beta1 / 2025-11-20
22
-
23
- ### Security:
24
-
25
- * Bump up vendored URI to 1.0.4. Pull request
26
- [#9031](https://github.com/ruby/rubygems/pull/9031) by hsbt
27
-
28
- ### Breaking changes:
29
-
30
- * Removed deprecated `-C` option from gem build. Pull request
31
- [#9088](https://github.com/ruby/rubygems/pull/9088) by hsbt
32
- * Removed deprecated Gem::Specification#has_rdoc, has_rdoc= and has_rdoc?.
33
- Pull request [#9084](https://github.com/ruby/rubygems/pull/9084) by hsbt
34
- * Removed deprecated `gem query` command. Pull request
35
- [#9083](https://github.com/ruby/rubygems/pull/9083) by hsbt
36
- * Removed deprecated Gem::DependencyInstaller#find_gems_with_sources. Pull
37
- request [#9082](https://github.com/ruby/rubygems/pull/9082) by hsbt
38
- * Remove deprecated methods of RubyGems. Pull request
39
- [#9081](https://github.com/ruby/rubygems/pull/9081) by hsbt
40
- * Make verification methods private. Pull request
41
- [#9051](https://github.com/ruby/rubygems/pull/9051) by tenderlove
42
- * Deprecate `--default` option from install command. Pull request
43
- [#7588](https://github.com/ruby/rubygems/pull/7588) by hsbt
44
- * Switch to 4.0.0.dev in development version. Pull request
45
- [#9002](https://github.com/ruby/rubygems/pull/9002) by hsbt
46
- * Removed `compatibility.rb` for RG 4.0. Pull request
47
- [#8899](https://github.com/ruby/rubygems/pull/8899) by hsbt
48
-
49
- ### Deprecations:
50
-
51
- * Deprecate `Gem::Specification#datadir`. Pull request
52
- [#8900](https://github.com/ruby/rubygems/pull/8900) by hsbt
3
+ ## 4.0.0 / 2025-12-03
53
4
 
54
5
  ### Features:
55
6
 
@@ -62,6 +13,8 @@
62
13
 
63
14
  ### Performance:
64
15
 
16
+ * Add `MAKEFLAGS=-j` by default before compiling. Pull request
17
+ [#9131](https://github.com/ruby/rubygems/pull/9131) by Edouard-chin
65
18
  * Remove some memoization. Pull request
66
19
  [#9017](https://github.com/ruby/rubygems/pull/9017) by tenderlove
67
20
  * Pull `Gem.win_platform?` out of a hot path. Pull request
@@ -81,13 +34,9 @@
81
34
  [#9089](https://github.com/ruby/rubygems/pull/9089) by hsbt
82
35
  * Removed unused `Gem::Deprecate`. Pull request
83
36
  [#9090](https://github.com/ruby/rubygems/pull/9090) by hsbt
84
- * Test all tests of `make test-all` by ruby core. Pull request
85
- [#9075](https://github.com/ruby/rubygems/pull/9075) by hsbt
86
37
  * Add debug logging information to see the time it took to download and
87
38
  install a gem. Pull request
88
39
  [#9066](https://github.com/ruby/rubygems/pull/9066) by Edouard-chin
89
- * Use `assert_ractor` for testing Ractor. Pull request
90
- [#9069](https://github.com/ruby/rubygems/pull/9069) by hsbt
91
40
  * Fix constants in TAR to be frozen. Pull request
92
41
  [#9041](https://github.com/ruby/rubygems/pull/9041) by tenderlove
93
42
  * Remove open-ended and prerelease dependency warnings when building gems.
@@ -97,16 +46,81 @@
97
46
  [#8753](https://github.com/ruby/rubygems/pull/8753) by cfis
98
47
  * Restrict what schemes are acceptable in the remote fetcher. Pull request
99
48
  [#9022](https://github.com/ruby/rubygems/pull/9022) by tenderlove
49
+ * `gem sources --prepend` and `--append` allow finer grained control of
50
+ sources. Pull request [#8901](https://github.com/ruby/rubygems/pull/8901)
51
+ by martinemde
52
+ * Improve `gem sources --remove` output. Pull request
53
+ [#8909](https://github.com/ruby/rubygems/pull/8909) by deivid-rodriguez
54
+ * Make `gem sources` output more clear. Pull request
55
+ [#8938](https://github.com/ruby/rubygems/pull/8938) by deivid-rodriguez
100
56
  * Don't fail if there is no makefile, simply don't do anything. Pull
101
57
  request [#8879](https://github.com/ruby/rubygems/pull/8879) by ioquatix
102
- * Installs bundler 4.0.0.beta1 as a default gem.
58
+ * Use IMDSv2 for S3 instance credentials. Pull request
59
+ [#7709](https://github.com/ruby/rubygems/pull/7709) by folbricht-stripe
60
+ * Fix regression in presence of RVM gems. Pull request
61
+ [#8854](https://github.com/ruby/rubygems/pull/8854) by deivid-rodriguez
62
+ * Restore parsing "--" as an unknown platform rather than crashing. Pull
63
+ request [#8846](https://github.com/ruby/rubygems/pull/8846) by
64
+ deivid-rodriguez
65
+ * Installs bundler 4.0.0 as a default gem.
66
+
67
+ ### Bug fixes:
68
+
69
+ * Fix test failure of mswin and nmake. Pull request
70
+ [#9135](https://github.com/ruby/rubygems/pull/9135) by hsbt
71
+ * Respect `BUNDLE_VERSION` config at Gem::BundlerVersionFinder. Pull
72
+ request [#9106](https://github.com/ruby/rubygems/pull/9106) by hsbt
73
+ * Fix "did you mean" suggestions for unknown commands. Pull request
74
+ [#8948](https://github.com/ruby/rubygems/pull/8948) by deivid-rodriguez
75
+ * Fix trailing slashes not considered by `gem sources --remove`. Pull
76
+ request [#8939](https://github.com/ruby/rubygems/pull/8939) by
77
+ deivid-rodriguez
78
+
79
+ ### Security:
80
+
81
+ * Bump up vendored URI to 1.0.4. Pull request
82
+ [#9031](https://github.com/ruby/rubygems/pull/9031) by hsbt
83
+
84
+ ### Breaking changes:
85
+
86
+ * Removed deprecated `-C` option from gem build. Pull request
87
+ [#9088](https://github.com/ruby/rubygems/pull/9088) by hsbt
88
+ * Removed deprecated Gem::Specification#has_rdoc, has_rdoc= and has_rdoc?.
89
+ Pull request [#9084](https://github.com/ruby/rubygems/pull/9084) by hsbt
90
+ * Removed deprecated `gem query` command. Pull request
91
+ [#9083](https://github.com/ruby/rubygems/pull/9083) by hsbt
92
+ * Removed deprecated Gem::DependencyInstaller#find_gems_with_sources. Pull
93
+ request [#9082](https://github.com/ruby/rubygems/pull/9082) by hsbt
94
+ * Remove deprecated methods of RubyGems. Pull request
95
+ [#9081](https://github.com/ruby/rubygems/pull/9081) by hsbt
96
+ * Make verification methods private. Pull request
97
+ [#9051](https://github.com/ruby/rubygems/pull/9051) by tenderlove
98
+ * Deprecate `--default` option from install command. Pull request
99
+ [#7588](https://github.com/ruby/rubygems/pull/7588) by hsbt
100
+ * Removed `compatibility.rb` for RG 4.0. Pull request
101
+ [#8899](https://github.com/ruby/rubygems/pull/8899) by hsbt
102
+
103
+ ### Deprecations:
104
+
105
+ * Deprecate `Gem::Specification#datadir`. Pull request
106
+ [#8900](https://github.com/ruby/rubygems/pull/8900) by hsbt
103
107
 
104
108
  ### Documentation:
105
109
 
110
+ * Unified UPGRADING.md and extract blog.rubygems.org. Pull request
111
+ [#9148](https://github.com/ruby/rubygems/pull/9148) by hsbt
112
+ * Remove italic formatting from changelog section headers. Pull request
113
+ [#9128](https://github.com/ruby/rubygems/pull/9128) by hsbt
106
114
  * [DOC] Fix the location of Gem::Deprecate document. Pull request
107
115
  [#9065](https://github.com/ruby/rubygems/pull/9065) by nobu
108
116
  * Fix typo. Pull request
109
117
  [#9012](https://github.com/ruby/rubygems/pull/9012) by etiennebarrie
118
+ * Added document for Gem::Uninstaller. Pull request
119
+ [#8904](https://github.com/ruby/rubygems/pull/8904) by hsbt
120
+ * Use mailto link in Code of Conduct. Pull request
121
+ [#8849](https://github.com/ruby/rubygems/pull/8849) by deivid-rodriguez
122
+ * Update Code of Conduct email to conduct@rubygems.org. Pull request
123
+ [#8848](https://github.com/ruby/rubygems/pull/8848) by indirect
110
124
 
111
125
  ## 3.7.2 / 2025-09-09
112
126
 
data/Manifest.txt CHANGED
@@ -352,10 +352,9 @@ bundler/lib/bundler/vlad.rb
352
352
  bundler/lib/bundler/worker.rb
353
353
  bundler/lib/bundler/yaml_serializer.rb
354
354
  doc/MAINTAINERS.txt
355
- doc/bundler/UPGRADING.md
355
+ doc/UPGRADING.md
356
356
  doc/rubygems/CONTRIBUTING.md
357
357
  doc/rubygems/POLICIES.md
358
- doc/rubygems/UPGRADING.md
359
358
  exe/gem
360
359
  exe/update_rubygems
361
360
  hide_lib_for_update/note.txt
data/README.md CHANGED
@@ -65,7 +65,7 @@ To upgrade to the latest RubyGems, run:
65
65
 
66
66
  $ gem update --system
67
67
 
68
- See [UPGRADING](doc/rubygems/UPGRADING.md) for more details and alternative instructions.
68
+ See [UPGRADING](doc/UPGRADING.md) for more details and alternative instructions.
69
69
 
70
70
  ## Release policy
71
71
 
data/bundler/CHANGELOG.md CHANGED
@@ -1,27 +1,62 @@
1
1
  # Changelog
2
2
 
3
- ## 4.0.0.beta2 (2025-11-26)
3
+ ## 4.0.0 (2025-12-03)
4
4
 
5
5
  ### Features:
6
6
 
7
7
  - Support bundle install --lockfile option [#9111](https://github.com/ruby/rubygems/pull/9111)
8
8
  - Add support for lockfile in Gemfile and bundle install --no-lock [#9059](https://github.com/ruby/rubygems/pull/9059)
9
+ - Add `--ext=go` to `bundle gem` [#8183](https://github.com/ruby/rubygems/pull/8183)
10
+ - Update Bundler::CurrentRuby::ALL_RUBY_VERSIONS [#9058](https://github.com/ruby/rubygems/pull/9058)
11
+ - Introduce `bundle list --format=json` [#8728](https://github.com/ruby/rubygems/pull/8728)
9
12
 
10
13
  ### Performance:
11
14
 
12
15
  - Run git operations in parallel to speed things up: [#9100](https://github.com/ruby/rubygems/pull/9100)
16
+ - Replace instance method look up in plugin installer [#9094](https://github.com/ruby/rubygems/pull/9094)
17
+ - Adjust the API_REQUEST_LIMIT to make less network roundtrip [#9071](https://github.com/ruby/rubygems/pull/9071)
13
18
 
14
19
  ### Enhancements:
15
20
 
16
- - Fixup GH-9085 [#9108](https://github.com/ruby/rubygems/pull/9108)
17
- - Add go_gem/rake_task for Go native extention gem skeleton [#9105](https://github.com/ruby/rubygems/pull/9105)
18
- - Keep legacy windows platform, not removed them [#9104](https://github.com/ruby/rubygems/pull/9104)
21
+ - Make BUNDLE_LOCKFILE environment variable have precedence over lockfile method in Gemfile [#9146](https://github.com/ruby/rubygems/pull/9146)
22
+ - Improve banner message for the default command [#9145](https://github.com/ruby/rubygems/pull/9145)
23
+ - Introduce `install_or_cli_help` and use it default `bundle` command [#9136](https://github.com/ruby/rubygems/pull/9136)
24
+ - Add go_gem/rake_task for Go native extension gem skeleton [#9105](https://github.com/ruby/rubygems/pull/9105)
25
+ - Warn users that `bundle` now display the help: [#9092](https://github.com/ruby/rubygems/pull/9092)
26
+ - Use DidYouMean::SpellChecker for gem suggestions in Bundler [#3857](https://github.com/ruby/rubygems/pull/3857)
27
+ - Update all vendored libraries to latest version [#9089](https://github.com/ruby/rubygems/pull/9089)
28
+ - We don't need to allow some warning now [#9074](https://github.com/ruby/rubygems/pull/9074)
29
+ - Support to embedded Pathname [#9056](https://github.com/ruby/rubygems/pull/9056)
30
+ - Enforce activation of irb when running with bundle console [#9033](https://github.com/ruby/rubygems/pull/9033)
31
+ - Update Magnus version in Rust extension gem template [#9025](https://github.com/ruby/rubygems/pull/9025)
32
+ - Add checksum of gems hosted on private servers: [#9004](https://github.com/ruby/rubygems/pull/9004)
33
+ - Loading support on Windows [#8254](https://github.com/ruby/rubygems/pull/8254)
34
+ - Improve error message when the same source is specified through `gemspec` and `path` [#8460](https://github.com/ruby/rubygems/pull/8460)
35
+ - Raise an error in frozen mode if some registry gems have empty checksums [#8888](https://github.com/ruby/rubygems/pull/8888)
36
+ - Bump vendored thor to 1.4.0 [#8883](https://github.com/ruby/rubygems/pull/8883)
37
+ - Delay default path and global cache changes to Bundler 5 [#8867](https://github.com/ruby/rubygems/pull/8867)
38
+ - Fix spacing in bundle gem newgem.gemspec.tt [#8865](https://github.com/ruby/rubygems/pull/8865)
39
+ - Add some missing deprecation messages [#8844](https://github.com/ruby/rubygems/pull/8844)
19
40
 
20
41
  ### Bug fixes:
21
42
 
43
+ - Fixed checksums generation issue when no source is specified [#9133](https://github.com/ruby/rubygems/pull/9133)
22
44
  - Check for file existence before deletion from cache [#9095](https://github.com/ruby/rubygems/pull/9095)
23
-
24
- ## 4.0.0.beta1 (2025-11-20)
45
+ - Use method_defined?(:method, false) [#9098](https://github.com/ruby/rubygems/pull/9098)
46
+ - Handle BUNDLER_VERSION being set to an empty string [#6928](https://github.com/ruby/rubygems/pull/6928)
47
+ - Fix `bundle install` when the Gemfile contains "install_if" git gems: [#8992](https://github.com/ruby/rubygems/pull/8992)
48
+ - Fix installation issue related to path sources and precompiled gems [#8973](https://github.com/ruby/rubygems/pull/8973)
49
+ - Fix outdated lockfile during `bundle lock` when source changes [#8962](https://github.com/ruby/rubygems/pull/8962)
50
+ - Raise error on missing version file [#8963](https://github.com/ruby/rubygems/pull/8963)
51
+ - Fix `bundle cache --frozen` and `bundle cache --no-prune` not printing a deprecation message [#8926](https://github.com/ruby/rubygems/pull/8926)
52
+ - Fix local installation incorrectly forced if there's a `vendor/cache` directory and frozen mode is set [#8925](https://github.com/ruby/rubygems/pull/8925)
53
+ - Fix `bundle lock --update <gem>` with `--lockfile` flag updating all gems [#8922](https://github.com/ruby/rubygems/pull/8922)
54
+ - Fix `bundle show --verbose` and recommend it as an alternative to `bundle show --outdated` [#8915](https://github.com/ruby/rubygems/pull/8915)
55
+ - Fix `bundle cache --no-all` not printing a deprecation warning [#8912](https://github.com/ruby/rubygems/pull/8912)
56
+ - Fix `bundle update foo` unable to update foo in an edge case [#8897](https://github.com/ruby/rubygems/pull/8897)
57
+ - Fix Bundler printing more flags than actually passed in verbose mode [#8914](https://github.com/ruby/rubygems/pull/8914)
58
+ - Fix bundler failing to install sorbet-static in truffleruby when there's no lockfile [#8872](https://github.com/ruby/rubygems/pull/8872)
59
+ - Cancel deprecation of `--force` flag to `bundle install` and `bundle update` [#8843](https://github.com/ruby/rubygems/pull/8843)
25
60
 
26
61
  ### Security:
27
62
 
@@ -35,14 +70,12 @@
35
70
  - Pick and add extra changes for 4.0.0 version [#9018](https://github.com/ruby/rubygems/pull/9018)
36
71
  - Replaced Bundler::SharedHelpers.major_deprecation to feature_removed! or feature_deprecated! [#9016](https://github.com/ruby/rubygems/pull/9016)
37
72
  - Removed legacy_check option from SpecSet#for [#9015](https://github.com/ruby/rubygems/pull/9015)
38
- - Removed deprecated legacy windows platform support [#9013](https://github.com/ruby/rubygems/pull/9013)
39
73
  - Make update_requires_all_flag to settings [#9011](https://github.com/ruby/rubygems/pull/9011)
40
74
  - Make default cli command settings [#9010](https://github.com/ruby/rubygems/pull/9010)
41
75
  - Make global_gem_cache flag to settings [#9009](https://github.com/ruby/rubygems/pull/9009)
42
76
  - Consolidate removal of `Bundler.rubygems.all_specs` [#9008](https://github.com/ruby/rubygems/pull/9008)
43
77
  - Consolidate removal of `Bundler::SpecSet#-` and `Bundler::SpecSet#<<` [#9007](https://github.com/ruby/rubygems/pull/9007)
44
78
  - Replaced Bundler.feature_flag.plugins? to Bundler.settings [#9006](https://github.com/ruby/rubygems/pull/9006)
45
- - Switch to 4.0.0.dev in development version [#9002](https://github.com/ruby/rubygems/pull/9002)
46
79
  - Make `bundle show --outdated` raise an error [#8980](https://github.com/ruby/rubygems/pull/8980)
47
80
  - Make `--local-git` flag to `bundle plugin install` raise an error [#8979](https://github.com/ruby/rubygems/pull/8979)
48
81
  - Switch `cache_all` to be `true` by default [#8975](https://github.com/ruby/rubygems/pull/8975)
@@ -59,40 +92,17 @@
59
92
  - Remove deprecated `bundle viz` and `bundle inject` commands [#8923](https://github.com/ruby/rubygems/pull/8923)
60
93
  - Removed to workaround for Bundler 2.2 [#8903](https://github.com/ruby/rubygems/pull/8903)
61
94
 
62
- ### Features:
63
-
64
- - Update Bundler::CurrentRuby::ALL_RUBY_VERSIONS [#9058](https://github.com/ruby/rubygems/pull/9058)
65
- - Introduce `bundle list --format=json` [#8728](https://github.com/ruby/rubygems/pull/8728)
66
-
67
- ### Performance:
68
-
69
- - Replace instance method look up in plugin installer [#9094](https://github.com/ruby/rubygems/pull/9094)
70
- - Adjust the API_REQUEST_LIMIT to make less network roundtrip [#9071](https://github.com/ruby/rubygems/pull/9071)
71
-
72
- ### Enhancements:
73
-
74
- - Use DidYouMean::SpellChecker for gem suggestions in Bundler [#3857](https://github.com/ruby/rubygems/pull/3857)
75
- - Update all vendored libraries to latest version [#9089](https://github.com/ruby/rubygems/pull/9089)
76
- - We don't need to allow some warning now [#9074](https://github.com/ruby/rubygems/pull/9074)
77
- - Shell out fewer times [#9068](https://github.com/ruby/rubygems/pull/9068)
78
- - Build gems directly instead of shelling out [#9053](https://github.com/ruby/rubygems/pull/9053)
79
- - Support to embedded Pathname [#9056](https://github.com/ruby/rubygems/pull/9056)
80
- - Forcely activate irb when running with bundle console [#9033](https://github.com/ruby/rubygems/pull/9033)
81
- - Update Magnus version in Rust extension gem template [#9025](https://github.com/ruby/rubygems/pull/9025)
82
- - Postpone to remove legacy mingw platform [#9023](https://github.com/ruby/rubygems/pull/9023)
83
- - Add checksum of gems hosted on private servers: [#9004](https://github.com/ruby/rubygems/pull/9004)
84
- - Loading support on Windows [#8254](https://github.com/ruby/rubygems/pull/8254)
85
-
86
- ### Bug fixes:
87
-
88
- - Fix `bundle install` when the Gemfile contains "install_if" git gems: [#8992](https://github.com/ruby/rubygems/pull/8992)
89
- - Fix installation issue related to path sources and precompiled gems [#8973](https://github.com/ruby/rubygems/pull/8973)
90
- - Fix outdated lockfile during `bundle lock` when source changes [#8962](https://github.com/ruby/rubygems/pull/8962)
91
- - Raise error on missing version file [#8963](https://github.com/ruby/rubygems/pull/8963)
92
-
93
95
  ### Documentation:
94
96
 
97
+ - Unified UPGRADING.md and extract blog.rubygems.org [#9148](https://github.com/ruby/rubygems/pull/9148)
98
+ - Remove italic formatting from changelog section headers [#9128](https://github.com/ruby/rubygems/pull/9128)
95
99
  - Small clarifications to Bundler 4 upgrade docs [#8964](https://github.com/ruby/rubygems/pull/8964)
100
+ - Improve documentation of `bundle doctor`, `bundle plugin`, and `bundle config` [#8919](https://github.com/ruby/rubygems/pull/8919)
101
+ - Make sure all CLI flags and subcommands are documented [#8861](https://github.com/ruby/rubygems/pull/8861)
102
+ - Clarify documentation about new default gem installation directory in Bundler 4 [#8857](https://github.com/ruby/rubygems/pull/8857)
103
+ - Use mailto link in Code of Conduct [#8849](https://github.com/ruby/rubygems/pull/8849)
104
+ - Update Code of Conduct email to conduct@rubygems.org [#8848](https://github.com/ruby/rubygems/pull/8848)
105
+ - Add missing link to `irb` repo in DEBUGGING.md [#8842](https://github.com/ruby/rubygems/pull/8842)
96
106
 
97
107
  ## 2.7.2 (2025-09-09)
98
108
 
@@ -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 = "2025-11-26".freeze
8
- @git_commit_sha = "743810236c".freeze
7
+ @built_at = "2025-12-03".freeze
8
+ @git_commit_sha = "64d0dfe695".freeze
9
9
  # end ivars
10
10
 
11
11
  # A hash representation of the build metadata.
@@ -69,7 +69,7 @@ module Bundler
69
69
 
70
70
  # lock --lockfile works differently than install --lockfile
71
71
  unless current_cmd == "lock"
72
- custom_lockfile = options[:lockfile] || Bundler.settings[:lockfile]
72
+ custom_lockfile = options[:lockfile] || ENV["BUNDLE_LOCKFILE"] || Bundler.settings[:lockfile]
73
73
  if custom_lockfile && !custom_lockfile.empty?
74
74
  Bundler::SharedHelpers.set_env "BUNDLE_LOCKFILE", File.expand_path(custom_lockfile)
75
75
  reset_settings = true
@@ -120,20 +120,28 @@ module Bundler
120
120
  self.class.send(:class_options_help, shell)
121
121
  end
122
122
 
123
+ desc "install_or_cli_help", "Tries to run bundle install but prints a summary of bundler commands if there is no Gemfile", hide: true
124
+ def install_or_cli_help
125
+ invoke_other_command("install")
126
+ rescue GemfileNotFound => error
127
+ Bundler.ui.error error.message, wrap: true
128
+ invoke_other_command("cli_help")
129
+ end
130
+
123
131
  def self.default_command(meth = nil)
124
132
  return super if meth
125
133
 
126
- default_cli_command = Bundler.settings[:default_cli_command]
127
- return default_cli_command if default_cli_command
128
-
129
- Bundler.ui.warn(<<~MSG)
130
- In the next version of Bundler, running `bundle` without argument will no longer run `bundle install`.
131
- Instead, the `help` command will be displayed.
132
-
133
- If you'd like to keep the previous behaviour please run `bundle config set default_cli_command install --global`.
134
- MSG
134
+ unless Bundler.settings[:default_cli_command]
135
+ Bundler.ui.info <<-MSG
136
+ In a future version of Bundler, running `bundle` without argument will no longer run `bundle install`.
137
+ Instead, the `cli_help` command will be displayed. Please use `bundle install` explicitly for scripts like CI/CD.
138
+ You can use the future behavior now with `bundle config set default_cli_command cli_help --global`,
139
+ or you can continue to use the current behavior with `bundle config set default_cli_command install_or_cli_help --global`.
140
+ This message will be removed after a default_cli_command value is set.
141
+ MSG
142
+ end
135
143
 
136
- "install"
144
+ Bundler.settings[:default_cli_command] || "install_or_cli_help"
137
145
  end
138
146
 
139
147
  class_option "no-color", type: :boolean, desc: "Disable colorization in output"
@@ -274,8 +282,10 @@ module Bundler
274
282
  end
275
283
 
276
284
  require_relative "cli/install"
285
+ options = self.options.dup
286
+ options["lockfile"] ||= ENV["BUNDLE_LOCKFILE"]
277
287
  Bundler.settings.temporary(no_install: false) do
278
- Install.new(options.dup).run
288
+ Install.new(options).run
279
289
  end
280
290
  end
281
291
 
@@ -723,6 +733,19 @@ module Bundler
723
733
  config[:current_command]
724
734
  end
725
735
 
736
+ def invoke_other_command(name)
737
+ _, _, config = @_initializer
738
+ original_command = config[:current_command]
739
+ command = self.class.all_commands[name]
740
+ config[:current_command] = command
741
+ send(name)
742
+ ensure
743
+ config[:current_command] = original_command
744
+ end
745
+
746
+ def current_command=(command)
747
+ end
748
+
726
749
  def print_command
727
750
  return unless Bundler.ui.debug?
728
751
  cmd = current_command
@@ -539,6 +539,8 @@ module Bundler
539
539
  end
540
540
 
541
541
  def add_checksums
542
+ require "rubygems/package"
543
+
542
544
  @locked_checksums = true
543
545
 
544
546
  setup_domain!(add_checksums: true)
@@ -494,9 +494,9 @@ The \fBbundle install\fR \fB\-\-no\-lock\fR option (which disables lockfile crea
494
494
  .IP "2." 4
495
495
  The \fBbundle install\fR \fB\-\-lockfile\fR option\.
496
496
  .IP "3." 4
497
- The \fBlockfile\fR method in the Gemfile\.
498
- .IP "4." 4
499
497
  The \fBBUNDLE_LOCKFILE\fR environment variable\.
498
+ .IP "4." 4
499
+ The \fBlockfile\fR method in the Gemfile\.
500
500
  .IP "5." 4
501
501
  The default behavior of adding \fB\.lock\fR to the end of the Gemfile name\.
502
502
  .IP "" 0
@@ -581,6 +581,6 @@ following precedence is used:
581
581
 
582
582
  1. The `bundle install` `--no-lock` option (which disables lockfile creation).
583
583
  1. The `bundle install` `--lockfile` option.
584
- 1. The `lockfile` method in the Gemfile.
585
584
  1. The `BUNDLE_LOCKFILE` environment variable.
585
+ 1. The `lockfile` method in the Gemfile.
586
586
  1. The default behavior of adding `.lock` to the end of the Gemfile name.
@@ -625,7 +625,7 @@ class Bundler::Thor
625
625
  # alias name.
626
626
  def find_command_possibilities(meth)
627
627
  len = meth.to_s.length
628
- possibilities = all_commands.merge(map).keys.select { |n| meth == n[0, len] }.sort
628
+ possibilities = all_commands.reject { |_k, c| c.hidden? }.merge(map).keys.select { |n| meth == n[0, len] }.sort
629
629
  unique_possibilities = possibilities.map { |k| map[k] || k }.uniq
630
630
 
631
631
  if possibilities.include?(meth)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "4.0.0.beta2".freeze
4
+ VERSION = "4.0.0".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= gem_version.segments.first
data/doc/UPGRADING.md ADDED
@@ -0,0 +1,28 @@
1
+ # How to upgrade/downgrade Rubygems and Bundler:
2
+
3
+ ## Upgrade Recipe
4
+
5
+ $ gem update --system
6
+
7
+ $ gem install bundler
8
+ $ bundle update --bundler
9
+
10
+ ## Downgrade Recipe
11
+
12
+ $ gem update --system 3.7.2
13
+
14
+ $ gem install bundler -v 2.7.2
15
+ $ bundle update --bundler=2.7.2
16
+
17
+ ## Install a pre-release version
18
+
19
+ $ gem update --system --pre
20
+
21
+ $ gem install bundler --pre
22
+ $ bundle update --bundler=4.0.0.beta1
23
+
24
+ ## Install from source
25
+
26
+ * Download from: https://rubygems.org/pages/download
27
+ * Unpack into a directory and `cd` there
28
+ * Install with: `ruby setup.rb`
@@ -40,150 +40,6 @@ releases will only support Ruby 2.3 and above. As of this writing RubyGems is
40
40
  at version 2.7, so when RubyGems 2.8 is released, it will only support Ruby
41
41
  2.3 and later.
42
42
 
43
- ## Release Process
44
-
45
- ### Permissions
46
-
47
- You'll need the following environment variables set to release RubyGems &
48
- Bundler:
49
-
50
- * AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY: to be able to push RubyGems zip
51
- files to s3 so that they appear at RubyGems [download page].
52
-
53
- * GITHUB_RELEASE_PAT: A [GitHub PAT] with repo permissions, in order to push
54
- GitHub releases and to use the GitHub API for changelog generation.
55
-
56
- [download page]: https://rubygems.org/pages/download
57
- [GitHub PAT]: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
58
-
59
- ### Recommendations for security releases
60
-
61
- * Obtain CVE numbers as needed from HackerOne or Red Hat.
62
- * Agree on a release date with ruby-core, so patches can be backported to
63
- older Ruby versions as needed.
64
- * Avoid releasing security updates on Fridays, so platform services don't
65
- have to work on weekends.
66
- * Continue with the regular release process below.
67
-
68
- ### Branching
69
-
70
- Bundler releases are synchronized with rubygems releases at the moment. That
71
- means that releases for both share the same stable branch, and they should
72
- generally happen together.
73
-
74
- The current conventional naming for stable branches is `x+1.y`, where `x.y` is
75
- the version of `bundler` that will be released. This is because `rubygems-x+1.y`
76
- will be released at the same time.
77
-
78
- For example, `rubygems-3.2.0` and `bundler-2.2.0` were both released from the
79
- `3.2` stable branch.
80
-
81
- Once a stable branch has been cut from `master`, changes for that minor release
82
- series are only made _intentionally_, via patch releases. That is to say,
83
- changes to `master` by default _won't_ make their way into the current stable
84
- branch, and development on `master` will be targeting the next minor
85
- or major release.
86
-
87
- There is a `bin/rake prepare_release[<target_rubygems_version>]` rake task
88
- that helps with creating a release. It takes a single argument, the _exact
89
- rubygems release_ being made (e.g. `3.2.3` when releasing bundler `2.2.3`).
90
- This task checks out the appropriate stable branch (`3.2`, for example), grabs
91
- all merged but unreleased PRs from both bundler & rubygems from GitHub that are
92
- compatible with the target release level, and then cherry-picks those changes
93
- (and only those changes) to a new branch based off the stable branch. Then bumps
94
- the version in all version files, synchronizes both changelogs to include all
95
- backported changes and commits that change on top of the cherry-picks.
96
-
97
- Note that this task requires all user facing pull requests to be tagged with
98
- specific labels. See [Merging a PR](../bundler/playbooks/MERGING_A_PR.md) for details.
99
-
100
- Also note that when this task cherry-picks, it cherry-picks the merge commits
101
- using the following command:
102
-
103
- ```bash
104
- $ git cherry-pick -m 1 MERGE_COMMIT_SHAS
105
- ```
106
-
107
- For example, for PR [#5029](https://github.com/rubygems/bundler/pull/5029), we
108
- cherry picked commit [dd6aef9](https://github.com/rubygems/bundler/commit/dd6aef97a5f2e7173f406267256a8c319d6134ab),
109
- not [4fe9291](https://github.com/rubygems/bundler/commit/4fe92919f51e3463f0aad6fa833ab68044311f03)
110
- using:
111
-
112
- ```bash
113
- $ git cherry-pick -m 1 dd6aef9
114
- ```
115
-
116
- After running the task, you'll have a release branch ready to be merged into the
117
- stable branch. You'll want to open a PR from this branch into the stable branch
118
- and provided CI is green, you can go ahead, merge the PR and run release tasks
119
- as specified below from the updated stable branch.
120
-
121
- ### Automatic changelog and backport generation
122
-
123
- PR labels and titles are used to automatically generate changelogs for patch and
124
- minor releases.
125
-
126
- When releasing, a changelog generation script goes through all PRs that have
127
- never made it into a release, and selects only the ones with specific labels as
128
- detailed in the `.changelog.yml` and `bundler/.changelog.yml` files. Those
129
- particular PRs get backported to the stable branch and included in the release
130
- changelog.
131
-
132
- If PRs don't have a proper label, they won't be backported to patch releases.
133
-
134
- If you want a PR to be backported to a patch level release, but don't want to
135
- include it in the changelog, you can use the special `rubygems: skip changelog`
136
- and `bundler: skip changelog` labels. For example, this is useful when
137
- backporting a PR generates conflicts that are solved by backporting another PR
138
- with no user visible changes. You can use these special labels to also backport
139
- the other PR and not get any conflicts.
140
-
141
- ### Breaking changes
142
-
143
- Bundler cares a lot about preserving compatibility. As a result, changes that
144
- break backwards compatibility should (whenever this is possible) include a feature
145
- release that is backwards compatible, and issue warnings for all options and
146
- behaviors that will change.
147
-
148
- We only release major breaking changes when incrementing the _major_ version of
149
- Bundler and RubyGems. However, experience shows that almost every single part of
150
- Bundler and RubyGems is depended on by someone in ways hard to anticipate. So if
151
- we were strict about breaking changes we'd need to hold on from making progress
152
- a lot, or continuously increment the major version, emptying "really major"
153
- versions from their meaning. Because of this, we also may release "small"
154
- breaking changes in minor releases. "Small" here means that we expect them to
155
- affect only very few users in rare cases.
156
-
157
- ### Steps for patch releases
158
-
159
- * Confirm all PRs that you want backported are properly tagged with `rubygems:
160
- <type>` or `bundler: <type>` labels at GitHub.
161
- * Run `bin/rake prepare_release[<target_rubygems_version>]`. This will create
162
- a PR to the stable branch with the backports included in the release, and
163
- proper changelogs and version bumps. It will also create a PR to merge
164
- release changelogs into master.
165
- * Once CI passes, merge the release PR, switch to the stable branch and pull
166
- the PR just merged.
167
- * Release `bundler` with `bin/rake bundler:release`.
168
- * Release `rubygems` with `bin/rake release`.
169
-
170
- ### Steps for minor and major releases
171
-
172
- * Confirm all PRs that you want listed in changelogs are properly tagged with
173
- `rubygems: <type>` or `bundler: <type>` labels at GitHub.
174
- * Run `bin/rake prepare_release[<target_rubygems_version>]`. This will create
175
- a new stable branch off the master branch, and create a PR to it with the
176
- proper version bumps and changelogs. It will also create a PR to merge
177
- release changelogs into master.
178
- * Replace the stable branch in the workflows with the new stable branch, and
179
- push that change to the release PR.
180
- * Replace version numbers with the next ".dev" version, and push that change
181
- to the master PR.
182
- * Once CI passes, merge the release PR, switch to the stable branch and pull
183
- the PR just merged.
184
- * Release `bundler` with `bin/rake bundler:release`.
185
- * Release `rubygems` with `bin/rake release`.
186
-
187
43
  ## Committer Access
188
44
 
189
45
  RubyGems committers may lose their commit privileges if they are inactive for
@@ -40,6 +40,9 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
40
40
  end
41
41
 
42
42
  ENV["DESTDIR"] = nil
43
+ unless RUBY_PLATFORM.include?("mswin") && RbConfig::CONFIG["configure_args"]&.include?("nmake")
44
+ ENV["MAKEFLAGS"] ||= "-j#{Etc.nprocessors + 1}"
45
+ end
43
46
 
44
47
  make dest_path, results, extension_dir, tmp_dest_relative, target_rbconfig: target_rbconfig
45
48
 
data/lib/rubygems.rb CHANGED
@@ -9,7 +9,7 @@
9
9
  require "rbconfig"
10
10
 
11
11
  module Gem
12
- VERSION = "4.0.0.beta2"
12
+ VERSION = "4.0.0"
13
13
  end
14
14
 
15
15
  require_relative "rubygems/defaults"
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.extra_rdoc_files = [
33
33
  "LICENSE.txt", "doc/MAINTAINERS.txt",
34
34
  "MIT.txt", "Manifest.txt", "README.md",
35
- "doc/rubygems/UPGRADING.md", "doc/rubygems/POLICIES.md", "CODE_OF_CONDUCT.md",
35
+ "doc/UPGRADING.md", "doc/rubygems/POLICIES.md", "CODE_OF_CONDUCT.md",
36
36
  "doc/rubygems/CONTRIBUTING.md",
37
37
  "bundler/LICENSE.md", "bundler/README.md",
38
38
  "hide_lib_for_update/note.txt", *Dir["bundler/lib/bundler/man/*.1", base: __dir__]
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: 4.0.0.beta2
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -76,9 +76,9 @@ extra_rdoc_files:
76
76
  - bundler/lib/bundler/man/bundle-version.1
77
77
  - bundler/lib/bundler/man/bundle.1
78
78
  - doc/MAINTAINERS.txt
79
+ - doc/UPGRADING.md
79
80
  - doc/rubygems/CONTRIBUTING.md
80
81
  - doc/rubygems/POLICIES.md
81
- - doc/rubygems/UPGRADING.md
82
82
  - hide_lib_for_update/note.txt
83
83
  files:
84
84
  - CHANGELOG.md
@@ -435,10 +435,9 @@ files:
435
435
  - bundler/lib/bundler/worker.rb
436
436
  - bundler/lib/bundler/yaml_serializer.rb
437
437
  - doc/MAINTAINERS.txt
438
- - doc/bundler/UPGRADING.md
438
+ - doc/UPGRADING.md
439
439
  - doc/rubygems/CONTRIBUTING.md
440
440
  - doc/rubygems/POLICIES.md
441
- - doc/rubygems/UPGRADING.md
442
441
  - exe/gem
443
442
  - exe/update_rubygems
444
443
  - hide_lib_for_update/note.txt
@@ -1,211 +0,0 @@
1
- # Upgrading
2
-
3
- ## Bundler 4
4
-
5
- In order to prepare for Bundler 4, you can easily configure Bundler 2.7 to
6
- behave exactly like Bundler 4 will behave. To do so, set the environment
7
- variable `BUNDLE_SIMULATE_VERSION` to `4`. Alternatively, you can use `bundle
8
- config` and enable "Bundler 4 mode" either globally through `bundle config set
9
- --global simulate_version 4`, or locally through `bundle config set --local
10
- simulate_version 4`. From now on in this document we will assume that all three
11
- of these configuration options are available, but will only mention `bundle
12
- config set <option> <value>`.
13
-
14
- The following is a summary of the changes that we plan to introduce in Bundler
15
- 4, and why we will be making those changes. Some of them should be well known
16
- already by existing users, because we have been printing deprecation messages
17
- for years, but some of them are defaults that will be switched in Bundler 4 and
18
- needs some heads up.
19
-
20
- ### Running just `bundle` will print help usage
21
-
22
- We're changing this default to make Bundler more friendly for new users. We do
23
- understand that long time users already know how Bundler works and find useful
24
- that just `bundle` defaults to `bundle install`. Those users can keep the
25
- existing default by configuring
26
-
27
- ```
28
- bundle config default_cli_command install
29
- ```
30
-
31
- ### Flags passed to `bundle install` that relied on being remembered across invocations will be removed
32
-
33
- In particular, the `--clean`, `--deployment`, `--frozen`, `--no-prune`,
34
- `--path`, `--shebang`, `--system`, `--without`, and `--with` options to `bundle
35
- install`.
36
-
37
- Remembering CLI options has been a source of historical confusion and bug
38
- reports, not only for beginners but also for experienced users. A CLI tool
39
- should not behave differently across exactly the same invocations _unless_
40
- explicitly configured to do so. This is what configuration is about after all,
41
- and things should never be silently configured without the user knowing about
42
- it.
43
-
44
- The problem with changing this behavior is that very common workflows are
45
- relying on it. For example, when you run `bundle install --without
46
- development:test` in production, those flags are persisted in the app's
47
- configuration file and further `bundle` invocations will happily ignore
48
- development and test gems. This magic will disappear from bundler 4, and you
49
- will explicitly need to configure it, either through environment variables,
50
- application configuration, or machine configuration. For example, with `bundle
51
- config set --local without development test`.
52
-
53
- ### Bundler will include checksums in new lockfiles by default
54
-
55
- We shipped this security feature recently and we believe it's time to turn it on
56
- by default, so that everyone benefits from the extra security assurances. So
57
- whenever you create a new lockfile, Bundler will include a CHECKSUMS section.
58
- Bundler will not automatically add a CHECKSUMS section to existing
59
- lockfiles, though, unless explicitly requested through `bundle lock
60
- --add-checksums`.
61
-
62
- ### Strict source pinning in Gemfile is enforced by default
63
-
64
- In bundler 4, the source for every dependency will be unambiguously defined, and
65
- Bundler will refuse to run otherwise.
66
-
67
- * Multiple global Gemfile sources will no longer be supported.
68
-
69
- Instead of something like this:
70
-
71
- ```ruby
72
- source "https://main_source"
73
- source "https://another_source"
74
-
75
- gem "dependency1"
76
- gem "dependency2"
77
- ```
78
-
79
- do something like this:
80
-
81
- ```ruby
82
- source "https://main_source"
83
-
84
- gem "dependency1"
85
-
86
- source "https://another_source" do
87
- gem "dependency2"
88
- end
89
- ```
90
-
91
- * Global `path` and `git` sources will no longer be supported.
92
-
93
- Instead of something like this:
94
-
95
- ```ruby
96
- path "/my/path/with/gems"
97
- git "https://my_git_repo_with_gems"
98
-
99
- gem "dependency1"
100
- gem "dependency2"
101
- ```
102
-
103
- do something like this:
104
-
105
- ```ruby
106
- gem "dependency1", path: "/my/path/with/gems"
107
- gem "dependency2", git: "https://my_git_repo_with_gems"
108
- ```
109
-
110
- or use the block forms if you have multiple gems for each source and you want
111
- to be a bit DRYer:
112
-
113
-
114
- ```ruby
115
- path "/my/path/with/gems" do
116
- # gem "dependency1"
117
- # ...
118
- # gem "dependencyn"
119
- end
120
-
121
- git "https://my_git_repo_with_gems" do
122
- # gem "dependency1"
123
- # ...
124
- # gem "dependencyn"
125
- end
126
- ```
127
-
128
- #### Notable CLI changes
129
-
130
- * `bundle viz` will be removed and extracted to a plugin.
131
-
132
- This is the only bundler command requiring external dependencies, both an OS
133
- dependency (the `graphviz` package) and a gem dependency (the `ruby-graphviz`
134
- gem). Removing these dependencies will make development easier and it was also
135
- seen by the bundler team as an opportunity to develop a bundler plugin that
136
- it's officially maintained by the bundler team, and that users can take as a
137
- reference to develop their own plugins. The plugin will contain the same code
138
- as the old core command, the only difference being that the command is now
139
- implemented as `bundle graph` which is much easier to understand. However, the
140
- details of the plugin are under discussion. See [#3333](https://github.com/ruby/rubygems/issues/3333).
141
-
142
- * The `bundle install` command will no longer accept a `--binstubs` flag.
143
-
144
- The `--binstubs` option has been removed from `bundle install` and replaced
145
- with the `bundle binstubs` command. The `--binstubs` flag would create
146
- binstubs for all executables present inside the gems in the project. This was
147
- hardly useful since most users will only use a subset of all the binstubs
148
- available to them. Also, it would force the introduction of a bunch of most
149
- likely unused files into source control. Because of this, binstubs now must
150
- be created and checked into version control individually.
151
-
152
- * The `bundle inject` command will be replaced with `bundle add`
153
-
154
- We believe the new command fits the user's mental model better and it supports
155
- a wider set of use cases. The interface supported by `bundle inject` works
156
- exactly the same in `bundle add`, so it should be easy to migrate to the new
157
- command.
158
-
159
- ### Other notable changes
160
-
161
- * Git and Path gems will be included in `vendor/cache` by default
162
-
163
- If you have a `vendor/cache` directory (to support offline scenarios, for
164
- example), Bundler will start including gems from `path` and `git` sources in
165
- there. We're unsure why these gems were treated specially so we'll start
166
- caching them normally.
167
-
168
- * Bundler will use cached local data if available when network issues are found
169
- during resolution.
170
-
171
- Just trying to provide a more resilient behavior here.
172
-
173
- * `Bundler.clean_env`, `Bundler.with_clean_env`, `Bundler.clean_system`, and `Bundler.clean_exec` will be removed
174
-
175
- All of these helpers ultimately use `Bundler.clean_env` under the hood, which
176
- makes sure all bundler-related environment are removed inside the block it
177
- yields.
178
-
179
- After quite a lot user reports, we noticed that users don't usually want this
180
- but instead want the bundler environment as it was before the current process
181
- was started. Thus, `Bundler.with_original_env`, `Bundler.original_system`, and
182
- `Bundler.original_exec` were born. They all use the new `Bundler.original_env`
183
- under the hood.
184
-
185
- There's however some specific cases where the good old `Bundler.clean_env`
186
- behavior can be useful. For example, when testing Rails generators, you really
187
- want an environment where `bundler` is out of the picture. This is why we
188
- decided to keep the old behavior under a new more clear name, because we
189
- figured the word "clean" was too ambiguous. So we have introduced
190
- `Bundler.unbundled_env`, `Bundler.with_unbundled_env`,
191
- `Bundler.unbundled_system`, and `Bundler.unbundled_exec`.
192
-
193
- * `Bundler.environment` is deprecated in favor of `Bundler.load`.
194
-
195
- We're not sure how people might be using this directly but we have removed the
196
- `Bundler::Environment` class which was instantiated by `Bundler.environment`
197
- since we realized the `Bundler::Runtime` class was the same thing. During the
198
- transition `Bundler.environment` will delegate to `Bundler.load`, which holds
199
- the reference to the `Bundler::Environment`.
200
-
201
- * Deployment helpers for `vlad` and `capistrano` are being removed.
202
-
203
- These are natural deprecations since the `vlad` tool has had no activity for
204
- years whereas `capistrano` 3 has built-in Bundler integration in the form of
205
- the `capistrano-bundler` gem, and everyone using Capistrano 3 should be
206
- already using that instead. If for some reason, you are still using Capistrano
207
- 2, feel free to copy the Capistrano tasks out of the Bundler 2 file
208
- `lib/bundler/deployment.rb` and put them into your app.
209
-
210
- In general, we don't want to maintain integrations for every deployment system
211
- out there, so that's why we are removing these.
@@ -1,15 +0,0 @@
1
- # How to upgrade/downgrade Rubygems:
2
-
3
- ## Downgrade Recipe
4
-
5
- $ gem update --system 3.1.4
6
-
7
- ## Upgrade Recipe
8
-
9
- $ gem update --system
10
-
11
- ## Install from source
12
-
13
- * Download from: https://rubygems.org/pages/download
14
- * Unpack into a directory and `cd` there
15
- * Install with: `ruby setup.rb`