Skip to content

[pull] master from ruby:master#1050

Merged
pull[bot] merged 7 commits into
turkdevops:masterfrom
ruby:master
May 26, 2026
Merged

[pull] master from ruby:master#1050
pull[bot] merged 7 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 26, 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 : )

kou and others added 7 commits May 26, 2026 04:23
…tation

`"a: b"` must be processed as a string value (`a: b`) not a map
value (`{"a" => "b"}`).

ruby/rubygems@3c3dfe3168
…arch_nonascii` (#16359)

Improve performance of String#scrub by skipping ascii characters after finding a multi byte character using search_nonascii. Create benchmark for String#scrub to show performance difference made by including the new ascii skips.
ruby/rubygems@fc2310629a

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
… lock

When multiple `bundle install` processes run concurrently, a race
condition can cause issues. The second process populates its
`Gem::Specification.stubs` and `@installed_specs` caches before
acquiring the ProcessLock. While waiting for the lock, the first
process installs gems. After acquiring the lock, the second process
uses its stale cache and may not see the newly installed gems.

This fix clears the caches immediately after acquiring the process
lock, ensuring that any gems installed by another process while
waiting for the lock are properly detected.

Similar to #8539 which addressed a related cache invalidation issue
for the `bundle update` command.

Fixes ruby/rubygems#8473

ruby/rubygems@114ad0741c

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ar_cache

`Source::Rubygems#specs` memoizes the merged Index in `@specs`, so
nilling only `@installed_specs` and `@default_specs` leaves a stale
merged view alive after the process lock is re-acquired. Reset
`@specs` and `@cached_specs` as well, matching what `local!` /
`remote!` / `cached!` already do.

ruby/rubygems@21a4cc4178
…ar peeking

Replace `instance_variable_get` assertions with behavior-driven
checks: object identity confirms memoization is invalidated for all
four cached indexes, and a stubbed `Bundler.rubygems.installed_specs`
verifies that fresh data is surfaced after the cache is cleared.

ruby/rubygems@ab41874182
@pull pull Bot locked and limited conversation to collaborators May 26, 2026
@pull pull Bot added the ⤵️ pull label May 26, 2026
@pull pull Bot merged commit 4f6e902 into turkdevops:master May 26, 2026
0 of 2 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.

5 participants