Project

General

Profile

Activity

From 06/21/2026 to 06/27/2026

Today

04:01 PM Feature #22132: Scala-like for comprehensions
I agree with @zverok, this looks very much *not* Ruby-like to me.
I also see no need for it.
It feels more like Python or Scala.
Python has `for` comprehensions because it doesn't even have a decent `map` or `filter` (only as a top-level...
Eregon (Benoit Daloze)
10:27 AM Feature #22132: Scala-like for comprehensions
Thanks for the feedback.
I agree that "you rarely need `for`, think in Enumerable" is core to how Ruby is taught, and I don't want to weaken that.
But I think the "what is Enumerable missing?" framing misses the point here. This pr...
shugo (Shugo Maeda)
06:27 AM Feature #22132: Scala-like for comprehensions
TBH, in all my years with Ruby, it felt for me as its deep characteristic that "you never need `for`, think in enumerables."
I believe that introducing "`for` that is useful for some complex cases" will dilute this image. Ruby is alm...
zverok (Victor Shepelev)
08:43 AM Revision 3c7a4c17 (git): Use $(PATH_SEPARATOR) for test-syntax-suggest -I on mswin
The recipe moved into common.mk kept the literal `-Ispec/syntax_suggest:spec/lib`
from template/Makefile.in. On Windows Ruby treats `:` as an invalid path
separator (the drive-letter delimiter), so spec_helper fails to load and the
mswin...
Hiroshi SHIBATA
08:43 AM Revision ef4626e5 (git): Move test-syntax-suggest recipe from template/Makefile.in to common.mk
template/Makefile.in is used only by the GNU make build, so on mswin the
common.mk stub was an empty rule and nmake check silently skipped the
SyntaxSuggest spec. Move the recipe to common.mk so both builds share it,
matching how test-bu...
Hiroshi SHIBATA
07:42 AM Revision 689f370c (git): Update bundled gems list as of 2026-06-26
git[bot]
06:40 AM Feature #22130: Add a new YARV instruction for a `String.new` fast path
I support this. When working with low-level code that need to buffer IOs for parsing, it's very useful to be in control of the buffer size.
However what I found is that the overhead of argument handling when calling `String.new(capaci...
byroot (Jean Boussier)
06:36 AM Misc #22107: DevMeeting-2026-07-09
* [Feature #22085] `String#to_f` and `Kernel#Float` shouldn't issue out of range warnings
* Here is another example of the warning needing to be worked around: https://github.com/ruby/json/pull/1044
byroot (Jean Boussier)
06:16 AM Revision 0db07b1a (git): [ruby/json] Avoid Float out of range warning for clearly underflowing numbers
When parsing JSON floats with extremely negative exponents (like
123.456e-789 or 123e-10000000), the parser would fall back to
rb_cstr_to_dbl which internally calls strtod. When strtod returns
ERANGE due to underflow to 0.0, Ruby emits a...
copilot-swe-agent[bot]
06:15 AM Feature #22085: `String#to_f` and `Kernel#Float` shouldn't issue out of range warnings
Another case of this warning needing to be worked around: https://github.com/ruby/json/pull/1044 byroot (Jean Boussier)
03:27 AM Revision 39119598 (git): [DOC] Update Set#classify documentation
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
03:25 AM Revision 40b11045 (git): [DOC] Update Set#add? documentation
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
03:24 AM Revision dbf7b10b (git): [DOC] Update Set#^ documentation
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
12:29 AM Revision 33ebed70 (git): [DOC] Update Set#| documentation
burdettelamar (Burdette Lamar)

06/26/2026

