summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2025-07-08[ruby/tsort] Exclude gemspec and git-related filesNobuyoshi Nakada
https://github.com/ruby/tsort/commit/bf2e3a8695
2025-07-08[ruby/tsort] Use git magic signatures to exclude filesNobuyoshi Nakada
https://github.com/ruby/tsort/commit/ab55dcb7f3
2025-07-08[ruby/tsort] [DOC] Document constantsNobuyoshi Nakada
https://github.com/ruby/tsort/commit/1d1711ad23
2025-07-07[rubygems/rubygems] Update SPDX license list as of 2025-07-01License Update
https://github.com/rubygems/rubygems/commit/56b55a198a
2025-07-07[rubygems/rubygems] Document that `global_gem_cache` also caches compiled ↵David Rodríguez
extensions https://github.com/rubygems/rubygems/commit/265f718be7
2025-07-07[rubygems/rubygems] Improve sentenceDavid Rodríguez
"locally to the installing Ruby installation" felt a bit confusing. https://github.com/rubygems/rubygems/commit/c950720719
2025-07-07[rubygems/rubygems] Stop allowing calling `#gem` on random objectsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4b8570ae15
2025-07-07[rubygems/rubygems] Add `default_cli_command` documentationDavid Rodríguez
I suspect most experienced users won't like the change in defaults, so document the setting to toggle back the current default. https://github.com/rubygems/rubygems/commit/93e2e2bef9
2025-07-07[rubygems/rubygems] Cancel `path_relative_to_cwd` changeDavid Rodríguez
It only affected the `--path` flag which is actually getting removed, so I don't think it makes sense to make such change. The current behavior is reasonable and I tried to codify it with a few more specs. https://github.com/rubygems/rubygems/commit/6f520eb146
2025-07-07[rubygems/rubygems] Remove `default_install_uses_path` settingDavid Rodríguez
The previous default can already be configured with `bundle config path.system true`. https://github.com/rubygems/rubygems/commit/cb483b79db
2025-07-07[rubygems/rubygems] Remove `auto_clean_without_path` settingDavid Rodríguez
There already different ways of toggling off this behavior, like setting `bundle config clean false`, or configuring Bundler to install to system gems with `bundle config path.system true`. https://github.com/rubygems/rubygems/commit/6daa09f60a
2025-07-03Sync RubyGemsDavid Rodríguez
2025-07-02Reduce allocations in `Gem::BUNDLED_GEMS.warning?`Joshua Young
2025-07-02[rubygems/rubygems] Add Errno::ENETDOWN and Errno::EHOSTUNREACH to non ↵David Rodríguez
retryable errors Connection errors as well, so useless to retry. https://github.com/rubygems/rubygems/commit/d2d211651a
2025-07-02[rubygems/rubygems] Split HTTP_ERRORS into retryable and non retryableDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c241a640fc
2025-07-02[rubygems/rubygems] Handle connection refused and Errno::EADDRNOTAVAIL as ↵David Rodríguez
non-retryable https://github.com/rubygems/rubygems/commit/cd529776d5
2025-07-02[rubygems/rubygems] Move Bundler::Fetcher::HTTP_ERRORS to ↵David Rodríguez
Bundler::Fetcher::DOWNLOADER And deprecate the old constant. It's only used in this class, and in Bundler::Fetcher there's already FAIL_ERRORS, very similar to it. So this makes things less confusing. https://github.com/rubygems/rubygems/commit/d32ed63d6f
2025-07-02[rubygems/rubygems] Add back and deprecate Bundler::Fetcher::NET_ERRORSDavid Rodríguez
https://github.com/rubygems/rubygems/commit/4a4e5828db
2025-07-02[rubygems/rubygems] Add a `verbose` setting to enable verbose output for all ↵David Rodríguez
commands https://github.com/rubygems/rubygems/commit/0aa1be946f
2025-07-02[rubygems/rubygems] Consistently access CLI flags with symbolsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/1497d3f146
2025-07-02[rubygems/rubygems] Fix `bundle console` printing bug report template on ↵Earlopain
`NameError` during require Followup to https://github.com/rubygems/rubygems/pull/8436 It fixed showing the template when requiring a non-existant file but user code can do much more than just trying to require other code. I encountered this particular case because of load order issues, where a library wasn't able to properly require itself when loaded before some other library. https://github.com/rubygems/rubygems/commit/1c910e5afe
2025-07-02[rubygems/rubygems] Update man pages for the `bundle doctor ssl` subcommand:Edouard CHIN
- ### Problem The man pages for `bundle doctor` which shows up when running `bundle doctor --help` are no longer in sync with the CLI. ### Context In #8624, we introduced a change that modifies the structure of the `bundle doctor` command. The change added a new subcommand as well a new flag option `bundle doctor --ssl` Bundler uses man pages to display help of Thor commands, those man pages are indepedent from Thor options and need to be kept in sync. ### Solution Updated the man page for `bundle doctor`. Now that this command is a subcommand composed of `bundle doctor diagnose` (the default) , and `bundle doctor ssl`, I modified the man page to follow the same markdown structure as other subcommands such as [bundle plugin](https://github.com/rubygems/rubygems/blob/a902381660f8d17b5c4a93226678c23e046f464f/bundler/lib/bundler/man/bundle-plugin.1.ronn) https://github.com/rubygems/rubygems/commit/de047f1458
2025-07-02[rubygems/rubygems] Log when `simulate_version` is enabledDavid Rodríguez
Tweak version output and verbose mode to be transparent about Bundler simulating a different version than the real one. https://github.com/rubygems/rubygems/commit/179354d153
2025-07-02[rubygems/rubygems] None of the global options have default so this seems ↵David Rodríguez
unnecessary https://github.com/rubygems/rubygems/commit/bea87eab0b
2025-07-02[rubygems/rubygems] Use explicit receiver when accessing settingsDavid Rodríguez
We have a quality spec that parses all code for explicit usages of `Bundler.settings[<something>`, to detect undocumented settings. So using `Bundler.settings` consistently will help catching these things. https://github.com/rubygems/rubygems/commit/ce01bb7cc5
2025-07-02[rubygems/rubygems] Document the `simulate_version` settingDavid Rodríguez
https://github.com/rubygems/rubygems/commit/1ffd83f6c2
2025-07-02[rubygems/rubygems] Remove `print_only_version_number` settingDavid Rodríguez
I don't think it makes sense to make this tiny behavior change configurable. If someone wants to parse version output, and we have a public setting, they are going to need to accommodate their regexps to both values of the setting. In addition to this, I plan to enhance version output with a note about "simulated version", and in that case, "print_only_version_number" would no longer hold, since what we print will be more than that anyways. So, I'd like to remove the setting and change the output in Bundler 4 with no way to opt out. https://github.com/rubygems/rubygems/commit/d84e9dcf09
2025-07-01Fixed inconsistency gemspec locationHiroshi SHIBATA
foo.gemspec should be located under the `lib/foo` directory.
2025-07-01Use git ls-files instead of Dir.glob because optparse has optionparser.rb ↵Hiroshi SHIBATA
that is outside of lib/optparse directory Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2025-07-01[ruby/optparse] Use Dir.glob and base keyword arg for the installer of Ruby ↵Hiroshi SHIBATA
package https://github.com/ruby/optparse/commit/24374b42d3
2025-06-30[ruby/prism] Fix parser translator with trailing backslash in `%W` /`%I` arrayEarlopain
https://docs.ruby-lang.org/en/master/syntax/literals_rdoc.html#label-25w+and+-25W-3A+String-Array+Literals > %W allow escape sequences described in Escape Sequences. However the continuation line <newline> is not usable because it is interpreted as the escaped newline described above. https://github.com/ruby/prism/commit/f5c7460ad5
2025-06-30[rubygems/rubygems] Update some reference to Bundler 3 to Bundler 4David Rodríguez
https://github.com/rubygems/rubygems/commit/53174e0aa6
2025-06-30[rubygems/rubygems] Use Bundler.settings[gem.bundle]Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/b16511598e
2025-06-30[rubygems/rubygems] Added manpagesHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/f2826dafce
2025-06-30[rubygems/rubygems] Added bundle option to method_optionHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/1413086e92
2025-06-30[rubygems/rubygems] Added --bundle option for triggering bundle install ↵Hiroshi SHIBATA
automatically after bundle gem https://github.com/rubygems/rubygems/commit/59ac0db26b
2025-06-30[rubygems/rubygems] Remove "double CI" for testing Bundler 4 modeDavid Rodríguez
Since now every functionality that changes in Bundler 4 is under a setting, we can enable that setting to test the new functionality, without having to run our full CI twice. This can actually be seen as increasing coverage, because Bundler 4 functionality will now be tested on Windows, MacOS, or any other environment where previously "Bundler 4 mode" was not running. https://github.com/rubygems/rubygems/commit/1cb3e009fc
2025-06-30[rubygems/rubygems] Added push_rubygem to default scope at gem signin commandHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/9b9ba0bf1e
2025-06-29[ruby/optparse] JRuby does not have EXECUTABLE_EXTS in RbConfg::CONFIGNobuyoshi Nakada
https://github.com/ruby/optparse/commit/15b2f00b6b
2025-06-29[ruby/optparse] Fix OptionParser#program_name not to strip suffix unexpectedlyNobuyoshi Nakada
https://github.com/ruby/optparse/commit/740ffa76c0
2025-06-29[ruby/optparse] Enhance to support 'Set' object as an enumkwatch
(https://github.com/ruby/optparse/pull/76) * Enhance to support 'Set' object as an enum * Add test script for '#make_swithc()' --------- https://github.com/ruby/optparse/commit/3869000e98 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2025-06-28Make `uplevel` suitable as the option to `Kernel#warn`Nobuyoshi Nakada
Make Gem::BUNDLED_GEMS.uplevel returns `nil` if `require` frame is not found, for the simplicity.
2025-06-28Use symbols as `level` instead of stringsNobuyoshi Nakada
2025-06-26[ruby/uri] [DOC] State that uri library is needed to call Kernel#URINobuyoshi Nakada
So that the example works as-is. https://github.com/ruby/uri/commit/30212d311e
2025-06-26[ruby/uri] Fix a typoNobuyoshi Nakada
https://github.com/ruby/uri/commit/b636e83d99 Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2025-06-26[ruby/uri] Use Lo category chars as escaped charsNobuyoshi Nakada
TruffleRuby does not allow Symbol categories as identifiers. https://github.com/ruby/uri/commit/5531d42375
2025-06-26[ruby/uri] Escape reserved characters in scheme nameNobuyoshi Nakada
Fix https://github.com/ruby/uri/pull/89 https://github.com/ruby/uri/commit/d543c0dafa
2025-06-26[rubygems/rubygems] Simulate Bundler 4 in a better wayDavid Rodríguez
Overriding the version constant feels too magic and creates a set of problems. For example, Bundler will lock the simulated version, and that can cause issues when the lockfile is used under an environment not simulating Bundler 4 (it will try to auto-install and auto-switch to a version that does not exist). On top of that, it can only be configured with an ENV variable which is not too flexible. This commit takes a different approach of using a setting, which is configurable through ENV or `bundle config`, and pass the simulated version to `Bundler::FeatureFlag`. The real version is still the one set by `VERSION`, but anything that `Bundler::FeatureFlag` controls will use the logic of the "simulated version". In particular, all feature flags and deprecation messages will respect the simulated version, and this is exactly the set of functionality that we want users to be able to easily try before releasing it. https://github.com/rubygems/rubygems/commit/8129402193
2025-06-26[rubygems/rubygems] Use Gem::Version` methods instead of string splittingDavid Rodríguez
https://github.com/rubygems/rubygems/commit/75fed35264
2025-06-26[rubygems/rubygems] Centralize managing major version dependent behavior in ↵David Rodríguez
`FeatureFlag` class https://github.com/rubygems/rubygems/commit/7708e5b784