Project

General

Profile

Activity

From 02/27/2026 to 03/05/2026

Today

04:08 AM Feature #21943 (Open): Add StringScanner#get_int to extract capture group as Integer without intermediate String
## Motivation
The date library is being [rewritten from C to pure Ruby](https://github.com/ruby/date/pull/155). During this effort, `Date._strptime` was identified as a major performance bottleneck. Profiling revealed that the root ca...
jinroq (Jinroq SAITOH)
04:03 AM Bug #21870: Regexp: Warnings when using slightly overlapping \p{...} classes
If there are no objections, I'll submit a patch with strategy (a) next week. It's straightforward to implement and maintains the closest to the current behaviour as possible while fixing the issue. jneen (Jeanine Adkisson)
03:55 AM Revision 8a87cebd (git): [DOC] Add note about link fragments (#16304)
burdettelamar (Burdette Lamar)
03:16 AM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
synacker (Mikhail Milovidov) wrote in #note-4:
> In this code:
> ...
It would work for **your code**, but may not for general purposes.
And if `main_task` finished immediately and no command is coming, it will be a busy loop.
I guess...
nobu (Nobuyoshi Nakada)
02:42 AM Revision 0201e926 (git): [DOC] Update bundled gems list at 97e27d7f30a0df4b0b67a619d5df4f
git[bot]
02:41 AM Revision 97e27d7f (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 [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `ruby/setup-ruby` from 1.288.0 to ...
dependabot[bot]
01:39 AM Revision c76ead9e (git): Update default gems list at 48a210537de69c3ff2da1609ee8f2e [ci skip]
git[bot]
01:38 AM Revision 48a21053 (git): [ruby/zlib] Bump up to 3.2.3
https://github.com/ruby/zlib/commit/d9c7876988 hsbt (Hiroshi SHIBATA)
01:38 AM Revision d2a9bb69 (git): [ruby/zlib] Fix buffer overflow at ungetc
https://github.com/ruby/zlib/commit/608d2be66f nobu (Nobuyoshi Nakada)
12:59 AM Feature #21942: Allow reading class variables from non-main Ractors
I sent a patch [here](https://github.com/ruby/ruby/pull/16308) tenderlovemaking (Aaron Patterson)
12:01 AM Feature #21942 (Open): Allow reading class variables from non-main Ractors
It's very common in Rails applications to use class variables, and today class variables aren't even allowed to be read inside a Ractor:
```ruby
class Foo
# This is NOT allowed to be read in non-main Ractors
@@bar = 123
def ...
tenderlovemaking (Aaron Patterson)

03/04/2026

11:16 PM Bug #21941: Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure
I have a fix for this here: https://github.com/ruby/ruby/pull/16306 ufuk (Ufuk Kayserilioglu)
10:00 PM Bug #21941: Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure
Reduced some more, no IO or anything:
```ruby
def run
fork_safe = ->(t) { t }
RubyVM::YJIT.enable
i = 0
begin
while i < 100
i += 1
p i
begin
next if i
rescue Interrupt
...
byroot (Jean Boussier)
09:55 PM Bug #21941: Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure
Reduced even further:
```ruby
def run
fork_safe = ->(t) { t }
RubyVM::YJIT.enable
read, wakeup = IO.pipe
wakeup.write("!")
begin
while true
begin
next if read.wait_readable
rescue Interr...
byroot (Jean Boussier)
09:51 PM Bug #21941 (Open): Local variable becomes nil when YJIT enabled mid-method with fork/signal/ensure
The following code results in the `read` local variable becoming nil, even though it is never reassigned:
```
def run
fork_safe = ->(t) { t }
RubyVM::YJIT.enable
read, wakeup = IO.pipe
Signal.trap("SIGCHLD") { wakeup.wr...
nicholasdower (Nick Dower)
09:18 PM Revision 6ea811e6 (git): ZJIT: Add for_each_operand methods to Insn (#16305)
- Add `for_each_operand`, `for_each_operand_mut`, and `try_for_each_operand` methods to `Insn`, backed by a shared `for_each_operand_impl!` macro
- Replace the old `worklist_traverse_single_insn` function on `Function` with direct use of...
tekknolagi (Maxwell Bernstein)
03:36 PM Bug #21940: Ruby::Box: `$_` returns stale value due to gvar_tbl caching
Patch: https://github.com/ruby/ruby/pull/16303 dak2 (Daichi Kamiyama)
03:25 PM Bug #21940 (Open): Ruby::Box: `$_` returns stale value due to gvar_tbl caching

## Environment
- Ruby Version v4.0.1
- OS: macOS 15.6.1 (arm64)
- `RUBY_BOX=1` enabled
## Reproduction
```shell
echo -e "a\nb" | RUBY_BOX=1 ruby -e 'gets; $_; gets; p $_'
```
## Expected
```
"b\n"
```
The secon...
dak2 (Daichi Kamiyama)
12:12 PM Revision 75d6b159 (git): Always strictly align iseq compile data
nobu (Nobuyoshi Nakada)
12:12 PM Revision d2516d32 (git): Calculate padding by alignment size
nobu (Nobuyoshi Nakada)
11:49 AM Revision 795619ec (git): [ruby/prism] Revert "Reject infix operators on command call on
writes"
(https://github.com/ruby/prism/pull/3960)
This reverts commit https://github.com/ruby/prism/commit/4e71dbfc7bd9.
And also add a regression test. Seems like currently prism parses these the same that parse.y does.
https://githu...
Earlopain (Earlopain _)
11:02 AM Revision 4d7f3ba2 (git): [ruby/mmtk] Cargo format
https://github.com/ruby/mmtk/commit/7889da7c0e eightbitraptor (Matt V-H)
11:02 AM Revision 3ec9bafe (git): [ruby/mmtk] Flush obj_free buffers before shutdown finalizers
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.
https://...
eightbitraptor (Matt V-H)
11:02 AM Revision 09262009 (git): [ruby/mmtk] Fix Cargo format issues
https://github.com/ruby/mmtk/commit/26ec9f7f89 eightbitraptor (Matt V-H)
11:02 AM Revision fa8b6aff (git): [ruby/mmtk] Buffer obj_free candidates.
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 ...
eightbitraptor (Matt V-H)
11:02 AM Revision 45dabe33 (git): [ruby/mmtk] Distribute batch candidates across parallel buckets
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.
https://github.com/ruby/mmtk/commit/e1f926cd21
eightbitraptor (Matt V-H)
09:39 AM Revision d3b6bfe6 (git): [ruby/rubygems] Drop subprocess regression test for request proxy lookup
https://github.com/ruby/rubygems/commit/fdae8c7698 afurm (Andrii Furmanets)
09:39 AM Revision d920d399 (git): [ruby/rubygems] Fix Gem::Request proxy env lookup when required directly
https://github.com/ruby/rubygems/commit/db8fd6becb afurm (Andrii Furmanets)
08:35 AM Feature #21932: `MatchData#get_int`
zenspider (Ryan Davis) wrote in #note-2:
> In the method comment on the impl side, you have examples for parsing a date... but IDGI... 1/2/10 are supposed to be the base arg, right? Base 1?
I can't get from where the example comes.
...
nobu (Nobuyoshi Nakada)
01:16 AM Feature #21932: `MatchData#get_int`
Tried to add a comment to your commit but github is being very sketchy today.
In the method comment on the impl side, you have examples for parsing a date... but IDGI... 1/2/10 are supposed to be the base arg, right? Base 1?
zenspider (Ryan Davis)
06:58 AM Revision f57af84d (git): [ruby/rubygems] Fix plugin new version not registering:
- ### 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 th...
Edouard CHIN
06:51 AM Revision 115b4c65 (git): Add NEWS.md entry for ENV.fetch_values and that tests
From https://github.com/ruby/rubygems/pull/8501
Co-authored-by: Suleyman Musayev <96992680+msuliq@users.noreply.github.com>
hsbt (Hiroshi SHIBATA)
06:45 AM Revision 0cba8cf4 (git): YJIT: Bail out if proc would be stored above stack top
Fixes [Bug #21266].
Backport of 9168cad4d63a5d281d443bde4edea6be213b0b25 to 3.3
rwstauner (Randy Stauner)
06:44 AM Revision 669f9ad7 (git): Fix integer overflow checks in enumerator
Jörmungandrk
06:43 AM Revision 6cd7b1a1 (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
03:22 AM Revision 3f57ba8e (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.16 to 2.68.18
- [Release notes](https://github.com/taiki-e...
dependabot[bot]
02:24 AM Revision f604d1a8 (git): [ruby/rubygems] Update the man pages header to be in sync with the config one
https://github.com/ruby/rubygems/commit/77def7f4e0 Edouard CHIN
02:24 AM Revision 5b6c6414 (git): [ruby/rubygems] Add a new Bundler config to control how many specs are 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 AP...
Edouard CHIN

03/03/2026

11:53 PM Revision 2be717ae (git): Shrink struct rb_callinfo to 32 bytes
This shouldn't do anything right now under the default GC, but in the
future (or now on MMTK?) this would allow them to be allocated from a
smaller size pool.
jhawthorn (John Hawthorn)
11:01 PM Revision f9c51ac5 (git): ZJIT: Fix Class type system bug and constant-fold IsA (#15268)
Fix a some bugs in the type lattice around classes and user-defined classes. Refine types more precisely to subclasses of object.
With that fix, add const-folding support for IsA.
Co-authored-by: John Hawthorn <john.hawthorn@shopify.co...
tekknolagi (Maxwell Bernstein)
10:42 PM Revision a88e2abb (git): Update to ruby/spec@af627d6
andrykonchin (Andrew Konchin)
10:42 PM Revision 6b6ceb97 (git): Update to ruby/mspec@a2587d9
andrykonchin (Andrew Konchin)
09:47 PM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
ufuk (Ufuk Kayserilioglu) wrote in #note-6:
> @synacker Which version of Ruby are you testing with? Can you please send your `ruby -v` output for the benchmark results?
This is a ruby version from my pr (https://github.com/ruby/ruby/...
synacker (Mikhail Milovidov)
09:08 PM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
@synacker Which version of Ruby are you testing with? Can you please send your `ruby -v` output for the benchmark results? ufuk (Ufuk Kayserilioglu)
08:41 PM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
nobu (Nobuyoshi Nakada) wrote in #note-3:
> As for your example, why does `Worker` ractor handle both of `main_task` and dispatch alone, instead of launching each ractors?
I compared two strategies for handling concurrent tasks:
1...
synacker (Mikhail Milovidov)
09:00 PM Revision f46eb48b (git): Expand the Shape heap index mask
I think we have spare bits here, so let's expand them out and see what
happens. This will allow us to have more than 7 size pools in the future
eightbitraptor (Matt V-H)
06:02 PM Revision b2ff380d (git): [ruby/openssl] Fix memory leak if ossl_bn_new() fails
When that call fails, the `bn` BIGNUM is never freed in
asn1integer_to_num(). To solve this, use rb_protect().
Example Valgrind report:
```
32 (24 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 11,113 of 25,910...
ndossche
05:17 PM Bug #21934 (Open): Prism and parse.y inconsistency in command call used with pattern match
These are syntax error in both parse.y and in Prism
~~~ruby
a x in pattern
a x: in pattern
a &x in pattern
a *x => pattern
a x: => pattern
a &x => pattern
~~~
These are all syntax error in parse.y, all syntax valid in Prism
~...
tompng (tomoya ishida)
04:19 PM Revision e30b5a06 (git): ZJIT: Add diff tool for running benchmarks between git refs (#16160)
For https://github.com/Shopify/ruby/issues/822
Adds a small script for automatically running benchmarks between two git refs.
Example output (doubled an increment to `inline_cfunc_optimized_send_count` to illustrate stat diffs):
```
$ ...
Jeff Zhang
03:57 PM Revision a9b84adb (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
02:05 PM Revision 7a3940e8 (git): Unify rb_node_list_new and rb_node_list_new2
The former is the specialized case of the latter. nobu (Nobuyoshi Nakada)
02:05 PM Revision c128106e (git): Adjust variable type for rb_block_given_p()
nobu (Nobuyoshi Nakada)
01:47 PM Bug #21933: Ruby::Box: named capture local variable can become nil after non-matching lines
Shorter reproduction code
~~~ruby
/(?<a>foo)/ =~ 'bar'
/(?<b>baz)/ =~ 'baz'
p b # should be present, got nil with RUBY_BOX=1
~~~
~~~ruby
/foo/ =~ 'bar'
$~
/baz/ =~ 'baz'
p $~ # should be MatchData, got nil with RUBY_BOX=1
...
tompng (tomoya ishida)
01:11 PM Bug #21933 (Open): Ruby::Box: named capture local variable can become nil after non-matching lines
Environment:
- Ruby 4.0.1
- RUBY_BOX=1
- OS: Linux x86_64
Summary:
With Ruby::Box enabled, a named capture local variable from `=~` may become nil,
even when the regexp matches. This happens after iterating over non-matching line...
katsyoshi (Katsuyoshi MATSUMOTO)
01:40 PM Bug #21713 (Closed): Prism accepts pattern matching in modifier rescue followed by operators that shouldn't be allowed
Applied in changeset commit:git|8c7f4db893af4c9e40eab5810dc58737dc9010bb.
----------
[ruby/prism] Fix modifier rescue pattern matching
[Bug #21713]
https://github.com/ruby/prism/commit/02c944c055
kddnewton (Kevin Newton)
01:40 PM Revision 8c7f4db8 (git): [ruby/prism] Fix modifier rescue pattern matching
[Bug #21713]
https://github.com/ruby/prism/commit/02c944c055
kddnewton (Kevin Newton)
12:29 PM Feature #21932 (Open): `MatchData#get_int`
This is suggested by @akr today, `$~.get_int(1)` is equivalent to `$1.to_i` but does not create the intermediate string object.
https://github.com/nobu/ruby/tree/match-get_int
nobu (Nobuyoshi Nakada)
11:49 AM Feature #21781 (Closed): Add `fetch_values` method on `ENV`
Applied in changeset commit:git|a2db2d429f14514c67fcf0523891cd9062dd6a5b.
----------
[Feature #21781] Add `ENV.fetch_values`
Specs/Implementation inspired by methods on hash/env that already exist.
Earlopain (Earlopain _)
11:48 AM Revision a2db2d42 (git): [Feature #21781] Add `ENV.fetch_values`
Specs/Implementation inspired by methods on hash/env that already exist. Earlopain (Earlopain _)
11:00 AM Feature #21827: Deprecating Ripper
`rdoc` and `irb` have now stopped using `ripper`. https://github.com/ruby/syntax_suggest/pull/251 is for `syntax_suggest`.
That leaves just `power_assert` for the ruby gems. I gave that a quick look but it's difficult to understand fo...
Earlopain (Earlopain _)
09:20 AM Bug #21931 (Closed): GC Crash in `String#%` (backport 726205b354d1068147719fb42e1de743f1838ef1)
byroot (Jean Boussier)
09:20 AM Bug #21931: GC Crash in `String#%` (backport 726205b354d1068147719fb42e1de743f1838ef1)
- 3.3 backport PR: https://github.com/ruby/ruby/pull/16288
- 3.4 backport PR: https://github.com/ruby/ruby/pull/16287
- 4.0 backport PR: https://github.com/ruby/ruby/pull/16286
byroot (Jean Boussier)
09:14 AM Bug #21931 (Closed): GC Crash in `String#%` (backport 726205b354d1068147719fb42e1de743f1838ef1)
Reproduction
```ruby
GC.stress = true
class Args
def to_ary
Array.new(64) { "x" * 1024 }
end
end
fmt = "%s" * 64
100_000.times do
fmt % Args.new
end
```
Patch that should be backported https://github.com/ru...
byroot (Jean Boussier)
09:17 AM Misc #21928: Prism backport handling
👍 I created https://github.com/ruby/prism/tree/ruby-3.4 and https://github.com/ruby/prism/tree/ruby-4.0
FYI @k0kubun and @nagachika. During release, you can simply bump the patch version (for example 1.5.3 0 => 3.4, 1.8.1 => 4.0), the...
Earlopain (Earlopain _)
06:04 AM Revision 1008a469 (git): [ruby/rubygems] Show release date with bundle outdated
https://github.com/ruby/rubygems/commit/300cc0c223 hsbt (Hiroshi SHIBATA)
04:29 AM Feature #21616 (Closed): date ライブラリを deprecated させたい
nobu (Nobuyoshi Nakada)
03:29 AM Revision 8d64eb68 (git): [ruby/stringio] Allow read-only methods to work with frozen StringIO
Fix https://github.com/ruby/stringio/pull/120
https://github.com/ruby/stringio/commit/b0e3ce88b3
nobu (Nobuyoshi Nakada)
03:29 AM Revision 571ce8d7 (git): [ruby/stringio] Add tests for read-only methods on frozen StringIO
See #120
https://github.com/ruby/stringio/commit/8cba5aac0a
headius (Charles Nutter)
02:43 AM Revision 162c7215 (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.4 to 4.32.5
- [Release notes](https://github.com/github/codeql-a...
dependabot[bot]

03/02/2026

09:58 PM Revision 993c7a27 (git): ZJIT: Don't use find() in clean_cfg (#16284)
We don't need to materialize an instruction or even look at its
operands.
tekknolagi (Maxwell Bernstein)
09:35 PM Revision 2ccb44c1 (git): ZJIT: Don't use find() in infer_types (#16283)
No need to materialize the whole instruction; if/when we need the
operands, do the union-find lookup per operand. This saves on allocation
time.
tekknolagi (Maxwell Bernstein)
09:06 PM Revision a81c3eb7 (git): ZJIT: Use LoadField for TypedData ivars (#16259)
Drops C calls to `rb_ivar_get_at_no_ractor_check` out of the stats completely.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
tekknolagi (Maxwell Bernstein)
08:42 PM Bug #21714 (Closed): Prism and parse.y inconsistency in `def a = a b do 1 end`
Applied in changeset commit:git|3b6562f663c14d848f8c4f752b5557b8e85d5910.
----------
[ruby/prism] Fix up endless method definition with do/end
[Bug #21714]
https://github.com/ruby/prism/commit/0f47e18335
kddnewton (Kevin Newton)
08:41 PM Revision 3b6562f6 (git): [ruby/prism] Fix up endless method definition with do/end
[Bug #21714]
https://github.com/ruby/prism/commit/0f47e18335
kddnewton (Kevin Newton)
07:48 PM Revision 2b8c1007 (git): [ruby/prism] Prism::ParseResult#continuable?
An API to determine if more input could fix the existing syntax errors.
https://github.com/ruby/prism/commit/6701ffe0f5
kddnewton (Kevin Newton)
05:54 PM Revision 2106ecec (git): [ruby/prism] Require arguments to Source.for
https://github.com/ruby/prism/commit/b38010c420 kddnewton (Kevin Newton)
05:40 PM Revision 726205b3 (git): string.c: guard tmp in rb_str_format_m (GH-16280)
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
05:35 PM Revision 460566ab (git): [ruby/prism] Reject infix operators on command call on writes
https://github.com/ruby/prism/commit/4e71dbfc7b kddnewton (Kevin Newton)
05:07 PM Bug #21674 (Closed): Possible regression in return case in statement
Applied in changeset commit:git|c7ed328cd569a258aa949f78f721195e2be15e9e.
----------
[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 ev...
kddnewton (Kevin Newton)
05:07 PM Bug #21925 (Closed): Prism misparses standalone "in" pattern matching in "case/in"
Applied in changeset commit:git|c7ed328cd569a258aa949f78f721195e2be15e9e.
----------
[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 ev...
kddnewton (Kevin Newton)
03:05 PM Bug #21925: Prism misparses standalone "in" pattern matching in "case/in"
Yeah, looking kddnewton (Kevin Newton)
05:07 PM Revision c7ed328c (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)
04:05 PM Revision 6a31ffa3 (git): ZJIT: Move is_meta_class() from hir::Function to VALUE
`self` was unused. alanwu (Alan Wu)
03:08 PM Misc #21928: Prism backport handling
Yeah I'm fine doing stable branches going forward, I agree it will make things easier. kddnewton (Kevin Newton)
09:32 AM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
nobu (Nobuyoshi Nakada) wrote in #note-3:
> This sounds like leading to a typical TOC/TOU problem.
I appreciate the concern about a potential TOC/TOU issue, but I believe it doesn’t apply in this specific case. Consider the following pa...
synacker (Mikhail Milovidov)
05:43 AM Feature #21930 (Feedback): Add Ractor#empty? method to check for pending messages without blocking
This sounds like leading to a typical TOC/TOU problem.
As for your example, why does `Worker` ractor handle both of `main_task` and dispatch alone, instead of launching each ractors?
nobu (Nobuyoshi Nakada)
06:37 AM Revision 740bbddd (git): Lrama v0.8.0
ydah (Yudai Takada)
06:20 AM Revision b0ee7877 (git): [ruby/rubygems] Restrict GitHub Actions workflow permissions for newgem
- Configure minimal required permissions in the GitHub Actions workflow template
- Bump actions/checkout from 4 to 6
- Bump actions/upload-artifact from 3 to 7
https://github.com/ruby/rubygems/commit/e4c82bd095
Taketo Takashima
06:19 AM Revision b92f1d10 (git): Use .bundle only if all deps present
hsbt (Hiroshi SHIBATA)
06:19 AM Revision 4fc55d88 (git): Use .bundle gem paths for test deps with ruby/ruby repository.
hsbt (Hiroshi SHIBATA)
02:49 AM Revision c961dbb2 (git): Bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [actions-rust-lang/setup-rust-toolchain](https://github.com/actions-rust-lang/setup-rust-toolchain) and [taiki-e/install-action](https://github.com/taiki-e/install-action)... dependabot[bot]

03/01/2026

06:42 PM Feature #21930: Add Ractor#empty? method to check for pending messages without blocking
Added pr: https://github.com/ruby/ruby/pull/16277 synacker (Mikhail Milovidov)
06:20 PM Feature #21930 (Feedback): Add Ractor#empty? method to check for pending messages without blocking
**Summary**
In concurrent Ractor‑based architectures, there’s a critical need to check whether a Ractor has pending messages without blocking. Currently, this is not possible with the standard API
**Motivation**
The Ractor API provi...
synacker (Mikhail Milovidov)
01:02 PM Feature #21875: Handling of trailing commas in lambda parameters
Earlopain (Earlopain _) wrote:
> If a trailing comma is accepted it can either
> ...
Rather I think it should be allowed even after optional/rest/keyword/keyword-rest arguments in block parameters too.
nobu (Nobuyoshi Nakada)
10:44 AM Revision d68e4be1 (git): lrama pre-0.8.0
master as of 2026-03-01.
ruby/lrama@e8dbb063afd42432899dac796384b00ef61986b0
nobu (Nobuyoshi Nakada)
10:44 AM Revision 45dce19e (git): parse.y: Parameterize argument list rules
Parametrize `block_param` and `f_args` into `arg-list` and
`tail-only-args`. Since the pattern for `pre_args` alone differs
between `opt_comma` and `excessed_comma`, retain it within each rule.
nobu (Nobuyoshi Nakada)
09:36 AM Bug #14582: Unable to use `method__entry` and `method_return` tracing probes since 2.5
I've created a pull request to fix this: https://github.com/ruby/ruby/pull/16084. jacobcarlborg (Jacob Carlborg)
03:10 AM Revision 0980de4c (git): parse.y: Extract new_empty_args_tail macro
nobu (Nobuyoshi Nakada)
03:04 AM Revision 504cf455 (git): parse.y: Extract f_empty_arg
nobu (Nobuyoshi Nakada)
12:20 AM Revision 851a10bc (git): Revert "parse.y: narrow excessed_comma to block_param_def"
This reverts commit 2239d54348d9f1f7768860efc9e76876f85766d8.
At first glance, it seemed like a good idea, but it wasn't all that
great.
nobu (Nobuyoshi Nakada)

02/28/2026

06:59 PM Revision 19b636d3 (git): Remove unused variable
etienne (Étienne Barrié)
11:26 AM Revision 85b04616 (git): Revert and ignore template-injection error at capi extension workflow
hsbt (Hiroshi SHIBATA)
11:26 AM Revision b8d71484 (git): Fix: Use shell syntax for SETARCH command
hsbt (Hiroshi SHIBATA)
11:26 AM Revision eae6d265 (git): Use zizmorcore/zizmor-action
hsbt (Hiroshi SHIBATA)
11:26 AM Revision 520b0898 (git): Rename CodeQL workflow to Check SAST tool
hsbt (Hiroshi SHIBATA)
11:26 AM Revision 4b9af00c (git): Refactor GitHub Actions to use environment variables
hsbt (Hiroshi SHIBATA)
11:26 AM Revision 64d63ba0 (git): Fix: Set persist-credentials to false for actions/checkout
hsbt (Hiroshi SHIBATA)
11:26 AM Revision f47c57d3 (git): Add zizmor ignore directives for github-env
hsbt (Hiroshi SHIBATA)
11:26 AM Revision 41c11dc3 (git): Expose inputs as env vars in composite actions
hsbt (Hiroshi SHIBATA)
11:26 AM Revision aef8fd05 (git): Add Zizmor baseline ignore configuration
hsbt (Hiroshi SHIBATA)
11:26 AM Revision 0b342d29 (git): Add Zizmor job to workflow
hsbt (Hiroshi SHIBATA)
04:02 AM Revision 373eacb8 (git): [ruby/rubygems] Skip Windows group warning for realworld specs
https://github.com/ruby/rubygems/commit/98a355dcfb hsbt (Hiroshi SHIBATA)
02:29 AM Revision 3251792f (git): ZJIT: Fix infinite loop from `make_equal_to(x,y)` where `x=y`
Sometimes it's convenient to write that
`make_equal_to(x, big_decision_tree_to_find_replacement)` where
most of the time the decision tree gives something not equal to `x`.
Since infinite loops are hard to debug and this condition is ea...
alanwu (Alan Wu)
02:29 AM Revision 4eadf035 (git): ZJIT: Check special_const_p() before using rb_obj_shape_id()
It only works with heap objects. alanwu (Alan Wu)
02:21 AM Revision 55f2a8d1 (git): Bump up to latest GitHub Actions versions
hsbt (Hiroshi SHIBATA)
02:21 AM Revision 903b709c (git): Pin GitHub Actions to specific SHAs
hsbt (Hiroshi SHIBATA)

02/27/2026

11:15 PM Revision 8fb5df26 (git): win32/configure.bat accept empty prefix
Currently, running `win32/configure.bat --prefix=` outputs `prefix = \=/` in the Makefile.
Fix this to prevent invalid values from being output.
YO4 (Yoshinao Muramatsu)
08:23 PM Revision 93483097 (git): Bump actions/upload-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/upload-artifact](https://github.com/actions/upload-artifact).
Updates `actions/upload-artifact` from 6.0.0 to 7.0.0
- [Release notes](https://github.com/actions/...
dependabot[bot]
08:23 PM Revision 33410226 (git): Add setup-ruby step for tool scripts
hsbt (Hiroshi SHIBATA)
08:23 PM Revision a5af2ada (git): Fix a typo in bundled_gems.yml
Nobuyoshi Nakada
08:23 PM Revision b4367db8 (git): Run GitHub releases updater in workflow
hsbt (Hiroshi SHIBATA)
08:23 PM Revision e43b35f2 (git): Detect previous Ruby version in update script
Read include/ruby/version.h to compute the previous Ruby version and
use it as the default FROM argument in
tool/update-NEWS-github-release.rb.
Add a workflow step to run the script for Ruby 4.0 in bundled_gems.yml
Detect previous Ruby ...
hsbt (Hiroshi SHIBATA)
08:23 PM Revision 9b0a3db0 (git): Preserve gem sub-bullets in NEWS.md
hsbt (Hiroshi SHIBATA)
08:23 PM Revision 7c753351 (git): Run `ruby tool/update-NEWS-github-release.rb 4.0 --update`
hsbt (Hiroshi SHIBATA)
08:23 PM Revision 4ab23834 (git): Add update mode and NEWS.md parsing
Read NEWS.md locally when "news" is requested, parse stdlib updates,
collect GitHub release ranges per gem, and optionally update NEWS.md
in-place with sub-bullets and footnote links when --update is passed
hsbt (Hiroshi SHIBATA)
08:23 PM Revision aec4b44d (git): Add tool to update NEWS from GitHub releases
hsbt (Hiroshi SHIBATA)
08:00 PM Revision c57d594f (git): ZJIT: Use LoadField for Class/Module ivars (#16252)
Assume only one box (root box) and invalidate otherwise. Drops C calls to `rb_ivar_get_at_no_ractor_check`.
Before:
```
Top-20 calls to C functions from JIT code (77.3% of total 64,311,573):
rb_vm_opt_send_w...
tekknolagi (Maxwell Bernstein)
06:13 PM Revision 50f51f75 (git): ZJIT: constant fold bitwise OR (|) operations (#16235)
Continuation of https://github.com/ruby/ruby/pull/16226.
### Considerations
- The OR (`|`) operation in Rust has the same behavior as in Ruby (it compiles to a assembly `or` instruction: https://godbolt.org/z/5McGzj783);
- There are no ...
Tomás Coêlho
06:04 PM Revision eafbf6e5 (git): ZJIT: Fix IsA effect
Max Bernstein
06:04 PM Revision 44fe95ea (git): ZJIT: Fix HasType effect
Max Bernstein
06:04 PM Revision d5cca099 (git): ZJIT: Fix GetEP effect
Max Bernstein
06:04 PM Revision 1e1d8332 (git): ZJIT: Remove GetLEP
Use get_lvar_level and GetEP instead. Max Bernstein
05:43 PM Revision 5d87dd6d (git): ZJIT: Handle splatkw YARV instruction (#16267)
The most common cases are nil and hash, so just cover those. If we need to convert to a hash, we can handle that later. tekknolagi (Maxwell Bernstein)
05:39 PM Feature #21929 (Open): Add configure script options for instrumenting Rust builds
Ruby at this moment optionally includes Rust bits. Right now this touches mostly YJIT and ZJIT.
Rust is a compiled language with various compile flags at various stages and approaches.
My ask is to provide a way to instrument compi...
jprokop (Jarek Prokop)
04:01 PM Revision 68080feb (git): parse.y: Unify to use only tagged references
Unify references in rules that mix positional references and tagged
references. Leave the positional reference-only rules unchanged.
nobu (Nobuyoshi Nakada)
03:33 PM Revision f3323b04 (git): ZJIT: Replace Getlocal with LoadSP or GetEP+LoadField (#16242)
Since `GetLocal` (for `level > 0`) is now split into `GetEP` + `LoadField`(https://github.com/ruby/ruby/pull/16215),
we can remove the Insn and use `LoadSP` instead for the consistency.
Also removed a counter that appeared unnecessary.
Nozomi Hijikata
02:47 PM Revision 486f7fcc (git): parse.y: prefer @$ over @0 in empty-rule actions
nobu (Nobuyoshi Nakada)
02:14 PM Revision 2ecda70f (git): ZJIT: GuardType and GuardTypeNot can read from memory
When guarding on anything but special const forms (`types::Immediate`),
we need to dereference the VALUE to load RBasic::flags and maybe
RBasic::class. Those are memory read effects.
alanwu (Alan Wu)
01:33 PM Bug #21927 (Closed): Prism: misleading error message for forwarding in lambda argument
Applied in changeset commit:git|6af0de237935f162ee3089b314f0c33911d442da.
----------
[ruby/prism] Fix error message for block/lambda with `...` argument
They currently complain that the parent method is not forwarding.
But the actual p...
Earlopain (Earlopain _)
11:08 AM Bug #21927: Prism: misleading error message for forwarding in lambda argument
https://github.com/ruby/prism/pull/3947 Earlopain (Earlopain _)
04:06 AM Bug #21927 (Closed): Prism: misleading error message for forwarding in lambda argument
Even in a forwarding method:
```console
$ ruby --parser=prism -e 'def m(...) ->(...){}; end'
-e: -e:1: syntax error found (SyntaxError)
> 1 | def m(...) ->(...){}; end
| ^~~ unexpected ... when the parent method ...
nobu (Nobuyoshi Nakada)
01:33 PM Revision 6af0de23 (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 _)
12:36 PM Misc #21928 (Open): Prism backport handling
https://bugs.ruby-lang.org/issues/21927 got marked for backport for 4.0 and 3.4. It's a trivial fix but since prism is a gem, ruby should contain a released version of prism only.
3.4 in particular currently contains prism 1.5.2. Back...
Earlopain (Earlopain _)
10:19 AM Bug #21925: Prism misparses standalone "in" pattern matching in "case/in"
Likely a duplicate of or at the very least related to https://bugs.ruby-lang.org/issues/21674
@kddnewton can you take this?
Earlopain (Earlopain _)
04:10 AM Revision 2239d543 (git): parse.y: narrow excessed_comma to block_param_def
nobu (Nobuyoshi Nakada)
02:57 AM Revision cded315c (git): [ruby/zlib] Avoid retrying on interrupt if there is no further work
to be done.
(https://github.com/ruby/zlib/pull/121)
https://github.com/ruby/zlib/commit/c975060f02
Samuel Williams
01:49 AM Revision e276076a (git): The `case` expression is preferable to the pseudo-condition operator
nobu (Nobuyoshi Nakada)
 

Also available in: Atom