Skip to content

[pull] master from ruby:master#824

Merged
pull[bot] merged 15 commits intoturkdevops:masterfrom
ruby:master
Mar 4, 2026
Merged

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

Conversation

@pull
Copy link

@pull pull bot commented Mar 4, 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 : )

Edouard-chin and others added 15 commits March 4, 2026 02:24
…e fetched:

- ### Problem

  In #9071, I increased the API_REQUEST_SIZE constants to fetch 100
  specifications at once instead of 50.
  Worth to remember that this codepath is exclusively used for servers
  that don't implement the compact index API and where Bundler has to
  fallback on the `/v1/dependencies` endpoint.

  Fetching 100 gems at once seems not supported by some gem servers.
  See ruby/rubygems#9345

  ### Solution

  I'd like to provide a new Bundler configuration
  `BUNDLE_API_REQUEST_SIZE` to let users of those servers control how
  many dependencies should be fetched at once.

  ### Alternatives

  The other alternative is to revert #9071 and always fetch 50 specs.
  I tried the number 100 on a single rubygem registry (cloudsmith),
  and I don't have data point to know whether this value is supported
  by most registries.

ruby/rubygems@1a3bace42e
Bumps the github-actions group with 1 update in the / directory: [taiki-e/install-action](https://github.com/taiki-e/install-action).


Updates `taiki-e/install-action` from 2.68.16 to 2.68.18
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](taiki-e/install-action@d6e286f...205eb1d)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.68.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
From ruby/rubygems#8501

Co-authored-by: Suleyman Musayev <96992680+msuliq@users.noreply.github.com>
- ### Problem

  When a plugin in the Gemfile is updated to a new version, it will
  be downloaded but will not be registered. The old version of the
  plugin will be loaded when Bundler is invoked.

  ### Context

  The problem is in the `Index#installed?` method that only checks for
  the plugin name in the index. If it finds one, it skips the
  registration.

  ### Solution

  Check whether the registed plugin load paths matche the new plugin
  one. If not, register the new plugin which will override the
  previous one in the index.

ruby/rubygems@ac65001055
Previously, every object allocation in rb_gc_impl_new_obj made a
per-object FFI call into Rust (mmtk_add_obj_free_candidate), which
acquired a mutex on one of the WeakProcessor's candidate vecs, pushed a
single element, and released the mutex. That's an FFI crossing + mutex
lock/unlock on every single allocation.

Now, each MMTk_ractor_cache has two local buffers (parallel-freeable and
non-parallel-freeable, 128 entries each). On allocation, we just store
the pointer into the local buffer. When a buffer fills up, we flush the
entire batch in one FFI call using mmtk_add_obj_free_candidates, which
does a single mutex acquisition and extend_from_slice for the whole
batch.

We picked 128 as our buffer size at random. We should probably
investigate further what an optimum size for this is

ruby/mmtk@23c4a9a676
shutdown_call_finalizer reads candidates from the Rust-side
WeakProcessor, but the main ractor's C-side buffer may not
have been flushed yet (ractor_cache_free runs later). Flush
all remaining buffers before reading candidates.

ruby/mmtk@7e01232134
Instead of sending all 128 buffered objects to one bucket,
round-robin distribute them across all worker buckets so
parallel obj_free work stays balanced.

ruby/mmtk@e1f926cd21
writes"
(ruby/prism#3960)

This reverts commit ruby/prism@4e71dbfc7bd9.

And also add a regression test. Seems like currently prism parses these the same that parse.y does.

ruby/prism@03993421f2
@pull pull bot locked and limited conversation to collaborators Mar 4, 2026
@pull pull bot added the ⤵️ pull label Mar 4, 2026
@pull pull bot merged commit 75d6b15 into turkdevops:master Mar 4, 2026
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.

6 participants