Project

General

Profile

Activity

From 10/15/2025 to 10/21/2025

Today

06:46 PM Misc #21646: Propose Luke Gruber as a Ruby committer
I would be honored to join as a committer if you'll have me. Thank you everyone! luke-gru (Luke Gruber)
06:41 PM Misc #21646: Propose Luke Gruber as a Ruby committer
+1 Luke is very helpful with Ractor development, and I think he would make a great addition to the team! tenderlovemaking (Aaron Patterson)
03:45 PM Feature #21572: Make illegal variable in alternation pattern a syntax error
I agree with you, @kddnewton.
Your proposal makes sense.
ktsj (Kazuki Tsujimoto)
11:57 AM Bug #21645: Can't `require "resolve"` on Windows under Bundler without warnings
Here is a standalone workflow that demonstrates the issue closer to how I actually encountered it:
```yml
name: Test
on: push
jobs:
make:
runs-on: windows-latest
steps:
- run: echo "source 'https://rubygems.or...
Earlopain (Earlopain _)
08:02 AM Feature #21636 (Closed): Proposal to Introduce a Dedicated Warning Category for Regular Expressions
Thank you, I'll close this for now. If there's anything else you'd like to discuss, please let me know. mame (Yusuke Endoh)
03:35 AM Feature #21642: Introduce `IO::ConnectionResetError` and `IO::BrokenPipeError` as standardized IO-level exceptions.
I talked with @akr-san. He said it should be first confirmed whether you have any real use cases that actually want to handle situations like "can't read but can write" (or vice versa).
Pipes are typically unidirectional, so when a wr...
mame (Yusuke Endoh)
01:38 AM Revision 3b87e76c (git): [DOC] Tweaks for String#rpartition
burdettelamar (Burdette Lamar)
01:37 AM Revision e930bd3e (git): [DOC] Tweaks for String#rstrip!
burdettelamar (Burdette Lamar)

10/20/2025

11:39 PM Misc #21646: Propose Luke Gruber as a Ruby committer
+1 Luke has been doing great work and is really knowledgeable in Ractors peterzhu2118 (Peter Zhu)
10:51 PM Misc #21646 (Open): Propose Luke Gruber as a Ruby committer
I'd like to propose adding Luke Gruber (@luke-gru) as a Ruby committer.
He's been contributing to CRuby [since 2019](https://github.com/ruby/ruby/commit/ec8e5f5aa64e2a54cf1e303f2b012c98e8d521ba) fixing a variety of bugs and being acti...
jhawthorn (John Hawthorn)
09:30 PM Revision 17368234 (git): ZJIT: Implement codegen for FixnumMod (#14857)
This is mostly to see what happens to the loops-times benchmark. tekknolagi (Maxwell Bernstein)
08:55 PM Revision 6e9f7974 (git): [DOC] Create doc/contributing/concurrency_guide.md
This guide is for those that want to contribute to ruby but don't
understand where they need to use locks or other concurrency mechanisms.
It teaches them how to use these locks safely and what is prohibited in
certain circumstances.
Luke Gruber
08:10 PM Revision e047cea2 (git): ZJIT: Optimize send with block into CCallWithFrame (#14863)
Since `Send` has a block iseq, I updated `CCallWithFrame` to take an optional `blockiseq` as well, and then generate `CCallWithFrame` for `Send` when the condition is right.
## Stats
`liquid-render` Benchmark
| Metric ...
Stan Lo
04:24 PM Revision 5d2a244b (git): [Bug #21644] compile.c: fix `newrange` INSN peephole optimization for chilled string
ref: https://bugs.ruby-lang.org/issues/21644
```shell
$ ruby -v -e '("a" || "b").."c"'
ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
-e:1: warning: possibly useless use of .. in void context
-e:1: [BUG] Stack consist...
viralpraxis (Iaroslav Kurbatov)
04:22 PM Revision 33f1af67 (git): ZJIT: Remove idx from hir::Insn::Param (#14872)
It turns out that we don't use it anywhere. tekknolagi (Maxwell Bernstein)
03:14 PM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
Hi, I am not sure we should solve this in IO, the error lies more in calling eof? in the first place I would say as eof? is meant to be blocking - and currently I only see solutions that involve non-blocking calls.
The solution propos...
dotconfig404 (Friedrich Raschwitz)
02:55 PM Revision fba349e6 (git): ZJIT: Implement expandarray (#14847)
Only support the simple case: no splat or rest.
lobsters before:
<details>
```
***ZJIT: Printing ZJIT statistics on exit***
Top-20 not inlined C methods (60.5% of total 11,039,954):
Kernel#is_a?: 1,030,7...
tekknolagi (Maxwell Bernstein)
01:55 PM Bug #21645 (Open): Can't `require "resolve"` on Windows under Bundler without warnings
`prism` had disabled some workflows for ruby-head on windows because of the extraction from fiddle to being a bundled gem.
I attempted to renable them now, but it is still an issue: https://github.com/ruby/prism/pull/3687
During `bun...
Earlopain (Earlopain _)
12:09 PM Revision ac27bec2 (git): merge revision(s) 957c832db137e67289e93dfd9fd9e915b1f2fc87:
[PATCH] Fix memory leak in rb_const_remove when using namespace
We need to free the rb_const_entry_t we remove from the RCLASS_WRITABLE_CONST_TBL
otherwise it will leak memory.
nagachika (Tomoyuki Chikanaga)
09:12 AM Bug #21643 (Closed): 'make' or 'make up' results in: uncommon.mk:1988: *** missing separator. Stop.
@nobu: Many thanks! This is solved, most probably due to removing uncommon.mk.
[After that, I had to upgrade from Ubuntu 22.04 to Ubuntu 24.04 to make sure BASERUBY wasn't too old, so there may have been other reasons, too.]
duerst (Martin Dürst)
04:43 AM Bug #21643: 'make' or 'make up' results in: uncommon.mk:1988: *** missing separator. Stop.
duerst (Martin Dürst) wrote:
> Line 1988 and 1989 (the last two lines) in upcommon.mk read:
> ...
The `prism/srcs.mk` and `depend` file contents should follow it.
After removing that file and running `./config.status --recheck`, what ...
nobu (Nobuyoshi Nakada)
03:33 AM Bug #21643 (Closed): 'make' or 'make up' results in: uncommon.mk:1988: *** missing separator. Stop.
I tried to get my ruby checkout up to date using 'make up', but after a lot of output, it stopped with the message "uncommon.mk:1988: *** missing separator. Stop.". Now it just gives this message when trying 'make up' or 'make'.
Line...
duerst (Martin Dürst)
07:04 AM Revision 6eb75f6c (git): [ruby/rubygems] update magnus version in rust extension gem template
https://github.com/ruby/rubygems/commit/1ba8eb4ab3 Mat Sadler
06:52 AM Revision b6f1c4ed (git): [ruby/rubygems] Use ruby/rubygems instead of rubygems/rubygems at document, tool and configurations
https://github.com/ruby/rubygems/commit/749b498822 hsbt (Hiroshi SHIBATA)
06:52 AM Revision 22ceaf27 (git): [ruby/rubygems] Now ruby/rubygems is the canonical repository url
https://github.com/ruby/rubygems/commit/c637007e91 hsbt (Hiroshi SHIBATA)
05:17 AM Bug #21644 (Closed): Stack consistency error for the `newrange` INSN peephole optimization with chilled string
Applied in changeset commit:git|7587e92910e7604a4c66f2b804bfa2076339c6ff.
----------
[Bug #21644] compile.c: fix `newrange` INSN peephole optimization for chilled string
ref: https://bugs.ruby-lang.org/issues/21644
```shell
$ ruby -v ...
viralpraxis (Iaroslav Kurbatov)
04:32 AM Bug #21644 (Closed): Stack consistency error for the `newrange` INSN peephole optimization with chilled string
PR:https://github.com/ruby/ruby/pull/14879
Confirmed on every version since 3.4.
``` shell
$ ruby -v -e '("a" || "b").."c"'
ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
-e:1: warning: possibly useless use of...
viralpraxis (Iaroslav Kurbatov)
05:17 AM Revision 7587e929 (git): [Bug #21644] compile.c: fix `newrange` INSN peephole optimization for chilled string
ref: https://bugs.ruby-lang.org/issues/21644
```shell
$ ruby -v -e '("a" || "b").."c"'
ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
-e:1: warning: possibly useless use of .. in void context
-e:1: [BUG] Stack consist...
viralpraxis (Iaroslav Kurbatov)
04:51 AM Feature #21642: Introduce `IO::ConnectionResetError` and `IO::BrokenPipeError` as standardized IO-level exceptions.
ioquatix (Samuel Williams) wrote in #note-4:
> - "Connection Reset" occurs during read, and indicates that the remote end has dropped the connection, and it's likely that we are missing data (as opposed to reaching end of stream).
I ...
mame (Yusuke Endoh)
03:50 AM Feature #21642: Introduce `IO::ConnectionResetError` and `IO::BrokenPipeError` as standardized IO-level exceptions.
Thanks for your feedback. I understand your point and I think it makes sense.
"Connection Reset" and "Broken Pipe" have well defined meanings. On the face of it, I don't know what "CloseUnrecoverable" means. Is there a concept like this...
ioquatix (Samuel Williams)
12:55 AM Feature #21642: Introduce `IO::ConnectionResetError` and `IO::BrokenPipeError` as standardized IO-level exceptions.
I sympathize with this proposal. Having to rescue a wide variety of exceptions is a common pain point, especially when writing applications like chatbots.
I believe the best approach is to classify exceptions based on the required use...
mame (Yusuke Endoh)
12:38 AM Revision 4353187d (git): Fix extension file permissions on Cygwin in namespace feature
fd0 (Daisuke Fujimura)

10/19/2025

10:55 PM Feature #21642 (Open): Introduce `IO::ConnectionResetError` and `IO::BrokenPipeError` as standardized IO-level exceptions.
Currently, different IO implementations in Ruby raise inconsistent exception types when a connection is reset or broken.
For example:
```ruby
# Plain TCP socket:
socket.read_nonblock(1024)
# => Errno::ECONNRESET
# SSL socket:...
ioquatix (Samuel Williams)
02:22 PM Revision 957c832d (git): Fix memory leak in rb_const_remove when using namespace
We need to free the rb_const_entry_t we remove from the RCLASS_WRITABLE_CONST_TBL
otherwise it will leak memory.
peterzhu2118 (Peter Zhu)
11:35 AM Revision 2f20dc5d (git): [DOC] Improve loop code example documentation
TaoufikMejri
10:18 AM Revision 8edb40f6 (git): Change upstream repository of rubygems
hsbt (Hiroshi SHIBATA)
12:58 AM Revision 56afc0a0 (git): [ruby/English] [DOC] Markup variables in the full list as code
https://github.com/ruby/English/commit/5e60c1068a nobu (Nobuyoshi Nakada)
12:58 AM Revision 4e6d78b8 (git): [ruby/English] [DOC] Enclose English in quotes
https://github.com/ruby/English/commit/70b46b58cc nobu (Nobuyoshi Nakada)

10/18/2025

02:40 PM Revision ddd1aeaa (git): Free loaded_features_index in namespace
peterzhu2118 (Peter Zhu)
02:40 PM Revision eb4a6f0c (git): Fix memory leak of TypedData data in Namespace
peterzhu2118 (Peter Zhu)
02:40 PM Revision d7f412e6 (git): Add rb_root_namespace_data_type
peterzhu2118 (Peter Zhu)
01:34 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
byroot (Jean Boussier) wrote in #note-13:
> I think we can close now?
```ruby
require 'pp'
class Worker
def initialize(*args, &block)
@args = args
@block = Ractor.shareable_proc(&block)
end
def run(count)
...
sdwolfz (Codruț Gușoi)
05:43 AM Revision 4365a094 (git): Don't check existence of openssl-1.1 dll files on GHA mingw workflow.
nagachika (Tomoyuki Chikanaga)
03:54 AM Revision db357848 (git): [ruby/zlib] Initialize const member
```
/github/workspace/src/ext/zlib/zlib.c:2608:25: warning: default initialization of an object of type 'struct read_raw_arg' with const member leaves the object uninitialized [-Wdefault-const-init-field-unsafe]
2608 | struct re...
nobu (Nobuyoshi Nakada)
03:26 AM Revision 599257ea (git): Stop renaming openssl dll files on GHA mingw workflow.
nagachika (Tomoyuki Chikanaga)
03:20 AM Revision 4a09da62 (git): partially merge revision 949573028b127931cb034a2928ef80a59c45ea43:
[PATCH] Win32: OpenSSL 1.1 DLLs are no longer used
We are already using OpenSSL 3.3 and have no possibility to use system
provided DLLs.
nagachika (Tomoyuki Chikanaga)
02:51 AM Bug #21638: Ractor-local `$DEBUG` is not marked
ruby_3_3 commit:e526fbe770909974f610b7a2a00bd8d5dd045f1f merged revision(s) commit:e94a2f691d67ad98be9036e76c765fcfa7d22552. nagachika (Tomoyuki Chikanaga)
02:20 AM Revision e526fbe7 (git): merge revision(s) e94a2f691d67ad98be9036e76c765fcfa7d22552: [Backport #21638]
[PATCH] [Bug #21638] Mark ractor-local `$VERBOSE` and `$DEBUG`
https://github.com/sampersand/blog/blob/master/the%20-s%20flag.md#the-segfault
nagachika (Tomoyuki Chikanaga)
12:44 AM Revision 7989a2ff (git): Preallocate capacity for id table in rb_singleton_class_clone_and_attach
We know the exact capacity for the constant table created in
rb_singleton_class_clone_and_attach so we can preallocate it.
peterzhu2118 (Peter Zhu)
12:40 AM Revision 9b221695 (git): [DOC] Tweaks for String#rindex
burdettelamar (Burdette Lamar)

10/17/2025

10:37 PM Revision a0bf6d34 (git): ZJIT: Add inlining for Kernel#respond_to? (#14873)
lobsters before:
<details>
```
***ZJIT: Printing ZJIT statistics on exit***
Top-20 not inlined C methods (61.1% of total 10,568,718):
Kernel#is_a?: 1,030,925 ( 9.8%)
Stri...
aidenfoxivey (Aiden Fox Ivey)
09:26 PM Revision cb550433 (git): Set method table owned by iclass in rb_class_duplicate_classext
We duplicate the method table in rb_class_duplicate_classext, so we should
set RCLASSEXT_ICLASS_IS_ORIGIN and unset RCLASSEXT_ICLASS_ORIGIN_SHARED_MTBL
to signal that the iclass owns the method table and it should be freed.
peterzhu2118 (Peter Zhu)
08:29 PM Revision 1c119f02 (git): Revert "ZJIT: Mark commonly-edited files as merge=union (#14865)"
This reverts commit 23287c45806cac060ed63e87176d1a87968b9267.
This looks like a mixed bag...
Max Bernstein
07:48 PM Revision 23287c45 (git): ZJIT: Mark commonly-edited files as merge=union (#14865)
This helps the default merge driver make reasonable decisions (and
therefore avoid conflicts) when multiple people are e.g. adding tests
to src/hir.rs at the same time.
tekknolagi (Maxwell Bernstein)
07:33 PM Revision 0594646c (git): ZJIT: Don't push frame for Hash#size (#14871)
`Hash#size` was not in "Top-20 not annotated C methods" on lobsters so our before / after benchmarks are not very helpful for this change.
<details>
<summary>Before</summary>
<br>
```
***ZJIT: Printing ZJIT statistics on exit***
Top-20 ...
Jacob (Jacob Jacob)
05:26 PM Revision 0e5cb74a (git): ZJIT: Don't push frame for String#empty? (#14836)
lobsters before:
```
***ZJIT: Printing ZJIT statistics on exit***
Top-20 not inlined C methods (71.9% of total 15,247,103):
Hash#[]: 4,516,006 (29.6%)
Class#current: 1,15...
Jacob (Jacob Jacob)
12:39 PM Revision 5298e979 (git): [rubygems/rubygems] Postpone to remove legacy mingw platform
https://github.com/rubygems/rubygems/commit/9b3a5a8ae9 hsbt (Hiroshi SHIBATA)
12:26 PM Revision fb72e188 (git): Update repository urls for rubygems and bundler
hsbt (Hiroshi SHIBATA)
09:55 AM Revision 837947ac (git): Compatibility with test-unit-ruby-core
nobu (Nobuyoshi Nakada)
09:37 AM Revision 943b5f66 (git): CI: Launchable: Fix errors at actions/setup-python on ppc64le/s390x
The following errors happened at the actions/setup-python step.
https://github.com/ruby/ruby/actions/runs/18229870239
> The version '3.x' with architecture 's390x' was not found for Ubuntu 24.04.
> ...
After skipping the actions/setup-...
Jun Aruga
08:24 AM Revision 5ced99dd (git): [rubygems/rubygems] :Revamp CmakeBuilder to fix the issues described in #8572. Specifically:
* Correctly pass command line arguments to CMake
* Call CMake twice - once to configure a project and a second time to build (which is the standard way to use CMake). This fixes the previously incorrect assumption that CMake generates a ...
cfis (Charlie Savage)
06:09 AM Revision c2860bff (git): CI: Try mingw arm64
nobu (Nobuyoshi Nakada)
06:09 AM Revision 87593f2c (git): Disable shorten-64-to-32 warning on IL32LLP64
Disable the shorten-64-to-32 warning for now, because it currently
generates a lot of warnings on platforms where `sizeof(void*)` is
larger than `sizeof(long)`.
TODO: Replace `long` with `ptrdiff_t` or something in the all sources.
nobu (Nobuyoshi Nakada)
06:09 AM Revision 485f079d (git): win32: OBJCOPY is not needed on Windows in favor of def file
nobu (Nobuyoshi Nakada)
06:09 AM Revision 1546362f (git): win32: Prefix `clock_getclock` and `clock_getres`
Get rid of conflict with inline versions provided in time.h. nobu (Nobuyoshi Nakada)
06:09 AM Revision 89961f85 (git): configure.ac: Update caches for functions defined in win32.c
nobu (Nobuyoshi Nakada)
06:09 AM Revision 3dc62016 (git): win32: Install the same packages as vcpkg even on msys
nobu (Nobuyoshi Nakada)
06:08 AM Revision 2dc23c1a (git): win32: Fix missing type
nobu (Nobuyoshi Nakada)
05:52 AM Revision 5a23716c (git): Skip low precision clocks to measure performances
nobu (Nobuyoshi Nakada)
05:52 AM Revision b2d4dc9c (git): win32: Support more `clockid_t`
Add `CLOCK_PROCESS_CPUTIME_ID` and `CLOCK_THREAD_CPUTIME_ID`. nobu (Nobuyoshi Nakada)
05:11 AM Revision ff6bd7fb (git): [ruby/ipaddr] Fix InvalidAddressError message
https://github.com/ruby/ipaddr/commit/c96dbadee3 ishikawa999
03:01 AM Bug #21632 (Closed): Backport REXML CVE-2025-58767 fix
Merged. naitoh (Jun NAITOH)
01:54 AM Revision 9664191e (git): Use ruby/setup-ruby v1.265.0
hsbt (Hiroshi SHIBATA)
01:32 AM Revision d2edfe55 (git): Bump rexml to v3.4.4 for Ruby 3.2 (CVE-2025-58767)
This update addresses CVE-2025-58767 (GHSA-c2f4-jgmc-q2r5). naitoh (Jun NAITOH)
12:53 AM Bug #21641 (Closed): Hash#to_s behaves different in 3.4
closed by request of OP zenspider (Ryan Davis)

10/16/2025

11:40 PM Revision 4f51f624 (git): [rubygems/rubygems] Restrict what schemes are acceptable in the remote fetcher
The remote fetcher only works with certain schemes (`http`, `https`,
`s3`, and `file`). It's possible for other schemes to show up in this
code and it can cause bugs.
Before this patch, doing `gem install path:///hello` would result in...
tenderlovemaking (Aaron Patterson)
09:03 PM Revision 9a80258b (git): Fix crash when freeing namespaces
remove_class_from_subclasses calls st_insert, which mallocs. Malloc is not
allowed in GC. This commit replaces the st_insert with an st_update since
we know that ns_id exists in the st_table.
The following script reproduces the crash:
...
peterzhu2118 (Peter Zhu)
08:47 PM Revision 3fa84846 (git): ZJIT: Add to counters when FnProperties.inline inlining succeeds
This counts methods that can be folded away to nothing *in addition* to
the already-counted `CCall`.
Max Bernstein
08:47 PM Revision 9598b444 (git): ZJIT: Fix singleton class qualified method names in stats
Now methods on singleton classes (for example, `new`) get split up into
`String*#new`, `Array*#new`, ... (where the `*` indicates a singleton
class) instead of all looking like `Class#new`.
before:
```
***ZJIT: Printing ZJIT statistics...
Max Bernstein
07:24 PM Bug #21641: Hash#to_s behaves different in 3.4
Please feel free to join us on [Ruby Discord](https://discord.gg/ad2acQFtkh) or [#ruby IRC](https://web.libera.chat/#ruby) to discuss all the options! Refining Hash is one way:
``` ruby
module LegacyHashToS
refine Hash do
def t...
shan (Shannon Skipper)
07:12 PM Bug #21641: Hash#to_s behaves different in 3.4
It's mentioned in https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-0-released/ under Hash#inspect rendering have been changed. [Bug #20433] masterleep2 (Bill Lipa)
06:03 PM Bug #21641 (Closed): Hash#to_s behaves different in 3.4
I couldn't find anywhere documenting this change from Ruby 3.3 to Ruby 3.4:
3.3.9:
``` ruby
> irb
3.3.9 :001 > {x:1}.to_s
=> "{:x=>1}"
3.3.9 :002 >
```
3.4.0:
```ruby
3.4.0 :001 > {x:1}.to_s
=> "{x: 1}"
3.4.0 :002 >
...
matheussilvasantos (Matheus Oliveira)
07:16 PM Revision 037b6e24 (git): ZJIT: Break out patchpoint exit reasons (#14858)
We have a lot of patchpoint exits on some applications and this helps
pin down why.
tekknolagi (Maxwell Bernstein)
05:35 PM Revision 190a3cd4 (git): ZJIT: [DOC] Recommend cargo-binstall for ZJIT tool installation (GH-14859)
aidenfoxivey (Aiden Fox Ivey)
03:34 PM Revision f925f1ae (git): ZJIT: Inline BasicObject#initialize (#14856)
It just returns nil. tekknolagi (Maxwell Bernstein)
02:38 PM Revision 68f45a6d (git): [ruby/prism] Do not rely on RUBY_VERSION being consistent
https://github.com/ruby/prism/commit/34428946db kddnewton (Kevin Newton)
02:29 PM Revision a8a8f1c2 (git): [ruby/prism] Handle RUBY_VERSION being nil
https://github.com/ruby/prism/commit/dda0dc81df kddnewton (Kevin Newton)
02:10 PM Revision cea3307f (git): [ruby/prism] Do not stub Ruby version
https://github.com/ruby/prism/commit/44c4306247 kddnewton (Kevin Newton)
02:00 PM Revision 6652d507 (git): [ruby/prism] Create a new string for the current version error
https://github.com/ruby/prism/commit/ebf4425d49 kddnewton (Kevin Newton)
01:20 PM Revision 99929d6f (git): [ruby/prism] Do not rely on Gem being loaded
https://github.com/ruby/prism/commit/2466940e49 kddnewton (Kevin Newton)
12:45 PM Revision ea4c3169 (git): Update default gems list at aa2d3cd5133e6a5deb24fa047e5a66 [ci skip]
git[bot]
12:43 PM Revision aa2d3cd5 (git): [ruby/prism] Bump to v1.6.0
https://github.com/ruby/prism/commit/b72fcc6183 kddnewton (Kevin Newton)
12:34 PM Revision f5d3b6e6 (git): [ruby/prism] Add support for `Prism.parse(foo, version: "current")`
The docs currently say to use `Prism.parse(foo, version: RUBY_VERSION)` for this.
By specifying "current" instead, we can have prism raise a more specifc error.
Note: Does not use `ruby_version` from `ruby/version.h` because writing a t...
Earlopain (Earlopain _)
03:40 AM Revision 1d95d75c (git): ZJIT: Profile opt_succ and inline Integer#succ for Fixnum (#14846)
This is only really called a lot in the benchmark harness, as far as I
can tell.
tekknolagi (Maxwell Bernstein)
02:53 AM Feature #21615: Introduce `Array#values`
This feels like opening Pandora's box. If this is accepted, I can foresee the following discussions arising, just off the top of my head:
* Should `Array#keys` be defined as a method that returns `(0...ary.size).to_a`?
* `Array#find_...
mame (Yusuke Endoh)
02:01 AM Revision 7a474e1f (git): ZJIT: Inline String#getbyte (#14842)
tekknolagi (Maxwell Bernstein)
01:21 AM Revision 45c01686 (git): Use explicit memory orders in concurrent_set
The atomic load/store operations here should mostly be using
release/acquire semantics. This may lead to better performance than what
we had under the default seq_cst.
On x86 this may make the atomic store of hash faster, as it can avoi...
jhawthorn (John Hawthorn)
12:13 AM Revision 9e4a7569 (git): Use BUILTIN_TYPE in gc_mark_check_t_none
jhawthorn (John Hawthorn)

10/15/2025

11:29 PM Revision 5a9fac69 (git): Fix assert_equal order in test_namespace.rb
The expected value is the first parameter and the actual value is the
second in assert_equal.
peterzhu2118 (Peter Zhu)
09:24 PM Revision d272a81f (git): ZJIT: Rewrite arm64_split_with_scratch_reg for clarity
* The while loop pattern can be rewritten to be more idiomatic, which
also allows the iterator to no longer be mutable.
aidenfoxivey-shop (Aiden Fox Ivey)
08:36 PM Revision 4c426e98 (git): ZJIT: Use rb_gc_disable() over rb_gc_disable_no_rest()
no_rest() trips an assert inside the GC when we allocate with the GC
disabled this way:
(gc_continue) ../src/gc/default/default.c:2029
(newobj_cache_miss+0x128) [0x105040048] ../src/gc/default/default.c:2370
(rb_gc_impl_new_...
alanwu (Alan Wu)
06:55 PM Misc #21606: DevMeeting-2025-10-23
- [Feature #21615] Introduce `Array#values`
- Seems reasonable to have an API to simplify traversal of hash/array values
- There is some precedence, since both Hashes/Arrays have #values_at.
- If approved, should it be added to ...
matheusrich (Matheus Richard)
03:30 PM Misc #21606: DevMeeting-2025-10-23
* [Bug #21640] Core Pathname is missing 3 methods / is partially-defined (eregon)
* This seems a bad user experience: partially-defined class missing some methods, `require "pathname"` doesn't load the gem as expected (even with Bundl...
Eregon (Benoit Daloze)
06:34 PM Revision b052d706 (git): [ruby/prism] explicitly cast constants in initializers as well
https://github.com/ruby/prism/commit/e7db2b06ab froydnj (Nathan Froyd)
06:34 PM Revision 829b1884 (git): [ruby/prism] explicitly cast shifted constant to unsigned to avoid undefined behavior
https://github.com/ruby/prism/commit/0b2710a6c9 froydnj (Nathan Froyd)
06:00 PM Revision 6a94632d (git): ZJIT: Add HashAref to HIR and inline Hash#[] to HashAref (#14838)
Fixes https://github.com/Shopify/ruby/issues/793
## Testing on `liquid-render`:
<details>
<summary>Before patch:</summary>
```
***ZJIT: Printing ZJIT statistics on exit***
Top-20 not inlined C methods (96.8% of total 20,222,783):
...
aidenfoxivey-shop (Aiden Fox Ivey)
05:49 PM Revision 27ff5861 (git): We can't grab the VM Lock in free functions
This is due to the way MMTK frees objects, which is on another native thread.
Due to this, there's no `ec` so we can't grab the VM Lock.
This was causing issues in release builds of MMTK on CI like:
```
/home/runner/work/ruby/ruby/bu...
Luke Gruber
05:27 PM Revision 31a1a39a (git): ZJIT: Never yield to the GC while compiling
This fixes a reliable "ZJIT saw a dead object" repro on my machine, and should
fix the flaky ones on CI. The code for disabling the GC is the same as
the code in newobj_of().
See: https://github.com/ruby/ruby/actions/runs/18511676257/jo...
alanwu (Alan Wu)
03:32 PM Bug #21640: Core Pathname is missing 3 methods / is partially-defined
I'm happy to help making the changes in ruby/ruby to make Pathname "just a default gem" again like it was in 3.4, if that is the decided outcome of the dev meeting (I added this ticket to https://bugs.ruby-lang.org/issues/21606). Eregon (Benoit Daloze)
02:40 PM Bug #21640 (Open): Core Pathname is missing 3 methods / is partially-defined
```
$ ruby -e 'puts Pathname.instance_methods(false).sort; puts Pathname.singleton_methods.sort' > core_pathname_methods.txt
$ ruby -rpathname -e 'puts Pathname.instance_methods(false).sort; puts Pathname.singleton_methods.sort' > requ...
Eregon (Benoit Daloze)
02:24 PM Revision 63a58c79 (git): ZJIT: Don't const-fold Array#[] on non-frozen array (#14841)
Accidentally added in https://github.com/ruby/ruby/pull/14679 tekknolagi (Maxwell Bernstein)
09:56 AM Revision bb4526b9 (git): ZJIT: Add trace exit counter (#14831)
aidenfoxivey-shop (Aiden Fox Ivey)
09:54 AM Revision dce202d6 (git): [rubygems/rubygems] Add checksum of gems hosted on private servers:
- ### Problem
Running `bundle lock --add-checksums` doesn't add the checksum of
gems hosted on server that don't implement the compact index API.
This result in a lockfile which is unusable in production as
some checksums will ...
Edouard CHIN
07:45 AM Misc #21639 (Feedback): Guidelines or documentation for porting Ruby to a new platform (z/OS)
Unfortunately, no such guidelines exist. Anyone with access to a z/OS Linux environment will likely need to investigate the code on their own.
By the way, for a long time, @ReiOdaira had been maintaining the CI for Ruby on z/OS Linux,...
mame (Yusuke Endoh)
07:05 AM Misc #21639 (Feedback): Guidelines or documentation for porting Ruby to a new platform (z/OS)
Hi Ruby team,
I work on the IBM z/OS platform and am currently working on porting Ruby to it.
I wanted to ask whether there are any existing porting guidelines, documentation, or recommended steps for bringing Ruby up on a new plat...
sachin.t@ibm.com (Sachin T)
07:15 AM Revision 51b2c5a4 (git): [rubygems/rubygems] Removed obsoleted option from bundle-exec manpages
https://github.com/rubygems/rubygems/commit/6a3342541a hsbt (Hiroshi SHIBATA)
07:15 AM Revision 6c9acb53 (git): [rubygems/rubygems] Added example for global path with Gemfile
https://github.com/rubygems/rubygems/commit/cd1493eec4 hsbt (Hiroshi SHIBATA)
07:15 AM Revision c3e6e655 (git): [rubygems/rubygems] Removed duplicated examples with bundle install
https://github.com/rubygems/rubygems/commit/59b909fa74 hsbt (Hiroshi SHIBATA)
07:15 AM Revision a60b56c3 (git): [rubygems/rubygems] Use `default_cache_path` helper for brevity
https://github.com/rubygems/rubygems/commit/29a12c3d46 David Rodríguez
07:15 AM Revision 92cbd7ec (git): [rubygems/rubygems] Test current clean after bundle update behavior
https://github.com/rubygems/rubygems/commit/c43e35c3ea David Rodríguez
07:15 AM Revision d99a4295 (git): [rubygems/rubygems] Restore an accidentally changes of cache_spec.rb
https://github.com/rubygems/rubygems/commit/06508374aa hsbt (Hiroshi SHIBATA)
07:15 AM Revision fdc37df3 (git): [rubygems/rubygems] Removed deprecated settings methods
https://github.com/rubygems/rubygems/commit/89bcdfc941 hsbt (Hiroshi SHIBATA)
07:15 AM Revision 8104c833 (git): [rubygems/rubygems] Fixed wrong option message
https://github.com/rubygems/rubygems/commit/15be905c44 hsbt (Hiroshi SHIBATA)
04:58 AM Revision 1142abb1 (git): [DOC] Update making_changes_to_stdlibs.md mirror Example
CSV is no more part of the standard lib, but the documentation was not
updated (the example link was broken for the master branch)
Selected ERB that has the dedicated directory, like CSV.
Marino Bonetti
02:40 AM Revision 26d1e694 (git): [rubygems/rubygems] Replaced Bundler::SharedHelpers.major_deprecation to feature_removed! or feature_deprecated!
https://github.com/rubygems/rubygems/commit/b1b963b34a
Co-authored-by: David Rodríguez <2887858+deivid-rodriguez@users.noreply.github.com>
hsbt (Hiroshi SHIBATA)
02:34 AM Revision 5bda42e4 (git): ZJIT: Include GC object dump when seeing dead objects
Strictly more info than just the builtin_type from `assert_ne!`.
Old:
assertion `left != right` failed: ZJIT should only see live objects
left: 0
right: 0
New:
ZJIT saw a dead object. T_type=0, out-of-heap:0x000000...
alanwu (Alan Wu)
02:05 AM Revision 8d438678 (git): [rubygems/rubygems] remove some memoization
I don't think these methods are hotspots, and since gem specifications
are sometimes serialized to yaml / marshal, I think we should remove as
many instance variables as possible
https://github.com/rubygems/rubygems/commit/40490d918b
tenderlovemaking (Aaron Patterson)
 

Also available in: Atom