Project

General

Profile

Activity

From 01/07/2026 to 01/13/2026

Today

01:34 AM Ruby Revision 910fcfad (git): mk_builtin_loader: Count local variable definition lines
nobu (Nobuyoshi Nakada)
01:19 AM Ruby Bug #21824 (Closed): performance regression in regexp matching after update to 4.0
Applied in changeset commit:git|5de4cc56086493689701e86aa0ccf6a4a4a87d75.
----------
Fix regexp performance regression for patterns starting with s/k
Commit 981ee02c7c ("Fix performance problem with /k/i and /s/i") was
merged for Ruby ...
khasinski (Chris Hasiński)
01:19 AM Ruby Revision 5de4cc56 (git): Fix regexp performance regression for patterns starting with s/k
Commit 981ee02c7c ("Fix performance problem with /k/i and /s/i") was
merged for Ruby 4.0 to enable partial Boyer-Moore optimization for
patterns containing 's' or 'k' by using the prefix before those
characters.
However, when 's' or 'k'...
khasinski (Chris Hasiński)
01:15 AM Ruby Bug #21828: An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
ruby_4_0 commit:8d764da35768073c2e21ffeffa27ff2f3ab589b0. k0kubun (Takashi Kokubun)
01:15 AM Ruby Bug #21812: Kernel#sleep without arguments returns immediately when subprocess exits in another thread (regression in Ruby 4.0)
ruby_4_0 commit:ac596948d4008c6e117449786c62de4e45e434bf merged revision(s) commit:7e81bf5c0c8f43602e6d901f4253dca2f3d71745. k0kubun (Takashi Kokubun)
01:14 AM Ruby Revision ac596948 (git): merge revision(s) 7e81bf5c0c8f43602e6d901f4253dca2f3d71745: [Backport #21812]
[PATCH] Fix sleep spurious wakeup from sigchld (#15802)
When sleeping with `sleep`, currently the main thread can get woken up from sigchld
from any thread (subprocess exited). The timer thread wakes up the main thread w...
k0kubun (Takashi Kokubun)
01:13 AM Ruby Bug #21819: A Data object should be frozen even if it has no members
ruby_4_0 commit:6273c59a6e1f8587e549d5a5f44fd9363e6eb018 merged revision(s) commit:d7a6ff8224519005d2deeb3f4e98689a8a0835ad. k0kubun (Takashi Kokubun)
01:13 AM Ruby Revision 6273c59a (git): merge revision(s) d7a6ff8224519005d2deeb3f4e98689a8a0835ad: [Backport #21819]
[PATCH] [Bug #21819] Data objects without members should also be frozen k0kubun (Takashi Kokubun)
01:11 AM Ruby Bug #21815: Backport GH-15737
ruby_4_0 commit:3601b6c2c1226482a001b98863fe6f79cd84ad35 merged revision(s) commit:9824724b2ffe583302e9318c6eff7a440478125f. k0kubun (Takashi Kokubun)
01:11 AM Ruby Revision 3601b6c2 (git): merge revision(s) 9824724b2ffe583302e9318c6eff7a440478125f: [Backport #21815]
[PATCH] Skip test_write_binary(GemSingletonTest) at rbs tests
```
Errno::EACCES: Permission denied @ rb_file_s_rename
...
D:/a/ruby/ruby/src/lib/rubygems/util/atomic_file_writer.rb:42:in 'File.rename'
...
k0kubun (Takashi Kokubun)
01:05 AM Ruby Bug #21814: 0.pow(2,-9999999999999999990) should be zero
ruby_4_0 commit:893dcb5f25cbb0574ae73aa8fc926fd26750a27f merged revision(s) commit:19e539c9ee1701b34189fa0c1feb942adeb0e326. k0kubun (Takashi Kokubun)
01:05 AM Ruby Revision 893dcb5f (git): merge revision(s) 19e539c9ee1701b34189fa0c1feb942adeb0e326: [Backport #21814]
[PATCH] [Bug #21814] Fix negative bignum modulo
If modulo is zero, do not apply bias even if the divisor is zero.
`BIGNUM_POSITIVE_P` is true even on bignum zero.
k0kubun (Takashi Kokubun)
01:03 AM Ruby Bug #21811: Backport GH-15763
ruby_4_0 commit:b170f02e0f2a7831b51a9279ee2d35a5e4ecace9 merged revision(s) commit:4e0bb58a0a374b40b7691e7b7aa88e759a0fc9f2. k0kubun (Takashi Kokubun)
01:02 AM Ruby Revision b170f02e (git): merge revision(s) 4e0bb58a0a374b40b7691e7b7aa88e759a0fc9f2: [Backport #21811]
[PATCH] fix underflow k0kubun (Takashi Kokubun)
01:01 AM Ruby Revision cc4ce48f (git): Remove ruby-bench excludes
These benchmarks should be working fine now. st0012 (Stan Lo)
12:59 AM Ruby Revision e52aee68 (git): redmine-backporter.rb: Check remote-tracking branch
on `has_commit` check for the `backport` command.
I don't maintain local "master" branch on my ruby repository for stable
branch maintenance. I want just running `git fetch origin` to make it
work. It should work for those who pull orig...
k0kubun (Takashi Kokubun)
12:55 AM Ruby Revision 09cd1311 (git): redmine-backporter.rb: Check remote-tracking branch
on `has_commit` check for the `backport` command.
I don't maintain local "master" branch on my ruby repository for stable
branch maintenance. I want just running `git fetch origin` to make it
work. It should work for those who pull orig...
k0kubun (Takashi Kokubun)

01/12/2026

11:28 PM Ruby Revision 7c91db9e (git): ZJIT: Check arg limit before pushing SendWithoutBLockDirect insn (#15854)
This reduces some processing and makes the HIR more accurate. rwstauner (Randy Stauner)
10:23 PM Ruby Revision 2daed3c0 (git): [ruby/mmtk] Clear slot when object is freed
https://github.com/ruby/mmtk/commit/87290e45b2 peterzhu2118 (Peter Zhu)
10:11 PM Ruby Revision 32865563 (git): ZJIT: Optimize Integer#[]
This is used a lot in optcarrot. Max Bernstein
10:08 PM Ruby Revision ee1aa78b (git): [ruby/prism] Correctly expose ripper state
It is for example used by `irb`, `rdoc`, `syntax_suggest`
https://github.com/ruby/prism/commit/255aeb2485
Earlopain (Earlopain _)
09:50 PM Ruby Revision d81a11d4 (git): ZJIT: Snapshot FrameState with reordered args before direct send
You can see the reordered args in the new Snapshot right before the
DirectSend insn:
v14:Any = Snapshot FrameState { pc: 0x00, stack: [v6, v11, v13], locals: [] }
PatchPoint MethodRedefined(Object@0x00, a@0x00, cme:0x00)
...
rwstauner (Randy Stauner)
09:50 PM Ruby Revision 351616af (git): ZJIT: Add snapshot tests for direct send
rwstauner (Randy Stauner)
09:43 PM Ruby Revision 41d9eb78 (git): ZJIT: Inline Array#empty?
Max Bernstein
09:43 PM Ruby Revision 5cec11f4 (git): ZJIT: Inline Array#length
tekknolagi (Maxwell Bernstein)
09:39 PM Ruby Bug #19378: Windows: Use less syscalls for faster require of big gems
Hello, thank you for your attention to this issue. We have a large Ruby project using windows and after upgrading from v2.1.4 to v3.4.7 we are noticing the slowness with `require`.
This is not an issue under v2.1.4. Looking at the sysca...
rlam (Robert Lam)
08:20 PM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
bdewater (Bart de Water) wrote in #note-6:
> FWIW
> ...
I can give rapidhash a try. It's based on wyHash which Go uses (at least sometimes): https://github.com/golang/go/blob/cbe153806e67a16e362a1cdbbf1741d4ce82e98a/src/runtime/hash64.go
samyron (Scott Myron)
08:10 PM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
FWIW
- https://github.com/Nicoshev/rapidhash claims to be even faster and passes the SMHasher tests
- Since Rust 1.36 they switched from SipHash13 to https://github.com/rust-lang/hashbrown for hashmaps
bdewater (Bart de Water)
03:09 PM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
byroot (Jean Boussier) wrote in #note-2:
> Well, the main concern is HashDOS, but looking at your branch, it seems you seed the hash function, so it's fine on that front.
I did note the HashDOS conversation on https://bugs.ruby-lang....
samyron (Scott Myron)
03:00 PM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
The same benchmarks on an M4 Pro:
```
benchmark-driver ~/Downloads/hash_strings.yml -e "ruby-master::~/.rubies/ruby-master/bin/ruby" -e "ruby-xxhash::~/.rubies/ruby-xxhash/bin/ruby"
<snip>
Comparison:
tiny_hash_crea...
samyron (Scott Myron)
09:15 AM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
> Has there been any consideration switching to some other hash implementation?
There has been a few in the past, e.g. [Feature #16851]
> ...
Well, the main concern is HashDOS, but looking at your branch, it seems you seed the hash...
byroot (Jean Boussier)
03:34 AM Ruby Misc #21833 (Open): Switch default hash from SipHash13 to XXH3?
Has there been any consideration switching to some other hash implementation?
I've searched through the issues and haven't found anything related to switching the default hash from SipHash13 to anything else.
I created a [branch](...
samyron (Scott Myron)
04:22 PM Ruby Bug #21824: performance regression in regexp matching after update to 4.0
Hey - see the two links to the git repo on tangled.org in the bug description, it includes a test script. mackuba (Kuba Suder)
10:08 AM Ruby Bug #21824: performance regression in regexp matching after update to 4.0
Could you share how you measured the performance? nobu (Nobuyoshi Nakada)
04:13 PM Ruby Revision a1ba9f57 (git): [ruby/prism] Use one file for versioned `parser` classes
One per version seems excessive.
Do note that `rubocop-ast` used to require individual parser files. I wouldn't consider that to be part of the API since everything is autoloaded.
From a GitHub code search, I didn't find anyone else doi...
Earlopain (Earlopain _)
11:24 AM Ruby Revision f3429760 (git): Remove a direct call of `rb_raise` in Onigmo
nobu (Nobuyoshi Nakada)
11:24 AM Ruby Revision aaf47cca (git): Now onigenc_single_byte_code_to_mbclen checks out-of-bound
nobu (Nobuyoshi Nakada)
11:01 AM Ruby Revision 76b1d4a4 (git): [k-takata/Onigmo] Disable error message for capture history when not needed
Add `#ifdef USE_CAPTURE_HISTORY`.
https://github.com/k-takata/Onigmo/commit/8217be2c3a
k_takata (Ken Takata)
11:01 AM Ruby Revision 81c13349 (git): [k-takata/Onigmo] Fix out-of-bounds read in parse_char_class()
(Close
https://github.com/k-takata/Onigmo/pull/139)
/[\x{111111}]/ causes out-of-bounds read when encoding is a single byte
encoding. \x{111111} is an invalid codepoint for a single byte encoding.
Check if it is a valid codepoint.
http...
k_takata (Ken Takata)
11:01 AM Ruby Revision 16086128 (git): [k-takata/Onigmo] Suppress warning on 64-bit builds
https://github.com/k-takata/Onigmo/commit/ced209d5e9 k_takata (Ken Takata)
11:01 AM Ruby Revision ac379278 (git): [k-takata/Onigmo] Fix stack overflow with X+++++++++++++++++++…
Imported the fix from:
https://github.com/kkos/oniguruma/commit/4097828d7cc87589864fecf452f2cd46c5f37180
https://github.com/k-takata/Onigmo/commit/786b4849c1
k_takata (Ken Takata)
11:01 AM Ruby Revision f0b31a58 (git): [k-takata/Onigmo] Fix SEGV in onig_error_code_to_str() (Fix
https://github.com/k-takata/Onigmo/pull/132)
When onig_new(ONIG_SYNTAX_PERL) fails with ONIGERR_INVALID_GROUP_NAME,
onig_error_code_to_str() crashes.
onig_scan_env_set_error_string() should have been used when returning
ONIGERR_INVALID_...
k_takata (Ken Takata)
11:01 AM Ruby Revision 496e74d0 (git): [k-takata/Onigmo] Fix that onig_new() may crash
When onig_reg_init() returns an error, onig_free_body() which is called
via onig_new() may crash because some members are not properly
initialized. Fix it.
https://github.com/k-takata/Onigmo/commit/d2a090a57e
k_takata (Ken Takata)
11:01 AM Ruby Revision ad150e90 (git): [k-takata/Onigmo] Update version number (6.2.0)
* Update the version number to 6.2.0
* Update LTVERSION to 6:5:0.
https://github.com/k-takata/Onigmo/commit/9e0f7ceee0
k_takata (Ken Takata)
11:01 AM Ruby Revision a097878e (git): [k-takata/Onigmo] Comment out unused errors
https://github.com/k-takata/Onigmo/commit/5555ee4c81 k_takata (Ken Takata)
11:01 AM Ruby Revision 916fbf10 (git): [k-takata/Onigmo] Update copyright information
* Update our copyright information.
* Import the latest information from oniguruma.
Related: #95
https://github.com/k-takata/Onigmo/commit/0d8662b500
k_takata (Ken Takata)
11:01 AM Ruby Revision 85a7171b (git): [k-takata/Onigmo] Add USE_CASE_MAP_API config
The case_map API is mainly (only?) used in Ruby.
Make it possible to disable the API.
https://github.com/k-takata/Onigmo/commit/80e289d6bb
k_takata (Ken Takata)
11:01 AM Ruby Revision f9131412 (git): [k-takata/Onigmo] Revise set_bm_skip()
https://github.com/k-takata/Onigmo/commit/6875da50f7 k_takata (Ken Takata)
11:01 AM Ruby Revision bbf9bf3f (git): [k-takata/Onigmo] Remove code for backward BM search
The code has not been used for long.
(Oniguruma also removed this code.)
https://github.com/k-takata/Onigmo/commit/8796781fdd
k_takata (Ken Takata)
11:01 AM Ruby Revision fb7f344b (git): [k-takata/Onigmo] Remove code for reg->int_map
https://github.com/k-takata/Onigmo/commit/6c58de82d2 k_takata (Ken Takata)
11:01 AM Ruby Revision 6484a71a (git): Add Onigmo to sync_default_gems.rb
nobu (Nobuyoshi Nakada)
08:53 AM Ruby Misc #21834: Extract `yaml/store` into it's own gem that depends on the `pstore` gem
Note, while `pstore` is still available in Ruby 4.0.0 as a bundled gem, Bundler will refuse to load it unless it is explicitly listed in the `Gemfile` or gemspec. This means that if one's project uses any other gem which requires `yaml/s... postmodern (Hal Brodigan)
08:44 AM Ruby Misc #21834 (Open): Extract `yaml/store` into it's own gem that depends on the `pstore` gem
Ruby 4.0.0 removed the `pstore` gem from the set of default stdlib libraries. However, `yaml/store` is still available from the `yaml` library, but relies on the `pstore` gem which is now no longer part of stdlib. It is odd that a file w... postmodern (Hal Brodigan)
07:44 AM Ruby Revision bf36ad9c (git): ZJIT: remove unused rb_RSTRUCT_LEN()
Eregon (Benoit Daloze)
07:44 AM Ruby Revision 916c0a81 (git): ZJIT: remove unused rb_RSTRUCT_SET()
Eregon (Benoit Daloze)
02:28 AM Ruby Revision d57c3296 (git): Re-fix `VCS::GIT#branch_beginning`
Count the last release date from the whole working directory, not
only the version headers.
nobu (Nobuyoshi Nakada)
12:09 AM Ruby Bug #21832: segfault with argument forwarding, when combined with splat & positional arg
Very likely related to the `VM_CALL_FORWARDING` optimization introduced in commit:cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce. jeremyevans0 (Jeremy Evans)

01/11/2026

10:01 PM Ruby Bug #21832: segfault with argument forwarding, when combined with splat & positional arg
please ignore where the longer test case comment says "foo" instead of "--verbose" ;-) inopinatus (Joshua GOODALL)
09:51 PM Ruby Bug #21832 (Open): segfault with argument forwarding, when combined with splat & positional arg
A crash occurs when combining (...) arg forwarding, a positional argument, and an array splat. Found with 4.0.0 release, verified on 3.4.8 and 4.1.0dev, does not occur on 3.3.10. One-line crash test:
``` ruby
./ruby -e 'def target(*a...
inopinatus (Joshua GOODALL)
03:46 PM Ruby Revision 61c372a1 (git): [DOC] Improve docs for ObjectSpace.count_symbols
peterzhu2118 (Peter Zhu)
03:46 PM Ruby Revision 1267a3ab (git): [DOC] Improve docs for ObjectSpace.count_imemo_objects
peterzhu2118 (Peter Zhu)
03:46 PM Ruby Revision cf5c5abe (git): [DOC] Improve docs for ObjectSpace.count_tdata_objects
peterzhu2118 (Peter Zhu)
02:25 PM Ruby Bug #21831 (Closed): Prism doesn't count underscores in the fraction part of rational float
Applied in changeset commit:git|8baaece6d9a64e8cc51d8d0c9839546e3d039eee.
----------
[ruby/prism] [Bug #21831] Fix denominator of rational float literal
Denominators can contain underscores in fraction part as well as other
numeric lit...
nobu (Nobuyoshi Nakada)
01:30 PM Ruby Bug #21831 (Closed): Prism doesn't count underscores in the fraction part of rational float
Good.
```console
$ ruby3.3 -e 'p 0.1_2r.to_f'
0.12
$ ruby3.4 --parser=parse.y -e 'p 0.1_2r.to_f'
0.12
```
Wrong.
```console
$ ruby3.4 -e 'p 0.1_2r.to_f'
0.012
```
nobu (Nobuyoshi Nakada)
01:53 PM Ruby Revision 8baaece6 (git): [ruby/prism] [Bug #21831] Fix denominator of rational float literal
Denominators can contain underscores in fraction part as well as other
numeric literals.
[Bug #21831]: https://bugs.ruby-lang.org/issues/21831
https://github.com/ruby/prism/commit/e247cb58c7
nobu (Nobuyoshi Nakada)
12:42 PM Ruby Revision a071078e (git): pack.c: remove wasted allocation in BER integer packing
The 'w' format (BER compressed integer) was allocating an empty
string with rb_str_new(0, 0) then immediately overwriting it with
the correctly-sized allocation. Remove the wasted first allocation.
~50% improvement on BER pack benchmarks.
khasinski (Chris Hasiński)
12:06 PM Ruby Revision 3363861a (git): Remove RUBY_API_VERSION check in cxxanyargs.hpp
The version check used undefined macros, causing -Wundef warnings.
The conditional is no longer needed as Ruby is past version 3.1.
Heath Dutton🕴️
12:03 PM Ruby Revision 73be9992 (git): Disambiguate private and public RSTRUCT_ helpers
RSTRUCT_LEN / RSTRUCT_GET / RSTRUCT_SET all existing in two
versions, one public that does type and frozens checks
and one private that doesn't.
The problem is that this is error prone because the public version
is always accessible, bu...
byroot (Jean Boussier)
08:09 AM Ruby Revision 6a630d99 (git): Push the commits to the origin at `make matz` [ci skip]
nobu (Nobuyoshi Nakada)
06:12 AM Ruby Revision 463a806f (git): Fix `VCS::GIT#branch_beginning` to search since the last relase
The ChangeLog in ruby-4.0.0 did not contain entries for 3.5.0. nobu (Nobuyoshi Nakada)
05:51 AM Ruby Revision acd0c68a (git): Relax the flaky test threshold on RHEL 10.0 x86_64
nobu (Nobuyoshi Nakada)

01/10/2026

02:31 PM Ruby Revision 0d4538b5 (git): [DOC] Improve docs for Module#>=
peterzhu2118 (Peter Zhu)
02:31 PM Ruby Revision f0f4a683 (git): [DOC] Improve docs for Module#<=
peterzhu2118 (Peter Zhu)
02:31 PM Ruby Revision 0b83346f (git): [DOC] Improve docs for Module#<
peterzhu2118 (Peter Zhu)
02:31 PM Ruby Revision 98c414a6 (git): [DOC] Improve docs for Module#>
peterzhu2118 (Peter Zhu)
12:35 PM Ruby Misc #21777: DevMeeting-2026-01-14
* [Misc #21804] Getting setup-ruby Earlier (eregon)
* To get it out earlier, we need release managers (@hsbt @nagachika @k0kubun) to also run the relevant steps for setup-ruby: https://github.com/ruby/setup-ruby/pull/848#issuecomment-3...
Eregon (Benoit Daloze)
11:32 AM Ruby Misc #21804: Getting setup-ruby Earlier
You can add me as a ruby-setup releaser, if that helps. I did some PRs already and know roughly how it works for Windows releases.
But the RubyInstaller releases will not come out earlier. It's a project I care about, but it's still a...
larskanis (Lars Kanis)
08:21 AM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
I have a much better solution here: https://github.com/ruby/ruby/pull/15840
It's simpler than my original PR. It dispenses with the additional thread and the magic number (sleep time). And in addition to bringing multi-core perf into li...
jpl-coconut (Jacob Lacouture)
07:20 AM Ruby Revision 0b69f7fa (git): [ruby/openssl] Fix test_cipher.rb in FIPS.
https://github.com/ruby/openssl/commit/11bd2efb2a Jun Aruga

01/09/2026

11:05 PM Ruby Revision c3f6fcc4 (git): Skip ObjectSpaceTest#test_count_nodes for RBS
peterzhu2118 (Peter Zhu)
11:05 PM Ruby Revision e8c61f51 (git): Remove ObjectSpace.count_nodes
ObjectSpace.count_nodes has been a no-op and returning an empty hash since
Ruby 2.5 because parser nodes are not GC managed.
peterzhu2118 (Peter Zhu)
11:05 PM Ruby Revision ef488bff (git): [DOC] Doc for Enumerator.new
burdettelamar (Burdette Lamar)
10:36 PM Ruby Revision 77cad87d (git): [DOC] Doc for Enumerator class
burdettelamar (Burdette Lamar)
10:36 PM Ruby Revision 3d242a82 (git): [DOC] Harmonize #> methods
burdettelamar (Burdette Lamar)
09:39 PM Ruby Feature #16848: Allow callables in $LOAD_PATH
BTW, the contract could be to return a file handle (which could be a StringIO) or `nil`. fxn (Xavier Noria)
03:13 PM Ruby Feature #16848: Allow callables in $LOAD_PATH
Hey, just saw this ticket.
I wanted to share as a curiosity that Perl has this: You can store coderefs in `@INC`. That gives you plenty of flexibility.
For example, the Perl Archive Toolkit provides a way to ship projects in one si...
fxn (Xavier Noria)
07:25 PM Ruby Revision e08f316f (git): YJIT: Add frozen guard for struct aset (#15835)
We used to just skip this check (oops), but we should not allow
modifying frozen objects.
tekknolagi (Maxwell Bernstein)
04:31 PM Ruby Revision 51ab7b04 (git): YJIT: gen_struct_aset check for frozen status
byroot (Jean Boussier)
04:31 PM Ruby Revision 7379b9ed (git): Optimize rb_mark_generic_ivar for T_DATA and T_STRUCT
T_DATA and T_STRUCT could have ivars but might not use the generic_fields_tbl.
This commit skips lookup in the generic_fields_tbl for those cases.
peterzhu2118 (Peter Zhu)
03:13 PM Ruby Misc #21804: Getting setup-ruby Earlier
> > > #844 got merged the same day, what would you expect?
> ...
Of course not. I can see that you're feeling attacked here, and that was not my intention, and I apologize. I'm thankful for all the work that you do.
But the fact of...
mdalessio (Mike Dalessio)
03:00 PM Ruby Feature #21826: Deprecating RubyVM::AbstractSyntaxTree
Note that any usage of `RubyVM::AbstractSyntaxTree` in a gem is, by the documentation of that class and `RubyVM`, invalid (not debugging, prototyping, and research).
That doesn't mean we should break them carelessly, but I think that doe...
Eregon (Benoit Daloze)
02:55 PM Ruby Feature #6012: Proc#source_location also return the column
mame (Yusuke Endoh) wrote in #note-50:
> Also, Ruby's grammar will certainly continue to change, and I have no doubt that the instances of overlapping Nodes, beyond just `StatementsNode` and `CallNode`, can increase accordingly.
Mayb...
Eregon (Benoit Daloze)
02:46 PM Ruby Feature #6012: Proc#source_location also return the column
mame (Yusuke Endoh) wrote in #note-50:
> "I don't know exactly what users are using the `method_source` gem for, but since it's used so much, we should provide equivalent functionality as a built-in feature"
> ...
Of course there is nuan...
Eregon (Benoit Daloze)
02:07 PM Ruby Bug #21830: Ruby::Box and Kernel#require
Just in case it matters, let me also add that it is assumed that `Module#autoload` invokes `Kernel#require` as introduced in [cd465d5](https://github.com/ruby/ruby/commit/cd465d552c3a00341f4cb7f1d7a793d0ebcb6cde).
Zeitwerk relies on thi...
fxn (Xavier Noria)
09:48 AM Ruby Bug #21830 (Open): Ruby::Box and Kernel#require
If you enable `Ruby::Box`, decorations to `Kernel#require` do not work.
For example, given _foo.rb_:
```ruby
module M
def require(_path)
puts 'decorated'
super
end
end
Kernel.prepend(M)
p require 'tsort'
``...
fxn (Xavier Noria)
11:02 AM Ruby Revision c794a979 (git): Rename `alloca_overflow` to `stack_overflow`
`alloca` is an implementation detail to raise a stack overflow. nobu (Nobuyoshi Nakada)
08:16 AM Ruby Revision e01e13c2 (git): Use `assert_ruby_status` if no assertion
nobu (Nobuyoshi Nakada)
08:16 AM Ruby Revision fc0c67de (git): Make `assert_separately` to count assertions in forked processes
nobu (Nobuyoshi Nakada)
07:06 AM Ruby Revision 364e25b1 (git): Make `assert_separately` tolerant to core method redefinitions
And split `TestRubyOptimization#test_objtostring` for each target
class.
nobu (Nobuyoshi Nakada)
06:04 AM Ruby Revision 31857868 (git): Fix integer overflow checks in enumerator
Jörmungandrk
02:36 AM Ruby Revision b61e18d7 (git): Win32: configure without an intermediate makefile
This batch file used `nmake` on the old `command.com` to extract the
parent directory name of this file and to get around the command line
argument length limit. However, Windows 9X support as a build host
ended over a decade ago, and t...
nobu (Nobuyoshi Nakada)
01:33 AM Ruby Revision e89db856 (git): [ruby/mmtk] Assert that objects are not T_NONE in the write barrier
https://github.com/ruby/mmtk/commit/59d27203e2 peterzhu2118 (Peter Zhu)
01:33 AM Ruby Revision aa7eb97d (git): [ruby/mmtk] Add MMTK_ASSERT
https://github.com/ruby/mmtk/commit/e34d5cf32f peterzhu2118 (Peter Zhu)
12:33 AM Ruby Revision b3216bc1 (git): Fix Ripper::Lexer::State#[] for to_s
The instance variable is called `to_s`, not `event`. Earlopain (Earlopain _)

01/08/2026

11:07 PM Ruby Revision 50b71911 (git): Remove ruby-bench excludes (#15828)
These benchmarks should be working fine now. st0012 (Stan Lo)
10:33 PM Ruby Revision c6f9a4d3 (git): Remove check for rb_obj_gen_fields_p in rb_hash_dup
rb_copy_generic_ivar already checks for it, so we don't need to call
rb_obj_gen_fields_p twice.
peterzhu2118 (Peter Zhu)
10:01 PM Ruby Feature #6012: Proc#source_location also return the column
Eregon (Benoit Daloze) wrote in #note-49:
> In any case I don't think it's our place to judge whether each usage is "valid" or "correct" or not, it's definitely useful functionality since it's used so much.
"I don't know exactly what...
mame (Yusuke Endoh)
07:59 PM Ruby Misc #21804: Getting setup-ruby Earlier
mdalessio (Mike Dalessio) wrote in #note-4:
> A counter-example, though, is that the PR for windows support ([https://github.com/ruby/setup-ruby/pull/847](https://github.com/ruby/setup-ruby/pull/847)) took 3 days to get merged.
Windo...
Eregon (Benoit Daloze)
07:55 PM Ruby Misc #21804: Getting setup-ruby Earlier
If people care about getting an answer from release maintainers, they can add this ticket to the dev meeting. Eregon (Benoit Daloze)
07:57 PM Ruby Revision 523857bf (git): ZJIT: Replace GuardShape with LoadField+GuardBitEquals (#15821)
GuardShape is just load+guard, so use the existing HIR instructions for load+guard. Probably makes future analysis slightly easier. tekknolagi (Maxwell Bernstein)
06:35 PM Ruby Revision 16863f2e (git): [ruby/prism] Decouple ripper translator from ripper library
Ripper exposes Ripper::Lexer:State in its output, which is a bit of a problem. To make this work, I basically copy-pasted the implementation.
I'm unsure if that is acceptable and added a test to make sure that these values never go out ...
Earlopain (Earlopain _)
06:35 PM Ruby Revision fc66de3e (git): [ruby/prism] Remove unneeded `ripper` requires
Ripper is either not used or loaded where it is actually needed
https://github.com/ruby/prism/commit/a73a4fb00c
Earlopain (Earlopain _)
06:35 PM Ruby Revision 3bfc8655 (git): [ruby/prism] Move `LexRipper` into its own file
It has a hard dependency on ripper that can't be removed.
This makes it so that ripper can be loaded only when the class is actually used.
https://github.com/ruby/prism/commit/3b5b4a8a6d
Earlopain (Earlopain _)
05:08 PM Ruby Revision 8d764da3 (git): Fix incorrect bundled gems warning for hyphenated gem names
When requiring a file like "benchmark/ips", the warning system would
incorrectly warn about the "benchmark" gem not being a default gem,
even when the user has "benchmark-ips" (a separate third-party gem)
in their Gemfile.
The fix check...
khasinski (Chris Hasiński)
09:49 AM Ruby Feature #21442 (Closed): Make tsort to bundled gems
https://github.com/ruby/ruby/pull/15825 hsbt (Hiroshi SHIBATA)
09:48 AM Ruby Revision dcfbbdc3 (git): Update bundled gems list as of 2026-01-08
git[bot]
09:48 AM Ruby Revision 19d3f2da (git): Skip collection install test
hsbt (Hiroshi SHIBATA)
09:48 AM Ruby Revision eaa9902c (git): Exclude ruby-lsp benchmark because released version of rbs didn't have tsort dependency
hsbt (Hiroshi SHIBATA)
09:48 AM Ruby Revision 4a988b7f (git): Inject tsort path before rdoc
hsbt (Hiroshi SHIBATA)
09:48 AM Ruby Revision 9c49084a (git): Update tsort entries under the doc
hsbt (Hiroshi SHIBATA)
09:48 AM Ruby Revision 9580c7d0 (git): Migrate tsort as bundled gems
hsbt (Hiroshi SHIBATA)
08:58 AM Ruby Feature #21826: Deprecating RubyVM::AbstractSyntaxTree
I reserve my opinion on the proposal itself, but just about `node_id_for_backtrace_location`:
Earlopain (Earlopain _) wrote in #note-2:
> But I don't know of something for `node_id_for_backtrace_location` (https://bugs.ruby-lang.org/...
mame (Yusuke Endoh)
08:03 AM Ruby Feature #21826: Deprecating RubyVM::AbstractSyntaxTree
`RubyVM::AbstractSyntaxTree` is not only used for parsing. I don't think there are proper replacements for `of` and `node_id_for_backtrace_location` yet. `error_highlight` for example uses both `of` (under parse.y) and `node_id_for_backt... Earlopain (Earlopain _)
04:52 AM Ruby Bug #21634 (Assigned): Combining read(1) with eof? causes dropout of results unexpectedly on Windows.
hsbt (Hiroshi SHIBATA)
04:51 AM Ruby Bug #21691 (Assigned): On Windows some of binary read functions of IO are not functional
hsbt (Hiroshi SHIBATA)
04:51 AM Ruby Bug #21763 (Assigned): Windows: output IO pipe ignores crlf newline conversion specified by set_encoding
hsbt (Hiroshi SHIBATA)
04:51 AM Ruby Bug #21765 (Assigned): stop using the C runtime _read() on Windows
hsbt (Hiroshi SHIBATA)
04:41 AM Ruby Revision 946b1c1b (git): Move parentheses around macro arguments
nobu (Nobuyoshi Nakada)
04:30 AM Ruby Revision 1852ef43 (git): Fail if the Ruby specified with `--with-baseruby` is too old
If the baseruby is explicitly specified, fail because the option is
not accepted if it does not meet the requirements. If the option is
not specified, just display the warning and continue, in the hope that
it is not needed.
Follow up ...
nobu (Nobuyoshi Nakada)
04:29 AM Ruby Revision 725e3d0a (git): Fluent and/or is supported by Prism too now
nobu (Nobuyoshi Nakada)
04:19 AM Ruby Bug #21828: An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
https://github.com/ruby/ruby/pull/15824 hsbt (Hiroshi SHIBATA)
04:15 AM Ruby Bug #21828 (Closed): An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
Applied in changeset commit:git|768862868472fb1800e556effb0e37be2fbaec52.
----------
Fix incorrect bundled gems warning for hyphenated gem names
When requiring a file like "benchmark/ips", the warning system would
incorrectly warn abou...
khasinski (Chris Hasiński)
12:22 AM Ruby Bug #21828 (Assigned): An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
hsbt (Hiroshi SHIBATA)
04:15 AM Ruby Revision 76886286 (git): Fix incorrect bundled gems warning for hyphenated gem names
When requiring a file like "benchmark/ips", the warning system would
incorrectly warn about the "benchmark" gem not being a default gem,
even when the user has "benchmark-ips" (a separate third-party gem)
in their Gemfile.
The fix check...
khasinski (Chris Hasiński)
03:02 AM Ruby Misc #17376 (Closed): Reduce number of GitHub Actions
The current job number is 94 each commit and GitHub improved their UI of GitHub Actions.
I'm closing this.
hsbt (Hiroshi SHIBATA)
02:47 AM Ruby Feature #17210 (Closed): More readable and useful `Set#inspect`
```
❯ ruby -ve "puts Set[1,2,3]"
ruby 4.1.0dev (2026-01-06T23:05:30Z master b2ed4cdced) +YJIT +MN +PRISM [arm64-darwin25]
Set[1, 2, 3]
```
Ruby 4.0 introduced this feature request.
hsbt (Hiroshi SHIBATA)
02:42 AM Ruby Feature #16989 (Closed): Sets: need ♥️
`Set` is promoted to Core class at Ruby 4.0.
hsbt (Hiroshi SHIBATA)
12:41 AM Ruby Revision 080d66be (git): Avoid flaky test failures by retrying on local port conflicts (#15818)
This test obtains an available port number by calling `TCPServer.new`,
then closes it and passes the same port number as `local_port` to `TCPSocket.new`.
However, `TCPSocket.new` could occasionally fail with `Errno::EADDRINUSE`
at the b...
Misaki Shioi

01/07/2026

11:24 PM Ruby Revision 950ffa90 (git): ZJIT: Add ArrayAset instruction to HIR (#15747)
Inline `Array#[]=` into `ArrayAset`. Nozomi Hijikata
11:05 PM Ruby Bug #21828 (Closed): An incorrect warning message related to `benchmark` is shown when using `benchmark-ips`
## Descrition
When using `benchmark-ips` gem with Ruby 4.0.0, the warning related to `benchmark` gem is shown.
## Step to reproduce
```ruby
# Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
gem "bench...
y-yagi (Yuji Yaginuma)
11:02 PM Ruby Revision 3ea6ec83 (git): [DOC] Harmonize #=~ methods (#15814)
burdettelamar (Burdette Lamar)
11:01 PM Ruby Revision 5230f835 (git): [DOC] Harmonize #[] methods
burdettelamar (Burdette Lamar)
07:44 PM Ruby Feature #13683: Add strict Enumerable#single
zverok (Victor Shepelev) wrote in #note-39:
> > How about #one! or similar to indicate it must be one element?
> ...
Ruby also uses it other places, like `exit!` and `kill!`, OpenSSL's `generate_key!`, Date's `new!`. It's also in Engli...
headius (Charles Nutter)
04:23 PM Ruby Feature #13683: Add strict Enumerable#single
> How about #one! or similar to indicate it must be one element?
I think Ruby's core agreement is `!` indicates the methods that change the receiver (`strip`/`strip!`), so unless we plan to introduce Rails-y agreement with it designat...
zverok (Victor Shepelev)
02:32 PM Ruby Feature #13683: Add strict Enumerable#single
I don't like #sole as the method name but I can't quite explain why. I'd rather have #single or #singleton (The mathematical term for a set of one) or a two word #single_element or #one_only.
How about #one! or similar to indicate it ...
headius (Charles Nutter)
12:08 PM Ruby Feature #13683: Add strict Enumerable#single
+1 for `sole` (given Matz didn't like `single` and `only`).
It's clear and obvious what it does.
We could also allow it to take a block to address #18135 too:
```ruby
enumerable.sole { condition(it) }
# same as
enumerable.select ...
Eregon (Benoit Daloze)
12:33 AM Ruby Feature #13683: Add strict Enumerable#single
I've only just learned that ActiveSupport introduced `Enumerable#sole` back in 2020.
https://github.com/rails/rails/pull/40914
I wish this were available in the core too.
mame (Yusuke Endoh)
07:09 PM Ruby Feature #21827: Deprecating Ripper
I don't think we're going to be able to deprecate in 4.1, Ripper is still very much used in the ecosystem. I think we can do the work over the next couple of years to remove it, but 4.1 is quite a tight timeline. kddnewton (Kevin Newton)
06:17 PM Ruby Feature #21827: Deprecating Ripper
Ripper is at least used in these default/bundled gems:
- `irb`
- `rdoc`
- `rbs`
- `power_assert`
- `syntax_suggect`
While I agree that we should deprecate it, I also would like to avoid showing the deprecation message when user...
st0012 (Stan Lo)
03:37 PM Ruby Feature #6012: Proc#source_location also return the column
mame (Yusuke Endoh) wrote in #note-48:
> A "use case" is the ultimate goal that the examples aim to achieve via `Method#source`.
The above snippets show examples of source transformation, instrumentation of code by adding extra code ...
Eregon (Benoit Daloze)
02:18 PM Ruby Feature #6012: Proc#source_location also return the column
> A quick search shows some examples which do not use an AST:
A "use case" is the ultimate goal that the examples aim to achieve via `Method#source`.
By the way, I tried the `method_source` gem, and I noticed that it includes hered...
mame (Yusuke Endoh)
12:44 PM Ruby Feature #6012: Proc#source_location also return the column
mame (Yusuke Endoh) wrote in #note-45:
> First, I suspect that what many users of `method_source` gem actually need is the AST.
Many yes but not all, maybe even only a minority (see below).
The fact there is `Method#source` indicates th...
Eregon (Benoit Daloze)
12:07 PM Ruby Feature #6012: Proc#source_location also return the column
Note that there is also an idiom like `foo(*obj.source_location)`, not just `source_location.last`. By checking the result of "gem-codesearch", we see not only `@binding.source_location` but also `@proc.source_location`. I am not sure if... mame (Yusuke Endoh)
11:54 AM Ruby Feature #6012: Proc#source_location also return the column
Eregon (Benoit Daloze) wrote in #note-44:
> mame (Yusuke Endoh) wrote in #note-43:
> ...
First, I suspect that what many users of `method_source` gem actually need is the AST. The proposal #21005 itself demonstrates this.
I recogniz...
mame (Yusuke Endoh)
11:31 AM Ruby Feature #6012: Proc#source_location also return the column
mame (Yusuke Endoh) wrote in #note-43:
> However, we should consider the fact that code like `source_location.last` actually exists in the wild, as RSpec fixed in advance. It seems this idiom is used in quite a few gems.
This change ...
Eregon (Benoit Daloze)
12:17 AM Ruby Feature #6012: Proc#source_location also return the column
Eregon (Benoit Daloze) wrote in #note-41:
> @mame Matz explicitly approved it: https://github.com/ruby/ruby/pull/15580#issuecomment-3691058342
Ah, I missed that the PR had already been approved. Sorry about that.
However, we should con...
mame (Yusuke Endoh)
03:24 PM Ruby Feature #21795: Methods for retrieving ASTs
Thanks @mame for the detailed reply! I appreciate your thoughtfulness here.
With regard to the implementation approach problem, I love your solution of keeping a source hash on the iseq. I think that makes a lot of sense, and could be...
kddnewton (Kevin Newton)
11:41 AM Ruby Feature #21795: Methods for retrieving ASTs
One idea to make it work with `--parser=parse.y` until universal parser supports the Prism API (#21825) would be to:
* Get the `RubyVM::AST::Node` of that object, then extract the start/end line & start/end columns. Or do the same inter...
Eregon (Benoit Daloze)
01:13 PM Ruby Misc #21777: DevMeeting-2026-01-14
I plan to attend this meeting, though I will only be able to join from 15:30PM JST (= 7:30AM CET).
Would it possible to discuss the topics I added, as well as #6012 (https://bugs.ruby-lang.org/issues/21777#note-7) after that time so I c...
Eregon (Benoit Daloze)
11:45 AM Ruby Misc #21777: DevMeeting-2026-01-14
* [Feature #21826] Deprecating RubyVM::AbstractSyntaxTree (eregon)
* OK to deprecate now/for 4.1? If not, when?
* And maybe remove it in 4.2?
* [Feature #21827] Deprecating Ripper (eregon)
* Removing Ripper would remove a signi...
Eregon (Benoit Daloze)
11:42 AM Ruby Misc #21777: DevMeeting-2026-01-14
* [Feature #21795] Methods for retrieving ASTs (eregon)
* This seems very useful and convenient, and abstract over implementation details like `node_id` (which I think make little sense to expose to users).
* To address @mame's conce...
Eregon (Benoit Daloze)
12:51 AM Ruby Misc #21777: DevMeeting-2026-01-14
* [Feature #13683] Add strict Enumerable#single (mame)
* ActiveSupport now has `Enumerable#sole`. https://github.com/rails/rails/pull/40914
* I want this on the core too. It's good that the intention of having only one is explicitly ...
mame (Yusuke Endoh)
12:44 AM Ruby Misc #21777: DevMeeting-2026-01-14
* [Feature #6012] Proc#source_location also return the column (mame)
* Quite a few gems are using the idiom `source_location.last`.
* The idiom will return a column number (of the end of the code range) instead of a line number.
...
mame (Yusuke Endoh)
08:49 AM Ruby Revision 7d498380 (git): [ruby/rubygems] bin/rubocop -A
https://github.com/ruby/rubygems/commit/e3f418aa11 hsbt (Hiroshi SHIBATA)
08:49 AM Ruby Revision 3657700c (git): [ruby/rubygems] Bundler: validate more options for add sub-command
Signed-off-by: Takuya Noguchi <[email protected]>
https://github.com/ruby/rubygems/commit/6ca2e28680
Takuya Noguchi
07:44 AM Ruby Revision 88467996 (git): [ruby/rubygems] Update custom errors with Exception#full_message
The use of `Exception#full_message` makes more sense as it shows
the cause and the backstrace.
https://github.com/ruby/rubygems/commit/62a92c3f5e
neimadTL
07:30 AM Ruby Revision e1087c12 (git): [ruby/rubygems] Fix dependency source bug in bundler
I stumbled across a bundler bug that had me scratching my head for
awhile, because I hadn't experienced it before.
In some cases when changing the source in a gemfile from a
`Source::Gemspec` to either a `Source::Path` or `Source::Git` ...
eileencodes (Eileen Uchitelle)
04:55 AM Ruby Revision 25c72b0e (git): Support customizable rustc_flags for rustc builds.
Add `rustc_flags` option for configure that appends to RUSTC_FLAGS
flags used when compiling with rustc for customizable build flags.
It appends to existing defaults in RUSTC_FLAGS.
Co-authored-by: Alan Wu <[email protected]>
jprokop (Jarek Prokop)
03:20 AM Ruby Bug #21803: `Addrinfo#connect_internal` should raise `IO::TimeoutError` on user-specified timeouts
As you pointed out, changing the exception classes raised by `TCPSocket.new` and `Socket.tcp` does have user-facing impact, and perhaps this change should have been approached more carefully.
However, I believe that the fact that Socket...
shioimm (Misaki Shioi)
12:58 AM Ruby Revision 1abb609d (git): [ruby/mmtk] Check that a and b are valid objects in write barrier
https://github.com/ruby/mmtk/commit/350625ebb3 peterzhu2118 (Peter Zhu)
12:58 AM Ruby Revision 08f6b867 (git): [ruby/mmtk] Set MMTK_DEBUG in C compiler for debug builds
https://github.com/ruby/mmtk/commit/12a3904b04 peterzhu2118 (Peter Zhu)
12:26 AM Ruby Revision a024dca3 (git): Remove `in_masgn` field from `struct iseq_compile_data`
`in_masgn` has not been used since fb6e3a80009a744a4e0b75660f1ce6da65e20e6c. yui-knk (Kaneko Yuichiro)
 

Also available in: Atom