Project

General

Profile

Activity

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

Today

12:58 AM Revision 1abb609d (git): [ruby/mmtk] Check that a and b are valid objects in write barrier
https://github.com/ruby/mmtk/commit/350625ebb3 peterzhu2118 (Peter Zhu)
12:58 AM Revision 08f6b867 (git): [ruby/mmtk] Set MMTK_DEBUG in C compiler for debug builds
https://github.com/ruby/mmtk/commit/12a3904b04 peterzhu2118 (Peter Zhu)
12:51 AM Misc #21777: DevMeeting-2026-01-14
* [Feature #18135] Add strict Enumerable#single (mame)
* ActiveSupport now has `Enumerable#sole`. https://github.com/rails/rails/pull/40914
* I want this on the core too. It's good that the intention of having only one is explicitl...
mame (Yusuke Endoh)
12:44 AM Misc #21777: DevMeeting-2026-01-14
* [Feature #6012] Proc#source_location also return the column (mame)
* Quite a few gems are using the idiom `source_location.last`.
* The idiom will return a column number (of the end of the code range) instead of a line number.
...
mame (Yusuke Endoh)
12:33 AM Feature #13683: Add strict Enumerable#single
I've only just learned that ActiveSupport introduced `Enumerable#sole` back in 2020.
https://github.com/rails/rails/pull/40914
I wish this were available in the core too.
mame (Yusuke Endoh)
12:26 AM Revision a024dca3 (git): Remove `in_masgn` field from `struct iseq_compile_data`
`in_masgn` has not been used since fb6e3a80009a744a4e0b75660f1ce6da65e20e6c. yui-knk (Kaneko Yuichiro)
12:17 AM Feature #6012: Proc#source_location also return the column
Eregon (Benoit Daloze) wrote in #note-41:
> @mame Matz explicitly approved it: https://github.com/ruby/ruby/pull/15580#issuecomment-3691058342
Ah, I missed that the PR had already been approved. Sorry about that.
However, we should con...
mame (Yusuke Endoh)

01/06/2026

11:25 PM Feature #21826: Deprecating RubyVM::AbstractSyntaxTree
I am in favor, but that's no surprise. headius (Charles Nutter)
09:43 PM Feature #21826 (Open): Deprecating RubyVM::AbstractSyntaxTree
I think it is time to deprecate `RubyVM::AbstractSyntaxTree`.
[Matz has agreed that going forward the official parser API for Ruby will be the Prism API](https://railsatscale.com/2024-04-16-prism-in-2024/) so it's clear the official Rub...
Eregon (Benoit Daloze)
11:05 PM Revision b2ed4cdc (git): [ruby/time] Add changelog URI to time.gemspec
https://github.com/ruby/time/commit/08f896ca0d phallstrom (Philip Hallstrom)
10:16 PM Revision 5c24f408 (git): Add potential missing GC guard in iseq_data_to_ary
The iseq object might be optimized away by the compiler in iseq_data_to_ary
because we mainly only use the iseq_body. With MMTk, this crash occasionally
happens:
TestIseqLoad#test_stressful_roundtrip [test/-ext-/iseq_load/test_iseq_...
peterzhu2118 (Peter Zhu)
10:13 PM Revision 58fb95af (git): [DOC] Harmonize #== methods (#15805)
burdettelamar (Burdette Lamar)
10:02 PM Feature #21827 (Open): Deprecating Ripper
I think it is time to consider deprecating `Ripper`.
[Matz has agreed that going forward the official parser API for Ruby will be the Prism API](https://railsatscale.com/2024-04-16-prism-in-2024/) so it's clear the official Ruby parsing...
Eregon (Benoit Daloze)
09:31 PM Misc #21825 (Open): Status of the universal parser implementing the Prism API
I'm opening this issue to discuss and ask the status of the universal parser implementing the Prism API.
[Matz has agreed that going forward the official parser API for Ruby will be the Prism API](https://railsatscale.com/2024-04-16-p...
Eregon (Benoit Daloze)
09:07 PM Feature #21795: Methods for retrieving ASTs
I think this would be great to have, and abstract over implementation details like `node_id`.
It's also very powerful as e.g. `Thread::Backtrace::Location#ast` would be able to return a `Prism::CallNode` with all the relevant information...
Eregon (Benoit Daloze)
08:37 PM Bug #21320: Namespaces leak with constant lookup
Awesome, thank you @tagomoris! fxn (Xavier Noria)
08:35 PM Bug #21318: Namespaces leak with Module.nesting
Great, thank you! fxn (Xavier Noria)
08:12 PM Bug #21719: Thread deadlock with explicit require of a base clase in Linux Ruby 3.4
Here's my understanding of the issue after debugging it for a bit. This is based on `mame`'s code:
A: main thread
B: other thread
1. `A` calls `require` on `"./target"`, which locks the thread shield (TS) for the `"./target"` feature, ...
luke-gru (Luke Gruber)
07:43 PM Feature #6012: Proc#source_location also return the column
Re `Binding#source_location` I don't think it's very useful to have given `Kernel#binding` seems to just return the location at which it was called, but not of the surrounding method/block:
```
$ ruby -e 'def foo
p binding.source_locat...
Eregon (Benoit Daloze)
05:52 PM Feature #6012 (Closed): Proc#source_location also return the column
@mame Matz explicitly approved it: https://github.com/ruby/ruby/pull/15580#issuecomment-3691058342
And he also made it clear it was just too late in the release cycle to address #21783 and #21784, see https://bugs.ruby-lang.org/issues/60...
Eregon (Benoit Daloze)
04:41 AM Feature #6012 (Open): Proc#source_location also return the column
@eregon Why was this re-merged?
The first two issues raised in #note-32 (re-listed below) have not yet been resolved.
mame (Yusuke Endoh) wrote in #note-32:
> * Unclear use cases
> ...
In addition, as pointed out by @vo.x:
htt...
mame (Yusuke Endoh)
07:29 PM Feature #21800: `Dir.foreach` and `Dir.each_child` to optionally yield `File::Stat` object alongside the children name
Hi there!
@byroot knows this, but for anyone reading, Zeitwerk essentially scans the file system and sets autoloads for the expected constants.
This feature is going to be great. As in the general case described in the issue descriptio...
fxn (Xavier Noria)
06:36 PM Bug #21803: `Addrinfo#connect_internal` should raise `IO::TimeoutError` on user-specified timeouts
For what it's worth, changing the exception class is a breaking change (unless IO::TimeoutError is made to inherit from `Errno::ETIMEDOUT`, but it already inherits from `IOError`).
For instance https://github.com/redis-rb/redis-client...
byroot (Jean Boussier)
05:09 PM Revision 49ca241d (git): Show a more verbose message if BASERUBY is too old
eightbitraptor (Matt V-H)
09:58 AM Feature #8948: Frozen regex
headius (Charles Nutter) wrote in #note-37:
> I am also +1 for this change.
> ...
Thank you for the support.
> However I understand the concerns about making a mutable type suddenly immutable when it has provably been used for a few...
Eregon (Benoit Daloze)
09:37 AM Revision 925d0410 (git): Add `rake` target to run the bundled `rake`
nobu (Nobuyoshi Nakada)
09:30 AM Revision bff7c6d9 (git): [DOC] Fix minor typo on shareable procs section
Steve Savio
04:47 AM Bug #21168: Prism doesn't require argument parentheses (in some cases) when a block is present but parse.y does
Updated [the PR](https://github.com/ruby/ruby/pull/15217) to reject `a[cmd 1, 2 do end]`, `a[cmd 1, 2 do end] = 3` and so on, based on https://bugs.ruby-lang.org/issues/21168#note-10. yui-knk (Kaneko Yuichiro)
04:38 AM Revision ad6b8545 (git): [ruby/rubygems] Retain current bundler version on `bundle clean`
Previously: In #9218 a reproduction is shared where running `bundle clean` using a binstub (`bin/bundle`) results in bundler removing itself. This results in Ruby falling back to its default bundler version. This behavior seems to be pre... schneems (Richard Schneeman)
04:38 AM Revision 4377249b (git): [ruby/rubygems] Test for removing current bundler version
https://github.com/ruby/rubygems/commit/675342e6d0 schneems (Richard Schneeman)
04:38 AM Revision 16bdfa1b (git): [ruby/rubygems] Split logic to two lines
https://github.com/ruby/rubygems/commit/5a6eca4cf9 schneems (Richard Schneeman)
04:38 AM Revision 3143543f (git): [ruby/rubygems] Compare like values in find_bundler
The input to this method is not guaranteed to be a string, it could be a `Gem::Version` this normalizes the comparison.
https://github.com/ruby/rubygems/commit/1f43c7a988
lolwut
04:07 AM Revision 1b476606 (git): Update the latest versions of actions
hsbt (Hiroshi SHIBATA)
02:42 AM Revision 95f2c78f (git): Bump dependabot/fetch-metadata from 2.4.0 to 2.5.0
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compar...
dependabot[bot]

01/05/2026

11:31 PM Revision 5d26a2ae (git): [ruby/mmtk] Assert pinning object is not moved
https://github.com/ruby/mmtk/commit/8813e76bf8 peterzhu2118 (Peter Zhu)
11:30 PM Revision dd67874a (git): [DOC] Harmonize #=== methods
burdettelamar (Burdette Lamar)
11:23 PM Revision a25f4689 (git): [DOC] Harmonize #>= methods
burdettelamar (Burdette Lamar)
10:08 PM Revision c04363c0 (git): Remove k0kubun from CODEOWNERS
nagachika will take over the maintenance of ruby_3_4 going forward. k0kubun (Takashi Kokubun)
09:47 PM Revision be5d24eb (git): Add k0kubun as CODEOWNERS
k0kubun (Takashi Kokubun)
09:42 PM Revision e7b92abf (git): ruby-bench: Prefer --excludes over rm -rf
to remind us of skipped benchmarks in the CI job names k0kubun (Takashi Kokubun)
09:41 PM Revision 34aa97ed (git): Disabled to run lobsters benchmark because it didn't work with Ruby 4.1 yet
hsbt (Hiroshi SHIBATA)
09:33 PM Revision 7a1180af (git): ruby-bench: Prefer --excludes over rm -rf
to remind us of skipped benchmarks in the CI job names k0kubun (Takashi Kokubun)
09:21 PM Revision d555ddcf (git): uutils-coreutils 0.5.0 has been removed uutils wrapper
hsbt (Hiroshi SHIBATA)
09:15 PM Feature #8948: Frozen regex
I am also +1 for this change.
In general I'd like to see a steady progression toward more frozen-by-default core types, especially when the need for mutability is as questionable as the examples given here.
However I understand the...
headius (Charles Nutter)
09:00 PM Revision 9b2ff68f (git): Box: skip checking the current box is the root box
Because checking the current box is not a cheap process. Satoshi Tagomori
09:00 PM Revision b3371c6a (git): Box: allocate classes as boxable when it happens in the root box
Without this change, classes (including iclass) are allocated
as un-boxable classes after initializing user boxes (after starting
script evaluation). Under this situation, iclasses are created as
un-boxabled class when core modules are i...
Satoshi Tagomori
08:58 PM Bug #21824: performance regression in regexp matching after update to 4.0
To clarify: when testing on a Ruby version built from the commit before 981ee02c7c664f19b983662d618d5e6bd87d1739 (i.e. a6379032ee98bc43fb68ce7a6c186f3512558ce0), the test runs as fast as on 3.4. When testing on 981ee02c7c664f19b983662d61... mackuba (Kuba Suder)
08:52 PM Bug #21824 (Open): performance regression in regexp matching after update to 4.0
TLDR: a change in the regexp algorithm in regcomp.c merged around October was supposed to speed up the matching, but it seems it has slowed it down more in practice.
===
I'm running a service written in Ruby which serves some numbe...
mackuba (Kuba Suder)
08:16 PM Revision 23765a5e (git): ZJIT: Update Iongraph (#15806)
Fix some rendering bugs and remove React. tekknolagi (Maxwell Bernstein)
05:19 PM Bug #21812 (Closed): Kernel#sleep without arguments returns immediately when subprocess exits in another thread (regression in Ruby 4.0)
Applied in changeset commit:git|7e81bf5c0c8f43602e6d901f4253dca2f3d71745.
----------
Fix sleep spurious wakeup from sigchld (#15802)
When sleeping with `sleep`, currently the main thread can get woken up from sigchld
from any thread (s...
Anonymous
04:20 PM Bug #21812: Kernel#sleep without arguments returns immediately when subprocess exits in another thread (regression in Ruby 4.0)
@mame Yes no problem, I have a fix coming. Thanks for the bisect btw, it saved me quite a bit of time 😊 luke-gru (Luke Gruber)
05:18 PM Revision 7e81bf5c (git): Fix sleep spurious wakeup from sigchld (#15802)
When sleeping with `sleep`, currently the main thread can get woken up from sigchld
from any thread (subprocess exited). The timer thread wakes up the main thread when this
happens, as it checks for signals. The main thread then executes...
Luke Gruber
08:11 AM Revision c65a5548 (git): Update box.md
"Code" (when used to refer to what we create in Ruby or any other programming language) is an abstract non-count noun, so it cannot be pluralized. ("Codes" would be used when referring to specific countable things like PIN codes, which ... Brandon Zylstra
07:47 AM Revision 32674606 (git): Update bindgen
nobu (Nobuyoshi Nakada)
07:47 AM Revision 28b0e512 (git): [Bug #18433] Remove unneeded declaration
This `rb_cObject` declaration was only for `rb_cData()` that was
removed at 7c738ce5e649b82bdc1305d5c347e81886ee759a.
nobu (Nobuyoshi Nakada)
07:22 AM Revision d3ecd9d2 (git): [ruby/rubygems] Lock minitest ~> 5.1
https://github.com/ruby/rubygems/commit/7b9bfb4e18 hsbt (Hiroshi SHIBATA)
07:22 AM Revision b87b6edf (git): [ruby/rubygems] Update vendored net-http to 0.9.1
https://github.com/ruby/rubygems/commit/12072e8d23 hsbt (Hiroshi SHIBATA)
07:22 AM Revision 8c8561ad (git): [ruby/rubygems] Update vendored connection_pool to 2.5.5
https://github.com/ruby/rubygems/commit/4c1eb2b274 hsbt (Hiroshi SHIBATA)
07:22 AM Revision 05f791bf (git): [ruby/rubygems] rake update
https://github.com/ruby/rubygems/commit/aa7632161e hsbt (Hiroshi SHIBATA)
04:48 AM Revision 99bd18b5 (git): Unskip RBS test on Windows for NoMemoryError workaround
test-unit 3.7.7 has been fixed this problem.
See also:
https://github.com/test-unit/test-unit/releases/tag/3.7.7
tikkss (Tsutomu Katsube)
02:49 AM Revision e6762d23 (git): [DOC] Fix a typo and trim trailing whitespace per .editorconfig
shugo (Shugo Maeda)
02:32 AM Revision 01e8b38f (git): Use RUBY_VERSION in specs instead of hardcoded 'Ruby 4.0.0' to make tests version-independent
hsbt (Hiroshi SHIBATA)
02:10 AM Feature #21822: Expose Return Value in the ensure Block
https://github.com/nobu/ruby/tree/retval-in-ensure nobu (Nobuyoshi Nakada)
12:58 AM Revision 699813b6 (git): [ruby/rubygems] Remove date require from rebuild command
As far as I can see, this isn't used.
https://github.com/ruby/rubygems/commit/67c97e7180
jeremyevans (Jeremy Evans)

01/04/2026

05:26 PM Revision 7d5c0247 (git): Dump fstr and frozen status in rb_raw_obj_info_buitin_type
peterzhu2118 (Peter Zhu)
05:13 PM Revision 6eadc01c (git): Fix condition for UTF-8 default in magic_comment_spec.rb
Eregon (Benoit Daloze)
05:10 PM Revision 9888a3e8 (git): UNIXSocket#recvfrom only returns the path on Linux
* Notably it does not on BSD, macOS and Windows. Eregon (Benoit Daloze)
03:05 PM Bug #21823 (Open): $! is nil inside rescue block when $! is accessed before raise in Ruby::Box
## Description
When Ruby::Box is enabled (`RUBY_BOX=1`), accessing `$!` before a `raise` statement causes `$!` to be `nil` inside the subsequent `rescue` block, instead of containing the raised exception.
## Reproduction
`...
ahogappa (sho hirano)
03:04 PM Revision 2bf95430 (git): Remove assertion which does not hold
* https://github.com/ruby/ruby/actions/runs/20694508956/job/59407571754
1)
UNIXSocket.pair emulates unnamed sockets with a temporary file with a path FAILED
Expected "C:\\a\\_temp\\102424668889-2384.($)".match? /\\AppData\\Local\\T...
Eregon (Benoit Daloze)
02:39 PM Revision e79f8974 (git): Get better error if UNIXSocket.socketpair spec fails
Eregon (Benoit Daloze)
02:36 PM Revision 29e7973e (git): Update to ruby/spec@94dbd55
Eregon (Benoit Daloze)
02:02 PM Revision 6939f03f (git): Add field handle_weak_references to TypedData
This commit adds a field handle_weak_references to rb_data_type_struct for
the callback when handling weak references. This avoids TypedData objects
from needing to expose their rb_data_type_struct and weak references function.
peterzhu2118 (Peter Zhu)
01:53 PM Revision 1b3382cb (git): Update to ruby/spec@f54296d
Eregon (Benoit Daloze)
01:37 PM Bug #21702 (Open): `UNIXSocket` on Windows: suprising results in `#recvfrom` and `#remote_address`
@nobu Please check my previous comment Eregon (Benoit Daloze)
07:01 AM Revision 18672b39 (git): [DOC] Add `base-url` to ChangeLog by default
It is used to expand repository references to URL. nobu (Nobuyoshi Nakada)
06:56 AM Revision 912cf819 (git): [ruby/openssl] Improve Argument Error Message in EC:Group.new
Before, passing the wrong number of arguments (e.g., 2) to
OpenSSL::PKey::EC::Group.new raised a generic "wrong number of
arguments"
error.
This change updates it to show the actual argument count and the
expected
options (1 or 4), maki...
Augustin Gottlieb
03:53 AM Revision ca0fece5 (git): [DOC] Tweak an example in language/box.md
Although the example code comments indicate that it returns `false`,
a non-matching result for `=~` is actually `nil`.
```ruby
Foo.foo.blank? #=> false
"foo".blank? #=> false
```
https://github.com/ruby/ruby/blob/v4.0.0-preview3/doc/...
koic (Koichi ITO)
03:52 AM Revision d8d41d74 (git): [DOC] Use `Ruby::Box#require_relative` in box.md examples
Based on the example, it appears that `foo.rb` and `main.rb` are expected to be in the same directory.
Since Ruby 1.9, the current directory is not included in `$LOAD_PATH` by default.
As a result, running `box.require('foo')` as shown i...
koic (Koichi ITO)
01:26 AM Revision 5064af7e (git): [ruby/mmtk] Process obj_free candidates in parallel
Redos commit 544770d which seems to have accidentally been undone in b27d935. peterzhu2118 (Peter Zhu)

01/03/2026

07:58 PM Misc #21777: DevMeeting-2026-01-14
* [Feature #21264] Extract Date library from Ruby repo in the future (jeremyevans0)
* Do we want to extract `date` to bundled gems?
* I'm fine keeping it as stdlib, and if it needs a maintainer, I volunteer to maintain it.
* If ...
jeremyevans0 (Jeremy Evans)
09:22 AM Misc #21777: DevMeeting-2026-01-14
* [Feature #21800] `Dir.foreach` and `Dir.each_child` to optionally yield `File::Stat` object alongside the children name (byroot)
* It's common for development tools to need to recursively scan the file system, but it's slower than i...
byroot (Jean Boussier)
07:55 PM Feature #21264: Extract Date library from Ruby repo in the future
I've been thinking more about this. If we want to move `date` from stdlib to bundled gems, I still think it would be best to have a subset of the current `Date` as be a core class. `Date` is very widely used, but the vast majority of usa... jeremyevans0 (Jeremy Evans)
03:53 PM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
I have another PR that allow Backtrace objects to be duped, hence to send them across Ractors: https://github.com/ruby/ruby/pull/15795 byroot (Jean Boussier)
11:25 AM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
> I'm not sure if there is a way to allow an object to be copied without defining an allocator function.
So I experimented with this a bit. It wouldn't be hard at all to disable `Class#allocate` while still allowing `rb_obj_dup` etc t...
byroot (Jean Boussier)
10:28 AM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
> https://github.com/ruby/ruby/pull/15790 fixes the make_shareable.
Actually, might be more tricky than that. `Backtrace` object have two lazily instantiated mutable arrays (`backtrace` and `backtrace_locations`). So if we mark them ...
byroot (Jean Boussier)
03:43 PM Revision a0c483fc (git): Also output GC thread backtrace in rb_mmtk_gc_thread_bug
peterzhu2118 (Peter Zhu)
03:43 PM Revision 5b87294d (git): Add rb_gc_print_backtrace
peterzhu2118 (Peter Zhu)
10:11 AM Feature #21822 (Open): Expose Return Value in the ensure Block

I'd like to propose a simple feature that allows easy access to the return value inside an ensure block.
```ruby
begin
# ...
ensure => ret
# ret is nil if an exception is raised
LOGGER.debug "return value: #{ret}"
en...
artemb (Artem Borodkin)
10:10 AM Feature #21821: Add Stack and SizedStack classes
> I think it will depend on what you achieve with Stack.
Yes, the point is to use it in cases where synchronization is needed, hence Array is not suitable. Typically connection pools: https://github.com/mperham/connection_pool/blob/8b...
byroot (Jean Boussier)
09:35 AM Feature #21821: Add Stack and SizedStack classes
byroot (Jean Boussier) wrote:
> Currently `Queue` and `SizedQueue` are technically defined under `Thread` and aliased in `Object`.
> ...
I think it will depend on what you achieve with `Stack`.
If you want to use it for inter thread...
nobu (Nobuyoshi Nakada)
09:12 AM Feature #21821 (Open): Add Stack and SizedStack classes
### Context
`Queue` and `SizedQueue` are very useful and performant constructs, however they only allow for FIFO queues.
Some use cases do call for LIFO queues AKA stacks.
For instance, in the case of connection pool, it's often p...
byroot (Jean Boussier)
09:12 AM Revision 65f9c4a0 (git): Drop memberless Data/Struct#inspect trailing space
Anonymous memberless Structs and Data were returning `#<struct >` and
`#<data >` with a trailing space. Now they return `#<struct>` and
`#<data>` to match attrless class behavior and look a bit more compact.
shan (Shannon Skipper)
09:06 AM Feature #21788: Promote Thread::Monitor to a core class
> the point is MonitorMixin seems well done and core-worthy.
Yeah, I don't think I agree with this. I never use it because including it expose a bunch of `mon_*` public methods that nobody ever use.
At the end of the day 99% of Monit...
byroot (Jean Boussier)
08:30 AM Revision b6463d59 (git): [ruby/json] Directly write to the output buffer when converting UTF32 to UTF8.
https://github.com/ruby/json/commit/a51317c949 Scott Myron
06:45 AM Bug #21819 (Closed): A Data object should be frozen even if it has no members
Applied in changeset commit:git|d7a6ff8224519005d2deeb3f4e98689a8a0835ad.
----------
[Bug #21819] Data objects without members should also be frozen
nobu (Nobuyoshi Nakada)
06:11 AM Bug #21819: A Data object should be frozen even if it has no members
[GH-15792](https://github.com/ruby/ruby/pull/15792) nobu (Nobuyoshi Nakada)
02:19 AM Bug #21819 (Closed): A Data object should be frozen even if it has no members
Data objects with at least one member are currently automatically frozen on construction, and shareable if all members are shareable. However, a Data object with no members is not frozen on construction. I would expect such an object sim... dazuma (Daniel Azuma)
06:03 AM Revision d7a6ff82 (git): [Bug #21819] Data objects without members should also be frozen
nobu (Nobuyoshi Nakada)
04:28 AM Revision a8a989b6 (git): Test net-imap with ruby/net-imap#593
Delete test/net/imap/test_data_lite.rb, because the target of this
test file has been deleted by [ruby/net-imap#543].
[ruby/net-imap#543]: https://github.com/ruby/net-imap/pull/593
nobu (Nobuyoshi Nakada)
03:20 AM Bug #21820 (Open): "vm_call_cfunc: cfp consistency error" occurs during rdoc generation when installing Ruby 4.0.0 via rbenv on Ubuntu 24.04
This is transferred from https://github.com/rbenv/ruby-build/discussions/2594#discussioncomment-15394211
# My environment
``` shell
[sue445@sue445-win] [12-31 23:34:49] $ lsb_release -a
No LSB modules are available.
Distributor ID...
sue445 (Go Sueyoshi)
12:02 AM Revision 2f4119ea (git): [ruby/mmtk] Use rb_mmtk_gc_thread_bug for rb_mmtk_call_object_closure
https://github.com/ruby/mmtk/commit/308936296a peterzhu2118 (Peter Zhu)
12:02 AM Revision 60d9b10d (git): [ruby/mmtk] Propagate crash of GC thread to mutator thread
This allows the mutator thread to dump its backtrace when a GC thread crashes.
https://github.com/ruby/mmtk/commit/40ff9ffee7
peterzhu2118 (Peter Zhu)

01/02/2026

11:07 PM Revision 16feb46f (git): Convert Queue and SizedQueue to rb builtin
A large part of `thread_sync.c` was migrated already, might as well
go all the way. It also allow to remove a bunch of Rdoc commands.
byroot (Jean Boussier)
09:58 PM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
https://github.com/ruby/ruby/pull/15790 fixes the `make_shareable`. As for sending, I'm not sure if there is a way to allow an object to be copied without defining an allocator function. byroot (Jean Boussier)
09:49 PM Bug #21818: Thread backtraces cannot be communicated over Ractor ports
> Is this intentional?
I don't think so, more of an oversight. Looking at the implementation, I don't see a reason why it couldn't be marked as FROZEN_SHAREABLE.
byroot (Jean Boussier)
07:02 PM Bug #21818 (Open): Thread backtraces cannot be communicated over Ractor ports
It looks like Thread::Backtrace is confined to the Ractor that produced it: it cannot be copied or moved to another Ractor, nor can it be made shareable. This makes it difficult for a Ractor to communicate exceptions (e.g. the reason for... dazuma (Daniel Azuma)
08:42 PM Revision e7695ba3 (git): [ruby/mmtk] Check for T_NONE during marking
https://github.com/ruby/mmtk/commit/c3e338bb25 peterzhu2118 (Peter Zhu)
05:58 PM Revision 31fb970c (git): [ruby/mmtk] Assert target is not pinned during normal tracing
https://github.com/ruby/mmtk/commit/58210c88ed peterzhu2118 (Peter Zhu)
03:59 PM Revision c47a8052 (git): Add a test case for complex argument forward reference
Using `eval` it's possible to reference a later argument, and
this requires careful initialization of the stack.
byroot (Jean Boussier)
03:59 PM Revision 15968534 (git): Skip initializing optional arguments to `nil`
They are optional because they have a default value, so I don't
understand why we'd need to initialize them to nil.
byroot (Jean Boussier)
01:54 PM Revision b9819ad0 (git): Register a dupped identity hash as pinning
peterzhu2118 (Peter Zhu)
12:51 PM Revision 177949c8 (git): Speedup Queue initialization
Rather than to push items one by one we can directly memcpy. byroot (Jean Boussier)
08:43 AM Revision 11165495 (git): [ruby/rubygems] Bump the rb-sys group across 2 directories with 1 update
Bumps the rb-sys group with 1 update in the /test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib directory: [rb-sys](https://github.com/oxidize-rb/rb-sys).
Bumps the rb-sys group with 1 update in the /test/rubygems/t...
dependabot[bot]
06:55 AM Revision 0ec5678c (git): Update bundled gems list as of 2026-01-02
git[bot]
04:13 AM Revision dd34d627 (git): Extract git version only
The version message may contain other info such as the distribution.
e.g.:
```console
$ /usr/bin/git --version
git version 2.50.1 (Apple Git-155)
```
nobu (Nobuyoshi Nakada)
02:40 AM Revision 0e9d6989 (git): Prefer dedicated assertions
nobu (Nobuyoshi Nakada)
01:17 AM Bug #21817 (Assigned): Ruby::Box crashes with refinement + bind_call + Symbol#to_proc combination
nobu (Nobuyoshi Nakada)

01/01/2026

02:03 PM Revision acda63de (git): [ruby/mmtk] Format imports to be each on a new line
https://github.com/ruby/mmtk/commit/42adba630e peterzhu2118 (Peter Zhu)
12:30 PM Revision 26a5bcd6 (git): [ruby/prism] Fix spacing in the generated #each_child_node
https://github.com/ruby/prism/commit/91f60cb736 Eregon (Benoit Daloze)
09:20 AM Revision 8ce61f90 (git): Thread::Queue use a ring buffer
Thread::Queue spends a significant amount of time in array functions,
checking for invariants we know aren't a problem, and whether the backing
array need to reordered.
By using a ring buffer we can remove a lot of overhead (~23% faster...
byroot (Jean Boussier)
02:57 AM Revision 41292562 (git): Use STR_SET_SHARED in str_duplicate_setup_heap
str_duplicate_setup_heap is missing a call to rb_gc_register_pinning_obj
that STR_SET_SHARED correctly calls.
peterzhu2118 (Peter Zhu)
01:00 AM Revision ea05c23e (git): Extract `RBIMPL_TYPEDDATA_PRECONDITION`
nobu (Nobuyoshi Nakada)
 

Also available in: Atom