[Go to site: main page, start]

Project

General

Profile

Activity

From 08/01/2026 to 08/07/2026

Today

04:56 AM Ruby Revision de56b5e2 (git): Make Module#descendants follow the ancestors of the current box
The subclasses lists are kept only in the prime classext and thus shared
by all boxes, so a module included into a builtin class in a box was
reported as a descendant from other boxes, where the include is not in
the ancestors of the cla...
shugo (Shugo Maeda)
03:37 AM Ruby Bug #21870: Regexp: Warnings when using slightly overlapping \p{...} classes
Just wanted to double-check the status here, since we seem to have stalled out for a few months. Is there anything I could do to help move this along? jneen (Jeanine Adkisson)
03:21 AM Ruby Feature #21826: Deprecating RubyVM::AbstractSyntaxTree
Not yet. The documentation change that landed is the right amount for now.
We may remove this someday, but this is not the moment. I approved `Thread::Backtrace::Location#source_range` in [#22212](https://bugs.ruby-lang.org/issues/222...
matz (Yukihiro Matsumoto)
03:14 AM Ruby Feature #22186: Increase the embeddable size limit for substrings created by `str_subseq()`
The heuristic is acceptable. Nothing user visible changes here, so choosing where the cutoff sits is an implementation decision, and the measurements in this ticket are more than enough basis for it. Please go ahead with the 128 byte cut... matz (Yukihiro Matsumoto)
03:05 AM Ruby Revision 60e3de26 (git): ZJIT: Test mixed block handlers at polymorphic yield sites
Cover yield sites that see a mix of ISEQ, proc, symbol, and ifunc
block handlers:
* HIR tests that a profile mixing ISEQ blocks with proc/symbol or
ifunc handlers still dispatches directly on the ISEQ candidates,
with the non-ISEQ h...
k0kubun (Takashi Kokubun)
03:05 AM Ruby Revision 13a60fb4 (git): ZJIT: Use offset_of for the captured block code field
Instead of hard-coding the 2 * SIZEOF_VALUE offset of
rb_captured_block's code union, compute it with offset_of! from the
bindgen-generated struct.
k0kubun (Takashi Kokubun)
03:05 AM Ruby Revision 9c2c8caf (git): ZJIT: Compile polymorphic ISEQ invokeblock
k0kubun (Takashi Kokubun)
03:05 AM Ruby Revision b3a2792b (git): ZJIT: Summarize the invokeblock block handler profile once
Compute a TypeDistributionSummary for the profiled block handler
distribution up front instead of deriving only the monomorphic class
from it, so that upcoming polymorphic invokeblock specialization can
reuse the same summary. No behavio...
k0kubun (Takashi Kokubun)
02:33 AM Ruby Revision da7354d6 (git): Bump the github-actions group across 1 directory with 4 updates
Bumps the github-actions group with 4 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action), [github/codeql-action/upload... dependabot[bot]
02:33 AM Ruby Feature #22231: Add `IO::Buffer#index`
I have no objection to the direction. Finding a delimiter is where a parser begins, and a zero copy buffer that cannot do it stops being zero copy at the first `&`.
Please work out the design with @ioquatix, who is in charge of `IO::B...
matz (Yukihiro Matsumoto)
02:24 AM Ruby Feature #14394 (Closed): Class.descendants
Module#descendants was added instead of Class#descendants, so I'm closing this issue.
See #9779 for details.
shugo (Shugo Maeda)
01:53 AM Ruby Misc #22230: Should Ruby specs define byte oriented read behavior when the character buffer is not empty?
Please leave this implementation defined. Other implementations should be free to behave differently.
[#note-1](https://bugs.ruby-lang.org/issues/22230#note-1) makes the case well. The `IOError` is a consequence of CRuby having a char...
matz (Yukihiro Matsumoto)
01:16 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
I agree with the direction, and I agree these should be Fiber-local.
What I am not ready to decide is the rule for cases like the one in [#note-13](https://bugs.ruby-lang.org/issues/22216#note-13). Reading `$1` after `e.next` is code ...
matz (Yukihiro Matsumoto)
12:59 AM Ruby Feature #22215 (Closed): Introduce narrow internal interfaces for bundled extensions
Applied in changeset commit:git|b51ae934f7c81f4ef17d74cd0788e9eefac44149.
----------
[Feature #22215] Remove vm_core dependency from gc header
Keep `internal/gc.h` usable without VM-private definitions so bundled
extensions do not inhe...
nobu (Nobuyoshi Nakada)
12:59 AM Ruby Revision b68ef95a (git): [Feature #22215] Extract internal objspace API
Provide narrow accessors so `ext/objspace` does not depend on call
cache and call info layouts.
nobu (Nobuyoshi Nakada)
12:59 AM Ruby Revision 8f4a3c94 (git): [Feature #22215] Extract internal coverage API
Provide a narrow coverage interface so `ext/coverage` does not depend
on GC or VM implementation headers.
nobu (Nobuyoshi Nakada)
12:59 AM Ruby Revision b51ae934 (git): [Feature #22215] Remove vm_core dependency from gc header
Keep `internal/gc.h` usable without VM-private definitions so bundled
extensions do not inherit `vm_core.h` dependencies.
nobu (Nobuyoshi Nakada)
12:05 AM Ruby Revision 33752cdb (git): [DOC] Add NEWS entry for String bit operations
Proposed in https://bugs.ruby-lang.org/issues/22118
Merged in #17353
hasumikin (hitoshi hasumi)

08/06/2026

11:49 PM Ruby Revision a17d805d (git): ZJIT: Use memcpy-based append for String#<< when encodings match (#18230)
YJIT's jit_rb_str_concat branches on the two strings' encoding flags and
calls a simple rb_str_cat-based append when they match, which skips the
coderange and encoding bookkeeping in rb_str_buf_append. Do the same in
ZJIT's StringAppend ...
k0kubun (Takashi Kokubun)
09:35 PM Ruby Feature #21826 (Open): Deprecating RubyVM::AbstractSyntaxTree
Eregon (Benoit Daloze)
01:07 PM Ruby Feature #21826 (Closed): Deprecating RubyVM::AbstractSyntaxTree
Applied in changeset commit:git|5d7bb1076ddee34146d27d83fbc52396687a489e.
----------
[DOC] Document that using RubyVM::AbstractSyntaxTree is discouraged in new code
* See [Feature #21826]
Eregon (Benoit Daloze)
08:11 PM Ruby Feature #22227: Per-Ractor GC: collect each Ractor's heap locally, stop the world only when needed
matz (Yukihiro Matsumoto) wrote in #note-5:
> Could you explain whether that is difficult in the implementation, or whether you have another reason to prefer the uniform rule? I would like to understand that before deciding.
It is becau...
ko1 (Koichi Sasada)
12:11 PM Ruby Feature #22227: Per-Ractor GC: collect each Ractor's heap locally, stop the world only when needed
I approve the direction. Ractors were designed for exactly the workloads where they currently lose to `fork`, and closing that gap is worth an architectural change of this size. The numbers in section 4 are convincing, and keeping single... matz (Yukihiro Matsumoto)
07:51 PM Ruby Feature #22233: Warn when Net::HTTP#set_debug_output enables debug output
Linking the PR I prepared. https://github.com/ruby/net-http/pull/320 adam.sligar@getquip.com (Adam Sligar)
07:27 PM Ruby Feature #22233 (Open): Warn when Net::HTTP#set_debug_output enables debug output
# Abstract
`Net::HTTP#set_debug_output` logs every request and response in plain text,
including `Authorization` and `Cookie` headers and message bodies. Its
documentation says never to use it in production, and nothing enforces tha...
adam.sligar@getquip.com (Adam Sligar)
07:29 PM Ruby Bug #22200: ObjectSpace._id2ref can return a different object than the id's owner on Ruby 4.0 (stale id2ref_tbl entry for objects with generic fields)
My example is just one way to crash the VM with `_id2ref`, I'm sure there are others.
Eregon (Benoit Daloze) wrote in #note-7:
> And we have in practice unique `object_id`s, so there is no collision in practice.
In practice, yes, ...
jhawthorn (John Hawthorn)
08:28 AM Ruby Bug #22200: ObjectSpace._id2ref can return a different object than the id's owner on Ruby 4.0 (stale id2ref_tbl entry for objects with generic fields)
jhawthorn (John Hawthorn) wrote in #note-6:
> This was the behaviour of _id2ref pre-Ruby-2.7. I don't think it's ever been a guarantee that it checks liveness (just a quirk of the 2.7+ implementation).
The way I see it is we have a `...
Eregon (Benoit Daloze)
07:55 AM Ruby Bug #22200: ObjectSpace._id2ref can return a different object than the id's owner on Ruby 4.0 (stale id2ref_tbl entry for objects with generic fields)
navidemad (Navid Emad) wrote:
> On Ruby 4.0.x, `ObjectSpace._id2ref(id)` can return a **different, unrelated live object** instead of raising `RangeError`, after the object that owned the id has been garbage collected and its heap slot r...
jhawthorn (John Hawthorn)
04:17 PM Ruby Revision 454a8aa3 (git): ZJIT: Delete a stale comment reporting a wrong default value (#18221)
Kevin Menard
03:14 PM Ruby Revision 3acc47d2 (git): [ruby/time] Fix exception message for Time.rfc3339 failures
The previous message used xmlschema, which was inaccurate for an
rfc3339 parse.
While we could have _xmlschema take an extra argument for the callee,
it seems simpler to have _xmlschema return nil for an unmatched parse,
and do the rais...
jeremyevans (Jeremy Evans)
02:06 PM Ruby Feature #9779 (Closed): Add Module#descendants
Applied in changeset commit:git|96589334512bc960fabb5908ce8cc25a245ce090.
----------
[Feature #9779] Add Module#descendants
Module#descendants returns an array of classes and modules that have
the receiver in their ancestors; it is the...
shugo (Shugo Maeda)
07:54 AM Ruby Feature #9779: Add Module#descendants
Accepted. Let's define `Module#descendants`.
This settles the question I left open in [#14394](https://bugs.ruby-lang.org/issues/14394#note-38). `Class#subclasses` already lets you write the transitive closure for classes in Ruby, but...
matz (Yukihiro Matsumoto)
02:05 PM Ruby Revision 96589334 (git): [Feature #9779] Add Module#descendants
Module#descendants returns an array of classes and modules that have
the receiver in their ancestors; it is the inverse of Module#ancestors.
The receiver itself, singleton classes, and refinements are not included.
Co-Authored-By: Claud...
shugo (Shugo Maeda)
01:29 PM Ruby Feature #22213: Allow no-argument and chained calls of Proc#refined
I forgot to mention the change to Proc#==: it now compares not only the underlying iseq but also the sequence of modules passed to Proc#refined.
The behavior of Proc#== is unchanged for Procs that don't use Proc#refined.
In CRuby, `prc...
shugo (Shugo Maeda)
07:57 AM Ruby Feature #22213 (Closed): Allow no-argument and chained calls of Proc#refined
Applied in changeset commit:git|39e43e1c203cda09f0cbbfc1991f895a91043ddf.
----------
[Feature #22213] Allow no-argument and chained calls of Proc#refined
Since `prc.refined(*ms).refined(*ns)` is behaviorally equivalent to
`prc.refined(...
shugo (Shugo Maeda)
06:38 AM Ruby Feature #22213: Allow no-argument and chained calls of Proc#refined
Both behaviors are what I would expect, and I accept them.
Returning the receiver for a no-argument call is right. refined with no modules asks for nothing, and there is no reason to pay for a copy to represent that; Data#with and Enu...
matz (Yukihiro Matsumoto)
01:07 PM Ruby Revision 5d7bb107 (git): [DOC] Document that using RubyVM::AbstractSyntaxTree is discouraged in new code
* See [Feature #21826] Eregon (Benoit Daloze)
12:43 PM Ruby Bug #18947: Unexpected Errno::ENAMETOOLONG on Windows
Please go ahead with this approach. Relying on an undocumented bit is not ideal, but the failure mode decides it for me: if the bit ever stops working, we are back to today's 260 character limit, not broken. That is a cheap downside for ... matz (Yukihiro Matsumoto)
12:41 PM Ruby Feature #22118 (Closed): Introduce Basic Bit Operations into String
Applied in changeset commit:git|2461caebba1d47ca79cfd4e0a825e6df40f375bd.
----------
[Feature #22118] Introduce Basic Bit Operations into String (#17353)
This patch adds the following methods to String class:
* String#bit_get(offset, ...
hasumikin (hitoshi hasumi)
06:34 AM Ruby Feature #22118: Introduce Basic Bit Operations into String
Thank you for the update. The specification in the current Description matches my intent in #note-5, and both points raised in #note-6 are fine as proposed.
bit_count and the bit-order keyword. Accepted as written. A population count ...
matz (Yukihiro Matsumoto)
12:40 PM Ruby Revision 2461caeb (git): [Feature #22118] Introduce Basic Bit Operations into String (#17353)
This patch adds the following methods to String class:
* String#bit_get(offset, lsb_first: true) -> 1 | 0 | nil
* String#bit_set?(offset, lsb_first: true) -> true | false | nil
* String#bit_set(offset, lsb_first: true) -> self
* String#...
hasumikin (hitoshi hasumi)
12:01 PM Ruby Feature #21795 (Open): Methods for retrieving ASTs
I approve introducing `#syntax_tree`, and I like the name. Please land it as an experimental feature as you propose in [#note-27](https://bugs.ruby-lang.org/issues/21795#note-27).
On the prism version mismatch, I choose your approach:...
matz (Yukihiro Matsumoto)
11:20 AM Ruby Feature #21795 (Closed): Methods for retrieving ASTs
Applied in changeset commit:git|93638d07e1a4b6c7fe02d1154fd31f201d5faeca.
----------
Compute a source hash of the program in parse.y
Introduce a streaming source hash API (rb_source_hash_init/update/
finalize) in ruby_parser.c, and use...
mame (Yusuke Endoh)
11:43 AM Ruby Bug #22197 (Closed): Backtraces show methods which do not exist
Applied in changeset commit:git|a89b3a6fd5cb5f382adfef7d28dfc73e330f614d.
----------
[Bug #22197] Show the original definition module in backtrace labels
An alias or a method installed via define_method(UnboundMethod) shares the
origin...
Eregon (Benoit Daloze)
08:14 AM Ruby Bug #22197: Backtraces show methods which do not exist
This is a bug and should be fixed.
The file and line we print are those of the original definition, so the module must come from that same definition. Mixing it with the run-time owner produces a name for a method that does not exist,...
matz (Yukihiro Matsumoto)
11:43 AM Ruby Revision c0ed960d (git): [Bug #22197] Record the definition module on the method definition
Backtrace labels need the module where a method body was originally
defined, but alias_method and define_method(UnboundMethod) overwrite the
CME owner with the install site, producing "Class#method" pairs that
never existed. The label co...
Eregon (Benoit Daloze)
11:43 AM Ruby Revision a89b3a6f (git): [Bug #22197] Show the original definition module in backtrace labels
An alias or a method installed via define_method(UnboundMethod) shares the
original method definition, but the CME's owner and defined_class point at
the site where the copy was installed. Combined with the method name (taken
from the or...
Eregon (Benoit Daloze)
11:35 AM Ruby Feature #22226: Ractor: class/module ownership -- restrict modification to the Ractor that created it
Accepted, including the incompatibilities in section 7. Asking "did you create this?" instead of "are you the main Ractor?" is the right question, and Ractor is experimental precisely so that we can make this kind of correction.
On cl...
matz (Yukihiro Matsumoto)
09:38 AM Ruby Feature #22226: Ractor: class/module ownership -- restrict modification to the Ractor that created it
ko1 (Koichi Sasada) wrote in #note-3:
> > How will autoload work with this?
> ...
Right, but in the proposal you said:
> A class/module records its creator Ractor as its owner. Only the owner may:
> ...
This does mean that modules ...
rkh (Konstantin Haase)
06:10 AM Ruby Feature #22226: Ractor: class/module ownership -- restrict modification to the Ractor that created it
ko1 (Koichi Sasada) wrote:
> ```ruby
> ...
This may be surprising, because it prevents all non-main Ractor to write constants of `Object` (and all class/module from main Ractor), but they were allowed before.
So classes/modules in non...
Eregon (Benoit Daloze)
11:32 AM Ruby Feature #21005 (Closed): Update the source location method to include line start/stop and column start/stop details
`{Method,UnboundMethod,Proc}#source_range` was added in #21998 which provides the same information.
It's also available for `Thread::Backtrace::Location` since #22212.
It hasn't been added for `Binding`, I don't think a `binding` has...
Eregon (Benoit Daloze)
11:25 AM Ruby Feature #17930: Add column information into error backtrace
mame (Yusuke Endoh) wrote:
> I'd like to propose a feature to get column information from each `Thread::BacktraceLocation`. Maybe it is good to provide the following four methods:
> ...
This exact information is now available via `Thread...
Eregon (Benoit Daloze)
11:24 AM Ruby Feature #8751: Add offsets to method#source_location
This is now available since #21998 with `{Method,UnboundMethod,Proc}#source_range`.
It's start/end line + start/end byte-column and not byte offsets, but one can convert between both if the source file is available.
Eregon (Benoit Daloze)
11:22 AM Ruby Feature #6012: Proc#source_location also return the column
This is now available since #21998 with `Proc#source_range` Eregon (Benoit Daloze)
11:20 AM Ruby Feature #22212 (Closed): Add Thread::Backtrace::Location#source_range
Applied in changeset commit:git|84a9e6bed71d009fa9ba272cfad96820127e097d.
----------
[Feature #22212] Add Thread::Backtrace::Location#source_range
Eregon (Benoit Daloze)
08:09 AM Ruby Feature #22212: Add Thread::Backtrace::Location#source_range
Accepted. `Thread::Backtrace::Location#source_range` is a natural extension of [#21998](https://bugs.ruby-lang.org/issues/21998), the failure behavior is fine as proposed, and `source_range` is the right name.
Regarding [#note-7](http...
matz (Yukihiro Matsumoto)
11:20 AM Ruby Revision eb0254e1 (git): Check the source hash for Thread::Backtrace::Location#source_range
Eregon (Benoit Daloze)
11:20 AM Ruby Revision a55e31b7 (git): Remove unused ISeq methods
Eregon (Benoit Daloze)
11:20 AM Ruby Revision 25959fe2 (git): Store a source hash in ISeqs
Record the source hash in each ISeq. For prism, the hash computed at
parse time is propagated through the scope nodes; for parse.y, it is
taken from the AST, and copied to child iseqs whose AST wrappers are
created separately. Expose it ...
mame (Yusuke Endoh)
11:20 AM Ruby Revision 2d629524 (git): Compute a source hash for prism as well
After each prism parse, compute a source hash of the parsed source and
keep it in the scope node. The data section after an __END__ marker is
not part of the code, so the hash covers the source only up to the end
of the __END__ line, whi...
mame (Yusuke Endoh)
11:20 AM Ruby Revision 93638d07 (git): Compute a source hash of the program in parse.y
Introduce a streaming source hash API (rb_source_hash_init/update/
finalize) in ruby_parser.c, and use it in the lexer of parse.y to
accumulate a hash of the source as each line is read. The hash is
stored in the AST, and will be used to...
mame (Yusuke Endoh)
11:20 AM Ruby Revision 84a9e6be (git): [Feature #22212] Add Thread::Backtrace::Location#source_range
Eregon (Benoit Daloze)
10:57 AM Ruby Revision 66c00fd5 (git): rb_hash_init: don't spill to `st_table` unless needed
Up to `RHASH_AR_TABLE_MAX_SIZE` there's no need to initialize
an `st_table`.
byroot (Jean Boussier)
10:41 AM Ruby Revision 5b505f86 (git): Reduce RHASH_TBL_RAW usage
byroot (Jean Boussier)
10:09 AM Ruby Feature #22232: Deprecate `RHASH_TBL` and associated APIs
For `rb_hash_bulk_insert_into_st_table` which probably was never intended to be public API, there is only a single hit, and it's clearly
a misuse, it should use `rb_hash_bulk_insert: https://github.com/redcode/Z80-Ruby/blob/master/ext/z...
byroot (Jean Boussier)
08:34 AM Ruby Feature #22232: Deprecate `RHASH_TBL` and associated APIs
The raw codesearch result https://gist.github.com/byroot/547f2b19e63efd0b2c974ff1f584751c, but it contains a lot of false positive, as many old gems seems to have:
```c
#ifndef RHASH_TBL
#define RHASH_TBL(x) RHASH->tbl
#endif
```
...
byroot (Jean Boussier)
08:07 AM Ruby Feature #22232 (Open): Deprecate `RHASH_TBL` and associated APIs
I would like to deprecate `RHASH_TBL`, `RHASH_TBL_RAW` and `rb_hash_bulk_insert_into_st_table`.
### Problem
These API take a `RHash` instance and return its associated `st_table *`.
If the Hash isn't backed by an `st_table` it wil...
byroot (Jean Boussier)
08:35 AM Ruby Feature #22222 (Closed): Expose a C API equivalent of `RubyVM::InstructionSequence.load_from_binary`
Applied in changeset commit:git|1ba809e748e04f03450a7f2148e5e860c64c57f0.
----------
C API: Expose `rb_iseq_load_from_binary`
[Feature #22222]
This allows to efficiently load iseq from mmaped files and other
buffers without having to ...
byroot (Jean Boussier)
08:22 AM Ruby Feature #22222: Expose a C API equivalent of `RubyVM::InstructionSequence.load_from_binary`
Accepted. This exposes no new capability, only a way to avoid a copy for something already possible from Ruby.
Matz.
matz (Yukihiro Matsumoto)
08:35 AM Ruby Revision 1ba809e7 (git): C API: Expose `rb_iseq_load_from_binary`
[Feature #22222]
This allows to efficiently load iseq from mmaped files and other
buffers without having to copy the bytes into a Ruby string an
then invoke `RubyVM::InstructionSequence.load_from_binary`.
byroot (Jean Boussier)
07:57 AM Ruby Revision 39e43e1c (git): [Feature #22213] Allow no-argument and chained calls of Proc#refined
Since `prc.refined(*ms).refined(*ns)` is behaviorally equivalent to
`prc.refined(*ms, *ns)`, the copy of the block is deferred until
the first call and the memo is shared by these behaviorally
equivalent Procs. A Proc that is never call...
shugo (Shugo Maeda)
07:40 AM Ruby Bug #19378 (Closed): Windows: Use less syscalls for faster require of big gems
Applied in changeset commit:git|a7512f063c7ec35b617803dd2f17515416f2c493.
----------
[Bug #19378] win32: Rework stat fast path
Query FileStatBasicByNameInfo instead of FileStatByNameInfo for the
128-bit file ID; the 64-bit ID does not ...
Anonymous
07:39 AM Ruby Revision a7512f06 (git): [Bug #19378] win32: Rework stat fast path
Query FileStatBasicByNameInfo instead of FileStatByNameInfo for the
128-bit file ID; the 64-bit ID does not match the handle-based result
on ReFS. Fall back to the handle-based path unless the volume serial
matches the drive of the path...
Hiroshi SHIBATA
07:39 AM Ruby Revision a3c7ff63 (git): win32: single-syscall fast path for winnt_stat (Win10-safe)
winnt_stat opened a real file handle (open_special +
GetFileInformationByHandle + GetFileType + get_handle_pathname +
CloseHandle, ~5 syscalls) for every existing file just to stat it.
require does this thousands of times per startup.
A...
largo
07:37 AM Ruby Feature #22205 (Assigned): Deprecate ruby2_keywords
matz (Yukihiro Matsumoto) wrote in #note-16:
> I agree with deprecating `ruby2_keywords`. It was a compromise for the transition to 3.0, and that transition is over.
> ...
Thank you for your confirmation.
I've merged the pull reques...
shugo (Shugo Maeda)
06:47 AM Ruby Feature #22205: Deprecate ruby2_keywords
I agree with deprecating `ruby2_keywords`. It was a compromise for the transition to 3.0, and that transition is over.
The schedule in the description is fine as proposed, including the one-phase offset for `Hash.ruby2_keywords_hash?`...
matz (Yukihiro Matsumoto)
07:32 AM Ruby Bug #22123: Ruby::Box + `BUNDLER_SETUP` can evaluate gemspecs before main-box RubyGems initialization
https://github.com/ruby/ruby/pull/18219 hsbt (Hiroshi SHIBATA)
07:30 AM Ruby Bug #22123 (Closed): Ruby::Box + `BUNDLER_SETUP` can evaluate gemspecs before main-box RubyGems initialization
Applied in changeset commit:git|c3c0e280d03561e21fc0894ea693ce3c9ebada0e.
----------
Do not consume BUNDLER_SETUP outside the main box
[Bug #22123]
Bundler evaluates gemspecs through TOPLEVEL_BINDING, which always belongs
to the main b...
hsbt (Hiroshi SHIBATA)
06:09 AM Ruby Bug #22123: Ruby::Box + `BUNDLER_SETUP` can evaluate gemspecs before main-box RubyGems initialization
Some background on why this `require` exists.
`error_highlight`, `did_you_mean` and `syntax_suggest` used to be required at startup right after RubyGems, before `RUBYOPT=-rbundler/setup` ran, so a Gemfile could not control their version...
hsbt (Hiroshi SHIBATA)
07:31 AM Ruby Revision 1d9b1291 (git): [DOC] Deprecate ruby2_keywords
Add documentation-only deprecation notices to Module#ruby2_keywords,
main.ruby2_keywords, Proc#ruby2_keywords, Hash.ruby2_keywords_hash?,
and Hash.ruby2_keywords_hash, as the first phase of the schedule
proposed at https://bugs.ruby-lang...
shugo (Shugo Maeda)
07:29 AM Ruby Revision 4c5ba84b (git): Make the autoload test portable to Ruby 4.0
error_highlight, did_you_mean and syntax_suggest are still loaded eagerly
on Ruby 3.2 through 4.0, where BUNDLER_SETUP is loaded in the main box
rather than skipped everywhere, so derive the expectation from the actual
autoload state.
C...
hsbt (Hiroshi SHIBATA)
07:29 AM Ruby Revision eec8cf0b (git): Test BUNDLER_SETUP loading in boxes
Based on the test in https://github.com/ruby/ruby/pull/17323, extended to
cover user boxes and the configuration where the decorator gems are not
autoloaded, which is how Ruby 3.2 through 4.0 behave.
Co-Authored-By: Claude Opus 5 <norep...
hsbt (Hiroshi SHIBATA)
07:29 AM Ruby Revision 82684117 (git): Note when the BUNDLER_SETUP require can be dropped
Ruby 4.1 autoloads error_highlight, did_you_mean and syntax_suggest and
deletes BUNDLER_SETUP while loading RubyGems, so the early bundler/setup
is only there for Ruby 3.2 through 4.0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
07:29 AM Ruby Revision c3c0e280 (git): Do not consume BUNDLER_SETUP outside the main box
[Bug #22123]
Bundler evaluates gemspecs through TOPLEVEL_BINDING, which always belongs
to the main box, so consuming BUNDLER_SETUP while the root box loads
RubyGems runs Bundler code in the main box before RubyGems has finished
loading ...
hsbt (Hiroshi SHIBATA)
07:26 AM Ruby Revision ef6b630c (git): Finish fix for cross-compilation build race condition
Commit bb235bddd4ce ("Avoid build-time race condition when
cross-compiling from a source tarball") turned out to be only a partial
fix, we also need to cover the case where git is present but we're not
building from a git checkout.
We c...
Paul Barker
06:23 AM Ruby Bug #22223 (Closed): Socket.tcp with connect_timeout returns a phantom "connected" socket for a refused connection on macOS 27 (kernel answers EISCONN on connect retry; SO_ERROR never consulted)
Applied in changeset commit:git|82294a714fe3d4cacf54fae631291df908ecb1ab.
----------
[Bug #22223] Check SO_ERROR after waiting for nonblocking connect
Darwin 27 answers the retry connect(2) on a refused nonblocking socket
with EISCONN,...
hsbt (Hiroshi SHIBATA)
06:23 AM Ruby Revision 82294a71 (git): [Bug #22223] Check SO_ERROR after waiting for nonblocking connect
Darwin 27 answers the retry connect(2) on a refused nonblocking socket
with EISCONN, so the retry idiom in Addrinfo#connect_internal returned
an unconnected socket. SO_ERROR still holds the real error, so consult
it after wait_writable, ...
hsbt (Hiroshi SHIBATA)
06:09 AM Ruby Feature #22186: Increase the embeddable size limit for substrings created by `str_subseq()`
byroot (Jean Boussier) wrote in #note-13:
> We could also have a different limit depending on the status of the source string. If the source string is already frozen or shared, creating an extra shared string is much cheaper, so we could...
himura467 (Akito Shitara)
03:54 AM Ruby Misc #22230: Should Ruby specs define byte oriented read behavior when the character buffer is not empty?
This may overlap with the discussion in ruby/spec, but I'll share my understanding of the current situation with CRuby.
The following illustrates the read model for IO in CRuby's implementation.
```
device -> [rbuf] -> encoding conv...
YO4 (Yoshinao Muramatsu)
02:32 AM Ruby Revision 10fa3a51 (git): Bump the github-actions group across 1 directory with 3 updates
Bumps the github-actions group with 3 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action) and [github/codeql-action/upl... dependabot[bot]
02:29 AM Ruby Revision a57cc37d (git): [ruby/time] Require colon in timezone offset for Time.rfc3339
Fixes https://github.com/ruby/time/pull/77
https://github.com/ruby/time/commit/b126827a31
jeremyevans (Jeremy Evans)
02:00 AM Ruby Revision 40e2c0fb (git): [ruby/strscan] Fix `charpos` when the stored string is shrunk
https://github.com/ruby/strscan/commit/7b77f30531 nobu (Nobuyoshi Nakada)
01:52 AM Ruby Revision 918fed9d (git): [ruby/prism] Revert "Split up newline token"
This reverts commit https://github.com/ruby/prism/commit/3dbe592a76cb.
https://github.com/ruby/prism/commit/115d58f71b
kddnewton (Kevin Newton)
01:38 AM Ruby Revision 6251e06a (git): [ruby/strscan] Handle shrunk captures on TruffleRuby
`integer_at` must read captures from the scanner current string.
https://github.com/ruby/strscan/commit/435095d898
nobu (Nobuyoshi Nakada)
01:38 AM Ruby Revision 6b93405b (git): [ruby/strscan] Return nil for empty integer captures
JRuby must match the native implementation when captures become empty.
https://github.com/ruby/strscan/commit/535f9b43ba
nobu (Nobuyoshi Nakada)
01:17 AM Ruby Revision 1db6f0fe (git): [ruby/prism] Split up newline token
There are actually 3 tokens in the Ruby grammar: the newline in a
whitespace insensitive position that is ignored, a newline that is
in a whitespace sensitive position that acts as a statement
terminator, and a newline in a whitespace se...
kddnewton (Kevin Newton)
12:50 AM Ruby Revision 411cfc43 (git): Do not resolve dependency names against the build directory (#18212)
tool/mkdepend.rb resolved dependency names against the current working
directory before falling back to the source root. When configure
re-runs in an already-built build directory nested inside the source
tree (e.g. .ruby under the chec...
k0kubun (Takashi Kokubun)

08/05/2026

10:43 PM Ruby Revision bfd181d0 (git): Fix SEGV in ObjectSpace._id2ref error path (#18206)
* Fix SEGV in ObjectSpace._id2ref error path
%+"PRIsVALUE" calls rb_inspect which re-enters the VM via
rb_funcallv, causing a crash when formatting the error message
for an invalid object ID. Use %"PRIsVALUE" instead, which
calls rb_obj...
Eregon (Benoit Daloze)
10:42 PM Ruby Revision 8052f249 (git): ZJIT: Specialize keyword-to-positional-hash sends (#18061)
Allow SendDirect to handle explicit caller keywords passed to callees
with no keyword parameter table by materializing the keywords as one
positional Hash.
Keep VM dispatch for keyword splat, **nil, and ruby2_keywords cases
because they...
Nozomi Hijikata
09:56 PM Ruby Revision 19f5b124 (git): Reintroduce recent PRISM changes
This reverts commit 895084e65bee280bddc36dc31f19ec3a0e80587e.
IRB failures are fixed by 6612731a4ffd41c01e836ed2ffd473d46b685ab1.
alanwu (Alan Wu)
09:44 PM Ruby Revision 69b13f2a (git): ZJIT: Rename `PadPatchPoint` to `PatchPointPad`
Two reasons for this: 1. It's less weird for a pad to be zero width than
for an imperative to pad to not actually pad. 2. PatchPoint is a noun so
its related padding reads better when can only be interpreted as a noun.
alanwu (Alan Wu)
09:44 PM Ruby Revision ac0e68da (git): ZJIT: Pull end-of-function pad out of RPO loop
I think there was a bug there because it checked for block id while
iterating with reverse-post order. No need to check when we can do it
unconditionally outside the loop. (Do we ever try to compile an empty
assembler?)
alanwu (Alan Wu)
09:44 PM Ruby Revision a540312b (git): ZJIT: Remove nops for PatchPoint too close to start of LIR BB
Previously we put a `nop` at the beginning of a block because any two
`PadPatchPoint` checked for minimum distance. The `PadPatchPoint` inserted
at block boundary isn't itself a patch point position, so when we had:
PadPatchPoint
...
alanwu (Alan Wu)
09:44 PM Ruby Revision 8593c2be (git): ZJIT: Add LIR `test_fallthrough_to_a_patchpoint` snapshot tests
alanwu (Alan Wu)
09:18 PM Ruby Misc #22221: DevMeeting-2026-08-06
* [Feature #22186] Increase the embeddable size limit for substrings created by `str_subseq()` (himura467)
* `str_subseq()` copies a sharable substring only while it fits in the tiny slot. The proposal copies up to a 128 byte slot, ke...
himura467 (Akito Shitara)
07:23 PM Ruby Misc #22221: DevMeeting-2026-08-06
* [Feature #22231] Add `IO::Buffer#index` (himura467)
* `IO::Buffer` has no search primitive, so finding a delimiter means copying the region out with `#get_string` or looping over `#get_value(:U8)` in Ruby. Proposes `buffer.index(o...
himura467 (Akito Shitara)
03:44 PM Ruby Misc #22221: DevMeeting-2026-08-06
* [Misc #22230] Should Ruby specs define byte oriented read behavior when the character buffer is not empty? (eregon)
* Is the `byte oriented read for character buffered IO (IOError)` behavior intentional, or an implementation detail ...
Eregon (Benoit Daloze)
02:59 PM Ruby Misc #22221: DevMeeting-2026-08-06
* [Feature #21826] Deprecating RubyVM::AbstractSyntaxTree (eregon)
* How about https://github.com/ruby/ruby/pull/18042 ? (documentation-only change)
Eregon (Benoit Daloze)
01:24 PM Ruby Misc #22221: DevMeeting-2026-08-06
* [Bug #22200] ObjectSpace._id2ref can return a different object than the id's owner on Ruby 4.0 (stale id2ref_tbl entry for objects with generic fields) (eregon)
* `_id2ref` is broken on Ruby 4.0, it returns internal objects, corrupt ...
Eregon (Benoit Daloze)
05:43 AM Ruby Misc #22221: DevMeeting-2026-08-06
* [Feature #22215] Introduce narrow internal interfaces for bundled extensions
* Add narrow internal interfaces for the bundled extensions
* internal/coverage.h
* internal/objspace.h
* Remove the transitive inclusion of `vm_c...
nobu (Nobuyoshi Nakada)
12:45 AM Ruby Misc #22221: DevMeeting-2026-08-06
* [Bug #22216] Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
* Are we okay making this either thread-local or fiber-local? It's already Fiber-local at the top-level (o...
jhawthorn (John Hawthorn)
08:59 PM Ruby Revision f01bbd41 (git): [ruby/rubygems] Centralize testing key/cert constants in test/rubygems/pem_utilities.rb
This commit refactors testing key/cert constants in a more consistent way.
The key/cert constants were duplicated across the files, and there was a
different constant naming `*_PATH` vs `*_FILE`.
Create test/rubygems/pem_utilities.rb m...
Jun Aruga
08:36 PM Ruby Revision 54d9f627 (git): [ruby/mmtk] Adding unit tests to ruby_heap_trigger.rs
https://github.com/ruby/mmtk/commit/4089d04c49 michaelg100
08:26 PM Ruby Revision 6612731a (git): Pin IRB to latest master (#18214)
tompng (tomoya ishida)
07:13 PM Ruby Feature #22227: Per-Ractor GC: collect each Ractor's heap locally, stop the world only when needed
Simple web server result:
https://claude.ai/code/artifact/eaf033a3-b64b-4a7e-af29-8c45a36109b5
ko1 (Koichi Sasada)
06:15 PM Ruby Feature #22227: Per-Ractor GC: collect each Ractor's heap locally, stop the world only when needed
Eregon (Benoit Daloze) wrote in #note-2:
> Is this safe? It's writing concurrently to a shareable object IIUC, and might leave leftover mark bits which might matter for the global GC.
It only marks shareable objects that are in the crea...
luke-gru (Luke Gruber)
04:08 PM Ruby Feature #22227: Per-Ractor GC: collect each Ractor's heap locally, stop the world only when needed
ko1 (Koichi Sasada) wrote:
> **Never free a shareable object.** At the end of marking
> ...
Is this safe? It's writing concurrently to a shareable object IIUC, and might leave leftover mark bits which might matter for the global GC.
Eregon (Benoit Daloze)
05:30 PM Ruby Revision 87b5ecef (git): [ruby/openssl] rand: fix error check of RAND_load_file()
This function returns -1 on error, or the number of bytes read on
success. Preserve current behaviour and also error out on error.
Discovered by an experimental static analyzer I work on.
https://github.com/ruby/openssl/commit/b36a61597e
ndossche
05:06 PM Ruby Revision 895084e6 (git): Revert recent PRISM changes to fix irb bundled_gems CI
This reverts commit 0017dea39538b75f54a64364e3878f8421378812,
5e36630fc012a305ea23aacd1c14cc8f9ad194f1, and
f3ec056c9f14e8e65a1e4617252f96c72b71d149.
We are trying to bump to latest IRB, which has "Accomodate new prism
tokens", but that...
alanwu (Alan Wu)
04:52 PM Ruby Revision f688f1cb (git): [JIT] Only call JIT single ractor mode invalidation once per process
Previously, JIT single-ractor mode invalidation happened on every `Ractor.new` call.
This invalidation takes the VM lock + VM barrier so slows down these calls. We only
need to invalidate compiled code that makes these single-ractor assu...
Luke Gruber
04:49 PM Ruby Revision 70874cc5 (git): ZJIT: fix gen_new_hash to use proper shape_id in flags
If the shape capacity isn't set on an object, one thing that fails is
moving it across Ractors. The new object created in the dst Ractor needs
to be big enough to embed the contents if the src was embedded.
Luke Gruber
04:28 PM Ruby Feature #22231 (Open): Add `IO::Buffer#index`
## Use case
I am writing nack-ruby (https://github.com/nsgi-org/nack-ruby), a Ruby implementation of NSGI, a host/guest interface for web applications. The host hands each HTTP request field to Ruby as an `IO::Buffer` view over its ow...
himura467 (Akito Shitara)
03:21 PM Ruby Feature #22229: Allow GCI.escapeHTML to take a custom escape table
byroot (Jean Boussier) wrote in #note-5:
> I made the point that by being limited to single characters, `escapeHTML` can be much easier to optimize much further.
That's something Regexp can optimize for and maybe already does to some ex...
Eregon (Benoit Daloze)
02:55 PM Ruby Feature #22229: Allow GCI.escapeHTML to take a custom escape table
> but what about a fixed Regexp with the characters to escape?
@Eregon please see the benchmark at https://github.com/ruby/cgi/pull/55, it doesn't compile a regexp every time and there's still a 5x difference.
I only did it in this...
byroot (Jean Boussier)
02:46 PM Ruby Feature #22229: Allow GCI.escapeHTML to take a custom escape table
If there is any doubt that `gsub` can be faster, here is my blog post about it: https://eregon.me/blog/2025/03/14/matching-regexps-200-times-faster.html
Notably matching could be about 200 times faster.
Eregon (Benoit Daloze)
02:41 PM Ruby Feature #22229: Allow GCI.escapeHTML to take a custom escape table
Using a Hash for this with `escapeHTML`* seems rather inefficient.
The ideal implementation should use a vectorized search, and that needs a more complex representation of the characters to search, which a Regexp is great at.
`Regexp.un...
Eregon (Benoit Daloze)
01:40 PM Ruby Feature #22229: Allow GCI.escapeHTML to take a custom escape table
I would also like to have this feature. Loofah (used by Rails's sanitization stack) currently has this code to re-implement `escapeHTML` with a custom table: https://github.com/flavorjones/loofah/blob/main/lib/loofah/html5/scrub.rb#L275-... mdalessio (Mike Dalessio)
06:05 AM Ruby Feature #22229 (Open): Allow GCI.escapeHTML to take a custom escape table
### Use case
`CGI.escapeHTML` has a fixed escape table:
```c
HTML_ESCAPE('\'', "&#39;"),
HTML_ESCAPE('&', "&amp;"),
HTML_ESCAPE('"', "&quot;"),
HTML_ESCAPE('<', "&lt;"),
HTML_ESCAPE('>', "&gt;"),
```
Bu...
byroot (Jean Boussier)
03:09 PM Ruby Bug #22228 (Closed): Do a major GC in YJIT test helper `assert_compiles` before running the test code
Applied in changeset commit:git|56acaf32b28227e46be75372ad74ac7ebd8b3a9c.
----------
YJIT: Ensure GC ran before executing the test proc in YJIT tests. (GH-18197)
[Bug #22228]
Anonymous
03:08 PM Ruby Revision 56acaf32 (git): YJIT: Ensure GC ran before executing the test proc in YJIT tests. (GH-18197)
[Bug #22228] Jarek Prokop
01:23 PM Ruby Bug #22200: ObjectSpace._id2ref can return a different object than the id's owner on Ruby 4.0 (stale id2ref_tbl entry for objects with generic fields)
One thought to avoid returning the wrong object would be to check the object we found actually has an `object_id` matching the argument (and if not `RangeError`). Because `object_id` are in practice unique this is a useful check.
That...
Eregon (Benoit Daloze)
12:35 PM Ruby Revision 1211355e (git): [DOC] Revise "Access Time" section of timestamps doc- #18196
burdettelamar (Burdette Lamar)
12:05 PM Ruby Misc #22230 (Open): Should Ruby specs define byte oriented read behavior when the character buffer is not empty?
In https://github.com/ruby/spec/pull/1384, there was a discussion regarding whether or not raising an IOError when performing a byte oriented read operation while the character buffer is nonempty should be part of the Ruby spec. @eregon... javanthropus (Jeremy Bopp)
11:06 AM Ruby Revision 1e7d46bc (git): Add Ractor tests for the monitor list.
This commit adds tests to ensure that the monitor list is handled
correctly in advance or rlgc merging.
Because the monitor list can be mutated by multiple Ractors it's
possible to engineer a situation where the list contains dangling
p...
eightbitraptor (Matt V-H)
11:02 AM Ruby Revision 0017dea3 (git): [ruby/prism] Split up backtick token
Now we fully match parse.y, and it is clearer to distinguish
betewen backticks that are used for method names and backticks
that begin xstring literals.
https://github.com/ruby/prism/commit/a33c3ff7fe
kddnewton (Kevin Newton)
11:02 AM Ruby Revision 5e36630f (git): [ruby/prism] Split up lbrace token
This also more closely matches parse.y, and makes it easier to
delineate which brace belongs to which type.
https://github.com/ruby/prism/commit/43ed8c1f80
kddnewton (Kevin Newton)
11:02 AM Ruby Revision f3ec056c (git): [ruby/prism] Split up lparen token
This more closely matches parse.y, and simplifies a bit of the lex
state as seen from the outside.
https://github.com/ruby/prism/commit/06dff548e8
kddnewton (Kevin Newton)
10:41 AM Ruby Revision d2b75b5c (git): [ruby/rubygems] Document SPDX license handling for license= and licenses=
RubyGems validates each entry as a single SPDX identifier; compound
expressions such as `MIT OR Apache-2.0` are rejected with a warning at
`gem build`. Document that, the `+`/`WITH` syntax, and the array form
as the only supported way to...
hsbt (Hiroshi SHIBATA)
10:38 AM Ruby Revision d1a30a10 (git): [DOC] Fix SyntaxError in the shareable_proc define_method example
The do block attaches to define_method while &Ractor.shareable_proc
also passes a block argument, so the example fails to parse. Pass the
shareable proc as a positional argument instead.
hsbt (Hiroshi SHIBATA)
10:38 AM Ruby Revision 2e554257 (git): [DOC] Add require 'date' to the SimpleDelegator example
The example calls Date.new, which raises NameError without the
require.
hsbt (Hiroshi SHIBATA)
10:38 AM Ruby Revision 2d7947d0 (git): [DOC] Use trace_object_allocations_start in the dump_all example
ObjectSpace.trace_object_allocations raises LocalJumpError when called
without a block.
hsbt (Hiroshi SHIBATA)
10:38 AM Ruby Revision d4ce2366 (git): [DOC] Use IO::Buffer.for in the IO::Buffer#transfer example
IO::Buffer.new takes a size as its first argument, so passing a string
raises TypeError. Adjust the sample output to the flags the buffer
created by IO::Buffer.for actually shows.
hsbt (Hiroshi SHIBATA)
10:38 AM Ruby Revision 23e969c7 (git): [DOC] Use __LINE__ in the second Module#module_eval lineno example
The example passing lineno 10 evaluated __FILE__, which prints the
filename instead of 10.
hsbt (Hiroshi SHIBATA)
09:11 AM Ruby Feature #22226: Ractor: class/module ownership -- restrict modification to the Ractor that created it
> How will autoload work with this?
autoload and require work on the main Ractor.
https://bugs.ruby-lang.org/issues/20627
ko1 (Koichi Sasada)
08:06 AM Ruby Feature #22226: Ractor: class/module ownership -- restrict modification to the Ractor that created it
How will autoload work with this?
My understanding would be that autoload will simply not work from ractors, even on classes they own, except via `Ruby::Box`. Is that correct?
Autoloads currently run on the main ractor, so ownershi...
rkh (Konstantin Haase)
08:56 AM Ruby Bug #22201 (Closed): ruby.exe reads `"AA\ " BB` as a single argument
Applied in changeset commit:git|ecc6edae550059c6414af728f0ada809d7547b97.
----------
win32: a backslash before whitespace escaped the closing quote
Inside double quotes, the escape was cancelled by almost any character
but not by white...
mame (Yusuke Endoh)
08:56 AM Ruby Revision ecc6edae (git): win32: a backslash before whitespace escaped the closing quote
Inside double quotes, the escape was cancelled by almost any character
but not by whitespace, so `"AA\ " BB` came out as a single argument.
[Bug #22201]
mame (Yusuke Endoh)
08:19 AM Ruby Bug #22223: Socket.tcp with connect_timeout returns a phantom "connected" socket for a refused connection on macOS 27 (kernel answers EISCONN on connect retry; SO_ERROR never consulted)
https://github.com/ruby/ruby/pull/18203 hsbt (Hiroshi SHIBATA)
08:01 AM Ruby Bug #22223: Socket.tcp with connect_timeout returns a phantom "connected" socket for a refused connection on macOS 27 (kernel answers EISCONN on connect retry; SO_ERROR never consulted)
I reproduced this on my own machine (macOS 27.0 beta, build 26A5388g, arm64) with ruby master (4.1.0dev). Darwin 27 answers the retry `connect(2)` on a refused nonblocking socket with `EISCONN`; `SO_ERROR` still holds `ECONNREFUSED`.
...
hsbt (Hiroshi SHIBATA)
07:54 AM Ruby Revision e20b1ca6 (git): [ruby/rubygems] Fix weak modifier flagged by quality_spec
https://github.com/ruby/rubygems/commit/528ee98f2c
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
07:54 AM Ruby Revision 58e40b58 (git): [ruby/rubygems] Summarize cooldown-skipped versions at the end of install, update, and lock
When cooldown silently resolves an older version, users comparing
environments with different cooldown settings can't tell why they got
different versions. Collect the versions the resolver excluded, and after a
successful resolution pri...
hsbt (Hiroshi SHIBATA)
07:53 AM Ruby Revision 653716c1 (git): [ruby/rubygems] Drop the redundant range-not-satisfiable e2e example
Both halves of what it exercised are unit-covered now: the downloader
spec covers dropping the Range header on 416, and the RubyGems updater
tests cover replacing the cache from a full response. Remove the
example and its dedicated artif...
hsbt (Hiroshi SHIBATA)
07:53 AM Ruby Revision 5ede6e31 (git): [ruby/rubygems] Retry without Range when compact index returns 416
Bundler's downloader already recovers from a stale over-long cache by
dropping the Range header and refetching the whole file, but
Gem::CompactIndexClient::HTTPFetcher raised FetchError instead, so the
gem CLI could not self-heal. Align ...
hsbt (Hiroshi SHIBATA)
07:53 AM Ruby Revision 0946835f (git): [ruby/rubygems] Move world-writable cache coverage to the RubyGems test suite
The e2e example from https://github.com/ruby/rubygems/commit/3b9c572b43 guarded compact index cache writes
under a permissive umask. The client now lives in RubyGems, so assert
the CacheFile invariant directly: a fresh cache file keeps t...
hsbt (Hiroshi SHIBATA)
07:53 AM Ruby Revision 28dc734a (git): [ruby/rubygems] Remove spec/quality_es_spec.rb
It guarded the language quality of the Spanish man page translations,
but no .es.ronn files are left in the repo, so it scanned English files
for Spanish words and could never fail. Also remove the be_well_formed
and be_sorted matchers, ...
hsbt (Hiroshi SHIBATA)
07:53 AM Ruby Revision 9ac3ccea (git): [ruby/rubygems] Move quality checks from RSpec suite to a lint rake task
spec/quality_spec.rb only ran in the two full-suite Ubuntu jobs, so
failures surfaced late and nowhere else. Port it to tool/quality_check.rb
as plain Ruby, run it via `rake quality:check` in the ubuntu-lint
check_misc job, and drop it f...
hsbt (Hiroshi SHIBATA)
07:39 AM Ruby Revision 9901ecff (git): [DOC] Update bundled gems list at 91cfd2c1efe9b8ae35f4e03cf15124
git[bot]
07:26 AM Ruby Bug #18947: Unexpected Errno::ENAMETOOLONG on Windows
One more limitation besides the ones above: spawning a child process from a 260+ character working directory still fails, since `CreateProcessW` keeps the `MAX_PATH` limit on `lpCurrentDirectory`.
I also audited every fixed-size buffer ...
hsbt (Hiroshi SHIBATA)
04:36 AM Ruby Revision 91cfd2c1 (git): compile.c: reject negative object index in the IBF loader
pinned_list_store and pinned_list_fetch validated only the upper bound
(offset >= ptr->size) on a signed long index, so a malformed or truncated
IBF blob with a negative object index caused an out-of-bounds write/read
through ptr->buffer...
Gengyskan
04:26 AM Ruby Revision 8cb76c13 (git): Shrink `st_table` from 48B down to 40B
This allows `st_table + RHash` to fit in a `64B` slot.
It is achieved by turning `entries_start` from pointer size
down to a single byte.
This means it can now overflow, if you delete the first element
255 times, but in such case we ca...
byroot (Jean Boussier)
04:21 AM Ruby Revision 4cd8f755 (git): Ractor: keep the elements a moved array still shares
The array counterpart of f4e50b9993. A frozen array is handed out as a shared
root as it is, without the shared root flag (ary_make_shared), so a subseq or a
dup of an embedded one reads the elements straight out of its slot:
ary =...
ko1 (Koichi Sasada)
02:35 AM Ruby Revision 1ec37f2d (git): Bump taiki-e/install-action
Bumps the github-actions group with 1 update in the / directory: [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `taiki-e/install-action` from 2.85.6 to 2.85.7
- [Release notes](https://github.com/taiki-e/i...
dependabot[bot]
02:29 AM Ruby Bug #22225: YJIT regenerates a branch while a duplicate target still points to the invalidated block
alanwu (Alan Wu) wrote in #note-5:
> > That can leave generated code jumping back into code YJIT just invalidated.
> ...
This feels very suspiciously like https://bugs.ruby-lang.org/issues/21257 to me. I'll rule it in or out and update...
cosgroveb (Brian Cosgrove)
01:24 AM Ruby Revision e2667f69 (git): [ruby/uri] Reduce base-path ".." removal in merge_path to a linear pass
The RFC2396 5.2 6a step used Array#index/slice! in a loop, making
URI.join / URI#merge O(n^2) in the number of base-path segments, so a
640KB base of repeated "a/../" took several seconds. Rewrite it as a
single left-to-right pass while ...
hsbt (Hiroshi SHIBATA)
12:43 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
Here's an example I think folks would expect to be thread safe, but fails on current CRuby after just a few iterations (thanks to the Thread.pass)
``` ruby
def test_it
proc { |str|
str =~ /(.)(.)(.)/
Thread.pass # Commen...
jhawthorn (John Hawthorn)
12:37 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
Just a note on the Ractor-incompatibility, I think that's actually a much smaller problem. We should only hit that via `Ractor.shareable_proc`, which is a point we can set svar as we want (or is a flag we could check for). We could fix t... jhawthorn (John Hawthorn)
12:30 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
I've started prototyping this in https://github.com/ruby/ruby/pull/18200 (needs testing and benchmarking still) jhawthorn (John Hawthorn)
12:16 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
I think I'm _somewhat_ sold on it being Fiber-local. There may be some incompatibilities, but the existing behaviour is already strange.
Here's the first case I was worried about. If you get an Enumerator with lazy or an iterating metho...
jhawthorn (John Hawthorn)
12:33 AM Ruby Revision 022c795a (git): ZJIT: Preserve argument profiles in polymorphic dispatch arms (#18057)
Each arm of a polymorphic dispatch takes a fresh Snapshot so that the
receiver resolves from its refined type instead of the polymorphic
profile. However, the fresh Snapshot had no ProfileOracle entries at
all, so argument-profile-depend...
k0kubun (Takashi Kokubun)

08/04/2026

11:48 PM Ruby Revision e4694c21 (git): Fix "oneshot" tracepoints that disable themselves during the hook
The debug gem uses a TP that disables itself (tp.disable) during the hook. If there are other
tracepoint events afterwards on the same iseq that share the same local hooks list, this results
in a UAF of the hook list.
This was fixed in ...
Luke Gruber
11:33 PM Ruby Revision 7c35af0e (git): Update default gems list at a958cb539a4bdc0395cb98a8173817 [ci skip]
git[bot]
11:32 PM Ruby Revision a958cb53 (git): [ruby/erb] Version 6.0.7
https://github.com/ruby/erb/commit/9907393a1f k0kubun (Takashi Kokubun)
11:31 PM Ruby Revision a689f93b (git): [ruby/erb] Simplify Scanner's Ractor safety code
Ractor.make_shareable isn't needed if everything is plain `freeze`d
https://github.com/ruby/erb/commit/50f434e7e5
Hartley McGuire
11:31 PM Ruby Revision b938d066 (git): [ruby/erb] Fix Ractor compatibility regression, add tests
The recent change to use `BasicObject.instance_method(:equal?)` broke
the ability to share frozen ERB templates across Ractors because
`UnboundMethod` isn't shareable.
Freezing the `UnboundMethod` _may_ fix the issue (dependong on Ruby
...
Hartley McGuire
11:13 PM Ruby Bug #22225: YJIT regenerates a branch while a duplicate target still points to the invalidated block
alanwu (Alan Wu) wrote in #note-5:
> > That can leave generated code jumping back into code YJIT just invalidated.
> ...
Not the latest release in CI. I'm willing to backport this bug fix to the release we are using (privately) in our ...
cosgroveb (Brian Cosgrove)
11:12 PM Ruby Bug #22225: YJIT regenerates a branch while a duplicate target still points to the invalidated block
luke-gru (Luke Gruber) wrote in #note-3:
> I think this is one of those instances I *should* have used an LLM, sorry! It has me thinking that this is not a bug after all. The JIT team will still take a look at it, but this may not be th...
cosgroveb (Brian Cosgrove)
10:42 PM Ruby Bug #22225 (Feedback): YJIT regenerates a branch while a duplicate target still points to the invalidated block
> That can leave generated code jumping back into code YJIT just invalidated.
This alone isn't problematic since `invalidate_block_version` patches in an exit at the invalidated block.
> ...
This symptom sounds familiar to a bug we...
alanwu (Alan Wu)
10:21 PM Ruby Bug #22225: YJIT regenerates a branch while a duplicate target still points to the invalidated block
luke-gru (Luke Gruber) wrote in #note-3:
> I think this is one of those instances I *should* have used an LLM, sorry! It has me thinking that this is not a bug after all. The JIT team will still take a look at it, but this may not be th...
cosgroveb (Brian Cosgrove)
09:01 PM Ruby Bug #22225: YJIT regenerates a branch while a duplicate target still points to the invalidated block
I think this is one of those instances I *should* have used an LLM, sorry! It has me thinking that this is not a bug after all. The JIT team will still take a look at it, but this may not be the repro to your bug that you were hoping for. luke-gru (Luke Gruber)
10:26 PM Ruby Revision ee622200 (git): ZJIT: Fix cfp->block_code comment
alanwu (Alan Wu)
10:26 PM Ruby Revision 3a3f32c6 (git): ZJIT: clear cfp->block_code in the materialize_exit trampoline
gen_materialize_exit_trampoline clears cfp->jit_return and then calls
rb_zjit_materialize_frames. CFP_ZJIT_FRAME_P() is exactly
cfp->jit_return != NULL, so by then the exiting frame no longer looks like
a JIT frame and zjit_materialize_...
ko1 (Koichi Sasada)
10:22 PM Ruby Revision ce429a7d (git): ZJIT: Add IMemo subtype of RubyValue
Use this for extended fields. Max Bernstein
10:22 PM Ruby Revision 88cc7a28 (git): ZJIT: Type fields_obj as RubyValue
It's an imemo, so not a BasicObject. This way, also, the return types in
setivar and getivar align and therefore we can optimize this better in
load-store elimination.
Max Bernstein
10:22 PM Ruby Revision 7fb28619 (git): ZJIT: Add test for optimizing extended objects in load-store
We should be able to see through the fields_obj but right now
setivar/getivar disagree on what the return type is
(RubyValue/BasicObject) so it doesn't get optimized. We will fix this in
the next commit.
Max Bernstein
10:19 PM Ruby Revision f4e50b99 (git): Ractor: keep the bytes a moved string still shares
Wiping the body of a hollowed-out object (556296cbe0) is wrong for a string
whose bytes another string reads in place:
r = Ractor.new { Ractor.receive }
str = "x" * 100
str.instance_variable_set(:@iv, []) # unshareable, so...
ko1 (Koichi Sasada)
09:34 PM Ruby Revision ae2411c8 (git): ZJIT: Identify a recompiling side exit's instruction at compile time (GH-18108)
`exit_recompile()` decides whether to invalidate a compiled unit by asking whether the interpreter has finished re-profiling the instruction that exited. It used to identify that instruction by reading `ec->cfp->iseq` and `ec->cfp->pc`. ... Kevin Menard
08:06 PM Ruby Feature #22212: Add Thread::Backtrace::Location#source_range
Yes, if `#syntax_tree` reliably returns the correct node, the returned node can provide the start/end line/column.
The main gain of `#source_range` is providing those stable coordinates without relying on the version-specific `node_id` ...
Eregon (Benoit Daloze)
02:33 PM Ruby Feature #22212: Add Thread::Backtrace::Location#source_range
If `#syntax_tree` gets merged, I am no longer certain of the use case here, because to my knowledge that entirely encapsulates this work. I can't imagine needing the exact source range (more than you already have) but _not_ needing the s... kddnewton (Kevin Newton)
07:46 PM Ruby Feature #21795: Methods for retrieving ASTs
@kddnewton Thanks for taking a look.
The warning and the behavior with parse.y are also concerns, but the more fundamental blocker is correctness: the implementation can return the wrong node.
This is not merely an unstable or experi...
Eregon (Benoit Daloze)
02:31 PM Ruby Feature #21795: Methods for retrieving ASTs
@mame thanks for the great prototype. I think `#syntax_tree` makes a lot of sense, and I think the name and implementation are both fine.
As a small note, I noticed that you manually implement the DFS to find the child node because yo...
kddnewton (Kevin Newton)
06:21 PM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
jhawthorn (John Hawthorn) wrote in #note-11:
> One question Jean posed that I don't see discussion about is whether this should be Thread-local or Fiber-local. My gut instinct was to prefer Fiber-local, but I think it will cause incompa...
Eregon (Benoit Daloze)
05:32 PM Ruby Bug #22228: Do a major GC in YJIT test helper `assert_compiles` before running the test code
Created https://github.com/ruby/ruby/pull/18197 on master. jprokop (Jarek Prokop)
05:27 PM Ruby Bug #22228 (Closed): Do a major GC in YJIT test helper `assert_compiles` before running the test code
I was debugging why a YJIT test added from backport to 3.3.11 with GC.stress fails downstream. This revealed an assumption in the assert_compiles, that the environment is "clean", or as default as possible.
`assert_compiles` already san...
jprokop (Jarek Prokop)
04:48 PM Ruby Revision 556296cb (git): Ractor: wipe the body of an object hollowed out by move
Ractor#send(move: true) turns the source object into a frozen
Ractor::MovedObject in place: it rewrites the header and gives the slot a
field-less shape, but leaves the old body untouched. Ruby-level access is
blocked by method_missing,...
ko1 (Koichi Sasada)
03:30 PM Ruby Revision 03615950 (git): [ruby/prism] Abort on allocation failure in static literals
https://github.com/ruby/prism/commit/b25cba96bd kddnewton (Kevin Newton)
03:19 PM Ruby Revision 73bfbd23 (git): [ruby/io-console] Implement FFI console mode support
Add the missing console mode API so JRuby and TruffleRuby match
the native extension.
https://github.com/ruby/io-console/commit/beaf98288b
nobu (Nobuyoshi Nakada)
12:49 PM Ruby Revision 3e646aee (git): [DOC] Update docs for GC.stat
peterzhu2118 (Peter Zhu)
12:48 PM Ruby Revision 74c9f4a4 (git): [DOC] Doc for File::absolute_path
burdettelamar (Burdette Lamar)
12:46 PM Ruby Feature #20448: Make coverage event hooking C API public
mame (Yusuke Endoh) wrote in #note-7:
> Thanks for the research. So, `TracePoint.new(:branch)` seems good enough for the use case of fuzzer, right?
> ...
Hi @mame, might I please request a review of the above PR? Or, what steps should ...
ms-tob (Matt S)
09:16 AM Ruby Revision 29d630c1 (git): [ruby/rubygems] Load vendored persistent before activating Artifice in-process
Artifice replaces Gem::Net::HTTP, so when bundler/vendored_persistent
gets lazily required while Artifice is active, the vendored Persistent
classes are defined under the Artifice replacement. After deactivation
Gem::Net::HTTP::Persisten...
hsbt (Hiroshi SHIBATA)
09:16 AM Ruby Revision b5ea1b67 (git): [ruby/rubygems] Require spec path helpers lazily in the git config guard
support/subprocess.rb is preloaded into every spawned ruby before
RubygemsVersionManager switches RubyGems, and requiring support/path at
load time dragged the pathname default gem into that context, breaking
Bundler unit specs under a r...
hsbt (Hiroshi SHIBATA)
09:16 AM Ruby Revision f2a4941a (git): [ruby/rubygems] Prevent test git commands from mutating the checkout's own git config
When a fixture directory has no .git, git repository discovery walks up
into the checkout itself, and a fixture `git config user.email` lands
in the checkout's shared .git/config, polluting the author identity of
subsequent commits in ev...
hsbt (Hiroshi SHIBATA)
08:28 AM Ruby Misc #22221: DevMeeting-2026-08-06
* [Bug #18947] Unexpected Errno::ENAMETOOLONG on Windows
* This fix resolved the real-world issue. But my fix used undocumented feature. Is it okay?
* [Bug #19378] Windows: Use less syscalls for faster require of big gems
* Is i...
hsbt (Hiroshi SHIBATA)
05:23 AM Ruby Misc #22221: DevMeeting-2026-08-06
* [Feature #22226] Ractor: class/module ownership -- restrict modification to the Ractor that created it (ko1)
* This proposal reduce the exceptions. In most case, there are no problem.
* [Feature #22227] Per-Ractor GC: collect each ...
ko1 (Koichi Sasada)
07:30 AM Ruby Revision aeb7a057 (git): [ruby/rubygems] Check the resolved parent directory before extracting old format gems
Gem::Package::Old#extract_files only validated entry paths by string
expansion, so a preexisting symlink in the extraction directory redirected
writes outside of it. Gem::Package#extract_tar_gz already re-resolves the
parent directory wi...
hsbt (Hiroshi SHIBATA)
07:29 AM Ruby Revision fe011509 (git): [ruby/rubygems] Don't mask install errors when no Gemfile can be located
require_tree_for_spec calls SharedHelpers.default_gemfile to build the
"In Gemfile:" header of the error report. When BUNDLE_GEMFILE is unset
and no Gemfile is findable from the current directory, that raises
GemfileNotFound from inside ...
hsbt (Hiroshi SHIBATA)
06:48 AM Ruby Feature #22227: Per-Ractor GC: collect each Ractor's heap locally, stop the world only when needed
> GC.start in a multi-Ractor process runs a stop-the-world global GC; automatic GC in a Ractor collects only its own heap.
Should `GC.start` gain some sort of `local_only: true` argument?
I could see this as useful for applications...
byroot (Jean Boussier)
05:20 AM Ruby Feature #22227 (Open): Per-Ractor GC: collect each Ractor's heap locally, stop the world only when needed
Companion PR: https://github.com/ruby/ruby/pull/18194
---
## Abstract
This proposal makes the default GC operate per Ractor. Each Ractor owns an
objspace (a private heap) and collects it on its own thread without stopping
any...
ko1 (Koichi Sasada)
05:45 AM Ruby Bug #22217: Segmentation fault when resuming execution with `Coverage.start` and ruby/debug
Thank you so much for the quick fix and for preparing the backport! yokomaru (Yoko Suzuki)
03:42 AM Ruby Bug #19378: Windows: Use less syscalls for faster require of big gems
I applied the attached MINIMAL-stat-fastpath.patch and reworked it for st_ino/st_dev compatibility in https://github.com/ruby/ruby/pull/18193. Benchmark results and fast/fallback parity testing are in the pull request description. hsbt (Hiroshi SHIBATA)
03:26 AM Ruby Bug #18947: Unexpected Errno::ENAMETOOLONG on Windows
Two questions before this goes further.
* The bit is set in `rb_w32_sysinit`, so only hosts that call `ruby_sysinit` get it, which effectively means `ruby.exe`. Embedders that do their own initialization keep the 260 character limit. ...
hsbt (Hiroshi SHIBATA)
02:34 AM Ruby Revision ab022182 (git): [ruby/rubygems] Remove Bundler::CompactIndexClient
Bundler now uses Gem::CompactIndexClient, so delete the duplicate
client and its unit specs. Coverage the specs had over the RubyGems
test suite moves to test-unit: available? boundaries, yanked-line
checksums, versions lines without a c...
hsbt (Hiroshi SHIBATA)
02:34 AM Ruby Revision 79906cdf (git): [ruby/rubygems] Use Gem::CompactIndexClient in Bundler
Switch Bundler's compact index fetcher and the outdated-version check
from Bundler::CompactIndexClient to the RubyGems client, wiring
Bundler's filesystem access helper into the new hook. Bundler keeps its
orchestration layer (parallel w...
hsbt (Hiroshi SHIBATA)
02:34 AM Ruby Revision 9f4fb3ef (git): [ruby/rubygems] Add a filesystem access hook to Gem::CompactIndexClient
Bundler's client wraps every cache read and write in
SharedHelpers.filesystem_access so permission problems surface as
friendly Bundler errors instead of bare Errno exceptions. Funnel the
same operations through an injectable hook, defau...
hsbt (Hiroshi SHIBATA)
02:34 AM Ruby Revision f9199295 (git): [ruby/rubygems] Ship Gem::CompactIndexClient in the Bundler gem
Add lib/rubygems/compact_index_client to the gem's files so Bundler
carries the client itself. This keeps Bundler self-contained on RubyGems
versions older than 4.1, which do not include Gem::CompactIndexClient,
independently of any rele...
hsbt (Hiroshi SHIBATA)
02:34 AM Ruby Revision 5a5e9922 (git): [ruby/rubygems] Make Gem::CompactIndexClient loadable from a Bundler-shipped copy
The client's subfiles reached sibling RubyGems files with cross-tree
require_relative, which breaks when the copy shipped inside the Bundler
gem is loaded on an older RubyGems: the relative targets are not part of
that copy. Require them...
hsbt (Hiroshi SHIBATA)
02:33 AM Ruby Revision b1c2115d (git): Bump the github-actions group across 1 directory with 5 updates
Bumps the github-actions group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) | `0.6.1` | `0.6.2` |
| [github/codeql-action/init](...
dependabot[bot]
02:31 AM Ruby Revision 0d045690 (git): CI: Build just ruby.exe in make-old-toolset jobs
rubyw.exe is not exercised by the smoke test in these jobs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Hiroshi SHIBATA
02:31 AM Ruby Revision 519f24d4 (git): CI: Run a single `nmake prog` in make-old-toolset jobs
The separate `nmake incs` and `nmake mini` steps were workarounds for
missing dependencies in win32/Makefile.sub.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Hiroshi SHIBATA
02:31 AM Ruby Revision 9d92f30a (git): mswin: Fix dependencies to build ruby.exe in a single nmake run
In a clean build directory, `{$(VPATH)}config.h` prerequisites in
common.mk fall back to the bare name, which nothing knows how to build
(U1073). Also rbconfig.rb is always generated by miniruby here
regardless of BASERUBY, but did not ...
Hiroshi SHIBATA
02:11 AM Ruby Revision 3754b809 (git): [DOC] Fix typos in documentation guide
peterzhu2118 (Peter Zhu)
01:01 AM Ruby Revision 54d7ea64 (git): ZJIT: Don't clone args in inline_methods
Max Bernstein
01:01 AM Ruby Revision 78fb1aed (git): ZJIT: Don't always use find() in type_specialize
Use it in only two branches: Send and InvokeSuper. We can probably
remove those later but it needs further refactoring.
Cuts ~20ms aggregate compile time off of lobsters.
Before:
plum% for i in $(seq 0 5); do WARMUP_ITRS=2 MIN_BEN...
Max Bernstein
12:45 AM Ruby Revision f16405da (git): [DOC] Improve docs for GC.stress=
peterzhu2118 (Peter Zhu)
12:12 AM Ruby Revision 6d163ef3 (git): prism: Work around VS2017 miscompilation of conditional expressions
cl 19.16 materializes both arms of a conditional expression whose arms
are struct compound literals before testing the condition, so NTOK2LOC
and similar macros dereference NULL tokens and crash, even with -Od.
Build pm_location_t via an...
Hiroshi SHIBATA
12:12 AM Ruby Revision 0c8d1b1e (git): win32/vssetup.cmd: Fix -vcvars_ver argument passing
cmd.exe splits batch file arguments on "=", so "-vcvars_ver=14.29"
reaches the argument loop as two tokens and VsDevCmd.bat ignores the
version with an invalid argument error. Reassemble the pair before
chaining to VsDevCmd.bat.
Co-Auth...
Hiroshi SHIBATA
12:12 AM Ruby Revision 083efe64 (git): CI: Build with VS 2017/2019 toolsets on Windows
The hosted runner images no longer preinstall VS 2017/2019, so install
the v141/v142 toolsets into the preinstalled VS 2022 and select them
with -vcvars_ver. These jobs only build up to ruby.exe; extensions and
tests are not covered.
Co...
Hiroshi SHIBATA

08/03/2026

11:50 PM Ruby Revision 2f4e7464 (git): [ruby/rubygems] Remove Bundler's duplicate vendored PubGrub
Bundler now loads Gem::PubGrub from RubyGems' copy, so drop the
Bundler::PubGrub tree and its vendoring entry, and regenerate the
Manifest. The pub_grub entry in tool/bundler/vendor_gems.rb stays
because the RubyGems-side vendoring still...
hsbt (Hiroshi SHIBATA)
11:50 PM Ruby Revision 980ab776 (git): [ruby/rubygems] Use RubyGems' vendored PubGrub in Bundler
Load Gem::PubGrub from RubyGems' copy, which the gem now ships under
lib/rubygems, and point all resolver references at the Gem::PubGrub
namespace. Also collapse the DSL's individual subfile requires into a
single require of the guarded ...
hsbt (Hiroshi SHIBATA)
11:50 PM Ruby Revision b48ee62c (git): [ruby/rubygems] Ship RubyGems' vendored PubGrub in the Bundler gem
Add lib/rubygems/vendor/pub_grub to the gem's files, and to
tracked_files_glob so the "ships the correct set of files" spec stays in
sync with the gemspec. This keeps Bundler self-contained on RubyGems
versions older than 4.1, which do n...
hsbt (Hiroshi SHIBATA)
11:50 PM Ruby Revision c0330647 (git): [ruby/rubygems] Guard the vendored pub_grub against double loading
When the same Gem::PubGrub copy is shipped in two gems (RubyGems and
Bundler) and required from different paths, the unguarded entrypoint
reloads it and emits "already initialized constant" warnings. Add an
idempotent guard at the top of...
hsbt (Hiroshi SHIBATA)
11:23 PM Ruby Revision 56335423 (git): Revert doc/NEWS/NEWS-3.4.0.md to v3_4_0:NEWS.md
znz (Kazuhiro NISHIYAMA)
10:06 PM Ruby Revision 388109f6 (git): [DOC] Minor fixes for Regexp
peterzhu2118 (Peter Zhu)
10:06 PM Ruby Revision cc7e6ee4 (git): [DOC] Fix letters in Regexp doc
peterzhu2118 (Peter Zhu)
09:14 PM Ruby Bug #22217: Segmentation fault when resuming execution with `Coverage.start` and ruby/debug
[Backport PR](https://github.com/ruby/ruby/pull/18184). luke-gru (Luke Gruber)
08:20 PM Ruby Bug #22217 (Closed): Segmentation fault when resuming execution with `Coverage.start` and ruby/debug
Applied in changeset commit:git|6d14ea1306c8bbdea9b7eccbf0b91fa84bacec68.
----------
Fix "oneshot" tracepoints that disable themselves during the hook
The debug gem uses a TP that disables itself (tp.disable) during the hook. If there ...
Anonymous
06:57 PM Ruby Bug #22217: Segmentation fault when resuming execution with `Coverage.start` and ruby/debug
Thanks for the report and minimal repro, it was very helpful. I have a [PR](https://github.com/ruby/ruby/pull/18182). This will be fixed in 4.0.7 (released some time in September). The affected version are 4.0.0 - 4.0.6. luke-gru (Luke Gruber)
08:54 PM Ruby Feature #22226 (Open): Ractor: class/module ownership -- restrict modification to the Ractor that created it
## Abstract
Every class/module records the Ractor that created it as its *owner*. Only the owner Ractor
can modify it. Reading is unchanged and allowed from any Ractor.
This replaces several ad-hoc "main Ractor only" rules with a ...
ko1 (Koichi Sasada)
08:27 PM Ruby Bug #22224: YJIT: rb_yjit_invalidate_ep_is_bp takes the VM lock stopping Ractors on every Proc materialization; multi-Ractor throughput collapses (up to ~150x)
The PR is [here](https://github.com/ruby/ruby/pull/18176). I've also marked this as needing a backport because this really is a bug, it can slow down Ractors a lot. luke-gru (Luke Gruber)
11:18 AM Ruby Bug #22224 (Open): YJIT: rb_yjit_invalidate_ep_is_bp takes the VM lock stopping Ractors on every Proc materialization; multi-Ractor throughput collapses (up to ~150x)
Hi! Fair warning: a significant portion of this bugreport and experimentation/benchmarking was done by an agent.
Sorry for the slop, but it was so much faster to benchmark and find a root issue.
**Proposed PR: https://github.com/ru...
yaroslavmarkin (Yaroslav Markin)
08:20 PM Ruby Revision 6d14ea13 (git): Fix "oneshot" tracepoints that disable themselves during the hook
The debug gem uses a TP that disables itself (tp.disable) during the hook. If there are other
tracepoint events afterwards on the same iseq that share the same local hooks list, this results
in a UAF of the hook list.
This was fixed in ...
Luke Gruber
06:46 PM Ruby Revision 80e57a11 (git): Make IO objects unshareable
A frozen IO used to pass Ractor.make_shareable, but the result is not
useful and not sound:
* Almost nothing works on it. read, gets, seek, eof? and sync= all
raise FrozenError because they update the buffered state in rb_io;
only ...
ko1 (Koichi Sasada)
06:46 PM Ruby Revision 54c7fd12 (git): Raise instead of crashing when a non-T_DATA object is not shareable
make_shareable_check_shareable() assumes allow_frozen_shareable_p() can
only fail for T_DATA and dereferences RTYPEDDATA_TYPE() right after the
check. The VM_ASSERT documenting that assumption is compiled out in a
release build, so maki...
ko1 (Koichi Sasada)
04:56 PM Ruby Bug #22220: Performance regression when requiring `aws-sdk-ec2` in Ruby 4.0.6
Possibly fixed by https://github.com/ruby/ruby/pull/18181 viralpraxis (Iaroslav Kurbatov)
03:23 PM Ruby Bug #22220: Performance regression when requiring `aws-sdk-ec2` in Ruby 4.0.6
cc @viralpraxis luke-gru (Luke Gruber)
03:27 PM Ruby Bug #22225: YJIT regenerates a branch while a duplicate target still points to the invalidated block
Thank you for the report and the great repro. This does look like a bug to me. The YJIT folks will take a look at it soon. luke-gru (Luke Gruber)
02:13 PM Ruby Bug #22225: YJIT regenerates a branch while a duplicate target still points to the invalidated block
Apologies for the rather in the weeds report here but:
1. Is this expected behavior?
2. This does result in an infinite loop/self-jump in a much more elaborate repro and in my CI environment (a large test suite > 100k examples often r...
cosgroveb (Brian Cosgrove)
12:18 PM Ruby Bug #22225 (Feedback): YJIT regenerates a branch while a duplicate target still points to the invalidated block
YJIT adds one incoming-list entry for each branch target that points to a block. When both targets point to the same block, that block's incoming list contains the same `BranchRef` twice.
`invalidate_block_version` processes those ent...
cosgroveb (Brian Cosgrove)
02:18 PM Ruby Misc #22221: DevMeeting-2026-08-06
* [Feature #22222] Expose a C API equivalent of `RubyVM::InstructionSequence.load_from_binary` (byroot)
* It would allow Bootsnap to directly load iseq from C without copying bytes into a string.
* `rb_str_new_static` exists but is...
byroot (Jean Boussier)
06:12 AM Ruby Misc #22221: DevMeeting-2026-08-06
- [Feature #22118] Introduce Basic Bit Operations into String (hasumikin)
- https://bugs.ruby-lang.org/issues/22118#note-6
- Is it OK to have a *temporary* asymmetry where `String#bit_count` doesn't take a bit-order keyword?
...
hasumikin (hitoshi hasumi)
01:03 PM Ruby Revision e0314f00 (git): [DOC] Improve docs for GC.verify_internal_consistency
peterzhu2118 (Peter Zhu)
01:01 PM Ruby Revision f91aad6c (git): [DOC] Fix output of example in String encoding
peterzhu2118 (Peter Zhu)
12:14 PM Ruby Revision 6579cc46 (git): Require Ruby 3.3 to run ruby/spec
Match the runtime version check to the supported versions documented
in the README.
nobu (Nobuyoshi Nakada)
12:14 PM Ruby Revision b81caa8c (git): Remove redundant rb_int_positive_pow declaration
`rb_int_positive_pow` has been declared by public headers since
Ruby 3.1.
nobu (Nobuyoshi Nakada)
12:14 PM Ruby Revision 9d6f6a49 (git): Add C API wrapper for rb_process_status_for
Expose `rb_process_status_for` so C API specs can verify its
availability.
nobu (Nobuyoshi Nakada)
12:14 PM Ruby Revision 2843641d (git): Add C API wrapper for rb_int_parse_cstr
Expose `rb_int_parse_cstr` so its parsing behavior can be
covered by C API specs.
nobu (Nobuyoshi Nakada)
11:26 AM Ruby Feature #22202 (Feedback): Add Coverage.branch_stub and Coverage.method_stub as companions to Coverage.line_stub
mame (Yusuke Endoh)
11:25 AM Ruby Bug #22179 (Closed): Coverage: redefined methods silently disappear from method Coverage.result after GC
Applied in changeset commit:git|b26b0227f83849db0d450ce09f39ed9a72aad24b.
----------
Fix method coverage dropping redefined/removed methods after GC [Bug #22179]
Method coverage rebuilt its result by walking the heap for method
entries...
mame (Yusuke Endoh)
11:25 AM Ruby Revision 6ca7cd2d (git): coverage: Do not record aliases in me_set
An alias resolves to a different method entry, so it is filtered out when
the result is aggregated anyway. Avoid retaining it in me_set.
Co-Authored-By: Erik Berlin <sferik@gmail.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <norepl...
mame (Yusuke Endoh)
11:25 AM Ruby Revision b26b0227 (git): Fix method coverage dropping redefined/removed methods after GC [Bug #22179]
Method coverage rebuilt its result by walking the heap for method
entries, so a shadowed or removed method that was never called could be
reclaimed by GC and vanish from the result depending on GC timing.
Record each defined method entr...
mame (Yusuke Endoh)
11:25 AM Ruby Revision 20cb1759 (git): coverage.c: Extract method_coverage_add helper
Behavior-preserving refactoring extracted from method_coverage_i.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mame (Yusuke Endoh)
11:25 AM Ruby Revision 7039708d (git): Rename me2counter to cme2counter
The counter is keyed by the callable method entry (cme) at the call site.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mame (Yusuke Endoh)
07:48 AM Ruby Bug #19921: TestYJIT#test_bug_19316 test failure
> but I see that you carry ruby-2.7.0-Initialize-ABRT-hook.patch, which makes the VM use Kernel#require on boot. That might be the source of the interrupt.
I have investigated in depth due to another newer test that uses GC.stress in ...
jprokop (Jarek Prokop)
07:04 AM Ruby Revision 95b02c82 (git): gc/default: make stress GC honor gc_allowed in TRY_WITH_GC
TRY_WITH_GC guards its retry-GC branch with gc_allowed (which reflects
the current ractor's malloc_gc_disabled, set while a ractor lock is
held), but called objspace_malloc_gc_stress() unconditionally. Under
GC.stress, a malloc inside a...
ko1 (Koichi Sasada)
05:00 AM Ruby Revision 1f48cf8a (git): [ruby/rubygems] Adapt the plugin index to Gem::YAMLSerializer semantics
The stub serializer dumped an empty hash as a bare "key:" line and loaded
such a line back as an empty hash. Gem::YAMLSerializer dumps it as
"key: {}" and correctly loads a bare key as nil, so index files written
by older Bundler version...
Hiroshi SHIBATA
05:00 AM Ruby Revision 3ad19fac (git): [ruby/rubygems] Drop Bundler's stub YAML serializer
Bundler::YAMLSerializer is no longer referenced anywhere now that Bundler
uses Gem::YAMLSerializer everywhere.
https://github.com/ruby/rubygems/commit/b74a1987db
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
05:00 AM Ruby Revision f71a863c (git): [ruby/rubygems] Port Bundler's YAML serializer specs to the RubyGems test suite
The RubyGems test suite already covers almost all of the Bundler
yaml_serializer spec through test_gem_safe_yaml.rb. Port the two missing
cases (URL mapping keys as used by mirror settings, and Psych
interoperability in both directions) ...
hsbt (Hiroshi SHIBATA)
05:00 AM Ruby Revision 9f7e05ce (git): [ruby/rubygems] Use RubyGems' YAML serializer in Bundler
Bundler now uses Gem::YAMLSerializer unconditionally for settings and the
plugin index instead of falling back to its own stub serializer. The
fallback is no longer reachable because the Bundler gem ships a copy of
Gem::YAMLSerializer fo...
hsbt (Hiroshi SHIBATA)
05:00 AM Ruby Revision 5f07e13d (git): [ruby/rubygems] Ship RubyGems' YAML serializer in the Bundler gem
Add lib/rubygems/yaml_serializer.rb to the gem's file list so the Bundler
gem carries its own copy of Gem::YAMLSerializer. This keeps Bundler
self-contained on RubyGems versions that predate it, the same way the
vendored URI and SecureRa...
hsbt (Hiroshi SHIBATA)
05:00 AM Ruby Revision 8d75afff (git): [ruby/rubygems] Guard RubyGems' YAML serializer against double loading
When the same Gem::YAMLSerializer copy is shipped in two gems (RubyGems and
Bundler) and required from different paths, the second load redefines its
constants and emits "already initialized constant" warnings. Add an
idempotent guard at...
hsbt (Hiroshi SHIBATA)
04:47 AM Ruby Revision 53b70874 (git): [ruby/rubygems] Remove #private? check from open_private_key and check in Gem::Security.sign
Remove the OpenSSL::PKey::{RSA,DSA,EC}#private? check in open_private_key. This
makes the code ML-DSA compatible since OpenSSL::PKey::PKey used for ML-DSA
doesn't have #private?.
According to the discussion on <https://github.com/ruby/o...
Jun Aruga
04:47 AM Ruby Revision 01a05971 (git): [ruby/rubygems] Remove hardcoded key-dependent values from tests
Because these hardcoded values make the tests fail when recreating the keys.
This is not convenient.
* Remove hardcoded subjectKeyIdentifier value assertions.
* In test_sign, replace assertion with hardcoded value with
PRIVATE_KEY.ver...
Jun Aruga
04:47 AM Ruby Revision f2740146 (git): [ruby/rubygems] Recreated testing .pem files.
As I modified logic related to output format in tool/create_certs.rb and
tool/create_encrypted_key.rb at the last commit, I ran these scripts to
recreate the testing .pem files as follows. Now the private .pem files are
PKCS #8 format.
...
Jun Aruga
04:47 AM Ruby Revision f241c03d (git): [ruby/rubygems] Replace OpenSSL::PKey::{RSA,DSA,EC}#to_pem
Replace OpenSSL::PKey::{RSA,DSA,EC}#to_pem with
OpenSSL::PKey::{RSA,DSA,EC}#private_to_pem or #public_to_pem.
Continue to use OpenSSL::X509::Certificate#to_pem.
This makes the code ML-DSA compatible since OpenSSL::PKey::PKey used for ML...
Jun Aruga
04:47 AM Ruby Revision 863175bc (git): [ruby/rubygems] Split Gem::Security.write into write_private_key and write_certificate
Gem::Security.write managed the following 2 cases.
* pemmable is RSA/DSA/EC private key, an instance of OpenSSL::PKey::{RSA,DSA,EC}
* pemmable is certificate, an instance of OpenSSL::X509::Certificate
There was no case that pemmable wa...
Jun Aruga
04:32 AM Ruby Revision 568dde7f (git): Add NEWS entry for net-ftp and net-pop removal [Feature #21835]
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
04:32 AM Ruby Revision f364e197 (git): Link the psych libfyaml NEWS entry to ruby/psych#805
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
04:32 AM Ruby Revision bc5ce159 (git): Add NEWS entry for experimental libfyaml backend of psych
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
04:32 AM Ruby Revision b5ae03c5 (git): Add NEWS entry for removed EOL platform support
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
04:32 AM Ruby Revision bcddad76 (git): Add NEWS entry for lazy loading of error decoration gems [Feature #21951]
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> hsbt (Hiroshi SHIBATA)
03:32 AM Ruby Revision dca45c25 (git): compile.c: pass the new operand ci to the write barrier, not the INSN
The splat rebuild in compile_massign_lhs passes the arena-allocated INSN
(iobj) to RB_OBJ_WRITTEN (since f2286925f0). iobj is not a heap object,
so the barrier touches the page it happens to land on, which is
undefined. It is harmless ...
ko1 (Koichi Sasada)
03:26 AM Ruby Revision e59558c4 (git): Fix operand in the update_global_event_hooks assertion
The assertion for change_c_events < 0 compares ruby_vm_c_events_enabled
against -change_iseq_events instead of -change_c_events, so it fires on
a normal case where the iseq-event decrement happens to exceed the
number of enabled C events...
ko1 (Koichi Sasada)
03:11 AM Ruby Revision f622e125 (git): Bump github.com/microsoft/vcpkg from 2026.06.24 to 2026.07.29
Bumps [github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) from 2026.06.24 to 2026.07.29.
- [Release notes](https://github.com/microsoft/vcpkg/releases)
- [Commits](https://github.com/microsoft/vcpkg/compare/master...9e593bb1...
dependabot[bot]
03:08 AM Ruby Revision 6a9a387b (git): [ruby/io-console] [DOC] Prevent RDoc from referencing internal modules
https://github.com/ruby/io-console/commit/04e3f33df6 nobu (Nobuyoshi Nakada)
03:08 AM Ruby Revision dcf88474 (git): [ruby/io-console] `IO#tty?` extension is unsupported on Cygwin
`rb_w32_open_osfhandle` is defined only on mingw/mswin.
https://github.com/ruby/io-console/commit/3043df5241
nobu (Nobuyoshi Nakada)
01:12 AM Ruby Revision 60c82965 (git): [DOC] Improve docs for GC.start
peterzhu2118 (Peter Zhu)
01:00 AM Ruby Revision 18225b55 (git): [DOC] Doc for File::absolute_path?
burdettelamar (Burdette Lamar)
12:16 AM Ruby Revision 74c2a61a (git): [ruby/rubygems] Update SSL/TLS RSA test/rubygems/*.pem files generated by new create_certs.sh
Note that previous "openssl ca" commands did output human-readable text + PEM
format for the following files. With new openssl commands, the human readable
texts are removed. This is not a problem.
```
test/rubygems/ca_cert.pem
test/rub...
Jun Aruga

08/02/2026

07:18 PM Ruby Revision 7eeb5b63 (git): Remove dead DURING_GC_COULD_MALLOC_REGION_START/END in default.c
peterzhu2118 (Peter Zhu)
02:58 PM Ruby Revision af233106 (git): [ruby/time] Handle case insensitive match for Time.{iso8601,xmlschema,rfc3339}
The T and Z in the regular expressions are case insensitive, but
Time.new on Ruby 3.2+ does not support the lowercase versions.
Arguably, lower case t and z shouldn't be allowed, but they were
historically supported. Time.rfc3339 is a ne...
jeremyevans (Jeremy Evans)
02:57 PM Ruby Revision 67522f63 (git): [ruby/time] Make Time.rfc3339 require minutes in offset
This is required by RFC 3339 section 5.6, which does not allow for an
offset without a minute.
Fixes https://github.com/ruby/time/pull/73
https://github.com/ruby/time/commit/d9a0d789c5
jeremyevans (Jeremy Evans)
01:16 PM Ruby Revision a0c1b4fb (git): Make rb_get_message static
peterzhu2118 (Peter Zhu)
12:42 PM Ruby Bug #15598: Deadlock on mutual reference of autoloaded constants
This issue appears to have been corrected at https://github.com/ruby/ruby/commit/6fbc32b5d0da31535cccc0eca1853273313a0b52.
```
$ (git checkout 6fbc32b5d0da31535cccc0eca1853273313a0b52~; make -j miniruby) >/dev/null && ./miniruby -v b...
wanabe (_ wanabe)
09:00 AM Ruby Revision 63c7beb2 (git): [ruby/io-console] Enable tty type checks on TruffleRuby
Use Ruby-level `Module#prepend` because TruffleRuby declares but does
not export `rb_prepend_module`.
https://github.com/ruby/io-console/commit/3708c0ce8a
nobu (Nobuyoshi Nakada)
09:00 AM Ruby Revision 12ce4464 (git): [ruby/io-console] Treat nil as the default tty type
Allow the default tty check to be combined with platform-specific tty types.
https://github.com/ruby/io-console/commit/e307d61226
nobu (Nobuyoshi Nakada)
09:00 AM Ruby Revision d1bfedce (git): [ruby/io-console] Accept multiple mode arguments
https://github.com/ruby/io-console/commit/d140425f9f nobu (Nobuyoshi Nakada)
09:00 AM Ruby Revision f4075968 (git): [ruby/io-console] [DOC] IO.tty? optional argument
https://github.com/ruby/io-console/commit/f06f2d9784 nobu (Nobuyoshi Nakada)
09:00 AM Ruby Revision 93c3a6bc (git): [ruby/io-console] Support `tty?(:any)` on any platform
https://github.com/ruby/io-console/commit/47dcadc644 nobu (Nobuyoshi Nakada)
09:00 AM Ruby Revision 6c86149a (git): [ruby/io-console] Do nothing on old TruffleRuby
https://github.com/ruby/io-console/commit/27754105c7 nobu (Nobuyoshi Nakada)
09:00 AM Ruby Revision b53d7e55 (git): [ruby/io-console] Win32: ttyname will not be used
https://github.com/ruby/io-console/commit/28cdf86e81 nobu (Nobuyoshi Nakada)
09:00 AM Ruby Revision 105878ec (git): [ruby/io-console] Rename the internal term "wintty" as "platform"
https://github.com/ruby/io-console/commit/4cfaca6ad6 nobu (Nobuyoshi Nakada)
09:00 AM Ruby Revision 1aa7f893 (git): [ruby/io-console] Extend `IO#tty?` for cygwin/msys terminals
https://github.com/ruby/io-console/commit/989ee71140 nobu (Nobuyoshi Nakada)
05:15 AM Ruby Revision 3ac5ce97 (git): [ruby/time] Require offset when parsing RFC3339
RFC3339 requires a Z designator or explicit numeric offset. Reject offset-less timestamps instead of passing them to Time.new, which interprets them in local time.
https://github.com/ruby/time/commit/98bd588fd4
Bart de Water
03:41 AM Ruby Revision 79fa2bcf (git): Add `rb_prepend_module` C API spec
Cover the public C API so missing implementations are detected. nobu (Nobuyoshi Nakada)
01:59 AM Ruby Revision 62eaaae3 (git): [ruby/spec] Use ENVSpecs.encoding for ENV key encoding specs
ENV strings are always UTF-8 on Windows, while Encoding.find('locale')
follows the console code page, so these two specs failed under cp932.
The other ENV specs already go through ENVSpecs.encoding.
Co-Authored-By: Claude Opus 5 <norepl...
hsbt (Hiroshi SHIBATA)
12:23 AM Ruby Revision 7a18459c (git): Fix RUBY_TYPED_FROZEN_SHAREABLE_NO_REC
An UnboundMethod does not refer to any mutable children, so it should be
shareable when frozen. The documentation for RUBY_TYPED_FROZEN_SHAREABLE_NO_REC
states:
Similar to RUBY_TYPED_FROZEN_SHAREABLE, but doesn't make shareable
...
peterzhu2118 (Peter Zhu)
12:22 AM Ruby Revision d4394964 (git): [DOC] Class doc for Pathname
burdettelamar (Burdette Lamar)

08/01/2026

09:56 PM Ruby Revision e281a01b (git): Tell GitHub that `*.inc` files are autogenerated [ci skip]
nobu (Nobuyoshi Nakada)
06:20 PM Ruby Revision f8d62cdb (git): [ruby/prism] Encoding leaking
Fixed encoding was leaking around elements because it wasn't being
cleared around elements that had only a single token.
https://github.com/ruby/prism/commit/03bde59c40
kddnewton (Kevin Newton)
05:49 PM Ruby Revision bfb3b4ea (git): Fix flaky test_clock_gettime_unit for slow Rubies
If the test takes over 1 second, it will fail because the difference
between t0 and t1 will be over 1 second. If we update t0 on every iteration,
it should make it less flaky because each iteration will need to run in
less than 1 second....
peterzhu2118 (Peter Zhu)
05:49 PM Ruby Revision e714ff85 (git): [DOC] Correct doc for File#truncate
burdettelamar (Burdette Lamar)
05:48 PM Ruby Revision 027e3931 (git): Pathname harmonize doc (#18155)
burdettelamar (Burdette Lamar)
05:47 PM Ruby Revision 96f8cfd3 (git): [DOC] Fix formatting in two places (#18154)
burdettelamar (Burdette Lamar)
05:46 PM Ruby Revision 5d610c62 (git): [DOC] Doc for Pathname#open
burdettelamar (Burdette Lamar)
05:45 PM Ruby Revision 387a69e8 (git): [DOC] Doc for Pathname#fnmatch?
burdettelamar (Burdette Lamar)
05:45 PM Ruby Revision b4a41d40 (git): [DOC] Doc for Pathname#dirname
burdettelamar (Burdette Lamar)
05:43 PM Ruby Revision 8d32043a (git): [DOC] Doc for Pathname#file?
burdettelamar (Burdette Lamar)
05:42 PM Ruby Revision 7d6828a3 (git): [DOC] What's Here for Pathname
burdettelamar (Burdette Lamar)
11:40 AM Ruby Revision 395f8b92 (git): [ruby/prism] Bound the leading-zero skip in pm_integer_parse
The PM_INTEGER_BASE_DEFAULT branch skips leading zeros without checking
`end`, so it reads one byte past the range for an all-zero input.
pm_float_node_rational_create() reaches it: it allocates `length` bytes
for the mantissa, writes o...
matz (Yukihiro Matsumoto)
08:07 AM Ruby Revision 34f041ca (git): Silence debugger availability probes in EnvUtil
`EnvUtil::Debugger.search` runs each debugger to test whether it is
usable, and the probe output goes straight to the test output. On
Windows, the lldb bundled with Visual Studio BuildTools fails to
delay-load python311.dll and dumps an ...
Hiroshi SHIBATA
07:32 AM Ruby Revision 12c1ddef (git): [ruby/stringio] Fix thread safety of strio_free
(https://github.com/ruby/stringio/pull/223)
Follow up to #222
This refcount previously wasn't thread safe (and shouldn't have been
declared `RUBY_TYPED_THREAD_SAFE_FREE`), but it's easy enough to fix
using ruby/atomic.h (Ruby 3.0+)
ht...
jhawthorn (John Hawthorn)
07:25 AM Ruby Revision 48bf7981 (git): [ruby/ipaddr] Follow up on #114: update tests for `multicast?` and `link_local_multicast?`
https://github.com/ruby/ipaddr/commit/4c5bf4f79a taketo1113 (Taketo Takashima)
02:27 AM Ruby Revision aab76676 (git): Bump the jit group across 1 directory with 2 updates
Bumps the jit group with 2 updates in the /zjit directory: [libc](https://github.com/rust-lang/libc) and [rand](https://github.com/rust-random/rand).
Updates `libc` from 0.2.180 to 0.2.189
- [Release notes](https://github.com/rust-lang...
dependabot[bot]
12:12 AM Ruby Revision 384c0fd8 (git): ZJIT: Import hir in codegen.rs (#18134)
k0kubun (Takashi Kokubun)
 

Also available in: Atom