Project

General

Profile

Activity

From 08/09/2025 to 08/15/2025

08/15/2025

10:02 PM Revision 11c8bad6 (git): CI: Also show errors in rust-warnings.yml [ci skip]
At under a minute, this check runs faster than a lot of the other CI
checks, so we might as well show errors from `cargo check` to serve as a
smoke check in addition to surfacing warnings.
alanwu (Alan Wu)
08:57 PM Revision e4093711 (git): zjit_bisect.rb: Fix pipe deadlock; log when timed out [ci skip]
I spent a long time bisecting some largish program before realizing
that failure was in fact coming from the child timing out due to
zjit_bisect.rb not clearing the stdout and stderr pipe.
Fix the pipe deadlock by redirecting to /dev/nu...
alanwu (Alan Wu)
08:23 PM Revision 49e4d21d (git): ZJIT: Share function stub code using a trampoline (#14225)
k0kubun (Takashi Kokubun)
07:43 PM Revision 149add89 (git): Don't free Ractors in GC shutdown
rb_gc_shutdown_call_finalizer_p returns false for threads and fibers, so
it should probably do the same for all Ractors (not just the main one).
This hopefully mitigates a bug where, at exit, rb_ractor_terminate_all
gets all Ractors to ...
jhawthorn (John Hawthorn)
07:29 PM Revision 88906e13 (git): Skip an unstable Ractor test for windows (#14247)
https://github.com/ruby/ruby/actions/runs/16995599804/job/48185434078?pr=14242 k0kubun (Takashi Kokubun)
06:31 PM Revision 2a1210f7 (git): ZJIT: Implement getspecial (#13642)
ZJIT: Implement getspecial in ZJIT
Adds support for the getspecial instruction in zjit.
We split getspecial into two instructions, one for special symbols
(`$&`, $'`, etc) and one for special backrefs (`$1`, `$2`, etc).
Co-authored-by...
Eileen
06:26 PM Revision 1d7ed956 (git): ZJIT: Make --zjit-dump-hir work with HIR opt disabled (#14242)
k0kubun (Takashi Kokubun)
06:14 PM Misc #21508: DevMeeting-2025-08-21
* [Feature #21533] Introduce `Time#am?` and `Time#pm?`
* Thoughts on the name and functionality?
* I think this is the less ambiguous way to have info about a part of the day that works across cultures (and is consistent with strft...
matheusrich (Matheus Richard)
06:13 PM Revision 2f2e2bd7 (git): Relax a delta for an unstable test (#14246)
https://github.com/ruby/ruby/actions/runs/16995978143/job/48186652826?pr=14244 k0kubun (Takashi Kokubun)
05:59 PM Revision 97cffb95 (git): Skip an unstable test for macOS (#14245)
k0kubun (Takashi Kokubun)
05:53 PM Revision 12ef01b5 (git): Skip an unstable test for macOS
https://github.com/ruby/ruby/actions/runs/16983250181/job/48147338735
https://github.com/ruby/ruby/actions/runs/16994020689/job/48180211762
k0kubun (Takashi Kokubun)
05:53 PM Revision 9deaf68c (git): Increase timeout for a flaky test
https://github.com/ruby/ruby/actions/runs/16983250181/job/48147338699 k0kubun (Takashi Kokubun)
05:41 PM Revision 0d0c051b (git): Don't check for stack overflow when ec is NULL (#14236)
Co-authored-by: Nobuyoshi Nakada <[email protected]> jhawthorn (John Hawthorn)
05:25 PM Revision 7c67060d (git): Fix enc_list across ractors
Calling rb_ary_replace(copy, orig) can modify orig, which is not safe
across ractors because orig is shared (it's the global encoding list).
Hoping to address CI failures such as https://ci.rvm.jp/results/trunk-gc-asserts@ruby-sp2-noble...
Luke Gruber
04:35 PM Misc #20013 (Closed): Travis CI status
We are migrating the ppc64le/s390x CI from Travis CI to GitHub Actions.
And I deleted the `.travis.yml` on the following commit. So, I would close this ticket. Thank you Travis.
https://github.com/ruby/ruby/commit/efe6813b1f5433cd19e0b...
jaruga (Jun Aruga)
04:05 PM Revision 8f7e7bfc (git): ZJIT: Set PC before function_stub_hit_body (#14234)
Takashi Kokubun
01:30 PM Revision 79f52020 (git): Don't change Encoding.default_internal in assert_raise_with_message
For most tests (except two), we don't need to change Encoding.default_internal
in assert_raise_with_message. We're trying to run the test suite across
multiple Ractors and modifying Encoding.default_internal can cause other
concurrently ...
peterzhu2118 (Peter Zhu)
09:36 AM Feature #21545 (Open): #try_dig, a dig that returns early if it cannot dig deeper
Ruby offers `dig` for traversing nested hashes and arrays. It is strict and will raise if an intermediary object does not support `dig`. In many cases we only want to attempt the lookup and return `nil` if it cannot be followed, without ... cb341 (Daniel Bengl)
07:49 AM Misc #21544 (Open): CI: Launchable: Early flake detection
I'm a software engineer at Launchable, and I'd like to propose the mechanism to detect potential flaky tests.
## Background
In the current Ruby CI, it's easy for flaky tests to be unintentionally merged into the master branch. Even...
ono-max (Naoto Ono)
04:54 AM Revision 42c08e45 (git): Fix RBS tests (#14220)
* Use unreleased version of rbs
* Skip all failing tests on windows
soutaro (Soutaro Matsumoto)
04:37 AM Revision efe6813b (git): Drop Travis CI.
Travis CI has not been running since 2 months ago.
https://app.travis-ci.com/github/ruby/ruby/builds
As we are migrating the ppc64le/s390x CI cases from Travis to GitHub Actions,
I will drop the `.travis.yml`, while the GitHub Actions p...
Jun Aruga
01:51 AM Revision d025bc23 (git): Remove duplicated line of code in thread_sync.c
peterzhu2118 (Peter Zhu)
01:51 AM Revision b0cd89a5 (git): [DOC] Tweaks for GC.stress and GC.stress=
burdettelamar (Burdette Lamar)
01:47 AM Revision 12e42f72 (git): [DOC] Tweaks for GC.stat
burdettelamar (Burdette Lamar)

08/14/2025

11:41 PM Revision 5e8f9ea4 (git): Increase timeout for a flaky test (#14233)
https://github.com/ruby/ruby/actions/runs/16977882022/job/48131284556 Takashi Kokubun
10:12 PM Revision 70b4b6fe (git): Do not skip CI when it mentions "document" (#14232)
Takashi Kokubun
10:09 PM Revision e305a672 (git): Skip an unstable Ractor test for macOS (#14231)
https://github.com/ruby/ruby/actions/runs/16977094733/job/48128667252?pr=14229 Takashi Kokubun
09:54 PM Revision 9cf27e0a (git): Increase timeout for a flaky test (#14228)
https://github.com/ruby/ruby/actions/runs/16974964229/job/48121382131 Takashi Kokubun
09:52 PM Revision 9bbd2497 (git): Fix a static assertion incompatible with C++98 (#14229)
Takashi Kokubun
09:01 PM Revision 38558dd9 (git): YJIT: Fix `defined?(yield)` and `block_given?` at top level
Previously, YJIT returned truthy for the block given query at the top
level. That's incorrect because the top level script never receives a
block, and `yield` is a syntax error there.
Inside methods, the number of hops to get from `iseq...
alanwu (Alan Wu)
07:38 PM Revision b080fcd3 (git): ZJIT: Fix assert failure on JIT combo build
Previously, when `./configure --enable-yjit=dev --enable-zjit` JIT_DESCRIPTION was
defined to be "ZJIT", but when running with `--yjit`, ruby_set_yjit_description()
calls `define_ruby_description("+YJIT dev")`, which is longer than the
f...
alanwu (Alan Wu)
07:38 PM Revision fdb831fd (git): ZJIT: Look for RUBY_ZJIT_ENABLE in combo build with YJIT
alanwu (Alan Wu)
06:23 PM Revision 88d71eb0 (git): Skip an unstable test for s390x and windows
https://github.com/ruby/ruby/actions/runs/16971197634/job/48108366805?pr=14223
https://github.com/ruby/ruby/actions/runs/16971558478/job/48109641049?pr=14223
k0kubun (Takashi Kokubun)
06:23 PM Revision 68682a5d (git): Increase timeout for failing tests
https://github.com/ruby/ruby/actions/runs/16969921157/job/48103809963
https://github.com/ruby/ruby/actions/runs/16969655024/job/48102876839
k0kubun (Takashi Kokubun)
05:53 PM Revision 5aa51124 (git): Fix documentation about struct RData's data field
Also adds a static assertion to ensure the documented behavior stays
true, namely that the data field is at the same position in the RData
and RTypedData structs.
etienne (Étienne Barrié)
03:42 PM Revision a04555c8 (git): [ruby/prism] Be more defensive in the parser translator lexer
Generally I have been good about safely accessing the tokens but failed
to properly guard against no tokens in places
where it could theoretically happen through invalid syntax.
I added a test case for one occurance, other changes are t...
Earlopain (Earlopain _)
03:31 PM Revision a677220a (git): ZJIT: Stop duplicating context-less side exits (#14215)
Takashi Kokubun
03:24 PM Bug #21534: ppc64le bootstraptest/test_ractor.rb aborted (core dumped) on configure cppflags=-DRUBY_DEBUG and -O3
I noticed that the `cppflags=-DRUBY_DEBUG` used for the `configure` option caused the above error.
I tested the following 2 cases at the latest master branch commit <c30d900547a65c7996a3f868aa17d2a842734071> on the RubyCI Ubuntu (ppc6...
jaruga (Jun Aruga)
11:52 AM Bug #21541: make install is failing due to using rdoc repo
I think the best solution is to make sure `rdoc` always commit the generated files with CI checks verifying that they're up to date. ~~`prism`,~~ `rbs`, and `debug` (tho it's for readme) already do this and I don't see much issues cause... st0012 (Stan Lo)
02:31 AM Bug #21541: make install is failing due to using rdoc repo
@Eregon,
I'll look at adding a CLI check to CI.
MSP-Greg (Greg L)
06:19 AM Feature #21543 (Closed): Point ArgumentError to the call site
Consider this buggy code:
```ruby
def foo(x, y)
end
foo(1)
```
The resulting error is:
```
$ ruby test.rb
test.rb:1:in `foo': wrong number of arguments (given 1, expected 2) (ArgumentError)
from test.rb:4:in `<main>'
...
mame (Yusuke Endoh)
04:54 AM Revision c30d9005 (git): Revert "[DOC] Try the latest RDoc"
This reverts commit 8f6f9e88c70bbae08b2830d2bec63c89d6367b27.
Confirmed to work as expected, wait until the rdoc is released.
nobu (Nobuyoshi Nakada)
04:06 AM Revision 21be7417 (git): [DOC] Fix quoting
nobu (Nobuyoshi Nakada)
03:52 AM Revision 83a28604 (git): [ruby/resolv] Require rbconfig in resolv.rb
Uses ::RbConfig::CONFIG['host_os']
Found with ruby --disable-gems -e '...'
https://github.com/ruby/resolv/commit/5a5a81ce98
Ryan Davis
03:39 AM Revision 9b576cd6 (git): Extract `ruby_api_version_name`
nobu (Nobuyoshi Nakada)
12:59 AM Revision c8233db2 (git): Ignore net-imap failures on Windows (#14216)
Takashi Kokubun
12:32 AM Revision cb281653 (git): ZJIT: Enable or remove comments from YJIT (#14214)
Takashi Kokubun

08/13/2025

10:13 PM Revision c9346a16 (git): [ruby/resolv] win32/resolv: add headers to GetNetworkParams check.
On 32-bit Cygwin at least, it was failing to find that function,
presumably due to it being stdcall.
Signed-off-by: Jeremy Drake <[email protected]>
https://github.com/ruby/resolv/commit/bceafef74b
Jeremy Drake
08:57 PM Bug #21541: make install is failing due to using rdoc repo
One idea: probably I should add failures from ruby/ruby-dev-builder as notification to the CRuby Slack in the CI alerts channel, that might be a good way to notice this kind of problem early.
When ruby/ruby-dev-builder fails, in most ca...
Eregon (Benoit Daloze)
08:53 PM Bug #21541: make install is failing due to using rdoc repo
@MSP-Greg Could you make a PR adding a CI job to ruby/ruby that `make install` + run that [cli_test.rb](https://github.com/ruby/ruby-dev-builder/blob/master/cli_test.rb), like in https://github.com/ruby/ruby-dev-builder/actions/runs/1694... Eregon (Benoit Daloze)
01:25 PM Bug #21541 (Closed): make install is failing due to using rdoc repo
Currently, ruby-dev-builder & ruby-loco are failing due to https://github.com/ruby/ruby/commit/8f6f9e88c70bbae, which changed the rdoc 'bundled gem' install from using a released gem to the repo. This results in an invalid rdoc installa... MSP-Greg (Greg L)
08:04 PM Revision 549a326f (git): ZJIT: Implement `StringIntern` codegen (#14207)
* ZJIT: Add test and implement display for StringIntern HIR
Co-authored-by: Emily Samp <[email protected]>
* ZJIT: Implement StringIntern codegen
Co-authored-by: Emily Samp <[email protected]>
* ZJIT: Fix StringIntern's ret...
Stan Lo
08:03 PM Revision 2b16f27a (git): ZJIT: Fix `ObjToString` rewrite (#14196)
ZJIT: Fix ObjToString rewrite
Currently, the rewrite for `ObjToString` always replaces it with a
`SendWithoutBlock(to_s)` instruction when the receiver is not a
string literal. This is incorrect because it calls `to_s` on the
receiver e...
Stan Lo
06:42 PM Revision ff622978 (git): [DOC] Tweaks for GC total time methods
burdettelamar (Burdette Lamar)
06:01 PM Revision 943d9f82 (git): ZJIT: Don't eliminate NewHash with operands
Hashing and checking operands for equality is re-entrant. We could later
optimize this to check for hash/eq methods on operands and eliminate if
they don't have side effects, but this is fine for now.
Max Bernstein
05:54 PM Revision 2083fa89 (git): Implement `gen_fields_tbl` cache
There is a high likelyhood that `rb_obj_fields` is called
consecutively for the same object.
If we keep a cache of the last IMEMO/fields we interacted with,
we can save having to lookup the `gen_fields_tbl`, synchronize
the VM lock, etc...
byroot (Jean Boussier)
05:53 PM Revision 10aa4134 (git): imemo_fields: store owner object in RBasic.klass
It is much more convenient than storing the klass, especially
when dealing with `object_id` as it allows to update the id2ref
table without having to dereference the owner, which may be
garbage at that point.
byroot (Jean Boussier)
05:52 PM Revision ad12db4b (git): ZJIT: Only validate HIR in debug mode
Max Bernstein
03:40 PM Feature #21542 (Third Party's Issue): logger gem: Context API
Proposal done as a [github issue](https://github.com/ruby/logger/issues/131) with [WIP implementation](https://github.com/ruby/logger/pull/132) for discussion purposes. chucke (Tiago Cardoso)
03:24 PM Revision 31ff07ed (git): Add link to Ruby options doc in help text
Adds link to https://docs.ruby-lang.org/en/master/ruby/options_md.html in
Ruby help text (-h and --help).
peterzhu2118 (Peter Zhu)
02:53 PM Revision 7595ac9a (git): [DOC] Tweaks for GC.count
burdettelamar (Burdette Lamar)
02:45 AM Revision 40d07f26 (git): [DOC] Move Therad#join under Thread in NEWS-3.0.0.md
znz (Kazuhiro NISHIYAMA)
12:39 AM Revision df7d9812 (git): ZJIT: Prepare non-leaf calls for SetGlobal (#14197)
When trace_var is used, setting a global variable can cause exceptions
to be raised. We need to prepare for that.
Stan Lo

08/12/2025

10:19 PM Revision 1afc07e8 (git): Allow encodings to be autoloaded through transcoding functions
Make sure VM lock is not held when calling `load_transcoder_entry`, as
that causes deadlock inside ractors. `String#encode` now works inside
ractors, among others.
Atomic load the rb_encoding_list
Without this, wbcheck would sometimes ...
Luke Gruber
09:06 PM Revision 31e8a9fc (git): [DOC] Tweaks for GC.latest_gc_info
burdettelamar (Burdette Lamar)
09:04 PM Revision 8b530e12 (git): [DOC] Tweaks for GC.enable
burdettelamar (Burdette Lamar)
09:04 PM Revision b934f989 (git): [DOC] Tweaks for GC.disable
burdettelamar (Burdette Lamar)
08:40 PM Revision 231407c2 (git): ZJIT: Avoid compiling failed ISEQs repeatedly (#14195)
Takashi Kokubun
07:57 PM Revision 360be94d (git): RTypedData: keep direct reference to IMEMO/fields
Similar to f3206cc79bec2fd852e81ec56de59f0a67ab32b7 but for TypedData.
It's quite common for TypedData objects to have a mix of reference in
their struct and some ivars.
Since we do happen to have 8B free in the RtypedData struct, we co...
byroot (Jean Boussier)
07:56 PM Revision 85c52079 (git): set.c: Store `set_table->bins` at the end of `set_table->entries`
This saves one pointer in `struct set_table`, which would allow
`Set` objects to still fit in 80B TypedData slots even if RTypedData
goes from 32B to 40B large.
The existing set benchmark seem to show this doesn't have a very
significan...
byroot (Jean Boussier)
07:49 PM Feature #17316: On memoization
ixti (Alexey Zapparov) wrote in #note-14:
> Firstly, rbocop is totally optional. Secondly, even rubocop is suggesting something more elegant than the above example:
Ah yes you're right. I read "The new rule enforces this syntax" and ...
Dan0042 (Daniel DeLorme)
04:30 PM Feature #17316: On memoization
> > ```
> ...
Firstly, rbocop is totally optional. Secondly, even rubocop is suggesting something more elegant than the above example:
```
def current_user
return @current_user if defined?(@current_user)
@current_user = User...
ixti (Alexey Zapparov)
06:08 PM Revision 507b1e4b (git): [ruby/openssl] pkey: skip tests using invalid keys in the FIPS mode
In OpenSSL's master branch, importing/loading a key in the FIPS mode
automatically performs a pair-wise consistency check. This breaks tests
for OpenSSL::PKey::EC#check_key and DH#params_ok? as they use
deliberately invalid keys. These m...
rhenium (Kazuki Yamaguchi)
05:38 PM Revision 4cf05ea7 (git): Replace stdatomic ops with explicit mem order
My previous pass missed these atomic operations using operators. jhawthorn (John Hawthorn)
05:38 PM Revision cb360b0b (git): Implement rbimpl_atomic_value_load
This only adds the rbimpl_ version to include/ruby/atomic.h so that it
is not a new public interface.
We were already using RUBY_ATOMIC_VALUE_LOAD in a few locations. This
will allow us to use other memory orders internally when desired.
jhawthorn (John Hawthorn)
05:38 PM Revision 77d29ef7 (git): Convert ATOMIC_LOAD_RELAXED to use new rbimpl_*
jhawthorn (John Hawthorn)
05:38 PM Revision 1d9f7609 (git): Update rbimpl_atomic_* to all take a memory order
jhawthorn (John Hawthorn)
05:38 PM Revision 2f95eb4e (git): Rename rbimpl_atomic.*_set to _store
"store" is the terminology the C11 standard uses, which allows us to use
this as a fallback.
This only changes the private rbimpl_ version of the method,
RUBY_ATOMIC_SET et al. keep the same name.
jhawthorn (John Hawthorn)
05:32 PM Revision a9230e76 (git): Make Enumerator::Product write-barrier protected
peterzhu2118 (Peter Zhu)
05:32 PM Revision 3e1e2bda (git): Make Enumerator::Chain write-barrier protected
peterzhu2118 (Peter Zhu)
05:00 PM Revision 998be6b3 (git): ZJIT: Add flag to disable the HIR optimizer (#14181)
Also add a check in the bisect script that can assign blame to the HIR
optimizer.
tekknolagi (Maxwell Bernstein)
04:54 PM Revision e26ab5db (git): ZJIT: Avoid splitting add_into/sub_into for x86_64 (#14177)
* ZJIT: Avoid splitting add_into/sub_into
* Require add_into/sub_into to take a Reg
Takashi Kokubun
02:43 PM Revision c5c894c6 (git): [DOC] Markup example code as ruby
nobu (Nobuyoshi Nakada)
02:43 PM Revision cefd4a23 (git): [DOC] Use backticks instead of `<tt>` except for nested markups
nobu (Nobuyoshi Nakada)
02:43 PM Revision 74b45dc3 (git): [DOC] Use backticks instead of `+` in markdown mode
nobu (Nobuyoshi Nakada)
02:43 PM Revision e07510d1 (git): [DOC] Markup constants as code
nobu (Nobuyoshi Nakada)
02:43 PM Revision 58dbfe52 (git): [DOC] Fix a typo
nobu (Nobuyoshi Nakada)
02:35 PM Revision 8f6f9e88 (git): [DOC] Try the latest RDoc
nobu (Nobuyoshi Nakada)
02:33 PM Revision 37e991b0 (git): [DOC] Use the specified revision RDoc
nobu (Nobuyoshi Nakada)
02:12 PM Revision 814eaf33 (git): Use rb_gc_mark_and_move for autoload_data
peterzhu2118 (Peter Zhu)
02:12 PM Revision 0019e7c7 (git): Use rb_gc_mark_and_move for autoload_const
peterzhu2118 (Peter Zhu)
01:24 PM Revision 9fa87a66 (git): CI: ubuntu.yml: Skip user ground id test on ppc64le and s390x
This is a temporary workaround. Jun Aruga
01:24 PM Revision 05b654b4 (git): CI: ubuntu.yml: Set HOME env on ppc64le and s390x
This is a temporary workaround. Jun Aruga
01:24 PM Revision 099df0b4 (git): CI: ubuntu.yml: Add GitHub Actions s390x case
Add the s390x case using GitHub Actions ppc64le/s390x service.
https://github.com/IBM/actionspz
We can run the ppc64le/s390x cases only in the registered upstream repositories.
https://github.com/IBM/actionspz/blob/main/docs/FAQ.md#what...
Jun Aruga
09:54 AM Revision e2aeb7d9 (git): Use `$(SRC_FILE)` and `$(OS_DEST_FILE)`
NMake combines VPATH and stem with a backslash. The resulting source
name is embedded verbatim, backslash included, into the generated file
using the `#line` pragma (e.g., "src\gc.rb"). This causes the warning
"C4129: Unrecognized char...
nobu (Nobuyoshi Nakada)
09:19 AM Revision 401932c1 (git): NMake needs caret to escape a hash sign
nobu (Nobuyoshi Nakada)
08:24 AM Bug #21540: prism allows `foo && return bar` when parse.y doesn't
Right, I understand. `foo && (return bar)` would be allowed, thanks for clarifying (works as expected in prism and parse.y) Earlopain (Earlopain _)
08:00 AM Bug #21540: prism allows `foo && return bar` when parse.y doesn't
It is because of the precedence, and has been since 1.x at least.
nobu (Nobuyoshi Nakada)
06:53 AM Bug #21540 (Closed): prism allows `foo && return bar` when parse.y doesn't
Code such as `foo && return bar` has been disallowed in ruby since at least Ruby 2.0. Prism allows it though:
```
$ ruby -cve "a && return foo"
ruby 3.5.0dev (2025-08-08T02:57:23Z master 3ad26d0501) +PRISM [x86_64-linux]
Syntax OK
...
Earlopain (Earlopain _)
07:04 AM Revision 6b2d9ed2 (git): Handle preperly comments in middle of lines in gems/bundled_gems
nobu (Nobuyoshi Nakada)
05:11 AM Bug #21111: RbConfig::CONFIG['CXX'] quietly set to "false" when Ruby cannot build C++ programs
> RbConfig::CONFIG['CXX'] to c++
I like that, a reasonable default. I think that's half the battle. Going the rest of the mile, would involve helping people understand the system when it fails.
Do we have any ability to annotate a ...
schneems (Richard Schneeman)
02:14 AM Revision 428937a5 (git): [DOC] Fix docs for GC.config
After commit 61fff8a, GC.config now returns the same hash for getting and
setting.
peterzhu2118 (Peter Zhu)
02:02 AM Revision 306df129 (git): [DOC] New .md file to replace doc/globals.rdoc
burdettelamar (Burdette Lamar)
01:16 AM Revision f2c7968a (git): [ruby/stringio] Fix test name
(https://github.com/ruby/stringio/pull/139)
https://github.com/ruby/stringio/commit/0edc8e22da
Sutou Kouhei
12:12 AM Revision 8b1afbc6 (git): CI: Surface Rust warnings on PRs that touch any Rust code
Rust PRs will have a failed CI step if they trigger any warnings.
This helps us stay on top of warnings from new Rust releases and
also ones we accidentally write.
Fix a typo for demo, since this only runs when Rust files are changed.
alanwu (Alan Wu)

08/11/2025

10:53 PM Revision 0070c26a (git): ZJIT: CI: Use Rust version built into GitHub Actions image
Saves the work of installing Rust for most jobs. Keep a job on each
platform that tests 1.85.0, the minimum supported version, though.
alanwu (Alan Wu)
10:37 PM Revision 4da569b5 (git): [DOC] YJIT: Add YJIT to autolink_excluded_words
Stan Lo
10:37 PM Revision 39effad4 (git): [DOC] ZJIT: Add ZJIT to autolink_excluded_words
This tells RDoc to not automatically link to the `ZJIT` module so we
don't need to keep escaping the word ZJIT in the documentation/comments.
Stan Lo
10:36 PM Revision 9fb34f4f (git): ZJIT: Add --zjit-exec-mem-size (#14175)
* ZJIT: Add --zjit-exec-mem-size
* Add a comment about the limit
Takashi Kokubun
10:07 PM Revision e29d3334 (git): ZJIT: Implement `concatstrings` insn (#14154)
Co-authored-by: Alexander Momchilov <[email protected]> Stan Lo
09:43 PM Feature #17316: On memoization
marksiemers (Mark Siemers) wrote in #note-12:
> A big motivation for this comes from a recent change to rubocop-rails, which is now enforcing "Rails/FindByOrAssignmentMemoization" (see: https://rails.rubystyle.guide/\#find-by-memoizatio...
Dan0042 (Daniel DeLorme)
07:37 PM Feature #17316: On memoization
I agree with Sebastian that an operator is the best way to keep this code elegant. My proposal is to:
**Introduce a new operator `@||` that does instance variable aware memoization succinctly**
```ruby
# Allow this syntax
def result
...
marksiemers (Mark Siemers)
09:35 PM Revision 4f34eddb (git): YJIT, ZJIT: Fix JITs compiling prelude (#14171)
Takashi Kokubun
08:27 PM Bug #21151: IO and StringIO raise FrozenError even for read-only methods
Edit: previously I referred to non-writable state, but in actuality any state of `StringIO` or `IO` should be safe to read even if the object itself is frozen. There's no need for either type to be mutable just to read `sync` or `externa... headius (Charles Nutter)
08:21 PM Bug #21151: IO and StringIO raise FrozenError even for read-only methods
> for an IO to be read it has to be writable
In order to read data out of an IO, sure. But the methods I mentioned do not require write access to the IO; they just return non-writable state.
> ...
The non-writeable state could be p...
headius (Charles Nutter)
08:21 PM Revision 31955052 (git): ZJIT: Add compile/profile/GC/invalidation time stats (#14158)
Co-authored-by: Stan Lo <[email protected]> Takashi Kokubun
08:18 PM Revision 69686685 (git): ZJIT: Add RubyVM::ZJIT.enabled? (#14159)
Co-authored-by: Max Bernstein <[email protected]> Takashi Kokubun
07:49 PM Revision 6e3790b1 (git): YJIT: Fix `mismatched_lifetime_syntaxes`, new in Rust 1.89.0
alanwu (Alan Wu)
07:49 PM Revision 5b956fbf (git): ZJIT: Fix `mismatched_lifetime_syntaxes`, new in Rust 1.89.0
alanwu (Alan Wu)
07:21 PM Revision c6614d4c (git): YJIT: Fix `mismatched_lifetime_syntaxes`, new in Rust 1.89.0
alanwu (Alan Wu)
05:07 PM Feature #21539 (Open): Facilitate walking native and interpreter (and jit?) stacks from outside of the ruby process
While ruby does have a great API for getting stack traces within the ruby processes, as used by profilers like vernier and stackprof, there are some projects which aim to profile ruby from outside of the process.
Some examples include...
dalehamel (Dale Hamel)
04:20 PM Bug #21534: ppc64le bootstraptest/test_ractor.rb aborted (core dumped) on configure cppflags=-DRUBY_DEBUG and -O3
I am also seeing the following test failures in the `make test-all` below on GitHub Actions ppc64le 24.04. It seems that the first 2 failing tests are related to ractor.
https://github.com/ruby/ruby/actions/runs/16884291029/job/478279...
jaruga (Jun Aruga)
02:20 PM Revision 61fff8a9 (git): Fix return value of setting in GC.config
gc_config_set returned rb_gc_impl_config_get, but gc_config_get also added
the implementation key to the return value. This caused the return value
of GC.config to differ depending on whether the optional hash argument is
provided or not.
peterzhu2118 (Peter Zhu)
01:26 PM Bug #21538 (Closed): initialize_dup not called when duping class/module
Not sure whether this is expected behaviour or not, but just leaving it here to start the debate on whether callbacks like `initialize_dup` are supposed to be called when a module or class is duped (the same happens with `initialize_copy... chucke (Tiago Cardoso)
01:25 PM Revision 4775d1ff (git): Add NODE IN locations
Add locations to struct `RNode_IN`.
memo:
```bash
> ruby -e 'case 1; in 2 then 3; end' --parser=prism --dump=parsetree
@ ProgramNode (location: (1,0)-(1,24))
+-- locals: []
+-- statements:
@ StatementsNode (location: (1,0)-(1,24))
...
S_H_ (Shun Hiraoka)
01:25 PM Revision e0b72ad2 (git): [DOC] Update JIT options
burdettelamar (Burdette Lamar)
01:24 PM Revision ad146320 (git): [DOC] Tweaks for GC.config
burdettelamar (Burdette Lamar)
01:24 PM Revision 62b5fe89 (git): [DOC] Tweaks for GC.config
burdettelamar (Burdette Lamar)
01:22 PM Revision c914389a (git): Update string_casecmp.yml
Erim Icel
01:22 PM Revision 09d6cfc5 (git): Update test_string.rb
Erim Icel
01:22 PM Revision 5e324ac1 (git): Optimize `str_casecmp` length check using pointer end
Erim Icel
11:29 AM Revision df11c073 (git): [DOC] Fix `vssetup.cmd` arguments
nobu (Nobuyoshi Nakada)
11:29 AM Revision b0a4e239 (git): CI: mingw: Use the official actions for msys2
Because ruby/setup-ruby is affected to test result. hsbt (Hiroshi SHIBATA)
11:29 AM Revision 4adb6f69 (git): CI: mingw: Set up msys2 environment variables
nobu (Nobuyoshi Nakada)
11:29 AM Revision a443cd01 (git): CI: mingw: Set `cmd` as the default shell
It is used in more steps than `sh`. nobu (Nobuyoshi Nakada)
11:29 AM Revision cc4eba00 (git): Win: Use `@` instead of `echo off` in `vssetup.cmd`
`echo off` affects the batch files called from this file as well. nobu (Nobuyoshi Nakada)
11:29 AM Revision c1f9f0a7 (git): CI: windows: Windows-2019 or earlier no longer used
nobu (Nobuyoshi Nakada)
11:29 AM Revision 90f81994 (git): CI: mingw: Tweak misc system & package info
nobu (Nobuyoshi Nakada)

08/10/2025

08:57 PM Feature #20205: Enable `frozen_string_literal` by default
byroot (Jean Boussier) wrote in #note-73:
> it probably doesn't make a huge difference, but your regexp is a bit too strict
It probably makes even less of a difference, but magic comments are also indentable, case-insensitive, and ca...
janosch-x (Janosch Müller)
05:31 PM Bug #21537 (Open): rb_ractor_sched_barrier_start() hangs on Windows
The following script hangs at `GC.start` indefinitely. Pressing Ctrl+C on the terminal interrupts the `sleep` and it appears to resume and prints "in_ractor".
```ruby
Ractor.new {
sleep 1
GC.start
puts "in_ractor"
}
sleep
...
rhenium (Kazuki Yamaguchi)
07:46 AM Bug #21535: `NoMethodError` becomes `NameError`when using `...` delegation and method call indirection
I ran a bisect and as suspected this regression was caused by the forward call optimization in https://github.com/ruby/ruby/commit/cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce
FYI: @tenderlovemaking
byroot (Jean Boussier)

08/09/2025

11:32 AM Revision 2a6345e9 (git): time.c: fix time_mark_and_move when WIDEVALUE_IS_WIDER
In such case the pointer need to be casted. byroot (Jean Boussier)
11:16 AM Revision 77b3495e (git): [ruby/stringio] Adjust indent [ci skip]
https://github.com/ruby/stringio/commit/ac6292c17f nobu (Nobuyoshi Nakada)
11:12 AM Revision b4d5ebcd (git): [ruby/stringio] Fix SEGV at eof? on null StringIO
https://github.com/ruby/stringio/commit/29b9133332 nobu (Nobuyoshi Nakada)
11:12 AM Revision 31f2d899 (git): [ruby/stringio] Fix SEGV at read/pread on null StringIO
https://github.com/ruby/stringio/commit/113dd5a55e nobu (Nobuyoshi Nakada)
09:30 AM Revision 23c01139 (git): [ruby/stringio] fix: prevent segfault in StringIO#seek with SEEK_END
on null device
(https://github.com/ruby/stringio/pull/137)
Fixes segmentation fault when calling `seek` with `SEEK_END` on null
device StringIO created by
`StringIO.new(nil)`.
```bash
ruby -e "require 'stringio'; StringIO.new(nil).se...
koh-sh
03:49 AM Bug #21536 (Closed): ERROR: Error installing tk:
The tk extension hasn't shipped with Ruby since Ruby 2.4. The correct place to report this would be https://github.com/ruby/tk/issues.
That being said, you could try compiling with `CFLAGS=-std=c99` and/or `CC=c99` and see if that fix...
jeremyevans0 (Jeremy Evans)
12:57 AM Bug #21536 (Closed): ERROR: Error installing tk:
``` shell
kkar4 :: ~ » pacman -Ss tcl | grep install
extra/tcl 8.6.16-1 [installed]
extra/tk 8.6.16-1 [installed]
```
``` shell
kkar4 :: ~ » CFLAGS="-Wold-style-definition" gem install tk
Building native extensions. This co...
sevkme (sevk kk)
02:10 AM Revision 60ca525f (git): [DOC] Array#map! fix to indicate return is self
Ethan (Ethan -)
02:10 AM Revision 4209ebb1 (git): [DOC] Array#fill fix to indicate return is self
doc currently indicates the return value as `new_array` but then in the first sentence explains "always returns +self+ (never a new array)". Ethan (Ethan -)
02:02 AM Revision 22fe80f2 (git): Fix Typo in Regular Expressions docs (_regexp.rdoc)
Small fix for a typo in the regular expression docs. The line of code above this change does not produce the output shown in the docs. With this change the docs will show the correct output for this example of using regex quantifiers. Carl Zulauf
01:39 AM Feature #21533: Introduce `Time#am?` and `Time#pm?`
Using 12pm for noon is indeed bad practice. Using 12am for midnight is even worse practice, because without context it's unclear whether it's at the beginning or the end of a certain date.
But it is practice, at least in certain parts...
duerst (Martin Dürst)
12:13 AM Revision d80c03d2 (git): Fix id2ref table build when GC in progress
Previously, if GC was in progress when we're initially building the
id2ref table, it could see the empty table and then crash when trying to
remove ids from it. This commit fixes the bug by only publishing the
table after GC is done.
Co...
jhawthorn (John Hawthorn)
 

Also available in: Atom