Project

General

Profile

Activity

From 02/18/2026 to 02/24/2026

Today

03:06 AM Revision 997ac19b (git): ZJIT: Remove redundant PatchPoints within basic blocks (#16231)
Add a new optimization pass that deduplicates PatchPoint instructions
asserting the same invariant within a basic block when no intervening
instruction could invalidate it.
This is common in practice — e.g., `1 + 2 + 3` produces two ide...
rwstauner (Randy Stauner)
03:05 AM Feature #21835 (Closed): Unbundle bunled gems like net-ftp
Removed them at https://github.com/ruby/ruby/pull/16169 hsbt (Hiroshi SHIBATA)
03:01 AM Bug #20319 (Closed): Singleton class is being frozen lazily in some cases
Applied in changeset commit:git|8e9eb698b6638e0f3e76748c756f699e79d2e97d.
----------
Freeze singleton class chain
The following code:
```ruby
x = Object.new
sc1 = x.singleton_class
sc2 = sc1.singleton_class
x.freeze
```
Would freeze ...
jeremyevans (Jeremy Evans)
02:52 AM Bug #20319: Singleton class is being frozen lazily in some cases
I accept https://github.com/ruby/ruby/pull/10245
Matz.
matz (Yukihiro Matsumoto)
03:01 AM Revision 8e9eb698 (git): Freeze singleton class chain
The following code:
```ruby
x = Object.new
sc1 = x.singleton_class
sc2 = sc1.singleton_class
x.freeze
```
Would freeze sc1 but not sc2, even though sc1 would be frozen.
Handle this by walking the class pointer chain for the object.
If...
jeremyevans (Jeremy Evans)
02:54 AM Misc #21922: Permissions for committers for default/bundled/unbundled gems repositories
First of all, the title is wrong. Ruby committers can still commit to the default gem repository.
>(FWIW I saw there a default-gems-contributor team with 3 people, which explains why they can merge PRs to some repositories that ruby c...
hsbt (Hiroshi SHIBATA)
02:12 AM Revision b479c41d (git): Use .bundle gems dependencies directly
hsbt (Hiroshi SHIBATA)
12:10 AM Misc #21881: Split the root box into the (newer) root box and the master of copied user boxes
After a short coding, I changed my idea about the naming. The original copy of boxes will be `master` (master-copy).
I thought the `source` box should be confusing because the word "source" is used everywhere both in CRuby and Ruby code.
tagomoris (Satoshi Tagomori)
12:06 AM Misc #21881 (Assigned): Split the root box into the (newer) root box and the master of copied user boxes
tagomoris (Satoshi Tagomori)
12:06 AM Misc #21881: Split the root box into the (newer) root box and the master of copied user boxes
The root box is mandatory because it runs the code of Ruby runtime itself. For example, Array#fetch_values written in Ruby (array.rb). tagomoris (Satoshi Tagomori)

02/23/2026

11:58 PM Revision f3ee4bd0 (git): ZJIT: Remove redundant snapshot for opt_getconstant_path (#16229)
Nozomi Hijikata
10:03 PM Revision 070b7d40 (git): ZJIT: constant fold bitwise AND (&) operations (#16226)
Following up https://github.com/ruby/ruby/pull/16225, I'm implementing fold on AND (&) operations.
- Ruby turns this operation into a C `&` in https://github.com/tomascco/ruby/blob/880eb3c76f09c44c85389ac5efbc555afafa3e6f/numeric.c#L519...
Tomás Coêlho
08:31 PM Revision 2d8e24c8 (git): ZJIT: Guard receiver type in inline Array method handlers (#16141)
inline_array_push, inline_array_pop, and inline_array_aref did not
guard/coerce the receiver to Array type before emitting Array-specific
HIR instructions (ArrayPush, ArrayPop, ArrayLength, ArrayAref).
This caused a MismatchedOperandTyp...
rwstauner (Randy Stauner)
05:20 PM Revision 20eeb720 (git): Commit a diff shown on check_misc
https://github.com/ruby/ruby/actions/runs/22316806245/job/64563939588
Local `make update-man-date` generates nothing but CI complains about
it, so just pushing this diff to make it happy.
k0kubun (Takashi Kokubun)
05:14 PM Revision 6f0244e0 (git): ZJIT: Pull GetEP out of GetLocal (with level > 0) (#16215)
Closes: https://github.com/Shopify/ruby/issues/944
As a first step toward enabling CSE/LVN-based deduplication of frame EP loads,
splitting `GetLocal` handling for `level > 0` into an explicit `GetEP + LoadField` path.
A follow-up PR w...
Nozomi Hijikata
05:12 PM Revision ffbe288f (git): ZJIT: constant fold bitwise XOR (^) operations (#16225)
Tomás Coêlho
05:06 PM Revision 107699df (git): [ruby/erb] Freeze src in initialize
(https://github.com/ruby/erb/pull/105)
https://github.com/ruby/erb/commit/3d4dc31905
jhawthorn (John Hawthorn)
04:56 PM Bug #21921: Hash inconsistent ==, >=, <= behavior
> > An entry `h0[k0]` in one hash is equal to an entry `h1[k1]` in another hash if and only if the two keys are equal (`k0 == k1`) and their two values are equal (`h0[k0] == h1[h1]`).
> ...
It doesn't just say "equal", it specifically m...
Dan0042 (Daniel DeLorme)
12:43 PM Feature #21923 (Open): DTrace USDT probe Ruby method arguments and return value
I'm interested in improving the DTrace USDT probes in Ruby. I would like to expose the Ruby method arguments and return value to the DTrace probes `(c)method-entry` and `(c)method-return`. This would be done by adding a fifth argument to... jacobcarlborg (Jacob Carlborg)
11:34 AM Feature #19107: Allow trailing comma in method signature
> What about the lambda arguments?
@nobu it's unclear to me so I didn't change them. I added https://bugs.ruby-lang.org/issues/21875 to the next dev meeting.
Earlopain (Earlopain _)
04:43 AM Feature #19107: Allow trailing comma in method signature
What about the lambda arguments?
commit:731b6092e9268af960bf0f060e37504f4deb7380 seems not to allow `->(a,) {}`.
nobu (Nobuyoshi Nakada)
09:35 AM Revision fd492edd (git): Fix spurious uses of BASE_SLOT_SIZE
In gc_sweep_plane, VALGRIND_MAKE_MEM_UNDEFINED was using BASE_SLOT_SIZE
which only covers the smallest pool's slot size. For larger size pools
this left the tail of the slot with stale state. Use the page's actual
slot_size instead.
In ...
eightbitraptor (Matt V-H)
09:18 AM Revision 9ebef81e (git): Relax thresholds for compaction verification
These tests failed with RHEL10 again. nobu (Nobuyoshi Nakada)

02/22/2026

04:40 PM Revision b94162ab (git): [ruby/prism] Preserve line-continuation only in dedent heredocs
Closes https://github.com/ruby/prism/issues/3837
While these lines are whitespace only from a runtime perspective,
the line continuation is significant for AST consumers.
Sort of a followup to https://github.com/ruby/prism/commit/faab2...
Earlopain (Earlopain _)
04:38 PM Feature #19107 (Closed): Allow trailing comma in method signature
Applied in changeset commit:git|731b6092e9268af960bf0f060e37504f4deb7380.
----------
[ruby/prism] [Feature #19107] Allow trailing comma in method signature
https://github.com/ruby/prism/commit/b7e247ce6a
Earlopain (Earlopain _)
04:38 PM Revision 731b6092 (git): [ruby/prism] [Feature #19107] Allow trailing comma in method signature
https://github.com/ruby/prism/commit/b7e247ce6a Earlopain (Earlopain _)
04:32 PM Revision 6d69a2b8 (git): [ruby/prism] Rename Java package to org.ruby_lang.prism
This moves all of the non-JRuby Java code from the org.prism
package to the org.ruby_lang.prism package (corresponding to the
ruby-lang.org domain and prism project).
https://github.com/ruby/prism/commit/80b7402f8b
headius (Charles Nutter)
11:00 AM Revision c71999e8 (git): [DOC] Update the date in man pages
nobu (Nobuyoshi Nakada)
10:59 AM Revision dcdec8c2 (git): [DOC] Check if date in man pages is up-to-date
nobu (Nobuyoshi Nakada)
05:34 AM Revision 07645fe8 (git): [DOC] man: Increase section number portability
Remove a zero-width space from manual page section numbers improving
portability with the mandoc compiler used on macOS, BSD, and illumos.
Previously it was polluting the whatis(1) database, showing as being
in both sections `1` and als...
Alexander Ziaee
04:15 AM Bug #21919: `libruby-static.a` links to wrong `Init_enc`
nobu (Nobuyoshi Nakada) wrote in #note-1:
> `--with-static-linked-ext` means the extension libraries including encodings are linked to the ruby executable or library.so.
Which `library.so` is that exactly?
nobu (Nobuyoshi Nakada...
reitermarkus (Markus Reiter)
02:27 AM Bug #21919 (Rejected): `libruby-static.a` links to wrong `Init_enc`
`--with-static-linked-ext` means the extension libraries including encodings are linked to the ruby executable or library.so.
`-static.a` is not intended to link these extensions.
nobu (Nobuyoshi Nakada)
03:44 AM Revision ac4aebc7 (git): Use ruby-head instead of ruby-3.2 in check_misc job (#16217)
tompng (tomoya ishida)
02:56 AM Revision fcba4c1a (git): [DOC] Improve link in yjit.md
burdettelamar (Burdette Lamar)
02:06 AM Revision 9efde1f2 (git): [DOC] Specify the HTML output path explicitly
nobu (Nobuyoshi Nakada)

02/21/2026

08:25 PM Misc #21922 (Open): Permissions for committers for default/bundled/unbundled gems repositories
I noticed recently that the team `ruby-committers` on GitHub no longer has write access to at least:
* https://github.com/ruby/benchmark
* https://github.com/ruby/cmath
* https://github.com/ruby/curses
* https://github.com/ruby/dbm
...
Eregon (Benoit Daloze)
07:17 PM Revision 60082aa9 (git): [DOC] Fix link fragment
burdettelamar (Burdette Lamar)
06:13 PM Bug #21921: Hash inconsistent ==, >=, <= behavior
By the way, I noticed the following behavior, which feels like it might not satisfy the specification:
```ruby
h1 = {}.compare_by_identity
h1["one"] = true
h1["one"] = true
h2 = { "one" => true }
h1 <= h2 # current: false, expe...
mame (Yusuke Endoh)
05:56 PM Bug #21921: Hash inconsistent ==, >=, <= behavior
The documentation for Hash inclusion is a bit hard to understand due to its mathematical phrasing.
> The spec merely says that keys are compared with `==`, but I believe they are actually compared with `eql?` (for normal hashes).
T...
mame (Yusuke Endoh)
03:02 PM Bug #21921: Hash inconsistent ==, >=, <= behavior
This has not affected any real-world app I use. I noticed this while working on a bidirectional hash gem (bihash@rubygems).
However, I don't think the behavior is consistent with the spec as written:
The spec merely says that keys are c...
cohen (Cohen Carlisle)
03:49 AM Bug #21921: Hash inconsistent ==, >=, <= behavior
The current specification of `Hash#<=` is to check if all elements of the supposedly smaller Hash are included in the supposedly larger Hash. I think the reported behaviors are actually working as specified.
https://github.com/ruby/ru...
mame (Yusuke Endoh)
02:31 AM Bug #21921 (Open): Hash inconsistent ==, >=, <= behavior
Hash seems to have very inconsistent behavior for `==`, `>=`, and `<=`.
Given that below h1 == h2 is `false` and that they have the same number of keys, I would expect `<=` and `>=` to also be `false`.
However, surprisingly `h1 <= h2` ...
cohen (Cohen Carlisle)
05:36 PM Feature #17056: Array#index: Allow specifying the position to start search as in String#index
I often use the offset parameter from `String#byteindex` and was a bit surprised there is not yet something for arrays. It's a bit unfortunate with the ambiguity between block/noblock usage but a keyword argument `offset` seems like a pe... Earlopain (Earlopain _)
12:58 PM Revision 727612b1 (git): ZJIT: Stabilize anonymous module/class names in stat keys and display (#16176)
Anonymous modules/classes get names like `"#<Module:0x00007f...>"` from `rb_class2name`, which include a memory address that changes between runs. This makes stat keys unstable for diffing across runs and is less informative than it coul... rwstauner (Randy Stauner)
07:55 AM Bug #21920 (Closed): LIBRUBYARG_SHARED contains -lgmp and other libraries for static linking
The commit was reverted https://github.com/ruby/ruby/pull/16212, it should be fixed now. byroot (Jean Boussier)
05:31 AM Revision a0d9b69c (git): colorize: [DOC] Add documents
nobu (Nobuyoshi Nakada)
05:30 AM Revision 1fb58853 (git): colorize: Make internal methods/constants private
nobu (Nobuyoshi Nakada)
05:30 AM Revision 2794351c (git): colorize: Refactor #initialize
Use keyword arguments and extract repeated regexps as constant. nobu (Nobuyoshi Nakada)
05:30 AM Revision 769b8de4 (git): colorize: Support background color
nobu (Nobuyoshi Nakada)
04:12 AM Revision 623f33d9 (git): Relax test_thrashing_for_young_objects to fix CI flake
This test has been failing intermittently on multiple CI platforms
(Debian 13, RHEL 9/10, Ubuntu aarch64) with heap_allocated_pages
growing from 100 to 130, or major_gc_count incrementing by 1.
Failing run: https://rubyci.s3.amazonaws.c...
eightbitraptor (Matt V-H)
04:12 AM Revision 82e796b1 (git): Revert "[Bug #19831] Remove duplicate library warning"
This reverts commit d256629bf9e194838d1837be74dcc0b8ff0bcfd6. byroot (Jean Boussier)

02/20/2026

11:12 PM Revision a8cb7292 (git): Remove NUM_IN_PAGE macro
This is being used to calculate the starting point of the slots in a
page in order to make them evenly divisible by a bitmap plane.
Since https://github.com/ruby/ruby/pull/16150 we restructured the
bitmaps in order to pack them such tha...
eightbitraptor (Matt V-H)
10:33 PM Bug #21855: Bundle `win32-registry` or implement it without `fiddle`
Thanks for merging!
There is a second bug, that is fixed by making win32-registry a bundled gem: The gemspec of the default gem looks like so:
```ruby
$ cat c:\Ruby40-arm\lib\ruby\gems\4.0.0\specifications\default\win32-registry-0.1...
larskanis (Lars Kanis)
04:22 AM Bug #21855 (Closed): Bundle `win32-registry` or implement it without `fiddle`
Applied in changeset commit:git|f01f66ca249405ec125ba864e48e51944cc51c6f.
----------
Move win32-registry from default to bundled gems
Because win32-registry needs fiddle and fiddle is a bundled gem.
[Bug #21855]
larskanis (Lars Kanis)
04:22 AM Bug #21855: Bundle `win32-registry` or implement it without `fiddle`
@usa has no objection for that. I will merge https://bugs.ruby-lang.org/issues/21855#note-6 and handle related works. hsbt (Hiroshi SHIBATA)
09:24 PM Bug #21920 (Closed): LIBRUBYARG_SHARED contains -lgmp and other libraries for static linking
That recent commit introduced `MAINLIBS` into `LIBRUBYARG_SHARED`: https://github.com/ruby/ruby/commit/d256629bf9e194838d1837be74dcc0b8ff0bcfd6
Before that commit:
```
CONFIG["LIBRUBYARG_SHARED"] = "-l$(RUBY_SO_NAME)"
CONFIG["L...
larskanis (Lars Kanis)
07:10 PM Bug #21919 (Rejected): `libruby-static.a` links to wrong `Init_enc`
When building Ruby with `--with-static-linked-ext`, `libruby-static.a` links the `Init_enc` function from `dmyenc.c` instead of `enc/encinit.c.erb`, resulting in `uninitialized constant Encoding::UTF_8` error, among other things.
Ther...
reitermarkus (Markus Reiter)
04:39 PM Revision e730ac41 (git): YJIT: Fix version_map use-after-free from mutable aliasing UB
Multiple YJIT functions created overlapping `&'static mut IseqPayload`
references by calling `get_iseq_payload()` multiple times for the same
iseq. Overlapping &mut is UB in rust's aliasing model, and as consequence,
we trigered use-afte...
rwstauner (Randy Stauner)
04:04 PM Revision 906176ad (git): ZJIT: zjit-bisect.rb: Pass options with -T for `make test-spec`
It was passing options to the test harness rather than ruby(1). alanwu (Alan Wu)
11:18 AM Revision ee2d9029 (git): [ruby/json] Use single quotes for allow_invalid_escape doc
Instead of using %{} which works like double-quoted string and allows
escape sequences and in which "other escaped characters (a backslash
followed by a character) are interpreted as the character", change the
examples for `allow_invalid...
etienne (Étienne Barrié)
11:12 AM Revision f3d52cb8 (git): [ruby/rubygems] Document concurrent_downloads in environment command
https://github.com/ruby/rubygems/commit/927f1e3a0f afurm (Andrii Furmanets)
10:44 AM Revision 986aa694 (git): Suppress an uninitialized variable warning
nobu (Nobuyoshi Nakada)
10:25 AM Revision 2d2afa8c (git): Group rubyspec_capiext
nobu (Nobuyoshi Nakada)
08:34 AM Revision 3dc80a09 (git): Removed unnecessary setup for make bundled_gems_spec-run
hsbt (Hiroshi SHIBATA)
07:08 AM Revision 3417f802 (git): Update bundled gems list as of 2026-02-20
git[bot]
04:25 AM Revision 28de927b (git): Add win32-registry entries to doc
hsbt (Hiroshi SHIBATA)
04:22 AM Revision f01f66ca (git): Move win32-registry from default to bundled gems
Because win32-registry needs fiddle and fiddle is a bundled gem.
[Bug #21855]
larskanis (Lars Kanis)
04:19 AM Revision b093886d (git): [DOC] Fix range docs intro
It's code but not formatted as such Earlopain (Earlopain _)
02:05 AM Revision 6ea68a58 (git): [ruby/rubygems] Don't check whether a plugin needs to be installed:
- ### Problem
When Bundler installs gems, it checks whether a gem plugin needs
to be installed.
This check (`Dir.glob`) is expensive and is hotspot when profiling
Bundler.
### Details
Bundler makes a check to see if a gems...
Edouard CHIN
01:57 AM Bug #21882 (Closed): IO::Buffer#locked leaves the buffer locked when the block raises
Applied in changeset commit:git|b5ccab2093c9bb19ae8564a935e6fd72ec7354cc.
----------
IO::Buffer#locked: Release lock even when the block raises (#16180)
IO::Buffer#locked: Release lock even when the block raises/breaks
Previously, `IO...
hanazuki (Kasumi Hanazuki)
01:56 AM Revision b5ccab20 (git): IO::Buffer#locked: Release lock even when the block raises (#16180)
IO::Buffer#locked: Release lock even when the block raises/breaks
Previously, `IO::Buffer#locked` leaks the lock when the block raises
an exception, or breaks.
Fixes: [Bug #21882]
hanazuki (Kasumi Hanazuki)
01:39 AM Revision 126b657b (git): Use rb_ensure instead of guard objects for Dir.pwd
This replaces GC-based buffer guards (rb_imemo_tmpbuf,
TypedData_Wrap_Struct) with rb_ensure to clean up malloc/xmalloc memory
when an exception occurs.
jhawthorn (John Hawthorn)

02/19/2026

11:37 PM Revision 06c8b1ab (git): ZJIT: Remove find() from po_from
Max Bernstein
11:37 PM Revision c0c97c0f (git): ZJIT: Simplify po_from to take a single BlockId
Max Bernstein
11:22 PM Revision e6f73fcf (git): Remove HEAP_PAGE_OBJ_LIMIT
This was useful when there was only a single size pool to have an easy
way of referencing the average number of objects a page could hold (this
would vary by a few in real terms because of page alignment).
But with multiple heaps, each ...
eightbitraptor (Matt V-H)
10:24 PM Revision 7ca0aa5f (git): Copy terminator when moving strings to the heap.
The embedded-to-heap path copied RSTRING_LEN(str) bytes into an
ALLOC_N buffer, missing the null terminator (and any slot padding).
Copy str_embed_capa(str) bytes instead. Always safe since we only
enter this path when str_embed_capa(str...
eightbitraptor (Matt V-H)
10:20 PM Bug #21917: Unable to build 4.0.1 on AIX 7.2
Thanks for the quick reply. Your second, more simple patch in https://bugs.ruby-lang.org/issues/21917#note-2 worked to resolve my build issue.
I also tried your commit 361644c0cce3235e9cc6724994c6b5711deb10b8 but the build fails with ...
mhashizume (Michael Hashizume)
09:51 AM Bug #21917 (Closed): Unable to build 4.0.1 on AIX 7.2
Applied in changeset commit:git|361644c0cce3235e9cc6724994c6b5711deb10b8.
----------
[Bug #21917] Fix build on AIX
nobu (Nobuyoshi Nakada)
02:08 AM Bug #21917: Unable to build 4.0.1 on AIX 7.2
Or, more simply:
```diff
diff --git a/dln.c b/dln.c
index 2549f031835..3725b95fbb7 100644
--- a/dln.c
+++ b/dln.c
@@ -89,7 +89,7 @@ dln_loaderror(const char *format, ...)
}
#endif

-#if defined(HAVE_DLOPEN) && !defined(_AI...
nobu (Nobuyoshi Nakada)
12:29 AM Bug #21917: Unable to build 4.0.1 on AIX 7.2
Probably this may help:
```diff
diff --git a/dln.c b/dln.c
index 2549f031835..01dfccd0534 100644
--- a/dln.c
+++ b/dln.c
@@ -506,6 +506,7 @@ static void *
dln_load_and_init(const char *file, const char *init_fct_name)
{
#if...
nobu (Nobuyoshi Nakada)
10:17 PM Revision bb8881f3 (git): [ruby/rubygems] Honor concurrent_downloads from gemrc
https://github.com/ruby/rubygems/commit/6a187a0a99 afurm (Andrii Furmanets)
09:18 PM Revision b205bf61 (git): ZJIT: Measure how much each part of compile-time costs
Max Bernstein
09:18 PM Revision 607af489 (git): ZJIT: Measure side-exit compile time
Also report it as a percentage of overall compile time. Max Bernstein
09:05 PM Revision c058a988 (git): ZJIT: Replace dominator set-intersection with Cooper's idom algorithm
Max Bernstein
09:05 PM Revision f5782840 (git): ZJIT: Add Entries superblock as single CFG root
Max Bernstein
09:05 PM Revision 3f5e85bf (git): ZJIT: Add LoadArg instruction for JIT entry blocks
Max Bernstein
03:57 PM Revision e7cff2e8 (git): ZJIT: Register builtin CMEs before prelude to avoid prepend crash
Split rb_zjit_init into rb_zjit_init_builtin_cmes (called before
ruby_init_prelude) and rb_zjit_init (called after). The prelude may
load bundler via BUNDLER_SETUP which can call Kernel.prepend, moving
core methods to an origin iclass. R...
rwstauner (Randy Stauner)
03:57 PM Revision bf3bc12d (git): Simplify Kernel prepend test
rwstauner (Randy Stauner)
03:57 PM Revision b9dc0a2b (git): Add regression test for module prepend crash
etienne (Étienne Barrié)
03:57 PM Revision a19becac (git): YJIT: Register builtin CMEs before prelude to avoid prepend crash
Split rb_yjit_init into rb_yjit_init_builtin_cmes (called before
ruby_init_prelude) and rb_yjit_init (called after). The prelude may
load bundler via BUNDLER_SETUP which can call Kernel.prepend, moving
core methods to an origin iclass. R...
rwstauner (Randy Stauner)
02:43 PM Bug #21918 (Open): fiber scheduler: fiber interrupt triggers for IOs that haven't been closed
I've been chasing an issue, which I believe is to with the recent introduction of the `fiber_interrupt` hook in ruby 4. As a reproduction I have the following snippet:
```ruby
require "socket"
require_relative "test/fiber/scheduler"...
chucke (Tiago Cardoso)
12:31 PM Revision e7a09845 (git): [ruby/json] Add `allow_invalid_escape` parsing option
Ref: https://github.com/ruby/json/issues/939
https://github.com/ruby/json/commit/05cec0cbee
byroot (Jean Boussier)
10:58 AM Revision e67f3f06 (git): [ruby/prism] Implement noblock for the ripper/ruby_parser translator
In ripper, compared to `**nil` it is not a new event
https://github.com/ruby/prism/commit/7f5782392e
Earlopain (Earlopain _)
10:02 AM Revision 7d05c170 (git): Use `UNREACHABLE_RETURN` instead of dummy `return`
nobu (Nobuyoshi Nakada)
09:12 AM Revision 361644c0 (git): [Bug #21917] Fix build on AIX
nobu (Nobuyoshi Nakada)
09:12 AM Revision 3ad05195 (git): Reduce duplicate code
nobu (Nobuyoshi Nakada)
09:04 AM Revision 6bb0b6b1 (git): [ruby/prism] Revert "[DOC] Add code fences"
(https://github.com/ruby/prism/pull/3936)
This reverts commit https://github.com/ruby/prism/commit/641775e5fea6.
There is no need, they are not documented.
https://github.com/ruby/prism/commit/6fb4c42637
Earlopain (Earlopain _)
01:15 AM Revision da767cda (git): Fix wrong function names in `rb_bug` messages in vm_trace.c (#16196)
st0012 (Stan Lo)
12:22 AM Revision e3183164 (git): ZJIT: Save VM state before recording exit stack for trace-exits (#16195)
When --zjit-trace-exits is enabled, rb_zjit_record_exit_stack was called before compile_exit restored the VM state (cfp->pc, cfp->sp, stack, locals). This ccall clobbers caller-saved registers that may hold stack/local operands, causing ... rwstauner (Randy Stauner)

02/18/2026

11:37 PM Revision e11c3cef (git): [ruby/prism] add `extern "C"` wrappers to `prism.h` when using C++
https://github.com/ruby/prism/commit/003ff5341d froydnj (Nathan Froyd)
10:12 PM Revision 671ea6fb (git): ZJIT: Constant fold modulus (%) operations (#16168)
Similar to the way ZJIT already folds +, -, and * operations. One
complication is that the % operator behaves differently in Ruby than in
Rust for negative values. For example in Ruby:
```
ruby -e "puts 11 % -3" # => -1
```
vs Rust:
`...
Steven Webb
08:56 PM Revision e1f49ff7 (git): Don't attempt to convert strings to hashes in gsub
jhawthorn (John Hawthorn)
07:52 PM Bug #21917 (Closed): Unable to build 4.0.1 on AIX 7.2
I'm attempting to build Ruby 4.0.1 on AIX 7.2. We have had successful builds of previous versions of Ruby on this platform, but are starting to see an issue when using miniruby to build Ruby:
``` shell
./miniruby -I./lib -I. -I.ext/c...
mhashizume (Michael Hashizume)
06:06 PM Revision 62738271 (git): Remove key_addr argument to set{,_table}_insert_wb
After a review of all callers, this doesn't appear to be needed for
correct behavior. We could potentially have a future case where it
is needed, such as a method that inserts a record into the set and
returns the inserted record (which ...
jeremyevans (Jeremy Evans)
03:16 PM Revision 219ad682 (git): ZJIT: Don't specialize `super` from within a block
As we found out from YJIT, `super` from within a block needs a loop for
the running CME guard, and the current LEP based guard always fails.
Don't specialize for now so we use the fallback instead of side-exiting.
alanwu (Alan Wu)
03:16 PM Revision ea7d3eb8 (git): YJIT: Fix always-failing guard for `super()` in BMETHODs
Previously, when dealing with a `super()` nested in a block that runs as
a method (through e.g. `define_method`), YJIT generated a guard that
never passes leading to a misidentification of the callsite as
megamorphic and an unconditional...
alanwu (Alan Wu)
01:05 PM Bug #19831 (Closed): warning message of linker with macOS Sonoma beta
Applied in changeset commit:git|d256629bf9e194838d1837be74dcc0b8ff0bcfd6.
----------
[Bug #19831] Remove duplicate library warning
When building on macOS, we get a warning about duplicate libraries
ld: warning: ignoring duplicate ...
etienne (Étienne Barrié)
01:04 PM Revision d256629b (git): [Bug #19831] Remove duplicate library warning
When building on macOS, we get a warning about duplicate libraries
ld: warning: ignoring duplicate libraries: '-ldl', '-lobjc', '-lpthread'
To fix it, we now append $(MAINLIBS) to LIBRUBYARG_SHARED (when shared
is enabled), matchin...
etienne (Étienne Barrié)
10:01 AM Revision 4cb6e9d0 (git): Pass the global variable with `-s` option
nobu (Nobuyoshi Nakada)
08:20 AM Bug #21868 (Closed): Prism doesn't use the ruby allocator
Applied in changeset commit:git|91be23cd961aa937701214ba5f50c698301c5e26.
----------
[Bug #21868] Use ruby allocator for prism
If we wan't prism to use the ruby allocator, we should
include it as early as possible.
Earlopain (Earlopain _)
08:19 AM Revision 91be23cd (git): [Bug #21868] Use ruby allocator for prism
If we wan't prism to use the ruby allocator, we should
include it as early as possible.
Earlopain (Earlopain _)
07:23 AM Revision 4797b060 (git): test-bundled-gems: Use the abstract decoration
nobu (Nobuyoshi Nakada)
07:23 AM Revision ea0432f7 (git): colorize: Reset for each attribute
nobu (Nobuyoshi Nakada)
06:25 AM Revision b7c770c0 (git): Clean timestamp directory
Fix up git:e875ca2e7494. nobu (Nobuyoshi Nakada)
06:05 AM Revision b6ef0009 (git): Skip failing example in spec/bundler/install/global_cache_spec.rb when running in ruby core
hsbt (Hiroshi SHIBATA)
04:34 AM Revision e9806c21 (git): ZJIT: Count side-exit code size and report ratio to code region (#16191)
railsbench stats:
side_exit_size: 5,340,736
code_region_bytes: 15,122,432
side_exit_size_ratio: 35.3%
tekknolagi (Maxwell Bernstein)
02:12 AM Revision f70f8338 (git): Direct calls for specific numeric types in complex/rational
nobu (Nobuyoshi Nakada)
01:17 AM Revision a4a6de0b (git): [ruby/rubygems] Fix Bundler crashing when it tries to install plugin:
- ### Problem
Bundler crashes when a Gemfile contains a plugin and you
try to run `bundle install` while setting the BUNDLE_WITHOUT=default
value.
### Context
Setting the BUNDLE_WITHOUT=default is something that some deploym...
Edouard CHIN
01:16 AM Revision 4ab288f9 (git): Clean temporary files generated by test-bundler
nobu (Nobuyoshi Nakada)
01:16 AM Revision e4b8ca2a (git): Show gem names at fetching
nobu (Nobuyoshi Nakada)
01:16 AM Revision e875ca2e (git): Fetching bundled gems sources depending on default_gems
nobu (Nobuyoshi Nakada)
01:16 AM Revision f0343743 (git): test-bundled-gems-spec does not need rubyspec CAPI exts
nobu (Nobuyoshi Nakada)
01:16 AM Revision 633a9bc7 (git): Show elapsed times in test-bundled-gems
nobu (Nobuyoshi Nakada)
 

Also available in: Atom