Features:
- Support bundle install --lockfile option #9111
- Add support for lockfile in Gemfile and bundle install --no-lock #9059
- Add
--ext=gotobundle gem#8183 - Update Bundler::CurrentRuby::ALL_RUBY_VERSIONS #9058
- Introduce
bundle list --format=json#8728
Performance:
- Run git operations in parallel to speed things up: #9100
- Replace instance method look up in plugin installer #9094
- Adjust the API_REQUEST_LIMIT to make less network roundtrip #9071
Enhancements:
- Make BUNDLE_LOCKFILE environment variable have precedence over lockfile method in Gemfile #9146
- Improve banner message for the default command #9145
- Introduce
install_or_cli_helpand use it defaultbundlecommand #9136 - Add go_gem/rake_task for Go native extension gem skeleton #9105
- Warn users that
bundlenow display the help: #9092 - Use DidYouMean::SpellChecker for gem suggestions in Bundler #3857
- Update all vendored libraries to latest version #9089
- We don't need to allow some warning now #9074
- Support to embedded Pathname #9056
- Enforce activation of irb when running with bundle console #9033
- Update Magnus version in Rust extension gem template #9025
- Add checksum of gems hosted on private servers: #9004
- Loading support on Windows #8254
- Improve error message when the same source is specified through
gemspecandpath#8460 - Raise an error in frozen mode if some registry gems have empty checksums #8888
- Bump vendored thor to 1.4.0 #8883
- Delay default path and global cache changes to Bundler 5 #8867
- Fix spacing in bundle gem newgem.gemspec.tt #8865
- Add some missing deprecation messages #8844
Bug fixes:
- Fixed checksums generation issue when no source is specified #9133
- Check for file existence before deletion from cache #9095
- Use method_defined?(:method, false) #9098
- Handle BUNDLER_VERSION being set to an empty string #6928
- Fix
bundle installwhen the Gemfile contains "install_if" git gems: #8992 - Fix installation issue related to path sources and precompiled gems #8973
- Fix outdated lockfile during
bundle lockwhen source changes #8962 - Raise error on missing version file #8963
- Fix
bundle cache --frozenandbundle cache --no-prunenot printing a deprecation message #8926 - Fix local installation incorrectly forced if there's a
vendor/cachedirectory and frozen mode is set #8925 - Fix
bundle lock --update <gem>with--lockfileflag updating all gems #8922 - Fix
bundle show --verboseand recommend it as an alternative tobundle show --outdated#8915 - Fix
bundle cache --no-allnot printing a deprecation warning #8912 - Fix
bundle update foounable to update foo in an edge case #8897 - Fix Bundler printing more flags than actually passed in verbose mode #8914
- Fix bundler failing to install sorbet-static in truffleruby when there's no lockfile #8872
- Cancel deprecation of
--forceflag tobundle installandbundle update#8843
Security:
- Bump up vendored URI to 1.0.4 #9031
Breaking changes:
- Fix triple spacing when generating lockfile #9076
- Hide patchlevel from lockfile #7772
- Remove
bundler_4_mode#9038 - Pick and add extra changes for 4.0.0 version #9018
- Replaced Bundler::SharedHelpers.major_deprecation to feature_removed! or feature_deprecated! #9016
- Removed legacy_check option from SpecSet#for #9015
- Make update_requires_all_flag to settings #9011
- Make default cli command settings #9010
- Make global_gem_cache flag to settings #9009
- Consolidate removal of
Bundler.rubygems.all_specs#9008 - Consolidate removal of
Bundler::SpecSet#-andBundler::SpecSet#<<#9007 - Replaced Bundler.feature_flag.plugins? to Bundler.settings #9006
- Make
bundle show --outdatedraise an error #8980 - Make
--local-gitflag tobundle plugin installraise an error #8979 - Switch
cache_allto betrueby default #8975 - Completely forbid passing
--exttobundle gemwithout a value #8976 - Switch
lockfile_checksumsto betrueby default #8981 - Make
bundle install --binstubsraise an error #8978 - Make
bundle remove --installraise an error #8977 - Remove support for multiple global sources in Gemfile & lockfile #8968
- Remove
allow_offline_installsetting #8969 - Completely remove
--rubocopflag tobundle gem, and related configuration #8967 - Completely remove all remembered CLI flags #8958
- Remove implementation of
deployment,capistranoandvladentrypoints #8957 - Remove deprecated
Bundler.*clean*, andBundler.environmenthelpers #8924 - Remove deprecated
bundle vizandbundle injectcommands #8923 - Removed to workaround for Bundler 2.2 #8903
Documentation:
- Unified UPGRADING.md and extract blog.rubygems.org #9148
- Remove italic formatting from changelog section headers #9128
- Small clarifications to Bundler 4 upgrade docs #8964
- Improve documentation of
bundle doctor,bundle plugin, andbundle config#8919 - Make sure all CLI flags and subcommands are documented #8861
- Clarify documentation about new default gem installation directory in Bundler 4 #8857
- Use mailto link in Code of Conduct #8849
- Update Code of Conduct email to conduct@rubygems.org #8848
- Add missing link to
irbrepo in DEBUGGING.md #8842