Project

General

Profile

Activity

From 03/06/2026 to 03/12/2026

Today

08:41 AM Feature #21950: Add a built-in CPU-time profiler
> it is not about adding a sampling profiler, it is about adding a CPU time profiler that does not sample.
Well, the issue description talk of CPU-time, but it also talk about sampling (`timer_create(3)` etc). So yes, it's a CPU-time ...
byroot (Jean Boussier)
08:39 AM Revision a3ee27fa (git): Fix `rdoc:%` target for bundled rdoc
nobu (Nobuyoshi Nakada)
08:39 AM Revision 6ba5c3ed (git): outdate-bundled-gems.rb: Keep gemspec files for default gems
nobu (Nobuyoshi Nakada)
08:25 AM Revision 235195f8 (git): [ruby/rubygems] Raise an error when building a gem that has a self reference:
- ### Problem
A gem that has a self-reference in its dependencies would previously
get a warning during `gem build`, saying it's "discouradged".
A gem that includes a self-reference can't be updated due to bundler
filtering it o...
Edouard CHIN
03:56 AM Revision 5c81ba21 (git): [ruby/rubygems] Make SafeYAML.load an alias of safe_load
Using Psych, load was actually more restrictive than safe_load. Using
Gem::YAMLSerializer they were identical. We might as well use the same
path for both methods.
https://github.com/ruby/rubygems/commit/d8d927f889
jhawthorn (John Hawthorn)
03:56 AM Revision d66f8d49 (git): [ruby/rubygems] Update load_yaml test helper to use safe_load
https://github.com/ruby/rubygems/commit/51544ebfd8 jhawthorn (John Hawthorn)
03:56 AM Revision 77507870 (git): [ruby/rubygems] Use safe_load from owner_command
This had been the only user of Gem::SafeYAML.load for a long time. We
might as well be consistent with all other uses and use safe_load.
https://github.com/ruby/rubygems/commit/1b698779f5
jhawthorn (John Hawthorn)
03:56 AM Revision 7db82681 (git): [ruby/rubygems] Unpend owner_command test
https://github.com/ruby/rubygems/commit/227df53bc5 jhawthorn (John Hawthorn)
03:56 AM Revision 0c6972b9 (git): [ruby/rubygems] Restore original SafeYAML.load under Psych
This was changed to unsafe_load with the swap to YAMLSerializer. But
this method did not previously do an unsafe load and we shouldn't
provide that.
https://github.com/ruby/rubygems/commit/37f71c1eac
jhawthorn (John Hawthorn)
03:52 AM Revision 1424201b (git): [ruby/rubygems] Add test for !binary tag in sequence item inline
https://github.com/ruby/rubygems/commit/ba4a4b2b26
Co-authored-by: hsbt <12301+hsbt@users.noreply.github.com>
copilot-swe-agent[bot]
03:52 AM Revision 1c7b2d2b (git): [ruby/rubygems] Support YAML 1.1 !binary tag in YAMLSerializer
Decode base64-encoded values tagged with !binary in mapping keys,
mapping values (both inline and block scalar), and sequence items.
This fixes gem install failures for gems packaged with older RubyGems
that used !binary encoding in chec...
hsbt (Hiroshi SHIBATA)
03:51 AM Revision aab7a55c (git): [ruby/rubygems] Warn when require_relative is used to load compiled extensions during gem build
When a gem has native extensions and uses `require_relative` to load
a path without a corresponding .rb file in the gem, warn that this
will break in RubyGems 4.2, which will stop copying compiled
extensions into the gem's lib directory....
hsbt (Hiroshi SHIBATA)
03:51 AM Revision 93a516dd (git): [ruby/rubygems] Revert DEFAULT_INSTALL_EXTENSION_IN_LIB to true
Many gems created with the default template over the past 6 years use
`require_relative` to load compiled extensions, which breaks when
extensions are not copied into the gem's lib directory. Restore the
default to true for now to mainta...
hsbt (Hiroshi SHIBATA)
02:39 AM Revision f3083308 (git): Bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [advanced-security/filter-sarif](https://github.com/advanced-security/filter-sarif).
Updates `ruby/setup-ruby` ...
dependabot[bot]
12:42 AM Revision ad231cdf (git): Windows: Explicitly specify the use of `coreutils` commands
It appears that shims for individual commands are no longer being
created.
nobu (Nobuyoshi Nakada)
12:42 AM Revision efca0f45 (git): Use $LOAD_PATH.replace for safer restoration in test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
12:42 AM Revision 9bcd9ba9 (git): Suppress bundled gems warning for subfeatures found outside stdlib [Bug #21828]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
12:41 AM Revision 764a245e (git): Fix M:N threads under OpenBSD
OpenBSD requires MAP_STACK for memory regions used as thread stacks.
However it seems to error with "Invalid argument" unless the permissions
include both PROT_READ | PROT_WRITE.
We should be able to satisft this by re-mmapping over our...
jhawthorn (John Hawthorn)
12:38 AM Feature #21700: `IO::Buffer.map`: offset argument is "broken" and needs to be made more useful
I've been using `IO::Buffer.map` on macOS without issues. It's still early days but I wonder why it was failing for you.
https://github.com/socketry/async-utilization/blob/main/lib/async/utilization/observer.rb
ioquatix (Samuel Williams)

03/11/2026

11:49 PM Revision aa604d5a (git): [DOC] Fix indentation in docs for File.path
peterzhu2118 (Peter Zhu)
11:36 PM Revision 943c9cad (git): [DOC] Doc for Pathname.mktmpdir (#16365)
burdettelamar (Burdette Lamar)
07:07 PM Revision 85e434a8 (git): [ruby/prism] Track newlines in character escape sequences
https://github.com/ruby/prism/commit/2e58c52196 kddnewton (Kevin Newton)
07:01 PM Revision da60c907 (git): [ruby/prism] Improve pm_regexp_classify_property perf
https://github.com/ruby/prism/commit/3bdd79257b kddnewton (Kevin Newton)
04:02 PM Feature #21950: Add a built-in CPU-time profiler
The opentelemetry community project includes people from a number of companies building profilers (datadog, google, elastic, polar signals) and it's proposing a new format that's inspired by pprof but tries to solve for some of its short... ivoanjo (Ivo Anjo)
03:56 PM Feature #21950: Add a built-in CPU-time profiler
> conceptually it's like collecting data equivalent to caller_locations efficiently every X milliseconds.
> ...
Unless I've read this issue completely wrong, it is not about adding a sampling profiler, it is about adding a CPU time prof...
headius (Charles Nutter)
02:33 PM Feature #21950: Add a built-in CPU-time profiler
Eregon (Benoit Daloze) wrote in #note-6:
> > I am rather doubtful that CRuby/JRuby/TruffleRuby can share any profiler implementation at all.
> ...
"Profiler implementation" meant (1) the sampling backend and (2) what information would ...
osyoyu (Daisuke Aritomo)
01:40 PM Feature #21950: Add a built-in CPU-time profiler
osyoyu (Daisuke Aritomo) wrote in #note-5:
> I am rather doubtful that CRuby/JRuby/TruffleRuby can share any profiler implementation at all.
They can't share the implementation of gathering backtraces (that's implementation-specific)...
Eregon (Benoit Daloze)
01:37 PM Feature #21950: Add a built-in CPU-time profiler
osyoyu (Daisuke Aritomo) wrote in #note-5:
> I am rather doubtful that CRuby/JRuby/TruffleRuby can share any profiler implementation at all.
I think the opposite, I think it's actually easy to implement such an API on TruffleRuby and...
Eregon (Benoit Daloze)
01:02 PM Feature #21950: Add a built-in CPU-time profiler
Thank you for your comments and input!
Eregon (Benoit Daloze) wrote in #note-4:
> The API should not be under RubyVM, that's CRuby-specific
`RubyVM` being CRuby-specific is actually the exact reason I choosed the place to locate a...
osyoyu (Daisuke Aritomo)
09:30 AM Feature #21950: Add a built-in CPU-time profiler
I think this would be good, and I agree this would avoid several gems reimplementing this in brittle and not portable (e.g. only works on CRuby) ways.
See https://github.com/truffleruby/truffleruby/issues/2044#issuecomment-654848324 for...
Eregon (Benoit Daloze)
08:41 AM Feature #21950: Add a built-in CPU-time profiler
> Any CPU timing in Ruby must also consider JIT improvements over time, and be able to decode things like inlined method calls so that the reported execution time is associated with the correct body of code.
Yes, ZJIT probabaly would ...
osyoyu (Daisuke Aritomo)
01:24 PM Revision d72a0fed (git): Always take th->interrupt_lock in ubf_clear
Patch 08372635f7 fixed a race condition on ubfs, but it's only valid if right after
a call to `ubf_clear`, we assume the ubf function cannot be in the middle of running.
This patch removes an optimization in `ubf_clear` that violates tha...
Luke Gruber
12:22 PM Bug #21828: An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
Thank you for the quick fix! Eregon (Benoit Daloze)
10:56 AM Bug #21828 (Closed): An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
Applied in changeset commit:git|679e4069217104f4fe1d887ec48aa8c3537245b2.
----------
Suppress bundled gems warning for subfeatures found outside stdlib [Bug #21828]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
09:56 AM Bug #21828: An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
A main difference between both reproductions are the Gemfile.lock, for the reproduction in the issue description:
```
GEM
remote: https://rubygems.org/
specs:
benchmark-ips (2.14.0)
PLATFORMS
ruby
x86_64-linux
DE...
Eregon (Benoit Daloze)
09:52 AM Bug #21828: An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
Interestingly it seems fixed for the original reproduction in the issue description, but *not* for the new reproduction of running `benchmark-ips`'s tests. Eregon (Benoit Daloze)
09:46 AM Bug #21828: An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
Also happens on `4.0-dev` from `ruby-build` (`ruby 4.0.1 (2026-03-10 revision 21f2bbf322) +PRISM [x86_64-linux]`). Eregon (Benoit Daloze)
09:38 AM Bug #21828 (Open): An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
As I said:
Eregon (Benoit Daloze) wrote in #note-6:
> still a problem on master
I have tried with `ruby 4.1.0dev (2026-03-11T07:46:22Z master c08f977ac7) +PRISM [x86_64-linux]` specifically.
Please try the reproduction before closing.
Eregon (Benoit Daloze)
08:44 AM Bug #21828 (Closed): An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
The additional changes has been merged. I believe they fixed that.
* https://github.com/ruby/ruby/pull/15908
* https://github.com/ruby/ruby/pull/16154
Please look the merged commit at stable branch at first.
hsbt (Hiroshi SHIBATA)
08:35 AM Bug #21828 (Open): An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
Re-opening since it's still a problem on master and on 4.0.1, so the fix doesn't seem to work.
Another reproduction from https://github.com/evanphx/benchmark-ips/pull/148 is:
```
git clone git@github.com:evanphx/benchmark-ips.git
cd ...
Eregon (Benoit Daloze)
11:48 AM Feature #21951 (Open): Lazy load error enhancer gems to speed up boot time
## Summary
I investigate https://github.com/ruby/rubygems/issues/3799 for speed up Ruby's boot time. It depends on the environment, but when gems are included in `GEM_HOME` and user installation. I and Claude found that the most time-...
hsbt (Hiroshi SHIBATA)
10:56 AM Revision 44b99d68 (git): Use $LOAD_PATH.replace for safer restoration in test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
10:56 AM Revision 679e4069 (git): Suppress bundled gems warning for subfeatures found outside stdlib [Bug #21828]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
09:51 AM Revision 76cca827 (git): Bump v3.4.9
nagachika (Tomoyuki Chikanaga)
07:46 AM Revision c08f977a (git): ZJIT: Add StringEqual HIR and support fold constants (#16106)
Add a `StringEqual` Insn and use it to enable safe constant folding for string equality.
Constant folding uses `chase_insn` to normalize operands. We fold only when it is provably safe:
- both operands resolve to the same SSA value
- bo...
Nozomi Hijikata
06:37 AM Revision 0f2e964e (git): [ruby/rubygems] Configure definitions and YAML status after forked install
https://github.com/ruby/rubygems/commit/80e37bb0a6 hsbt (Hiroshi SHIBATA)
06:37 AM Revision b43c5e99 (git): [ruby/rubygems] bundler/inline: perform installation from a forked child
Unless of course fork isn't available.
Alternate: #7930, #7933
Fix: #7930, #7933
When bundler inline has to install gems, it loads more dependencies than when it
goes through the fast path of all gems being installed.
One of them is `...
byroot (Jean Boussier)
06:37 AM Revision 7132d81d (git): [ruby/rubygems] Reset Gem::Specification and mark inline sources
https://github.com/ruby/rubygems/commit/4ce1510a60 hsbt (Hiroshi SHIBATA)
06:32 AM Revision 944733cc (git): Fix conversion from pointer to integer
`long` and fixnum are not always sufficiently large for pointers. nobu (Nobuyoshi Nakada)
04:58 AM Revision 10cf6f2b (git): Fix up depend
kddnewton (Kevin Newton)
04:45 AM Revision 308afe7c (git): [ruby/prism] Fix reading past end of target names
https://github.com/ruby/prism/commit/1d6a9669dc kddnewton (Kevin Newton)
04:36 AM Revision 5bafa2a8 (git): Added maintainers of embedded core classes
hsbt (Hiroshi SHIBATA)
04:21 AM Revision 99a40509 (git): [ruby/prism] Restructure regexp encoding validation
Move all the logic from prism.c into regexp.c. Now regexp.c does two passes. The first pass scans the raw source to track escape types, non-ASCII literals, and multibyte validity for encoding validation. The second pass scans the unescap... kddnewton (Kevin Newton)
03:54 AM Bug #21856: Massive performance degradation of `rb_obj_free` for `T_CLASS` since Ruby 4.0
I think I've found a solution to this: we can return to the Ruby 3.4 `O(1)` removal, remove box/namespacing from it, and actually make it even simpler by skipping the CLASS -> ICLASS (and ICLASS -> ICLASS) relationship and directly assoc... jhawthorn (John Hawthorn)
02:40 AM Revision 68bf517f (git): Bump taiki-e/install-action
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.25 to 2.68.26
- [Release notes](https://github.com/taiki-e...
dependabot[bot]
01:18 AM Revision 7ccd6836 (git): Fix links in globals doc
burdettelamar (Burdette Lamar)

03/10/2026

08:27 PM Bug #21926: Thread#value on popen3 wait thread hangs in finalizer
A note to whoever backports this (which could be me, I'm just waiting ~ 1 week and checking various CIs after the merge):
https://github.com/ruby/ruby/pull/16362 should be backported as well, they are really 1 fix in 2 separate commit...
luke-gru (Luke Gruber)
07:53 PM Revision 3fa74bff (git): ZJIT: Only emit IncrCounter instructions in stats mode (#16330)
* ZJIT: Only emit IncrCounter instructions in stats mode
This cleans up a lot of HIR output when we're not explicitly measuring
counters. They don't generate code when not in stats mode so they are
just HIR clutter.
* ZJIT: Enable stat...
tekknolagi (Maxwell Bernstein)
07:36 PM Feature #21950: Add a built-in CPU-time profiler
Also worth pointing out the ongoing efforts by the JIT team to eliminate artificial stack frames for leaf methods and some core method calls. As more artificial Ruby frames get elided, it will become harder to reconstruct the stack in a ... headius (Charles Nutter)
07:35 PM Feature #21950: Add a built-in CPU-time profiler
> JFR folks have decided to control sampling timing within the runtime to improve accuracy and stability
The other issue with real CPU timing is the heavy responsibility for accurately representing individual methods' CPU times withou...
headius (Charles Nutter)
05:04 PM Feature #21950 (Open): Add a built-in CPU-time profiler
Modern CRuby workloads can consume CPU concurrently across multiple native threads, especially with multiple Ractors and C exts which release the GVL. I'd like to propose the idea of integrating a built-in CPU-time profiler CRuby to enab... osyoyu (Daisuke Aritomo)
01:44 PM Bug #21097 (Closed): `x = a rescue b in c` and `def f = a rescue b in c` parsed differently between parse.y and prism
Applied in changeset commit:git|5b464d079afb4aad88ac9b9e21c6c4a9c3fb5c1d.
----------
[ruby/prism] Fix not binding power in endless methods
[Bug #21097]
Also, parse:
```
x = a rescue b in c
```
as:
```
(x = (a rescue b)) in c
```
a...
kddnewton (Kevin Newton)
01:44 PM Revision 5b464d07 (git): [ruby/prism] Fix not binding power in endless methods
[Bug #21097]
Also, parse:
```
x = a rescue b in c
```
as:
```
(x = (a rescue b)) in c
```
and:
```
def f = a rescue b in c
```
as:
```
(def f = (a rescue b)) in c
```
https://github.com/ruby/prism/commit/7e797f59ae
kddnewton (Kevin Newton)
01:29 PM Revision c1e84dce (git): [ruby/prism] Fix pinned expression binding power
https://github.com/ruby/prism/commit/979251ef06 kddnewton (Kevin Newton)
08:43 AM Revision 78d6c9bf (git): Use sort.exe located in the same directory as comm.exe
Windows does not have comm.exe, but it does have sort.exe. However,
the default Windows sort.exe is always case-insensitive, so its
outputs is not suitable for input to UNIX-like `comm` tool.
nobu (Nobuyoshi Nakada)
07:56 AM Revision 5f725bfa (git): [ruby/rubygems] Treat nil deserialized config as empty
https://github.com/ruby/rubygems/commit/368fc29ce1 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 386ad8b9 (git): [ruby/rubygems] Skip test when Psych unsafe_load is used
https://github.com/ruby/rubygems/commit/2636b4d24a hsbt (Hiroshi SHIBATA)
07:56 AM Revision 83571ba8 (git): [ruby/rubygems] Load rdoc_options and requirements from YAML
https://github.com/ruby/rubygems/commit/20153ebc78 hsbt (Hiroshi SHIBATA)
07:56 AM Revision ca215b76 (git): [ruby/rubygems] bin/rubocop -A
https://github.com/ruby/rubygems/commit/ba8e4ed9ed hsbt (Hiroshi SHIBATA)
07:56 AM Revision f79f6186 (git): [ruby/rubygems] Limit YAML nesting and alias resolutions
https://github.com/ruby/rubygems/commit/d4c5fc58e7 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 92117949 (git): [ruby/rubygems] Restrict platform ivars when deserializing YAML
https://github.com/ruby/rubygems/commit/b8f77e3860 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 9205a6a7 (git): [ruby/rubygems] Add test for gem specification metadata roundtrip
https://github.com/ruby/rubygems/commit/de53449860 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 05dbf2aa (git): [ruby/rubygems] Add YAML roundtrip tests for specs
Cover native extensions and Windows-style paths
Verify files, extensions, and backslash fields are preserved by SafeYAML
https://github.com/ruby/rubygems/commit/5adce1d26d
hsbt (Hiroshi SHIBATA)
07:56 AM Revision c648235e (git): [ruby/rubygems] Handle malformed/unknown YAML Platform fields
https://github.com/ruby/rubygems/commit/e5bcde365f hsbt (Hiroshi SHIBATA)
07:56 AM Revision b84ed328 (git): [ruby/rubygems] Stop normalizing requirements to Array
https://github.com/ruby/rubygems/commit/6b0aa2a2d3 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 01396cd2 (git): [ruby/rubygems] Treat rdoc_options as Hash instead of Array
https://github.com/ruby/rubygems/commit/074e3f7f62 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 5f44db88 (git): [ruby/rubygems] Construct Gem::Platform from cpu/os/version fields
https://github.com/ruby/rubygems/commit/cf566c3079 hsbt (Hiroshi SHIBATA)
07:56 AM Revision cccb275a (git): [ruby/rubygems] Do not sanitize dependency requirements from YAML
https://github.com/ruby/rubygems/commit/cbe57bbbd7 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 009acc74 (git): [ruby/rubygems] Raise on unknown YAML object tags
https://github.com/ruby/rubygems/commit/c29b3b2240 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 25b82e72 (git): [ruby/rubygems] Support YAML 1.2 nulls and fix nil emission
https://github.com/ruby/rubygems/commit/940358f2c2 hsbt (Hiroshi SHIBATA)
07:56 AM Revision f7e6eae3 (git): [ruby/rubygems] Return nil for empty YAML and raise on nil
https://github.com/ruby/rubygems/commit/c091444047 hsbt (Hiroshi SHIBATA)
07:56 AM Revision 56bfa5de (git): [ruby/rubygems] Add yaml_load/yaml_dump helpers and adapt tests
https://github.com/ruby/rubygems/commit/5a422dafb1 hsbt (Hiroshi SHIBATA)
07:29 AM Revision 3071dcf4 (git): Bump zizmorcore/zizmor-action
Bumps the github-actions group with 1 update in the / directory: [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action).
Updates `zizmorcore/zizmor-action` from 0.5.1 to 0.5.2
- [Release notes](https://github.com/zizmo...
dependabot[bot]
07:05 AM Revision 20c82234 (git): [DOC] Update bundled gems list at ae3ad5e13d8e4a2532c69f251b92a7
git[bot]
06:58 AM Revision 7cdea3bd (git): Merge zlib-3.0.1
hsbt (Hiroshi SHIBATA)
06:58 AM Revision 513ee91b (git): Merge zlib-3.1.2
hsbt (Hiroshi SHIBATA)
06:36 AM Revision ae3ad5e1 (git): Windows: Explicitly specify the use of `coreutils` commands
It appears that shims for individual commands are no longer being
created.
nobu (Nobuyoshi Nakada)
06:02 AM Revision afc684c4 (git): [ruby/rubygems] Prefer system gem path when deps exist
https://github.com/ruby/rubygems/commit/c7bd0c4d5e hsbt (Hiroshi SHIBATA)
06:02 AM Revision 5046b20a (git): [ruby/rubygems] Adjust Sinatra dependency paths
https://github.com/ruby/rubygems/commit/75985f0c77 hsbt (Hiroshi SHIBATA)
06:02 AM Revision 77378641 (git): [ruby/rubygems] Use bundle config set and unset XDG_CACHE_HOME
https://github.com/ruby/rubygems/commit/733d9c9b0b hsbt (Hiroshi SHIBATA)
05:25 AM Revision b012b703 (git): [ruby/strscan] Fix documentation of StringScanner#skip_until
(https://github.com/ruby/strscan/pull/196)
I noticed this while working on #195.
https://github.com/ruby/strscan/commit/3dc627db11
Eregon (Benoit Daloze)
04:00 AM Revision cfb8d5fe (git): [ruby/rubygems] Fix double-quoted YAML escape handling.
This leads installation issue of Windows.
https://github.com/ruby/rubygems/commit/244b38acd7
hsbt (Hiroshi SHIBATA)
02:58 AM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
I personally think `eof?` being blocking is extremely confusing.
I use this shim: https://github.com/socketry/io-stream/blob/main/lib/io/stream/shim/readable.rb#L11 to avoid blocking.
I also mentioned the issue here: https://bugs.ruby-...
ioquatix (Samuel Williams)
02:08 AM Revision c8c94ede (git): [ruby/prism] Fix binding for `in`, `not`, and `do` on/after command calls
https://github.com/ruby/prism/commit/fd0a20f8d8 kddnewton (Kevin Newton)
01:14 AM Misc #21877: DevMeeting-2026-03-17
* [Bug #21870] Regexp: Warnings when using slightly overlapping `\p{...}` classes (jneen)
* Warning spam on code that definitely isn't a mistake (`/[\p{Word}\p{S}]/` and other overlapping properties)
* Noted some possible ways forwar...
jneen (Jeanine Adkisson)

03/09/2026

10:05 PM Revision 231bd61a (git): Update default gems list at 77ef74d3c7505d07c3efa52527fb5e [ci skip]
git[bot]
10:04 PM Revision 77ef74d3 (git): [ruby/timeout] Bump version to 0.6.1
https://github.com/ruby/timeout/commit/951e8025ec Samuel Williams
09:33 PM Revision 4e4fd1d3 (git): [ruby/rubygems] Unify Compact Index API naming.
https://github.com/ruby/rubygems/commit/b93485f6d8 retro (Josef Šimánek)
08:06 PM Misc #21877: DevMeeting-2026-03-17
* [Feature #21942] Allow reading class variables (`@@foo`) from non-main Ractors
* Currently `@foo` is allowed to be read, but `@@foo` isn't allowed
* Rails uses `@@foo` so I'd like to make them allowed
tenderlovemaking (Aaron Patterson)
07:25 PM Bug #21926 (Closed): Thread#value on popen3 wait thread hangs in finalizer
Applied in changeset commit:git|08372635f7ec09f7115bd254246ebd637499651c.
----------
Fix race condition right after ubf registration
Registering a ubf was considered problematic in some cases because it could
result in lock ordering in...
Anonymous
07:25 PM Revision 08372635 (git): Fix race condition right after ubf registration
Registering a ubf was considered problematic in some cases because it could
result in lock ordering inversions with the ubf function itself. I believe
this is the reason that in patch be1bbd5b7d, the ubf was registered outside of
the `th...
Luke Gruber
06:42 PM Revision b5f3f7c5 (git): [ruby/prism] Refine continuable? with algorithm in C
https://github.com/ruby/prism/commit/c28810fe93 kddnewton (Kevin Newton)
06:07 PM Revision a2b9c8a5 (git): ZJIT: Avoid `NoSingletonClass` patchpoint when already a singleton class
The true purpose of assume_no_singleton_classes() is to retain soundness
in event of the effective class of values changing. When the effective
class is already a singleton class that can never happen. (Except due to
IO#reopen, but that'...
alanwu (Alan Wu)
05:29 PM Bug #21876 (Third Party's Issue): Addrinfo.getaddrinfo(AF_UNSPEC) deadlocks after fork on macOS for IPv4-only hosts
luke-gru (Luke Gruber)
05:16 PM Bug #21876: Addrinfo.getaddrinfo(AF_UNSPEC) deadlocks after fork on macOS for IPv4-only hosts
I'm getting a segfault when running your minimal reproduction script on my Macbook Pro (`Darwin Mac 25.2.0 Darwin Kernel Version 25.2.0 (Apple Silicon)`).
I get the segfault when compiling under all 3 `GETADDRINFO_IMPL` implementations ...
luke-gru (Luke Gruber)
03:19 PM Revision 21f2bbf3 (git): Lock to install uutils-coreutils@0.5.0
hsbt (Hiroshi SHIBATA)
03:19 PM Revision 636523d0 (git): Merge zlib-3.2.3
hsbt (Hiroshi SHIBATA)
03:09 PM Revision 5001c193 (git): Compress the size_to_heap_idx table
Index on 8 byte chunks instead of individual bytes. This works because
all pool stot sizes are pointer aligned, so all sizes in an 8 byte range
map to the same heap.
eightbitraptor (Matt V-H)
03:09 PM Revision 208b173c (git): Look up slot sizes for allocations in a table
Also remove BASE_SLOT_SIZE. eightbitraptor (Matt V-H)
12:09 PM Revision 4ce8515c (git): [ruby/timeout] Remove warnings
https://github.com/ruby/timeout/commit/9b935535ff etienne (Étienne Barrié)
12:05 PM Revision b5ffaa3a (git): [ruby/timeout] Fix timing-dependent test
* The timeout could trigger before the `raise`.
https://github.com/ruby/timeout/commit/e4aa36096f
Eregon (Benoit Daloze)
11:54 AM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
I noticed https://github.com/ruby/ruby/blob/master/doc/maintainers.md#bundled-gems-upstream-repositories-and-maintainers says a few things about this topic:
> Bundled gems upstream repositories and maintainers
> ...
But how can the cor...
Eregon (Benoit Daloze)
08:02 AM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
[Rulesets](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets#branch-and-tag-rulesets) would also work. You create one targeting all tags and simply restrict tag cr... Earlopain (Earlopain _)
11:37 AM Misc #21949: timeout gem maintainers
hsbt (Hiroshi SHIBATA) wrote in #note-7:
> Also, it would be very rude to say "there is no maintainer" when there is a maintainer's name.
Ah I see, you mean https://bugs.ruby-lang.org/issues/21949#note-4
I think from the context of ...
Eregon (Benoit Daloze)
11:23 AM Misc #21949: timeout gem maintainers
I think some misunderstanding here is I interpret `matz` being listed as the maintainer of `timeout` as matz historically wrote and maintained `lib/timeout.rb`, and not* some special meaning. Eregon (Benoit Daloze)
11:18 AM Misc #21949: timeout gem maintainers
hsbt (Hiroshi SHIBATA) wrote in #note-7:
> The fact that Matz is the maintainer means that development is done in agreement with the committers.
I see, that was/is unclear to me, notably because development of `timeout` happens on Gi...
Eregon (Benoit Daloze)
11:06 AM Misc #21949 (Open): timeout gem maintainers
Let me explain my perspective on this:
* I contributed significantly to ruby/timeout by [rewriting the implementation to be a lot faster](https://github.com/ruby/timeout/pull/15).
* I already acted as a de-facto maintainer by reviewing...
Eregon (Benoit Daloze)
11:05 AM Misc #21949 (Rejected): timeout gem maintainers
The fact that Matz is the maintainer means that development is done in agreement with the committers. Also, it would be very rude to say "there is no maintainer" when there is a maintainer's name.
hsbt (Hiroshi SHIBATA)
10:49 AM Misc #21949 (Open): timeout gem maintainers
The timeout gem has no maintainer currently, so let's at least discuss this. Eregon (Benoit Daloze)
10:48 AM Misc #21949: timeout gem maintainers
hsbt (Hiroshi SHIBATA) wrote in #note-2:
> This is already rejected by Matz at https://github.com/ruby/ruby/pull/15424#issuecomment-3640875676
Matz said:
> ...
Hence why this proposal is to have both me and @nobu as maintainers (if ...
Eregon (Benoit Daloze)
10:42 AM Misc #21949 (Rejected): timeout gem maintainers
This is already rejected by Matz at https://github.com/ruby/ruby/pull/15424#issuecomment-3640875676
Discussing with multiple people means that it is not good for a single implementation maintainer to make the decision alone.
hsbt (Hiroshi SHIBATA)
10:36 AM Misc #21949 (Open): timeout gem maintainers
The timeout gem has currently [no official active maintainers](https://github.com/ruby/ruby/blob/master/doc/maintainers.md).
I would like to propose myself and @nobu (see below) as maintainers of the [timeout](https://github.com/ruby/ti...
Eregon (Benoit Daloze)
10:56 AM Misc #21948: benchmark gem maintainer
Could one of the Ruby org owners grant me write access to ruby/benchmark? (EDIT: sorry, typo) Eregon (Benoit Daloze)
10:31 AM Misc #21948 (Open): benchmark gem maintainer
The benchmark gem has currently [no official maintainer](https://github.com/ruby/ruby/blob/master/doc/maintainers.md).
I would like to propose myself as maintainer of the [benchmark](https://github.com/ruby/benchmark) gem.
I always h...
Eregon (Benoit Daloze)
10:44 AM Revision 364f2fc1 (git): Propose myself as maintainer of benchmark
* I always had an interest about the benchmark stdlib and did significant
contributions to it, notably 979ec8df5daf6db314b2f17e53b53d269881d6ca.
* Ref: https://bugs.ruby-lang.org/issues/21948
Eregon (Benoit Daloze)
10:01 AM Revision 1425c522 (git): Parse ISO8601 datetimes without Time.parse
hsbt (Hiroshi SHIBATA)
08:54 AM Bug #21760: Ruby::Box: a couple of require-related problems
I found another `Ruby::Box#require` case that seems related to this issue.
### Environment
- 4.0.1 / linux
- `RUBY_BOX=1`
If a file loaded inside `Ruby::Box` requires `fiddle/import`, loading the same file from multiple boxes c...
katsyoshi (Katsuyoshi MATSUMOTO)
07:59 AM Revision 4da2b2d9 (git): [ruby/rubygems] Remove redundant SafeYAML.load and update tests
https://github.com/ruby/rubygems/commit/fa4771bcf5 hsbt (Hiroshi SHIBATA)
07:59 AM Revision 6425157e (git): [ruby/rubygems] Simplify Psych exception stubs and fallback raises
https://github.com/ruby/rubygems/commit/61bfb3fff8 hsbt (Hiroshi SHIBATA)
07:59 AM Revision 6a92781f (git): [ruby/rubygems] Add Psych stub classes to yaml serializer
https://github.com/ruby/rubygems/commit/f3a1b17fce hsbt (Hiroshi SHIBATA)
07:59 AM Revision 4cd37267 (git): [ruby/rubygems] Add unit and regression tests for YAML serializer
https://github.com/ruby/rubygems/commit/9741fbf151 hsbt (Hiroshi SHIBATA)
07:59 AM Revision 88aeabf8 (git): [ruby/rubygems] Add YAMLSerializer round-trip tests
https://github.com/ruby/rubygems/commit/89ea9dbb19 hsbt (Hiroshi SHIBATA)
07:59 AM Revision fad2934d (git): [ruby/rubygems] Add comprehensive SafeYAML and YAMLSerializer tests
Add tests covering the full pure-Ruby YAML implementation:
- Gem object serialization round-trips (dump and load)
- YAML anchors and aliases (enabled and disabled)
- Permitted classes and symbols validation
- Real-world gemspec parsing (...
hsbt (Hiroshi SHIBATA)
07:59 AM Revision 8a19f693 (git): [ruby/rubygems] Guard against nil next line in YAML serializer
https://github.com/ruby/rubygems/commit/faab31b5cf hsbt (Hiroshi SHIBATA)
07:59 AM Revision 00e054f2 (git): [ruby/rubygems] Optimize YAML serializer line handling
https://github.com/ruby/rubygems/commit/ef022c664f hsbt (Hiroshi SHIBATA)
07:59 AM Revision d31f7c73 (git): [ruby/rubygems] Simplify indentation handling in YAML serializer
https://github.com/ruby/rubygems/commit/50becac99a hsbt (Hiroshi SHIBATA)
07:59 AM Revision 2781b19c (git): [ruby/rubygems] Update test helpers for YAMLSerializer
https://github.com/ruby/rubygems/commit/9d54d0f830
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
07:59 AM Revision 1cd2cc2c (git): [ruby/rubygems] Use Psych-specific YAML error classes
https://github.com/ruby/rubygems/commit/e07e88a232 hsbt (Hiroshi SHIBATA)
07:59 AM Revision 60430492 (git): [ruby/rubygems] Update bundler inline spec expectations
https://github.com/ruby/rubygems/commit/825d4eba3c
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
07:59 AM Revision 6167a6c9 (git): [ruby/rubygems] Use YAMLSerializer in specification_command with Psych fallback
https://github.com/ruby/rubygems/commit/895c8799fc
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
07:59 AM Revision e954bd2b (git): [ruby/rubygems] Use YAMLSerializer in Package with Psych fallback
https://github.com/ruby/rubygems/commit/21c33bb482
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
07:59 AM Revision 9e85f2c2 (git): [ruby/rubygems] Use YAMLSerializer in Specification with Psych fallback
https://github.com/ruby/rubygems/commit/b4655ddeb2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
07:59 AM Revision 852e7cfa (git): [ruby/rubygems] Use YAMLSerializer in SafeYAML with Psych fallback
https://github.com/ruby/rubygems/commit/d81ae0a870
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
07:59 AM Revision 2c9e4bef (git): [ruby/rubygems] Add use_psych config and make YAMLSerializer default YAML backend
Add Gem.use_psych? and Gem.load_yaml branching so that YAMLSerializer
is used by default, while Psych remains available via the use_psych
config option in .gemrc or RUBYGEMS_USE_PSYCH environment variable.
https://github.com/ruby/rubyge...
hsbt (Hiroshi SHIBATA)
07:59 AM Revision a551f4fb (git): [ruby/rubygems] Refactor YAMLSerializer into Parser/Builder/Emitter
https://github.com/ruby/rubygems/commit/bfe17c110c hsbt (Hiroshi SHIBATA)
07:59 AM Revision 45cb5d00 (git): [ruby/rubygems] Add Gem object reconstruction from parsed YAML
Add convert_to_spec and convert_any methods that transform parsed YAML
data structures (with :tag metadata) back into Gem::Specification,
Version, Platform, Requirement, and Dependency objects. Wire these into
the load method so it retur...
hsbt (Hiroshi SHIBATA)
07:59 AM Revision 91110cef (git): [ruby/rubygems] Add full YAML parser with recursive descent
Replace the simple regex-based load method with a full recursive
descent parser (parse_any) that handles nested hashes, arrays, block
scalars (| and |-), YAML anchors (&anchor) and aliases (*alias),
!ruby/object: type tags, flow notation...
hsbt (Hiroshi SHIBATA)
07:59 AM Revision 91068263 (git): [ruby/rubygems] Add YAML serializer (dump) for Gem objects
Replace the simple dump_hash method with dump_obj that can serialize
Gem::Specification, Version, Platform, Requirement, Dependency, Hash,
Array, Time, and String objects into YAML format. This enables pure-Ruby
YAML serialization withou...
hsbt (Hiroshi SHIBATA)
07:14 AM Revision 59f744c5 (git): Suppress format warnings
Use the appropriate modifier. `size_t` is not always `unsigned long`,
even if the size is the same.
nobu (Nobuyoshi Nakada)
07:14 AM Revision 1b8c6c1e (git): Suppress a sign-compare warning
This cast is safe because `rb_absint_size` returns `nlz` within the
range `0...CHAR_BIT`.
nobu (Nobuyoshi Nakada)
06:34 AM Revision c70d88be (git): [ruby/rubygems] Use JSON for cargo metadata parsing
https://github.com/ruby/rubygems/commit/d18e420215
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
05:46 AM Revision bab8120b (git): Separate the case `default_seed_bits` is 0
nobu (Nobuyoshi Nakada)
05:46 AM Revision 7bcb5178 (git): Mix upper bits when `st_index_t` is shorter than `uint64_t`
As well as when `uint64_t` is not available. Although we now assume
that `uint64_t` is always available, even on 32-bit platforms, the
size of `st_index_t` is the same as a pointer and would be shorter
than 64-bit.
nobu (Nobuyoshi Nakada)
03:48 AM Bug #21947 (Closed): `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
Applied in changeset commit:git|f315d250b44e75a1a69f4a05b293dcc701377689.
----------
[ruby/timeout] Compatibility with Fiber scheduler.
(https://github.com/ruby/timeout/pull/97)
[Bug #21947]
https://github.com/ruby/timeout/commit/55d7...
Anonymous
02:33 AM Bug #21947: `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
See <https://github.com/ruby/timeout/pull/97> for a proposed fix. ioquatix (Samuel Williams)
02:27 AM Bug #21947 (Closed): `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
The following example executes successfully after 7 seconds instead of timing out after 2.
```ruby
require 'async'
require 'net/http'
start = Time.now
Sync do
Timeout.timeout 2 do
Net::HTTP.get(URI 'https://httpbin.org...
ioquatix (Samuel Williams)
03:48 AM Revision f315d250 (git): [ruby/timeout] Compatibility with Fiber scheduler.
(https://github.com/ruby/timeout/pull/97)
[Bug #21947]
https://github.com/ruby/timeout/commit/55d7c84b50
Samuel Williams
02:49 AM Revision f3d6967c (git): [DOC] Update bundled gems list at 3a05ad81dd68ed581b0d163392823c
git[bot]
02:48 AM Revision 3a05ad81 (git): Bump the github-actions group across 1 directory with 3 updates
Bumps the github-actions group with 3 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby), [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) and [taiki-e/install-action](https://github.... dependabot[bot]

03/08/2026

11:31 PM Revision 8ca12b54 (git): Fix M:N threads under OpenBSD
OpenBSD requires MAP_STACK for memory regions used as thread stacks.
However it seems to error with "Invalid argument" unless the permissions
include both PROT_READ | PROT_WRITE.
We should be able to satisft this by re-mmapping over our...
jhawthorn (John Hawthorn)
06:21 PM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
st0012 (Stan Lo) wrote in #note-4:
> the write/release permission will become inseparable
I think [Deployments environments](https://docs.github.com/en/actions/reference/workflows-and-actions/deployments-and-environments) could help ...
Eregon (Benoit Daloze)
03:54 PM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
I agree that we should have clearer rules on how committers can/should engage with gems under the `ruby` org.
My (perhaps outdated) understanding was:
- Ruby committers can make changes to gems they don't maintain for misc/doc changes,...
st0012 (Stan Lo)
03:06 PM Revision 638cdd6b (git): [ruby/prism] Copy and embed for serialization format
https://github.com/ruby/prism/commit/0e7fb6b868 kddnewton (Kevin Newton)
02:51 PM Revision eef66208 (git): [ruby/prism] Fix link to node interface
Closes https://github.com/ruby/prism/pull/3974
https://github.com/ruby/prism/commit/94646f5329
Earlopain (Earlopain _)
09:16 AM Revision 47103734 (git): Update default gems list at c7e7d399ed523e4f51d1848a55501f [ci skip]
git[bot]
09:15 AM Revision c7e7d399 (git): [ruby/json] Release 2.19.1
https://github.com/ruby/json/commit/4a42a04280 byroot (Jean Boussier)
09:12 AM Revision 4068ff3b (git): [ruby/json] Add missing GC_GUARD in `fbuffer_append_str`
Ref: https://github.com/ruby/json/commit/fff25c9f4b9c
`StringValuePtr` use `volatile` so the compiler is less likely
to re-use the register.
But regardless, we should GC_GUARD `str` as we no longer reference
it after `GETMEM`.
https:/...
byroot (Jean Boussier)

03/07/2026

09:09 AM Feature #21869: Add receive_all Method to Ractor API for Message Batching
> I understand the idea that batching helps in this case where you want to explicitly flush, but that's a pretty specific example, e.g. it's uncommon to even call IO#flush at all in Ruby.
Not specific to Ractor, but I relatively often...
byroot (Jean Boussier)
07:00 AM Revision 66e61d0c (git): [DOC] Update bundled gems list at 55df8dc063df1c749dbe07f78158f8
git[bot]
05:50 AM Revision 3e9494c7 (git): Bump zlib version to 3.2.3.
nagachika (Tomoyuki Chikanaga)
05:42 AM Bug #21873: `UnboundMethod#==` returns false for methods from included/extended modules
ruby_3_4: merged at commit:0097b87b1e2c6aa60489527e421e8bf2e2791d69. nagachika (Tomoyuki Chikanaga)
05:41 AM Revision 0097b87b (git): Fix UnboundMethod#== for methods from included/extended modules [Backport #21873]
Method#unbind clones the method entry, preserving its defined_class.
For methods mixed in via include/extend, defined_class is an ICLASS,
causing UnboundMethod#== to return false when comparing against the
same method obtained via Module...
Mike Dalessio
05:17 AM Revision 153fa859 (git): objspace_dump: Skip invalid CME when dumping CCs
When a CC is invalidated only the klass field is set to 0. After it's
invalidated it isn't safe to access the CME, as it may have been freed.
I made a similar change in Ruby 4.0 in
640a2f1dc77c0ecf226dbd71cf7a1eb876a1f037, but assumed i...
jhawthorn (John Hawthorn)
04:43 AM Revision 55df8dc0 (git): [DOC] Update the date in man pages if changed
nobu (Nobuyoshi Nakada)
04:42 AM Bug #21860: Process.fork: the child may deadlock on `th->interrupt_lock` in `threadptr_interrupt_exec_cleanup`
ruby_3_4: merged at commit:43771bb0efcd139acd9112a770e8b8d719118dce. nagachika (Tomoyuki Chikanaga)
04:41 AM Revision 43771bb0 (git): [3.4] Fix deadlock on th->interrupt_lock after fork
[Bug #21860]
If a thread was holding this lock before fork, it will not exist in the
child process. We should re-initialize these locks as we do with the VM
locks when forking.
Co-Authored-By: John Hawthorn <john@hawthorn.email>
Co-aut...
byroot (Jean Boussier)
04:40 AM Bug #21866: Backport Fix for integer overflow checks in enumerator
ruby_3_4: merged at commit:a93ff4880da5c4e56f7ec2066a9c3f7748892231. nagachika (Tomoyuki Chikanaga)
04:40 AM Revision a93ff488 (git): Fix integer overflow checks in enumerator
Jörmungandrk
04:12 AM Revision 12038f19 (git): [DOC] Update the date in man pages by the author date
Prefer the date authored the contents over the merged date for the
embedded dates.
nobu (Nobuyoshi Nakada)
04:05 AM Revision f3e1dfc8 (git): vcs.rb: Add `VCS::GIT#author_date` method
Returns the author date of the latest commit for the path. nobu (Nobuyoshi Nakada)
04:04 AM Revision 9fd8dd4a (git): vcs.rb: Make `relative_to` accept the base directory name optionally
nobu (Nobuyoshi Nakada)
04:04 AM Revision 38c9f14b (git): vcs.rb: Extract `parse_iso_date` method
nobu (Nobuyoshi Nakada)
03:18 AM Bug #21711 (Closed): Prism and parse.y parses private endless method definition with block differently
Fixed by https://github.com/ruby/prism/pull/3969. Sorry I didn't link it in the commit message. kddnewton (Kevin Newton)
02:16 AM Bug #21945 (Closed): Ripper lexes newline between identifier and `and?` as ignored newline
Applied in changeset commit:git|55694ad7efc3f8dc6d5c7aefa60ded4c303ed6cf.
----------
[Bug #21945] Correctly handle `and?` and similar
nobu (Nobuyoshi Nakada)
01:39 AM Revision 55694ad7 (git): [Bug #21945] Correctly handle `and?` and similar
nobu (Nobuyoshi Nakada)
12:54 AM Revision b3248037 (git): ZJIT: Add execution counters for JIT-compiled code paths (#16315)
Adds runtime execution tracking for ZJIT-compiled iseqs so we can identify which compiled methods are called most frequently.
**Why?**
1. Determining what can be optimized based on how often it's called: knowing call frequency helps p...
Nery Campusano

03/06/2026

09:27 PM Revision fd9448bc (git): [ruby/prism] Fix not without parentheses binding power
https://github.com/ruby/prism/commit/7d21e564ac kddnewton (Kevin Newton)
09:26 PM Revision 6533b101 (git): [ruby/prism] Fix precedence of infix operators after command
https://github.com/ruby/prism/commit/35470bb90d kddnewton (Kevin Newton)
08:04 PM Misc #21922: Permissions for committers for ex-default/bundled/unbundled gems repositories
hsbt (Hiroshi SHIBATA) wrote in #note-1:
> First of all, the title is wrong. Ruby committers can still commit to the default gem repository.
Right, I'll update the title.
I reviewed the list, it contains some default gems but most o...
Eregon (Benoit Daloze)
07:21 PM Feature #21264: Extract Date library from Ruby repo in the future
Backlink to a PR `Replace C extension with pure Ruby implementation for Ruby >= 3.3`:
https://github.com/ruby/date/pull/155
Eregon (Benoit Daloze)
06:45 PM Revision 9ecac8d4 (git): [ruby/prism] Fix the handling of `do` on commands
Introduce PM_TOKEN_KEYWORD_DO_BLOCK to distinguish do-blocks on
command-style calls from regular `do` keywords. Add
parse_command_do_block to attach these blocks to call nodes. Track
in_endless_def_body to prevent do-block consumption in...
kddnewton (Kevin Newton)
06:38 PM Feature #21943: Add StringScanner#get_int to extract capture group as Integer without intermediate String
jinroq (Jinroq SAITOH) wrote:
> In the context of `Date._strptime("%Y-%m-%d")`, this overhead is a significant portion of the total parse time, as shown in earlier profiling:
> ...
This part is not clear to me, notably what does that 40%...
Eregon (Benoit Daloze)
05:33 PM Revision 980bc396 (git): ZJIT: Count LoadField and StoreField executions (#16318)
## Runtime Counters on lobsters (before/after Jacob's load-store opt)
| Stat | Before | After | Delta |
|------|--------|-------|-------|
| load_field_count | 110,410,542 | 106,547,275 | -3,863,267 (-3.5%) |
| store_field_count | 9,196,...
tekknolagi (Maxwell Bernstein)
05:27 PM Revision db52cd62 (git): ZJIT: Constant fold div (/) operations (#16168) (#16233)
ZJIT: Constant fold modulus (%) operations (#16168)
Similar to the way ZJIT already folds +, -, and * operations. One
complication is that the / operator behaves differently in Ruby than in
Rust for negative values. For example in Ruby:...
Steven Webb
05:02 PM Revision b5a768b6 (git): [ruby/prism] Fix in handling
in is a unique keyword because it can be the start of a clause or
an infix keyword. We need to be explicitly sure that even though in
_could_ close an expression context (the body of another in clause)
that we are not also parsing an inl...
kddnewton (Kevin Newton)
05:02 PM Revision e7d2828f (git): [ruby/prism] Fix error message for block/lambda with `...` argument
They currently complain that the parent method is not forwarding.
But the actual problem is that these types of arguments simply don't
accept `...`
Fixes [Bug #21927]
https://github.com/ruby/prism/commit/0aa2363331
Earlopain (Earlopain _)
05:02 PM Revision 83c261f3 (git): [ruby/prism] Correctly handle `and?` and similar on ruby 4.0
It gets confused for syntax introduced in https://bugs.ruby-lang.org/issues/20925
But it actually should be a plain method call.
`!`/`?` are not valid as part of an identifier, methods
however allow them as the last character.
Fixes [Bu...
Earlopain (Earlopain _)
03:27 PM Bug #21873: `UnboundMethod#==` returns false for methods from included/extended modules
3.4 backport PR: https://github.com/ruby/ruby/pull/16326 luke-gru (Luke Gruber)
09:57 AM Feature #21875: Handling of trailing commas in lambda parameters
nobu (Nobuyoshi Nakada) wrote in #note-4:
> Rather I think it should be allowed even after optional/rest/keyword/keyword-rest arguments in block parameters too.
Wouldn't that be **very** confusing then because `proc { |a,| a }.call([...
Eregon (Benoit Daloze)
09:25 AM Revision d5d144c1 (git): parse.y: Split forwarding argument in method and lambda
Eliminate the lambda argument conditions from the action. nobu (Nobuyoshi Nakada)
09:16 AM Feature #21932: `MatchData#get_int`
FYI: strscan will use `integer_at` not `get_int`: https://github.com/ruby/strscan/pull/192#issuecomment-4002582149 kou (Kouhei Sutou)
08:19 AM Misc #21928 (Closed): Prism backport handling
Earlopain (Earlopain _)
08:06 AM Revision 66c3ff3f (git): Update default gems list at 9356837d1a436a75ba3b35234d7678 [ci skip]
git[bot]
08:05 AM Revision 9356837d (git): [ruby/json] Release 2.19.0
https://github.com/ruby/json/commit/a11acc1ff4 byroot (Jean Boussier)
07:58 AM Revision cd80e238 (git): [ruby/json] fbuffer.h: Use size_t over unsigned long
unsigned long is only 32b on some platforms.
https://github.com/ruby/json/commit/0a4fb79cd9
byroot (Jean Boussier)
07:48 AM Revision f56310de (git): [ruby/json] Reject negative depth; add overflow guards to prevent hang/crash
https://github.com/ruby/json/commit/de993aa766 thesmartshadow
06:49 AM Revision f16961ec (git): [ruby/rubygems] Remove dead code in dependency installer tests
Remove unused si.to_yaml calls that stored YAML at URLs that were never
fetched. With the pure-Ruby parser, NilClass no longer has to_yaml, but
these lines were dead code regardless.
https://github.com/ruby/rubygems/commit/6ab25e49ac
hsbt (Hiroshi SHIBATA)
06:45 AM Revision dcd6b55e (git): [ruby/rubygems] Skip flaky webauthn test on TruffleRuby
Pend test_with_webauthn_enabled_failure on TruffleRuby where it fails
intermittently.
https://github.com/ruby/rubygems/commit/6e062ccef1
hsbt (Hiroshi SHIBATA)
05:02 AM Revision 9aca7291 (git): Improve comparison error message.
In certain cases, things like Array#sort can result in a confusing error
message. For instance where a and b are characters in a string,
`"string"`:
```ruby
array.sort { |a, b| string.index(a) <=> string.index(b) }
```
If one of the in...
ernie (Ernie Miller)
04:12 AM Revision 85453b75 (git): Use OPTIMIZED_CMP in r_less instead of <=>
kyanagi (Kouhei Yanagita)
03:33 AM Revision 7a1d47ae (git): ZJIT: Remove duplicate CheckInterrupts within basic blocks (#16317)
Add a new optimization pass that eliminates redundant CheckInterrupts
instructions within each basic block. Only the first CheckInterrupts is
needed per stretch of non-call code, since the interrupt flag only needs
to be checked once. Th...
rwstauner (Randy Stauner)
02:42 AM Revision a6cb8f07 (git): Check for -fdeclspec consistently
When checking whether CXXFLAGS is valid, we try to compile with a stdio
include which causes a warning.
This does the same when we check whether "-fdeclspec" can be used, that
way the flag is not added if it would lead to a warning later.
etienne (Étienne Barrié)
02:40 AM Revision cd54232b (git): Bump github/codeql-action in the github-actions group across 1 directory
Bumps the github-actions group with 1 update in the / directory: [github/codeql-action](https://github.com/github/codeql-action).
Updates `github/codeql-action` from 4.32.5 to 4.32.6
- [Release notes](https://github.com/github/codeql-a...
dependabot[bot]
01:57 AM Revision 46f51cb3 (git): string.c: guard tmp in rb_str_format_m (GH-16280)
[Bug #21931]
Keep tmp alive while RARRAY_CONST_PTR(tmp) is used by rb_str_format.
[alan: sunk the guard below usage]
Reviewed-by: Alan Wu <XrXr@users.noreply.github.com>
ZHIJIE XIE
12:06 AM Revision 45f030f9 (git): [PRISM] Template out node creation functions
kddnewton (Kevin Newton)
 

Also available in: Atom