Project

General

Profile

Activity

From 12/08/2025 to 12/14/2025

Today

02:13 PM Ruby Feature #21005: Update the source location method to include line start/stop and column start/stop details
Here is my PR to add `Prism.node_for` as first suggested by @mame in https://bugs.ruby-lang.org/issues/21005#note-5:
https://github.com/ruby/prism/pull/3808
Eregon (Benoit Daloze)
10:46 AM Ruby Revision 674c3d73 (git): [ruby/openssl] pkcs7: raise OpenSSL::PKCS7::PKCS7Error in #initialize
When d2i_PKCS7_bio() and PEM_read_bio_PKCS7() fail to decode the input,
OpenSSL::PKCS7.new currently raises ArgumentError. The usual practice
in ruby/openssl where an error originates from the underlying OpenSSL
library is to raise OpenS...
rhenium (Kazuki Yamaguchi)
10:46 AM Ruby Revision 7969b654 (git): [ruby/openssl] x509cert: update doc for OpenSSL::X509::Certificate#==
Mention the underlying OpenSSL function. Add a note about the unreliable
comparison when called on an incomplete object.
Fixes https://github.com/ruby/openssl/issues/844
https://github.com/ruby/openssl/commit/736af5b3c7
rhenium (Kazuki Yamaguchi)
10:19 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
> I think `Enumerator#size` should only be non-nil when it is known to be the exact size.
> ...
I would argue that it is _known_ to be infinite: that's how `produce` works: loops infinitely, unless explicitly stopped by an _exception_, t...
zverok (Victor Shepelev)
10:10 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
Actually for Enumerator.new, it's trivial to not be infinite and does not even need StopIteration, e.g.:
```ruby
Enumerator.new { |y| y << 1 }.count # => 1
```
So I guess you meant to use `Enumerator.produce` instead in your exampl...
Eregon (Benoit Daloze)
10:08 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
I disagree on this one, as written on https://bugs.ruby-lang.org/issues/21701#note-3
I think `Enumerator#size` should only be non-nil when it is known to be the exact size.
In this case it is not known if it is infinite, so returning `F...
Eregon (Benoit Daloze)
08:46 AM Ruby Bug #21780 (Open): Change the default size of Enumerator.produce back to infinity
In #21701 a new argument `size:` was introduced, and its default value is `nil` (unknown).
While I support the new argument, I'd argue that the default should be `Float::INFINITY`.
**Reasoning:** By _design_, `Enumerator.produce` ...
zverok (Victor Shepelev)
08:54 AM Ruby Feature #21389: Simplify Set#inspect output
@jeremyevans0 Thank you for the clarification. I'll try to consider adjusting the docs to reflect the design. zverok (Victor Shepelev)
02:46 AM Ruby Feature #21389 (Closed): Simplify Set#inspect output
zverok (Victor Shepelev) wrote in #note-5:
> Just noticed that on the latest `master` subclasses `#inspect` didn't change (unlike what @matz suggests here: https://bugs.ruby-lang.org/issues/21389#note-3):
> ...
Yes, this is deliberate ...
jeremyevans0 (Jeremy Evans)
08:53 AM Ruby Bug #21778: Binding#eval vs implicit parameters
@mame Thank you for the clarification! zverok (Victor Shepelev)
02:39 AM Ruby Bug #21778 (Rejected): Binding#eval vs implicit parameters
This was pointed by @ko1 at the dev meeting in the discussion of #21049, and we agreed not to implement it. Implementing it would require the parser to accept more detailed outer context, and that effort was not worth. Sorry it wasn't cl... mame (Yusuke Endoh)
08:50 AM Ruby Misc #21777: DevMeeting-2026-01-14
* [Bug #21780] Change the default size of `Enumerator.produce` back to infinity (zverok)
* While the new argument is a good addition to the API, I argue that `Float::INFINITY` would be a more friendly default, corresponding to the mos...
zverok (Victor Shepelev)
07:11 AM Ruby Revision 711d1499 (git): Adjust indents [ci skip]
nobu (Nobuyoshi Nakada)
02:59 AM Ruby Revision ab95abd4 (git): Update default gems list at 9e22037eb50d7abe6385901c9b0293 [ci skip]
git[bot]
02:59 AM Ruby Revision 9e22037e (git): [ruby/io-console] bump up to 0.8.2
https://github.com/ruby/io-console/commit/fbc7e1f31f nobu (Nobuyoshi Nakada)
02:45 AM Ruby Revision f6ef4efa (git): ZJIT: Add a test for `--zjit-stats=<path>` option
Fix up ruby/ruby#15414, 29c29c2b7e972359ab83038c5dc27a7e53ae65c7 nobu (Nobuyoshi Nakada)
02:45 AM Ruby Revision 3a4d534b (git): ZJIT: Fix tests about `--zjit-stats-quiet` option
The `--zjit-stats-quiet` and `--zjit-stats=quiet` options differ.
The latter option, `=quiet`, does print stats to the file "quiet", but
does not suppress output like yjit option `--yjit-stats=quiet`.
Fix up ruby/ruby#15414, 29c29c2b7e9...
nobu (Nobuyoshi Nakada)
02:43 AM Ruby Bug #21779 (Closed): Do not export functions from statically linked extensions
Applied in changeset commit:git|bc2a8a002a6c41fc1b28e02e15e2fb2b72d1b66e.
----------
[Bug #21779] Uniquify `InitVM` functions as well as `Init`
Avoid possible name conflict when `--with-static-linked-ext`.
nobu (Nobuyoshi Nakada)
02:10 AM Ruby Bug #21779 (Closed): Do not export functions from statically linked extensions
Reported at https://github.com/ruby/io-console/pull/105.
This is caused by `InitVM_console` exposed from the statically linked io/console is called from the loaded io-console gem.
The static `InitVM_console` initializes the ractor lo...
nobu (Nobuyoshi Nakada)
02:11 AM Ruby Revision c26057eb (git): [Bug #21779] Do not export InitVM functions
Fix ruby/io-console#105. nobu (Nobuyoshi Nakada)
02:11 AM Ruby Revision bc2a8a00 (git): [Bug #21779] Uniquify `InitVM` functions as well as `Init`
Avoid possible name conflict when `--with-static-linked-ext`. nobu (Nobuyoshi Nakada)
01:57 AM Ruby Revision 01db5d71 (git): Removed duplicate code
nobu (Nobuyoshi Nakada)
01:09 AM Ruby Revision c198436f (git): Run omnibus compilations without git
nobu (Nobuyoshi Nakada)

12/13/2025

08:30 PM Ruby Revision 0159a98b (git): [Feature #20925] Skip infinite loop test
nobu (Nobuyoshi Nakada)
08:09 PM Ruby Revision b423204c (git): Fix documentation of RB_PASS_CALLED_KEYWORDS in C API
Eregon (Benoit Daloze)
06:53 PM Ruby Feature #21721: Allow `Queue` and `SizedQueue` to be used as LIFO queues
Oh, that's a very interesting trick @tompng byroot (Jean Boussier)
05:50 PM Ruby Feature #21721: Allow `Queue` and `SizedQueue` to be used as LIFO queues
Maybe this is off-topic, but I think this stack that internally use queue can perform closer to Thread::Queue.
~~~ruby
def pop(timeout: nil)
if @dummy_resource_queue.deq(timeout:)
@real_resource_array.pop
end
end
def <<(...
tompng (tomoya ishida)
08:33 AM Ruby Feature #21721: Allow `Queue` and `SizedQueue` to be used as LIFO queues
I'm +1 on making Monitor core.
(FWIW TruffleRuby already uses `Primitive` to define Monitor as basically core: https://github.com/truffleruby/truffleruby/blob/master/lib/mri/monitor.rb)
Eregon (Benoit Daloze)
07:10 AM Ruby Feature #21721: Allow `Queue` and `SizedQueue` to be used as LIFO queues
So, if Monitor was made a core class, it could benefit from some optimizations and be almost as fast as Mutex: https://github.com/ruby/ruby/pull/15538
```
ruby 4.0.0dev (2025-12-13T06:49:18Z core-monitor 6fabf389fd) +YJIT +PRISM [arm...
byroot (Jean Boussier)
06:50 PM Ruby Bug #21669: Thoroughly implement void value expression check
Yeah, sure. I compiled them in this gist: https://gist.github.com/Earlopain/79d49df05cca5b0c8c6cefc6f3284a4b. I missed one vendored file, so there are only 6 distinct cases.
In `ruby/prism` I added a script for this. You call it like ...
Earlopain (Earlopain _)
05:57 PM Ruby Bug #21669: Thoroughly implement void value expression check
Earlopain (Earlopain _) wrote in #note-12:
> I ran this change over code available on rubygems and it only impacts 37 files which go syntax invalid with this. If I take out duplicate vendorered files, it is down to just 7.
If it's no...
jeremyevans0 (Jeremy Evans)
02:05 PM Ruby Bug #21669: Thoroughly implement void value expression check
Yeah, it seems like I missed this case but @nobu already took care of it in his PR. I left a comment about something, however since this is in ruby/ruby now I can't actually push any changes anymore myself.
I ran this change over code...
Earlopain (Earlopain _)
06:31 PM Ruby Feature #21389 (Open): Simplify Set#inspect output
Just noticed that on the latest `master` subclasses `#inspect` didn't change (unlike what @matz suggests here: https://bugs.ruby-lang.org/issues/21389#note-3):
```ruby
class MySet < Set
end
p Set[1, 2, 3] #=> Set[1, 2, 3]
p My...
zverok (Victor Shepelev)
06:11 PM Ruby Bug #21778 (Rejected): Binding#eval vs implicit parameters
This works:
```ruby
proc { |x| binding.eval('x') }.call(1) #=> 1
```
This doesn't (neither with numbered parameters, nor with `it`):
```ruby
proc { _1; binding.eval('_1') }.call(1) # undefined local variable or method '_1' for ...
zverok (Victor Shepelev)
04:57 PM Ruby Revision e8d32ddd (git): [ruby/openssl] ossl.c: implement OpenSSL::OpenSSLError#detailed_message
An OpenSSL function sometimes puts more than one error entry into the
thread-local OpenSSL error queue. Currently, we use the highest-level
entry for generating the exception message and discard the rest.
Let ossl_make_error() capture a...
rhenium (Kazuki Yamaguchi)
03:43 PM Ruby Revision 6513cf90 (git): Export `GIT`
Propagate the value given with `--with-git` configure option to
tool/lib/vcs.rb.
nobu (Nobuyoshi Nakada)
02:33 PM Ruby Feature #21701 (Closed): Enumerator.produce accepts an optional `size` keyword argument
Applied in changeset commit:git|79a6ec74831cc47d022b86dfabe3c774eaaf91ca.
----------
Enumerator.produce accepts an optional `size` keyword argument
When not specified, the size is unknown (`nil`). Previously, the size was always `Floa...
Anonymous
02:33 PM Ruby Revision 79a6ec74 (git): Enumerator.produce accepts an optional `size` keyword argument
When not specified, the size is unknown (`nil`). Previously, the size was always `Float::INFINITY` and not specifiable.
[Feature #21701]
Akinori MUSHA
02:29 PM Ruby Revision 0561eb94 (git): [ruby/prism] Prevent an infinite loop parsing a capture name
Fixes https://github.com/ruby/prism/pull/3729.
https://github.com/ruby/prism/commit/6e5347803c
Steven Johnstone
12:37 PM Ruby Revision 8f2c479f (git): [ruby/io-console] strip trailing spaces [ci skip]
https://github.com/ruby/io-console/commit/379e7c17ed nobu (Nobuyoshi Nakada)
12:37 PM Ruby Revision 3a4ad76f (git): [ruby/io-console] console_cursor_pos respects scroll position on windows
https://github.com/ruby/io-console/commit/ae33785820 YO4 (Yoshinao Muramatsu)
12:37 PM Ruby Revision c8fd8405 (git): [ruby/io-console] console_goto respects scroll position on windows
https://github.com/ruby/io-console/commit/d2a6c69697 YO4 (Yoshinao Muramatsu)
12:37 PM Ruby Revision 29128258 (git): [ruby/io-console] avoid jumping scroll position when winsize changed
On windows, IO.console.winsize= now respects the current view area and screen buffer size.
https://github.com/ruby/io-console/commit/817aa65ea3
YO4 (Yoshinao Muramatsu)
12:10 PM Ruby Bug #21648: [prism] ruby crashes for `for * in [10]; end`
Thanks @k0kubun. Seems like I can, yeah. I'll do that in the future where I think it makes sense. Earlopain (Earlopain _)
11:34 AM Ruby Revision 9dbbdcc3 (git): [ruby/io-console] Remove useless rb_check_arity() call
https://github.com/ruby/io-console/commit/df444b93f1 nobu (Nobuyoshi Nakada)
04:52 AM Ruby Revision 71dd2725 (git): Remove useless rb_check_arity() calls
shugo (Shugo Maeda)
02:23 AM Ruby Revision e1f5e61d (git): YJIT: Fix panic from overly loose filtering in identity method inlining
Credits to @rwstauner for noticing this issue in GH-15533. alanwu (Alan Wu)
01:27 AM Ruby Revision 6ed5574b (git): Revert "ZJIT: Exclude failing ruby-bench benchmarks (#15479)"
This reverts commit 1eb10ca3cb6cff98bb8c0946ed905921586c7d52.
This should have been fixed by https://github.com/ruby/ruby/pull/15536.
k0kubun (Takashi Kokubun)
01:00 AM Ruby Revision eb7acd75 (git): ZJIT: Nil-fill locals in direct send (#15536)
Avoid garbage reads from locals in eval.
Before the fix the test fails with
<"[\"x\", \"x\", \"x\", \"x\"]"> expected but was
<"[\"x\", \"x\", \"x\", \"x286326928\"]">.
rwstauner (Randy Stauner)

12/12/2025

11:55 PM Ruby Revision 8f81d2b5 (git): ZJIT: Don't inline non-parameter locals
rwstauner (Randy Stauner)
11:43 PM Ruby Revision f19e9c66 (git): YJIT: Fix panic from overly loose filtering in identity method inlining
Credits to @rwstauner for noticing this issue in GH-15533. alanwu (Alan Wu)
11:43 PM Ruby Revision 628a9410 (git): YJIT: Add missing local variable type update for fallback setlocal blocks
Previously, the chain_depth>0 version of setlocal blocks did not
update the type of the local variable in the context. This can leave
the context with stale type information and trigger or lead to miscompilation.
To trigger the issue, Y...
alanwu (Alan Wu)
11:29 PM Ruby Revision 2f151e76 (git): ZJIT: Allow ccalls above 7 arguments (#15312)
ZJIT: Add stack support for CCalls aidenfoxivey (Aiden Fox Ivey)
11:19 PM Ruby Bug #21772: ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
Thanks for sharing the logs -- I was able to track down the issue using it.
Backport for 3.4 is pending at https://github.com/ruby/ruby/pull/15535
alanwu (Alan Wu)
08:29 PM Ruby Bug #21772 (Closed): ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
Applied in changeset commit:git|2884f53519c4b86072d5fc3b41a71cee697af8ba.
----------
YJIT: Add missing local variable type update for fallback setlocal blocks
Previously, the chain_depth>0 version of setlocal blocks did not
update the ...
alanwu (Alan Wu)
10:30 PM Ruby Bug #21696 (Closed): Performance degradation for long running processes in Ruby 4.0.0-preview2
luke-gru (Luke Gruber)
10:03 PM Ruby Revision 176e384b (git): Cache filesystem_encindex
jhawthorn (John Hawthorn)
09:53 PM Ruby Revision e7a38b32 (git): Store Encoding#name as an attribute
When debugging the fstring table, I found "UTF-8" to be the most common
interned strings in many benchmarks.
We have a fixed, limited number of these strings, so we might as well permanently
cache their fstrings.
jhawthorn (John Hawthorn)
08:29 PM Ruby Revision 2884f535 (git): YJIT: Add missing local variable type update for fallback setlocal blocks
Previously, the chain_depth>0 version of setlocal blocks did not
update the type of the local variable in the context. This can leave
the context with stale type information and trigger panics like in
[Bug #21772] or lead to miscompilati...
alanwu (Alan Wu)
07:47 PM Ruby Revision 3add3db7 (git): Fewer calls to `GET_EC()` and `GET_THREAD()` (#15506)
The changes are to `io.c` and `thread.c`.
I changed the API of 2 exported thread functions from `internal/thread.h` that
didn't look like they had any use in C extensions:
* rb_thread_wait_for_single_fd
* rb_thread_io_wait
I didn't cha...
Luke Gruber
07:27 PM Ruby Bug #21775 (Closed): Procs of type ifunc can access unshareable values
Applied in changeset commit:git|5903ed7ba9ca60546aa0dd97e92b3d381b7918d3.
----------
Prevent ifunc procs from being made shareable
[Bug #21775]
etienne (Étienne Barrié)
07:27 PM Ruby Revision 5903ed7b (git): Prevent ifunc procs from being made shareable
[Bug #21775] etienne (Étienne Barrié)
07:24 PM Ruby Revision 7909ce2a (git): move th->event_serial to rb_thread_sched_item (#15500)
Luke Gruber
06:35 PM Ruby Feature #21678 (Closed): Enumerable#rfind
Applied in changeset commit:git|6147b695870ce82ee3ad5305ce095b63889b8d9d.
----------
Array#rfind
Implement Array#rfind, which is the same as find except from the
other side of the Array. Also implemented Array#find (as opposed to
the g...
kddnewton (Kevin Newton)
06:35 PM Ruby Revision 6147b695 (git): Array#rfind
Implement Array#rfind, which is the same as find except from the
other side of the Array. Also implemented Array#find (as opposed to
the generic one on Enumerable because it is significantly faster
and to keep the implementations togethe...
kddnewton (Kevin Newton)
06:26 PM Ruby Revision 4f900e3c (git): ZJIT: Only optimize `[]` and `[]=` for exact Hash, not Hash subclasses
Stan Lo
06:26 PM Ruby Revision 309d6ef9 (git): ZJIT: Inline `Hash#[]=`
Stan Lo
06:14 PM Ruby Revision 3a0596b9 (git): ZJIT: Add Shape type to HIR (#15528)
It's just a nicety (they fit fine as CUInt32) but this makes printing
look nicer in real execution and also in tests (helps with #15489).
Co-authored-by: Randy Stauner <[email protected]>
tekknolagi (Maxwell Bernstein)
05:52 PM Ruby Revision bb4a6f39 (git): [ruby/prism] Fixed Prism::Translation::RubyParser's comment processing
Tests were failing in Flay under Prism.
https://github.com/ruby/prism/commit/af9b3640a8
Ryan Davis
05:09 PM Ruby Bug #21715: Miscompilation on x86-64-v2 due to undefined behavior in search_nonascii in string.c
I'm not a big fan the pragma route. Trying to get good codegen out of UB triggering C code is inherently a whack-a-mole game with compiler brands and even options of the same brand. With non compliant C code the incantation to patch over... alanwu (Alan Wu)
04:56 PM Ruby Revision 88f1d986 (git): Fix allocationless anonymous splat keyword argument check
Previously, if an argument splat and keywords are provided by
the caller, it did not check whether the method/proc accepted
keywords before avoiding the allocation. This is incorrect,
because if the method/proc does not accept keywords, ...
jeremyevans (Jeremy Evans)
04:40 PM Ruby Revision b8ba9ceb (git): Fix binding.implicit_parameters_get/defined segfault when wrong name string is passed (#15530)
tompng (tomoya ishida)
04:30 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
From: https://github.com/ruby/ruby/pull/15529
> The timer thread checks the running threads to provide timeslice every 10ms and finds the thread (th) performing blocking operation.
Isn't 10ms a massive amount of time in that contex...
byroot (Jean Boussier)
03:12 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
I'm with John that I think this is very promising but should not be introduced in ruby 4.0. It needs more testing to make sure it's working correctly and it needs more benchmarks for more realistic workloads. We can't do that in 2 weeks.... luke-gru (Luke Gruber)
02:01 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
https://github.com/ruby/ruby/pull/15529
It seems enough small, so I want to introduce it to 4.0.
ko1 (Koichi Sasada)
04:23 PM Ruby Misc #21777 (Open): DevMeeting-2026-01-14
# The next dev meeting
**Date: 2026/01/14 13:00-17:00** (JST)
Log: *TBD*
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bug tracker.
- Dev meeting is a place we can ask Matz, nobu, nurse and o...
mame (Yusuke Endoh)
04:22 PM Ruby Misc #21689 (Closed): DevMeeting-2025-12-11
mame (Yusuke Endoh)
04:08 PM Ruby Feature #21766: Pathname + FileUtils making sweet music together
> I feel Unix command names are too short for usual programs.
At the same time:
* they are known at least to most of the console-using programmers, so this is a "dictionary" many of us familiar with
* FileUtils have a practice of al...
zverok (Victor Shepelev)
12:29 AM Ruby Feature #21766: Pathname + FileUtils making sweet music together
I feel Unix command names are too short for usual programs.
So, I'm negative.
akr (Akira Tanaka)
02:25 PM Ruby Bug #21049 (Closed): Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
Applied in changeset commit:git|fa7cddc969f1eccbb377cfc752bbf82ee2887dde.
----------
Add Binding#implicit_parameters, etc.
This changeset introduces:
* `Binding#implicit_parameters`
* `Binding#implicit_parameter_get`
* `Binding#implic...
mame (Yusuke Endoh)
02:24 PM Ruby Revision f939cf40 (git): Update NEWS about `Binding#implicit_parameters`, etc.
[Bug #21049] mame (Yusuke Endoh)
02:24 PM Ruby Revision 04422384 (git): Add docs to Binding#numbered_parameters, etc.
mame (Yusuke Endoh)
02:24 PM Ruby Revision 129d74c9 (git): Binding#implicit_parameters, etc. support the implicit "it" parameter
[Bug #21049] mame (Yusuke Endoh)
02:24 PM Ruby Revision fa7cddc9 (git): Add Binding#implicit_parameters, etc.
This changeset introduces:
* `Binding#implicit_parameters`
* `Binding#implicit_parameter_get`
* `Binding#implicit_parameter_defined?`
[Bug #21049]
mame (Yusuke Endoh)
10:53 AM Ruby Misc #20774: Remove remaining locale dependent code from Windows port
@nobu IMHO ruby-4.0 is a good chance to change these remaining locale strings to UTF-8. Windows stdin console input is still in [locale encoding](https://github.com/ruby/ruby/blob/d428d086c23219090d68eb2d027498c6ea999b89/io.c#L13557), th... larskanis (Lars Kanis)
09:46 AM Ruby Revision d428d086 (git): Simplify the code
`thread_sched_to_waiting_common0` is no longer needed. ko1 (Koichi Sasada)
09:12 AM Ruby Revision e2fe0aae (git): Avoid race condition in `test_without_handle_interrupt_signal_works`. (#15504)
Samuel Williams
09:12 AM Ruby Feature #21721: Allow `Queue` and `SizedQueue` to be used as LIFO queues
So I did a number of other patches to squeeze some more performance out of `Monitor#synchronize`
```
ruby 4.0.0dev (2025-12-12T09:08:05Z master ff831eb057) +YJIT +PRISM [arm64-darwin25]
Warming up -----------------------------------...
byroot (Jean Boussier)
09:08 AM Ruby Revision ff831eb0 (git): thead_sync.c: directly pass the execution context to yield
Saves one more call to GET_EC() byroot (Jean Boussier)
09:07 AM Ruby Revision 7e7a1db5 (git): Define Thread::ConditionVariable in thread_sync.rb
It's more consistent with Mutex, but also the `#wait` method
benefits from receiving the execution context instead of having
to call `GET_EC`.
byroot (Jean Boussier)
08:55 AM Ruby Revision cf97a14c (git): Bump actions/cache from 4.3.0 to 5.0.0
Bumps [actions/cache](https://github.com/actions/cache) from 4.3.0 to 5.0.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co...
dependabot[bot]
08:55 AM Ruby Revision 0022a878 (git): Bump actions/cache in /.github/actions/setup/directories
Bumps [actions/cache](https://github.com/actions/cache) from 4.3.0 to 5.0.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co...
dependabot[bot]
08:39 AM Ruby Revision 175a0d5f (git): [ruby/timeout] Restore original signal handler in test_timeout_in_trap_handler
https://github.com/ruby/timeout/commit/4ae8631acf Eregon (Benoit Daloze)
06:55 AM Ruby Revision d9cc7621 (git): Update bundled gems list as of 2025-12-12
git[bot]
06:32 AM Ruby Bug #21776 (Closed): Binding#local_variable_defined? still supports numbered parameters
Applied in changeset commit:git|1794cfe12fe61dedebadead542927f9fef4104eb.
----------
Binding#local_variable_defined? raises a NameError for numbered params.
[Bug #21776]
mame (Yusuke Endoh)
05:10 AM Ruby Bug #21776 (Open): Binding#local_variable_defined? still supports numbered parameters
mame (Yusuke Endoh)
05:10 AM Ruby Bug #21776: Binding#local_variable_defined? still supports numbered parameters
I noticed that `binding.local_variable_defined?(:@x)` raises `wrong local variable name '@x' for #<Binding:0x00007cd1e95a94d8> (NameError)`.
Maybe `binding.local_variable_defined?(:_1)` should raise a similar error because `_1` is not a...
mame (Yusuke Endoh)
04:17 AM Ruby Bug #21776 (Closed): Binding#local_variable_defined? still supports numbered parameters
Applied in changeset commit:git|04494d9e4064a57accc8309da9b35754a3d24973.
----------
`Binding#local_variable_defined?` must not handle numbered parameters
[Bug #21776]
mame (Yusuke Endoh)
03:02 AM Ruby Bug #21776: Binding#local_variable_defined? still supports numbered parameters
Thanks! https://github.com/ruby/ruby/pull/15519 will fix the issue. mame (Yusuke Endoh)
06:32 AM Ruby Revision 5ef4f88d (git): use `ractor_sched_lock`
instead of using `rb_native_mutex_lock` directly. ko1 (Koichi Sasada)
06:21 AM Ruby Revision 1794cfe1 (git): Binding#local_variable_defined? raises a NameError for numbered params.
[Bug #21776] mame (Yusuke Endoh)
05:24 AM Ruby Revision 5541c0d8 (git): Win32: Make `rb_w32_osid` return Windows NT always
Since support for Windows 9x was dropped over a decade ago. nobu (Nobuyoshi Nakada)
05:24 AM Ruby Revision f939f043 (git): Win32: Deprecate Windows version info API
`dwMajorVersion` alone has no meaning since Windows 7. Use API in
VersionHelper.h instead.
nobu (Nobuyoshi Nakada)
05:24 AM Ruby Revision 50e5c542 (git): Win32: Remove the workaround for console reading bug
It has been fixed at Windows 8, and we already have dropped the
support Windows 8 and olders.
nobu (Nobuyoshi Nakada)
04:16 AM Ruby Revision 04494d9e (git): `Binding#local_variable_defined?` must not handle numbered parameters
[Bug #21776] mame (Yusuke Endoh)
01:57 AM Ruby Revision be43ad37 (git): release.yml: Fix tag conversion for Ruby 4.0
and PREVIOUS_RELEASE_TAG for any .0 releases k0kubun (Takashi Kokubun)
01:54 AM Ruby Revision 8fba4b0f (git): tool/format-release: Fix a wrong method reference
k0kubun (Takashi Kokubun)
01:50 AM Ruby Revision ec4c4670 (git): tool/format-release: Carve out the version format logic
to share it with tool/releng/update-www-meta.rb and another place I'm
going to modify next.
k0kubun (Takashi Kokubun)
01:45 AM Ruby Revision faac344d (git): make-snapshot: Fix Psych::DisallowedClass with newer psych
```
$ tool/format-release ../www.ruby-lang.org 4.0.0-preview2 .
/opt/rubies/3.4.6/lib/ruby/3.4.0/psych/class_loader.rb:99:in 'Psych::ClassLoader::Restricted#find': Tried to load unspecified class: Date (Psych::DisallowedClass)
fr...
k0kubun (Takashi Kokubun)
01:28 AM Ruby Revision 3a766259 (git): ZJIT: Don't specialize calls with kwsplat (#15513)
rwstauner (Randy Stauner)
01:16 AM Ruby Feature #20959: Add a way to get codepage of console.
```
dir | ruby -e “puts STDIN.read.force_encoding('locale')”
```
I think they should use `-E`.
> On Windows, the C runtime locale for each process is currently inconsistent, so changing the locale encoding for this purpose does n...
naruse (Yui NARUSE)
01:06 AM Ruby Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
Here's the list of all changes I made for this ticket:
* `tool/merger.rb tag`
* https://github.com/ruby/ruby/commit/0564214a00450371527c7bd69fc13618e5f25f30
* `tool/merger.rb remove_tag`
* https://github.com/ruby/ruby/commit/aff...
k0kubun (Takashi Kokubun)
12:59 AM Ruby Revision 1f0ca557 (git): make-snapshot: Update the tag format for Ruby 4.0+ (#15514)
k0kubun (Takashi Kokubun)
12:45 AM Ruby Revision 06a6ad44 (git): make-snapshot: Remove an unnecessary variable
This is a refactoring change, which should have no impact on behaviors.
Now, if patchlevel is true, tag is empty. So `if patchlevel` always does
nothing. Given that prerelease is false and tag is not nil, removing
`if patchlevel` should...
k0kubun (Takashi Kokubun)
12:45 AM Ruby Revision 6601640c (git): make-snapshot: Branch if it's X.Y.Z or X.Y using when
It just seems like a completely different input, so it makes more sense
to me to have it as a separate case.
Also, we don't need to support Ruby 2.0 or older.
k0kubun (Takashi Kokubun)
12:45 AM Ruby Revision 0ecf6896 (git): make-snapshot: Make preview/rc match stricter
to make it a bit more consistent with the other branch k0kubun (Takashi Kokubun)
12:45 AM Ruby Revision 58f9aca0 (git): make-snapshot: Drop X.Y.Z-pN support
We no longer make patchlevel releases. k0kubun (Takashi Kokubun)
12:18 AM Ruby Revision 12bf3a99 (git): update-www-meta.rb: Update the tag format for Ruby 4.0+
Just copied format-release fixes in
a973526c050fec044ffd7ceeba0ac8e8a1fed299 to this file.
k0kubun (Takashi Kokubun)

12/11/2025

11:52 PM Ruby Revision aff0c6da (git): tool/merger.rb: Support the new format in remove_tag
k0kubun (Takashi Kokubun)
11:44 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
The benchmark from #20816 gets a little more pure results as it only deals with a fast syscall in a loop without Queue communication. I adjusted it slightly.
``` ruby
THREADS = (ARGV.first || 10).to_i # choose thread count from CLI
...
jhawthorn (John Hawthorn)
11:29 PM Ruby Revision 04299ca1 (git): monitor.c: skip GET_EC() on exit
byroot (Jean Boussier)
11:09 PM Ruby Misc #21774 (Closed): [ANN] Rename the `v4_0_0_preview2` git tag to `v4.0.0-preview2`
All those PRs have been merged, so I did (3) as well. k0kubun (Takashi Kokubun)
10:50 PM Ruby Misc #21774 (Assigned): [ANN] Rename the `v4_0_0_preview2` git tag to `v4.0.0-preview2`
k0kubun (Takashi Kokubun)
06:17 PM Ruby Misc #21774: [ANN] Rename the `v4_0_0_preview2` git tag to `v4.0.0-preview2`
I filed PRs for (2).
* https://github.com/ruby/www.ruby-lang.org/pull/3689
* https://github.com/ruby/rbs/pull/2743
* https://github.com/docker-library/ruby/pull/522
I'll wait a little before doing (3).
k0kubun (Takashi Kokubun)
05:48 PM Ruby Misc #21774: [ANN] Rename the `v4_0_0_preview2` git tag to `v4.0.0-preview2`
I finished (1).
```
$ git checkout v4_0_0_preview2
HEAD is now at 4fa6e9938c strnlen is not used now
$ git tag v4.0.0-preview2
$ git push origin v4.0.0-preview2
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: To ...
k0kubun (Takashi Kokubun)
05:33 PM Ruby Misc #21774 (Closed): [ANN] Rename the `v4_0_0_preview2` git tag to `v4.0.0-preview2`
## Changes
As per [Misc #21769], we'll rename the `v4_0_0_preview2` tag to `v4.0.0-preview2` on ruby.git.
## Operations
To minimize its potential impact, I'll work on it in the following order:
1. Push a new tag `v4.0.0-previ...
k0kubun (Takashi Kokubun)
10:51 PM Ruby Bug #21759: `test_fork.rb:78` is failing with `RUBY_MN_THREADS=1`
Thank you! I have also run the test over 10 times to make sure there are no failures with `RUBY_MN_THREADS=1`. hsbt (Hiroshi SHIBATA)
03:57 PM Ruby Bug #21759 (Closed): `test_fork.rb:78` is failing with `RUBY_MN_THREADS=1`
This has most likely been fixed by https://github.com/ruby/ruby/pull/15392. I can't reproduce the failure on master and the fix was targeting a race condition in the thread scheduler in MN thread mode. luke-gru (Luke Gruber)
10:50 PM Ruby Misc #21769 (Closed): Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
Updated `tool/merge.rb tag` and `tool/format-release` to support the new git tag format at https://github.com/ruby/ruby/pull/15508. k0kubun (Takashi Kokubun)
05:22 PM Ruby Misc #21769 (Assigned): Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
From the (draft) meeting notes:
> #### Conclusion:
> ...
I'll modify `ruby-master/tool/merger.rb tag` to use the `v4.0.0` format for Ruby 4.0+. I'll also file another ticket to announce the `v4.0.0-preview2` tag rename.
To close t...
k0kubun (Takashi Kokubun)
10:49 PM Ruby Revision a973526c (git): tool/format-release: Fix the tag format for Ruby 4.0+
k0kubun (Takashi Kokubun)
10:49 PM Ruby Revision 0564214a (git): tool/merger.rb: Update the tag format for Ruby 4.0+
k0kubun (Takashi Kokubun)
10:25 PM Ruby Revision 8210a117 (git): test_ractor.rb: old object while calling _id2ref
byroot (Jean Boussier)
10:25 PM Ruby Revision 07b2356a (git): Mutex: avoid repeated calls to `GET_EC`
That call is surprisingly expensive, so trying doing it once
in `#synchronize` and then passing the EC to lock and unlock
saves quite a few cycles.
Before:
```
ruby 4.0.0dev (2025-12-10T09:30:18Z master c5608ab4d7) +YJIT +PRISM [arm64-...
byroot (Jean Boussier)
10:21 PM Ruby Revision dc58d58a (git): [ruby/timeout] Fix failing timeout test
```
Run options:
"--ruby=./miniruby -I../ruby/lib -I. -I.ext/common ../ruby/tool/runruby.rb --extout=.ext -- --disable-gems"
--excludes-dir=../ruby/test/.excludes
--name=!/memory_leak/
--seed=9843
[ 1/31] TestTimeout#test_time...
Luke Gruber
10:17 PM Ruby Bug #20314: Simultaneous Timeout expires may raise an exception after the block
I'll discuss solutions in https://github.com/ruby/timeout/issues/52.
I got an idea for a fix, but haven't had time to try it yet.
Eregon (Benoit Daloze)
09:12 PM Ruby Revision 64062792 (git): ZJIT: Check method visibility when optimizing sends (#15501)
Fix https://github.com/Shopify/ruby/issues/874 tekknolagi (Maxwell Bernstein)
08:45 PM Ruby Revision fb80587f (git): [ruby/timeout] Add windows to CI matrix
https://github.com/ruby/timeout/commit/c8d63ce3fe byroot (Jean Boussier)
08:45 PM Ruby Revision f8f8ff61 (git): auto_request_review.yml: Update path for jit related docs
alanwu (Alan Wu)
08:45 PM Ruby Revision eb889e47 (git): ZJIT: s/checking possible to build ZJIT/checking prerequisites for ZJIT/
Reads better to me:
> checking prerequisites for ZJIT... yes
alanwu (Alan Wu)
08:45 PM Ruby Revision c092c294 (git): ZJIT: [DOC] Mention build prerequisites
alanwu (Alan Wu)
08:45 PM Ruby Revision 832aac6c (git): Tune AS_CASE indentation style and remove `[*]` for default case
There are many indentation styles for AS_CASE in this file but no one
uses `[*]` for the default case.
alanwu (Alan Wu)
08:21 PM Ruby Revision 1b7c8b79 (git): [ruby/timeout] Skip signal test on windows
Windows has no SIGUSR1.
There might be another usable signal, but this is breaking ruby master
so I just want a quick fix for now.
https://github.com/ruby/timeout/commit/b19043e8d0
byroot (Jean Boussier)
08:01 PM Ruby Bug #21776 (Closed): Binding#local_variable_defined? still supports numbered parameters
On the freshest `master`:
```ruby
[1].each {_1; p binding.local_variable_defined?(:_1) }
#=> true
```
It is inconsistent with changes in `#local_variables`/`#local_variable_get`/`#local_variable_set`. And inconsistent with handl...
zverok (Victor Shepelev)
07:01 PM Ruby Bug #21775 (Closed): Procs of type ifunc can access unshareable values
With this code, we can see that the Ractor is able to access the top-level main object.
``` ruby
Ractor.alias_method :value, :take unless Ractor.method_defined?(:value)
shareable_proc = Ractor.make_shareable(Hash.new { self }.to_pro...
etienne (Étienne Barrié)
06:57 PM Ruby Misc #21770 (Closed): Stop bumping RUBY_PATCHLEVEL in release versions
Applied in changeset commit:git|d02c97157476bbd9774f2bf6425a69166b99da1b.
----------
Stop bumping RUBY_PATCHLEVEL in release versions (#15502)
[[Misc #21770]](https://bugs.ruby-lang.org/issues/21770)
k0kubun (Takashi Kokubun)
06:57 PM Ruby Revision d02c9715 (git): Stop bumping RUBY_PATCHLEVEL in release versions (#15502)
[[Misc #21770]](https://bugs.ruby-lang.org/issues/21770) k0kubun (Takashi Kokubun)
06:54 PM Ruby Feature #20959: Add a way to get codepage of console.
When I filed #20959, I had #20929 in mind.
Since Windows APIs return time zone names localized based on the user's language settings rather than the system's language settings, it was important to retrieve them using a language-independ...
YO4 (Yoshinao Muramatsu)
01:46 PM Ruby Feature #20959: Add a way to get codepage of console.
I think your idea is that Microsoft is pushing more for UTF-8 support in console apps using the Visual C++ runtime, and in the future, setting the locale to UTF-8 might become the usual way. If that happens, the console code page and loc... naruse (Yui NARUSE)
06:53 PM Ruby Bug #18733: Heavy GC allocations cause performance issue with Ractor
Just to update that though GC is still global more progress has been made. I'm on a new PC, so rerunning the benchmark against the old SHA.
```
❯ ruby -v
ruby 3.5.0dev (2025-07-02T20:01:24Z v4.0.0-preview2~2697 d5f5a56bf2) +PRISM [x...
jhawthorn (John Hawthorn)
06:29 PM Ruby Bug #21607 (Feedback): require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 built with GCC 15
jhawthorn (John Hawthorn)
06:28 PM Ruby Bug #17878 (Closed): bootstraptest/test_ractor.rb:224 a random failing test with "The outgoing-port is already closed (Ractor::ClosedError)"
It's likely this was fixed by the introduction of Ractor::Port. "The outgoing-port is already closed" isn't a message that can occur anymore (we no longer have outgoing ports) jhawthorn (John Hawthorn)
05:53 PM Ruby Revision 89e09e4d (git): Add assumption to free_vm_weak_references
Help the compiler know that we always get a heap object here. jhawthorn (John Hawthorn)
05:53 PM Ruby Revision 32e6dc0f (git): Speed up class allocator search
This rewrites the class allocator search to be faster. Instead of using
RCLASS_SUPER, which is now even slower due to Box, we can scan the
superclasses list to find a class where the allocator is defined.
This also disallows allocating ...
jhawthorn (John Hawthorn)
05:53 PM Ruby Revision 459c3772 (git): Assume result from allocator will be valid
This adds a fastpath in class_call_alloc_func to simply return if the
class matches the one expected.
I think we could probably just remove this check, or move it to the debug
build.
jhawthorn (John Hawthorn)
04:38 PM Ruby Revision b5604833 (git): Fix Set#^ to not mutate its argument (#15296)
* test(set): add test Set#xor does not mutate other_set
* Fix Set#^ to not mutate its argument
Gil Desmarais
04:02 PM Ruby Bug #21710 (Closed): Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
luke-gru (Luke Gruber)
09:45 AM Ruby Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
byroot (Jean Boussier) wrote in #note-24:
> > I just don't think we should support this.
> ...
To be clear, we are aware we're doing really shady weird things to get a bit less overhead / a few more features, etc and we don't expect u...
ivoanjo (Ivo Anjo)
03:35 PM Ruby Bug #21772: ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
I've attached a file the original log file was 90mb so I used
grep -B 2 -A 100 "action_dispatch/request/session.rb" /tmp/yjit_58847.log > /tmp/session_blocks.log
Hopefully that is what you are looking for.
gearoiddc (Gearoid de Cleir)
02:46 PM Ruby Bug #21772: ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
It looks like you've hit the same panic as #21565.
Could you try the instructions from https://bugs.ruby-lang.org/issues/21565#note-5 to gather more information? Since you're on 3.4.7, you don't need to patch ruby for the steps there.
alanwu (Alan Wu)
03:32 PM Ruby Revision 3831a82d (git): [ruby/json] Revert "Skip test failing with JRuby in CI"
This reverts commit https://github.com/ruby/json/commit/b7e1734d9ca0.
https://github.com/ruby/json/commit/5793694ee6
etienne (Étienne Barrié)
03:01 PM Ruby Revision 4ab45e8f (git): [ruby/psych] bump snakeyaml-engine to 2.10 (jruby)
https://github.com/ruby/psych/commit/506bf75ab2 kares (Karol Bucek)
02:58 PM Ruby Revision 965ae7f3 (git): Fix typo in Fiber.[] docs
Eregon (Benoit Daloze)
01:38 PM Ruby Feature #21773 (Open): Support for setting encoding when a block is passed to `Net::HTTPResponse.read_body`
Hi everyone,
This feature request could be considered a follow-up to https://bugs.ruby-lang.org/issues/2567. Opting in to automatic detection of the right encoding for the body when passing a block to `read_body` results in an error ...
rosa (Rosa Gutierrez )
01:38 PM Ruby Revision b49ff7cc (git): [ruby/timeout] Make Timeout.timeout work in a trap handler on CRuby
* Fixes https://github.com/ruby/timeout/issues/17
https://github.com/ruby/timeout/commit/1a499a8f96
Eregon (Benoit Daloze)
01:38 PM Ruby Revision 9865048a (git): [ruby/timeout] Encapsulate adding a timeout Request
https://github.com/ruby/timeout/commit/cb2ba88fed Eregon (Benoit Daloze)
01:30 PM Ruby Bug #21669: Thoroughly implement void value expression check
https://github.com/ruby/ruby/pull/15498 nobu (Nobuyoshi Nakada)
12:15 PM Ruby Bug #21669: Thoroughly implement void value expression check
Discussed this at the dev meeting.
I was convinced that it is very rare to use `return` or other escapes from the begin block *whose result is used* even during debugging.
```
def foo
bar(begin
return 42
1
end)
en...
mame (Yusuke Endoh)
01:05 PM Ruby Revision c678e1bd (git): [ruby/timeout] Revise Timeout.timeout docs and add a section about `ensure`
https://github.com/ruby/timeout/commit/7cfa5a6778 Eregon (Benoit Daloze)
01:05 PM Ruby Revision 46d8e6d9 (git): [ruby/timeout] Reset the interrupt mask when creating the Timeout thread
* Add tests related to Thread.handle_interrupt
* Fixes https://github.com/ruby/timeout/issues/41
https://github.com/ruby/timeout/commit/a52720e82a
Eregon (Benoit Daloze)
12:57 PM Ruby Bug #21715: Miscompilation on x86-64-v2 due to undefined behavior in search_nonascii in string.c
For long term, believing the intelligence of the compiler sounds reasonable.
But if we believe the compiler, it doesn't need hand written parallelism. The code can be simplified like
```c
const char *
search_nonascii2(const char ...
naruse (Yui NARUSE)
12:17 PM Ruby Bug #21723 (Assigned): `binding.irb` raises a LoadError under `bundle exec`
hsbt (Hiroshi SHIBATA)
12:06 PM Ruby Feature #8948: Frozen regex
Here is the code we found in the dev meeting:
https://github.com/ctrochalakis/mongo-ruby-driver/blob/e632eb570d2f42bddc6703c88d3ce43aea6cdfe6/lib/mongo/types/regexp_of_holding.rb#L27-L41
```ruby
class LazyRegexp < Regexp
...
...
mame (Yusuke Endoh)
07:48 AM Ruby Feature #8948: Frozen regex
We found some gems inherited from Regexp and used instance variables on instances, so they would be broken if all Regexp objects become frozen. I think it's unacceptable for Ruby 4.0.
Frankly, I don't think freezing the Regexp objects i...
matz (Yukihiro Matsumoto)
11:56 AM Ruby Revision d6b40320 (git): Append found lib/<file> entries to spec.files to support out-of-place builds
hsbt (Hiroshi SHIBATA)
10:59 AM Ruby Revision 674ddf4b (git): Update default gems list at 6b469b7e40f94f25b50463de2190d5 [ci skip]
git[bot]
10:58 AM Ruby Revision 6b469b7e (git): [ruby/json] Release 2.18.0
https://github.com/ruby/json/commit/1cdd2122d5 byroot (Jean Boussier)
10:53 AM Ruby Revision 6ad4e6a2 (git): [ruby/json] Add `allow_control_characters` parsing option
While it's not allowed by the spec, some parsers like Oj do
accept it, and it can be blocking a transition.
Having this feature can help people migrate.
https://github.com/ruby/json/commit/3459499cb3
byroot (Jean Boussier)
10:20 AM Ruby Bug #19558 (Closed): str.dump.undump crashes when str contains both Unicode and ASCII control characters
Applied in changeset commit:git|281a000d6669d3fbb1c0a2f940cbb9c7c01732e6.
----------
[Bug #19558] Allow ASCII range to mix with Unicode dump
nobu (Nobuyoshi Nakada)
10:20 AM Ruby Revision 281a000d (git): [Bug #19558] Allow ASCII range to mix with Unicode dump
nobu (Nobuyoshi Nakada)
10:12 AM Ruby Misc #21690 (Closed): Inconsistent `rb_popcount64()` definition
Applied in changeset commit:git|dc41cf332613db24af512bc7e959fc9a17d85d59.
----------
[Misc #21690] Sync parser_bits.h from internal/bits.h
nobu (Nobuyoshi Nakada)
09:44 AM Ruby Misc #21690: Inconsistent `rb_popcount64()` definition
https://github.com/ruby/ruby/pull/15496 nobu (Nobuyoshi Nakada)
09:48 AM Ruby Bug #21709: Regexp interpolation is inconsistent with String interpolation
```ruby
re = /#{"\\p{In_Arabic}".encode("US-ASCII")}\u1234/
# encoding mismatch in dynamic regexp : US-ASCII and UTF-8
```
This behavior looks a bug.
naruse (Yui NARUSE)
09:42 AM Ruby Revision dc41cf33 (git): [Misc #21690] Sync parser_bits.h from internal/bits.h
nobu (Nobuyoshi Nakada)
09:35 AM Ruby Bug #21712 (Closed): Prism and parse.y inconsistency in command call with block and `.()`
Applied in changeset commit:git|c5b51bdd8c69ae038daf80cb227df854ca0110f1.
----------
[Bug #21712] Allow `.()` call for command with block
This commit allows codes like `a b do end.()` and `a b do end&.()`.
yui-knk (Kaneko Yuichiro)
08:57 AM Ruby Bug #21712: Prism and parse.y inconsistency in command call with block and `.()`
`parse.y` should be fixed to adopt this case.
Matz.
matz (Yukihiro Matsumoto)
09:35 AM Ruby Revision c5b51bdd (git): [Bug #21712] Allow `.()` call for command with block
This commit allows codes like `a b do end.()` and `a b do end&.()`. yui-knk (Kaneko Yuichiro)
09:18 AM Ruby Revision 278a93a1 (git): This change didn't fix the original issue.
Revert "Use base: with Dir.glob for bundler.gemspec"
This reverts commit 87f0701b6106569a8486c9623dc6b0b32438355c.
hsbt (Hiroshi SHIBATA)
09:00 AM Ruby Revision 240e7999 (git): [DOC] Update NEWS for `*selectors` arguments added to `String#strip` etc.
shugo (Shugo Maeda)
08:57 AM Ruby Revision 87f0701b (git): Use base: with Dir.glob for bundler.gemspec
hsbt (Hiroshi SHIBATA)
08:35 AM Ruby Feature #21552 (Closed): allow String.strip and similar to take a parameter similar to String.delete
Applied in changeset commit:git|c76ba839b153805f0498229284fea1a809308dbc.
----------
Allow String#strip etc. to take optional character selectors
[Feature #21552]
Co-Authored-By: Claude <[email protected]>
shugo (Shugo Maeda)
06:52 AM Ruby Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
I accept the proposal.
Matz.
matz (Yukihiro Matsumoto)
08:34 AM Ruby Revision c76ba839 (git): Allow String#strip etc. to take optional character selectors
[Feature #21552]
Co-Authored-By: Claude <[email protected]>
shugo (Shugo Maeda)
07:53 AM Ruby Feature #19979: Allow methods to declare that they don't accept a block via `&nil`
Frankly, I should have designed from the beginning that any method that accepts a block should always take a `&blk` argument, but it is impossible to change that now.
Considering that it is meaningful to explicitly state that a method...
matz (Yukihiro Matsumoto)
06:48 AM Ruby Bug #21049: Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
I'd like to have the following new methods:
* `Binding#implicit_parameters #=> [:_1, :_2, :_3, ...] or [:it]`
* `Binding#implicit_parameter_get(:_1) #=> obj`
* `Binding#implicit_parameter_defined?(:_1) #=> true or false`
Matz.
matz (Yukihiro Matsumoto)
05:47 AM Ruby Feature #21704: Expose rb_process_status_new to C extensions
rb_process_status_new is declared in the PR as follows.
```
/**
* Creates a new instance of Process::Status.
*
* @param[in] pid The process ID.
* @param[in] status The "waitpid status", as returned by waitpid(2). This is NOT ...
akr (Akira Tanaka)
01:28 AM Ruby Revision 83e08070 (git): Remove an excess closing bracket
nobu (Nobuyoshi Nakada)
12:07 AM Ruby Revision c7d56e90 (git): ZJIT: Re-compile ISEQs invalidated by PatchPoint (#15459)
k0kubun (Takashi Kokubun)
12:02 AM Ruby Revision 1c29fbec (git): GC_DEBUG_STRESS_TO_CLASS should only be for debug
I believe this was accidentally left in as part of
2beb3798bac52624c3170138f8ef65869f1da6c0
jhawthorn (John Hawthorn)
12:01 AM Ruby Revision 5828872e (git): Update Ractor warning message
Although the Ractor API is still experimental and may change, and there
may be some implementation issues, we should no longer say that there
are many.
Hopefully we can remove this warning entirely for Ruby 4.1
jhawthorn (John Hawthorn)

12/10/2025

10:03 PM Ruby Revision b208f46f (git): ZJIT: Don't fold LoadField with negative offsets and use byte_add
No point doing the manual size unit conversion for add. Sorry, no new
tests since there is no way to generate a LoadField with a negative
offset from ruby code AFAICT. Careful with the `as` casts.
alanwu (Alan Wu)
09:43 PM Ruby Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
Also in practice you'd probably want to use `sub!` to mutate in place if a big String.
That would avoid a copy, since CRuby doesn't do lazy substrings which don't share the same end.
Eregon (Benoit Daloze)
09:41 PM Ruby Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
Eregon (Benoit Daloze) wrote in #note-9:
> but that sounds more like something that could/should be optimized in the regexp engine
To substantiate that:
```
$ ruby -rbenchmark/ips -e 'SPACES = ["\0", *("\t".."\r"), " "].join; TARGE...
Eregon (Benoit Daloze)
09:34 PM Ruby Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
This sounds like a lot of complexity for one specific use-case, which already has a good solution with `sub`.
From the benchmarks, `lstrip("\0 \t-\r")` and `sub(/\A[\0\s]+/, "")` are pretty close.
`sub(/[\0\s]+\z/, "")` is slower tha...
Eregon (Benoit Daloze)
06:28 AM Ruby Feature #21552: allow String.strip and similar to take a parameter similar to String.delete
tr_setup_table_multi() was called twice in String#{strip,strip!}, so I've fixed it: https://github.com/ruby/ruby/pull/15400/commits/c9cb93f201644cd5e2fbbd6e83cf50acb27642de
### Benchmark
https://gist.github.com/shugo/c6367f4139bc2d...
shugo (Shugo Maeda)
09:35 PM Ruby Revision 029a4817 (git): JITs: Drop cargo and use just rustc for release combo build
So we don't expose builders to network flakiness which cannot be worked
around using cargo's --offline flag.
alanwu (Alan Wu)
09:35 PM Ruby Revision 121d0da0 (git): JITs: Move cargo-specific variables into conditional
alanwu (Alan Wu)
09:35 PM Ruby Revision 1bab2160 (git): ZJIT: For rustc build, remove cargo touch(1) workaround
alanwu (Alan Wu)
09:35 PM Ruby Revision b0ea9070 (git): YJIT: For rustc build, remove cargo touch(1) workaround
alanwu (Alan Wu)
09:35 PM Ruby Revision 96c804de (git): ZJIT: Remove unused includes from zjit.c
alanwu (Alan Wu)
09:18 PM Ruby Revision c8909030 (git): ZJIT: Fold LoadField on frozen objects to constants (#15483)
* ZJIT: Fold LoadField on frozen objects to constants
When accessing instance variables from frozen objects via attr_reader/
attr_accessor, fold the LoadField instruction to a constant at compile
time. This enables further optimizations...
Tobias Lütke
09:07 PM Ruby Bug #21772: ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
Sure no problem anything else?
```
-- Ruby level backtrace information ----------------------------------------
/home/gearoid/.rvm/gems/[email protected]/gems/puma-7.1.0/lib/puma/thread_pool.rb:182:in 'block in spawn_thread'
/home...
gearoiddc (Gearoid de Cleir)
08:54 PM Ruby Bug #21772: ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
> Backtrace & Logs
Is it possible to share the Ruby backtrace as well?
k0kubun (Takashi Kokubun)
08:21 PM Ruby Bug #21772 (Closed): ruby: YJIT has panicked StackOpnd(1) should be a heap object, but was ImmSymbol for VALUE(137647867319760)
I'm getting a YJIT has panicked crash in my rails app locally when a part of my application rapidly uses a gem I have "auto_session_timeout".
If I patch the gem by changing the symbol to a string the error goes away.
``` ruby
...
gearoiddc (Gearoid de Cleir)
08:56 PM Ruby Revision ccfd3116 (git): Remove object_id in NEWOBJ tracepoint test
Generating an object_id for any type other than T_OBJECT (and T_CLASS)
will inevitably allocate an IMEMO/fields objects, which isn't supported
in a NEWOBJ tracepoint.
See: https://bugs.ruby-lang.org/issues/21710#note-23
byroot (Jean Boussier)
08:30 PM Ruby Revision 3640cfe5 (git): ZJIT: Use inline format args (#15482)
Alex Rocha
08:21 PM Ruby Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
Yeah... Either way, with the object_id now stored in `imemo/fields`, generating an object_id for anything other than `T_OBJECT` will inevitably allocate an IMEMO.
I'll remove the test case.
byroot (Jean Boussier)
08:15 PM Ruby Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
It's a noble goal, but in my view it's negative to even temporarily support this as it invites new extensions to be badly behaved and misuse these hooks. jhawthorn (John Hawthorn)
07:47 PM Ruby Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
> I just don't think we should support this.
I said previously, I generally agree, but the datadog gem is quite popular, so I think we should try to find a short term solution if we can. At least that's what I tried to do.
byroot (Jean Boussier)
07:37 PM Ruby Bug #21710 (Open): Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
This continues to be broken (in a way that I hope helps illustrate that this was always unsafe). I think there's two issues.
Since the change was introduced we're regularly seeing failures on CI related to object_id and _id2ref. Here ...
jhawthorn (John Hawthorn)
06:10 PM Ruby Revision 330ddccf (git): ubuntu.yml: Add a ruby-bench job without ZJIT (#15480)
k0kubun (Takashi Kokubun)
05:55 PM Ruby Bug #15479: Array#reject! modifies literal Array
Yas
[email protected] (mohamed sapry)
05:49 PM Ruby Revision 41ee6589 (git): Always treat encoding as TYPEDDATA
Encodings are RTypedData, not the deprecated RData. Although the
structures are compatible we should use the correct API.
jhawthorn (John Hawthorn)
05:45 PM Ruby Revision 1eb10ca3 (git): ZJIT: Exclude failing ruby-bench benchmarks (#15479)
k0kubun (Takashi Kokubun)
04:08 PM Ruby Revision ed18a212 (git): ZJIT: Check if shape is too complex before reading ivar by index (#15478)
This fixes a crash when the new shape after a transition is too complex;
we need to check that it's not complex before trying to read by index.
tekknolagi (Maxwell Bernstein)
11:42 AM Ruby Revision 2b66fc76 (git): Fix typos in comment of rb_current_execution_context()
Eregon (Benoit Daloze)
10:14 AM Ruby Revision 023c6d80 (git): [ruby/json] Add a specific error for unescaped newlines
It's the most likely control character so it's worth
giving a better error message for it.
https://github.com/ruby/json/commit/1da3fd9233
byroot (Jean Boussier)
10:06 AM Ruby Revision 6777d101 (git): Modernize Monitor TypedData
Make it embedded and compaction aware. byroot (Jean Boussier)
09:30 AM Ruby Revision c5608ab4 (git): Monitor: avoid repeated calls to `rb_fiber_current()`
That call is surprisingly expensive, so trying doing it once
in `#synchronize` and then passing the fiber to enter and exit
saves quite a few cycles.
byroot (Jean Boussier)
09:03 AM Ruby Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
Looks like this segfault is indeed fixed. Thank you! mtasaka (Mamoru TASAKA)
07:09 AM Ruby Revision ef4490d6 (git): Update default gems list at e8a55274f202df1cfddc25aa14da34 [ci skip]
git[bot]
07:08 AM Ruby Revision e8a55274 (git): [ruby/forwardable] v1.4.0
https://github.com/ruby/forwardable/commit/0257b590c2 hsbt (Hiroshi SHIBATA)
07:05 AM Ruby Bug #21708 (Closed): Ruby 3.4 Forwardable: setter delegations trigger SyntaxError from forwardable/impl.rb
Applied in changeset commit:git|14ff851185bb8ff399e98b74cc107302a4e08e18.
----------
[ruby/forwardable] Simpler and faster check for the delegation fastpath
Fix: https://github.com/ruby/forwardable/issues/35
[Bug #21708]
Trying to com...
byroot (Jean Boussier)
07:05 AM Ruby Revision 14ff8511 (git): [ruby/forwardable] Simpler and faster check for the delegation fastpath
Fix: https://github.com/ruby/forwardable/issues/35
[Bug #21708]
Trying to compile code to check if a method can use the delegation
fastpath is a bit wasteful and cause `RUPYOPT=-d` to be full of
misleading errors.
It's simpler and fast...
byroot (Jean Boussier)
06:48 AM Ruby Revision 375025a3 (git): Fix typo and shadowing
jhawthorn (John Hawthorn)
06:48 AM Ruby Revision 462df17f (git): Attempt to reuse garbage slots in concurrent hash
This removes all allocations from the find_or_insert loop, which
requires us to start the search over after calling the provided create
function.
In exchange that allows us to assume that all concurrent threads insert
will get the same ...
jhawthorn (John Hawthorn)
06:48 AM Ruby Revision 81fbdff8 (git): Use continuation bit in concurrent set
This refactors the concurrent set to examine and reserve a slot via CAS
with the hash, before then doing the same with the key.
This allows us to use an extra bit from the hash as a "continuation bit"
which marks whether we have ever pr...
jhawthorn (John Hawthorn)
06:44 AM Ruby Revision 492b1c73 (git): Update default gems list at 8e87f201cf54b112642ed0421ddabd [ci skip]
git[bot]
06:43 AM Ruby Revision 8e87f201 (git): [ruby/optparse] v0.8.1
https://github.com/ruby/optparse/commit/f2e31e81a5 hsbt (Hiroshi SHIBATA)
06:40 AM Ruby Revision a8b7fb7e (git): Update default gems list at 254653db8521618e08aaccaa63efdb [ci skip]
git[bot]
06:39 AM Ruby Revision 254653db (git): [ruby/win32-registry] v0.1.2
https://github.com/ruby/win32-registry/commit/2a6ab00f67 hsbt (Hiroshi SHIBATA)
06:18 AM Ruby Revision 6ec5c5f1 (git): [ruby/stringio] [DOC] Doc for StringIO.size
(https://github.com/ruby/stringio/pull/171)
https://github.com/ruby/stringio/commit/95a111017a
burdettelamar (Burdette Lamar)
06:18 AM Ruby Revision b4a1f170 (git): [ruby/stringio] [DOC] Tweaks for StringIO#each_line
(https://github.com/ruby/stringio/pull/165)
Adds to "Position": pos inside a character.
Makes a couple of minor corrections.
---------
https://github.com/ruby/stringio/commit/ff332abafa
Co-authored-by: Sutou Kouhei <[email protected]>
burdettelamar (Burdette Lamar)
06:17 AM Ruby Revision 5bc65db5 (git): [ruby/stringio] [DOC] Tweaks for StringIO#gets
(https://github.com/ruby/stringio/pull/190)
https://github.com/ruby/stringio/commit/77209fac20
burdettelamar (Burdette Lamar)
06:16 AM Ruby Revision f623fcc7 (git): [ruby/stringio] [DOC] Tweaks for StringIO.getbyte
(https://github.com/ruby/stringio/pull/188)
https://github.com/ruby/stringio/commit/66360ee5f1
burdettelamar (Burdette Lamar)
06:16 AM Ruby Revision 668fe011 (git): [ruby/stringio] [DOC] Fix link
https://github.com/ruby/stringio/commit/e2d24ae8d7 burdettelamar (Burdette Lamar)
06:13 AM Ruby Revision 842f91ae (git): [ruby/stringio] [DOC] Tweaks for StringIO#getc
(https://github.com/ruby/stringio/pull/189)
https://github.com/ruby/stringio/commit/e3d16d30ed
burdettelamar (Burdette Lamar)
06:04 AM Ruby Revision bbee62ab (git): We don't need to check the latest release of pathname
Pathname is now embedded class of Ruby hsbt (Hiroshi SHIBATA)
05:30 AM Ruby Revision 74376fef (git): Update default gems list at 4523a905327d8438f845f5a7582222 [ci skip]
git[bot]
05:28 AM Ruby Revision 4523a905 (git): [ruby/date] v3.5.1
https://github.com/ruby/date/commit/1d0aadc295 hsbt (Hiroshi SHIBATA)
05:23 AM Ruby Revision ab80d05f (git): Update default gems list at 5f444cba4741b2ff0e1e95f4a17932 [ci skip]
git[bot]
05:22 AM Ruby Revision 5f444cba (git): [ruby/ipaddr] v1.2.8
https://github.com/ruby/ipaddr/commit/93ef50bc04 hsbt (Hiroshi SHIBATA)
05:18 AM Ruby Revision ec862b41 (git): ZJIT: Prohibit ZJIT support with USE_FLONUM=0 (#15471)
k0kubun (Takashi Kokubun)
05:13 AM Ruby Revision 238e69d1 (git): Update default gems list at 814f23747b5fd7b0d5fb6cd8e45833 [ci skip]
git[bot]
05:12 AM Ruby Revision 814f2374 (git): [ruby/resolv] v0.7.0
https://github.com/ruby/resolv/commit/a0e89bbe48 hsbt (Hiroshi SHIBATA)
05:09 AM Ruby Revision e4786376 (git): Update default gems list at df4fc0f7fcda6c552084ea0638c718 [ci skip]
git[bot]
05:08 AM Ruby Revision df4fc0f7 (git): [ruby/psych] v5.3.0
https://github.com/ruby/psych/commit/d8053b0d16 hsbt (Hiroshi SHIBATA)
03:09 AM Ruby Revision 3636277d (git): Add `NUM2PTR` and `PTR2NUM` macros
These macros have been defined here and there, so collect them. nobu (Nobuyoshi Nakada)
01:23 AM Ruby Revision 3bb97e77 (git): `_RUBY_DEBUG_LOG` usable anywhere
even if `USE_RUBY_DEBUG_LOG=0`.
It becomes `fprintf(stderr, ...)`.
ko1 (Koichi Sasada)
12:22 AM Ruby Revision f9eb0d8d (git): Use `ruby_version_is`
As the markers for spec/mspec/tool/remove_old_guards.rb. nobu (Nobuyoshi Nakada)

12/09/2025

11:28 PM Ruby Revision 264c469b (git): Fix typo in thread_pthread.c [ci skip] (#15465)
Fix typo in thread_pthread.c: threre -> there Yuji Teshima
11:14 PM Ruby Revision 29c29c2b (git): ZJIT: Add dump to file for --zjit-stats (#15414)
* ZJIT: Add dump to file for --zjit-stats
* ZJIT: Rename --zjit-stats=quiet to --zjit-stats-quiet
aidenfoxivey (Aiden Fox Ivey)
10:36 PM Ruby Bug #21374 (Closed): FrozenError message is inconsistent when a singleton method is defined on a frozen object
Applied in changeset commit:git|e436dba9fee4c75104212ad0fd16ab7f753985c4.
----------
Use rb_error_frozen_object in rb_class_modify_check
This provides information on the class of the frozen object. It also
results in a much simpler imp...
jeremyevans (Jeremy Evans)
10:35 PM Ruby Revision e436dba9 (git): Use rb_error_frozen_object in rb_class_modify_check
This provides information on the class of the frozen object. It also
results in a much simpler implementation.
Fixes [Bug #21374]
jeremyevans (Jeremy Evans)
10:35 PM Ruby Revision 76fb0d24 (git): Use actual class instead of singleton class in frozen error message
With the following code:
```ruby
object = []
object.singleton_class
object.freeze
object.instance_variable_set(:@a, 42)
```
The previous error message was:
```
can't modify frozen #<Class:#<Array:0x00000631d1308f78>>: []
```
With thi...
jeremyevans (Jeremy Evans)
09:20 PM Ruby Bug #21446 (Closed): StackOverflow when changing visibility in reopened refinement
Applied in changeset commit:git|1e7cf7b2bc1f9b356b2e980e1e18548618da6363.
----------
Fix refinement modification of method visibility in superclass
Previously, this didn't work correctly, resulting in a
SystemStackError. This fixes the...
jeremyevans (Jeremy Evans)
09:19 PM Ruby Revision 1e7cf7b2 (git): Fix refinement modification of method visibility in superclass
Previously, this didn't work correctly, resulting in a
SystemStackError. This fixes the issue by finding the related
superclass method entry, and updating the orig_me in the
refinement method to point to the superclass method.
Fixes [Bu...
jeremyevans (Jeremy Evans)
08:45 PM Ruby Bug #21757 (Closed): Splatted args array is mutated when passing unexpected kwargs
Applied in changeset commit:git|6409715212d22699bd2751a363b050a5d8b94b83.
----------
Fix allocationless anonymous splat keyword argument check
Previously, if an argument splat and keywords are provided by
the caller, it did not check w...
jeremyevans (Jeremy Evans)
08:44 PM Ruby Revision 64097152 (git): Fix allocationless anonymous splat keyword argument check
Previously, if an argument splat and keywords are provided by
the caller, it did not check whether the method/proc accepted
keywords before avoiding the allocation. This is incorrect,
because if the method/proc does not accept keywords, ...
jeremyevans (Jeremy Evans)
08:29 PM Ruby Revision bd0d08b6 (git): ZJIT: Show send fallback reason in HIR dump (#15454)
This adds comments to the hir dump output like this:
v13:BasicObject = SendWithoutBlock v6, :test, v11 # SendFallbackReason: Complex argument passing
rwstauner (Randy Stauner)
08:00 PM Ruby Misc #21770: Stop bumping RUBY_PATCHLEVEL in release versions
:+1: I don't think it has any usefulness anymore.
I do know of one usage of `RUBY_PATCHLEVEL`, for detecting if on a dev build or release version via `is_release = RUBY_PATCHLEVEL >= 0`.
Notably used in https://github.com/grpc/grpc/b...
Eregon (Benoit Daloze)
01:41 AM Ruby Misc #21770: Stop bumping RUBY_PATCHLEVEL in release versions
I agreed this.
I already hide patchlevel from lockfile of Bundler 4.
https://github.com/ruby/rubygems/pull/7772
hsbt (Hiroshi SHIBATA)
12:24 AM Ruby Misc #21770 (Closed): Stop bumping RUBY_PATCHLEVEL in release versions
## Proposal
* Stop bumping `RUBY_PATCHLEVEL` from `0` in Ruby 4.0.0+
## Motivation
* As a stable branch maintainer, I find it frustrating that reverting a commit made by `tool/merger.rb` often causes a conflict on `#define RUBY_...
k0kubun (Takashi Kokubun)
07:52 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
Interesting. I get similar results on both linux and macos, on both benchmarks. But I'm using ARM in both cases, not x86. jpl-coconut (Jacob Lacouture)
06:07 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
Previous machine is on WSL.
On another vanilla Linux machine
Ubuntu 24.04/Linux 6.8.0-87-generic/i7-13700H nproc:20:
```
all CPU 1 CPU
MN=0 real: 0m8.919s ...
ko1 (Koichi Sasada)
09:06 AM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
Actually MN threads does similar thing.
```
$ time RUBY_MN_THREADS=1 make run
./miniruby -I../../src/trunk/lib -I. -I.ext/common -r./x86_64-linux-fake ../../src/trunk/test.rb
voluntary_ctxt_switches: 56
nonvoluntary_ctxt_switch...
ko1 (Koichi Sasada)
05:39 PM Ruby Bug #21719: Thread deadlock with explicit require of a base clase in Linux Ruby 3.4
It is not stably reproducible because the code heavily relies on race condition.
Here is a more reproducible and simpified version.
```ruby
# start.rb
#
autoload :Target, "./target"
# a hack to trigger context switch after Kern...
mame (Yusuke Endoh)
05:08 PM Ruby Bug #21771 (Closed): pg-1.6.2 testsuite segfaults in ruby4.0.0dev
Applied in changeset commit:git|98390d9360b8b8c82f798f51567587882c4e5c00.
----------
Don't declare `rbimpl_check_typeddata` as pure
[Bug #21771]
It may raise so it's incorrect and can lead to the compiler
optimizing the call out.
byroot (Jean Boussier)
04:40 PM Ruby Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
Here's the fix: https://github.com/ruby/ruby/pull/15467 byroot (Jean Boussier)
04:37 PM Ruby Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
So I'm only able to reproduce in release mode. I'm not yet clear about what is going on, but it feels like the compiler is optimizing the check out somehow. byroot (Jean Boussier)
04:00 PM Ruby Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
I will have a look, thank you. byroot (Jean Boussier)
03:25 PM Ruby Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
And actually the above segfault does *not* happen when reverting only commit:fcf3939780972d587b18afc26c4abd2da2c0b7ec
(i.e. reverting http://github.com/ruby/ruby/pull/15387 )
mtasaka (Mamoru TASAKA)
03:20 PM Ruby Bug #21771 (Assigned): pg-1.6.2 testsuite segfaults in ruby4.0.0dev
Thank you for the detailed report!
I could be wrong, but I think the culprit is commit:fcf3939780972d587b18afc26c4abd2da2c0b7ec. Looks like the optimization skips `rb_typeddata_inherited_p` check, but maybe it is needed. @byroot, coul...
mame (Yusuke Endoh)
03:08 PM Ruby Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
gdb result
```
type casting
shouldn't type map params unless requested
Thread 1 "ruby-mri" received signal SIGSEGV, Segmentation fault.
0x00007fffdc09de22 in alloc_query_params (paramsData=paramsData@entry=0x7fffffffb460) ...
mtasaka (Mamoru TASAKA)
03:03 PM Ruby Bug #21771: pg-1.6.2 testsuite segfaults in ruby4.0.0dev
Raw stdout/stderr log from ruby:
```
type casting
shouldn't type map params unless requested
/builddir/build/BUILD/rubygem-pg-1.6.2-build/pg-1.6.2/usr/share/gems/gems/pg-1.6.2/spec/pg/connection_spec.rb:2724: [BUG] Segmentati...
mtasaka (Mamoru TASAKA)
03:02 PM Ruby Bug #21771 (Closed): pg-1.6.2 testsuite segfaults in ruby4.0.0dev
Looks like pg-1.6.2
https://github.com/ged/ruby-pg/tree/c75ed8da19c356b52d83da2627295760780d3d36
testsuite began to segfault, especially the following
```
#!/bin/bash
export PGPORT=54321
export RUBY_PG_TEST_DIR=/builddir/build/...
mtasaka (Mamoru TASAKA)
05:08 PM Ruby Revision 98390d93 (git): Don't declare `rbimpl_check_typeddata` as pure
[Bug #21771]
It may raise so it's incorrect and can lead to the compiler
optimizing the call out.
byroot (Jean Boussier)
03:19 PM Ruby Revision f0b288ad (git): ZJIT: Put keyword bits in callee frame rather than c_args
rwstauner (Randy Stauner)
03:19 PM Ruby Revision c42f4d80 (git): ZJIT: Handle caller_kwarg in direct send when all keyword params are required
rwstauner (Randy Stauner)
03:19 PM Ruby Revision 76d845aa (git): ZJIT: Test additional arg passing scenarios
rwstauner (Randy Stauner)
03:04 PM Ruby Revision 7ecfb1b2 (git): [ruby/resolv] use domain suffix from 'Domain' instead of 'NV Domain'
'NV Domain' does not change results of `powershell -command Get-DnsClientGlobalSetting`.
'Domain' do this.
https://github.com/ruby/resolv/commit/d49e3d5b84
YO4 (Yoshinao Muramatsu)
02:44 PM Ruby Revision 1933f129 (git): [DOC] Clear one of known issues of Ruby Box
nobu (Nobuyoshi Nakada)
02:41 PM Ruby Revision 1e6a4795 (git): Box: relax the condition of clean up
It is impossible to delete DLLs being loaded on Windows. I guess that
unnamed (no accessible path on the filesystem) files are not allowed
essentially. The only way is to relax the condition, such as no files
are left after the process...
nobu (Nobuyoshi Nakada)
02:41 PM Ruby Revision 07e85e1d (git): Box: add a test case about deleting .so/.dll files
Satoshi Tagomori
02:41 PM Ruby Revision 573896a4 (git): Box: remove copied extension files
nobu (Nobuyoshi Nakada)
02:08 PM Ruby Revision e8568bbc (git): [DOC] Update Ruby Box documents (known issues)
Satoshi Tagomori
01:52 PM Ruby Revision cb9510f5 (git): ZJIT: Support opt_newarray_send with PACK_BUFFER
Max Bernstein
01:52 PM Ruby Revision c8441e8d (git): ZJIT: Clean up opt_newarray_send
Max Bernstein
01:17 PM Ruby Bug #21363 (Closed): `Namespace.current` should always return the Namespace in which it was defined
Now it's working as we expects:
```
MBA:build s-tagomori$ cat m.rb
module M
def self.test
p test: Ruby::Box.current
end
TEST = -> {
p lambda: Ruby::Box.current
}
end
MBA:build s-tagomori$ RUBY_BOX=1 ./exe/...
tagomoris (Satoshi Tagomori)
01:01 PM Ruby Bug #21341 (Closed): `Namespace is not a module (TypeError)` without enabling the namespace
The top level `Namespace` doesn't exist now. tagomoris (Satoshi Tagomori)
12:57 PM Ruby Bug #21320 (Closed): Namespaces leak with constant lookup
This issue is fixed now.
```
MBA:build s-tagomori$ cat b.rb
X = :top
class C
X = :super
end
class D < C
p X
end
MBA:build s-tagomori$ RUBY_BOX=1 ./exe/ruby -ve 'puts "in main"; require "./b"; puts "in box"; Ruby::Box....
tagomoris (Satoshi Tagomori)
12:54 PM Ruby Bug #21318 (Closed): Namespaces leak with Module.nesting
Now `Module.nesting` doesn't return its box information in a box.
```
MBA:build s-tagomori$ RUBY_BOX=1 ./exe/ruby -v
ruby 4.0.0dev (2025-12-09T12:29:36Z box-news-documents.. c998717de8) +PRISM [arm64-darwin24]
MBA:build s-tagomori$...
tagomoris (Satoshi Tagomori)
12:52 PM Ruby Bug #21316: Namespaces leak with permanent names
Now the name of classes defined in a box is just its name.
```
MBA:build s-tagomori$ RUBY_BOX=1 ./exe/ruby -e 'Ruby::Box.new.eval("class C; end; p(name: C.name, eq: C.name == \"C\")")'
./exe/ruby: warning: Ruby::Box is experimental,...
tagomoris (Satoshi Tagomori)
12:51 PM Ruby Bug #21316 (Closed): Namespaces leak with permanent names
tagomoris (Satoshi Tagomori)
12:41 PM Ruby Revision edca81a1 (git): ZJIT: Add codegen for FixnumDiv (#15452)
Fixes https://github.com/Shopify/ruby/issues/902
This pull request adds code generation for dividing fixnums.
Testing confirms the normal case, flooring, and side-exiting on division by zero.
Abrar Habib
12:36 PM Ruby Revision 5ae2bd24 (git): [DOC] Add Ruby::Box on NEWS
Satoshi Tagomori
12:10 PM Ruby Revision 4b8e48a3 (git): Update default gems list at 0da74e0aa0189b1d2ec9dadf7b580f [ci skip]
git[bot]
12:09 PM Ruby Revision 0da74e0a (git): [ruby/rubygems] Bump Rubygems version to 4.0.1
(cherry picked from commit https://github.com/ruby/rubygems/commit/f3e5ebf5afe7)
https://github.com/ruby/rubygems/commit/583b0222ad
hsbt (Hiroshi SHIBATA)
12:09 PM Ruby Revision 875c4c7d (git): [ruby/rubygems] Bump Bundler version to 4.0.1
(cherry picked from commit https://github.com/ruby/rubygems/commit/26c1db5a65a8)
https://github.com/ruby/rubygems/commit/bbb5b767d0
hsbt (Hiroshi SHIBATA)
11:50 AM Ruby Revision 8d1eafa7 (git): Remove duplicate path names in error message
nobu (Nobuyoshi Nakada)
11:50 AM Ruby Revision ee6784f2 (git): Refine `copy_ext_file`
- Define the error constants.
- Use system calls to copy files if available.
- Simplify fallback copying.
- Copy without stdio buffering.
nobu (Nobuyoshi Nakada)
10:37 AM Ruby Revision 99133a66 (git): [ruby/net-http] Check whether TCPSocket#initialize supports open_timeout once and without exceptions
* See discussion in https://github.com/ruby/net-http/pull/224
* This check is known to work on at least CRuby, TruffleRuby and JRuby.
* Exceptions show up with `ruby -d`/`$DEBUG == true` and would show for every Net::HTTP instance.
http...
Eregon (Benoit Daloze)
09:21 AM Ruby Bug #21717 (Feedback): Cleanup fiber scheduler after fork
mame (Yusuke Endoh)
09:20 AM Ruby Misc #21762 (Assigned): Box: Inspect improvements
mame (Yusuke Endoh)
09:17 AM Ruby Bug #21760 (Assigned): Ruby::Box: a couple of require-related problems
mame (Yusuke Endoh)
09:17 AM Ruby Bug #21761 (Assigned): NameError: uninitialized constant only when RUBY_BOX=1
mame (Yusuke Endoh)
09:13 AM Ruby Bug #21645 (Closed): Can't `require "resolve"` on Windows under Bundler without warnings
hsbt (Hiroshi SHIBATA)
09:02 AM Ruby Bug #21714 (Assigned): Prism and parse.y inconsistency in `def a = a b do 1 end`
mame (Yusuke Endoh)
09:01 AM Ruby Bug #21713 (Assigned): Prism accepts pattern matching in modifier rescue followed by operators that shouldn't be allowed
mame (Yusuke Endoh)
09:00 AM Ruby Misc #21688 (Closed): Ruby::Box maturing path
zverok (Victor Shepelev)
08:57 AM Ruby Misc #21688: Ruby::Box maturing path
Can we close this? mame (Yusuke Endoh)
08:48 AM Ruby Revision 79c57d74 (git): Fixed by `misspell -w -error -source=text`
hsbt (Hiroshi SHIBATA)
08:18 AM Ruby Bug #21676 (Closed): make[2]: *** No rule to make target '../../../.././ext/-test-/namespace/yay1/yay1.h', needed by 'yay1.o'. Stop.
nobu (Nobuyoshi Nakada)
08:07 AM Ruby Feature #21637 (Feedback): Tracing global variable assignment
mame (Yusuke Endoh)
07:51 AM Ruby Feature #21768: Remove deprecated functions
I agree with John, we're very close to release, even more so if you consider a lot of people will be away and checked out over the holidays almost a week before release.
However I do absolutely agree that the C API is full of deprecated...
byroot (Jean Boussier)
07:45 AM Ruby Revision 25f277ab (git): Fix typos in gc.c and gc.rb
hi
07:17 AM Ruby Bug #21694: Crash when looking up super method from BasicObject
@k0kubun it was backported in https://github.com/ruby/ruby/pull/15322 byroot (Jean Boussier)
02:43 AM Ruby Revision 59314911 (git): [ruby/prism] Nested heredoc with newline terminator
When you have a heredoc interpolated into another heredoc where
the inner heredoc is terminated by a newline, you need to avoid
adding the newline character a second time.
https://github.com/ruby/prism/commit/8eeb5f358b
kddnewton (Kevin Newton)
02:43 AM Ruby Revision 268cbb29 (git): [ruby/prism] Fully handle unreferencing a block exit
If a block exit has a further block exit in its subtree, we need to
keep recursing.
https://github.com/ruby/prism/commit/855d81a4a8
kddnewton (Kevin Newton)
02:43 AM Ruby Revision cbf39c3b (git): [ruby/prism] Fix up call target node when invalid
When there is an invalid syntax tree, we need to make sure to fill
in the required call operator location.
https://github.com/ruby/prism/commit/937313d7f0
kddnewton (Kevin Newton)
02:43 AM Ruby Revision 71354a98 (git): [ruby/prism] Fix hash pattern location when missing nodes
https://github.com/ruby/prism/commit/0ad30561e2 kddnewton (Kevin Newton)
02:01 AM Ruby Revision 12c16f9d (git): [ruby/rubygems] Fix Bundler removing executables after creating them
When running a fresh `bundle install` with gems that contains
executables, Bundler will generate binstubs but soon after will remove
them. This is a regression introduced in https://github.com/ruby/rubygems/commit/573ffad3ea4a.
This res...
Edouard CHIN
01:48 AM Ruby Misc #21689: DevMeeting-2025-12-11
@chucke Please follow the instruction next time:
> The format is strict. We'll use this script to automatically create an markdown-style agenda. We may ignore a comment that does not follow the format.
This time I modified your com...
mame (Yusuke Endoh)
12:31 AM Ruby Misc #21689: DevMeeting-2025-12-11
* [Misc #21769] Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git (k0kubun)
* I want Ruby 4.0.0 to use `v4.0.0` as its git tag name instead of `v4_0_0`. If we release rc1, can we call it `v4.0.0-rc1` too?
* Do we also want to...
k0kubun (Takashi Kokubun)
01:37 AM Ruby Revision 19172d64 (git): [ruby/rubygems] Fix indentation of the info message for default_cli_command
* It looked like:
In a future version of Bundler, running `bundle` without argument will no longer run `bundle install`.
Instead, the `cli_help` command will be displayed. Please use `bundle install` explicitly fo...
Eregon (Benoit Daloze)
01:37 AM Ruby Revision fab94ecd (git): [ruby/rubygems] Fix the config suggestion in the warning for `$ bundle`
* `install_or_cli_help` does not exist for older Bundler like Bundler 2
and so results in a confusing error on Bundler 2:
```
$ bundle
Could not find command "".
```
* See https://github.com/ruby/rubygems/pull/9136/files#r25923...
Eregon (Benoit Daloze)
01:09 AM Ruby Revision 056997cb (git): Remove needless `ruby2_keywords` field from `struct rb_args_info`
`ruby2_keywords` is set only to be `0` in parse.y.
However `args->ruby2_keywords` is initialized with `0` by `MEMZERO`
in `rb_node_args_new` function and `body->param.flags.ruby2_keywords`
is initialized with `0` by `ZALLOC` in `rb_iseq_...
yui-knk (Kaneko Yuichiro)
01:09 AM Ruby Revision 576acb95 (git): Remove `FORWARD_ARGS_WITH_RUBY2_KEYWORDS` check
Because `FORWARD_ARGS_WITH_RUBY2_KEYWORDS` definition was removed
by 4f77d8d3289ece0e3537d9273a5c745120bff59a.
yui-knk (Kaneko Yuichiro)
01:02 AM Ruby Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
I'm fine whether it's `vX.Y.Z` or `X.Y.Z` too. I'm personally used to `vX.Y.Z` used by `rake release` ([ref](https://github.com/ruby/ruby/blob/007a70a15c2911845f83872b83d39eeca7f0f607/lib/bundler/gem_helper.rb#L193)), so I just didn't ha... k0kubun (Takashi Kokubun)
12:26 AM Ruby Misc #21769: Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
Is there a reason to prefer `vX.Y.Z` over `X.Y.Z`? The `v` tag prefix does seem more popular, though both are widely used. The historical reason for using `_` in tags also applies to the reason the `v` prefix is used. If we are switching... jeremyevans0 (Jeremy Evans)
12:54 AM Ruby Bug #19112: Ractor garbage collection breaks/disables all active tracepoints
I think there are a couple problems interacting here.
* First is that the GC hooks were being registered specifically on one Ractor, which doesn't make sense as GC could be run inside an arbitrary Ractor (and is global)
* Second is t...
jhawthorn (John Hawthorn)
12:38 AM Ruby Revision de94f88c (git): Register internal tracepoints globally
Internal tracepoints only make sense to run globally, and they already
took completely different paths.
jhawthorn (John Hawthorn)
12:38 AM Ruby Revision 55668d74 (git): Only globally clear the flag being cleared
This solution is not quite correct because it doesn't solve multiple
Ractors subscribing to the same event, but this will avoid unrelated
events clobbering the flags for other events.
This however will work corretly for subscribing to g...
jhawthorn (John Hawthorn)
12:36 AM Ruby Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
ruby_3_4 commit:6dc27d14a0427da7b28a6884578009a9740f69fd, commit:bc40e758307c9be3e39497b5010fbaceb14bf8c7, commit:d282e76fb6c9f56ac44b3abfc8a3fc9f10edd6f0. k0kubun (Takashi Kokubun)

12/08/2025

11:54 PM Ruby Revision 007a70a1 (git): Test that Ractor.make_shareable mutates the original Proc
Eregon (Benoit Daloze)
11:54 PM Ruby Revision 4cb3a61b (git): Fix Ractor test to not depend on the previous test
Eregon (Benoit Daloze)
11:54 PM Ruby Revision 39a3b886 (git): Fix some descriptions in bootstraptest/test_ractor.rb
Eregon (Benoit Daloze)
11:54 PM Ruby Revision 09f8b8e3 (git): Test that Ractor.shareable_proc keeps the original Proc intact
Eregon (Benoit Daloze)
11:52 PM Ruby Revision ca8630b6 (git): [ruby/rubygems] Extract and generate only bundler bin files instead of full installation.
https://github.com/ruby/rubygems/commit/a70e573973 hsbt (Hiroshi SHIBATA)
11:44 PM Ruby Misc #21769 (Closed): Use "vX.Y.Z" instead of "vX_Y_Z" as tag names on ruby.git
## Proposal
* Use `vX.Y.Z` (e.g. `v4.0.0`) instead of `vX_Y_Z` (e.g. `v4_0_0`) as git tag names from Ruby 4.0.0
* Also use `-` for preview/rc releases, e.g. `v4.0.0-rc1` instead of `v4_0_0_rc1`
## Motivation
* Inconsistent ...
k0kubun (Takashi Kokubun)
11:30 PM Ruby Revision 6dc27d14 (git): Interpolation with only string literals must not be frozen
Basically a redo of https://github.com/ruby/ruby/commit/a1403fb7cbd1fe0df97c932be9814c86081783dc
but respecting the frozen string literal magic comment
Fixes [Bug #21187]
Earlopain (Earlopain _)
11:30 PM Ruby Revision bc40e758 (git): Interpolated strings must not be frozen
Strings concatenated with backslash may end up being frozen when they
shouldn't be. This commit fixes the issue. It required a change
upstream in Prism, but also a change to the Prism compiler in CRuby.
https://github.com/ruby/prism...
tenderlovemaking (Aaron Patterson)
11:30 PM Ruby Revision d282e76f (git): Bump Prism to v1.5.2
[Backport #21187] k0kubun (Takashi Kokubun)
11:04 PM Ruby Bug #21187: Strings concatenated with `\` getting frozen with literal hashes (PRISM only)
Filed https://github.com/ruby/ruby/pull/15453 k0kubun (Takashi Kokubun)
11:03 PM Ruby Bug #21648: [prism] ruby crashes for `for * in [10]; end`
ruby_3_4 commit:d0b778cd19fdda858121d8f2405da2768603c9b1 merged revision(s) commit:0b0da6c4b26f80ad6985722d3fc0f5cdee09125d. k0kubun (Takashi Kokubun)
10:18 PM Ruby Bug #21648: [prism] ruby crashes for `for * in [10]; end`
> can you mark for backport?
@Earlopain I gave you "Contributor" role on the Redmine project. You should be able to update the "Backport" field yourself going forward.
k0kubun (Takashi Kokubun)
11:03 PM Ruby Revision d0b778cd (git): merge revision(s) 0b0da6c4b26f80ad6985722d3fc0f5cdee09125d: [Backport #21648]
[PATCH] Correctly compile splats in for-loop index in prism
Fixes [Bug #21648]
This is a followup to https://github.com/ruby/ruby/pull/13597.
The added test passed but didn't emit the same instructions.
...
k0kubun (Takashi Kokubun)
11:01 PM Ruby Revision 55ea3ec0 (git): Fix strict aliasing warning in rb_int128_to_numeric
If we don't have uint128, then rb_int128_to_numeric emits a strict
aliasing warning:
numeric.c:3641:39: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
3641 | return rb_uin...
peterzhu2118 (Peter Zhu)
10:50 PM Ruby Feature #21768: Remove deprecated functions
To me it seems too close to the release to make this kind of breaking change. Maybe we can consider it for Ruby 4.1 instead? It would be nice if removals made it into a `-preview` release. jhawthorn (John Hawthorn)
12:38 PM Ruby Feature #21768 (Open): Remove deprecated functions
There many deprecated functions.
Why we carry them over the new major version?
Functions to be removed:
- `rb_clear_constant_cache` deprecated for 3 years
- postponed job APIs deprecated for 2 years
- old APIs to allocate a data o...
nobu (Nobuyoshi Nakada)
10:47 PM Ruby Bug #21764: encoding of warning for depreciated global variables is not set
Backporting this causes conflicts. Could you file a backport PR to `ruby_3_4` please? k0kubun (Takashi Kokubun)
10:46 PM Ruby Bug #21705: `UNIXServer.open(nil)` segfaults on Windows
ruby_3_4 commit:955decc1da6cd2441c24d22e8909a3e995973769 merged revision(s) commit:beb85e7eeee4163cd45b69645a60cdb942f72c05. k0kubun (Takashi Kokubun)
10:46 PM Ruby Revision 955decc1 (git): merge revision(s) beb85e7eeee4163cd45b69645a60cdb942f72c05: [Backport #21705]
[PATCH] [Bug #21705] Fix segfaults on Windows
It should check the type of the argument and coercion before
converting the encoding.
k0kubun (Takashi Kokubun)
10:45 PM Ruby Bug #21680: Integer#digits bug starting from Ruby 3.1
ruby_3_4 commit:fe8221af30768cbd15409d4cc52b2bb18e91667e merged revision(s) commit:f4f728b319086eea3db6e9909fb9c849c276f813. k0kubun (Takashi Kokubun)
10:44 PM Ruby Revision fe8221af (git): merge revision(s) f4f728b319086eea3db6e9909fb9c849c276f813: [Backport #21680]
[PATCH] [Bug #21680] Fix (base**power_of_two).digits(base) bug (#15144)
Fix wrong condition in base multiplying loop.
k0kubun (Takashi Kokubun)
10:43 PM Ruby Bug #21673: Segmentation Fault in IRB when refining `Kernel#puts` using `Module#refine` (Regression since Ruby 3.4)
ruby_3_4 commit:625eeae0db2749e62152d8a750706eff24a271d0 merged revision(s) commit:a4dff09be79b52288a47658964d25e5aa84fc960. k0kubun (Takashi Kokubun)
10:38 PM Ruby Revision 625eeae0 (git): merge revision(s) a4dff09be79b52288a47658964d25e5aa84fc960: [Backport #21265]
[PATCH] [Bug #21673] Fix resolving refined module-defined method
A method defined in a module has no `defined_class`, use the ICLASS
for it as the `defined_class`.
k0kubun (Takashi Kokubun)
10:36 PM Ruby Bug #21655: segfault when building 3.3.10 with GCC 15.2.1, regression from 3.3.9
ruby_3_4 commit:da66b64a18414d5ece52512eb016c1af2ede1730 merged revision(s) commit:9d44cb0b2b5520b2b299851003ca2a97bf1e2079, commit:367ddd445cdf5ccc55a0481c944746ef595f72f7, commit:48dce7874fcb571765635b32fa6a3e3a12e228f8. k0kubun (Takashi Kokubun)
10:36 PM Ruby Revision da66b64a (git): merge revision(s) 9d44cb0b2b5520b2b299851003ca2a97bf1e2079, 367ddd445cdf5ccc55a0481c944746ef595f72f7, 48dce7874fcb571765635b32fa6a3e3a12e228f8: [Backport #21655]
[PATCH] Remove rbimpl_rstring_getmem() usage as workaround for GCC 15.2.1 optimization bug. [Bug #21655]
[PATCH] include/ruby/internal/core/rstring.h: Remove rbimpl_rstring_getmem() definition.
[PATCH] simplify RSRING_G...
k0kubun (Takashi Kokubun)
10:30 PM Ruby Bug #21666: Math.lgamma(-1).should == [infinity_value, 1] fails with Fedora glibc-2.42.9000-8.fc44
ruby_3_4 commit:1adfd3ec401e7a09e1e3e61708592b202a3f8277 merged revision(s) commit:c5bd4acd30320a8e180ce9fcb24acdab4e10c73a. k0kubun (Takashi Kokubun)
10:29 PM Ruby Revision 1adfd3ec (git): merge revision(s) c5bd4acd30320a8e180ce9fcb24acdab4e10c73a: [Backport #21666]
[PATCH] [Bug #21666] Get rid of use of unspecified values k0kubun (Takashi Kokubun)
10:28 PM Ruby Bug #21694: Crash when looking up super method from BasicObject
Backporting this causes multiple conflicts. Could you file a backport PR to `ruby_3_4` please? k0kubun (Takashi Kokubun)
10:24 PM Ruby Bug #21703: RUBY_CRASH_REPORT does not work when shelling out in some cases
ruby_3_4 commit:a2ba1478e8c6a810c0fa08695a48f95ef5c29c45 merged revision(s) commit:190b017fc6c21ff7b61c2b5ece0294785e4a4ca2. k0kubun (Takashi Kokubun)
10:24 PM Ruby Revision a2ba1478 (git): merge revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2: [Backport #21703]
[PATCH] Don't use non blocking pipes for RUBY_CRASH_REPORT
[Bug #21703]
RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux.
For example, given the following shell script dump.sh:
...
k0kubun (Takashi Kokubun)
10:23 PM Ruby Bug #21679: Segfault when ruby calls pthread_detach in rb_getnameinfo
ruby_3_4 commit:7482835d0b5c9f55662fb7c6586f456354e2b66e. k0kubun (Takashi Kokubun)
10:21 PM Ruby Bug #21265: Crash when proc from Symbol#to_proc called outside refinement scope
ruby_3_4 commit:ef2d4bf51bf28cfc427388a19e4a5fe9bbbe7a7a merged revision(s) commit:6e6f5d3c32a709c891ac6aa7833376907a6c81b5. k0kubun (Takashi Kokubun)
10:21 PM Ruby Revision ef2d4bf5 (git): merge revision(s) 6e6f5d3c32a709c891ac6aa7833376907a6c81b5: [Backport #21265]
[PATCH] Add test for [Bug #21265]
The crash was fixed by a4dff09be79b52288a47658964d25e5aa84fc960 ("Fix
resolving refined module-defined method"). I had a patch for this around
for a few months but never merged i...
k0kubun (Takashi Kokubun)
09:58 PM Ruby Revision 66bda731 (git): Remove unused local variables in test/ruby/test_io_buffer.rb (#15451)
etienne (Étienne Barrié)
07:48 PM Ruby Revision 90a9b642 (git): Use rb_current_ec_noinline in ractor_{lock,unlock}
We're seeing an occasional crash on CI because this ends up inlined all
the way into ractor_wait_receive. On llvm (possibly other compilers) the
thread local address of ec ends up cached (not the value of ec, the
address ec is read from)...
jhawthorn (John Hawthorn)
05:16 PM Ruby Revision e61b79b3 (git): Fix a typo in the deprecation warning message
nobu (Nobuyoshi Nakada)
05:06 PM Ruby Revision bd752290 (git): [ruby/timeout] Revert "Exclude constantly-failing test on x86_64-darwin"
This reverts commit https://github.com/ruby/timeout/commit/45816b1b2602.
https://github.com/ruby/timeout/commit/b54f91e9dd
ko1 (Koichi Sasada)
04:59 PM Ruby Revision fd45496f (git): Update ZJIT docs (#15449)
tekknolagi (Maxwell Bernstein)
04:36 PM Ruby Revision 956f8d49 (git): ZJIT: Avoid redundant SP save in codegen (#15448)
st0012 (Stan Lo)
04:11 PM Ruby Bug #21765: stop using the C runtime _read() on Windows
The current io.c code for windows is intended to avoid performance limitations of the encoding converter.
Therefore, performance is important. Here are some benchmarks before and after the patch.
(some empty lines removed manually)
``...
YO4 (Yoshinao Muramatsu)
03:44 PM Ruby Feature #21766: Pathname + FileUtils making sweet music together
I am thinking in this direction: it is not unseen for standard libraries, when required, to add methods to core objects:
```ruby
{a: 1}.to_json # NoMethodError
require 'json'
{a: 1}.to_json #=> {"a": 1}
Time.parse('12:20') # NoM...
zverok (Victor Shepelev)
01:20 AM Ruby Feature #21766: Pathname + FileUtils making sweet music together
I'm open to any and all implementation suggestions, happy to do whatever is required. I just want the feature! gurgeous (Adam Doppelt)
01:54 PM Ruby Feature #21720: Add a native Binary Heap / Priority Queue to Ruby's Standard Library (heapify, heappush, heappop)
herwin (Herwin W) wrote in #note-1:
> ```ruby
> ...
------------------------------------------------------------
### Update (response to feedback)
Thank you for pointing out the fragility of the module-style API that operates dir...
rahulk501 (Rahul Kumar)
11:28 AM Ruby Revision 66b2cc3d (git): [ruby/resolv] Check the second RegGetValue type
https://github.com/ruby/resolv/commit/3678de9e30 nobu (Nobuyoshi Nakada)
11:28 AM Ruby Revision 27d60e29 (git): [ruby/resolv] Fix warnings on cygwin
https://github.com/ruby/resolv/commit/075e76f997 nobu (Nobuyoshi Nakada)
10:28 AM Ruby Feature #21767: Consider procs which `self` is Ractor-shareable as Ractor shareable
Naturally it would need to follow the rules of `Ractor.shareable_proc` (#21557) regarding accessing captured variables:
* Any captured variable must not be reassigned
* The value of every captured variable must be shareable (not sure h...
Eregon (Benoit Daloze)
03:04 AM Ruby Feature #21767 (Open): Consider procs which `self` is Ractor-shareable as Ractor shareable
I would like to allow procs which `self` is Ractor-shareable to be automatically eligible as shareable, without an explicit `Ractor.make_shareable` call.
```ruby
class C
PROC = proc { p ARRAY }.freeze
end
Ractor.new { C::PROC....
osyoyu (Daisuke Aritomo)
10:02 AM Ruby Misc #21689: DevMeeting-2025-12-11
* [Feature #21766] Pathname + FileUtils making sweet music together (eregon)
* These methods are useful and in fact are expected by some to already exist on Pathname.
* How should we add them given they depend on FileUtils?
Eregon (Benoit Daloze)
09:41 AM Ruby Revision 159430e8 (git): ignore Thread creation error
on resource limited environment.
```
stderr output is not empty
bootstraptest.test_ractor.rb_2446_1412.rb:23:in 'Ractor.new': can't create Thread: Cannot allocate memory (ThreadError)
```
ko1 (Koichi Sasada)
09:21 AM Ruby Revision ced33367 (git): fix SEGV on clang-16/18
Maybe because of TLS/coroutine problem, CI fails on clang-16/18
```
1) Failure:
TestTimeout#test_ractor [/tmp/ruby/src/trunk_clang_18/test/test_timeout.rb:288]:
pid 307341 killed by SIGSEGV (signal 11) (core dumped)
| /tmp/ruby/src/tr...
ko1 (Koichi Sasada)
07:03 AM Ruby Revision 1de15815 (git): [ruby/rubygems] Fix native extension loading in newgem template for RHEL-based systems
Add fallback to `require` when `require_relative` fails to load native
extensions. This addresses an issue on RHEL-based Linux distributions
where Ruby scripts and built native extension shared libraries are
installed in separate directo...
yoshoku
03:11 AM Ruby Revision a82aa08f (git): Make `ruby_reset_leap_second_info` internal
It is exported only for the extension library to test, but the method
is no longer used since 29e31e72fb5a14194a78ec974c4ba56c33ad8d45.
nobu (Nobuyoshi Nakada)
03:11 AM Ruby Revision 6a1f5b68 (git): Make `ruby_reset_timezone` internal
It is used only in hash.c, when `ENV['TZ']` is set. nobu (Nobuyoshi Nakada)
03:07 AM Ruby Revision fbc5bb91 (git): Update default gems list at 4655b174d5fa71b69781c56701be63 [ci skip]
git[bot]
03:06 AM Ruby Revision 4655b174 (git): [ruby/timeout] v0.5.0
https://github.com/ruby/timeout/commit/837d5aac73 hsbt (Hiroshi SHIBATA)
02:47 AM Ruby Revision be882278 (git): Move RBIMPL_ATTR_DEPRECATED_* macros to the appropriate header file
Move these macros from include/ruby/backward.h to
include/ruby/internal/attr/deprecated.h, alongside the other similar
macros.
include/ruby/internal/intern/vm.h cannot currently use them because
include/ruby/backward.h is included too l...
rhenium (Kazuki Yamaguchi)
02:47 AM Ruby Revision f2eece71 (git): Remove the internal-only attribute from ruby_reset_timezone()
The #ifdef is currently not taken because include/ruby/backward.h is
not included at this point. The attribute is unnecessary in an internal
header, so remove it.
rhenium (Kazuki Yamaguchi)
 

Also available in: Atom