summaryrefslogtreecommitdiff
path: root/lib/bundler
AgeCommit message (Collapse)Author
10 daysRemoved unused cgi libraryHiroshi SHIBATA
10 daysUse cgi/util if that uses like CGI.escape methodsHiroshi SHIBATA
12 days[rubygems/rubygems] Warn if TLS 1.2 is not supportedEdouard CHIN
https://github.com/rubygems/rubygems/commit/e4f70a3e4f
12 days[rubygems/rubygems] Summarize the diagnosticEdouard CHIN
https://github.com/rubygems/rubygems/commit/40cf54d256
12 days[rubygems/rubygems] Diagnose the bare net/http connectionEdouard CHIN
https://github.com/rubygems/rubygems/commit/38a0bdc123
12 days[rubygems/rubygems] Diagnose the RubyGems connectionEdouard CHIN
https://github.com/rubygems/rubygems/commit/bf63859e1e
12 days[rubygems/rubygems] Diagnose the bundler connectionEdouard CHIN
https://github.com/rubygems/rubygems/commit/0aae094c89
12 days[rubygems/rubygems] Diagnose when OpenSSL can't be loaded.Edouard CHIN
https://github.com/rubygems/rubygems/commit/e6aa8aabcd
12 days[rubygems/rubygems] Add the `bundle doctor subcommand` skeleton:Edouard CHIN
- The command can either be run using: 1. `bundle doctor --ssl` 2. `bundle doctor ssl` The later is most useful when you need to specify custom ssl options (such as the verify mode or the TLS version when running the diagnostic). The implementation will follow in the next commits. https://github.com/rubygems/rubygems/commit/993d12874c
12 days[rubygems/rubygems] Define `bundler doctor` as a subcommandEdouard CHIN
- See explanation in previous commit https://github.com/rubygems/rubygems/commit/170890befb4c https://github.com/rubygems/rubygems/commit/8f1b5a4479
12 daysMove the doctor command into a subfolder:Edouard CHIN
- Adding a new `ssl` option to bundle doctor will make the `Doctor` command quite bloated. The "diagnose ssl" option will also have children option to allow passing which host or which tls version you want to diagnose and I feel these options don't belong in the doctor command. So my intention in this commit is to prepare to have a new `Doctor` subcommand and allow for better organisation of the code: The command will be: `bundle doctor` -> Run exactly the same as before. `bundle doctor --ssl` -> Run the doctor command and diagnose SSL with default options (rubygems.org as the host and verify peer as the verify mode) `bundle doctor ssl --host github.com` -> Run the ssl subcommand and pass a specific host. This commit just renames a file in order to avoid big diff chunks.
2025-04-15[rubygems/rubygems] Let `bundle lock --normalize-platforms` remove invalid ↵David Rodríguez
platforms https://github.com/rubygems/rubygems/commit/c39d2f84fd
2025-04-15[rubygems/rubygems] Raise an error if `bundle lock` target platform is ↵David Rodríguez
incompatible https://github.com/rubygems/rubygems/commit/282e4a8593
2025-04-15[rubygems/rubygems] Rename `resolution_packages` to `resolution_base`David Rodríguez
It handles resolution packages but also other stuff. https://github.com/rubygems/rubygems/commit/4baec92c20
2025-04-15[rubygems/rubygems] Extract some logic to a method and expand commentDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ed31e888fd
2025-04-15[rubygems/rubygems] Clarify commentDavid Rodríguez
https://github.com/rubygems/rubygems/commit/42534e746b
2025-04-15[rubygems/rubygems] Comparing platforms is only needed for dependency validationDavid Rodríguez
If we materialized to a different platform, then the dependencies may actually be different so the validation does not really make sense. https://github.com/rubygems/rubygems/commit/68fad98e6f
2025-04-15[rubygems/rubygems] Only platforms are relevant hereDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4b6f07f634
2025-04-15[rubygems/rubygems] Fix false positive warning about insecurely materialized gemDavid Rodríguez
In frozen mode, the previous logic would not set the platform locked originally in the materialized specification, and that would trigger the warning about insecure materialization incorrectly. https://github.com/rubygems/rubygems/commit/a18001e10c
2025-04-14[rubygems/rubygems] Refine `bundle update --verbose` logsDavid Rodríguez
Don't mention "Found changes from the lockfile" because that's not really true in general. https://github.com/rubygems/rubygems/commit/0181c278e8
2025-04-14[rubygems/rubygems] Fix edge case making `bundle update` behave incorrectlyDavid Rodríguez
If both a native and a generic version are locked, but the native version is incompatible with the running Ruby, Bundler will still keep the native version in the lockfile, since it could be potentially useful when using other rubies. However, when `bundle update` is run, this was not the case because the locked native gems were not using the right source when materializing. They were using the lockfile source instead of the Gemfile source, and that meant they could not be found when materializing, because the lockfile source always uses local mode so does not see them. The effect of this was normally that they were incorrectly removed from the lockfile and a strange "this spec has been possibly yanked" was printed in verbose mode. However, in certain situations (i.e., when the generic gem would bring extra dependencies), it could also make `bundle update` crash. The solution is, when adding this extra locked specs to the result after resolving, maybe sure they inherit the source from the resolved specs, so they can be found when materializing. `bundle install` did not have the issue because it passes locked specs to the resolver, and assigns the right source to them in `Definition#converge_locked_specs`. https://github.com/rubygems/rubygems/commit/91ce881fda
2025-04-14[rubygems/rubygems] Materialize specs just once in installerDavid Rodríguez
`Definition#specs` does the same thing but memoizes the result. https://github.com/rubygems/rubygems/commit/b62bf9fe41
2025-04-14[rubygems/rubygems] Fix `bundle lock --normalize-platforms` regressionDavid Rodríguez
https://github.com/rubygems/rubygems/commit/458fa5dc4c
2025-04-04[rubygems/rubygems] Improve bug report instructionsDavid Rodríguez
* Explicitly recommend copying full command output and not just the bug report template part. * Include quadruple quotes in the "What actually happened section" and tell users to copy full command output inside. Hopefully quadruple quotes will make the error report information (which includes triple quotes itself) render fine by default. * Avoid "actually" as per quality_spec.rb recommendation. https://github.com/rubygems/rubygems/commit/0a3bf2edb1
2025-04-01[rubygems/rubygems] Let compact index response parser consistently return a ↵David Rodríguez
mutable dependencies array That restores support for compact index dummy implementations that only lists versions, without checksums or dependencies. This format is undocumented, so we may want to get rid of it in the future. However, some of our tests rely on it, and some implementations did use it (gems.mutant.dev at least). And the way the code was written suggest that support was intentional. So for now, we should restore it. https://github.com/rubygems/rubygems/commit/0427d8c983
2025-04-01Remove compact index response parser from BundlerDavid Rodríguez
It's available in RubyGems since 3.2.3 and we no longer support that old version.
2025-03-31[rubygems/rubygems] Allow ruby platform to be remove also when dependencies ↵David Rodríguez
have changed Since we will now add it back if the final resolution is compatible, we can also get this kind of edge case (`bundle add`) working. https://github.com/rubygems/rubygems/commit/cdc5ebec77
2025-03-31[rubygems/rubygems] Remove edge cases for not removing invalid platformsDavid Rodríguez
Instead, remove them anytime we find dependencies don't match the lockfile for a platform, and then add them back after resolution if they ended up being valid. https://github.com/rubygems/rubygems/commit/220bd77887
2025-03-31[rubygems/rubygems] `SpecSet#add_extra_platforms!` doesn't need to return ↵David Rodríguez
anything https://github.com/rubygems/rubygems/commit/9fd92ade54
2025-03-31[rubygems/rubygems] Split finding and removing invalid platformsDavid Rodríguez
I don't like traversing the array and modifying it at the same time while it seems to work. https://github.com/rubygems/rubygems/commit/6551c74c27
2025-03-27[rubygems/rubygems] Bump up connection_pool-2.5.0 with rake vendor:installHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/33c3caa63f
2025-03-27[rubygems/rubygems] Resolved Lint/ShadowingOuterLocalVariable warningHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/01a14a7073
2025-03-27[rubygems/rubygems] Implement pub_grub strategy interfaceHartley McGuire
My application spends more than 30% of time during `bundle update` comparing versions due to versions being sorted inside next_package_to_try. This has been addressed in pub_grub by defining a strategy interface (a `#next_package_and_version` method) which allows consumers to have finer control over the heuristic to select the next package to try. This commit implements the new strategy interface to remove extraneous version sorting (previously in next_package_to_try) since only the final count of versions is used. Combined with a previous change to pub_grub (already applied to Bundler), this commit results in `bundle update` taking only half the time it did on 2.6.5. https://github.com/rubygems/rubygems/commit/62f69e27f0
2025-03-25[rubygems/rubygems] Remove specs with bad sources when converging dependenciesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/a0f7851451
2025-03-25[rubygems/rubygems] Tweak to check specs size just onceDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4497555023
2025-03-24[rubygems/rubygems] Raise an error in frozen mode if CHECKSUMS entries are ↵David Rodríguez
missing https://github.com/rubygems/rubygems/commit/054a0cd76c Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Rename block variableDavid Rodríguez
It's a dependency, not a specification. https://github.com/rubygems/rubygems/commit/9d78f5aa14 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Add `Specification#lock_name` and use that when dealing ↵David Rodríguez
with checksums https://github.com/rubygems/rubygems/commit/8e2c5748d9 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Refactor replacing locked specification path sourcesDavid Rodríguez
Instead of doing an explicit pass, let sources be replaced while checking if specifications are up to date. https://github.com/rubygems/rubygems/commit/676271e804 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Refactor replacement of locked path sourcesDavid Rodríguez
Instead of doing an explicit pass to preserve the source from the Gemfile when it's a `Source::Gemspec`, add a special case to our generic source replacement method. https://github.com/rubygems/rubygems/commit/20c8c42380 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Remove unnecessary replacement of locked dependencies ↵David Rodríguez
sources The `converge_dependencies` method already replaces the source of the dependency with an equivalent source from the Gemfile if possible. https://github.com/rubygems/rubygems/commit/a449e7ba19 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Refactor Path vs Gemspec source comparisonDavid Rodríguez
https://github.com/rubygems/rubygems/commit/58e9bd9962 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Refactor replacing sourcesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4c05ac8306 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Remove `spec.source` duplicationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/24523a839e Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Simplify passing "gemspec" option to path sourcesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9c6b57c01d Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Remove unused default valueDavid Rodríguez
https://github.com/rubygems/rubygems/commit/e9f4d1e5c2 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Change behavior when gemfile and gemspec dep deps conflictDavid Rodríguez
https://github.com/rubygems/rubygems/commit/7026b5f2e5 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Use `name` argument consistentlyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4e66fe4208 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Support git 2.49David Rodríguez
One error message that we parse is now slightly different. https://github.com/rubygems/rubygems/commit/758528791d Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Update vendored pub_grubHartley McGuire
https://github.com/rubygems/rubygems/commit/3aaa75e7b9 Notes: Merged: https://github.com/ruby/ruby/pull/12968