11:55 PM Revision 7a4492a0 (git): [DOC] Update Set#== documentation
burdettelamar (Burdette Lamar)
11:49 PM Misc #22107: DevMeeting-2026-07-09
* [Feature #22132] Scala-like for comprehensions
* Are `then` and `when` acceptable? (`yield` and `if` are not usable due to grammar conflicts)
* Should a comprehension scope loop variables, or leak them like `for ... do`?
* Guards...
shugo (Shugo Maeda)
11:34 PM Revision 010de50c (git): ZJIT: Add perf symbol for block padding (#17517)
* ZJIT: Add perf symbol for block padding
* ZJIT: Explain HIR-only padding perf symbols
k0kubun (Takashi Kokubun)
11:32 PM Revision ee74bca0 (git): Make ROBJECT_FIELDS private
Commit 0ea210d renamed ROBJECT_IVPTR to ROBJECT_FIELDS, so it would have
caused compatibility issues anyways. Since there has been no issues, it
means that nobody is using it. We can make this dangerous API private since
no C extension s...
peterzhu2118 (Peter Zhu)
11:30 PM Feature #22132 (Open): Scala-like for comprehensions
## Abstract
How about adding an expression form of `for` that desugars into nested `flat_map`/`map` and `filter` calls.
Here's an example, which computes all pairs of numbers between `0` and `n-1` whose sum is equal to a given valu...
shugo (Shugo Maeda)
11:13 PM Revision baa3b26a (git): ZJIT: Reuse instruction profiling for recompile exits (#17457)
* ZJIT: Reuse instruction profiling for recompile exits
Deduplicate recompile-exit profiling by sharing the per-instruction
profiling logic used by zjit_* instructions.
Recompile exits now use the materialized CFP state to recover the
...
Nozomi Hijikata
10:59 PM Revision 5e03921c (git): [DOC] Update Set#add documentation
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
10:58 PM Revision 6ccae2b3 (git): [DOC] Update Set#| documentation
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
10:47 PM Revision 88c8877a (git): ZJIT: Comment that we basically never add to test_zjit.rb now [DOC]
Good for the humans and agents. alanwu (Alan Wu)
10:43 PM Revision 5948386e (git): ZJIT: Add ZJIT perf symbols for trampolines (#17515)
k0kubun (Takashi Kokubun)
09:34 PM Revision 48ac7268 (git): [Bug #22124] Add block to the proper node
nobu (Nobuyoshi Nakada)
09:34 PM Revision e4c52b41 (git): [Bug #22126] Fix partial DCE with loop back-edges
The old `remove_unreachable_chunk` walked the dead code once and tried
to do two things at the same time -- count label references inside that
chunk and figure out what exactly to delete.
That breaks for loops -- the loop label comes be...
viralpraxis (Iaroslav Kurbatov)
09:29 PM Revision d6e6d3e9 (git): [Bug #22127] Check the dynamic regexp compilation results
nobu (Nobuyoshi Nakada)
09:29 PM Revision 2bf4c08b (git): IO::Buffer#locked: Release lock even when the block raises (#16180)
IO::Buffer#locked: Release lock even when the block raises/breaks
Previously, `IO::Buffer#locked` leaks the lock when the block raises
an exception, or breaks.
Fixes: [Bug #21882]
hanazuki (Kasumi Hanazuki)
09:26 PM Bug #21996: Crash when modifying instance variables during inspect or Marshal dump
ruby_4_0 commit:6fd2ae629a40353a3f377718544e1a3ee7a1ab65 merged revision(s) commit:f2d0ef269b47af7d0e658016903bd8917c32899a. rwstauner (Randy Stauner)
09:18 PM Bug #21882: IO::Buffer#locked leaves the buffer locked when the block raises
Backport PR for ruby_4_0 (4.0) opened: https://github.com/ruby/ruby/pull/17513 rwstauner (Randy Stauner)
09:16 PM Bug #22124: void value missed in parse.y
Backport PR for ruby_4_0 (4.0) opened: https://github.com/ruby/ruby/pull/17512 rwstauner (Randy Stauner)
08:41 PM Bug #22126: Stack underflow for partial DCE and loops
Backport PR for ruby_4_0 (4.0) opened: https://github.com/ruby/ruby/pull/17511 rwstauner (Randy Stauner)
08:34 PM Revision 1cd2c5db (git): ZJIT: Replace guards we know can't pass with an unconditional side-exit
The resulting type of a `GuardType` we prove cannot pass is `Empty`. Any HIR instructions using the type information from the `GuardType` will also see `Empty` and propagate that type through the compiler. Any generated code would not be... Kevin Menard
08:34 PM Revision 02365e17 (git): ZJIT: Assert we never try to get the byte size of an `Empty` value
An `Empty` value has no representable size. The caller trying to get the size is operating on an unreachable instruction that should have already been removed. Kevin Menard
08:18 PM Bug #22127: parse.y regexp crash on invalid encoding
Backport PR for 4.0 opened: https://github.com/ruby/ruby/pull/17510 rwstauner (Randy Stauner)
08:06 PM Bug #22120: Segfault caused by ar_find_entry_hint() not checking for conversion to st_table
ruby_4_0 commit:37ab334cd72e027d03e7d9e71eea766ac4d1f174 merged revision(s) commit:c88430e1878f. rwstauner (Randy Stauner)
08:00 PM Feature #22131 (Closed): Avoid array allocation in `Array#include?` on literal arrays
Eregon (Benoit Daloze)
04:37 PM Feature #22131: Avoid array allocation in `Array#include?` on literal arrays
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Also `putnil` could be optimized.
PR is adjusted and green. Thanks for the suggestion
Strech (Sergey Fedorov)
02:54 PM Feature #22131: Avoid array allocation in `Array#include?` on literal arrays
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Also `putnil` could be optimized.
Yes, I thought about it, but decide to start small, I'm going to add it
**UPD:** Added in [2c368383572](https://github.com/ruby/ruby/pull/17496/changes/2c368...
Strech (Sergey Fedorov)
02:38 PM Feature #22131: Avoid array allocation in `Array#include?` on literal arrays
Also `putnil` could be optimized. nobu (Nobuyoshi Nakada)
12:54 PM Feature #22131 (Closed): Avoid array allocation in `Array#include?` on literal arrays
I've noticed that `Array#include?` on a literal array of frozen-shareable elements (Integers, Symbols, true/false/nil, frozen String literals) compiles the receiver to `duparray`, which allocates a fresh `Array` copy on every call — even... Strech (Sergey Fedorov)
06:36 PM Feature #22130: Add a new YARV instruction for a `String.new` fast path
headius (Charles Nutter) wrote in #note-4:
> Is your benchmark published somewhere?
Ya, we're working with them [here](https://github.com/Shopify/lz4-flex-rb/pull/71)
tenderlovemaking (Aaron Patterson)
06:18 PM Feature #22130: Add a new YARV instruction for a `String.new` fast path
Is your benchmark published somewhere? headius (Charles Nutter)
06:11 PM Feature #22130: Add a new YARV instruction for a `String.new` fast path
BTW, this proposal also fixes a possible regression (though I don't think anyone cares about this case).
Given this code:
```ruby
class String
def initialize foo:
p "hi"
super()
end
end
String.new(foo: 123)
``...
tenderlovemaking (Aaron Patterson)
05:00 PM Feature #22130: Add a new YARV instruction for a `String.new` fast path
ko1 (Koichi Sasada) wrote in #note-1:
> Does it affect app performance?
I don't think it slows down any applications since all cases of `String.new` are faster. But I also think it's rare for any application to call `String.new` so I...
tenderlovemaking (Aaron Patterson)
04:43 AM Feature #22130: Add a new YARV instruction for a `String.new` fast path
Does it affect app performance? ko1 (Koichi Sasada)
05:37 PM Revision 21550570 (git): Reduce `Array#include?` allocations for literals
Strech (Sergey Fedorov)
04:57 PM Revision 68033547 (git): ZJIT: Move objtostring specialization to HIR build (#17499)
Emitting a Send in `type_specialize` makes the compiler require more
phases to go and optimize that Send. Instead, in HIR build, emit either
a) a guard or b) a run-time type check that might get specialized away.
Also delete `ObjToString`.
Max Bernstein
04:46 PM Revision 86306050 (git): [ruby/error_highlight] [DOC] Fix link in ErrorHighlight
https://github.com/ruby/error_highlight/commit/6096a05b2f burdettelamar (Burdette Lamar)
04:45 PM Revision 29a3b2e9 (git): [ruby/error_highlight] Bump version to 0.7.2
https://github.com/ruby/error_highlight/commit/d945ffd2aa mame (Yusuke Endoh)
04:45 PM Revision c5bb741c (git): [ruby/error_highlight] Refactor type error to be more consistent
[Bug #21864]
https://github.com/ruby/error_highlight/commit/6383387b2d
Co-Authored-By: Benoit Daloze <eregontp@gmail.com>
byroot (Jean Boussier)
04:43 PM Revision 25077834 (git): [ruby/error_highlight] Return nil instead of raising NotImplementedError for def/lambda/block args
ErrorHighlight.spot defaults point_type to :args for ArgumentError. When an
ArgumentError originates from argument binding (e.g. a missing required
keyword), its first backtrace location maps to a def/lambda/block node. The
spotter had n...
Randy Stauner
02:41 PM Revision 0a40bb7d (git): [DOC] Update Set#<=> documentation
burdettelamar (Burdette Lamar)
12:53 PM Revision cf93b84b (git): Make `is_bigendian` for DYNAMIC_ENDIAN a compile-time invariant
nobu (Nobuyoshi Nakada)
12:32 PM Revision 15b8aafa (git): Make rb_ary_subseq_step static
peterzhu2118 (Peter Zhu)
12:06 PM Revision 5b09cd80 (git): ZJIT: Remove inline_trivial pass (#17472)
Collapse trivial inlining into emitting the SendDirect. No need for a
separate pass.
We are moving toward a strategy where we strength reduce all the
way in one go.
Max Bernstein
09:46 AM Revision ac56efb3 (git): Add an example sampler that uses the GC::Profiler records
eightbitraptor (Matt V-H)
09:46 AM Revision 45e0aaf0 (git): Seperate compaction from the sweeping time
even when auto-compact is enabled. eightbitraptor (Matt V-H)
09:46 AM Revision 600acfc9 (git): MMTk doesn't have GC Profiler
eightbitraptor (Matt V-H)
09:46 AM Revision f6ab0a1b (git): Fix depends
eightbitraptor (Matt V-H)
09:46 AM Revision f214b30d (git): Shim hrtime for modular GC
similar to how we shim bits.h already eightbitraptor (Matt V-H)
09:46 AM Revision 48516c7a (git): Add compaction wall time to GC::Profiler
Assisted-By: devx/46f21e8b-0835-4833-801f-ce5e336dbf61 eightbitraptor (Matt V-H)
09:46 AM Revision e1818cde (git): Add mark and sweep wall times to GC::Profiler
Assisted-By: devx/46f21e8b-0835-4833-801f-ce5e336dbf61 eightbitraptor (Matt V-H)
09:46 AM Revision 10857e07 (git): Split out STW time from total GC pause time.
GC_PAUSE_TIME == GC_STOP_TIME + GC_STW_TIME eightbitraptor (Matt V-H)
09:46 AM Revision 2da4c0e8 (git): [Doc] Document GC::Profiler.raw_data
eightbitraptor (Matt V-H)
09:46 AM Revision d8bf0a28 (git): Add monotonic wall-clock times to GC::Profiler
eightbitraptor (Matt V-H)
07:09 AM Revision aefb6f57 (git): Update default gems list at feb0b2849fcccdd0b4a175fe6ac675 [ci skip]
git[bot]
07:08 AM Revision feb0b284 (git): [ruby/error_highlight] Bump version to 0.7.2
https://github.com/ruby/error_highlight/commit/d945ffd2aa mame (Yusuke Endoh)
07:06 AM Revision f486ad8e (git): Make rb_newobj_of_with_shape static
It's not used outside of gc.c. peterzhu2118 (Peter Zhu)
03:20 AM Bug #22115: [BUG] Segmentation fault at 0x000000000000002c
Hey.
Do you know if this has been fixed ? I reproduced locally and got a core dump.
I'm running 4.0.3 so not totally recent.
This is the backtrace.
```
(lldb) target create "/home/robert/.rbenv/versions/4.0.3/bin/ruby" --cor...
robert12 (Robert Gleeson)
02:23 AM Revision 3c5d5ab8 (git): Update Set#- documentation
burdettelamar (Burdette Lamar)
02:08 AM Revision f2e4ae59 (git): Update set.c
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
02:08 AM Revision 89aed6ab (git): Update set.c
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
02:08 AM Revision cf0e1238 (git): [DOC] Tweaks for Set#&
burdettelamar (Burdette Lamar)
02:03 AM Revision bd6b52f2 (git): [DOC] Doc for Set[]
burdettelamar (Burdette Lamar)
02:03 AM Revision fbbe4e60 (git): [DOC] Doc for Set[]
burdettelamar (Burdette Lamar)
02:03 AM Revision eff8d358 (git): Update set.c
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
02:03 AM Revision 98ccc930 (git): Update set.c
Co-authored-by: Jeremy Evans <code@jeremyevans.net> burdettelamar (Burdette Lamar)
02:03 AM Revision 04be5a02 (git): More
burdettelamar (Burdette Lamar)
02:03 AM Revision 5cd8d261 (git): [DOC] Tweaks for Set.new
burdettelamar (Burdette Lamar)
12:50 AM Revision 17da26ee (git): ZJIT: Rewrite jit_perf script in Ruby (#17474)
k0kubun (Takashi Kokubun)
12:37 AM Revision 3527f391 (git): [ruby/rubygems] Track the shipped RubyGems SecureRandom in the file invariant
https://github.com/ruby/rubygems/commit/08ebcf2e97
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
12:37 AM Revision 8ff7a797 (git): [ruby/rubygems] Use RubyGems' vendored SecureRandom in Bundler
Bundler now reuses RubyGems' Gem::SecureRandom directly instead of keeping
its own vendored copy. The shim prefers an already-loaded Gem::SecureRandom,
then the copy shipped in the gem under lib/rubygems/vendor, and only falls
back to th...
hsbt (Hiroshi SHIBATA)
12:37 AM Revision 07a62f0b (git): [ruby/rubygems] Ship RubyGems' vendored SecureRandom in the Bundler gem
Add lib/rubygems/vendor/securerandom to the gem's file list so the Bundler
gem carries its own copy of Gem::SecureRandom. This keeps Bundler
self-contained on RubyGems versions that predate the vendored copy, the
same way the vendored UR...
hsbt (Hiroshi SHIBATA)
12:37 AM Revision 1ffba452 (git): [ruby/rubygems] Guard the vendored SecureRandom against double loading
When the same Gem::SecureRandom copy is shipped in two gems (RubyGems and
Bundler) and required from different paths, RubyGems' unguarded
require_relative reloads it and emits "already initialized constant"
warnings. Add an idempotent gu...
hsbt (Hiroshi SHIBATA)
12:37 AM Revision 9b0d3113 (git): [ruby/rubygems] Make JRuby OutOfMemoryError friendly error spec deterministic
The test ran a real `bundle install` under a 32M JVM heap and expected
Bundler to catch the OOM. At that heap size the JVM sometimes dies during
boot and the JRuby launcher prints its own message before Bundler's rescue
runs, so the spec...
hsbt (Hiroshi SHIBATA)

06/25/2026

08:32 PM Feature #22130 (Open): Add a new YARV instruction for a `String.new` fast path
I would like to introduce a new YARV instruction, `opt_string_new`. It's similar to `opt_new`, but it is specialized for strings.
Today, we [define the `new` method on `String`](https://github.com/ruby/ruby/blob/5d1a0239de4934cb38b0f...
tenderlovemaking (Aaron Patterson)
06:49 PM Feature #22128: C API: Expose RB_OBJ_SET_FROZEN_SHAREABLE
I came to a similar conclusion when trying the send `Time` across Ractor ports:
``` c
/* before: walk each moved object's refs under the VM lock, on every move */
for (size_t i = 0; i < obj->ref_count; i++)
if (!rb_ractor_sha...
ianks (Ian Ker-Seymer)
06:33 PM Bug #22129: error_highlight raises NotImplementedError for ArgumentErrors that get wrapped
Backport PR for 4.0: https://github.com/ruby/ruby/pull/17480 rwstauner (Randy Stauner)
06:56 AM Bug #22129 (Closed): error_highlight raises NotImplementedError for ArgumentErrors that get wrapped
Merged, thank you! mame (Yusuke Endoh)
04:52 AM Bug #22129 (Assigned): error_highlight raises NotImplementedError for ArgumentErrors that get wrapped
hsbt (Hiroshi SHIBATA)
05:47 PM Revision 5d1a0239 (git): ZJIT: Ensure we specialize the results of the last inlining operation (#17479)
When we introduced the inliner we also added repeated passes of the optimization pipeline. The idea being that we want to optimize the results of inlining and, because we only inline one level deep, allow us to perform inlining on the re... Kevin Menard
01:56 PM Revision 18ce64d9 (git): re.c: Fix conflicting flags for RMatch
`RMATCH_OFFSETS_EXTERNAL` and `MATCH_BUSY` were both assigned to
`FL_USER2`, which could have created weird bugs.
Also add flag documentation for both RMatch and RRegexp.
byroot (Jean Boussier)
12:38 PM Revision a31b13ec (git): [DOC] Update for Pathname.ctime (#17370)
burdettelamar (Burdette Lamar)
12:38 PM Revision 3c3269bd (git): [DOC] Update Pathname.birthtime (#17368)
burdettelamar (Burdette Lamar)
12:36 PM Revision d534fd12 (git): [DOC] Doc for Pathname.mkpath
burdettelamar (Burdette Lamar)
10:26 AM Revision 6df734ca (git): [ruby/psych] Fix unused-but-set-global warnings in clang-23
https://github.com/ruby/psych/commit/7c1bd707a9 nobu (Nobuyoshi Nakada)
09:00 AM Revision b5c564c8 (git): [ruby/openssl] Fix unused-but-set-global warnings in clang-23
https://github.com/ruby/openssl/commit/44bb2aa070 nobu (Nobuyoshi Nakada)
08:57 AM Revision 061b1bca (git): [ruby/json] Fix unused-but-set-global warnings in clang-23
https://github.com/ruby/json/commit/168095ccb8 nobu (Nobuyoshi Nakada)
07:58 AM Revision 91edd1b4 (git): [DOC] Update bundled gems list at ac135260de1d1302e989b31e9d83cf
git[bot]
06:40 AM Revision ac135260 (git): Fix unused-but-set-global warnings in clang-23
nobu (Nobuyoshi Nakada)
06:37 AM Revision a746dd83 (git): [ruby/json] Declare types as RUBY_TYPED_THREAD_SAFE_FREE
Ref: https://github.com/ruby/ruby/pull/17395
https://github.com/ruby/json/commit/fa69e94b66
byroot (Jean Boussier)
06:35 AM Revision f400c872 (git): [ruby/json] Fix wrong call-seq for `JSON::ResumableParser#eos?`
https://github.com/ruby/json/commit/e1ee4b0e22 Sutou Kouhei
06:33 AM Revision b3cf0974 (git): re.c: Remove unecessary RBOOL in `rb_reg_equal`
byroot (Jean Boussier)
05:57 AM Revision 12ef8a66 (git): [ruby/error_highlight] Return nil instead of raising NotImplementedError for def/lambda/block args
ErrorHighlight.spot defaults point_type to :args for ArgumentError. When an
ArgumentError originates from argument binding (e.g. a missing required
keyword), its first backtrace location maps to a def/lambda/block node. The
spotter had n...
Randy Stauner
05:55 AM Revision 4ea11c60 (git): [ruby/rubygems] Cover that the ruby fallback hint is skipped for ruby variants
When the only locked variant is already the ruby one, the install error
should not point at a ruby fallback that doesn't exist. Guards the early
return in incompatibility_message against regressions.
https://github.com/ruby/rubygems/com...
hsbt (Hiroshi SHIBATA)
05:55 AM Revision c818da03 (git): [ruby/rubygems] Pass locked_platforms by keyword to candidate_platforms
Keeps the locked platform argument keyworded along the whole
resolve_best_platform path instead of switching to a positional at the
last hop.
https://github.com/ruby/rubygems/commit/1d5f35ad0e
Co-Authored-By: Claude Opus 4.8 (1M contex...
hsbt (Hiroshi SHIBATA)
05:55 AM Revision fc013062 (git): [ruby/rubygems] Guide users to the ruby fallback variant on frozen install errors
When a platform-specific variant is the only thing locked and it is
incompatible with the current Ruby, frozen mode fails at install time
with no hint about the fix. Point users at re-resolving outside frozen
mode, which adds the ruby va...
hsbt (Hiroshi SHIBATA)
05:55 AM Revision 713d4e15 (git): [ruby/rubygems] Pass locked platforms to materialization instead of mutating candidates
The locked platform set is a property of the candidates being materialized
together, so compute it in Materialization and thread it through to
candidate_platforms rather than writing it back onto each shared
LazySpecification from the co...
hsbt (Hiroshi SHIBATA)
03:53 AM Revision 37fa88d7 (git): Remove flaky test_escape_html_allocates_same_as_escapeHTML
It's causing ruby CI to flake, because it's a badly designed test,
a lot of thing can cause acouple extra allocation there and there
so even if you invoke the exact same code twice, you might still
allocate a bit more or a bit less.
byroot (Jean Boussier)
03:13 AM Revision c2154294 (git): [ruby/rubygems] Track the shipped RubyGems URI in the file invariant
The Bundler gem now ships lib/rubygems/vendor/uri, so include it in
tracked_files_glob to keep the "ships the correct set of files" spec in
sync with the gemspec.
https://github.com/ruby/rubygems/commit/d159cabc72
Co-Authored-By: Claud...
hsbt (Hiroshi SHIBATA)
03:13 AM Revision 223f7967 (git): [ruby/rubygems] Use RubyGems' vendored URI in Bundler
Drop Bundler's duplicate vendored URI copy and load Gem::URI from
RubyGems' copy instead, which the gem now ships under lib/rubygems.
The shim skips loading when Gem::URI is already defined and falls back
to the stdlib only when no vendo...
hsbt (Hiroshi SHIBATA)
03:13 AM Revision 0953a296 (git): [ruby/rubygems] Ship RubyGems' vendored URI in the Bundler gem
Add lib/rubygems/vendor/uri to the gem's files so Bundler carries the
Gem::URI copy itself. This keeps Bundler self-contained on RubyGems
versions older than 3.5, which do not vendor URI, independently of any
release cutoff.
https://git...
hsbt (Hiroshi SHIBATA)
03:13 AM Revision bc1348aa (git): [ruby/rubygems] Guard the vendored URI against double loading
When the same Gem::URI copy is shipped in two gems (RubyGems and Bundler)
and required from different paths, RubyGems' unguarded require_relative
reloads it and emits "already initialized constant" warnings. Add an
idempotent guard at th...
hsbt (Hiroshi SHIBATA)
02:28 AM Revision 1619cf7c (git): io_buffer: add safe callback wrappers for String views. (#17473)
Samuel Williams

06/24/2026

11:56 PM Revision c552f2bc (git): [ruby/cgi] Fix unescapeHTML CompatibilityError in pure-Ruby fallback
The ascii-compatible path builds a binary buffer but returned numeric
character references via chr(enc), so a non-ASCII replacement appended
to a buffer that already held non-ASCII bytes raised
Encoding::CompatibilityError. Decode into t...
hsbt (Hiroshi SHIBATA)
11:56 PM Revision adc44f9a (git): [ruby/cgi] Fix escape_html/h aliases to use C extension instead of pure Ruby fallback
The snake_case aliases (escape_html, h, unescape_html) were defined
before `require 'cgi/escape.so'`, so they captured references to the
pure Ruby methods. After the C extension loads and prepends EscapeExt,
only the camelCase names (esc...
hsbt (Hiroshi SHIBATA)
11:00 PM Revision 30e15d84 (git): [ruby/rubygems] Reuse RubyGems' vendored tsort in Bundler
Bundler's required_rubygems_version (>= 3.4.1) always ships Gem::TSort,
vendored into RubyGems since 3.4.0, so the duplicate Bundler::TSort copy
is unnecessary. Delegate to rubygems/vendored_tsort and switch SpecSet to
include Gem::TSort...
hsbt (Hiroshi SHIBATA)
10:57 PM Revision d663de3f (git): re.c: Simplify rb_reg_equal
Since `src` is always a `fstring` we don't need to compare
length nor content, we can just compare the pointers.
byroot (Jean Boussier)
10:47 PM Feature #22128: C API: Expose RB_OBJ_SET_FROZEN_SHAREABLE
> since RB_OBJ_SET_FROZEN_SHAREABLE is shallow and doesn't verify that referenced objects are shareable, this seems very hard to use safely.
I understand your reservation, I kinda have the same, but I think this being a C-level API i...
byroot (Jean Boussier)
08:02 PM Feature #22128: C API: Expose RB_OBJ_SET_FROZEN_SHAREABLE
I agree we need to find some way to make up that performance, but since `RB_OBJ_SET_FROZEN_SHAREABLE` is shallow and doesn't verify that referenced objects are shareable, this seems very hard to use safely. Even in the example Trilogy PR... jhawthorn (John Hawthorn)
09:48 AM Feature #22128 (Open): C API: Expose RB_OBJ_SET_FROZEN_SHAREABLE
### Context
I'm trying to experiment with adapting Active Record for a Ractor architecture.
Since database connections can't possibly be Ractor shareable, the idea is to warp each connection inside its own ractor, and then send SQL...
byroot (Jean Boussier)
09:17 PM Revision bb75c289 (git): ZJIT: Inline String#ascii_only? and #valid_encoding?
Read the cached coderange directly (flags & MASK) instead of calling the
builtin: ascii_only? is == 7BIT, valid_encoding? is != BROKEN, side-exit
on UNKNOWN. Drops the call, ~20% faster on ZJIT.
sampokuokkanen (Sampo Kuokkanen)
09:17 PM Revision 93e97793 (git): Define String#ascii_only? and #valid_encoding? in Ruby
Get rid of the CFUNC overhead in String#ascii_only? and #valid_encoding?. Define them as leaf Primitive.cexpr! builtins in a new string.rb, following the pattern of numeric.rb.
This makes them 1.2x-1.4x faster across the interpreter, YJ...
sampokuokkanen (Sampo Kuokkanen)
09:15 PM Revision 5465dca9 (git): Prefer rb_sym2str over rb_id2str(SYM2ID)
eightbitraptor (Matt V-H)
08:22 PM Revision 4949309e (git): ZJIT: Remove optimize_getivar
Max Bernstein
08:22 PM Revision 312d58f3 (git): ZJIT: Obviate optimize_getivar
Max Bernstein
08:22 PM Revision a0c02a4d (git): ZJIT: Optimize loading instance variables in one go
Skip intermediate GetIvar and optimize straight through, either from
getinstancevariable opcode or from methods with METHOD_TYPE_IVAR.
Max Bernstein
08:04 PM Bug #22129 (Closed): error_highlight raises NotImplementedError for ArgumentErrors that get wrapped
With code like
```ruby
def x(y:) = y
begin
x
rescue => e
p e.exception("wat").detailed_message
end
```
a NotImplementedError is raised on ruby 4.0+
```
/Users/rwstauner/.rubies/4.0.2/lib/ruby/4.0.0/error_highlight/...
rwstauner (Randy Stauner)
07:14 PM Revision b2e8843a (git): ZJIT: Fix prefix comma on InvokeBlock (#17471)
Also introduce printing helper for writing separated lists in `Display`
impl for `Insn`.
Max Bernstein
06:47 PM Revision fd2f18c3 (git): ZJIT: Print string name of constant in rb_zjit_constant_state_changed (#17470)
It's not so useful to see `ID(abc)` when debugging with `--zjit-debug`
or in Perfetto traces. Also provide the string representation of the ID,
for example: `ID(abc): String`.
Max Bernstein
03:58 PM Revision 491d6151 (git): Bump RDoc bundled gem revision (#17448)
* Bump RDoc bundled gem revision
* Skip RBS RDoc plugin tests for RDoc bump
st0012 (Stan Lo)
02:47 PM Feature #22118: Introduce Basic Bit Operations into String
Introducing efficient bit operations is a great idea, but looking at the proposed methods, having to pass `lsb_first:` repeatedly across multiple bit-related methods suggests that the bit-endianness is a cross-cutting concern.
I belie...
Dan0042 (Daniel DeLorme)
02:18 PM Revision 94045984 (git): [DOC] Fix rdoc-ref replacement
Replace attributes and decode escaped punctuations.
```
Net/HTTP.html: `rdoc-ref:OpenSSL::SSL::SSLContext#max_version-3D` can't be resolved for ``
Net/HTTP.html: `rdoc-ref:OpenSSL::SSL::SSLContext#min_version-3D` can't be resolved for `...
nobu (Nobuyoshi Nakada)
01:51 PM Revision b914f830 (git): [ruby/openssl] x509store: add X509::Store{,Context}#flags and #clear_flags
OpenSSL::X509::Store{,Context}#flags= does not clear existing flags.
Instead, it ORs new flags to the current set. This is contrary to
normal convention and likely unintentional, but changing the behavior
would not be acceptable for comp...
rhenium (Kazuki Yamaguchi)
01:35 PM Revision 3082e00b (git): [ruby/openssl] ssl: let SSLServer accept frozen SSLContext
Do not raise FrozenError in SSLServer.new when
SSLContext#session_id_context cannot be updated. session_id_context is
only necessary for session resumption, so its absence is not critical.
Fixes https://github.com/ruby/openssl/pull/742
...
rhenium (Kazuki Yamaguchi)
11:23 AM Revision 7bd30792 (git): LeakChecker: skip CLOSED sockets as well as CLOSE_WAIT
nobu (Nobuyoshi Nakada)
11:19 AM Bug #22127 (Closed): parse.y regexp crash on invalid encoding
Applied in changeset commit:git|66ec908b84a99e512647a9dd61ac3451869e2a12.
----------
[Bug #22127] Check the dynamic regexp compilation results
nobu (Nobuyoshi Nakada)
11:19 AM Revision 66ec908b (git): [Bug #22127] Check the dynamic regexp compilation results
nobu (Nobuyoshi Nakada)
11:06 AM Revision 9643b833 (git): [ruby/openssl] pkey: expand OSSL_3_const macro
OSSL_3_const was useful when supporting OpenSSL 1.0.2-3.x at the same
time. Since support for OpenSSL < 1.1.1 has been dropped, most uses can
simply be replaced with plain const.
https://github.com/ruby/openssl/commit/ce050d7740
rhenium (Kazuki Yamaguchi)
10:38 AM Revision 498a2cbc (git): [ruby/net-http] Fix FD leaks
https://github.com/ruby/net-http/commit/69f6f6dedd nobu (Nobuyoshi Nakada)
09:45 AM Revision 649e639a (git): [ruby/openssl] Add DHKEM test cases
https://github.com/ruby/openssl/commit/dfc45d31d0 Ryo Kajiwara
07:57 AM Revision 12ce975e (git): [DOC] Update bundled gems list at 815710fc27bd3c12d256e14883b37d
git[bot]
06:17 AM Revision 815710fc (git): [DOC] Update documentation of refinement super
Method lookup for refinement super starts with the next active
refinement at the super call site, excluding the current refinment,
if such a refinement exists. This has been the behavior since Ruby
2.7, and it is now confirmed to be the ...
jeremyevans (Jeremy Evans)
05:43 AM Revision 6018a38a (git): Follow the flattened Bundler layout when syncing rubygems
ruby/rubygems flattened the Bundler tree from bundler/ up to the
repository root, so repoint the rubygems mappings accordingly. Guard the
gemspec fixup with File.exist? too, since the synthetic parent tree built
for the flattening commit...
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 8ef77c3d (git): [ruby/rubygems] Load the worktree RubyGems in the dev binstubs
After flattening, lib/ holds both RubyGems and Bundler, so any dev binstub
that puts the worktree lib/ on $LOAD_PATH now overlays the already-booted
system RubyGems with the worktree one. bin/bundle hit this through the
Bundler gemspec a...
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 4eb711b8 (git): [ruby/rubygems] Adjust Bundler specs for the flat layout
After flattening, Bundler shares lib/ with RubyGems, so spec subprocesses
load the in-development Bundler from $LOAD_PATH instead of an installed
gem, the same way ruby-core already does. Four examples assumed a
separately installed Bund...
hsbt (Hiroshi SHIBATA)
05:43 AM Revision d6c484c2 (git): [ruby/rubygems] Update remaining references to the flat Bundler layout
Catch the leftover bundler/lib and bundler/exe references after the move:
the dev binstubs (bin/mdl, bin/rubocop, bin/test-unit), .gitattributes,
.codespellrc, the release tool version file, the rubygems_ext/ci_detector
cross-reference N...
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 4a541375 (git): [ruby/rubygems] Move Bundler docs to the top level under aliased names
Move bundler/{CHANGELOG,LICENSE,README}.md to the top level as
CHANGELOG-bundler.md, LICENSE-bundler.md and README-bundler.md so they
no longer collide with the RubyGems documents while keeping the
CHANGELOG*/LICENSE*/README* prefixes th...
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 2b74a0b4 (git): [ruby/rubygems] Update `gem update --system` for the flat Bundler layout
setup_command builds and installs the default Bundler gem from the
source tree. With Bundler flattened into the top-level lib/ and
bundler.gemspec, the separate "bundler/lib" library and the chdir into
bundler/ are gone: the single lib/ ...
hsbt (Hiroshi SHIBATA)
05:43 AM Revision 3bd6565a (git): [ruby/rubygems] Move Bundler runtime tree to the top level
Flatten bundler/lib, bundler/exe and bundler/bundler.gemspec into the
repository's top-level lib/, exe/ and bundler.gemspec to converge on the
flat layout ruby/ruby already uses. Bundler is fully require_relative
based, so the source mov...
hsbt (Hiroshi SHIBATA)
03:41 AM Bug #22126 (Closed): Stack underflow for partial DCE and loops
Applied in changeset commit:git|1f473ed633a364f8c89b69a76adfb22a4bf21f96.
----------
[Bug #22126] Fix partial DCE with loop back-edges
The old `remove_unreachable_chunk` walked the dead code once and tried
to do two things at the same ...
viralpraxis (Iaroslav Kurbatov)
03:33 AM Bug #22126: Stack underflow for partial DCE and loops
viralpraxis (Iaroslav Kurbatov) wrote:
> every version since 3.4.0-preview2 is affected
Ruby 3.3 with prism hangs up instead of stack underflow.
nobu (Nobuyoshi Nakada)
03:40 AM Revision 1f473ed6 (git): [Bug #22126] Fix partial DCE with loop back-edges
The old `remove_unreachable_chunk` walked the dead code once and tried
to do two things at the same time -- count label references inside that
chunk and figure out what exactly to delete.
That breaks for loops -- the loop label comes be...
viralpraxis (Iaroslav Kurbatov)
03:08 AM Revision 17187e40 (git): [ruby/rubygems] Skip PQC connection tests when the runtime cannot negotiate PQC
OpenSSL >= 3.5 can ship ML-KEM and ML-DSA while still keeping them out
of the default negotiation lists, for example under RHEL's system-wide
crypto policies. The tests force a PQC-only server but connect with the
default gem fetcher, so...
hsbt (Hiroshi SHIBATA)
02:37 AM Revision 0e4dbb2d (git): [DOC] Fix the return value of Ractor#monitor
The RDoc `call-seq` for `Ractor#monitor` says it returns `self`, but the
method actually returns `true`/`false`.
It is implemented by `ractor_monitor()` in `ractor_sync.c`, which returns
only `Qtrue` or `Qfalse` — there is no code path ...
znz (Kazuhiro NISHIYAMA)
12:42 AM Feature #22097: Add Proc#with_refinements
Thank you for your feedback, and I'm glad to hear your concerns are mostly addressed.
Eregon (Benoit Daloze) wrote in #note-16:
> I'm not sure it's really needed though and might be surprising, is it needed?
`with_refinements` is seman...
shugo (Shugo Maeda)

06/23/2026

10:45 PM Feature #22121: Introduce Parallel Sweep feature
Sorry, I forget to address the last concern.
> 3% is valuable for apps? (if no disadvantage, I think so)
I think so, but we would like to improve upon it over time.
luke-gru (Luke Gruber)
10:40 PM Feature #22121: Introduce Parallel Sweep feature
ko1 (Koichi Sasada) wrote in #note-1:
> The definition of "Ruby GC thread" and "the sweep thread"
The Ruby GC thread is the mutator thread that started GC and is currently doing GC work. The sweep thread is the thread whose only work...
luke-gru (Luke Gruber)
03:07 AM Feature #22121: Introduce Parallel Sweep feature
> I would like to have an additional "sweep thread" that sweeps alongside the Ruby GC thread (in parallel) and at the same time as Ruby code is running (concurrent). When the sweep thread is working alongside the Ruby GC thread, both thr... ko1 (Koichi Sasada)
10:17 PM Revision 85348bf1 (git): ZJIT: Split the getivar not_monomorphic fallback counter by cause (#17455)
Before this commit we were lumping all getivar fallback reasons in to
one counter. This made it very hard to find the most popular reasons for
why we're doing slowpath IV reads. This commit just adds more counters
and splits up the fall...
tenderlovemaking (Aaron Patterson)
10:07 PM Revision e91fb8fe (git): [ruby/rubygems] rubygems: Fix Gem::Request for PQC support, adding integration connection tests
Added PQC server/client connection integration tests.
As test_pqc_ssl_client_cert_auth_connection failed with the following error
due to hardcoded `OpenSSL::PKey::RSA.new` in
`Gem::Request.configure_connection_for_https`, fixed it to sup...
Jun Aruga
09:44 PM Revision d58f0291 (git): Use page-sized stack overflow detection window. (#17436)
* Remove stack overflow space ratio
* Cache page size.
Samuel Williams
09:30 PM Revision 00f824cd (git): ZJIT: Recompile getblockparamproxy on side exits (GH-17326)
Add recompile support for getblockparamproxy. This reduces side exits
from monomorphic block handler paths.
Collect block handler profiles from unprofiled and monomorphic
getblockparamproxy guard exits, then invalidate the compiled vers...
Nozomi Hijikata
08:33 PM Revision 11d005d6 (git): [ruby/prism] Pop block stack before finishing command call arguments within parenthesized call
https://github.com/ruby/prism/commit/26cfb915e8 kddnewton (Kevin Newton)
08:30 PM Revision daffaaee (git): Mark most TypedData types as THREAD_SAFE_FREE
Set RUBY_TYPED_THREAD_SAFE_FREE on TypedData types whose dfree function
is trivially safe, and only frees its own memory
Types not yet marked as THREAD_SAFE_FREE:
- id2ref_tbl_type: sets the process-global id2ref_tbl to NULL.
- mutex_da...
jhawthorn (John Hawthorn)
08:17 PM Bug #22125: IO::Buffer triggers use-after-free when it's freed/resized during enumeration
We're already discussing how to fix this case in https://github.com/ruby/ruby/pull/17398 . kou (Kouhei Sutou)
10:23 AM Bug #22125 (Open): IO::Buffer triggers use-after-free when it's freed/resized during enumeration
The block passed to `IO::Buffer#each` can free or resize the receiver (or its parent buffer when the reciver is a slice), which invalidates the memory region being iterated. The next iteration causes use-after-free.

repro:
```
./m...
hanazuki (Kasumi Hanazuki)
08:15 PM Misc #22107: DevMeeting-2026-07-09
* [Feature #21998] Add {Method,UnboundMethod,Proc}#source_range (eregon)
* Could matz reply there?
Eregon (Benoit Daloze)
08:12 PM Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
From https://github.com/ruby/dev-meeting-log/blob/master/2026/DevMeeting-2026-06-11.md#feature-21998-add-methodunboundmethodprocsource_range-eregon
> matz: I want to confirm his intention. Let me respond.
@matz What can I clarify?
...
Eregon (Benoit Daloze)
07:17 PM Revision 7a40f85f (git): ZJIT: Move ivar stats out of "send" stats group
Previously, `:dynamic_setivar_count`, `:dynamic_getivar_count`, and
`:dynamic_definedivar_count` had a percentage to the right of them in
the printout with the denominator being `:send_count`.
These are not sends, so move them out of th...
alanwu (Alan Wu)
07:04 PM Bug #22127 (Closed): parse.y regexp crash on invalid encoding
```
./ruby --parser=parse.y -e '/#{"\xcd"}/'
```
results in a segfault
kddnewton (Kevin Newton)
06:51 PM Revision 2f889f75 (git): [ruby/prism] Fix up regex delimited by \r\n
https://github.com/ruby/prism/commit/7c415b1936 kddnewton (Kevin Newton)
05:43 PM Revision 406a62e5 (git): ZJIT: Re-apply "ZJIT: Clean up branching in polymorphic opt_send_without_block HIR construction" (#17437)
Re-apply https://github.com/ruby/ruby/pull/16634 Max Bernstein
05:08 PM Revision f2425a17 (git): ZJIT: Optimize definedivar in HIR build
No optimization emits DefinedIvar, so just use what we know in HIR build
instead.
Max Bernstein
05:08 PM Revision de640b93 (git): ZJIT: Optimize opt_getconstant_path in HIR build
Don't do this in `type_specialize`; it doesn't depend on any other IR
optimization and can be done with only bytecode information.
Max Bernstein
04:06 PM Bug #22126 (Closed): Stack underflow for partial DCE and loops
``` ruby
ruby --parser prism -e 'if []; else; a => [*, 42, *]; end'
-- raw disasm--------
trace: 1
0000 putnil ( 1)
0001 leave ...
viralpraxis (Iaroslav Kurbatov)
03:53 PM Revision 793dfa1b (git): [ruby/prism] Fix up newline-delimited array literals
https://github.com/ruby/prism/commit/56172038ce kddnewton (Kevin Newton)
03:27 PM Revision 5874b12d (git): Bump prism version
Earlopain (Earlopain _)
03:21 PM Bug #21967: `vm_call_cfunc: cfp consistency error` while requiring `nkf.so`
> should have an "else rb_vm_rewind_cfp", but I don't know enough about how this all works.
Out of curiosity I tried it, it does solve the problem on my machine, it does fail in some case on CI though: https://github.com/ruby/ruby/pul...
byroot (Jean Boussier)
02:20 PM Bug #21967: `vm_call_cfunc: cfp consistency error` while requiring `nkf.so`
Trying that repro on older Rubies, it does seem to reproduce all the way back to `2.7.8`, `2.6.10` seem fine though. byroot (Jean Boussier)
01:43 PM Bug #21967: `vm_call_cfunc: cfp consistency error` while requiring `nkf.so`
So the crash did come back later when `charlock_holmes` was added as a dependency, this time it crash while loading some encoding `.so`.
```
ruby-4.0.5/lib/ruby/4.0.0/aarch64-linux/enc/euc_jp.so: [BUG] vm_call_cfunc: cfp consistency err...
byroot (Jean Boussier)
01:42 PM Bug #21967: `vm_call_cfunc: cfp consistency error` while requiring `nkf.so`
We've got a similar looking crash while loading encodings at boot via the charlock_holmes gem. I think it happens when we get a TERM in the middle of loading the encoding, causing us to longjmp over the line that would normally pop the f... dodecadaniel (Daniel Colson)
01:29 PM Revision 13fe77dd (git): Add an ASCII fast path for String#casecmp?
String#casecmp? folds both operands with a Unicode case fold, allocating two new strings, and compares the results. For ASCII-only strings, Unicode case folding is equivalent to ASCII case-insensitive comparison, so the operands can be c... sampokuokkanen (Sampo Kuokkanen)
01:12 PM Bug #21848: GC compaction freezes during code reload with 100% CPU in rb_vm_ci_free -> st_general_delete
This bug may be related to #22104. luke-gru (Luke Gruber)
12:25 PM Bug #22124 (Closed): void value missed in parse.y
Applied in changeset commit:git|d8444812f42162567502877ff3665105a960eb60.
----------
[Bug #22124] Add block to the proper node
nobu (Nobuyoshi Nakada)
12:24 PM Bug #22124: void value missed in parse.y
Thanks, it looks a very old standing bug. nobu (Nobuyoshi Nakada)
11:44 AM Revision d8444812 (git): [Bug #22124] Add block to the proper node
nobu (Nobuyoshi Nakada)
11:44 AM Revision b2205233 (git): Simplify RubyVM::AbstractSyntaxTree::Node::CodePosition
nobu (Nobuyoshi Nakada)
10:46 AM Revision 3688723a (git): Update default gems list at 1da3f06e26b1f65f5f30eb2b0e1999 [ci skip]
git[bot]
10:45 AM Revision 1da3f06e (git): [ruby/json] Release 2.20.0
https://github.com/ruby/json/commit/13162921b8 byroot (Jean Boussier)
10:27 AM Revision 50688881 (git): [ruby/rubygems] RubyGems: Remove unused ctx.tmp_dh_callback in start_ssl_server
https://github.com/ruby/rubygems/commit/c249eae477 Jun Aruga
09:56 AM Revision 55945e5c (git): Retry transient crates.io download failures on all Rust CI
cargo builds in YJIT/ZJIT/Rust workflows intermittently fail when a
crates.io download is truncated (curl [16] HTTP/2 framing, [18] partial
transfer). Set CARGO_NET_RETRY and disable HTTP/2 multiplexing at the
workflow level so every job...
hsbt (Hiroshi SHIBATA)
08:51 AM Revision 23f3148e (git): [ruby/cgi] Fix unescapeHTML CompatibilityError in pure-Ruby fallback
The ascii-compatible path builds a binary buffer but returned numeric
character references via chr(enc), so a non-ASCII replacement appended
to a buffer that already held non-ASCII bytes raised
Encoding::CompatibilityError. Decode into t...
hsbt (Hiroshi SHIBATA)
08:51 AM Revision d916df88 (git): [ruby/cgi] Fix escape_html/h aliases to use C extension instead of pure Ruby fallback
The snake_case aliases (escape_html, h, unescape_html) were defined
before `require 'cgi/escape.so'`, so they captured references to the
pure Ruby methods. After the C extension loads and prepends EscapeExt,
only the camelCase names (esc...
hsbt (Hiroshi SHIBATA)
08:11 AM Feature #22111: Non-symbolic hash keys with `expr : value` syntax
BTW, what I was alluding to in my side question above was how adding _"hash colon"_ syntax (eg. `"key" : value`) to `Hash` could unlock pattern matching on string-keyed values.
Previously `in {key: ...}` only matched symbol keys, so par...
yertto (_ yertto)
06:50 AM Revision dc16cb05 (git): wbcheck: rb_bug on first error on GC
jhawthorn (John Hawthorn)
06:50 AM Revision 300143e0 (git): wbcheck: GC before fork
This isn't essential for correctness, however it's a natural time to
investigate whether the heap is in a correct state.
jhawthorn (John Hawthorn)
06:17 AM Revision c7190d3b (git): Remove unused native thread stack size. (#17435)
Samuel Williams
01:08 AM Bug #22104: Segfault in PRISM while Bootsnap compiles aws-sdk client_api.rb
This one was tricky. I couldn't get a reliable reproduction even after knowing what the issue was, but I think this will fix it: [PR](https://github.com/ruby/ruby/pull/17438) luke-gru (Luke Gruber)
12:50 AM Revision 2768663a (git): [ruby/json] Remove useless executable bits
https://github.com/ruby/json/commit/1443265cd1 nobu (Nobuyoshi Nakada)

06/22/2026

10:57 PM Feature #22067 (Closed): New RUBY_TYPED_THREAD_SAFE_FREE bit to declare thread safe dfree functions
Applied in changeset commit:git|d44862fe2a5d68de648eccae7743899b6a5c870a.
----------
[Feature #22067] Add RUBY_TYPED_THREAD_SAFE_FREE flag
Lets a TypedData type declare its dfree as thread-safe, so the GC may
run it on any thread, in p...
jhawthorn (John Hawthorn)
10:57 PM Revision d44862fe (git): [Feature #22067] Add RUBY_TYPED_THREAD_SAFE_FREE flag
Lets a TypedData type declare its dfree as thread-safe, so the GC may
run it on any thread, in parallel, and concurrently with Ruby code.
Implies RUBY_TYPED_FREE_IMMEDIATELY.
jhawthorn (John Hawthorn)
10:57 PM Revision 77a3c15f (git): ZJIT: Remove unused rbimpl_typeddata_flags
We're not using these anymore now that non-typed T_DATA are gone. jhawthorn (John Hawthorn)
08:54 PM Revision e9e7f9b6 (git): ZJIT: Add quick checks to bail out of inlining early (#17432)
While these checks were already being performed, they did so after scanning the caller's blocks. We want to avoid that work when we know inlining cannot be performed. Kevin Menard
08:52 PM Revision 6785670f (git): [ruby/prism] Handle EOF in hash pattern key
https://github.com/ruby/prism/commit/43ffaad503 kddnewton (Kevin Newton)
08:16 PM Bug #22104: Segfault in PRISM while Bootsnap compiles aws-sdk client_api.rb
Doh, fixed. luke-gru (Luke Gruber)
07:52 PM Bug #22104: Segfault in PRISM while Bootsnap compiles aws-sdk client_api.rb
> I managed to get a reproduction.
Your repo is private :)
byroot (Jean Boussier)
07:24 PM Bug #22104: Segfault in PRISM while Bootsnap compiles aws-sdk client_api.rb
I managed to get a [reproduction](https://github.com/luke-gruber/ruby_bug_22104_repro). It crashes fairly often, but you should still use a script that calls it over and over until non-0 exit status. When it does crash, the stack trace i... luke-gru (Luke Gruber)
07:54 PM Revision 5b162d7b (git): ZJIT: Remove redundant EP reloads in gen_getblockparam (#17430)
gen_getblockparam loads the EP once at the top,
then reloads it twice more before writing the Proc and before reading it back.
Both reloads are unnecessary:
- The EP address is invariant here. The function only writes into env slots rea...
Daichi Kamiyama
07:53 PM Revision 10b27fd0 (git): [ruby/prism] Dynamic constant writes on operator writes
https://github.com/ruby/prism/commit/6b4f0ade80 kddnewton (Kevin Newton)
07:51 PM Feature #22097: Add Proc#with_refinements
Thank you for your replies, they address most of my concerns and show this was well though out.
Yes, I think a performance warning is fine and important to add, nothing would be a silent performance trap.
shugo (Shugo Maeda) wrote in #...
Eregon (Benoit Daloze)
07:50 PM Revision 80c53fda (git): [ruby/prism] Match command_call/arg
A couple more deviations from the parse.y grammar with the
command_call and arg productions.
* pm_block_call_p — allow parens on chain links (meth 1 do end.fun(x))
* pm_command_call_value_p — recognize const-path brace commands (Foo::Ba...
kddnewton (Kevin Newton)
05:42 PM Revision 55ec9b91 (git): [ruby/openssl] Remove version constraint for jruby-openssl
"~> 0.14" is equivalent to ">= 0.14, < 1". Since the openssl gem is an
empty stub on JRuby, there is no good reason to specify version bounds
on jruby-openssl.
[ky: commit message]
https://github.com/ruby/openssl/commit/3ffbe73aaa
Co-...
hsbt (Hiroshi SHIBATA)
05:23 PM Revision d54ab7bd (git): [ruby/openssl] x509crl: add OpenSSL::X509::CRL#by_serial for faster lookup of a single cert
https://github.com/ruby/openssl/commit/83f4a0db32 Adrien Rey-Jarthon
05:18 PM Revision c729c842 (git): [ruby/openssl] Add EVP_PKEY KEM operations
https://github.com/ruby/openssl/commit/f2ec03dda1 Bart de Water
04:58 PM Revision 37ab334c (git): Fix ar_find_entry_hint() to handle #eql? or another thread changing bound or converting to st_table
* While perusing code in hash.c I found it suspicious that ar_find_entry_hint()
didn't reread bound in the loop and yet called arbitrary code through #eql?.
* ar_find_entry_hint() before this commit would not check if bound or the stor...
Eregon (Benoit Daloze)
04:58 PM Revision 89b33636 (git): [Prism] RB_GC_GUARDs needed in pm_parse_string
(Backport for 4.0) Luke Gruber
04:57 PM Revision 5c33033b (git): ZJIT: Register builtin CMEs before prelude to avoid prepend crash
Split rb_zjit_init into rb_zjit_init_builtin_cmes (called before
ruby_init_prelude) and rb_zjit_init (called after). The prelude may
load bundler via BUNDLER_SETUP which can call Kernel.prepend, moving
core methods to an origin iclass. R...
rwstauner (Randy Stauner)
04:57 PM Revision c1f299ad (git): Simplify Kernel prepend test
rwstauner (Randy Stauner)
04:57 PM Revision 6d56bceb (git): Add regression test for module prepend crash
etienne (Étienne Barrié)
04:57 PM Revision c52a400e (git): YJIT: Register builtin CMEs before prelude to avoid prepend crash
Split rb_yjit_init into rb_yjit_init_builtin_cmes (called before
ruby_init_prelude) and rb_yjit_init (called after). The prelude may
load bundler via BUNDLER_SETUP which can call Kernel.prepend, moving
core methods to an origin iclass. R...
rwstauner (Randy Stauner)
04:57 PM Revision b23f46c1 (git): [Box] make the tmp array safe
* Using rb_ary_hidden_new() to hide this array
from ObjectSpace.each_object
* Call RB_GC_GUARD to not collect this value in GC
Satoshi Tagomori
04:57 PM Revision a7003017 (git): [Box] Invalidate callable me on per-box origin IClasses
Satoshi Tagomori
04:57 PM Revision 6765a5f6 (git): [Box] Invalidate the method cache of the owner too
The owner could be different from the housing class when the housing
module is prepended.
Satoshi Tagomori
04:57 PM Revision 4d75ffad (git): [Box] dump the effective box on the control frame info
Satoshi Tagomori
04:57 PM Revision 2be8de43 (git): Make `rb_load_entrypoint` accept two arguments directly
`rb_load_entrypoint` is used only by `rb_box_load`; it checks that the
argument has two-elements (implicitly assuming it is an array),
extracts its contents, and then simply discards the argument.
nobu (Nobuyoshi Nakada)
04:57 PM Revision dd3f462d (git): Fix perf. of RCLASS_EXT_WRITABLE
FL_TEST -> FL_TEST_RAW
FL_SET -> FL_SET_RAW
I was seeing bad performance on the ruby-bench getivar-module benchmark
when using yjit. This was with other changes in a branch, but changes
totally unrelated to accessing ivars on a class o...
Luke Gruber
04:57 PM Revision 0ccf6c0c (git): test_box.rb: extend timeout for Windows CI (#16963)
test/ruby/test_box.rb: extend timeout for slow Windows CI
The default 10-second assert_separately timeout is too tight for
test_calling_root_box_methods_does_not_change_user_boxes_newly_created
on Windows CI, where the subprocess comple...
k0kubun (Takashi Kokubun)
04:57 PM Revision 3b119e4f (git): Don't use obj_id in Box classext_cow_classes
Using obj_id in classext_cow_classes is slow and also is a problem when
freeing classes because the lookup requires the EC, which is not available
if it is running on a GC thread. This will cause it to crash on MMTk.
We don't need to us...
peterzhu2118 (Peter Zhu)
04:57 PM Revision 99aac00f (git): [Bug #21881] Separate the master and root box
This change separates the master box from the root box, as the single
master copy of boxes.
Before this change, the root box is the source of copies, and also
it runs builtin classes' code. Builtin code makes changes by
requiring files, ...
Satoshi Tagomori
04:57 PM Revision 271d3f2e (git): Fix bug: the Slowpath doesn't work correctly because of double increment
builtin_lookup() find the pre-loaded and compiled (to ISeq) builtin libraries.
The libraries (.rb files) are loaded by miniruby, and those ISeq are written
in build/builtin_library.rbbin in the order that miniruby loads.
The fastpath of...
Satoshi Tagomori
04:57 PM Revision 3adbf3b0 (git): Ruby::Box fix stale cached values for exception-related global variables ($! and $@)
Ruby::Box fix stale cached values for exception-related global variables ($! and $@)
The exception-related virtual variables $! (current exception) and
$@ (its backtrace) are stored on the execution context (ec->errinfo
and the rescue/e...
dak2 (Daichi Kamiyama)
04:57 PM Revision a2cdbf2b (git): Box: pend the CI failure on Windows
The failure is caused by the problems of call caches, subclasses management.
The fix requires the tons of changes on master, so we will skip those changes
in 4.0 to make users try Box with minimum changes.
Satoshi Tagomori
04:57 PM Revision 655f89db (git): [Box] Unroll the changes using features for 4.1
Satoshi Tagomori
04:55 PM Revision efafbe44 (git): ZJIT: Account for inlining depth in stack maps (#17373)
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> k0kubun (Takashi Kokubun)
02:38 PM Revision b5bbbe69 (git): [ruby/prism] Fix duplicative rest pattern in pattern matching
https://github.com/ruby/prism/commit/358d778439 kddnewton (Kevin Newton)
02:38 PM Revision 8f3fce4e (git): [ruby/prism] Handle trailing comma after ...
https://github.com/ruby/prism/commit/8eb393bf37 kddnewton (Kevin Newton)
02:38 PM Revision 1c05bb8c (git): [ruby/prism] Better handle trailing comma on pattern matching
https://github.com/ruby/prism/commit/654b4edc21 kddnewton (Kevin Newton)
02:38 PM Revision 1db15766 (git): [ruby/prism] Fix up non-associativity in same binding power
https://github.com/ruby/prism/commit/55548c2fd5 kddnewton (Kevin Newton)
02:38 PM Revision 20bdc5d2 (git): [ruby/prism] Disallow trailing comma on parenthesized yield
https://github.com/ruby/prism/commit/b3819da252 kddnewton (Kevin Newton)
02:38 PM Revision f71dd80f (git): [ruby/prism] Disallow trailing comma on jumps at EOF
https://github.com/ruby/prism/commit/d18d9d829b kddnewton (Kevin Newton)
02:20 PM Bug #22124 (Closed): void value missed in parse.y
```
$ ruby --parser=parse.y -cwe 'x = return a b do end'
Syntax OK
$ ruby --parser=prism -cwe 'x = return a b do end'
ruby: -e:1: syntax error found (SyntaxError)
> 1 | x = return a b do end
| ^~~~~~~~~~~~~~~~~ unexpected v...
kddnewton (Kevin Newton)
09:30 AM Revision d190c264 (git): Extend omnibus compiler step timeout to 8 minutes
A slow ghcr image pull (~2.5 min) can leave too little of the 5 minute
budget for configure and build to finish, so the step is killed before
the build completes. Bump each per-compiler step to 8 minutes to absorb
the pull variance.
Co-...
hsbt (Hiroshi SHIBATA)
08:46 AM Revision 08a731fe (git): Bump the github-actions group across 2 directories with 4 updates
Bumps the github-actions group with 4 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [ruby/setup-ruby](https://github.com/ruby/setup-ruby), [zizmorcore/zizmor-action](https://github.com/zizmorcore/zi... dependabot[bot]
08:45 AM Revision 2a574fd9 (git): [DOC] Update bundled gems list at 2f65ce7ccda7d75d4075ce319cbd1d
git[bot]
08:44 AM Revision fa69b96b (git): Skip fetching bundled gems whose ref is already present
With a warm gems/src cache the wanted tag or revision is already in the local clone, but the fetch ran unconditionally and added a github.com round-trip per gem that a transient outage could abort. Resolve the ref locally first and fetch... hsbt (Hiroshi SHIBATA)
08:44 AM Revision 7c8668d9 (git): Save the complete bundled gem sources cache only from test-bundled-gems
`make up` clones only the revision-pinned gems (debug, rdoc) into gems/src, so jobs that merely run `make up` saved a partial tree and, because the cache key is immutable, won the shared key and left test-bundled-gems to re-clone the res... hsbt (Hiroshi SHIBATA)
07:51 AM Revision 2f65ce7c (git): [ruby/json] Preserve UTF-8 encoding when reallocating a frozen ResumableParser buffer
`JSON::ResumableParser#<<` raises `Encoding::CompatibilityError` when the
first chunk is a frozen multibyte UTF-8 string and more data is fed after a
partial parse.
## Reproduction
```ruby
require "json"
parser = JSON::ResumableParser...
pocke (Masataka Kuwabara)
07:33 AM Revision 0ef0856f (git): [ruby/mmtk] Implement allocation fast path for Immix
This commit implements a fast path that inlines mmtk_post_alloc for Immix.
The benchmark results show a decent speed up in allocation performance.
GC.disable
i = 0
while i < 10_000_000
Object.new
i += 1
end
...
peterzhu2118 (Peter Zhu)
06:27 AM Revision 996647e8 (git): Retry connection errors when downloading gems
SSL_connect failing with Errno::ECONNRESET ("Connection reset by peer")
was not caught by with_retry, so a transient reset from rubygems.org
aborted the build on the first failure instead of retrying. Catch
SystemCallError so the Errno::...
hsbt (Hiroshi SHIBATA)
06:27 AM Revision 766f4105 (git): Raise SYNTAX_SUGGEST_TIMEOUT on emulated ppc64le/s390x runners
syntax_suggest's internal search timeout defaults to 1 second, which is
too short on the emulated ppc64le/s390x runners. The integration spec
issues/95 prints "Search timed out" instead of the expected diagnostic
and flakes. RUBY_TEST_TI...
hsbt (Hiroshi SHIBATA)
05:46 AM Revision 5c7b23dc (git): Cache bundled gem sources to survive transient clone failures
CI jobs frequently abort when cloning bundled gems from github.com fails
with "Could not resolve host", a transient DNS error unrelated to the
change under test. Cache gems/src keyed on gems/bundled_gems so the common
case touches no net...
hsbt (Hiroshi SHIBATA)
04:44 AM Revision 3b6c8999 (git): [ruby/net-http] Fix broken ENV link in proxy_from_env= doc
RDoc parsed ENV['http_proxy'] inside the link label as a cross-reference,
emitting a stray <a href="'http_proxy'">ENV</a> and breaking the
surrounding {label}[url] markup. Drop the subscript from the label.
https://github.com/ruby/net-h...
hsbt (Hiroshi SHIBATA)
04:44 AM Revision 02741998 (git): [ruby/net-http] Fix broken OpenSSL::SSL::SSLContext doc links
The {label}[url] markup pointed at OpenSSL::SSL::SSL::Context#..., which
RDoc emitted verbatim as a relative href and never resolved. Point them
at the full SSLContext documentation URLs instead.
https://github.com/ruby/net-http/issues/...
hsbt (Hiroshi SHIBATA)
04:01 AM Revision 4b08ca5a (git): Work around flaky crates.io downloads in ZJIT Ubuntu CI
The ZJIT build occasionally fails while cargo fetches a crate from
crates.io with `curl [16] Error in the HTTP2 framing layer`, a transient
transport error unrelated to the change under test. Disable HTTP/2
multiplexing and raise the ret...
hsbt (Hiroshi SHIBATA)
03:24 AM Bug #18995: IO#set_encoding sometimes set an IO's internal encoding to the default external encoding
Contrast the reported behavior with an apparently equivalent call using a single, colon separated argument:
```ruby
def show(io)
printf(
"external encoding: %-25p internal encoding: %-25p\n",
io.external_encoding,
io...
javanthropus (Jeremy Bopp)
02:57 AM Bug #18995: IO#set_encoding sometimes set an IO's internal encoding to the default external encoding
This bug continues to exist in version 4.0.5. javanthropus (Jeremy Bopp)
02:03 AM Revision 4750bf3c (git): Guard mktmpdir spec for remove_entry force argument
The tmpdir cleanup now calls FileUtils.remove_entry with force enabled
on Ruby 4.1 and later. Branch the mock expectation by version so older
Ruby still asserts the single-argument call.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropi...
hsbt (Hiroshi SHIBATA)
01:18 AM Revision 38a22a07 (git): Update default gems list at 05b94177c435321f8168d8a930d5c2 [ci skip]
git[bot]
01:17 AM Revision 05b94177 (git): [ruby/pp] v0.6.4
https://github.com/ruby/pp/commit/29552e894c hsbt (Hiroshi SHIBATA)

06/21/2026

11:51 PM Misc #22107: DevMeeting-2026-07-09
* [Feature #18915] New error class: NotImplementedYetError or scope change for NotImplementedError (koic)
* A new exception class `AbstractMethodError` inheriting from `ScriptError` has been designed.
* Existing code may define an ...
koic (Koichi ITO)
09:43 PM Revision 2b751ac7 (git): [ruby/tmpdir] Make `mktmpdir` cleanup tolerate missing paths.
https://github.com/ruby/tmpdir/commit/57c6cad284 Samuel Williams
12:05 PM Revision 20e8c63f (git): Update ext/openssl/depend
Commit be5877d1539e2802743904662f532b2b8237ce1e added new source files. rhenium (Kazuki Yamaguchi)
12:04 PM Revision fe7f1fd7 (git): [ruby/json] Update extconf.rb guard to use RUBY_ENGINE_VERSION
https://github.com/ruby/json/commit/7c8af4b9ef Eregon (Benoit Daloze)
11:59 AM Revision be5877d1 (git): [ruby/openssl] Add Hybrid Public Key Encryption (HPKE) API Support
https://github.com/ruby/openssl/commit/6b80681cde Ryo Kajiwara
09:02 AM Revision 1d493d90 (git): [DOC] Restore some GC docs
Since modular GC was done, the GC module is missing a bunch of methods. Earlopain (Earlopain _)
08:56 AM Revision 10676931 (git): file.c: share common logic between `rb_find_file` and `rb_find_file_ext`
byroot (Jean Boussier)
08:56 AM Revision 6411a491 (git): file.c: skip rb_file_expand_path_internal when not needed
If the feature name contains neither `./` nor `../`, we don't need
to call `rb_file_expand_path_internal`, just joining the load path
with the feature name is enough.
byroot (Jean Boussier)
08:25 AM Revision d57e5f41 (git): [ruby/json] Cleanup the `rb_catch_obj` workaround
Followup: https://github.com/ruby/json/pull/1031
Now that the bug has been fixed upstream, we can only apply
it on unpatched version.
Also refactor the workaround to expose the exact same API
as `rb_catch_obj`, making it easier to igno...
byroot (Jean Boussier)
03:05 AM Revision a2b9d6ff (git): [ruby/openssl] Constify pkey pointers
https://github.com/ruby/openssl/commit/9d74f60dea nobu (Nobuyoshi Nakada)
 

Also available in: Atom