Project

General

Profile

Activity

From 12/17/2025 to 12/23/2025

Today

06:54 PM Ruby Revision e2cf92ed (git): Move special const check to gc.c for rb_gc_impl_object_moved_p
peterzhu2118 (Peter Zhu)
05:09 PM Ruby Revision d7d11090 (git): Describe base code layout rules (#15696)
* Describe base code layout rules
* Enhance optional keyword explanation
* Change the logical operators description
zverok (Victor Shepelev)
02:00 PM Ruby Revision d517e048 (git): [DOC] Combine docs for Method#call aliases
RDoc does not parse the documentation for the Method#call aliases, so we
should combine the aliases into one documentation.
peterzhu2118 (Peter Zhu)
12:59 PM Ruby Bug #21802: segmentation fault when installing gems on CI
ufuk (Ufuk Kayserilioglu) wrote in #note-2:
> Please post the C level backtrace as well. Usually that's very helpful.
any idea how I could do that? the job inside the CI most of the time simply dies with an output like this:
```
/b...
luizkowalski (Luiz Kowalski)
12:52 PM Ruby Bug #21802: segmentation fault when installing gems on CI
Please post the C level backtrace as well. Usually that's very helpful. ufuk (Ufuk Kayserilioglu)
09:14 AM Ruby Bug #21802 (Open): segmentation fault when installing gems on CI
hey!
recently, we updated to Bundler v4 (currently running v4.0.3) and Ruby 3.4.8. Since then, one of our CircleCI steps has been failing repeatedly, often without logs. Sometimes it does fail with a log
```
Installing faraday-typ...
luizkowalski (Luiz Kowalski)
12:51 PM Ruby Revision ab565a3e (git): Box: split the test for CI timeouts
Satoshi Tagomori
12:43 PM Ruby Bug #21801: compile failed at 4.0.0 preview 3 and snapshot issue
darkspy (gerty ken) wrote in #note-3:
> nobu (Nobuyoshi Nakada) wrote in #note-2:
> ...
now snapshot tonight:
compiling ./missing/langinfo.c
compiling ./missing/crypt.c
compiling ./missing/explicit_bzero.c
compiling ./missing/ffs.c...
darkspy (gerty ken)
09:53 AM Ruby Revision 51511954 (git): Fix a fragile test
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4".
nobu (Nobuyoshi Nakada)
08:52 AM Ruby Revision 3ddf6950 (git): Update bundled gems list as of 2025-12-23
git[bot]
08:51 AM Ruby Revision 2ed9a7bd (git): Bundle RBS 3.10.0 (#15701)
* Bundle RBS 3.10.0
* Unskip BigDecimal tests
soutaro (Soutaro Matsumoto)
08:37 AM Ruby Bug #21723: `binding.irb` raises a LoadError under `bundle exec` when Gemfile contains `path:` or `git:`
I have no enough time to handle this for Ruby 4.0.0.
Please add `irb` to your Gemfile or wait to release 4.0.1. Sorry to your inconvenience.
hsbt (Hiroshi SHIBATA)
08:28 AM Ruby Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
So first, I must say I agree this is a common problem with the advent of containers. Both Rails and Puma tried to have automatic detection and configuration of the number of worker processes, and it caused issue for users on various plat... byroot (Jean Boussier)
08:04 AM Ruby Bug #21799 (Closed): Delegated top-level methods are not visible outside the Ruby Box
Yes. `Foo` is a constant, not a method. The example was wrong. Now that it's updated we can close. byroot (Jean Boussier)
08:02 AM Ruby Revision d879f9f6 (git): [DOC] Fix example in Ruby::Box documentation
jeremyevans (Jeremy Evans)
07:30 AM Ruby Revision b04e61c3 (git): Added release note for RubyGems 4.0.3
hsbt (Hiroshi SHIBATA)
07:11 AM Ruby Revision 3a92e07a (git): Update default gems list at 1c3ef2719155b56f14bf734c82b26e [ci skip]
git[bot]
07:10 AM Ruby Revision 1c3ef271 (git): Merge RubyGems 4.0.3 and Bundler 4.0.3
hsbt (Hiroshi SHIBATA)
04:04 AM Ruby Revision ed1aac54 (git): Update default gems list at 8eaf6739fda591233b07f3ada7ed4e [ci skip]
git[bot]
04:03 AM Ruby Revision 8eaf6739 (git): [ruby/error_highlight] Bump version
https://github.com/ruby/error_highlight/commit/dc2dad6632 mame (Yusuke Endoh)
02:31 AM Ruby Feature #21796: unpack variant that returns the final offset
I like `^` specifier too.
Matz.
matz (Yukihiro Matsumoto)
12:12 AM Ruby Revision 0b3199a6 (git): [DOC] Fix backticks in docs for Set#add
peterzhu2118 (Peter Zhu)

12/22/2025

11:21 PM Ruby Bug #21801: compile failed at 4.0.0 preview 3 and snapshot issue
nobu (Nobuyoshi Nakada) wrote in #note-2:
> darkspy (gerty ken) wrote:
> ...
yep like for 8 years compiling ruby using msys 1.0 + winlib / mingw64. until 4.0 preview2 were fine
darkspy (gerty ken)
02:05 PM Ruby Bug #21801: compile failed at 4.0.0 preview 3 and snapshot issue
darkspy (gerty ken) wrote:
> ENV:
> ...
Are you really using msys **1.0**?
nobu (Nobuyoshi Nakada)
11:11 AM Ruby Bug #21801 (Open): compile failed at 4.0.0 preview 3 and snapshot issue
```
compiling x64-msvcrt-ruby400.res.o
creating verconf.h
verconf.h updated
compiling loadpath.c
linking static-library libx64-msvcrt-ruby400-static.a
generating x64-msvcrt-ruby400.def
linking shared-library x64-msvcrt-ruby400.dll...
darkspy (gerty ken)
10:52 PM Ruby Revision e69f41a0 (git): [DOC] Languages in Examples (#15697)
* [DOC] Languages in Examples
* Update doc/contributing/documentation_guide.md
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
* Update doc/contributing/documentation_guide.md
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
...
burdettelamar (Burdette Lamar)
09:54 PM Ruby Revision af30e471 (git): [ruby/mmtk] Implement Ruby heap
This heap emulates the growth characteristics of the Ruby default GC's
heap. By default, the heap grows by 40%, requires at least 20% empty
after a GC, and allows at most 65% empty before it shrinks the heap. This
is all configurable via...
peterzhu2118 (Peter Zhu)
06:22 PM Ruby Revision 481f16f3 (git): [DOC] Improve ractor class docs (grammar, code examples) (#15686)
Luke Gruber
02:12 PM Ruby Revision 6a2cd630 (git): [DOC] Improve call-seq of Proc#call
peterzhu2118 (Peter Zhu)
02:12 PM Ruby Revision f98bbb74 (git): [DOC] Doc for Rational#<=>
burdettelamar (Burdette Lamar)
12:00 PM Ruby Revision 5272f2bc (git): Bump RDoc to 7.0.2 (#15691)
st0012 (Stan Lo)
08:34 AM Ruby Feature #17001 (Closed): [Feature] Dir.scan to yield dirent for efficient and composable recursive directory scaning
Closing in favor of [Feature #21800] byroot (Jean Boussier)
08:34 AM Ruby Feature #21800 (Open): `Dir.foreach` and `Dir.each_child` to optionally yield `File::Stat` object alongside the children name
When listing a directory, it's very common to need to know the type of each children, generally because you want to scan recursively.
The naive way to do this is to call `stat(2)` for each children, but this is quite costly.
This us...
byroot (Jean Boussier)
06:59 AM Ruby Bug #21799: Delegated top-level methods are not visible outside the Ruby Box
I think `box.Foo.say` should be `box::Foo.say`. https://github.com/ruby/ruby/pull/15690 jeremyevans0 (Jeremy Evans)
06:38 AM Ruby Bug #21799 (Closed): Delegated top-level methods are not visible outside the Ruby Box
The following example code based on Ruby Box results in an unexpected error.
https://github.com/ruby/ruby/blob/v4.0.0-preview3/doc/language/box.md#top-level-methods
I'm not familiar with Ruby Box, but it seems that either the above d...
koic (Koichi ITO)
05:58 AM Ruby Revision 21917689 (git): [DOC] Refine packed_data.rdoc
* Escape unexpected links
* Remove unnecessary path name from in-file reference
nobu (Nobuyoshi Nakada)
05:39 AM Ruby Revision 87e78e6f (git): [DOC] Add multiline condition code example that was already possible
To avoid the misconception that previously conditional code had to be
written on a single line.
nobu (Nobuyoshi Nakada)

12/21/2025

08:02 PM Ruby Feature #21785 (Open): Add signed and unsigned LEB128 support to pack / unpack
byroot (Jean Boussier)
07:08 PM Ruby Revision cfb324e9 (git): [DOC] Improve docs for Method#>>
peterzhu2118 (Peter Zhu)
07:08 PM Ruby Revision 9f8231b7 (git): [DOC] Update call-seq for Method#>>
peterzhu2118 (Peter Zhu)
07:08 PM Ruby Revision 759187b5 (git): [DOC] Improve docs for Method#<<
peterzhu2118 (Peter Zhu)
07:08 PM Ruby Revision 76441060 (git): [DOC] Update call-seq for Method#<<
peterzhu2118 (Peter Zhu)
07:05 PM Ruby Revision ab4a0b4e (git): [DOC] Doc for File::Stat<=>
burdettelamar (Burdette Lamar)
07:05 PM Ruby Revision 2d69facd (git): [DOC] Tweaks for Object#<=>
burdettelamar (Burdette Lamar)
06:26 PM Ruby Revision d0ec60dc (git): More doc improvements to ractor.md (#15676)
[DOC] More doc improvements to ractor.md Luke Gruber
01:59 PM Ruby Revision 37b98f0d (git): [ruby/mmtk] Add a 32 byte heap for allocating smaller objects
https://github.com/ruby/mmtk/commit/c4cca6c1c3 peterzhu2118 (Peter Zhu)
11:31 AM Ruby Revision d8b33993 (git): Box: Fix an unused variable warning
nobu (Nobuyoshi Nakada)
09:35 AM Ruby Revision 2ffd5ad0 (git): [DOC] Remove duplicate Pathname promotion entry at NEWS.md
The Pathname promotion to core class is already documented in the
"Core classes updates" section, making this duplicate entry
redundant.
kitazawa
02:55 AM Ruby Revision 038b158f (git): [ruby/mmtk] Implement fast path for bump pointer allocator
Adding a fast path for bump pointer allocator can improve allocation
performance.
For the following microbenchmark with MMTK_HEAP_MIN=100MiB:
10_000_000.times { String.new }
Before:
810.7 ms ± 8.3 ms [User: 790.9 ms, Sys...
peterzhu2118 (Peter Zhu)
02:31 AM Ruby Revision 1bc2a915 (git): [DOC] Align tables in globals.md
* Align "Contains" column in "Streams" table
* Align some columns vertically
* Remove a duplicate `$-a` description
nobu (Nobuyoshi Nakada)
02:24 AM Ruby Revision e2243ed2 (git): [DOC] Correct typo
burdettelamar (Burdette Lamar)

12/20/2025

11:14 PM Ruby Revision 483ef3a0 (git): Test test_remove_instance_variable_re_embed separately
Shape tree pollution could cause this test to flake. peterzhu2118 (Peter Zhu)
11:14 PM Ruby Revision f42535fa (git): Change test to define ivars in initialize method
Defining ivars in initialize method guarantees the object to be embedded. peterzhu2118 (Peter Zhu)
11:13 PM Ruby Revision 58087278 (git): [DOC] Fix indentation error in Complex#<=>
burdettelamar (Burdette Lamar)
11:13 PM Ruby Revision addbeb6c (git): [DOC] Note for String#<=> about Comparable
burdettelamar (Burdette Lamar)
11:12 PM Ruby Revision 7c1e37cf (git): [DOC] Tweaks for Module#<=>
burdettelamar (Burdette Lamar)
10:19 PM Ruby Revision 48842525 (git): Exclude TestObjSpace#test_dump_objects_dumps_page_slot_sizes for MMTk [ci skip]
peterzhu2118 (Peter Zhu)
08:28 PM Ruby Revision 3fee7dd9 (git): Small improvements to doc/language/ractor.md (#15588)
[DOC] Improvements to doc/language/ractor.md Luke Gruber
04:41 PM Ruby Revision 6d5605b2 (git): [ruby/mmtk] Make rb_gc_impl_heap_id_for_size use MMTK_HEAP_COUNT
https://github.com/ruby/mmtk/commit/2185189df4 peterzhu2118 (Peter Zhu)
04:27 PM Ruby Revision fe9a7448 (git): Check slot_size before zeroing memory for GC hook
If the slot_size < RVALUE_SIZE then we would underflow in the memset. peterzhu2118 (Peter Zhu)
03:26 PM Ruby Revision 5cdda61d (git): [DOC] Enhancements for globals.md (#15545)
* [DOC] Enhancements for globals.md burdettelamar (Burdette Lamar)
03:16 PM Ruby Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
Thank you for your comments. Let me summarize the discussion.
### 1. Introducing a new API under `Etc`
Introducing a method such as `Etc.cpu_quota`, which returns `Float | nil`, seems reasonable.
### 2. Changing the behavior of ...
moznion (Taiki Kawakami)
11:41 AM Ruby Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
CPU quotas can be floating point numbers though, not just integers.
But `Etc.nprocessors` returns an Integer.
So it seems having a new method is worth it.
I think it's good if `Etc.nprocessors` rounds it though for convenience and s...
Eregon (Benoit Daloze)
02:47 AM Ruby Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
osyoyu (Daisuke Aritomo) wrote in #note-4:
> It'd be nice if `RUBY_MAX_CPU` would be autoconfigured based on this, just like Go 1.25 `GOMAXPROCS`.
> ...
This sounds very good, but it should probably be a separate ticket though.
nobu...
moznion (Taiki Kawakami)
12:14 AM Ruby Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
How about https://github.com/ruby/etc/tree/linux-cgroup-from-maxprocs? nobu (Nobuyoshi Nakada)
01:40 PM Ruby Revision 6bf92105 (git): [ruby/mmtk] Call rb_bug when Ruby mutator thread panics
This will allow the Ruby backtrace, memory mapping, etc. to be outputted
when a Ruby mutator thread panics.
https://github.com/ruby/mmtk/commit/d10fd325dd
peterzhu2118 (Peter Zhu)
01:25 PM Ruby Bug #21792 (Closed): 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
Applied in changeset commit:git|e6520de3442659def3463d3bfdca3432f41b2d6a.
----------
[Bug #21792] Build rubyspec-capiext only when excuting `test-spec`
rubyspec-capiext is only needed for running specs, not for building or
installing R...
Anonymous
11:32 AM Ruby Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
Do you then use this "minimal Ruby" to run the gem extconf.rb?
I don't think that works in general without extensions, extconf.rb can assume the full stdlib to be available.
As nobu said even RubyGems cannot load without `monitor`, a C...
Eregon (Benoit Daloze)
04:47 AM Ruby Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
mdalessio (Mike Dalessio) wrote in #note-6:
> Ah, I see, is this because logger relies on monitor, and logger is no longer part of the stdlib (it is a bundled gem)?
Not `logger`, `lib/rubygems/core_ext/kernel_require.rb` requires `mo...
nobu (Nobuyoshi Nakada)
01:24 PM Ruby Revision e6520de3 (git): [Bug #21792] Build rubyspec-capiext only when excuting `test-spec`
rubyspec-capiext is only needed for running specs, not for building or
installing Ruby.
Mike Dalessio
01:12 PM Ruby Revision e4bcb64b (git): [Doc] prefer encoding objects over encoding names
byroot (Jean Boussier)
12:37 PM Ruby Revision 8f7c3603 (git): Fix a fragile test
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4".
nobu (Nobuyoshi Nakada)
11:28 AM Ruby Feature #21767: Consider procs which `self` is Ractor-shareable as Ractor shareable
osyoyu (Daisuke Aritomo) wrote in #note-3:
> @eregon I'm not sure I fully understand your point, but conceptually your code should raise an `Ractor::IsolationError` by accessing a unshareable, mutable variable `a`.
You can try the ex...
Eregon (Benoit Daloze)
05:57 AM Ruby Feature #21767: Consider procs which `self` is Ractor-shareable as Ractor shareable
I think a number of "frozen Proc" is enough small so the incompatibility is enough small to ignore.
So I'm +1.
ko1 (Koichi Sasada)
11:26 AM Ruby Revision a5703919 (git): Add clarifications about the Enumerator.size (#15615)
zverok (Victor Shepelev)
11:07 AM Ruby Revision ec4ca913 (git): Small documentation adjustments for new/updated features (#15634)
* Document Range#to_set
* Update Thread#raise and Fiber#raise signatures and docs
* Add reference to String#strip to character_selectors.rdoc
* Update *nil docs when calling methods
* Enhance Array#find and #rfind docs
* Add a notic...
zverok (Victor Shepelev)
08:21 AM Ruby Bug #21798 (Open): `bundle install` command fails if touches `$LOAD_PATH` on `Ruby::Box` enabled
## How to reproduce
```dockerfile
FROM ruby:4.0.0-preview3-trixie
WORKDIR /ruby_box_test
RUN bundle gem foo --test=minitest
WORKDIR /ruby_box_test/foo
RUN head -n 10 foo.gemspec
# PASS
RUN bundle install
# PASS
RUN ...
unasuke (Yusuke Nakamura)
07:59 AM Ruby Revision 77c3a9e4 (git): Revert pack/unpack support for LEB128
https://bugs.ruby-lang.org/issues/21785#note-10
> It is too late to introduce it in Ruby 4.0, let's aim for 4.1.
This reverts commits:
* d0b72429a93e54f1f956b4aedfc25c57dc7001aa
Add support for signed and unsigned LEB128 to pack/unpa...
nobu (Nobuyoshi Nakada)
07:18 AM Ruby Revision 49f9c9bf (git): Box: [DOC] Uodate the name from Namespace
Satoshi Tagomori
06:44 AM Ruby Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
It is too late to introduce it in Ruby 4.0, let's aim for 4.1.
Matz.
matz (Yukihiro Matsumoto)
05:54 AM Ruby Revision 02911235 (git): fix for a test case that depends on rbuf size
YO4 (Yoshinao Muramatsu)
05:54 AM Ruby Revision 43b67356 (git): remove obsolete workaround
This appears to be a workaround for Windows XP behavior. It is unnecessary now. YO4 (Yoshinao Muramatsu)
02:38 AM Ruby Revision df685350 (git): [DOC] Improve docs for Signal.trap
peterzhu2118 (Peter Zhu)
02:36 AM Ruby Revision b7d4d7c9 (git): [DOC] Harmonize several <=> methods
burdettelamar (Burdette Lamar)
02:27 AM Ruby Revision bb0637a9 (git): ZJIT: [DOC] Fix link to in-repo file. Mention GNU Make requirement
alanwu (Alan Wu)
02:08 AM Ruby Bug #21716 (Feedback): YJIT panic: "all PendingBranchRefs should be unique" in net/http response reading (infinite unwind loop)
Unfortunately, with the information available, there is not much we can do on our end.
The PendingBranchRefs in question are transient reference counted objects in YJIT. They have clear
release points that should have been reached be...
alanwu (Alan Wu)

12/19/2025

10:14 PM Ruby Revision 8274c5e1 (git): [ruby/mmtk] Extract max object size to MMTK_MAX_OBJ_SIZE
https://github.com/ruby/mmtk/commit/ed9036c295 peterzhu2118 (Peter Zhu)
10:13 PM Ruby Revision ed0fae5b (git): [ruby/mmtk] Extract heap count to MMTK_HEAP_COUNT macro
https://github.com/ruby/mmtk/commit/4e789e118b peterzhu2118 (Peter Zhu)
10:09 PM Ruby Revision 42c4df9a (git): [DOC] Harmonize String#<=>
burdettelamar (Burdette Lamar)
10:09 PM Ruby Revision d540903e (git): [DOC] Harmonize <= methods
burdettelamar (Burdette Lamar)
08:06 PM Ruby Revision d9c0d4c7 (git): Don't copy invalidated CME in rb_vm_cc_table_dup
The cc_entries list associated with the invalidated CME can be deleted
from the table during GC, so it isn't safe to copy (and we shouldn't
copy it anyways, it's stale data).
jhawthorn (John Hawthorn)
07:57 PM Ruby Feature #21796: unpack variant that returns the final offset
> Why a new parameter?
because I misread the ticket, I didn't notice the `o`.
I do think `^` for offset is pure genius though.
byroot (Jean Boussier)
05:22 PM Ruby Feature #21796: unpack variant that returns the final offset
I really like this idea. @jhawthorn suggested `^` instead of `o` though, and I really like it.
```ruby
bytes = "\x01\x02\x03"
offset = 0
leb128_value1, offset = bytes.unpack("R^", offset: offset) #=> 1
leb128_value2, offset = byt...
tenderlovemaking (Aaron Patterson)
08:10 AM Ruby Feature #21796: unpack variant that returns the final offset
It would be useful indeed, but I'm not sure a new method is the best way?
I think the simplest would be a new keyword parameter:
```ruby
offset, *values = bytes.unpack("Ro", offset: offset, return_offset:true)
```
Another poss...
byroot (Jean Boussier)
03:56 AM Ruby Feature #21796 (Open): unpack variant that returns the final offset
mame (Yusuke Endoh) wrote in [#note-4](https://bugs.ruby-lang.org/issues/21785#note-4):
> It's a shame `unpack` doesn't tell you how many bytes it read. You'd probably want a `unpack` variant that returns the final offset too, or a spec...
nobu (Nobuyoshi Nakada)
07:04 PM Ruby Bug #21266: YJIT GC safety crash with proc objects as block argument
Backport PR for 3.3: https://github.com/ruby/ruby/pull/15657 rwstauner (Randy Stauner)
06:49 PM Ruby Revision 04e90fe2 (git): skip TestFiberScheduler#test_io_write_on_flush because it makes GC.stat test fragile
ko1 (Koichi Sasada)
05:32 PM Ruby Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
> > I don't think the installation script works with no extensions because it loads rubygems that require monitor
> ...
Ah, I see, is this because logger relies on monitor, and logger is no longer part of the stdlib (it is a bundled gem...
mdalessio (Mike Dalessio)
05:16 PM Ruby Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
> I don't think the installation script works with no extensions because it loads rubygems that require monitor
@nobu Is this something that changed since Ruby 3.4? `rake-compiler` has been using the `--with-ext=` (empty) option since...
mdalessio (Mike Dalessio)
12:54 AM Ruby Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
I don't think the installation script works with no extensions because it loads rubygems that require `monitor`. nobu (Nobuyoshi Nakada)
12:58 PM Ruby Revision 8c7e6f24 (git): Update bundled gems list as of 2025-12-19
git[bot]
11:02 AM Ruby Revision e23a918a (git): Update NEWS.md for Fiber Scheduler (#15629)
ciconia (Sharon Rosner)
10:58 AM Ruby Revision 9ee2243b (git): Fiber scheduler: invoke `#io_write` hook on IO flush (#15609)
Previously, calling IO#flush or closing an IO with unflushed buffered
writes would just invoke `#blocking_operation_wait` and flush the write
buffer using a `write` syscall. This change adds flushing through the
fiber scheduler by invoki...
ciconia (Sharon Rosner)
10:49 AM Ruby Bug #21794 (Closed): O_CLOEXEC is not available on Solaris 10
Applied in changeset commit:git|dd2f7d6ae6ab53bea7a179338378e1d32c306747.
----------
[Bug #21794] Fix for platforms where O_CLOEXEC is not available
nobu (Nobuyoshi Nakada)
10:44 AM Ruby Bug #21794: O_CLOEXEC is not available on Solaris 10
Yes, with the patch, it is successfully compiled without errors, and make test-all completed without any additional errors/failures. ngoto (Naohisa Goto)
06:33 AM Ruby Bug #21794: O_CLOEXEC is not available on Solaris 10
Can [GH-15650](https://github.com/ruby/ruby/pull/15650) fix it? nobu (Nobuyoshi Nakada)
10:48 AM Ruby Revision dd2f7d6a (git): [Bug #21794] Fix for platforms where O_CLOEXEC is not available
nobu (Nobuyoshi Nakada)
10:20 AM Ruby Bug #21696: Performance degradation for long running processes in Ruby 4.0.0-preview2
@luke-gru FWIW 4.0.0-preview3 performs normally. easydwh (Ivo Herweijer)
09:52 AM Ruby Feature #21795: Methods for retrieving ASTs
I anticipated that we would consider this eventually, but incorporating it into the core presents significant challenges.
Here are two major issues regarding feasibility.
(Based on chats with @ko1, @tompng, and @yui-knk, though the...
mame (Yusuke Endoh)
02:09 AM Ruby Feature #21795 (Open): Methods for retrieving ASTs
I would like to propose a handful of methods for retrieving ASTs from various objects that correspond to locations in code. This includes:
* Proc#ast
* Method#ast
* UnboundMethod#ast
* Thread::Backtrace::Location#ast
* TracePoint#...
kddnewton (Kevin Newton)
09:13 AM Ruby Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
It'd be nice if `RUBY_MAX_CPU` would be autoconfigured based on this, just like Go 1.25 `GOMAXPROCS`.
Its default value is currently fixed to 8, but not many cloud containers have 8 cores worth of processors.
https://github.com/ruby/...
osyoyu (Daisuke Aritomo)
08:38 AM Ruby Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
RubyGems 4.0.x support -j option for building C extension gem. But It causes in container environment like Circle CI.
https://github.com/ruby/rubygems/issues/9170
If cgroup provides the correct number of CPU for Cicle CI or others...
hsbt (Hiroshi SHIBATA)
08:12 AM Ruby Feature #21797 (Open): Make Etc.nprocessors cgroup-aware on Linux
Currently, `Etc.nprocessors` ignores cgroup CPU quotas. This causes issues in containers where CPU limits differ from the host CPU count.
I have written a gem for this purpose (https://github.com/moznion/maxprocs-ruby), but it would be ...
moznion (Taiki Kawakami)
08:47 AM Ruby Feature #21767: Consider procs which `self` is Ractor-shareable as Ractor shareable
@eregon I'm not sure I fully understand your point, but conceptually your code should raise an `Ractor::IsolationError` by accessing a unshareable, mutable variable `a`. My proposal's intent was to preserve `self` while making the proc s... osyoyu (Daisuke Aritomo)
08:16 AM Ruby Revision f0472f2d (git): [Feature #21785] [DOC] LEB128 support
nobu (Nobuyoshi Nakada)
08:15 AM Ruby Feature #21791: Implement Set#compact/Set#compact!, these should return Set instead of Array
Since `Set#delete` is O(1) performance and return self, why not just:
```ruby
>> Set[1, 2, nil, 3].delete(nil)
=> Set[1, 2, 3]
```
byroot (Jean Boussier)
07:36 AM Ruby Revision 7b19f1a1 (git): Skip RBS Ractor test on Windows
It seems hunging up. nobu (Nobuyoshi Nakada)
06:55 AM Ruby Revision 8efaf5e6 (git): Adjust Stdlib section with 4.0.0 and added reference of RubyGems release notes.
hsbt (Hiroshi SHIBATA)
06:44 AM Ruby Revision 47244b0f (git): Fix: Specifying 0 should cause an immediate timeout (#15641)
This change fixes a bug in which specifying 0 for timeout-related options (such as the `timeout` option of `Addrinfo.getaddrinfo`) incorrectly results in an infinite wait.
(This change overwrites https://github.com/ruby/ruby/pull/15626 .)
Misaki Shioi
05:39 AM Ruby Revision f81c62be (git): Terminate `args_tail_basic` rule with a semicolon
Semicolon is optional however it clarifies the end of the rule. yui-knk (Kaneko Yuichiro)
04:36 AM Ruby Revision 6f6ea70d (git): Just passing FDs does not need to create IO objects
nobu (Nobuyoshi Nakada)
04:36 AM Ruby Revision bfba65d8 (git): Extract `Test::JobServer` module
A placeholder to handle GNU make jobserver option.
spec/default.mspec didn't handle the jobserver using a FIFO.
nobu (Nobuyoshi Nakada)
03:12 AM Ruby Revision 42d66b89 (git): Fix: Do not check open_timeout twice (#15626)
Misaki Shioi
02:58 AM Ruby Revision 305f0421 (git): NEWS.md: Sort items in alphabetical order
mame (Yusuke Endoh)
02:44 AM Ruby Revision b90d3a6b (git): Update bundled gems list as of 2025-12-19
git[bot]
02:43 AM Ruby Revision 81ad4074 (git): Fix rbs test failure caused by minitest-6 (#15643)
* Fix rbs test failure caused by minitest6
* Bundle minitest-6.0.0
soutaro (Soutaro Matsumoto)
01:57 AM Ruby Revision 68a900e3 (git): add news for pack / unpack directives
tenderlovemaking (Aaron Patterson)
12:59 AM Ruby Revision fec5363b (git): Update default gems list at 5c0c0dd8737c8225f0ebcf0eaf3fb8 [ci skip]
git[bot]
12:58 AM Ruby Revision 5c0c0dd8 (git): [ruby/prism] Bump to v1.7.0
https://github.com/ruby/prism/commit/21c499d6e4 kddnewton (Kevin Newton)
12:58 AM Ruby Revision e2c886dd (git): [ruby/prism] Reject `p(p a, &block => value)` and similar
Redo of https://github.com/ruby/prism/pull/3669 with more tests
https://github.com/ruby/prism/commit/48b403ea79
Earlopain (Earlopain _)
12:58 AM Ruby Revision 76248400 (git): [ruby/prism] Add Ruby 4.1 as a version specifier
https://github.com/ruby/prism/commit/138db9ccc4 Earlopain (Earlopain _)
12:58 AM Ruby Revision d9b03c93 (git): [ruby/prism] Fix assertions in location_test.rb
* assert_raise's 2nd argument is the failure message,
shown when the expected exception is not raised.
It's not the expected message.
See https://github.com/test-unit/test-unit/issues/347
https://github.com/ruby/prism/commit/e3df9...
Eregon (Benoit Daloze)
12:47 AM Ruby Revision 0c4fcdff (git): Update ArgumentError message for Ractor.select
jhawthorn (John Hawthorn)
12:21 AM Ruby Revision b14f2f01 (git): [DOC] Harmonize lt methods
burdettelamar (Burdette Lamar)
12:00 AM Ruby Revision 084b916a (git): [DOC] Update NEWS for implementation improvements
jhawthorn (John Hawthorn)
12:00 AM Ruby Revision 805f53a9 (git): [DOC] Various improvements to NEWS
jhawthorn (John Hawthorn)

12/18/2025

11:59 PM Ruby Revision 535233c6 (git): [DOC] Update ractor.rb docs
jhawthorn (John Hawthorn)
11:59 PM Ruby Revision 3c6a6afa (git): [DOC] Update ractor.c docs
jhawthorn (John Hawthorn)
10:47 PM Ruby Revision 99b91594 (git): [DOC] Russian strings should look Russian
burdettelamar (Burdette Lamar)
10:43 PM Ruby Feature #21785 (Closed): Add signed and unsigned LEB128 support to pack / unpack
Applied in changeset commit:git|d0b72429a93e54f1f956b4aedfc25c57dc7001aa.
----------
Add support for signed and unsigned LEB128 to pack/unpack.
This commit adds a new pack format command `R` and `r` for unsigned and
signed LEB128 encod...
tenderlovemaking (Aaron Patterson)
05:24 PM Ruby Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
mame (Yusuke Endoh) wrote in #note-6:
> That apparoach is unreliable because LEB128 is redundant. For example, both `"\x03"` and `"\x83\x00"` are valid LEB128 encodings of the value 3.
Ah of course. I didn't think about that. 🤦‍♀️
tenderlovemaking (Aaron Patterson)
01:47 AM Ruby Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
> You could tell how many bytes you read based on the size of the leb128_value returned.
That apparoach is unreliable because LEB128 is redundant. For example, both `"\x03"` and `"\x83\x00"` are valid LEB128 encodings of the value 3.
...
mame (Yusuke Endoh)
10:42 PM Ruby Revision d0b72429 (git): Add support for signed and unsigned LEB128 to pack/unpack.
This commit adds a new pack format command `R` and `r` for unsigned and
signed LEB128 encoding. The "r" mnemonic is because this is a
"vaRiable" length encoding scheme.
LEB128 is used in various formats including DWARF, WebAssembly, MQ...
tenderlovemaking (Aaron Patterson)
09:43 PM Ruby Revision 73e930f9 (git): JIT: Move EC offsets to jit_bindgen_constants
Co-authored-by: Alan Wu <alanwu@ruby-lang.org> jhawthorn (John Hawthorn)
09:43 PM Ruby Revision b1c3060b (git): Co-authored-by: Luke Gruber <luke.gru@gmail.com>
Co-authored-by: Alan Wu <alanwu@ruby-lang.org>
YJIT: Support calling bmethods in Ractors
Co-authored-by: Luke Gruber <luke.gru@gmail.com>
Suggestion from Alan
jhawthorn (John Hawthorn)
09:43 PM Ruby Revision 345ea0c8 (git): YJIT: Support calling bmethods in Ractors
Co-authored-by: Luke Gruber <luke.gru@gmail.com> jhawthorn (John Hawthorn)
09:43 PM Ruby Revision 63b082cf (git): Store ractor_id directly on EC
This is easier to access as ec->ractor_id instead of pointer-chasing through
ec->thread->ractor->ractor_id
Co-authored-by: Luke Gruber <luke.gru@gmail.com>
jhawthorn (John Hawthorn)
08:42 PM Ruby Revision aace29d4 (git): Check for NULL fields in TYPEDDATA memsize functions (#15633)
Some TYPEDDATA objects allocate struct fields using the GC right after
they get created, and in that case the VM can try to perform a GC and join
a barrier if another ractor started one. If we're dumping the heap in another
ractor, this ...
Luke Gruber
08:08 PM Ruby Revision a7eb1879 (git): [DOC] small improvements to ractor class docs (#15584)
* Ractor.yield no longer exists
* Ractor.shareable_proc returns a copy of the given proc
* Improve wording for monitoring/unmonitoring ports
Luke Gruber
08:08 PM Ruby Bug #21793 (Closed): function name conflict of "mutex_trylock" on Solaris
Applied in changeset commit:git|fb1dd92d30a8df93f6fe2746aacc097f4c3ea62b.
----------
thread_sync.c: rename mutex_trylock internal function
[Bug #21793]
To fix a naming conflict on solaris.
byroot (Jean Boussier)
05:58 PM Ruby Bug #21793 (Closed): function name conflict of "mutex_trylock" on Solaris
On Solaris, with GCC 7.5.0, failed to compile thread.c with "error: conflicting types for 'mutex_trylock'".
On Solaris, the function name mutex_trylock(3C) is already used by the OS.
https://docs.oracle.com/cd/E88353_01/html/E37843...
ngoto (Naohisa Goto)
08:07 PM Ruby Revision fb1dd92d (git): thread_sync.c: rename mutex_trylock internal function
[Bug #21793]
To fix a naming conflict on solaris.
byroot (Jean Boussier)
07:57 PM Ruby Revision 8cf4f373 (git): thread_sync.c: declare queue_data_type as parent of szqueue_data_type.
Allows to remove some duplicated code like szqueue_length, etc. byroot (Jean Boussier)
07:57 PM Ruby Revision bbc684d8 (git): thread_sync.c: simplify `check_array`
If the queue was allocated without calling initialize,
`ary` will be `0`.
byroot (Jean Boussier)
07:57 PM Ruby Revision 57c4cd9a (git): thread_sync.c: eliminate GET_EC() from queue_do_pop
We receive the ec as argument, it's much cheaper to pass it
around that to look it up again.
byroot (Jean Boussier)
07:03 PM Ruby Revision 28c2a5b2 (git): Fix env debug assertion failure w/ Ractors+JITs
Previously when using a JIT and Ractors at the same time with debug
assertions turned on this could rarely fail with:
vm_core.h:1448: Assertion Failed: VM_ENV_FLAGS:FIXNUM_P(flags)
When using Ractors, any time the VM lock is acquir...
jhawthorn (John Hawthorn)
06:51 PM Ruby Revision 74bfb160 (git): Remove assertion in encoded_iseq_trace_instrument (#15616)
`encoded_iseq_trace_instrument` is safe to call in a ractor if the iseq
is new. In that case, the VM lock is not taken. This assertion was added in
4fb537b1ee28bb37dbe551ac65c279d436c756bc.
Luke Gruber
06:39 PM Ruby Bug #21790: `Socket.getaddrinfo` hangs after `fork()` on macOS 26.1 (Tahoe) for IPv4-only hosts
Ah my earlier Python script had a bug.
My initial Python test incorrectly reported success. The script used `os.WEXITSTATUS()` to check the child's exit status, but this function only works for processes that exit normally. When a pro...
adamoffat (Adam Moffat)
06:18 PM Ruby Bug #21790: `Socket.getaddrinfo` hangs after `fork()` on macOS 26.1 (Tahoe) for IPv4-only hosts
Thank you. This looks like the same issue reported multiple times in the past, but we were previously stuck without a way to investigate.
https://bugs.ruby-lang.org/issues/15490
https://bugs.ruby-lang.org/issues/15794
https://github...
mame (Yusuke Endoh)
03:44 PM Ruby Bug #21790: `Socket.getaddrinfo` hangs after `fork()` on macOS 26.1 (Tahoe) for IPv4-only hosts
mame (Yusuke Endoh) wrote in #note-3:
> Thank you for the report.
> ...
Ah yes, sorry I should have clarified this in my post. I tested this in 3.2.6 but it manifests differently in that version.
When I ran the same reproduction script ...
adamoffat (Adam Moffat)
07:13 AM Ruby Bug #21790: `Socket.getaddrinfo` hangs after `fork()` on macOS 26.1 (Tahoe) for IPv4-only hosts
Thank you for the report.
Since I don't have access to Tahoe, I cannot test this in my own environment. However, I have a few questions to clarify the situation.
The change to perform DNS lookups in a dedicated background thread wa...
mame (Yusuke Endoh)
06:37 PM Ruby Revision 0e719239 (git): thread_sync: Mutex keep `rb_thread_t *` instead of `VALUE`
We never need the actual thread object and this avoid any issue
if the thread object is ever moved.
byroot (Jean Boussier)
06:24 PM Ruby Bug #21794 (Closed): O_CLOEXEC is not available on Solaris 10
Because O_CLOEXEC is not available on Solaris 10, an error occurs when compiling box.c: "'O_CLOEXEC' undeclared (first use in this function)"
```
gcc -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math ...
ngoto (Naohisa Goto)
05:37 PM Ruby Revision bfd28d58 (git): make rb_singleton_class ractor safe (#15591)
Since singleton classes are created lazily, we need to make sure that
we lock around their creation. Unfortunately, that means we need to
lock around every shareable object's call to `singleton_class`,
including classes and modules.
Luke Gruber
04:12 PM Ruby Revision f133ebb2 (git): Bump RDoc to 7.0.1 (#15628)
This improves several enhancements to the Aliki theme. And since Aliki
also became the default theme, we don't need to specify the generator name
anymore.
st0012 (Stan Lo)
01:28 PM Ruby Bug #20699: On Windows, the `__dir__` keyword is garbled in paths containing Japanese characters, and `require_relative` fails as well
There is a fix available since one year, but no feedback at all. That makes it difficult to contribute anything: https://github.com/ruby/ruby/pull/12377
larskanis (Lars Kanis)
11:01 AM Ruby Bug #21049: Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
Thank you for the new methods! daniel.domjan (Dániel Domján)
09:48 AM Ruby Bug #21324: Namespace loads RubyGems in root Namespace but it should not
I have tried for curiosity with `ruby 4.0.0preview3` and it is still unfixed:
```
$ RUBY_BOX=1 ruby -ve 'ns = Ruby::Box.new; p ns::Gem.equal?(Gem)'
ruby 4.0.0preview3 (2025-12-18 master cfa3e7cf75) +PRISM [x86_64-linux]
ruby: warning...
Eregon (Benoit Daloze)
07:47 AM Ruby Revision 9f266ae6 (git): Update default gems list at 0e85881e0cded6ec82ef105b5ff2d0 [ci skip]
git[bot]
07:46 AM Ruby Revision 0e85881e (git): [ruby/delegate] v0.6.1
https://github.com/ruby/delegate/commit/90ffceb6d6 hsbt (Hiroshi SHIBATA)
07:46 AM Ruby Revision 00065914 (git): Reapply "Merge pull request #52 from ruby/revert-49"
This reverts commit 02e4b58b615d0dd83a6af5cd7c2b8861724011ee. hsbt (Hiroshi SHIBATA)
07:46 AM Ruby Revision 2fcad967 (git): Revert "Allow use of DelegateClass in ractor"
This reverts commit 6e0f2b31f0f4a2a942f3c1daad1bb64852fe6815. hsbt (Hiroshi SHIBATA)
07:46 AM Ruby Revision 1e69d688 (git): [ruby/delegate] v0.6.0
https://github.com/ruby/delegate/commit/aef34e8c8b hsbt (Hiroshi SHIBATA)
07:46 AM Ruby Revision e6ca8908 (git): Allow use of DelegateClass in ractor
Use `eval` instead of `define_method` when defining delegate methods for
`DelegateClass`.
Luke Gruber
07:46 AM Ruby Revision a21fe2ad (git): [ruby/delegate] Reapply "Merge pull request #46 from byroot/use-forward-send"
This reverts commit https://github.com/ruby/delegate/commit/fc2bd0498af0.
https://github.com/ruby/delegate/commit/7d5c1e0842
Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
hsbt (Hiroshi SHIBATA)
07:46 AM Ruby Revision bdf99bf0 (git): [ruby/delegate] v0.5.0
https://github.com/ruby/delegate/commit/fa35b20eca hsbt (Hiroshi SHIBATA)
07:46 AM Ruby Revision 01e9f95c (git): [ruby/delegate] Allow use of DelegateClass in ractors
Tempfile uses DelegateClass and Tempfile should be able to be used
by different ractors.
https://github.com/ruby/delegate/commit/cad194260b
Luke Gruber
07:42 AM Ruby Revision 85ff21c9 (git): RBOOL is unnecessary in C boolean context
Fix a `-Wint-in-bool-context` warning.
```
proc.c:688:33: warning: '?:' using integer constants in boolean context [-Wint-in-bool-context]
688 | if (RBOOL(get_local_variable_ptr(&env, idItImplicit, FALSE))) {
```
nobu (Nobuyoshi Nakada)
07:39 AM Ruby Revision 74b18b53 (git): Bump github.com/microsoft/vcpkg from master to 2025.12.12
Bumps [github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) from master to 2025.12.12. This release includes the previously tagged commit.
- [Release notes](https://github.com/microsoft/vcpkg/releases)
- [Commits](https://gith...
dependabot[bot]
05:22 AM Ruby Revision 769c6a1c (git): [DOC] Use Arrays in examples for Array#find
etienne (Étienne Barrié)
02:27 AM Ruby Revision b816f7ba (git): [DOC] Fix documents of `rb_intern_str` and so on
* `rb_intern_str`: the argument must be `T_STRING`, no conversion.
* `rb_intern_str`, `rb_check_id`, `rb_to_id`, `rb_check_symbol`: raise
`EncodingError` unless the "name" argument is a valid string in its
encoding.
nobu (Nobuyoshi Nakada)
01:14 AM Ruby Revision f2d2a757 (git): [DOC] Re-fill the paragraph
nobu (Nobuyoshi Nakada)
12:34 AM Ruby Revision cfa3e7cf (git): [DOC] Fix double-word typos in comments
Found via `grep` for repeated words.
* set.c: Fix "or or"
* include/ruby/internal/symbol.h: Fix "is is"
* include/ruby/internal/ctype.h: Fix "in in"
Augustin Gottlieb

12/17/2025

11:35 PM Ruby Bug #21790: `Socket.getaddrinfo` hangs after `fork()` on macOS 26.1 (Tahoe) for IPv4-only hosts
I saw that this was added in 3.4.0: https://github.com/ruby/ruby/pull/10864
Seen here: (https://github.com/ruby/ruby/releases/tag/v3_4_0_preview2)
But I also tested this using 3.4.1 and it was still an issue.
adamoffat (Adam Moffat)
11:08 PM Ruby Bug #21790: `Socket.getaddrinfo` hangs after `fork()` on macOS 26.1 (Tahoe) for IPv4-only hosts
To confirm: MacOS Sequoia also did not have this issue. adamoffat (Adam Moffat)
06:03 PM Ruby Bug #21790 (Open): `Socket.getaddrinfo` hangs after `fork()` on macOS 26.1 (Tahoe) for IPv4-only hosts
Ruby's `Socket.getaddrinfo` hangs indefinitely in forked child processes on macOS 26.1 (Tahoe) when resolving IPv4-only hostnames. This is a regression that does not occur on macOS 15.x (Sonoma) or earlier.
**Ruby version:**
ruby 3.3...
adamoffat (Adam Moffat)
10:34 PM Ruby Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
I've proposed a potential fix at https://github.com/ruby/ruby/pull/15617 mdalessio (Mike Dalessio)
10:14 PM Ruby Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
Note that this also reproduces in the source tree for 656de67d / 4.0.0-preview3. mdalessio (Mike Dalessio)
10:09 PM Ruby Bug #21792 (Closed): 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
When building Ruby with `--enable-shared` and `--with-ext=` (empty, to disable all extensions), the build fails because spec/ruby/optional/capi/ext/digest_spec.c cannot find ruby/digest.h.
This affects cross-compilation tooling like `...
mdalessio (Mike Dalessio)
10:26 PM Ruby Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
mame (Yusuke Endoh) wrote in #note-4:
> It's a shame `unpack` doesn't tell you how many bytes it read. You'd probably want a `unpack` variant that returns the final offset too, or a specifier that returns the current offset (like `o`?)....
tenderlovemaking (Aaron Patterson)
05:47 PM Ruby Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
It's a shame `unpack` doesn't tell you how many bytes it read. You'd probably want a `unpack` variant that returns the final offset too, or a specifier that returns the current offset (like `o`?).
```ruby
bytes = "\x01\x02\x03"
offs...
mame (Yusuke Endoh)
03:08 AM Ruby Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
matz (Yukihiro Matsumoto) wrote in #note-2:
> I am positive about the addition of LEB128. But I don't really like K/k because it doesn't remind me of LEB128 at all (though I know we've used L, E, B already).
> ...
Thanks for the feedba...
tenderlovemaking (Aaron Patterson)
01:22 AM Ruby Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
I am positive about the addition of LEB128. But I don't really like K/k because it doesn't remind me of LEB128 at all (though I know we've used L, E, B already).
Given that the only case pairs not yet used are k, r, and y, either R (v...
matz (Yukihiro Matsumoto)
07:56 PM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
And here are some docs adjustments: https://github.com/ruby/ruby/pull/15615 zverok (Victor Shepelev)
09:56 AM Ruby Bug #21780 (Closed): Change the default size of Enumerator.produce back to infinity
Applied in changeset commit:git|c99670d6683fec770271d35c2ae082514b1abce3.
----------
Revert the default size of Enumerator::Producer to infinity
[Bug #21780]
Anonymous
09:55 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
The choice of the default is a design decision, with valid arguments for both options. That said, with limited time before release, I'll err on the safe side and prioritize compatibility by reverting to the original default of infinity. knu (Akinori MUSHA)
08:32 AM Ruby Bug #21780 (Open): Change the default size of Enumerator.produce back to infinity
knu (Akinori MUSHA)
08:31 AM Ruby Bug #21780 (Closed): Change the default size of Enumerator.produce back to infinity
Applied in changeset commit:git|79f36c544a0431d9b76c3c11a5f622383eaca7bd.
----------
Revert the override of Enumerator#to_set that performed size checks
[Bug #21780]
Anonymous
08:11 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
I'll revert Enumerator#to_set right away as a first step. knu (Akinori MUSHA)
08:06 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
mame (Yusuke Endoh) wrote in #note-26:
> If we do so, I believe `Enumerator#size` should be deprecated and renamed to something like `Enumerator#size_hint` or `Enumerator#size_estimate`.
> ...
I think size is and will always be an esti...
knu (Akinori MUSHA)
07:13 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
@knu, do you plan to work on the behavior adjustments, or should I do it? (I am totally OK with that, just don't want to duplicate effort) zverok (Victor Shepelev)
07:12 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
> Why revert to a buggy state?
I don't believe "buggy" is a fair description. I believe that Ruby users are intelligent enough to understand the "theoretically infinite, but might break at some point if done intently." And I believe ...
zverok (Victor Shepelev)
07:01 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
> * Removing the Enumerator#to\_set override that refuses to work against an infinite enumerator as a safeguard
This is fine to me. I don't think this safeguard is necessary.
> ...
Why revert to a buggy state? Even though no real...
mame (Yusuke Endoh)
06:02 AM Ruby Bug #21780: Change the default size of Enumerator.produce back to infinity
OK, if @knu is OK, I accept this proposal.
Matz.
matz (Yukihiro Matsumoto)
07:49 PM Ruby Revision 656de67d (git): JITs: Pass down GNU make jobserver resources when appropriate
To fix warnings from rustc on e.g. Make 4.3, which is in Ubuntu 24.04:
> warning: failed to connect to jobserver from environment variable
alanwu (Alan Wu)
07:26 PM Ruby Feature #21791: Implement Set#compact/Set#compact!, these should return Set instead of Array
I wrote the rubyspecs for this change as well, they now check for version 4.0, but since we're very late into the 4.0 release cycle, it might be better to bump this to 4.1. herwin (Herwin W)
07:25 PM Ruby Feature #21791 (Open): Implement Set#compact/Set#compact!, these should return Set instead of Array
I recently had to remove a nil value from a Set, and ended up with an Array:
```
irb(main):001> Set[1, 2, nil, 3].compact
=> [1, 2, 3]
irb(main):002> Set[1, 2, nil, 3].compact.class
=> Array
```
Since there is no dedicated `Set#co...
herwin (Herwin W)
07:22 PM Ruby Revision ef3ac3e6 (git): Adjust Set documentation (#15547)
zverok (Victor Shepelev)
07:12 PM Ruby Revision 839410f0 (git): Fix heap dump with ractor barrier
When a ractor was being initialized and it would join the heap dump barrier when
allocating its queue or its ports, the heap dump code calls `rb_obj_memsize` on
the ractor and this function assumed `ports` was never NULL. We need to chec...
Luke Gruber
07:00 PM Ruby Revision 601ac78c (git): [DOC] Small changes to docs for ObjectSpace#each_object (#15564)
Change example to use user-defined class instead of `Numeric`. Luke Gruber
06:45 PM Ruby Revision f7120860 (git): test_sync_default_gems.rb: Omit if git is v2.43 or older
k0kubun (Takashi Kokubun)
06:22 PM Ruby Revision dc2a62e1 (git): test_commit_email.rb: Ensure #teardown doesn't fail
if test is omitted.
Follow up c4e090def134f9b109991b74c027648564963763
k0kubun (Takashi Kokubun)
06:05 PM Ruby Revision a9526ab5 (git): Update bundled gems list as of 2025-12-17
git[bot]
06:04 PM Ruby Revision 7e13fbc0 (git): Update bundled bigdecimal and rbs (#15611)
* Bundle rbs-3.10.0.pre.1
* Update rbs gem entry with commit hash
Updated rbs entry to include commit hash.
* Fix rbs entry in bundled_gems
* Update rbs gem to version 3.10.0.pre.2
Updated rbs gem version from 3.10.0.pre.1 to 3.10.0...
tompng (tomoya ishida)
05:17 PM Ruby Revision 56b67f16 (git): ObjectSpace.{dump,dump_all,dump_shapes} needs vm barrier. (#15569)
This allows these methods to be called from ractors.
Add new exported function `rb_vm_lock_with_barrier()` that requires
users to include "vm_sync.h"
Luke Gruber
04:34 PM Ruby Bug #21789 (Open): IO#flush doesn't invoke fiber scheduler io_write hook
When calling `IO#flush` or closing an IO with unflushed writes, the flushing is done by calling `rb_io_blocking_region_wait` and eventually doing a `write` system call. When done in a non-blocking fiber with an active fiber scheduler, th... noteflakes (Sharon Rosner)
01:43 PM Ruby Feature #21788: Promote Thread::Monitor to a core class
+1
I think `MonitorMixin` and `MonitorMixin::ConditionVariable` are small enough that it would be good to have them in core too.
BTW `wait_while`/`wait_until` are good patterns and maybe something `Thread::ConditionVariable` should have...
Eregon (Benoit Daloze)
07:38 AM Ruby Feature #21788 (Open): Promote Thread::Monitor to a core class
`Monitor` is about as useful as `Mutex` and yet one is a core class and the other is a "stdlib" extension.
I propose to promote `Thread::Monitor` as a core class convenience.
### The rest of `monitor.rb`
The `monitor` stdlib als...
byroot (Jean Boussier)
01:24 PM Ruby Bug #21783: {Method,UnboundMethod,Proc}#source_location returns columns in bytes and not in characters
mame (Yusuke Endoh) wrote in #note-22:
> `source_location` does not uniquely identify a node.
> ...
True but that's not a problem for `Prism.node_for(Method | UnboundMethod | Proc)` because it returns `DefNode | LambdaNode | CallNode |...
Eregon (Benoit Daloze)
01:36 AM Ruby Bug #21783: {Method,UnboundMethod,Proc}#source_location returns columns in bytes and not in characters
Eregon (Benoit Daloze) wrote in #note-20:
> FWIW I also consider the concept of `node_id` CRuby-specific, at least currently.
Since `Prism::Node#node_id` exists, I don't think it's CRuby-specific anymore.
It's true that the part retriev...
mame (Yusuke Endoh)
01:06 PM Ruby Revision 41e24aeb (git): Improve NEWS.md for Socket (#15610)
Misaki Shioi
12:39 PM Ruby Bug #21702: `UNIXSocket` on Windows: suprising results in `#recvfrom` and `#remote_address`
@nobu The `char place_holder[2048]` is something in Ruby not Windows though.
Why does CRuby not stop at the first `\0`? This is path, so it's defined as `\0`-terminated, no?
Eregon (Benoit Daloze)
12:11 PM Ruby Revision aee4b248 (git): [ruby/error_highlight] Show no message when failing to get caller/callee snippets
Even with Ruby 4.0, snippets is not always available, such as in irb by
default. It would be better to just say nothing than to show a confusing
message.
https://github.com/ruby/error_highlight/commit/ef80ce73a1
mame (Yusuke Endoh)
09:56 AM Ruby Revision c99670d6 (git): Revert the default size of Enumerator::Producer to infinity
[Bug #21780] Akinori MUSHA
09:53 AM Ruby Revision f45b1e3a (git): Update NEWS.md for Socket (#15608)
Misaki Shioi
09:32 AM Ruby Bug #21174: Range#max called with an argument on a beginless Integer Range raises RangeError
I confirmed @matz and he said that the current behavior is OK. He prioritizes practicality over consistency in this case. mame (Yusuke Endoh)
08:38 AM Ruby Revision bd4353ba (git): CI: Assume all C source files are UTF-8 now
nobu (Nobuyoshi Nakada)
08:38 AM Ruby Revision f286e700 (git): win32: Set the source code charset to UTF-8
nobu (Nobuyoshi Nakada)
08:35 AM Ruby Revision 61bab188 (git): Rename to `struct rbimpl_size_overflow_tag`
This struct is used for addition not only for multiplication, so
remove the word `mul`, and make the member names more descriptive.
nobu (Nobuyoshi Nakada)
08:30 AM Ruby Revision 79f36c54 (git): Revert the override of Enumerator#to_set that performed size checks
[Bug #21780] Akinori MUSHA
07:16 AM Ruby Revision 54d3945e (git): Add host information to timeout error messages in `TCPSocket.new` and `Socket.tcp` (#15582)
This change adds host information to the error messages shown when a timeout occurs while passing timeout options to `TCPSocket.new` or `Socket.tcp`, for improved usability.
(When the `fast_fallback option` is enabled, there may be multi...
Misaki Shioi
07:12 AM Ruby Revision 1506c489 (git): Update NEWS.md for improvements of error backtrace
mame (Yusuke Endoh)
07:09 AM Ruby Feature #20953: Array#fetch_values vs #values_at protocols
> Can I be of any help?
I rebased the PR, you can review the spec to see if the behavior make sense.
As for merging I'm afraid it's a bit late now, but that's @hsbt's call I think.
byroot (Jean Boussier)
06:48 AM Ruby Revision 38310fe7 (git): Update default gems list at 26447b3597ab95af7cc220c641a1bd [ci skip]
git[bot]
06:47 AM Ruby Revision 26447b35 (git): [ruby/net-http] v0.9.1
https://github.com/ruby/net-http/commit/8cee86e939 hsbt (Hiroshi SHIBATA)
06:47 AM Ruby Revision b80fc8bd (git): [ruby/net-http] Freeze more constants for Ractor compatibility
Freeze Net::HTTP::SSL_ATTRIBUTES and IDEMPOTENT_METHODS_. Both constants
have been marked as :nodoc:.
Together with https://github.com/ruby/openssl/issues/521, this enables
HTTPS clients in non-main Ractors on Ruby 4.0.
https://github....
rhenium (Kazuki Yamaguchi)
06:47 AM Ruby Revision fedafec7 (git): [ruby/net-http] v0.9.0
https://github.com/ruby/net-http/commit/3ccf0c8e6a hsbt (Hiroshi SHIBATA)
06:47 AM Ruby Revision df18f3ba (git): Bundle strscan-3.1.6
hsbt (Hiroshi SHIBATA)
06:47 AM Ruby Revision d5257bea (git): Bundle stringio-3.2.0
hsbt (Hiroshi SHIBATA)
06:47 AM Ruby Revision 8e258121 (git): [ruby/timeout] v0.6.0
https://github.com/ruby/timeout/commit/ab79dfff47 hsbt (Hiroshi SHIBATA)
06:47 AM Ruby Revision 01624492 (git): [ruby/time] v0.4.2
https://github.com/ruby/time/commit/387292f5d2 hsbt (Hiroshi SHIBATA)
06:47 AM Ruby Revision 8850807e (git): [ruby/psych] v5.3.1
https://github.com/ruby/psych/commit/8345af9ffb hsbt (Hiroshi SHIBATA)
06:02 AM Ruby Revision 7b5691c3 (git): `Socket.tcp` and `TCPSocket.new` raises `IO::TiemoutError` with user specified timeout (#15602)
* `Socket.tcp` and `TCPSocket.new` raises `IO::TiemoutError` with user specified timeout
In https://github.com/ruby/ruby/pull/11880, `rsock_connect()` was changed to raise `IO::TimeoutError` when a user-specified timeout occurs.
However...
Misaki Shioi
05:20 AM Ruby Revision 4c38419e (git): Update default gems list at 0e2962f917db1b20a6d34b6105b376 [ci skip]
git[bot]
05:16 AM Ruby Revision 0e2962f9 (git): [ruby/io-wait] bump up to 0.4.0
https://github.com/ruby/io-wait/commit/ae676c9d6d nobu (Nobuyoshi Nakada)
03:37 AM Ruby Revision e354e9ba (git): refactor: utilize a predefined macro
mame (Yusuke Endoh)
03:35 AM Ruby Bug #21787 (Closed): `IO::Buffer` Integer Overflow in Range Validation Leads to Out-of-Bounds Memory Access
Applied in changeset commit:git|c353b625297162024b5a80480664e599dd49a294.
----------
[Bug #21787] IO::Buffer: Check addition overflows
https://hackerone.com/reports/3437743
nobu (Nobuyoshi Nakada)
02:57 AM Ruby Bug #21787 (Closed): `IO::Buffer` Integer Overflow in Range Validation Leads to Out-of-Bounds Memory Access
From: https://hackerone.com/reports/3437743
The `IO::Buffer` implementation in Ruby contains a critical integer overflow vulnerability in its range validation logic. The `io_buffer_validate_range` function assumes that `offset+length`...
nobu (Nobuyoshi Nakada)
03:35 AM Ruby Revision 7c402d2c (git): IO::Buffer: Warn as experimental at allocation
Previously, warned only in `new` and `map`, but not `for` and
`string`.
nobu (Nobuyoshi Nakada)
03:35 AM Ruby Revision c353b625 (git): [Bug #21787] IO::Buffer: Check addition overflows
https://hackerone.com/reports/3437743 nobu (Nobuyoshi Nakada)
03:35 AM Ruby Revision 9519d163 (git): IO::Buffer: Guard arguments from GC
At least, `string` in `io_buffer_set_string` can be different from
`argv[0]` after `rb_str_to_str` call. The other cases may not be
necessary.
nobu (Nobuyoshi Nakada)
03:35 AM Ruby Revision f430fbbf (git): IO::Buffer: Fill the test for `IO::Buffer#clear`
nobu (Nobuyoshi Nakada)
03:13 AM Ruby Revision 87274c72 (git): Update default gems list at 3b66efda523fc33070aee6097898db [ci skip]
git[bot]
03:12 AM Ruby Revision 3b66efda (git): Bundle RubyGems 4.0.2 and Bundler 4.0.2
hsbt (Hiroshi SHIBATA)
02:11 AM Ruby Revision 2117e612 (git): Disabled gem sync for Ruby 4.0 release
hsbt (Hiroshi SHIBATA)
02:11 AM Ruby Revision 74a36531 (git): Fix: Recalculate the timeout duration considering `open_timeout` (#15596)
This change updates the behavior so that, when there is only a single destination and `open_timeout` is specified, the remaining `open_timeout` duration is used as the connection timeout. Misaki Shioi
02:03 AM Ruby Revision f483484f (git): [DOC] Fix call-seq of Method#box
peterzhu2118 (Peter Zhu)
01:19 AM Ruby Bug #21786 (Open): Net::HTTP::Response#read_body crashes on nil body when response_body_encoding is a String
When response_body_encoding is set to a String value (e.g., 'UTF-8'), and the HTTP response body is nil due to network failures, read_body attempts to call force_encoding on nil at line 360, raising NoMethodError. The issue occurs becaus... karinamendez132@gmail.com (Karina Mendez)
01:16 AM Ruby Bug #21782 (Closed): Ractor::IsolationError reports incorrect path for constants found through upwards search
Applied in changeset commit:git|cbcbbb2fbe57fb17b3bd6b93244c4f37f3626c7e.
----------
Let Ractor::IsolationError report correct constant path
Before this patch, Ractor::IsolationError reported an incorrect constant
path when constant wa...
Anonymous
01:15 AM Ruby Revision 0fe111ca (git): Respect encoding of ID in exception messages
Daisuke Aritomo
01:15 AM Ruby Revision cbcbbb2f (git): Let Ractor::IsolationError report correct constant path
Before this patch, Ractor::IsolationError reported an incorrect constant
path when constant was found through `rb_const_get_0()`.
In this code, Ractor::IsolationError reported illegal access against
`M::TOPLEVEL`, where it should be `Ob...
Daisuke Aritomo
12:36 AM Ruby Revision 2bf88ac1 (git): make-snapshot: Fix Psych::DisallowedClass with newer psych
```
$ tool/format-release ../www.ruby-lang.org 4.0.0-preview2 .
/opt/rubies/3.4.6/lib/ruby/3.4.0/psych/class_loader.rb:99:in 'Psych::ClassLoader::Restricted#find': Tried to load unspecified class: Date (Psych::DisallowedClass)
fr...
k0kubun (Takashi Kokubun)
 

Also available in: Atom