Project

General

Profile

Activity

From 07/10/2025 to 07/16/2025

07/16/2025

11:50 PM Revision 1a207650 (git): DRY up CARGO_VERBOSE for JITs
alanwu (Alan Wu)
11:50 PM Revision 11650967 (git): ZJIT: Define make recipes only when configured
This gives a better signal when say you try to run `make zjit-test` on a
YJIT-only build.
alanwu (Alan Wu)
11:25 PM Revision 960fae43 (git): ZJIT: Add missing write barrier in profiling (GH-13922)
Fixes `TestZJIT::test_require_rubygems`. It was crashing locally due to
false collection of a live object. See
<https://alanwu.space/post/write-barrier/>.
Co-authored-by: Max Bernstein <max@bernsteinbear.com>
Co-authored-by: Takashi Kok...
alanwu (Alan Wu)
10:59 PM Revision 571a8d27 (git): YJIT: Side-exit on String#dup when it's not leaf (#13921)
* YJIT: Side-exit on String#dup when it's not leaf
* Use an enum instead of a macro for bindgen
Takashi Kokubun
10:12 PM Revision 15cf72da (git): ZJIT: Check if BOP is redefined before rewriting (#13916)
Fix https://github.com/Shopify/ruby/issues/592 tekknolagi (Maxwell Bernstein)
10:09 PM Feature #21515: Add `&return` as sugar for `x=my_calculation; return x if x`
Why not:
```ruby
x = my_calculation(input_a, input_b) and return x
```
nobu (Nobuyoshi Nakada)
06:30 PM Feature #21515: Add `&return` as sugar for `x=my_calculation; return x if x`
I would prefer it like this:
```rb
return result if result = my_calculation(input_a, input_b)
```
It doesn't need new syntax and to me at least it is rather intuitive. Unfortunatly this doesn't work today because the return code ...
Earlopain (Earlopain _)
05:24 PM Feature #21515: Add `&return` as sugar for `x=my_calculation; return x if x`
Proposal like this always reminds me:
https://poignant.guide/book/chapter-3.html
How am I supposed to read the `&return my_calculation(input_a, input_b)`. Reading it "and return my calculations from input_a and input_b" does not ma...
vo.x (Vit Ondruch)
02:56 PM Feature #21515 (Open): Add `&return` as sugar for `x=my_calculation; return x if x`
Let me preface this by saying I have no marriage to the exact keyword name of `&return`.
# Problem
It is very common to have an early return in code where you get some initial value and return it if it is non-null. i.e.
```
retur...
nhorton (Noah Horton)
09:31 PM Revision 616df508 (git): ZJIT: Add ZJIT test exclusion files to jit team review targets
Stan Lo
09:31 PM Revision d207efec (git): ZJIT: Remove unneeded test exclusions
After several ZJIT fix PRs, the number of failing/crashing tests for
ZJIT has dropped significantly. This removes the unneeded test exclusions.
Stan Lo
09:17 PM Revision 4403cb27 (git): ZJIT: Eagerly infer types of rewritten Const instructions (#13917)
This helps us rewrite more SendWithoutBlock into SendWithoutBlockDirect. tekknolagi (Maxwell Bernstein)
08:52 PM Bug #21516: Segfault in String#succ! on 32-bit i686
It seems RESIZE_CAPA_TERM is miscompiled, so this may not be a Ruby issue but a compiler problem.
At the end of the if(STR_EMBED_P(str)) block, RSTRING_PTR(str) still points into the string object and not to the new heap-allocated str...
leahneukirchen (Leah Neukirchen)
04:28 PM Bug #21516 (Closed): Segfault in String#succ! on 32-bit i686
I noticed segfaults in the test suite of Ruby 3.4.5, related to String#succ!
A very easy reproducer is:
```
./miniruby -e 'puts "ZZZZ999".succ!'
```
```
$ ./miniruby -e 'puts "ZZZZ999".succ!'
-e:1: [BUG] Segmentation fault a...
leahneukirchen (Leah Neukirchen)
08:41 PM Revision e64a9e39 (git): Alphabetize concurrent_set.h in string.c
peterzhu2118 (Peter Zhu)
08:20 PM Bug #21511: Use-after-free of the execution context after the fiber object carrying it is freed in GC
The fiber is getting freed in the forked process, but it is not the same physical address as the fiber in the parent process. You are seeing virtual addresses here, these processes don't share memory. luke-gru (Luke Gruber)
05:16 AM Bug #21511: Use-after-free of the execution context after the fiber object carrying it is freed in GC
luke-gru (Luke Gruber) wrote in #note-6:
> GC inside a forked process should not affect the parent. Are you getting a crash and a stack trace from running this program? If so, it would be helpful if you uploaded the stack trace.
No, ...
tuonigou (tianyang sun)
08:13 PM Revision abc8745f (git): Avoid second RHASH_AR_TABLE_REF lookup
sferik (Erik Michaels-Ober)
07:50 PM Revision 900eb048 (git): ZJIT: Split shift with immediate operand (#13914)
Fix https://github.com/Shopify/ruby/issues/627 tekknolagi (Maxwell Bernstein)
07:17 PM Revision 343619c9 (git): ZJIT: Remove dead have_two_fixnums function (#13913)
tekknolagi (Maxwell Bernstein)
06:22 PM Bug #21460 (Closed): Pattern matching crash: unexpected PM_CALL_NODE
Fixed in changeset [git|2591b935930aaeee652df3ffbbe1cb138e7f5346](https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/2591b935930aaeee652df3ffbbe1cb138e7f5346). st0012 (Stan Lo)
06:16 PM Bug #21345 (Closed): crash on evaluating 'a=>a,*,'
Applied in changeset commit:git|133cf95618e687bfac6575e2daa1ce0a40e6f2e5.
----------
[ruby/prism] [Bug #21345] Fix accepting multiple rest patterns with leading match
Related:
* https://bugs.ruby-lang.org/issues/20765
* https://github....
Earlopain (Earlopain _)
06:16 PM Revision 643ca817 (git): ZJIT: run `zjit-test-all` on CI with seed (#13912)
ZJIT: run zjit-test-all on CI with seed
ZJIT is still unstable and can crash intermittently running with Ruby
tests. Adding a seed to avoid flakiness while we work on stability.
Stan Lo
06:12 PM Revision 133cf956 (git): [ruby/prism] [Bug #21345] Fix accepting multiple rest patterns with leading match
Related:
* https://bugs.ruby-lang.org/issues/20765
* https://github.com/ruby/prism/issues/2915
https://github.com/ruby/prism/commit/de56fa4a34
Earlopain (Earlopain _)
06:10 PM Revision ccbbe06a (git): YJIT: Disable the runtime_checks feature temporarily
The stack canary gets killed in test_yjit.rb:224 for some reason. Needs
investigation. Example CI failure:
https://github.com/ruby/ruby/actions/runs/16307837724/job/46057558066
alanwu (Alan Wu)
06:10 PM Revision 95521324 (git): ZJIT: A64: Fix bad operand swapping in `asm.sub(imm, reg)`
Previously, my buggy optimization would turn `asm.sub(imm, reg)`
into `subs out, reg, imm` since it runs through the addition path which
relies on the commutative property. Don't do that because subtraction
does not commute. Good thing n...
alanwu (Alan Wu)
06:10 PM Revision 0c26dea5 (git): ZJIT: A64: Fix the optimization merging `asm.add(reg, imm)` with Mov
The raw bytes didn't disassemble to the disassembly, but we missed this
since CI didn't run `make zjit-test` with the disasm feature.
Fixes: 1317377fa74 ("ZJIT: A64: Have add/sub to SP be
single-instruction")
alanwu (Alan Wu)
06:10 PM Revision 7df8e9e4 (git): ZJIT: A64: Fix `asm.add_into(NATIVE_STACK_POINTER, ...)`
Previously, it issued CMN, which doesn't add to the stack pointer. alanwu (Alan Wu)
06:10 PM Revision 5ee3937a (git): ZJIT: Have `make zjit-test` use the same Cargo features as miniruby
This is so that e.g. building with `--enable-zjit=dev` will test with the
disassembly feature. It makes more sense, saves on build time and
reveals that
`backend::arm64::tests::sp_movements_are_single_instruction` was in
fact failing wit...
alanwu (Alan Wu)
05:46 PM Revision ea81e7b8 (git): ZJIT: Remove an extra slash from $(TESTS) (#13911)
Takashi Kokubun
05:42 PM Revision 27964795 (git): test_process.rb: UID.from_name may raise Errno::ENOENT
See: 58bc97628c1
getpwnam(3) says the same thing. I got ENOENT in my Linux environment.
1) Failure:
TestProcess#test_uid_from_name [/home/k0kubun/src/github.com/ruby/ruby/test/ruby/test_process.rb:1685]:
Exception(ArgumentError) with...
k0kubun (Takashi Kokubun)
05:08 PM Revision 2591b935 (git): [ruby/prism] Fix crash when using arithmetic expressions in pattern matching
When arithmetic expressions like `-1**2` are used in pattern matching contexts,
Ruby crashes with "Unexpected node type in pattern matching expression: PM_CALL_NODE".
This happens because the Prism parser creates `PM_CALL_NODE` for arith...
Stan Lo
04:53 PM Revision acc31725 (git): ZJIT: Profile each instruction at most num_profiles times (#13903)
* ZJIT: Profile each instruction at most num_profiles times
* Use saturating_add for num_profiles
Takashi Kokubun
04:50 PM Revision af1ad78b (git): Use a const block
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> k0kubun (Takashi Kokubun)
04:50 PM Revision 8668e4dd (git): ZJIT: Restore SP on side-exit chains
k0kubun (Takashi Kokubun)
04:50 PM Revision 2250a66a (git): ZJIT: Fix SP alignment on JIT entry for x86_64
k0kubun (Takashi Kokubun)
03:48 PM Revision 4eb0a6cd (git): [ruby/prism] Improve error handling for missing parentheses after 'not' in command calls
https://github.com/ruby/prism/commit/d9151b8a82 ydah (Yudai Takada)
03:48 PM Revision 4cf85fe2 (git): [ruby/prism] Reject `true && not true`
A command-call-like `not true` must be rejected after `&&` and `||`.
https://bugs.ruby-lang.org/issues/21337
https://github.com/ruby/prism/commit/0513cf22ad
mame (Yusuke Endoh)
11:14 AM Revision 830ab2c5 (git): Add a comment to count_objects to prevent future regression
mame (Yusuke Endoh)
09:48 AM Revision dedf9f5f (git): Suppress gcc 15 unterminated-string-initialization warnings
nobu (Nobuyoshi Nakada)
09:48 AM Revision 32bfb61d (git): Suppress occasional autoconf warnings
```
configure.ac:2803: warning: AC_CHECK_FUNCS(\
): you should use literals
../autoconf-2.72/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from...
../autoconf-2.72/lib/m4sugar/m4sh.m4:697: AS_IF is expanded from...
```
nobu (Nobuyoshi Nakada)
09:31 AM Revision 6d17a3e6 (git): Prevent ObjectSpace.count_objects from allocating extra arrays
`ObjectSpace.count_objects` could cause an unintended array allocation.
It returns a hash like `{ :T_ARRAY => 100, :T_STRING => 100, ... }`, so
it creates the key symbol (e.g., `:T_STRING`) for the first time. On
rare occations, this sym...
mame (Yusuke Endoh)
07:45 AM Feature #17473: Make Pathname to embedded class of Ruby
hsbt (Hiroshi SHIBATA) wrote in #note-24:
> >I have merged https://github.com/ruby/pathname/pull/53, it is clearly better for the maintenance of the gem at least.
> ...
That PR is actually easy to review as explained in its description...
Eregon (Benoit Daloze)
07:24 AM Feature #17473: Make Pathname to embedded class of Ruby
Dan0042 (Daniel DeLorme) wrote in #note-23:
> I don't understand this at all. What's the problem with having `require "fileutils"` inside #mkpath ? Those dependencies are part of the stdlib anyway, so it's not like they could be missing...
Eregon (Benoit Daloze)
05:27 AM Feature #17473: Make Pathname to embedded class of Ruby
>I have merged https://github.com/ruby/pathname/pull/53, it is clearly better for the maintenance of the gem at least.
I reverted that. Please don't merge without consensus. At least, no one strongly against migrate C to Ruby in Dev M...
hsbt (Hiroshi SHIBATA)
02:10 AM Feature #17473: Make Pathname to embedded class of Ruby
> * akr: To use the following four methods, require "pathname" is needed for a while
> ...
I don't understand this at all. What's the problem with having `require "fileutils"` inside #mkpath ? Those dependencies are part of the stdlib a...
Dan0042 (Daniel DeLorme)
07:38 AM Revision 3956308a (git): `test_defined_paren_void_stmts` passes with parse.y now
nobu (Nobuyoshi Nakada)
07:17 AM Revision f0649ab4 (git): Make `defined? (x;)` return `expression` when using parse.y parser
Follow up [Bug #21029].
Currently, `defined? (x;)` returns `expression` when using Prism parser.
See:
- https://github.com/ruby/ruby/pull/12949
- https://bugs.ruby-lang.org/issues/21029
However, `defined? (x;)` returns nil when using...
S_H_ (Shun Hiraoka)
05:50 AM Feature #21386: Introduce `Enumerable#join_map`
Just a thought: shouldn't we add `#join` to `Enumerator::Lazy`? It wouldn't solve "logical repetitiveness" of the pattern, but might be a good _and_ idiomatic way to optimize the pattern when necessary.
(Lazy enumerators are underused...
zverok (Victor Shepelev)
05:09 AM Revision 54ec4824 (git): CI: Use `sudo` only if it works
GitHub Windows-11arm runner now provides `sudo` command, but it is
disabled and seems to need something at "Developer Settings page".
nobu (Nobuyoshi Nakada)
12:15 AM Bug #21496: Fix for gcc-15 `-flto` option
I created https://github.com/ruby/ruby/pull/13892 for Ruby 3.4. hsbt (Hiroshi SHIBATA)
12:02 AM Revision a691db30 (git): Add NEWS for Pathname promotion
zzak (zzak _)

07/15/2025

11:46 PM Bug #21513: Converting endless range to set hangs
What's your opinion on adding the same raise/check for the following methods? They present the same infinite loop problem.
#count
#all?
#collect / #map
#collect_concat / #flat_map
#compact
#drop
#drop_while
#filter
#filter_map...
Dan0042 (Daniel DeLorme)
11:23 PM Bug #21513: Converting endless range to set hangs
I suspect this is a bug fix instead of a new feature, isn't it? nobu (Nobuyoshi Nakada)
10:04 PM Bug #21513: Converting endless range to set hangs
I've opened https://github.com/ruby/ruby/pull/13902 viralpraxis (Iaroslav Kurbatov)
01:22 PM Bug #21513: Converting endless range to set hangs
Thank you, good catch.
I think that check should be in `Range#to_set`, as well as `Range#to_a`.
```ruby
class Range
# Makes a set from the range with given arguments, if a finite
# collection; raises an exception otherwise.
...
nobu (Nobuyoshi Nakada)
03:28 AM Bug #21513: Converting endless range to set hangs
Raising an error should be the case for ANY endless range operations that result in an infinite loop and memory consumption. This is a very costly and hard to debug failure mode, and it happens for a large number of endless range methods. Dan0042 (Daniel DeLorme)
10:12 PM Bug #21514 (Closed): Rust deprecation warning building ruby-3.4.5/yjit/src/codegen.rs
I get the following warning when building `ruby-3.4.5` from the tarball release. I am using `rustc-1.88.0`.
```
warning: `extern` declarations without an explicit ABI are deprecated
--> ../ruby-3.4.5/yjit/src/codegen.rs:7406:1
...
debo (David Bohman)
10:03 PM Revision 57239453 (git): ZJIT: Start testing against `/test/ruby/` and update all ZJIT related testing targets/docs (#13791)
* ZJIT: Add test exclusions for ZJIT
* ZJIT: Update test targets and documentation
- Rename `zjit-test-all` to `zjit-check`
- Add `zjit-test-all` target to zjit.mk to run all Ruby tests with ZJIT enabled
excluding known failing tests...
Stan Lo
08:31 PM Revision 3cf32e93 (git): [DOC] Tweaks for String#downcase
burdettelamar (Burdette Lamar)
08:12 PM Feature #21386: Introduce `Enumerable#join_map`
matz (Yukihiro Matsumoto) wrote in #note-9:
> I hope JIT inlining will remove intermediate objects in the future.
FWIW, that's not really feasible, at least for cases where the input array has variable size.
Unless both Array#map an...
Eregon (Benoit Daloze)
07:52 PM Feature #21039: Ractor.make_shareable breaks block semantics (seeing updated captured variables) of existing blocks
Great to hear, this makes a lot of sense and addresses the original semantics issue perfectly. Eregon (Benoit Daloze)
07:47 PM Bug #19473: can't be called from trap context (ThreadError) is too limiting
Discussion: https://github.com/ruby/dev-meeting-log/blob/master/2025/DevMeeting-2025-07-10.md#bug-19473-cant-be-called-from-trap-context-threaderror-is-too-limiting-ioquatix
> @ko1 Timeout.timeout issue (eregon has) would be more comp...
Eregon (Benoit Daloze)
07:27 PM Feature #17473: Make Pathname to embedded class of Ruby
I have merged https://github.com/ruby/pathname/pull/53, it is clearly better for the maintenance of the gem at least.
Now we need to figure out if we want to keep the copy in core in sync with the gem or not (if not it's going to be a "...
Eregon (Benoit Daloze)
07:06 PM Feature #17473: Make Pathname to embedded class of Ruby
Discussion at https://github.com/ruby/dev-meeting-log/blob/master/2025/DevMeeting-2025-07-10.md#feature-17473-make-pathname-to-embedded-class-of-ruby-eregon
I am disappointed, https://github.com/ruby/pathname/pull/53 makes the code cl...
Eregon (Benoit Daloze)
10:23 AM Feature #17473: Make Pathname to embedded class of Ruby
Would it make sense to make `find`, `fileutils`, and `tmpdir` also builtin, given that `pathname` depends on them? deivid (David Rodríguez)
08:30 AM Feature #17473 (Closed): Make Pathname to embedded class of Ruby
I made `Pathname` to embedded core class now.
* https://github.com/ruby/ruby/pull/13873
* https://github.com/ruby/ruby/pull/13885
* https://github.com/ruby/ruby/pull/13887
`Pathname#find`, `Pathname#mkpath`, `Pathname#rmtree` an...
hsbt (Hiroshi SHIBATA)
06:47 PM Revision b2ef33b3 (git): ZJIT: Redo JIT function native stack frame layout
Previously, gen_param() access slots at `SP-x` for `x≥0` after subtracting from
SP, so it was accessing slots from above the top of the stack. Also, the
slots gen_entry_params() wrote to at entry point did not correspond to
the slots acc...
alanwu (Alan Wu)
06:47 PM Revision 50e2d58a (git): ZJIT: Ban `asm.load_into(Mem, ..)` and avoid it in gen_entry_params()
Now that params can be in memory, this particular load_into() was
panicking with "Invalid operands for LDUR" with
test_spilled_method_args() on ARM.
Since it's documented to be for register destinations let's validate it.
alanwu (Alan Wu)
06:47 PM Revision 0aefa495 (git): ZJIT: Add failing test to test_spilled_method_args()
alanwu (Alan Wu)
06:13 PM Revision be38cb92 (git): [DOC] Tweaks for String#downcase!
burdettelamar (Burdette Lamar)
05:39 PM Revision 2899ff17 (git): ZJIT: Only specialize direct positional-positional calls (#13899)
This is temporary until we have a unified calling convention. tekknolagi (Maxwell Bernstein)
04:33 PM Revision 37d088ad (git): Update default gems list at 024ae34e3852df4fbeb03172990327 [ci skip]
git[bot]
04:33 PM Revision 024ae34e (git): [ruby/erb] Version 5.0.2
https://github.com/ruby/erb/commit/e8f3e64581 k0kubun (Takashi Kokubun)
04:30 PM Revision 71d4518c (git): [ruby/erb] Declare escape functions as Ractor-safe
(https://github.com/ruby/erb/pull/63)
https://github.com/ruby/erb/commit/fdd45c0d89
John Hawthorn
04:27 PM Revision 20cda200 (git): v3.4.5
k0kubun (Takashi Kokubun)
04:23 PM Revision 8b1c313d (git): [ruby/etc] Alias value or join to take in old Ruby
https://github.com/ruby/etc/commit/3dbe760bed hsbt (Hiroshi SHIBATA)
04:23 PM Revision d2264185 (git): [ruby/json] [ruby/json] Run `have_func` with the header providing the declarations
https://github.com/ruby/json/commit/95fb084027
https://github.com/ruby/json/commit/9d080765cc
nobu (Nobuyoshi Nakada)
04:23 PM Revision 8a9c6e03 (git): [ruby/strscan] Run `have_func` with the header providing the declarations
https://github.com/ruby/strscan/commit/18c0a59b65 nobu (Nobuyoshi Nakada)
04:23 PM Revision 2473d0b6 (git): [ruby/strscan] Update extconf.rb
(https://github.com/ruby/strscan/pull/158)
- `have_func` includes "ruby.h" by default.
- include "ruby/re.h" where `rb_reg_onig_match` is declared.
https://github.com/ruby/strscan/commit/1ac96f47e9
nobu (Nobuyoshi Nakada)
04:23 PM Revision 05a7d345 (git): [ruby/openssl] [ruby/openssl] Run `have_func` with the header providing the declarations
https://github.com/ruby/openssl/commit/b6f56c4540
https://github.com/ruby/openssl/commit/5277ca1431
nobu (Nobuyoshi Nakada)
04:23 PM Revision 9a11bc5a (git): Merge etc 1.4.6
hsbt (Hiroshi SHIBATA)
04:23 PM Revision 84d49322 (git): Merge io-nonblock 0.3.2
hsbt (Hiroshi SHIBATA)
04:23 PM Revision 854787a8 (git): Merge io-wait 0.3.2
hsbt (Hiroshi SHIBATA)
04:23 PM Revision 282cbf68 (git): Merge io-console 0.8.1
hsbt (Hiroshi SHIBATA)
03:03 PM Revision 35660ec1 (git): Suppress warnings for variables
nobu (Nobuyoshi Nakada)
02:44 PM Bug #21511: Use-after-free of the execution context after the fiber object carrying it is freed in GC
GC inside a forked process should not affect the parent. Are you getting a crash and a stack trace from running this program? If so, it would be helpful if you uploaded the stack trace. luke-gru (Luke Gruber)
01:55 PM Revision f5312d8e (git): Make rb_concurrent_set_funcs const
We should never modify rb_concurrent_set_funcs during runtime, so we can
make it const.
peterzhu2118 (Peter Zhu)
11:51 AM Revision 061d479b (git): [DOC] RDoc is not in ./lib now
It is already a bundled gem, and only the non-built-in parts remain in
pathname.rb in ./lib and cannot work in old versions.
nobu (Nobuyoshi Nakada)
11:51 AM Revision 8a31a079 (git): [DOC] Include pathname_builtin.rb documents
nobu (Nobuyoshi Nakada)
11:47 AM Bug #21512: Socket.tcp_with_fast_fallback('example.com', 80, '127.0.0.1') fails with unknown socket domain: ipv4 (SocketError)
I merged this fix. Thank you! shioimm (Misaki Shioi)
11:39 AM Bug #21512 (Closed): Socket.tcp_with_fast_fallback('example.com', 80, '127.0.0.1') fails with unknown socket domain: ipv4 (SocketError)
Applied in changeset commit:git|b896f80598cc096c84d57b2024813e994637af3b.
----------
[Bug #21512] Socket.tcp_with_fast_fallback: Pass proper addr family to getaddrinfo (#13878)
Socket.tcp_with_fast_fallback: Pass proper addr family to ...
Anonymous
03:33 AM Bug #21512 (Assigned): Socket.tcp_with_fast_fallback('example.com', 80, '127.0.0.1') fails with unknown socket domain: ipv4 (SocketError)
hsbt (Hiroshi SHIBATA)
11:38 AM Revision b896f805 (git): [Bug #21512] Socket.tcp_with_fast_fallback: Pass proper addr family to getaddrinfo (#13878)
Socket.tcp_with_fast_fallback: Pass proper addr family to getaddrinfo
Addrinfo.getaddrinfo expects Socket::AF_INET or Socket::AF_INET6 as its
third argument (family). However Socket.tcp_with_fast_fallback was
incorrectly passing :ipv4 o...
Daisuke Aritomo
10:57 AM Revision 03800bff (git): Make Pathname#mkpath builtin
[Feature #17473] byroot (Jean Boussier)
10:33 AM Revision 4fab4cfe (git): [ruby/pathname] Fix Init and InitVM
https://github.com/ruby/pathname/commit/2b63d44453 nobu (Nobuyoshi Nakada)
10:10 AM Revision 6fd108dd (git): id_table.c: reduce duplication in managed_id_table methods
byroot (Jean Boussier)
09:34 AM Revision cfdc2465 (git): Split restore and save actions from action/cache. We need to save always vcpkg cache
hsbt (Hiroshi SHIBATA)
07:52 AM Revision 562599e6 (git): Skip `URI::TestMailTo#test_email_regexp` for now
nobu (Nobuyoshi Nakada)
07:25 AM Revision e27c1152 (git): Update default gems list at ea880e624e25bba6bbcf7a46dd0a2c [ci skip]
git[bot]
07:24 AM Revision ea880e62 (git): [ruby/etc] Bump up v1.4.6
https://github.com/ruby/etc/commit/c9c9b9d15e hsbt (Hiroshi SHIBATA)
06:59 AM Revision b67e1025 (git): pathname.rbinc conflicts with `lib/pathname.rb` in our test suite.
We can use `pathname.rb` after merging `lib/pathname.rb` to `pathname_builtin.rb`. hsbt (Hiroshi SHIBATA)
06:27 AM Revision 647b98a9 (git): Update default gems list at 2ffd6c28ed601bb738f114553e0d53 [ci skip]
git[bot]
06:26 AM Revision 2ffd6c28 (git): [ruby/io-nonblock] Bump up 0.3.2
https://github.com/ruby/io-nonblock/commit/7285725885 hsbt (Hiroshi SHIBATA)
06:01 AM Revision d2deeaf1 (git): Update default gems list at 8ea57040f08226caa922ecd4d49880 [ci skip]
git[bot]
06:01 AM Revision 8ea57040 (git): [ruby/io-console] Bump up 0.8.1
https://github.com/ruby/io-console/commit/01071a174a hsbt (Hiroshi SHIBATA)
05:48 AM Revision a6f0a24e (git): Remove no longer used ext/pathname/depend [ci skip]
nobu (Nobuyoshi Nakada)
04:36 AM Revision 69d4c673 (git): Provide pathname.so with embedded Pathname
hsbt (Hiroshi SHIBATA)
02:17 AM Revision 87944065 (git): Move builtin methods to pathname.rbinc from lib/pathname.rb
hsbt (Hiroshi SHIBATA)
02:17 AM Revision 98ea78f3 (git): Make Pathname to embedded class
hsbt (Hiroshi SHIBATA)
02:11 AM Revision 3922a14a (git): ZJIT: Make lir::Opnd::const_ptr take any pointer to save on casts
alanwu (Alan Wu)
02:11 AM Revision 7a7f128d (git): ZJIT: Add a ccall macro that also adds an LIR comment
This DRYs up the `asm_comment!` + `asm.ccall` combo, and makes ccalls
have a comment by default.
alanwu (Alan Wu)

07/14/2025

11:34 PM Revision d23f666d (git): Split restore and save actions from action/cache. We need to save always vcpkg cache
hsbt (Hiroshi SHIBATA)
10:36 PM Bug #21513 (Closed): Converting endless range to set hangs
Converting endless range to array raises:
``` shell
ruby -e '(1..).to_a'
-e:1:in 'Range#to_a': cannot convert endless range to an array (RangeError)
from -e:1:in '<main>'
```
but converting to set does not:
``` shell
ruby ...
viralpraxis (Iaroslav Kurbatov)
09:57 PM Bug #21503: \p{Word} does not match on \p{Join_Control} while docs say it does
The patch to master modified `CR_Word` on `enc/unicode/16.0.0/name2ctype.h`, but Ruby 3.4 uses `enc/unicode/15.0.0/name2ctype.h` that has a different content in `CR_Word`. I'm not sure how to backport this properly. Could @procmarco or a... k0kubun (Takashi Kokubun)
09:51 PM Bug #21500: Backport gcc 15 support
ruby_3_4 commit:596126ee5aa35a65bcaca60b92b5547ef1a9d2da merged revision(s) commit:b42afa1dbcbb91e89852b3b3bc72484d7f0a5528, commit:f1f0cc14cc7d3f9be35b203e5583f9224b1e2387, commit:543e3a1896ae2fe3b5b954f6497d261ab5663a15, commit:ed28061... k0kubun (Takashi Kokubun)
09:50 PM Revision 596126ee (git): merge revision(s) b42afa1dbcbb91e89852b3b3bc72484d7f0a5528, f1f0cc14cc7d3f9be35b203e5583f9224b1e2387, 543e3a1896ae2fe3b5b954f6497d261ab5663a15, ed2806117a0b76e4439ce1a061fae21d9e116d69, 46e4c8673747de96838d2c5dec37446d23d99d88: [Backport #21500]
Suppress gcc 15 unterminated-string-initialization warnings
Separate `__has_attribute` from `defined(__has_attribute)`
Fix Visual C warnings:
```
regenc.h(121): warning C4067: unexpected tokens following...
k0kubun (Takashi Kokubun)
09:48 PM Bug #21497: building issue when using gcc15, because C23 is default
ruby_3_4 commit:782aef10bbdb63aba6d71e4f5f1876888c70efcb merged revision(s) commit:d77e02bd85ab7f841df8d473bac214b9a92a3506. k0kubun (Takashi Kokubun)
09:48 PM Revision 782aef10 (git): merge revision(s) d77e02bd85ab7f841df8d473bac214b9a92a3506: [Backport #21497]
[Bug #21497] [ruby/socket]: add full prototype
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
otherwise, gcc 15 will complain:
> init.c:573:19: error: t...
k0kubun (Takashi Kokubun)
09:36 PM Bug #21441: SEGV during thread cleanup if profiler calls thread_profiles_frames at wrong time
ruby_3_4 commit:edfcbacabae6317195a55f2b83fafe2d2b3f6fc8. k0kubun (Takashi Kokubun)
09:33 PM Bug #21437: Date#hash may return different values for equal dates with large years
ruby_3_4 commit:02744e58f3d410931a58873e1dab8752740e60ff merged revision(s) commit:c1877d431e76f4a782d51602fa8487e98d302956. k0kubun (Takashi Kokubun)
09:31 PM Revision 02744e58 (git): merge revision(s) c1877d431e76f4a782d51602fa8487e98d302956: [Backport #21437]
[ruby/date] [Bug #21437] Date#hash for large years
Addresses https://bugs.ruby-lang.org/issues/21437
Signed-off-by: Dmitry Dygalo <dmitry.dygalo@workato.com>
https://github.com/ruby/date/commit/31f07bc576
k0kubun (Takashi Kokubun)
09:31 PM Bug #21440: Cannot create instances of frozen Data subclasses
ruby_3_4 commit:2af8f305542fd20537435046c1a558db5b2cacc5 merged revision(s) commit:2e7e78cd590d20aa9d41422e96302f3edd73f623. k0kubun (Takashi Kokubun)
09:30 PM Revision 2af8f305 (git): merge revision(s) 2e7e78cd590d20aa9d41422e96302f3edd73f623: [Backport #21440]
[Bug #21440] Stop caching member list in frozen Data/Struct class k0kubun (Takashi Kokubun)
09:30 PM Bug #21448: Random.urandom may fail to fall back to reading /dev/urandom on Linux < 3.17
ruby_3_4 commit:508daebdcd730e34d5fb750880249deae8025b80 merged revision(s) commit:1181a682a6c314c92686e3701defa1eb44068c4e, commit:d84a811f31a65821642b165d712f380c0cc060e0. k0kubun (Takashi Kokubun)
09:29 PM Revision 508daebd (git): merge revision(s) 1181a682a6c314c92686e3701defa1eb44068c4e, d84a811f31a65821642b165d712f380c0cc060e0: [Backport #21448]
[Bug #21448] Use `getentropy(2)` only on macOS
If this is not a system call, then it is using getrandom (which would
have been tried already), and cannot be used as a replacement for the
random devices.
...
k0kubun (Takashi Kokubun)
09:29 PM Bug #21447: Fix handling of PM_CONSTANT_PATH_NODE node in keyword arguments with ARGS_SPLAT
ruby_3_4 commit:f0f97886fc0ef805835f0a0d7553e2a8abf988de merged revision(s) commit:1d94a9e1a4351e01f851dad250ba97dad859ee70. k0kubun (Takashi Kokubun)
09:29 PM Revision f0f97886 (git): merge revision(s) 1d94a9e1a4351e01f851dad250ba97dad859ee70: [Backport #21447]
Fix handling of PM_CONSTANT_PATH_NODE node in keyword arguments with ARGS_SPLAT
This was handled correctly in parse.y (NODE_COLON2), but not in
prism. This wasn't caught earlier, because I only added tests for
th...
k0kubun (Takashi Kokubun)
09:27 PM Bug #21443: Backport: Fix heap-use-after-free in free_fast_fallback_getaddrinfo_entry
ruby_3_4 commit:c57efbfb3ac3848f954735600bbab1ea814dd742. k0kubun (Takashi Kokubun)
09:25 PM Bug #21438: use-after-free when resizing exivars
ruby_3_4 commit:45ddafb95bd732f7305925a779cd8403ac30e1bf. k0kubun (Takashi Kokubun)
09:24 PM Bug #21380: Use-After-Free in String#split with In-Block String Modification
ruby_3_4 commit:fee92000fe96ac2dba0e87c5ed60c7440c8e2117 merged revision(s) commit:fa85d23ff4a02985ebfe0716b0ff768f5b4fe13d. k0kubun (Takashi Kokubun)
09:23 PM Revision fee92000 (git): merge revision(s) fa85d23ff4a02985ebfe0716b0ff768f5b4fe13d: [Backport #21380]
[Bug #21380] Prohibit modification in String#split block
Reported at https://hackerone.com/reports/3163876
k0kubun (Takashi Kokubun)
09:23 PM Bug #21356: Error when accessing local variable named "default" with Binding#local_variable_get
Same here; the behavior was added in Ruby 3.5 and we don't even have the modified function in Ruby 3.4. I mark it "DONTNEED" for ruby_3_4 as well. k0kubun (Takashi Kokubun)
09:19 PM Bug #20009: Marshal.load raises exception when load dumped class include non-ASCII
ruby_3_4 commit:e68adac82a58e1b4a63d9e31047b59cbd515c54c merged revision(s) commit:097d742a1ed53afb91e83aef01365d68b763357b. k0kubun (Takashi Kokubun)
09:18 PM Bug #21370: `it` can cause ISeq serialization failure
Reverted the backport at commit:3a06b3d9f51bc4a3eef5fbaa035595ed34d65eba because it failed the CI:
```
TestISeq#test_serialize_anonymous_outer_variables: Test::Unit::AssertionFailedError: <1> expected but was

Retrying...
...
k0kubun (Takashi Kokubun)
08:54 PM Bug #21370: `it` can cause ISeq serialization failure
ruby_3_4 commit:acb19e8707093593e967b6af03d92da5c570ffc6 merged revision(s) commit:ff222ac27afe712ef6ec2bb74c81cdde1a1fa176. k0kubun (Takashi Kokubun)
09:17 PM Revision 3a06b3d9 (git): Revert "merge revision(s) ff222ac27afe712ef6ec2bb74c81cdde1a1fa176: [Backport #21370]"
This reverts commit acb19e8707093593e967b6af03d92da5c570ffc6. k0kubun (Takashi Kokubun)
09:14 PM Revision e68adac8 (git): merge revision(s) 097d742a1ed53afb91e83aef01365d68b763357b: [Backport #20009]
[Bug #20009] Support marshaling non-ASCII name class/module k0kubun (Takashi Kokubun)
09:14 PM Bug #21255: Can't build Ruby with Windows SDK 10.0.26100
ruby_3_4 commit:309b1aaf1f. k0kubun (Takashi Kokubun)
09:13 PM Bug #21283: Some tests of TestMkmfConvertible is failing with VS2022 17.14.0 preview 4.0
ruby_3_4 commit:84a90636c5. k0kubun (Takashi Kokubun)
09:11 PM Bug #21340: Bump autoconf version to properly handle C23 bool/stdbool defines
ruby_3_4 commit:ca1ea9578485c27daac1e16107cb48551a58d8ad. k0kubun (Takashi Kokubun)
09:10 PM Bug #21354: Symbol#to_proc is not ractor safe
ruby_3_4 commit:82e05dc945e3e2c5ab22be661f6caf6c7436461f merged revision(s) commit:f6cbf499bc98b851034fffb49fcbb59d495f6f7b. k0kubun (Takashi Kokubun)
09:10 PM Revision 82e05dc9 (git): merge revision(s) f6cbf499bc98b851034fffb49fcbb59d495f6f7b: [Backport #21354]
Fix Symbol#to_proc (rb_sym_to_proc) to be ractor safe
In non-main ractors, don't use `sym_proc_cache`. It is not thread-safe
to add to this array without a lock and also it leaks procs from one
ractor to another....
k0kubun (Takashi Kokubun)
09:08 PM Bug #21439: Crash with PM_SPLAT_NODE compiler error (Prism)
ruby_3_4 commit:585469aff3de855a9f3db8e51f12bf87300981af merged revision(s) commit:5ec9a392cdf7f971221dc073dd466bce877d8acb. k0kubun (Takashi Kokubun)
09:04 PM Revision 585469af (git): merge revision(s) 5ec9a392cdf7f971221dc073dd466bce877d8acb: [Backport #21439]
[Bug #21439] Fix `PM_SPLAT_NODE` compilation error in for loops (#13597)
[Bug #21439] Fix PM_SPLAT_NODE compilation error in for loops
This commit fixes a crash that occurred when using splat nodes (*) as
the in...
k0kubun (Takashi Kokubun)
09:01 PM Bug #21395: Please backport caa6ba1a46afa1bc696adc5fe91ee992f9570c89
ruby_3_4 commit:79b73dd862f6e439142e56301e60a58ed1d44030 merged revision(s) commit:8d49c05c134702c321198b70fbbf34dd80cc1ba6. k0kubun (Takashi Kokubun)
09:01 PM Revision 79b73dd8 (git): merge revision(s) 8d49c05c134702c321198b70fbbf34dd80cc1ba6: [Backport #21395]
Use the edge version of debug gem k0kubun (Takashi Kokubun)
08:56 PM Bug #21099: TestGc#test_gc_stress_at_startup assertion failure
ruby_3_4 commit:58d08abef567dab582ec5f7c3dcd2b8fabdaebd6 merged revision(s) commit:a084fef9afc7713aa4f4111f7e826c7ca1a607c7. k0kubun (Takashi Kokubun)
08:55 PM Revision 58d08abe (git): merge revision(s) a084fef9afc7713aa4f4111f7e826c7ca1a607c7: [Backport #21099]
[Bug #21099] Fix GC when Ractor list not initialized
When the Ractor list is not initialized and a GC is ran at boot, then it
would crash because the newobj_cache of the main Ractor is not cleared.
This commit ch...
k0kubun (Takashi Kokubun)
08:55 PM Bug #21394: Memory leak in Prism's RubyVM::InstructionSequence.new
ruby_3_4 commit:c397c2d177a0b7fd13b69c5109418fbe1f9eccd1 merged revision(s) commit:34b407a4a89e69dd04f692e2b29efa2816d4664a. k0kubun (Takashi Kokubun)
08:55 PM Revision c397c2d1 (git): merge revision(s) 34b407a4a89e69dd04f692e2b29efa2816d4664a: [Backport #21394]
Fix memory leak in Prism's RubyVM::InstructionSequence.new
[Bug #21394]
There are two ways to make RubyVM::InstructionSequence.new raise which
would cause the options->scopes to leak memory:
1. Passing ...
k0kubun (Takashi Kokubun)
08:54 PM Revision acb19e87 (git): merge revision(s) ff222ac27afe712ef6ec2bb74c81cdde1a1fa176: [Backport #21370]
compile.c: Handle anonymous variables in `outer_variable_cmp`
[Bug #21370]
k0kubun (Takashi Kokubun)
08:54 PM Bug #21383: Prism leaks memory with invalid yield
ruby_3_4 commit:cdb039d3e4f76ee01744814e5f08395835fa8e63 merged revision(s) commit:9f91f3617bab2ee220d298ddb874ef73b10dac23. k0kubun (Takashi Kokubun)
08:53 PM Revision cdb039d3 (git): merge revision(s) 9f91f3617bab2ee220d298ddb874ef73b10dac23: [Backport #21383]
Fix memory leak with invalid yield in prism
[Bug #21383]
The following script leaks memory:
10.times do
20_000.times do
eval("class C; yield; end")
rescue SyntaxE...
k0kubun (Takashi Kokubun)
08:52 PM Bug #21357: Crash in Hash#merge! with ruby-dev in rubocop-rspec test suite
ruby_3_4 commit:1bdae3404b2918a8823d2fbac2f9e30f778aa1c9 merged revision(s) commit:056497319658cbefe22351c6ec5c9fa6e4df72bd. k0kubun (Takashi Kokubun)
08:52 PM Revision 1bdae340 (git): merge revision(s) 056497319658cbefe22351c6ec5c9fa6e4df72bd: [Backport #21357]
[Bug #21357] Fix crash in Hash#merge with block
Prior to https://github.com/ruby/ruby/commit/49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c
the `optional_arg` passed from `rb_hash_update_block_i` to `tbl_update`
was a ...
k0kubun (Takashi Kokubun)
08:49 PM Bug #21333: heap-use-after-free caused by rehash during update
ruby_3_4 commit:247b452af3ace2000d27475a0cb05ebecf3bb29c merged revision(s) commit:49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c. k0kubun (Takashi Kokubun)
08:49 PM Revision 247b452a (git): merge revision(s) 49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c: [Backport #21333]
[Bug #21333] Prohibit hash modification inside Hash#update block k0kubun (Takashi Kokubun)
08:46 PM Bug #21197: Prism does not accept newline after defined? keyword
ruby_3_4 commit:1e3d24a0f47e142270bfb6073feb77f6364af052, commit:1c23c3095325a4ade2064cc3b35ce8e678e03ebf, commit:e630a0f7ae909dafe2e1dbc47baf90cd795b4a5f merged revision(s) commit:052794bfe1970e90f4f4f9e37fc362dd27903a8d. k0kubun (Takashi Kokubun)
08:34 PM Revision a6d48397 (git): ZJIT: Make debug info more detailed
Print the filename, line number, and whether or not the function has
been optimized:
```
Initial HIR:
fn initialize@test.rb:4:
bb0(v0:BasicObject):
v2:Fixnum[1] = Const Value(1)
SetIvar v0, :@a, v2
Return v2
Optimized HIR:
fn ini...
Max Bernstein
08:21 PM Revision 3a47f4ea (git): YJIT: Move RefCell one level down
This is the second part of making YJIT work with parallel GC.
During GC, `rb_yjit_iseq_mark` and `rb_yjit_iseq_update_references` need
to resolve offsets in `Block::gc_obj_offsets` into absolute addresses
before reading or updating the ...
wks (Kunshan Wang)
08:21 PM Revision 51a3ea5a (git): YJIT: Set code mem permissions in bulk
Some GC modules, notably MMTk, support parallel GC, i.e. multiple GC
threads work in parallel during a GC. Currently, when two GC threads
scan two iseq objects simultaneously when YJIT is enabled, both threads
will attempt to borrow `Co...
wks (Kunshan Wang)
07:22 PM Revision e288a866 (git): ZJIT: Restore SP register after JIT-to-JIT call (#13882)
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Co-authored-by: Stan Lo <stan.lo@shopify.com>
Takashi Kokubun
05:42 PM Feature #21346: Introduce `String#ensure_suffix`
I've updated the documentation examples to reflect the typical use:
```rb
"script".ensure_suffix(".rb") # => "script.rb"
"script.rb".ensure_suffix(".rb") # => "script.rb"
"script.r".ensure_suffix(".rb") # => "script.r.rb"
```
matheusrich (Matheus Richard)
03:34 PM Bug #21512: Socket.tcp_with_fast_fallback('example.com', 80, '127.0.0.1') fails with unknown socket domain: ipv4 (SocketError)
I have opened a pull request: https://github.com/ruby/ruby/pull/13878
This bug is around from Ruby 3.4 when HEv2 was introduced.
osyoyu (Daisuke Aritomo)
03:33 PM Bug #21512 (Closed): Socket.tcp_with_fast_fallback('example.com', 80, '127.0.0.1') fails with unknown socket domain: ipv4 (SocketError)
The following code is expected to open a socket bound to the local IPv4 interface, but raises an SocketError.
```ruby
require 'socket'
Socket.tcp_with_fast_fallback('localhost', 8080, '127.0.0.1')
```
Expected behavior: Returns ...
osyoyu (Daisuke Aritomo)
03:11 PM Revision b2a7b769 (git): Remove dead rb_cc_table_free
peterzhu2118 (Peter Zhu)
03:11 PM Revision 127cc425 (git): Remove dead rb_cc_table_mark
peterzhu2118 (Peter Zhu)
02:05 PM Revision 64d4e772 (git): [DOC] Tweaks for String#delete_suffix! (#13872)
burdettelamar (Burdette Lamar)
01:58 PM Revision 07a3ab53 (git): [DOC] Tweaks for String#delete_suffix
burdettelamar (Burdette Lamar)
01:58 PM Revision 55dd2022 (git): [DOC] Tweaks for String#delete_prefix!
burdettelamar (Burdette Lamar)
01:57 PM Revision d38bb4ad (git): [DOC] Tweaks for String#delete_prefix
burdettelamar (Burdette Lamar)
12:25 PM Bug #21029: Prism behavior for `defined? (;x)` differs

I agree that consistent behavior between both cases would be ideal.
Given the current structure of `parse.y`, wrapping with `NODE_BLOCK` seems like the most straightforward approach to make both `defined?(;x)` and `defined?(x;)` ret...
S_H_ (Shun Hiraoka)
10:01 AM Bug #19154: Specify require and autoload guarantees in ractors
Awesome John! Thanks very much! fxn (Xavier Noria)
09:29 AM Bug #21511: Use-after-free of the execution context after the fiber object carrying it is freed in GC
using ruby 3.5.0dev (2025-07-14T05:11:58Z master 8f54b5bb93) +PRISM [x86_64-linux]
``` shell
# this is currently in the forked proc in GC (the `fork { GC.start }` part)
# thread 3.3 is the created thread by Thread.new
(gdb) i thre...
tuonigou (tianyang sun)
07:33 AM Bug #21511: Use-after-free of the execution context after the fiber object carrying it is freed in GC
nobu (Nobuyoshi Nakada) wrote in #note-3:
> 3.4.1 is outdate.
> ...
Thank you I am trying to compile the current master branch and maybe the 3.4.4 release.
tuonigou (tianyang sun)
07:26 AM Bug #21511 (Open): Use-after-free of the execution context after the fiber object carrying it is freed in GC
3.4.1 is outdate.
Could you try with more recent version?
BTW, 3.4.1 tarball is not listed there, but still exists.
https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz
And its `RUBY_REVISION` in `revision.h` is `"48d4efcb85"...
nobu (Nobuyoshi Nakada)
07:10 AM Bug #21511: Use-after-free of the execution context after the fiber object carrying it is freed in GC
nobu (Nobuyoshi Nakada) wrote in #note-1:
> I can't reproduce it with ruby_3_4 (commit:1e3d24a0f47) on aarch64-linux.
> ...
Sorry I was using the 3.4.1 stable release from https://www.ruby-lang.org/en/downloads/, which is not on there ...
tuonigou (tianyang sun)
06:56 AM Bug #21511 (Feedback): Use-after-free of the execution context after the fiber object carrying it is freed in GC
I can't reproduce it with ruby_3_4 (commit:1e3d24a0f47) on aarch64-linux.
What version is commit:de8de51182?
nobu (Nobuyoshi Nakada)
04:39 AM Bug #21511 (Closed): Use-after-free of the execution context after the fiber object carrying it is freed in GC
In bootstraptest/test_thread.rb,
``` ruby
assert_equal 'ok', %{
File.write("zzz_t1.rb", <<-END)
begin
Thread.new { fork { GC.start } }.join
pid, status = Process.wait2
$result = status.success? ?...
tuonigou (tianyang sun)
05:11 AM Revision 8f54b5bb (git): [ruby/uri] [DOC] Update old use of `URI::Parser`
https://github.com/ruby/uri/commit/d2a79c6343 nobu (Nobuyoshi Nakada)
05:11 AM Revision d1470914 (git): [ruby/uri] [DOC] Document private visibility too
For the references to URI::RFC2396_Parser private methods.
https://github.com/ruby/uri/commit/372fbb455d
nobu (Nobuyoshi Nakada)
05:11 AM Revision 1a03270a (git): [ruby/uri] [DOC] Fix references
These are instance methods, not class methods. And `URI::Parser` was
moved to URI::RFC2396_Parser at [r46491]
[r46491]: https://github.com/ruby/ruby/commit/bb83f32dc3e0
https://github.com/ruby/uri/commit/452d74390c
nobu (Nobuyoshi Nakada)
02:52 AM Revision 7a03a02b (git): [rubygems/rubygems] Fix more warnings when running old Bundler with latest RubyGems
Also fix platform warnings when Bundler's entrypoint is bundler's
binstub.
https://github.com/rubygems/rubygems/commit/4b1df58403
deivid (David Rodríguez)
02:52 AM Revision c3d41492 (git): [rubygems/rubygems] Avoid more warnings when using RubyGems with old Bundler
We were only avoiding them when the RUBYGEMS_GEMDEPS variable is used.
Avoid the warnings in general, whenever the entrypoint to Bundler is
`require`.
https://github.com/rubygems/rubygems/commit/8683faef36
deivid (David Rodríguez)
02:52 AM Revision a93c6840 (git): [rubygems/rubygems] Change helper to load only Bundler extensions to RubyGems
We'll want to reuse this helper in other situations where we don't want
all Bundler loaded.
https://github.com/rubygems/rubygems/commit/9e7018b0a1
deivid (David Rodríguez)
02:52 AM Revision 1c48aa6f (git): [rubygems/rubygems] Move loading Bundler without platform warnings to a method
https://github.com/rubygems/rubygems/commit/e068f0649a deivid (David Rodríguez)
02:52 AM Revision 4651d235 (git): [rubygems/rubygems] No need to detect ancient binstubs either
https://github.com/rubygems/rubygems/commit/346d491a11 deivid (David Rodríguez)
02:52 AM Revision 15751af9 (git): [rubygems/rubygems] Improve some heredoc indentations
https://github.com/rubygems/rubygems/commit/6ee3a33048 deivid (David Rodríguez)
02:52 AM Revision f1cbd58a (git): [rubygems/rubygems] Stop generating binstubs with support for RubyGems before 2.6.2
RubyGems generated binstubs still provide support for this ancient
version. This makes no sense since we prevent downgrades to such old
versions.
https://github.com/rubygems/rubygems/commit/089cdc3b77
deivid (David Rodríguez)
02:52 AM Revision 51e89003 (git): [rubygems/rubygems] Reset tmp directories before spec suite
If you abort running test suite with a quick double Ctrl-C, tmp files
will be left around, and they will interfere with the next test run.
To avoid this, make sure to clear them once at the beginning of the test
suite.
### Before
```
...
deivid (David Rodríguez)
02:52 AM Revision 7dc28418 (git): [rubygems/rubygems] Load RubyGems extensions in the first place
This is not currently causing any issues, but I think the most correct
thing to do is that Bundler loads the extensions to RubyGems in the
first place, so that they are available from the beginning.
https://github.com/rubygems/rubygems/...
deivid (David Rodríguez)
02:19 AM Revision 55baf026 (git): Fix an indent [ci skip]
nobu (Nobuyoshi Nakada)

07/13/2025

04:37 AM Revision f03cc0b5 (git): [ruby/uri] Repeat matching to reduce deviations
https://github.com/ruby/uri/commit/fa49e5b8ae nobu (Nobuyoshi Nakada)
04:37 AM Revision 9c166d26 (git): [ruby/uri] Test in exponential scale with rehearsal
https://github.com/ruby/uri/commit/be35e0b4d8 nobu (Nobuyoshi Nakada)

07/12/2025

06:22 PM Revision b438915f (git): [DOC] TWeaks for String#delete!
burdettelamar (Burdette Lamar)
05:08 PM Revision e1bc92d0 (git): [DOC] Tweaks for String#delete
burdettelamar (Burdette Lamar)
02:55 PM Revision b0db93c0 (git): [DOC] Tweaks for String#count
burdettelamar (Burdette Lamar)
02:49 PM Bug #21510 (Closed): Rails server crashes on Mac M2 with Bus Error at 0x0000000109946aac
Thank you for the bug report. You appear to be running on Ruby 2.6, which was EOL in 2022. As such, I'll be closing this issue.
The currently supported Ruby versions are Ruby 3.3 and 3.4, please upgrade and open a new ticket if you en...
peterzhu2118 (Peter Zhu)
02:24 PM Bug #21510: Rails server crashes on Mac M2 with Bus Error at 0x0000000109946aac
Although the issue seems related to `pg` gem, I can run activerecord statements on a rails console session and they work perfectly fine. In that case, I may assume that this is not exactly a `pg` gem related issue. jkvithanage (Janaka Vithanage)
02:18 PM Bug #21510 (Closed): Rails server crashes on Mac M2 with Bus Error at 0x0000000109946aac
I have been struggling to setup a Rails 5.1.7 application on my Macbook M2 for months.
I installed Rosetta, x86_64 brew and my terminal app is set to run with Rosetta.
``` shell
~ ❯ arch
i386
~ ❯ which brew
/usr/local/bin/brew
~ ❯...
jkvithanage (Janaka Vithanage)
01:34 PM Revision 9e7a985c (git): [Bug #21509] [DOC] Correct `IO#wait` description
nobu (Nobuyoshi Nakada)
01:32 PM Bug #21509 (Closed): io/wait: IO#wait raises error when passed nil as timeout
Applied in changeset commit:git|dbf7a0c713c39bdfd22c24e69f4bb0b89c9cab65.
----------
[ruby/io-wait] [Bug #21509] [DOC] Correct `IO#wait` description
https://github.com/ruby/io-wait/commit/c65af887a1
nobu (Nobuyoshi Nakada)
01:32 PM Revision dbf7a0c7 (git): [ruby/io-wait] [Bug #21509] [DOC] Correct `IO#wait` description
https://github.com/ruby/io-wait/commit/c65af887a1 nobu (Nobuyoshi Nakada)
01:25 PM Revision 753e3b7a (git): [ruby/openssl] asn1: align UTCTime year range with RFC 5280
ASN.1 UTCTime uses two-digit years. While X.680 does not specify how to
map them as far as I can tell, X.509/PKIX uses this type to represent
dates between year 1950-2049.
OpenSSL::ASN1.decode has used 1969-2068 since the initial
implem...
rhenium (Kazuki Yamaguchi)
10:32 AM Bug #20686 (Closed): URI::HTTPS can build URI with blank, invalid host
Applied in changeset commit:git|22b81b5bf56d7c5053008697d9e6b2a9c4eb79f4.
----------
[ruby/uri] Do not allow empty host names, as they are not allowed by RFC 3986
Pointed out by John Hawthorn.
Fixes [Bug #20686]
https://github.com/ru...
jeremyevans (Jeremy Evans)
10:32 AM Revision cf7b871a (git): [ruby/uri] Improve performance of `URI::MailTo::EMAIL_REGEXP`
Fix the performance regression at #172 for valid emails.
``` yml
prelude: |
require 'uri/mailto'
n = 1000
re = URI::MailTo::EMAIL_REGEXP
benchmark:
n.t..t.: re.match?("n.t..t.@docomo.ne.jp")
example: re.match?("example@example...
nobu (Nobuyoshi Nakada)
07:07 AM Revision 22b81b5b (git): [ruby/uri] Do not allow empty host names, as they are not allowed by RFC 3986
Pointed out by John Hawthorn.
Fixes [Bug #20686]
https://github.com/ruby/uri/commit/c0cfa04a66
jeremyevans (Jeremy Evans)
07:07 AM Revision 1add45e2 (git): [ruby/uri] Prohibit successive dots in email
https://github.com/ruby/uri/commit/32335923bf nobu (Nobuyoshi Nakada)
07:07 AM Revision 859d7427 (git): [ruby/uri] More tests for `check_to`
https://github.com/ruby/uri/commit/b1b5f9a476 nobu (Nobuyoshi Nakada)
03:31 AM Revision c97eba9b (git): [ruby/uri] lib/uri/mailto.rb (EMAIL_REGEXP): use assertions surrounding the local part instead of a character class
https://github.com/ruby/uri/commit/2d7d2d9988 Nikita Levchuk
03:31 AM Revision 0685e8ca (git): [ruby/uri] lib/uri/mailto.rb (EMAIL_REGEXP): the local part should not contain leading or trailing dots
https://github.com/ruby/uri/commit/618e2bb640 Nikita Levchuk
03:24 AM Revision f1764623 (git): [ruby/uri] Make URI::regexp schemes case sensitive
(https://github.com/ruby/uri/pull/38)
https://github.com/ruby/uri/commit/0c2b6468fa
nobu (Nobuyoshi Nakada)
03:05 AM Revision c47a92b6 (git): [ruby/uri] Fix the message for unexpected argument
Use just `self` instead of `self.class`, in `URI::Generic.build`.
Since this is a class method, `self.class` is always `Class` even in
inherited sub classes, and does not have `#component` method.
https://github.com/ruby/uri/commit/6f44...
nobu (Nobuyoshi Nakada)

07/11/2025

08:24 PM Revision 3ec46aad (git): ZJIT: Mark objects baked in JIT code (#13862)
Takashi Kokubun
06:07 PM Revision c592cbd6 (git): [DOC] Fix links to RDoc in documentation_guide.md
Since RDoc's documentation is built separately now, the references will
no longer work.
peterzhu2118 (Peter Zhu)
06:07 PM Revision 482eeb7d (git): [DOC] Remove doc/rdoc/markup_reference.rb
RDoc has been moved from a default gem to a bundled gem, which means that
the source code is no longer in the ruby/ruby repository. We should also
remove doc/rdoc/markup_reference.rb.
peterzhu2118 (Peter Zhu)
05:20 PM Revision 1582bd93 (git): Add Timeout message when bootstraptest times out
jhawthorn (John Hawthorn)
04:55 PM Revision b0b1712b (git): ZJIT: Use Vec instead of HashMap for profiling (#13809)
This is notably faster: no need to hash indices.
Before:
```
plum% samply record ~/.rubies/ruby-zjit/bin/ruby --zjit benchmarks/getivar.rb
ruby 3.5.0dev (2025-07-10T14:40:49Z master 51252ef8d7) +ZJIT dev +PRISM [arm64-darwin24]
itr: ...
tekknolagi (Maxwell Bernstein)
04:49 PM Revision b760afe2 (git): ZJIT: Improve asm comments for side exits (#13853)
* ZJIT: Improve asm comments for side exits
* Use GuardType(Type) and GuardBitEquals(VALUE)
Takashi Kokubun
04:41 PM Revision 77de6b4e (git): [DOC] Add ZJIT glossary table
Stan Lo
04:41 PM Revision c0b9480b (git): [DOC] Add a few new terms to Ruby glossary
Stan Lo
04:30 PM Revision bd162dc0 (git): ZJIT: Run validation between compiler passes in debug mode
Max Bernstein
04:30 PM Revision e53bfe21 (git): ZJIT: Fix missing find!() for SetIvar
Max Bernstein
04:30 PM Revision 0d7d87b4 (git): ZJIT: Gracefully handle iseq_name with NULL ISEQ
Max Bernstein
04:30 PM Revision e3456d61 (git): ZJIT: Don't stringify Function in ValidationError
That's not the validator's responsibility; the caller can choose to
later.
Max Bernstein
04:13 PM Bug #18903: Stack overflow signal handling seems to be triggered once and then not working after
One observation I have is that there are ways to prevent this in application code:
```ruby
require 'json'
circular_reference_hash = {}.tap { |h| h[:self] = h }
# Globally
JSON.dump_default_options[:max_nesting] = 100
JSON.dump(circular...
soulcutter (Bradley Schaefer)
02:04 PM Bug #21509 (Closed): io/wait: IO#wait raises error when passed nil as timeout
The [documentation of the method](https://ruby-doc.org/3.4.1/exts/io/wait/IO.html#method-i-wait) goes:
wait(timeout = nil, mode = :read) → self, true, or false
However, when passing `nil` in the first argument, it fails:
...
chucke (Tiago Cardoso)
10:45 AM Revision 12d44dbc (git): Use an invariant condition
Cannot rule out the possibility that `crr->silent` is modified during
`func`.
nobu (Nobuyoshi Nakada)
09:04 AM Feature #21501: Include native filenames in backtraces as sources for native methods
> The underlying premise is that a bug is far more likely to be in the user's Ruby code [...]
Yup, I can very very much understand this argument.
We actually have a feature on the datadog ruby profiler which we call "only my code" ...
ivoanjo (Ivo Anjo)
02:43 AM Feature #21501: Include native filenames in backtraces as sources for native methods
Let me clarify why the current behavior is generally preferred.
The underlying premise is that a bug is far more likely to be in the user's Ruby code than in the C extensions.
Therefore, a line like:
```
native-filenames-exampl...
mame (Yusuke Endoh)
08:32 AM Revision 9760ec6f (git): [DOC] Move document only source to doc
nobu (Nobuyoshi Nakada)
06:26 AM Feature #21459 (Closed): Add Set C-API
Feature added in commit:2ab38691a2683c992bf2886159094afd5e461233 jeremyevans0 (Jeremy Evans)
06:24 AM Revision 0b23a8db (git): Update dependencies for addition of set.h to public headers
jeremyevans (Jeremy Evans)
06:24 AM Revision 2ab38691 (git): Add Set C-API
This should be a minimal C-API needed to deal with Set objects. It
supports creating the sets, checking whether an element is the set,
adding and removing elements, iterating over the elements, clearing
a set, and returning the size of t...
jeremyevans (Jeremy Evans)
06:24 AM Revision 08d4f789 (git): Rename some set_* functions to set_table_*
These functions conflict with the planned C-API functions. Since they
deal with the underlying set_table pointers and not Set instances,
this seems like a more accurate name as well.
jeremyevans (Jeremy Evans)
06:19 AM Bug #21507 (Closed): Regexp considers variable repetition quantifiers invalid in lookbehind
Applied in changeset commit:git|b2fdd26417d1539014c7af499ab1f9b398eca4c0.
----------
Lookbehind regexp must be fixed-length
Fixes [Bug #21507]
mame (Yusuke Endoh)
03:36 AM Bug #21507 (Open): Regexp considers variable repetition quantifiers invalid in lookbehind
mame (Yusuke Endoh)
03:36 AM Bug #21507 (Feedback): Regexp considers variable repetition quantifiers invalid in lookbehind
This is currently an intended implementation limitation.
This behavior comes from the specifications of Onigmo, which Ruby's regular expression engine is based on. The Onigmo documentation states the following about look-behinds:
`...
mame (Yusuke Endoh)
02:48 AM Bug #21507 (Closed): Regexp considers variable repetition quantifiers invalid in lookbehind
This is my first bug subscription, please feel free to tell me if I can do anything better.
# Description
Attempting to use "variable" repetition quantifiers (`?`, `+`,`*`,`{n,}`, ...) inside lookbehind anchors raises a **SyntaxErr...
tiago-macedo (Tiago Macedo)
06:19 AM Revision b2fdd264 (git): Lookbehind regexp must be fixed-length
Fixes [Bug #21507] mame (Yusuke Endoh)
06:08 AM Revision 1317377f (git): ZJIT: A64: Have add/sub to SP be single-instruction
Previously a missed optimization for add followed by mov. While we're
at it, have Add and Sub share the same match arm in arm64_split().
alanwu (Alan Wu)
05:47 AM Revision 0058bee5 (git): Fix `heap-use-after-free` in `rb_getaddrinfo` (#13856)
This change addresses the following ASAN error:
```
==1973462==ERROR: AddressSanitizer: heap-use-after-free on address 0x5110002117dc at pc 0x749c307c8a65 bp 0x7ffc3af331d0 sp 0x7ffc3af331c8
READ of size 4 at 0x5110002117dc thread T0
...
Misaki Shioi
05:45 AM Feature #21039: Ractor.make_shareable breaks block semantics (seeing updated captured variables) of existing blocks
The followings are also approved; changing an existing proc object to shareable should be prohibited.
> * raise on `Ractor.make_shareable(proc)`
> ...
mame (Yusuke Endoh)
05:43 AM Feature #21039: Ractor.make_shareable breaks block semantics (seeing updated captured variables) of existing blocks
https://github.com/ruby/dev-meeting-log/blob/master/2025/DevMeeting-2025-07-10.md#feature-21039-ractormake_shareable-breaks-block-semantics-seeing-updated-captured-variables-of-existing-blocks-eregon
* `Ractor.shareable_proc { }` retu...
mame (Yusuke Endoh)
05:09 AM Misc #21399 (Closed): DevMeeting-2025-07-10
mame (Yusuke Endoh)
05:09 AM Misc #21508 (Closed): DevMeeting-2025-08-21
# The next dev meeting
**Date: 2025/08/21 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2025/DevMeeting-2025-08-21.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t...
mame (Yusuke Endoh)
01:15 AM Revision a02dcbfd (git): Remove accidentally committed method Module.gccct_clear_table
This was probably meant to be only for debugging. It was introduced in
the big namespace on read commit: 382645d440d
Luke Gruber
01:12 AM Revision 0e2bae82 (git): ZJIT: Print a message about ZJIT_RB_BUG when unused (#13852)
Takashi Kokubun
12:26 AM Bug #21503 (Closed): \p{Word} does not match on \p{Join_Control} while docs say it does
https://github.com/ruby/ruby/pull/7711 has been merged hsbt (Hiroshi SHIBATA)

07/10/2025

10:57 PM Bug #21505 (Closed): [Ractor] calling exit from non-main ractor will hang if main ractor waits on it
Applied in changeset commit:git|6c66458070e2de45213f473ac30b431ebea81b9b.
----------
Fix rb_eSystemExit raised in Ractor
[Bug #21505]
Previously `Ractor.new { exit }.join` would hang because SystemExit was
special cased.
This commit ...
jhawthorn (John Hawthorn)
10:57 PM Revision 6c664580 (git): Fix rb_eSystemExit raised in Ractor
[Bug #21505]
Previously `Ractor.new { exit }.join` would hang because SystemExit was
special cased.
This commit updates this to take the same path as other exceptions,
which wraps the exception in a Ractor::RemoteError and does not end...
jhawthorn (John Hawthorn)
09:10 PM Revision 470e11a4 (git): ZJIT: Mark Snapshot as having an output
Other instructions use it as an operand and #13814 especially needs it
to have an output for validation.
Max Bernstein
09:10 PM Revision 45be0e99 (git): ZJIT: Validate that each IR instruction appears at most once
Max Bernstein
08:40 PM Revision b1828cbb (git): ZJIT: Implement patch points on BOP redefinition (#13850)
Co-authored-by: Max Bernstein <max@bernsteinbear.com> Takashi Kokubun
07:11 PM Revision 214983bd (git): ZJIT: Add def-use validator via dataflow analysis (#13814)
This PR adds a validator based on dataflow analysis to ZJIT. It checks that all uses are dominated by a GEN-DEF prior.
See issue https://github.com/Shopify/ruby/issues/591
This is especially useful in validating optimizations don't zap...
Ken Jin
07:08 PM Revision 9ab80a74 (git): ZJIT: Avoid optimizing locals on eval (#13840)
* ZJIT: Avoid optimizing locals on eval
* Maintain the local state for eval
Takashi Kokubun
03:56 PM Revision 9d41541b (git): Fix unused variable warnings in default.c in modular GC
The asan and valgrind macros when BUILDING_MODULAR_GC don't use the variables
which could the compiler to emit unused variable warnings.
peterzhu2118 (Peter Zhu)
03:18 PM Revision 1fb4929a (git): Make `rb_enc_autoload_p` atomic
Using `encoding->max_enc_len` as a way to check if the encoding
has been loaded isn't atomic, because it's not atomically set
last.
Intead we can use a dedicated atomic value inside the encoding table.
byroot (Jean Boussier)
02:40 PM Revision 51252ef8 (git): [DOC] Tweaks for String#concat (#13836)
burdettelamar (Burdette Lamar)
02:02 PM Revision a1acba6d (git): [DOC] Tweaks for String#codepoints
burdettelamar (Burdette Lamar)
12:42 PM Revision 800de989 (git): [Bug #19417] Update version guard
nobu (Nobuyoshi Nakada)
12:35 PM Bug #21506 (Closed): Fix timeout in `Addrinfo.getaddrinfo` to actually take effect
Applied in changeset commit:git|cdeb9c4d7020d36f157fde57eb12108c2515f031.
----------
Fix timeout in Addrinfo.getaddrinfo to actually take effect (#13803)
[Bug #21506] Fix timeout in Addrinfo.getaddrinfo to actually take effect
This ch...
Anonymous
12:35 PM Revision cdeb9c4d (git): Fix timeout in Addrinfo.getaddrinfo to actually take effect (#13803)
[Bug #21506] Fix timeout in Addrinfo.getaddrinfo to actually take effect
This change fixes an issue where the timeout option in `Addrinfo.getaddrinfo` was not functioning as expected.
It also addresses a related issue where specifying ...
Misaki Shioi
12:28 PM Revision bd18238a (git): [Bug #19417] Make word prop match join_control ...
... to conform to UTS 18 as mentioned in https://bugs.ruby-lang.org/issues/19417#note-3
https://unicode.org/reports/tr18/#word states word should match join_control chars.
It currently does not:
```ruby
[*0x0..0xD799, *0xE000..0x10FFF...
janosch-x (Janosch Müller)
12:02 PM Feature #21454: "undefined method 'break' for an instance of Binding"
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Use no-dbg.rb with `RUBYOPT=-rno-dbg` when you run without `rdbg`.
> ...
Interesting idea. Assuming that I should request this feature in rdbg project.
> BTW debug.gem supports specifying ...
vo.x (Vit Ondruch)
09:04 AM Feature #21454 (Feedback): "undefined method 'break' for an instance of Binding"
In today's dev meeting, we emphasized that it's important to ensure `binding.break` (or `debugger`) is removed before release, so having it as a no-op is a bad idea.
----
BTW debug.gem supports specifying breakpoints by adding environm...
ko1 (Koichi Sasada)
08:57 AM Feature #21454: "undefined method 'break' for an instance of Binding"
Use no-dbg.rb with `RUBYOPT=-rno-dbg` when you run without `rdbg`.
```ruby
class Binding
def break = nil
end
```
nobu (Nobuyoshi Nakada)
09:39 AM Bug #21503: \p{Word} does not match on \p{Join_Control} while docs say it does
It looks `\p{Word}` is updated in TR#18 Version 15.
https://www.unicode.org/reports/tr18/tr18-15.html
The fix looks good.
naruse (Yui NARUSE)
09:23 AM Bug #21456 (Rejected): IO.close does not work in a rescue IO::TimeoutError block.
dE (dE Techno) wrote:
> not sure what signal it sends, it's undocumented
No signal is sent.
Send a signal by yourself if you want to stop the process.
Since your example invokes a grand child process, add `pgroup` option and send...
nobu (Nobuyoshi Nakada)
08:56 AM Feature #21435 (Rejected): Kernel#then_try as a conditional #then
From my point of view, it doesn't make the code clearer. Besides that, the core Ruby does not provide even `#try`.
Maybe ActiveSupport wants to add this method, but not in the core.
Matz.
matz (Yukihiro Matsumoto)
08:53 AM Bug #21452 (Rejected): ARGS_SPLAT bytecode regression between 3.3 and 3.4
I agree with @jeremyevans0 here. I consider this as an optimization.
Matz.
matz (Yukihiro Matsumoto)
08:51 AM Feature #21386: Introduce `Enumerable#join_map`
FWIW, this function is called `mapconcat` in Emacs: https://www.gnu.org/software/emacs/manual/html_node/elisp/Mapping-Functions.html#index-mapconcat
I once wanted this when I implemented shelljoin() and chose to just call map and join...
knu (Akinori MUSHA)
08:38 AM Feature #21386 (Rejected): Introduce `Enumerable#join_map`
I reject this proposal. Simply combine join and map at the moment.
I hope JIT inlining will remove intermediate objects in the future.
Matz.
matz (Yukihiro Matsumoto)
02:54 AM Feature #21386: Introduce `Enumerable#join_map`
https://github.com/ruby/dev-meeting-log/blob/master/2019/DevMeeting-2019-03-11.md
> [Feature #15323] Proposal: Add Enumerable#filter_map
> ...
That's why I was against it 🤦
mame (Yusuke Endoh)
08:51 AM Feature #20205: Enable `frozen_string_literal` by default
Probably we would have Ruby4.0 in 2025, but I am not going to make frozen-string-literal default this year.
Matz.
matz (Yukihiro Matsumoto)
08:45 AM Feature #21455 (Rejected): Add a block argument to Array#join
It's fundamentally `join_map` we have rejected. Array#join should join, not mapping.
We are not going to add every enumerable method combined with map. `filter_map` is an exception.
Matz.
matz (Yukihiro Matsumoto)
08:33 AM Feature #4539 (Rejected): Array#zip_with
I don't think it's worth adding a new method.
Matz.
matz (Yukihiro Matsumoto)
08:30 AM Feature #21346: Introduce `String#ensure_suffix`
I don't think other candidates are better. Probably typical usage `str.ensure_suffix(".rb")` helps you understand the behavior.
Matz.
matz (Yukihiro Matsumoto)
08:19 AM Feature #21039: Ractor.make_shareable breaks block semantics (seeing updated captured variables) of existing blocks
I'd like to have `Ractor.shareble_proc` and `Ractor.sharable_lambda`. See the agenda from 20250710 developer meeting.
Matz.
matz (Yukihiro Matsumoto)
08:17 AM Feature #21459: Add Set C-API
I accept the proposal.
Matz.
matz (Yukihiro Matsumoto)
08:15 AM Feature #21442 (Assigned): Make tsort to bundled gems
I got the approval from @akr at https://bugs.ruby-lang.org/issues/21399
I added warning for this at commit:65a0f46880ecb13994d3011b7a95ecbc5c61c5a0
hsbt (Hiroshi SHIBATA)
07:48 AM Revision 65a0f468 (git): Warn to use tsort for Ruby 3.6 that will be released at 2026
hsbt (Hiroshi SHIBATA)
06:45 AM Revision bec1ff62 (git): Sort `COMMONOBJS` alphabetically
nobu (Nobuyoshi Nakada)
06:40 AM Revision 8cc109a8 (git): [rubygems/rubygems] Update vendored resolv to 0.6.2
https://github.com/rubygems/rubygems/commit/afbbc02763 hsbt (Hiroshi SHIBATA)
05:16 AM Feature #17473: Make Pathname to embedded class of Ruby
Regarding the original proposal, I'd accept making Pathname built-in, considering its wide accepting among the community, especially with Rails.
Whether to keep the built-in Pathname in the C implementation or implement it in Ruby is le...
matz (Yukihiro Matsumoto)
03:44 AM Bug #19473: can't be called from trap context (ThreadError) is too limiting
We know that signal handlers run in a trap context, but are there other ways this can happen? I was under the impression GC finalizers also run in a pseudo-trap context, preventing the use of Mutex too. Of course, using a mutex during GC... ioquatix (Samuel Williams)
12:28 AM Revision 581da51c (git): Fix whitespace on some RB_VM_LOCKING calls
jhawthorn (John Hawthorn)
 

Also available in: Atom