Skip to content

[pull] master from ruby:master#958

Merged
pull[bot] merged 15 commits intoturkdevops:masterfrom
ruby:master
Apr 24, 2026
Merged

[pull] master from ruby:master#958
pull[bot] merged 15 commits intoturkdevops:masterfrom
ruby:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 24, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Earlopain and others added 15 commits April 23, 2026 23:49
It was mostly good, just a few edgecases:
* word_sep always only contains a single line. if there are multiple lines, it is also multiple word_sep
* Handle trailing whitespace

The excluded testcase is interpolation mixed with heredoc.
That is not currently handled properly and word_sep contains
the content of the heredoc

I also switched start/end_offset names in the method, they seem to be backwards

ruby/prism@2e151ad41b
…options to gem install

These options allow users to opt out of building native extensions and
installing plugins during gem installation, providing an equivalent to
npm's --ignore-scripts for mitigating arbitrary code execution vectors.

Both options default to true to maintain backward compatibility. Users
can disable them per-command or globally via gemrc configuration.

ruby/rubygems@54221ab5b2

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ugin

When plugins are not installed (e.g. via --no-install-plugin), the
plugin files do not exist on disk. Without this check, load_plugin
would attempt to load non-existent files and produce spurious
LoadError warnings.

ruby/rubygems@4a95bd2f29

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ings in Bundler

Extend the --no-build-extension and --no-install-plugin support to
Bundler's installation paths. RubyGemsGemInstaller#install now
respects these options, and the settings are propagated from
Bundler::Settings through Source::RubyGems to the installer.

Path::Installer also respects no_build_extension for git/path sources.

ruby/rubygems@4172caa14a

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… extensions or plugins

When extensions or plugins are skipped via --no-build-extension or
--no-install-plugin, warn the user and point them to the appropriate
gem pristine command to re-enable later.

ruby/rubygems@d2e7f125db

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Without this change, reinstalling or upgrading a gem with
--no-install-plugin would still execute a pre-existing plugin wrapper
left by a previous install via load_plugin. This defeats the opt-out.

ruby/rubygems@198b01ee2a

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tings in bundle-config

The quality spec requires all Bundler settings to be documented in
the bundle-config man page.

ruby/rubygems@48d494326f

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ruby/rubygems@0659cc7739

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…lugin is specified

When a gem upgrades from a version with plugins to one without,
generate_plugins normally removes the old wrapper files. Skipping
generate_plugins entirely with --no-install-plugin prevented this
cleanup, leaving stale wrappers that would still be loaded.

ruby/rubygems@982fc8f7d2

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… windows_tag_group

ruby/rubygems@51d3b3e76a

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Gem::Resolver::GitSpecification#install calls Gem::Installer#build_extensions
directly, so the guard at the main install path did not cover git sources.
Move the options check into build_extensions itself so every caller skips the
build and emits the same warning when the option is set.

ruby/rubygems@de76e0f63a

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…in spec

The existing spec only checked that the wrapper is skipped on a fresh
install. Add a version upgrade case so that when a later version of the
gem no longer ships plugins, the previously generated wrapper is removed
even though no_install_plugin is set.

ruby/rubygems@c5f3a48344

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…Bundler

gem pristine does not reach gems that Bundler installed under
BUNDLE_PATH, so the guidance emitted when no_build_extension or
no_install_plugin is set needs a Bundler-native equivalent. Override
warn_skipped_extensions and warn_skipped_plugins in
RubyGemsGemInstaller so they advise unsetting the matching Bundler
setting and running bundle pristine, and update the bundle-config
man page to match.

ruby/rubygems@8549874e53

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update the gem creation guide links in the CLI output and gemspac template.
The previous Bundler guide URL now redirects to RubyGems Guides.

ruby/rubygems@0b469edf03
@pull pull Bot locked and limited conversation to collaborators Apr 24, 2026
@pull pull Bot added the ⤵️ pull label Apr 24, 2026
@pull pull Bot merged commit 7e1039e into turkdevops:master Apr 24, 2026
1 of 3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants