summaryrefslogtreecommitdiff
path: root/spec/bundler
AgeCommit message (Collapse)Author
2025-09-19[rubygems/rubygems] Fix parallel installation issueDavid Rodríguez
If using a gem with precompiled versions having different dependencies than the generic version from a path source, and with a lockfile including a precompiled version, we would materialize the generic version, but end up using dependencies for the precompiled version. That will result in the parallel installer missing the specifications for the extra dependencies of the generic version, causing a crash. If we are materializing for installation, make sure we use the materialized specification when traversing dependencies. https://github.com/rubygems/rubygems/commit/5f75d75de7
2025-09-18Bump rexmldependabot[bot]
Bumps the bundler group with 1 update in the /spec/bundler/realworld/fixtures/warbler directory: [rexml](https://github.com/ruby/rexml). Updates `rexml` from 3.4.1 to 3.4.2 - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](https://github.com/ruby/rexml/compare/v3.4.1...v3.4.2) --- updated-dependencies: - dependency-name: rexml dependency-version: 3.4.2 dependency-type: indirect dependency-group: bundler ... Signed-off-by: dependabot[bot] <support@github.com>
2025-09-17[rubygems/rubygems] Finalize `bundle install --binstubs` removalDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ccb65ce0ea
2025-09-17[rubygems/rubygems] Make `bundle remove --install` raise an errorDavid Rodríguez
https://github.com/rubygems/rubygems/commit/444022cfd3
2025-09-16[rubygems/rubygems] Remove aggregate source mentionsDavid Rodríguez
It's a term from times with multiple remote sources, let's move on :) https://github.com/rubygems/rubygems/commit/6439b8944e
2025-09-16[rubygems/rubygems] Completely remove multisources supportDavid Rodríguez
https://github.com/rubygems/rubygems/commit/8f9d6c54a1
2025-09-16[rubygems/rubygems] Remove `allow_offline_install` settingDavid Rodríguez
And let the feature always be enabled, so I'm not sure why we'd need this configurable. https://github.com/rubygems/rubygems/commit/5a27f0c1e3
2025-09-16[rubygems/rubygems] Complete rubocop flags and settings removalDavid Rodríguez
If the CLI flags are used, we abort early as usual. As per the settings, I decided to ignore them. We've been migrating them automatically to the new name for a long time and we don't yet have a standard way to deprecate and remove settings (we should probably use the existing setting validators). So I think it's fine for now to do what we normally do (ignore the setting). https://github.com/rubygems/rubygems/commit/8311de6e69
2025-09-16[rubygems/rubygems] Fix `--no-rubocop` deprecation messageDavid Rodríguez
https://github.com/rubygems/rubygems/commit/2c16b0e11e
2025-09-12[rubygems/rubygems] Fix outdated lockfile during `bundle lock` when source ↵Earlopain
changes When the source used to be git and switches back to rubygems, it is possible that the git source contains a version that ruybgems doesn't know about yet. So don't add the locked spec to the base resolve, and also don't add a lower bound requirement on the version, since the version in the new source may actually be lower. https://github.com/rubygems/rubygems/commit/85514e3a1e
2025-09-12[rubygems/rubygems] Raise error on missing version fileMatheus Richard
If the file option is given but the file not found, raise a GemfileError with a message indicating the file was not found. Currently this is raising a generic Errno::ENOENT error. https://github.com/rubygems/rubygems/commit/db61de6b21
2025-09-11[rubygems/rubygems] Remove spec originally meant to test remembering CLI flagsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4919e5ca53
2025-09-11[rubygems/rubygems] Complete remembered options removalDavid Rodríguez
https://github.com/rubygems/rubygems/commit/573ffad3ea
2025-09-11[rubygems/rubygems] Introduce a way to ensure that removed flags get their ↵David Rodríguez
docs removed, too https://github.com/rubygems/rubygems/commit/a727b50697
2025-09-11[rubygems/rubygems] Remove deprecated usages of `bundle install ↵David Rodríguez
--deployment` during specs https://github.com/rubygems/rubygems/commit/c903afbc3f
2025-09-11[rubygems/rubygems] Remove implementation of `deployment`, `capistrano` and ↵David Rodríguez
`vlad` entrypoints Now they only raise an error. https://github.com/rubygems/rubygems/commit/6e7c8db151
2025-09-11[rubygems/rubygems] Completely remove `Bundle.*clean*` and ↵David Rodríguez
`Bundler.environment` helpers https://github.com/rubygems/rubygems/commit/e1b8bdcede
2025-09-05[rubygems/rubygems] Improve error message when `path` and `gemspec` point to ↵manabeai
the same gem in Gemfile https://github.com/rubygems/rubygems/commit/e47a9064be
2025-09-03[rubygems/rubygems] Deprecate `bundle cache --frozen` and `bundle cache ↵David Rodríguez
--no-prune` Since they are remembered flags, too. I also restored a previous spec about `--frozen`, but didn't bother with `--no-prune`. https://github.com/rubygems/rubygems/commit/7802f016fc
2025-09-03[rubygems/rubygems] Improve `deprecations` helperDavid Rodríguez
Previous implementation included an empty element in the list of deprecations. https://github.com/rubygems/rubygems/commit/59eb233039
2025-09-03[rubygems/rubygems] Add another spec for yet another issue fixed by the ↵David Rodríguez
previous patch https://github.com/rubygems/rubygems/commit/fbb8340186
2025-09-03[rubygems/rubygems] Add extra spec for another issue that the previous patch ↵David Rodríguez
fixed https://github.com/rubygems/rubygems/commit/4fc57c69b2
2025-09-03[rubygems/rubygems] Fix `bundle cache` failing in frozen mode if ↵David Rodríguez
vendor/cache is empty https://github.com/rubygems/rubygems/commit/36c5af9156
2025-09-03[rubygems/rubygems] Improve spec wording and implementationDavid Rodríguez
Limit the `before` block to set `frozen`, which is the context of the spec, and change the implementation to only write the Gemfile once, with a gem being removed from what's in the lockfile. https://github.com/rubygems/rubygems/commit/4d0314ff37
2025-09-03[rubygems/rubygems] It's not necessary to set `deployment`David Rodríguez
https://github.com/rubygems/rubygems/commit/eaa51203ca
2025-09-03[rubygems/rubygems] Remove unnecessary installDavid Rodríguez
Since the path is changed later by the `deployment` setting, it makes no difference. So just create a lockfile. https://github.com/rubygems/rubygems/commit/2dd6f65642
2025-09-03[rubygems/rubygems] Remove unnecessary subject from one specDavid Rodríguez
https://github.com/rubygems/rubygems/commit/a761581e89
2025-09-03[rubygems/rubygems] Fix `bundle lock` regression when using `update` and ↵Edouard CHIN
`lockfile` flags: - Ref #8917 - ### Problem Prior to Bundler 2.5.6, running `bundle lock --update foo --lockfile Gemfile_bumped.lock` would update only the foo gem and write the lockfile to the `Gemfile_bumped.lock`. In Bundler 2.5.6 and above running the same command, updates absolutely all gems. This change is related to #7047 ### Solution We decided to expose the `write_lock` method rather than going through a complex deprecation cycle of the `lock` method. This commit applies the same business logic as prios to 2.5.6 where, we build the definition using the existing lockfile, make changes to the definition and dump it into the desired lockfile. https://github.com/rubygems/rubygems/commit/c88f00c41d
2025-09-03Completely remove `bundle viz` commandDavid Rodríguez
2025-09-03Completely remove `bundle inject` commandDavid Rodríguez
2025-09-03[rubygems/rubygems] Introduce `SharedHelpers.feature_removed!`David Rodríguez
To directly raise regardless of version. https://github.com/rubygems/rubygems/commit/38fb97cffa
2025-09-03[rubygems/rubygems] No need to print caller location when raising directlyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/6c2b06cc16
2025-09-03[rubygems/rubygems] Ensure removed commands get their docs removed, tooDavid Rodríguez
https://github.com/rubygems/rubygems/commit/2a2e45bbe9
2025-08-18Merge specs checking CLI flags and subcommands are documentedDavid Rodríguez
We had them duplicated, but with slightly different features: * The ones in `other/cli_man_pages.rb` enforced a specific structure to document CLI options, so were less likely to have false positives. * The ones in `quality_spec.rb` were able to check subcommands and their flags. This commit merges both and preserves the best of both.
2025-08-18[rubygems/rubygems] Enforce checksums strictly for registry gemsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/05199ae0c1
2025-08-18[rubygems/rubygems] Fix incorrect error message capitalizationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d41b8d303c
2025-08-18[rubygems/rubygems] Refactor git specsDavid Rodríguez
To save some unnecessary `bundle install` commands. https://github.com/rubygems/rubygems/commit/61e7d9d09a
2025-08-18[rubygems/rubygems] Delay pending specDavid Rodríguez
We had actually cancelled this change. After a second look though, it does seem like a reasonable plan since `bundle list` makes more sense for listing gems, and `bundle info` makes more sense for showing info about a particular gem. `bundle show` is a strange mix of both. Let's schedule this for Bundler 5. https://github.com/rubygems/rubygems/commit/7071a1e82e
2025-08-18[rubygems/rubygems] Fix `bundle show --verbose` and recommend it as an ↵David Rodríguez
alternative to `bundle show --outdated` https://github.com/rubygems/rubygems/commit/7cad1e4947
2025-08-18[rubygems/rubygems] Fix `bundle update foo` not upgrading foo to latest in a ↵David Rodríguez
specific case If upgrading `foo` needs an indirect dependency to be downgraded, Bundler would not be able to upgrade foo. This is because when calculating the latest resolvable version of foo, Bundler was still adding lower bound requirements on the locked versions of all dependencies to avoid downgrades, effectively pinning foo to a version older than the latest. To fix this, instead of creating a second "unlocked" definition to figure out the latest resolvable version, create a second unlocked resolver, and DO NOT add lower bound requirements to it. https://github.com/rubygems/rubygems/commit/00cc0ecc69
2025-08-18[rubygems/rubygems] Introduce `bundle list --format=json`Schneems
The `bundle list` command is a convenient way for human to know what gems and versions are available. By introducing a `--format=json` option, we can provide the same information to machines in a stable format that is robust to UI additions or modifications. It indirectly supports `Gemfile.lock` modifications by discouraging external tools from attempting to parse that format. This addition allows for the scripting of installation tools, such as buildpacks, that wish to branch logic based on gem versions. For example: ```ruby require "json" command = "bundle list --format=json" output = `#{command}` raise "Command `#{command}` errored: #{output}" unless $?.success? railties = JSON.parse(output).find {|gem| gem["name"] == railties } if railties && Gem::Version.new(railties["version"]) >= Gem::Version.new("7") puts "Using Rails greater than 7!" end ``` The top level is an object with a single key, "gems", this structure allows us to add other information in the future (should we desire) without having to change the json schema. https://github.com/rubygems/rubygems/commit/9e081b0689
2025-08-18[rubygems/rubygems] Fix Bundler printing more flags than actually passed in ↵David Rodríguez
verbose mode This reverts commit https://github.com/rubygems/rubygems/commit/bea87eab0b17 and adds a regression spec for it. https://github.com/rubygems/rubygems/commit/ac98107864
2025-08-18[rubygems/rubygems] Fix `bundle cache --no-all` not printing a deprecation ↵David Rodríguez
warning Like others, it's a remembered option which we are deprecating in favor of configuration. https://github.com/rubygems/rubygems/commit/9ea55e0df2
2025-08-18[rubygems/rubygems] Use a rubygems filter for the timeout specDavid Rodríguez
For consistency. https://github.com/rubygems/rubygems/commit/3e3364e19f
2025-08-18[rubygems/rubygems] Fix spec no longer run since rubygems timeout was renamedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4d0c058e6a
2025-08-18[rubygems/rubygems] Remove unnecessary rubygems filtersDavid Rodríguez
Since the lowest supported version is now 3.4.1. https://github.com/rubygems/rubygems/commit/d00e03c52e
2025-08-04[rubygems/rubygems] Fix daily CIDavid Rodríguez
Platform specific versions of ffi-1.17.2 are not compatible with Ruby 3.5, so Bundler fails to resolve in Ruby 3.5 using recorded VCR responses. Use the generic version of ffi-1.17.2, which should work for all rubies, consistently to fix that. https://github.com/rubygems/rubygems/commit/a192f7e35d
2025-07-30[rubygems/rubygems] Keep fixture Gemfiles in sync when bumping versionDavid Rodríguez
https://github.com/rubygems/rubygems/commit/781443cb0f
2025-07-30[rubygems/rubygems] Bump thor in /bundler/spec/realworld/fixtures/tapiocadependabot[bot]
Bumps [thor](https://github.com/rails/thor) from 1.3.2 to 1.4.0. - [Release notes](https://github.com/rails/thor/releases) - [Commits](https://github.com/rails/thor/compare/v1.3.2...v1.4.0) --- updated-dependencies: - dependency-name: thor dependency-version: 1.4.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> https://github.com/rubygems/rubygems/commit/0a4e5a377d
2025-07-30[rubygems/rubygems] Fix truffleruby failing to install sorbet-static when ↵David Rodríguez
there's no lockfile The generic Ruby platform was getting unconditionally added in truffleruby, preventing resolution in situations where there's no generic ruby version (sorbet-static). Instead, the generic platform should be considered per dependency, not globally. https://github.com/rubygems/rubygems/commit/a96afc5351