Project

General

Profile

Activity

From 11/13/2025 to 11/19/2025

Today

07:49 AM Bug #21697 (Open): `nmake up` will update broken `revision.h`
hsbt (Hiroshi SHIBATA)
07:20 AM Bug #21697 (Closed): `nmake up` will update broken `revision.h`
Applied in changeset commit:git|8986115e0a2a989f2b2ea5945f02c7a13989d640.
----------
[Bug #21697] Keep revision.h outside VCS
nobu (Nobuyoshi Nakada)
03:02 AM Bug #21697 (Open): `nmake up` will update broken `revision.h`
In 4.0.0-preview2 package, `nmake up` generate the broken `revision.h`.
I could reproduce this:
```
PS C:\Users\hsbt\Downloads> Invoke-WebRequest https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.0-preview2.zip -OutFile ruby-4.0.0...
hsbt (Hiroshi SHIBATA)
07:48 AM Feature #21311: Namespace on read (revised)
Is there any reason this feature couldn't be released as a gem? It seem like it has evolved far beyond it's original intention (including name change to "Box"), and I worry that it's inclusion in core will lead to inconsistent usage and ... johnnyshields (Johnny Shields)
07:43 AM Revision 169d6c7c (git): [ruby/rubygems] Use method_defined?(:method, false)
https://github.com/ruby/rubygems/commit/6cc7d71dac hsbt (Hiroshi SHIBATA)
07:41 AM Revision 339c1731 (git): Revert "[Bug #21697] Keep revision.h outside VCS"
This reverts commit 8986115e0a2a989f2b2ea5945f02c7a13989d640.
`RELEASE_DATE` including `YEAR`, `MONTH`, `DAY` are mandatory, while
`REVISION` is not.
nobu (Nobuyoshi Nakada)
07:19 AM Revision 8986115e (git): [Bug #21697] Keep revision.h outside VCS
nobu (Nobuyoshi Nakada)
07:05 AM Revision e31dc5f1 (git): Fix a typo
nobu (Nobuyoshi Nakada)
02:57 AM Revision 1443f89d (git): [DOC] Tweaks for String#unicode_normalize
burdettelamar (Burdette Lamar)
02:56 AM Revision 31900119 (git): [DOC] Tweaks for String#dump and String#undump
burdettelamar (Burdette Lamar)
02:52 AM Revision 3ee08c8d (git): Bump actions/checkout in /.github/actions/setup/directories
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http...
dependabot[bot]
02:31 AM Revision a6cecda1 (git): [ruby/etc] Win32: Drop support for older MSVC
Ruby 2.7 supports MSVC 12.0/_MSC_VER 1800 or later.
https://github.com/ruby/etc/commit/6f4404ec88
nobu (Nobuyoshi Nakada)
02:31 AM Revision 685903e5 (git): [ruby/etc] Bump up the required ruby version to 2.7
https://github.com/ruby/etc/commit/d047bb6856 nobu (Nobuyoshi Nakada)
02:08 AM Revision f040b94c (git): [ruby/mmtk] Ensure not blocking for GC in rb_gc_impl_before_fork
In rb_gc_impl_before_fork, it locks the VM and barriers all the Ractors
before calling mmtk_before_fork. However, since rb_mmtk_block_for_gc is
a barrier point, one or more Ractors could be paused there. However,
mmtk_before_fork is not ...
peterzhu2118 (Peter Zhu)
02:08 AM Revision 69b1c567 (git): [ruby/mmtk] Add VM barrier in rb_gc_impl_before_fork
We need the VM barrier in rb_gc_impl_before_fork to stop the other Ractors
because otherwise they could be allocating objects in the fast path which
could be calling mmtk_add_obj_free_candidate. Since mmtk_add_obj_free_candidate
acquires...
peterzhu2118 (Peter Zhu)
02:03 AM Revision 1f2913e7 (git): Win32: Drop support for older than MSVC 14.0/_MSC_VER 1900
Visual C++ 2015 (14.0):
- _MSC_VER: 1900
- MSVCRT_VERSION: 140
nobu (Nobuyoshi Nakada)
02:03 AM Revision 77431235 (git): Win32: Drop support for older than MSVC 12.0/_MSC_VER 1800
Visual C++ 2013 (12.0):
- _MSC_VER: 1800
- MSVCRT_VERSION: 120
nobu (Nobuyoshi Nakada)
02:03 AM Revision 25f9e678 (git): Win32: Drop support for older than MSVC 10.0/_MSC_VER 1600
Visual C++ 2010 (10.0):
- _MSC_VER: 1600
- MSVCRT_VERSION: 100
nobu (Nobuyoshi Nakada)
02:03 AM Revision 3dd39134 (git): Win32: Drop support for older than MSVC 9.0/_MSC_VER 1500
Visual C++ 2008 (9.0):
- _MSC_VER: 1500
- MSVCRT_VERSION: 90
nobu (Nobuyoshi Nakada)
02:03 AM Revision cdb9893c (git): Win32: Drop support for older than MSVC 8.0/_MSC_VER 1400
Visual C++ 2005 (8.0):
- _MSC_VER: 1400
- MSVCRT_VERSION: 80
nobu (Nobuyoshi Nakada)
02:01 AM Revision 1979f8c0 (git): [ruby/prism] Add docs for super nodes
https://github.com/ruby/prism/commit/69abcdbb18 Alexander Momchilov
01:37 AM Revision 3b953917 (git): [ruby/rubygems] Warn users that `bundle` now display the help:
- In https://github.com/ruby/rubygems/commit/31d67ecc056fb5a9193bc66a6e69e21576a87702
we enforced the new behaviour where running `bundle` no longer
installs gems but displays the help.
Users now have a way to configure their prefe...
Edouard CHIN
01:27 AM Revision 83b0cfe1 (git): [ruby/rubygems] Handle BUNDLER_VERSION being set to an empty string
This is useful, in case you're using Docker, and an upstream
Dockerfile sets BUNDLER_VERSION to something you don't want.
It's impossible to unset it... only override to be the empty
string.
https://github.com/ruby/rubygems/commit/ffa3e...
Cody Cutrer
01:02 AM Revision 1f299dd3 (git): Fix crash in optimal size for large T_OBJECT
Previously any T_OBJECT with >= 94 IVARs would crash during compaction
attempting to make an object too large to embed.
jhawthorn (John Hawthorn)
12:47 AM Revision 4423facb (git): [ruby/rubygems] Add `--ext=go` to `bundle gem`
(https://github.com/ruby/rubygems/pull/8183)
* Add new gem templates
* Add `--ext=go` in `bundle gem`
* Add setup-go to .github/workflows/main.yml
* Embed go version in go.mod
* Use go in bundler CI
* Add example method to template...
Go Sueyoshi
12:36 AM Revision 0f89fa97 (git): ZJIT: Inline BasicObject#! (#15201)
tekknolagi (Maxwell Bernstein)

11/18/2025

11:50 PM Revision 32b8f97b (git): ZJIT: Delete outdated optional param test [ci skip]
Name contradictory now, and we have other tests testing the same thing. alanwu (Alan Wu)
10:47 PM Revision 6f6a9ead (git): [ruby/rubygems] Replace instance method look up in plugin installer
`Gem::Installer.instance_methods(false).include?(:generate_plugins)` is
63x slower than `Gem::Installer.method_defined?(:generate_plugins)` in a
microbenchmark. The latter is a direct lookup, whereas the former will
create an array, whic...
eileencodes (Eileen Uchitelle)
10:45 PM Revision d5d12efd (git): [ruby/json] parser.c: Remove unued JSON_ParserStruct.parsing_name
https://github.com/ruby/json/commit/ab5efca015 byroot (Jean Boussier)
10:32 PM Revision f3f3e768 (git): Extract `KW_SPECIFIED_BITS_MAX` for JITs (GH-15039)
Rename to `VM_KW_SPECIFIED_BITS_MAX` now that it's in `vm_core.h`. Jacob (Jacob Jacob)
09:57 PM Revision cbe65ebb (git): ZJIT: Skip empty counter sections in stats
shan (Shannon Skipper)
09:57 PM Revision 65660037 (git): ZJIT: Avoid `NaN%` ratio appearing in stats
shan (Shannon Skipper)
07:50 PM Bug #21375: Set[] does not call #initialize
jeremyevans0 (Jeremy Evans) wrote in #note-10:
> I've submitted a PR that implements backwards compatibility for Set subclasses, without affecting Set itself: https://github.com/ruby/ruby/pull/15228
Thank you, I think it's a good sol...
Eregon (Benoit Daloze)
03:24 AM Bug #21375: Set[] does not call #initialize
I've submitted a PR that implements backwards compatibility for Set subclasses, without affecting Set itself: https://github.com/ruby/ruby/pull/15228
@Eregon can you try it with concurrent-ruby and see if it resolves your issue?
jeremyevans0 (Jeremy Evans)
07:24 PM Revision ff2d2fc1 (git): YJIT: omit single ractor mode assumption for `proc#call` (#15092)
The comptime receiver, which is a proc, is either shareable or from this
ractor so we don't need to assume single-ractor mode. We should never get
the "defined with an un-shareable Proc in a different ractor" error.
Luke Gruber
06:58 PM Feature #21693: Allow calling any callable object as a method
You're very close to valid Ruby with
```
class Greeter
def call(name)
puts "Hello, #{name}!"
end
end
hello = Greeter.new
hello.("World")
```
(Note the 1-character difference here.) Doing `hello.("World")` will a...
kddnewton (Kevin Newton)
05:36 PM Feature #21693: Allow calling any callable object as a method
It would be a gigantic incompatibility so there is no chance for that specific syntax, as your example would call method `hello` before and no longer with your proposal.
Just
```ruby
p = 42
p(43)
```
would break for example with th...
Eregon (Benoit Daloze)
05:54 PM Revision ce73b6c0 (git): ZJIT: Pass the result of GuardNotFrozen to StoreField and WriteBarrier
Eregon (Benoit Daloze)
05:54 PM Revision 79633437 (git): ZJIT: Rename the operand of Insn::GuardNotFrozen from val to recv
* When writing to an object, the receiver should be checked if it's frozen,
not the value, so this avoids an error-prone autocomplete.
Eregon (Benoit Daloze)
05:54 PM Revision 0e10dfde (git): ZJIT: Inline setting Struct fields
* Add Insn::StoreField and Insn::WriteBarrier Eregon (Benoit Daloze)
05:31 PM Feature #21695: Optimizing Ruby performance with Ruby itself instead of Rust
What are you proposing exactly? A "tool" is very vague.
Do you mean a JIT compiler for Ruby written in Ruby? Something else?
Are you interested in speeding up ERB specifically, or Ruby in general?
Why do you think it would achieve bet...
Eregon (Benoit Daloze)
02:09 AM Feature #21695: Optimizing Ruby performance with Ruby itself instead of Rust
I am interested. What kind of API do you need? Since bare memory allocation could break the whole app (leads to DoS), it's not that easy to disclose general purpose memory allocation (that's the reason YJIT, RJIT etc. has their own alloc... matz (Yukihiro Matsumoto)
04:35 PM Revision f84bbb42 (git): ZJIT: add support for lazy `RubyVM::ZJIT.enable`
This implements Shopify#854:
- Splits boot-time and enable-time initialization,
tracks progress with `InitializationState` enum
- Introduces `RubyVM::ZJIT.enable` Ruby method for
enabling the JIT lazily, if not already enabled
- I...
chancancode (Godfrey Chan)
03:34 PM Revision c38486ff (git): ZJIT: Validate types for all instructions
* This can catch subtle errors early, so avoid a fallback case and
handle every instruction explicitly.
Eregon (Benoit Daloze)
12:51 PM Bug #21696: Performance degradation for long running processes in Ruby 4.0.0-preview2
ufuk (Ufuk Kayserilioglu) wrote in #note-1:
> Did 3.5-preview1 have the same behaviour? If not, could you bisect between the two releases to find the commit that changed the behaviour?
Just ran the test, only for the Roda app. Result...
easydwh (Ivo Herweijer)
12:06 PM Bug #21696: Performance degradation for long running processes in Ruby 4.0.0-preview2
Did 3.5-preview1 have the same behaviour? If not, could you bisect between the two releases to find the commit that changed the behaviour? ufuk (Ufuk Kayserilioglu)
12:01 PM Bug #21696 (Open): Performance degradation for long running processes in Ruby 4.0.0-preview2
When running my RubyMeasureResponsetime tool (https://github.com/easydatawarehousing/ruby_measure_responsetime) on Ruby 4.0.0-preview2, a slow but steady performance degradation is measurable.
Both the Rails and the Roda based test appl...
easydwh (Ivo Herweijer)
12:49 PM Revision 522b7d82 (git): [ruby/openssl] ssl: fix test_pqc_sigalg on RHEL 9.7
RHEL 9.7 ships OpenSSL 3.5.1 with ML-DSA support, but it is disabled
for TLS by default, according to the system configuration file:
/etc/crypto-policies/back-ends/opensslcnf.config
Specify SSLContext#sigalgs to override the default lis...
rhenium (Kazuki Yamaguchi)
12:46 PM Bug #21669: Thoroughly implement void value expression check
I have an implementation in https://github.com/ruby/prism/pull/3728 (maybe needs more tests)
How about waiting on Ruby 4.1 for this? We can then introduce it early in the development cycle to find potential compatibility concerns. pre...
Earlopain (Earlopain _)
12:35 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
The discussion you cited seemed to me to be ignoring the actual problem by pinning the cause solely on ruby's behavior.
You used it to solidify your argument within the ruby community, and even tried to borrow Microsoft's authority to d...
YO4 (Yoshinao Muramatsu)
05:51 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
Hi @YO4 - thank you for your reply. I absolutely agree a cooperative approach is best. I am saddened / quite surprised to hear that you think I have criticized someone. I certainly had no intention to do that. If I did then I apologize.
...
cfis (Charlie Savage)
03:33 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
Ruby has made significant efforts to achieve cross-platform support at the C level.
This includes compensating for the lack of C runtime libraries.
The statement you quoted is taken out of context and that seems unfair.
The override...
YO4 (Yoshinao Muramatsu)
10:38 AM Revision f168a6d0 (git): [ruby/rubygems] Handle to reverse order result in Ruby 3.2
https://github.com/ruby/rubygems/actions/runs/19458155903/job/55676075439?pr=3857
```
-Did you mean 'methods' or 'method'?
+Could not find gem 'methosd'.
+Did you mean 'method' or 'methods'?
```
https://github.com/...
hsbt (Hiroshi SHIBATA)
10:38 AM Revision e78a96b7 (git): [ruby/rubygems] Spelling with the latest version of did_you_mean
https://github.com/ruby/rubygems/commit/d604c1d1cb hsbt (Hiroshi SHIBATA)
10:38 AM Revision c87b36ab (git): [ruby/rubygems] bin/rubocop -a
https://github.com/ruby/rubygems/commit/fee8dd2f08 hsbt (Hiroshi SHIBATA)
10:38 AM Revision e3c483b5 (git): [ruby/rubygems] Removed unused SimilarityDetector
https://github.com/ruby/rubygems/commit/40ace48651 hsbt (Hiroshi SHIBATA)
10:38 AM Revision 2c169e15 (git): [ruby/rubygems] More tests
https://github.com/ruby/rubygems/commit/210fa87f65 Austin Pray
10:38 AM Revision 55afec32 (git): [ruby/rubygems] fix tests
https://github.com/ruby/rubygems/commit/1dc669a0ab Austin Pray
10:38 AM Revision dd6ccb44 (git): [ruby/rubygems] Progressively enhance if DidYouMean is available
https://github.com/ruby/rubygems/commit/a02353fb96 Austin Pray
10:38 AM Revision 6aa16246 (git): [ruby/rubygems] Rubocop
https://github.com/ruby/rubygems/commit/a6bc30a827 Austin Pray
10:38 AM Revision f3e8bc87 (git): [ruby/rubygems] use DidYouMean::SpellChecker for gem suggestions
replaces Bundler::SimilarityDetector with DidYouMean::SpellChecker
https://github.com/ruby/rubygems/commit/959bea1506
Austin Pray
09:47 AM Revision a1c76c7e (git): Fixed conflict of vendor_gems.rb
hsbt (Hiroshi SHIBATA)
09:27 AM Bug #21692: Basic gems like `date` require a compiler
This might be related to the `--prefer-local` issue:
https://github.com/ruby/rubygems/issues/8750
I suspect there is some problem with the arches of the gems. But I might be wrong.
vo.x (Vit Ondruch)
02:09 AM Bug #21692: Basic gems like `date` require a compiler
Ah, it seems this happens on Ubuntu 24.04, without a `Gemfile.lock`, and when the `Gemfile` does not list the indirect dependencies.
I found three workarounds.
### 1\. Add a `Gemfile.lock`
If a proper `Gemfile.lock` is present, ...
mame (Yusuke Endoh)
08:43 AM Revision 85abc59c (git): [DOC] Add documentation about Ruby's VM stack
Stan Lo
08:20 AM Revision f272aabb (git): [ruby/json] Use #if instead of #ifdef when checking for JSON_DEBUG so debugging code is not generated when JSON_DEBUG=0.
https://github.com/ruby/json/commit/4f1adb10d3 Scott Myron
07:17 AM Revision 54c07383 (git): [ruby/resolv] Fix syntax error on older versions
https://github.com/ruby/resolv/commit/599f78c451 nobu (Nobuyoshi Nakada)
06:52 AM Revision ccdf83f1 (git): Update bundled gems list as of 2025-11-18
git[bot]
05:55 AM Revision 27770210 (git): Downgrade net-http 0.7.0 because JRuby is not working
hsbt (Hiroshi SHIBATA)
05:55 AM Revision 59461d12 (git): Use released version of net-http-0.8.0
hsbt (Hiroshi SHIBATA)
05:54 AM Revision 0af941db (git): [ruby/rubygems] Update resolv-0.6.3
https://github.com/ruby/rubygems/commit/778426fb73 hsbt (Hiroshi SHIBATA)
05:54 AM Revision 32716e76 (git): [ruby/rubygems] Update optparse-0.8.0
https://github.com/ruby/rubygems/commit/4e02243f66 hsbt (Hiroshi SHIBATA)
05:54 AM Revision 8cfed304 (git): [ruby/rubygems] Update fileutils-1.8.0
https://github.com/ruby/rubygems/commit/f8fe7a5208 hsbt (Hiroshi SHIBATA)
05:53 AM Revision 6ccc4199 (git): [ruby/rubygems] Update timeout-0.4.4
https://github.com/ruby/rubygems/commit/b6deff99c9 hsbt (Hiroshi SHIBATA)
05:53 AM Revision e1303756 (git): [ruby/rubygems] Update URI-1.1.1
https://github.com/ruby/rubygems/commit/07f2daf51e hsbt (Hiroshi SHIBATA)
05:53 AM Revision bfefb205 (git): [ruby/rubygems] Use released version of net-http-persistent-4.0.6
https://github.com/ruby/rubygems/commit/b237f759b0 hsbt (Hiroshi SHIBATA)
04:53 AM Revision 5ccaeee2 (git): [ruby/rubygems] Undeprecate `Gem::Version.new(nil)`
It seems like we were trying to deprecate passing `nil` to
Gem::Version.new. This breaks existing code, and I don't think there is
a good reason to deprecate this usage.
I believe what we want to prevent is the following code:
```ruby...
tenderlovemaking (Aaron Patterson)
03:20 AM Bug #21396: Set#initialize should call Set#add on items passed in
Eregon (Benoit Daloze) wrote in #note-13:
> jeremyevans0 (Jeremy Evans) wrote in #note-11:
> ...
I submitted a pull request that implements what @knu suggested: https://github.com/ruby/ruby/pull/15228
It allows subclasses to use the...
jeremyevans0 (Jeremy Evans)
02:34 AM Revision b5d0aac9 (git): Bump actions/checkout from 5.0.0 to 5.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v5.0.1)
---
updated-dependen...
dependabot[bot]
02:32 AM Revision 0ce6eed7 (git): Unskip test_alternative_pattern_nested for MMTk
peterzhu2118 (Peter Zhu)
02:32 AM Revision fa8799ca (git): Fix EnvUtil.current_parser for modular GC
The regexp used in EnvUtil.current_parser did not allow square brackets
for feature names. Modular GC uses square brackets for the GC name (such
as +GC[mmtk]).
peterzhu2118 (Peter Zhu)
12:19 AM Revision 02279f01 (git): [ruby/rubygems] Removed deprecated -C option from gem build
https://github.com/ruby/rubygems/commit/3471646d43 hsbt (Hiroshi SHIBATA)

11/17/2025

10:57 PM Revision 093dbbbd (git): [ruby/rubygems] Removed unused deprecate loading
https://github.com/ruby/rubygems/commit/a49d315ecd hsbt (Hiroshi SHIBATA)
10:52 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
Hi @mame - Thank you for your response and I am sorry that you feel that way, that was not my intention. I very much appreciate your help and our discussion. Maybe we can try again?
I see the problem is that Ruby exports overridden C ru...
cfis (Charlie Savage)
09:21 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
I feel your communication on this ticket suffers from what is known as the [XY problem](https://en.wikipedia.org/wiki/XY_problem). You are focusing on your proposed solution ("remove the override"), without first detailing the original p... mame (Yusuke Endoh)
07:14 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
I agree having one UCRT is best. But the very first sentence in the paragraph I linked to says:
> Every executable image (EXE or DLL) can have its own statically linked CRT, or can dynamically link to a CRT. The version of the CRT stati...
cfis (Charlie Savage)
07:00 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
I commend YO4-san for their insight into the debug/release build discrepancy.
I'm now convinced the root cause is loading multiple runtimes. Therefore, I agree with @nobu's fix: we should prohibit loading multiple runtime versions, no...
mame (Yusuke Endoh)
04:37 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
@nobu - When developing an extension it can be very helpful to use a debug build. A runtime check would prohibit that, unless you also make a debug version of ruby. But that seems like a lot of unnecessary overhead.
In addition, it wo...
cfis (Charlie Savage)
04:09 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
cfis (Charlie Savage) wrote in #note-21:
> Summary - don't pass memory/crt objects across boundaries. By overriding `fclose` and other UCRT functions Ruby causes this to happen.
Yes for the former half.
It is the reason we embed the CRT...
nobu (Nobuyoshi Nakada)
02:19 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
Ah yes, you are correct @YO4.
I used MSVC 2026 to build both Ruby and the extension (a dll). By default Ruby builds with /Md. This is the generated `Makefile.sub` in the win32 directory:
```
!if !defined(RUNTIMEFLAG)
RUNTIMEFLAG = -M...
cfis (Charlie Savage)
09:28 PM Revision 7482835d (git): Avoid spawning thread for trivial getnameinfo calls
When calling getnameinfo we spawn a thread because it may do a slow,
blocking reverse-DNS lookup. Spawning a thread is relatively fast (~20µs
on my Linux machine) but still an order of magnitude slower than when
getnameinfo is simply tra...
jhawthorn (John Hawthorn)
08:01 PM Feature #21695 (Open): Optimizing Ruby performance with Ruby itself instead of Rust
I am using ERB on top of C for a game I am making now. We can use the tool to improve the productivity, memory safety, and runtime speed for Ruby. It can also replace a Rust JIT compiler for better results. The only problem is that it... fredlinhares (Frederico Linhares)
07:01 PM Bug #21694 (Open): Crash when looking up super method from BasicObject
Initially reported on Reddit by easydwh https://old.reddit.com/r/ruby/comments/1ozhupr/is_a_ruby_segmentation_fault_a_bug_if_you_are/
Repro:
```ruby
class BasicObject
def basic_call_no_super
super
end
end
"test".bas...
byroot (Jean Boussier)
06:53 PM Bug #21692: Basic gems like `date` require a compiler
mame (Yusuke Endoh) wrote in #note-1:
> I think what you want is `bundle install --prefer-local`. (I wonder why this option is not the default.)
Unfortunately this does not seem to work for me.
```
$ gem list | grep date
date (default:...
getajobmike (Mike Perham)
06:11 PM Bug #21692: Basic gems like `date` require a compiler
I think what you want is `bundle install --prefer-local`. (I wonder why this option is not the default.) mame (Yusuke Endoh)
05:12 PM Bug #21692 (Open): Basic gems like `date` require a compiler
I'm trying to use Ruby in a high security environment which does not allow a compiler to be installed. This was easy years ago when all of standard library was included with Ruby itself and I could use `apt install ruby`. But as the stan... getajobmike (Mike Perham)
06:46 PM Revision c0256d1d (git): [DOC] Update GC.stat and GC.stat_heap documentation
I noticed some of the keys have been gone or renamed for a while. byroot (Jean Boussier)
06:29 PM Feature #21693 (Open): Allow calling any callable object as a method
Callable objects are popular in Ruby. A very common pattern of Service objects with a single public `call` method can be found in many Rails apps, too.
I propose to extend syntax so that adding `()` to any object that has a `call` met...
cheba (Alexander Mankuta)
06:01 PM Revision f9e31f43 (git): [ruby/time] Defer default year for zone_offset until needed
While parsing ISO 8601 timestamps like `2025-11-13T19:34:23.681726000Z`
I noticed that a lot of time was spent to compute a default `year`
argument to `zone_offset`. For ISO 8601, that year is never used, as
all valid time zone designato...
Sander Verdonschot
03:53 PM Revision 371a295e (git): Fix improper termlen fill in `str_duplicate_setup_embed`.
When term len != 1 (for example: Encoding::UTF32BE), term fill is wrong size. Luke Gruber
03:14 PM Revision 9de66a8c (git): [ruby/prism] Remove now obsolete todos
https://github.com/ruby/prism/commit/b00d098f9a Earlopain (Earlopain _)
03:11 PM Revision d66b37e3 (git): Remove alternation pattern matching handling from the prism compiler
Since https://github.com/ruby/ruby/pull/15212 these are proper syntax
errors, so no need to handle this explicitly anymore.
Also updated the example in the docs for this
Earlopain (Earlopain _)
01:30 PM Revision a0ef2366 (git): remove old code
naruse (Yui NARUSE)
01:27 PM Bug #21168: Prism doesn't require argument parentheses (in some cases) when a block is present but parse.y does
PR: https://github.com/ruby/ruby/pull/15217 yui-knk (Kaneko Yuichiro)
01:20 PM Bug #21691 (Open): On Windows some of binary read functions of IO are not functional
When using the binary read method of IO on a file containing “\r\n”, it should read “\r”, but some methods do not function correctly on Windows.
```ruby
File.binwrite("crlf.txt", "\r\n")
methods = {
readn: proc { |f| f.read(1) },...
YO4 (Yoshinao Muramatsu)
12:47 PM Bug #21687: IO#pos goes wrong after EOF character(ctrl-z) met.
I made PR [#15216](https://github.com/ruby/ruby/pull/15216) for main issue.
After some investigation, it appears the case with #note-1 is mainly related to the behavior of eof(), so it seems appropriate to address it in #21634.
YO4 (Yoshinao Muramatsu)
12:39 PM Revision 4fa6e993 (git): strnlen is not used now
naruse (Yui NARUSE)
12:34 PM Revision 3bbd45dd (git): Fix `RUBY_API_VERSION_NAME` fallback definition
nobu (Nobuyoshi Nakada)
11:15 AM Misc #21690 (Open): Inconsistent `rb_popcount64()` definition
The `rb_popcount64()` function is defined both in `internal/bits.h` and `parser_bits.h`, but the definition of these functions is different on the `#else` branch.
```c
// internal/bits.h
static inline unsigned int
rb_popcount64(uin...
daniel.domjan (Dániel Domján)
09:22 AM Bug #21375: Set[] does not call #initialize
I should also mention for the concurrent-ruby case that using `::Set` on Ruby 4+ is not an option because it's not thread-safe enough:
https://github.com/ruby-concurrency/concurrent-ruby/issues/1093#issuecomment-3540742547
Eregon (Benoit Daloze)
08:46 AM Bug #21375: Set[] does not call #initialize
This change also breaks concurrent-ruby: https://github.com/ruby-concurrency/concurrent-ruby/actions/runs/19414490796/job/55540724035
https://github.com/ruby-concurrency/concurrent-ruby/issues/1093
The code relying on it seems pretty re...
Eregon (Benoit Daloze)
09:03 AM Bug #21396: Set#initialize should call Set#add on items passed in
jeremyevans0 (Jeremy Evans) wrote in #note-11:
> knu (Akinori MUSHA) wrote in #note-10:
> ...
Yes, this sounds like a good way, it avoids breaking code and keeps performance optimal for Set.
The only downside is some extra complexity ...
Eregon (Benoit Daloze)
08:54 AM Misc #21689: DevMeeting-2025-12-11
* [Bug #21375] Set[] does not call #initialize (eregon)
* This broke concurrent-ruby and there is no good fix.
* I believe Set[] should call #initialize, it's simple and avoids a major breaking change. The performance impact seems in...
Eregon (Benoit Daloze)
02:05 AM Misc #21689 (Open): DevMeeting-2025-12-11
# The next dev meeting
**Date: 2025/12/11 13:00-17:00** (JST)
Log: *TBD*
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bug tracker.
- Dev meeting is a place we can ask Matz, nobu, nurse and o...
mame (Yusuke Endoh)
08:06 AM Revision c32eb727 (git): The prev_ver of 4.0.0 is 3.4.0
naruse (Yui NARUSE)
07:08 AM Revision 3d8dfbf5 (git): Skip TestCommitEmail if git is not available.
https://github.com/ruby/actions/actions/runs/19420968008/job/55558315338
```
1) Error:
TestCommitEmail#test_sendmail_encoding:
Test::Unit::ProxyError: No such file or directory - git
/home/runner/work/actions/actions/ruby-...
hsbt (Hiroshi SHIBATA)
02:30 AM Revision 8d010582 (git): Handle deeply nested capture variables syntax err
When there are nested capture variables inside of a pattern match
that has an alternation pattern, it is a syntax error. Currently it
only adds a syntax error when it is at the top level of the pattern.
kddnewton (Kevin Newton)
02:28 AM Bug #20907: Fiber scheduler does not correctly re-lock mutex if `Mutex#sleep` is interrupted.
Cross referencing: https://github.com/socketry/async/issues/424 ioquatix (Samuel Williams)
02:04 AM Misc #21647 (Closed): DevMeeting-2025-11-13
mame (Yusuke Endoh)

11/16/2025

11:49 PM Revision 4870fbd0 (git): vm_dump.c: unbreak unwind on powerpc (#14650)
Sergey Fedorov
11:23 PM Revision bdeee701 (git): Avoid allocating intermediate string in zone_str
jhawthorn (John Hawthorn)
09:27 PM Revision 3cd30814 (git): [DOC] Tweaks for String#unicode_normalize!
burdettelamar (Burdette Lamar)
09:26 PM Revision 17f3588a (git): [DOC] Tweaks for String#unicode_normalized?
burdettelamar (Burdette Lamar)
09:26 PM Revision 43e26d02 (git): [DOC] Tweaks for String#unpack
burdettelamar (Burdette Lamar)
09:24 PM Revision 00521434 (git): [DOC] Tweaks for String#unpack1
burdettelamar (Burdette Lamar)
02:52 PM Bug #21634: Combining read(1) with eof? causes dropout of results unexpectedly on Windows.
@nobu, I had not correctly understood the 'rt' case in #note-2.
In the case where 'universal_newline: true' attribute, Ctrl-Z is not interpreted as an EOF, so I believe the behavior you pointed out is correct.
```
> ruby -ve "open('eo...
YO4 (Yoshinao Muramatsu)
02:31 PM Misc #21688 (Open): Ruby::Box maturing path
A quick couple of questions in the light of upcoming Ruby 4.0 release and `Ruby::Box` being available there (even if as an experimental feature):
1. Should the documentation of the class be available as RDoc? I mean, as standard class...
zverok (Victor Shepelev)
02:07 PM Bug #21687: IO#pos goes wrong after EOF character(ctrl-z) met.
Here is additional issue.
When an intermediate EOF character met, reading operation reports EOF but sometimes IO#eof? does not.
```ruby
require 'tempfile'
Tempfile.open do |f|
str = "0123456789\x1A"
f.write(str + "x"*(1024_0 ...
YO4 (Yoshinao Muramatsu)
08:23 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
If `rb_win32_fclose` calls ucrt's `fflush`/`fclose`, it's questionable why it doesn't work. Is it truly calling the same ucrts?
The screenshot suggests the C++ code is built in Debug build. From the C++ code, the the ucrt debug DLL migh...
YO4 (Yoshinao Muramatsu)
05:40 AM Bug #21686: In combination with IO#ungetbyte, the write position may become unpredictable.
As proposed in this issue, resolving this problem required determining a solution strategy across multiple methods with considering compatibility.
While I'm only an external contributor and not a core team member, I'll boldly say that...
YO4 (Yoshinao Muramatsu)

11/15/2025

09:24 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
Thank you @mame an @nobu for looking into this.
@mame I don't know why the override doesn't work. The calling C++ code is from `Microsoft Visual Studio\18\Insiders\VC\Tools\MSVC\14.50.35717\include\__msvc_filebuf.hpp`:
``` cpp
_EXPO...
cfis (Charlie Savage)
07:59 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
cfis (Charlie Savage) wrote in #note-15:
> When I step through with a debugger, this line forces an early return from the function. So fclose is never called.
> ...
Thank you for debugging. The early return (not calling `fclose` when `...
mame (Yusuke Endoh)
05:58 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
I gave a try to @nobu's code above (https://bugs.ruby-lang.org/issues/21498#note-9).
That results in a linker error:
``` bash
linking shared-object -test-/gvl/call_without_gvl.so
Creating library call_without_gvl-x64-mswin64_140.l...
cfis (Charlie Savage)
05:21 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
I have attached the "good" file and the "bad" file. The good file is generated by rewriting the extension to not use fclose, and thus not have the call go through `rb_w32_fclose`. The bad file is generated by using flcose which does end ... cfis (Charlie Savage)
04:50 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
When I step through with a debugger, this line forces an early return from the function. So fclose is never called.
https://github.com/ruby/ruby/blob/master/win32/win32.c#L6627
``` cpp
if (fflush(fp)) return -1;
```
cfis (Charlie Savage)
09:02 PM Revision bacd3562 (git): Remove dead IBF_OBJECT_INTERNAL
peterzhu2118 (Peter Zhu)
06:39 PM Bug #21686: In combination with IO#ungetbyte, the write position may become unpredictable.
#20919 may be related. If the PR for this issue is accepted, it likely determines how that issue should be addressed. There's already a PR that is several months old associated with it. javanthropus (Jeremy Bopp)
04:30 PM Bug #21686: In combination with IO#ungetbyte, the write position may become unpredictable.
I made [PR #15204](https://github.com/ruby/ruby/pull/15204)
## Changed and Unchanged
The behavior of this PR is listed below.
Since IO#ungetc has a different file position behavior when combined with encoding conversion, IO#getbyt...
YO4 (Yoshinao Muramatsu)
03:58 PM Bug #21686 (Open): In combination with IO#ungetbyte, the write position may become unpredictable.
In the current implementation, using `IO#ungetbyte` can cause `IO#pos` to become negative.
Writing to the same file descriptor in this state will result in unexpected write positions.
```ruby
require 'tempfile'
Tempfile.open do |...
YO4 (Yoshinao Muramatsu)
04:59 PM Bug #21687 (Open): IO#pos goes wrong after EOF character(ctrl-z) met.
In Windows environment, when opening a file with the "r", encountering an EOF character (Ctrl-Z, "\x1A") during reading causes the IO to report END-OF-FILE.
```ruby
require 'tempfile'
Tempfile.open do |f|
str = "0123456789\x1A"...
YO4 (Yoshinao Muramatsu)
01:50 PM Revision 9e8a661f (git): [ruby/stringio] [DOC] Fix #seek link
(https://github.com/ruby/stringio/pull/174)
Method #seek deserves (and will get) documentation independent of that
in class IO.
Meanwhile, the link should go someplace sensible and useful.
https://github.com/ruby/stringio/commit/d0265...
burdettelamar (Burdette Lamar)
01:49 PM Revision abf30563 (git): [ruby/stringio] [DOC] Doc for StringIO.size
(https://github.com/ruby/stringio/pull/171)
https://github.com/ruby/stringio/commit/95a111017a
burdettelamar (Burdette Lamar)
01:48 PM Revision b5c92696 (git): [ruby/stringio] [DOC] Tweaks for StringIO#each_line
(https://github.com/ruby/stringio/pull/165)
Adds to "Position": pos inside a character.
Makes a couple of minor corrections.
---------
https://github.com/ruby/stringio/commit/ff332abafa
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
burdettelamar (Burdette Lamar)
03:23 AM Revision 577cf5e3 (git): [DOC] Remove an obsolete file
It has been merged into `doc/ruby/options.md` with
`field_processing.md` at ruby/ruby#10138.
nobu (Nobuyoshi Nakada)
02:04 AM Revision 70b49b65 (git): refactor io_each_codepoint
YO4 (Yoshinao Muramatsu)
01:18 AM Revision f1765cd4 (git): [Doc] Remove leftover references to namespace from box.md
And fix the indentation a little bit, since `box` is one character
longer than `ns`.
herwin (Herwin W)
12:34 AM Revision d7369f02 (git): ZJIT: Add individual tests for complex arg pass counters
Make it easier to see what happens when one is changed. rwstauner (Randy Stauner)

11/14/2025

11:37 PM Revision 6fabca80 (git): Add rubygems package to fix cygwin CI
fd0 (Daisuke Fujimura)
10:26 PM Revision eb6e36a8 (git): Skip tests in TestThreadLockNativeThread when using LSAN
These tests use NM threads but NT is not freed for MN thread, causing it
to be reported as memory leaks in LSAN. For example:
#1 0x62ee7bc67e99 in calloc1 gc/default/default.c:1495:12
#2 0x62ee7bc7ba00 in rb_gc_impl_calloc gc/de...
peterzhu2118 (Peter Zhu)
09:35 PM Revision 89849f3b (git): ZJIT: Support JIT-to-JIT calls to callees with optional parameters
* Correct JIT entry points for optionals so each optional start with nil
before their initialization routine runs. Establish
`jit_entry_points[filled_opts_num]` gives the appropriate entry point
* Correct number of HIR block parameters ...
alanwu (Alan Wu)
09:35 PM Revision 5d35e244 (git): ZJIT: Check argument count matches callee's parameters
alanwu (Alan Wu)
09:35 PM Revision a0cce404 (git): ZJIT: Remove done TODO [ci skip]
alanwu (Alan Wu)
08:41 PM Revision e417f6fe (git): ZJIT: Remove dead function and set .freeze reason
Max Bernstein
08:41 PM Revision 491be578 (git): ZJIT: Move special Fixnum BOP_OR into cruby_methods
Max Bernstein
08:41 PM Revision 22d2bb01 (git): ZJIT: Move special Fixnum BOP_AND into cruby_methods
Max Bernstein
08:41 PM Revision 35c2c656 (git): ZJIT: Move special Fixnum BOP_GE into cruby_methods
Max Bernstein
08:41 PM Revision 236366cb (git): ZJIT: Move special Fixnum BOP_LE into cruby_methods
Max Bernstein
08:41 PM Revision 1c4240bc (git): ZJIT: Move special Fixnum BOP_LT into cruby_methods
Max Bernstein
08:41 PM Revision 11704932 (git): ZJIT: Move special Fixnum BOP_MOD into cruby_methods
Max Bernstein
08:41 PM Revision 0851c2aa (git): ZJIT: Move special Fixnum BOP_DIV into cruby_methods
Max Bernstein
08:41 PM Revision f0e57720 (git): ZJIT: Move special Fixnum BOP_MULT into cruby_methods
Max Bernstein
08:41 PM Revision 7a7035ee (git): ZJIT: Move special Fixnum BOP_NEQ into cruby_methods
Max Bernstein
08:41 PM Revision ad6ca3a7 (git): ZJIT: Move special Fixnum BOP_GT into cruby_methods
Max Bernstein
08:41 PM Revision 4683ce5f (git): ZJIT: Move special Fixnum BOP_MINUS into cruby_methods
Max Bernstein
08:41 PM Revision 47904d85 (git): ZJIT: Move special Fixnum BOP_PLUS into cruby_methods
Max Bernstein
08:41 PM Revision 94f701da (git): ZJIT: Move special Fixnum BOP_EQ into cruby_methods
Max Bernstein
07:49 PM Revision 8e01768a (git): ZJIT: Break out CFunc send fallback stats (#15193)
lobsters before:
```
Top-14 instructions with uncategorized fallback reason (100.0% of total 5,583,226):
invokesuper: 3,039,693 (54.4%)
invokeblock: 1,181,433 (21.2%)
sendforward: 572,612 (10.3%)...
tekknolagi (Maxwell Bernstein)
07:48 PM Revision 9e482969 (git): ext/socket: Set raddrinfo thread as detached before thread start (#15194)
Backport of https://github.com/ruby/ruby/pull/15142
[Bug #21679]
Luke Gruber
07:02 PM Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
Using a new macro, which can be used for any struct initialization, could be used throughout the Ruby code base, but most importantly in the one instance in the headers. Backwards compatibility in extension code can be achieved by then l... wsfulton (William Fulton)
06:46 PM Revision de157f42 (git): ZJIT: Skip a flaky DNS test (#15192)
Takashi Kokubun
06:16 PM Revision d966ba75 (git): Revert ".github/workflows: Stop ignoring RUBY_TESTOPTS"
This reverts commit 946695cdad874e91bc25bedc3c7b322934ca0f07.
Apparently this doesn't work for test-bundled-gems
k0kubun (Takashi Kokubun)
06:07 PM Revision 0b559eab (git): YJIT: Fix stack handling in rb_str_dup
Previously because we did a stack_push before ccall, in some cases we
could end up pushing an uninitialized value to the VM stack when
spilling regs as part of the ccall.
Co-authored-by: Luke Gruber <luke.gru@gmail.com>
jhawthorn (John Hawthorn)
05:52 PM Revision 946695cd (git): .github/workflows: Stop ignoring RUBY_TESTOPTS
$(RUBY_TESTOPTS) are used in $(TESTOPTS), so if you pass $(TESTOPTS),
it'd be ignored.
k0kubun (Takashi Kokubun)
05:29 PM Revision e4295bc3 (git): YJIT: Fix stack handling in rb_str_dup
Previously because we did a stack_push before ccall, in some cases we
could end up pushing an uninitialized value to the VM stack when
spilling regs as part of the ccall.
Co-authored-by: Luke Gruber <luke.gru@gmail.com>
jhawthorn (John Hawthorn)
05:28 PM Revision 286e3262 (git): ZJIT: Add tests for sending to methods with keyword args (#15183)
rwstauner (Randy Stauner)
04:45 PM Bug #21049 (Open): Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
mame (Yusuke Endoh)
10:10 AM Bug #21049: Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
@matz, in RubyMine we show users the values of numbered parameters as well
while debugging, but after this change we can no longer do so, since we don't have access to them.
I think introducing the dedicated API proposed in this is...
daniel.domjan (Dániel Domján)
04:32 PM Feature #21678: Enumerable#rfind
https://github.com/ruby/ruby/pull/15189 kddnewton (Kevin Newton)
04:27 PM Bug #21661 (Closed): Endless method definition as a default value of block parameter is wrongly accepted in Prism
Applied in changeset commit:git|bec69617a00e1d98748b319411f221568a4b6c66.
----------
[ruby/prism] Reject endless method as a block parameter default
Fixes [Bug #21661]
https://github.com/ruby/prism/commit/475fa46a82
Earlopain (Earlopain _)
04:27 PM Revision bec69617 (git): [ruby/prism] Reject endless method as a block parameter default
Fixes [Bug #21661]
https://github.com/ruby/prism/commit/475fa46a82
Earlopain (Earlopain _)
01:47 PM Revision 0e604623 (git): [ruby/prism] Use `method_defined?` instead of `instance_methods.include?`
While the latter creates an intermediate array of all method names
including all ancestors, the former just traverse the inheritance
chain and can stop if found once.
https://github.com/ruby/prism/commit/6da384dd0e
nobu (Nobuyoshi Nakada)
12:03 PM Feature #21572 (Closed): Make illegal variable in alternation pattern a syntax error
Applied in changeset commit:git|f4b6a5191ceb0ed0cd7a3e3c8bab24cc0dd15736.
----------
[Feature #21572] Syntax error at capture in alternation pattern
Should fail even with `-c` option.
nobu (Nobuyoshi Nakada)
12:03 PM Revision f4b6a519 (git): [Feature #21572] Syntax error at capture in alternation pattern
Should fail even with `-c` option. nobu (Nobuyoshi Nakada)
08:37 AM Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
> The fix simply defers suspending the thread until the syscall has been running for some short interval.
That's an idea we discussed in the past with @jhawthorn @tenderlovemaking and @luke-gru. IIRC that's something Go does?
byroot (Jean Boussier)
07:36 AM Revision 6f18898f (git): [ruby/rubygems] Removed deprecated Gem::Specification#has_rdoc, has_rdoc= and has_rdoc?
https://github.com/ruby/rubygems/commit/b043538576 hsbt (Hiroshi SHIBATA)
06:32 AM Revision dabc86a5 (git): [ruby/rubygems] Add pattern matching support to Gem::NameTuple
https://github.com/ruby/rubygems/commit/9b19e1f555 baweaver (Brandon Weaver)
06:25 AM Revision 068b35ce (git): [ruby/rubygems] Removed files for `gem query`
https://github.com/ruby/rubygems/commit/de269cfbb6 hsbt (Hiroshi SHIBATA)
06:25 AM Revision 4a0465da (git): [ruby/rubygems] Removed deprecated Gem::DependencyInstaller#find_gems_with_sources
https://github.com/ruby/rubygems/commit/1b3f3bf194 hsbt (Hiroshi SHIBATA)
06:23 AM Feature #21275: Update to Unicode 17.0
FYI: https://github.com/ruby/ruby/pull/15170 hsbt (Hiroshi SHIBATA)
03:27 AM Feature #21275 (Closed): Update to Unicode 17.0
Applied in changeset commit:git|cb3bc8ae3f02882debd5f56ee6ef8f99f0addda0.
----------
[Feature #21275] Bump Unicode version to 17.0.0
ima1zumi (Mari Imaizumi)
06:09 AM Revision 46227126 (git): [ruby/rubygems] bin/rubocop -a --only Layout/EmptyLinesAroundClassBody
https://github.com/ruby/rubygems/commit/94d4e633d1 hsbt (Hiroshi SHIBATA)
06:09 AM Revision ecec9dc6 (git): [ruby/rubygems] Removed deprecated Gem::Util.silent_system
https://github.com/ruby/rubygems/commit/728269cc4a hsbt (Hiroshi SHIBATA)
06:09 AM Revision 31928c10 (git): [ruby/rubygems] Removed deprecated Gem::Specification#validate_metadata, validate_dependencies and validate_permissions
https://github.com/ruby/rubygems/commit/fbf38fc190 hsbt (Hiroshi SHIBATA)
06:09 AM Revision 9fd3ab9e (git): [ruby/rubygems] Removed deprecated Gem::Specification#default_executable
https://github.com/ruby/rubygems/commit/84ceaff1b7 hsbt (Hiroshi SHIBATA)
06:09 AM Revision a6fa99fe (git): [ruby/rubygems] Removed deprecated Gem::Platform.match
https://github.com/ruby/rubygems/commit/f4b4f12f91 hsbt (Hiroshi SHIBATA)
06:09 AM Revision a242adc3 (git): [ruby/rubygems] Removed deprecated Gem::Installer#unpack
https://github.com/ruby/rubygems/commit/96cef34041 hsbt (Hiroshi SHIBATA)
06:09 AM Revision b3831efb (git): [ruby/rubygems] Removed deprecated Gem::BasicSpecification.default_specifications_dir
https://github.com/ruby/rubygems/commit/60f0b87d47 hsbt (Hiroshi SHIBATA)
05:22 AM Revision 917fd399 (git): [ruby/rubygems] Update vendored version of connection_pool to 2.5.4
https://github.com/ruby/rubygems/commit/3f5330c9fc hsbt (Hiroshi SHIBATA)
05:22 AM Revision e68c0fc7 (git): [ruby/rubygems] bin/rubocop -a --only Style/RedundantParentheses
https://github.com/ruby/rubygems/commit/be3b09c786 hsbt (Hiroshi SHIBATA)
05:22 AM Revision 2c546071 (git): [ruby/rubygems] Update the all dependencies with rake update
https://github.com/ruby/rubygems/commit/74c9eaf1f0 hsbt (Hiroshi SHIBATA)
03:27 AM Revision 47e3aff9 (git): Adapt to Unicode directory changes
https://www.unicode.org/Public/emoji/ReadMe.txt
> This directory contains data files for versions 1.0 to 16.0 of Unicode Emoji.
> ...
> https://www.unicode.org/Public/<version>/ucd/emoji/
ima1zumi (Mari Imaizumi)
03:27 AM Revision cb3bc8ae (git): [Feature #21275] Bump Unicode version to 17.0.0
ima1zumi (Mari Imaizumi)
03:24 AM Revision e39385bf (git): [ruby/rubygems] Use `method_defined?` instead of `instance_methods.include?`
While the latter creates an intermediate array of all method names
including all ancestors, the former just traverse the inheritance
chain and can stop if found once.
https://github.com/ruby/rubygems/commit/b291070b3b
nobu (Nobuyoshi Nakada)
03:22 AM Revision 256b4722 (git): [ruby/mmtk] Lock VM in fork hooks
If we are using multiple Ractors, other Ractors may allocate objects after
rb_gc_impl_before_fork is ran because it does not lock the VM. This can cause
the GC to be in a bad state since rb_gc_impl_before_fork may have terminated
GC thre...
peterzhu2118 (Peter Zhu)
03:02 AM Revision c92a44ee (git): ZJIT: Use Mem.num_bits in Mem split (#15177)
Fix the
```
write(2, "ruby: ZJIT has panicked. More info to follow...\n", 48) = 48
write(2, "\nthread '<unnamed>' panicked at zjit/src/backend/lir.rs:160:17:\nassertion failed: num_bits <= out_num_bits\n", 107) = 107
```
based on
```
...
tekknolagi (Maxwell Bernstein)
02:28 AM Revision e826f815 (git): [DOC] Tweaks for String#tr_s!
burdettelamar (Burdette Lamar)
02:27 AM Revision 6c7453c5 (git): [DOC] Tweaks for String#tr_s
burdettelamar (Burdette Lamar)
02:27 AM Revision 7ea0d369 (git): [DOC] Tweaks for String#tr!
burdettelamar (Burdette Lamar)
02:23 AM Revision 560ec9bf (git): Skip null check for `brace_block`
`brace_block` is `'{' brace_body '}'` or `k_do do_body k_end`.
Both of them are not null so no need to check `$5`.
yui-knk (Kaneko Yuichiro)
02:16 AM Revision 8a58e66a (git): [ruby/rubygems] Suppress gem build message of bundler like this:
```
$ rake spec:regular
Successfully built RubyGem
Name: bundler
Version: 4.0.0.dev
File: bundler-4.0.0.dev.gem
```
https://github.com/ruby/rubygems/commit/8f0ca5eefa
hsbt (Hiroshi SHIBATA)
12:37 AM Revision 6e5bbbc5 (git): Remove `include` prefix from include paths
isuckatcs
12:19 AM Revision d9bb6027 (git): [ruby/rubygems] Re-generate lockfile with double spaces
https://github.com/ruby/rubygems/commit/a65a4b775e hsbt (Hiroshi SHIBATA)
12:19 AM Revision 5924765b (git): [ruby/rubygems] Fix triple spacing when generating lockfile
https://github.com/ruby/rubygems/commit/d3baf4110e Jimmy Lin

11/13/2025

11:34 PM Bug #21685 (Open): Unnecessary context-switching, especially bad on multi-core machines.
While debugging a performance issue in a large rails application, I wrote a minimal microbenchmark that reproduces the issue. [[here]](https://gist.github.com/jpl-coconut/cb3679ce885eb578e1071c4b3a525d5c) I was surprised to see that the ... jpl-coconut (Jacob Lacouture)
10:34 PM Bug #21679: Segfault when ruby calls pthread_detach in rb_getnameinfo
I believe we were getting segfaults because this commit is also not on the 3_4 branch: https://github.com/ruby/ruby/pull/14277/commits/c42ecaeb0489a7e9fc8b245982ee31c5c9ab0125. Our DNS lookups were so fast and racing with the shutdown of... luke-gru (Luke Gruber)
09:42 PM Bug #21679 (Closed): Segfault when ruby calls pthread_detach in rb_getnameinfo
Applied in changeset commit:git|f100298e28b3f3db93956a563a11c5cc1dbcb0a7.
----------
ext/socket: Set raddrinfo thread as detached before thread start (#15142)
We were seeing segfaults when calling `pthread_detach`. Apparently in
some v...
Anonymous
09:42 PM Revision f100298e (git): ext/socket: Set raddrinfo thread as detached before thread start (#15142)
We were seeing segfaults when calling `pthread_detach`. Apparently in
some versions of glibc there is a race between when this is called
(usually right after starting a thread) and a short-lived thread's
shutdown routine. The bug has bee...
Luke Gruber
05:11 PM Bug #15773: Net::HTTP doesn't try next IP address in case of timeout
I was surprised to notice this is still the case in Ruby 3.3. I understand it could be a lot of work and I'm not asking for it to be implemented by other people right away of course. But at least was there any change in the refusal of im... adrienjarthon (Adrien Jarthon)
04:58 PM Misc #21684 (Open): Does IO#pos clear the buffer?
I'm working on io.c and I'm confused by the difference between how the code looks and how it behaves.
There is a function `io_unread(rb_io_t *fptr, bool discard_rbuf)` and this seems to discard buffer only if discard_rbuf is truthy.
...
YO4 (Yoshinao Muramatsu)
04:58 PM Bug #20889: IO#ungetc and IO#ungetbyte should not cause IO#pos to report an inaccurate position
I checked #20869 and [DevMeeting-2024-11-07](https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-11-07.md).
On that basis, I will now state my current opinion.
IO#ungetc
* As stated in #21682, the character buff...
YO4 (Yoshinao Muramatsu)
04:02 PM Revision d58960a9 (git): Update default gems list at 244a4bedc25a402af8f5112ce35b4d [ci skip]
git[bot]
04:01 PM Revision 244a4bed (git): [ruby/net-http] releng v0.8.0
https://github.com/ruby/net-http/commit/9d65391f54 sorah (Sorah Fukumori)
03:23 PM Feature #21678: Enumerable#rfind
That makes sense! I'm totally fine with it just being on Array. kddnewton (Kevin Newton)
07:29 AM Feature #21678: Enumerable#rfind
The `Enumerable` module basically relies on the `#each` method which only works in the forward direction, and the only way to scan backwards is to convert it to an array once. I agree with `Array#rfind` (which can be implemented efficien... matz (Yukihiro Matsumoto)
02:33 PM Revision 1d903b72 (git): [ruby/net-http] Drop support for Ruby 2.6
https://github.com/ruby/net-http/commit/a3a5bc45f6 Taketo Takashima
02:33 PM Revision 2ab21f56 (git): [ruby/net-http] Fix handling of IPv6 literal hosts in `Net::HTTPGenericRequest`
Update uri dependency to version 0.11.0 or later to use `URI::HTTP#authority` and `URI#parse` without scheme
https://github.com/ruby/net-http/commit/3d4f06bd7f
Co-authored-by: 0x1eef <0x1eef@users.noreply.github.com>
Co-authored-by: So...
Taketo Takashima
01:42 PM Bug #21654 (Closed): Set#new calls extra methods compared to previous versions
Applied in changeset commit:git|61500c6f48135ef018f5e496ff292a86b0043c65.
----------
Add size checks to Range#to_set and Enumerator#to_set [Bug #21654]
These two class are most common sources of infinite sequences. This change should ...
Anonymous
10:54 AM Bug #21654: Set#new calls extra methods compared to previous versions
I'll do the implementation. knu (Akinori MUSHA)
01:42 PM Bug #21513 (Closed): Converting endless range to set hangs
Applied in changeset commit:git|25c871fddf430d18a1f0a794a0f81598e9b79727.
----------
Revert "[Bug #21513] Raise on converting endless range to set"
This reverts commit d4020dd5faf28486123853e7f00c36139fc07793, which introduced performa...
Anonymous
01:19 PM Bug #21513: Converting endless range to set hangs
I could add Enumerator#to_a that performs a size check, but that would break tests for Enumerator.produce that defaults the size to infinity. We need more consideration. knu (Akinori MUSHA)
01:00 PM Revision 61500c6f (git): Add size checks to Range#to_set and Enumerator#to_set [Bug #21654]
These two class are most common sources of infinite sequences. This change should effectively prevent accidental infinite loops when calling to_set on them. [Bug #21513] Akinori MUSHA
01:00 PM Revision 25c871fd (git): Revert "[Bug #21513] Raise on converting endless range to set"
This reverts commit d4020dd5faf28486123853e7f00c36139fc07793, which introduced performance regression for objects like ActiveRecord::Relation by calling the costly #size method on them. Akinori MUSHA
12:27 PM Revision 4a1b88af (git): Exclude lib/unicode_normalize from lib/un
nobu (Nobuyoshi Nakada)
11:59 AM Revision 19c2c7e6 (git): [ruby/rubygems] Fixed with Performance/RegexpMatch cop
https://github.com/ruby/rubygems/commit/93b8492bc0 hsbt (Hiroshi SHIBATA)
10:53 AM Misc #21681: Clarification on the Status and Roadmap of Ruby Box for Ruby 4.0
Thank you for the detailed explanation! That clears things up a lot. Wishing Ruby Box a smooth landing in Ruby 4.0. Really looking forward to seeing how it evolves. dmitry.pogrebnoy (Dmitry Pogrebnoy)
10:06 AM Misc #21681: Clarification on the Status and Roadmap of Ruby Box for Ruby 4.0
> what is the final vision/scope of the Ruby Box feature?
That is described in the document ([doc/box.md](https://github.com/ruby/ruby/blob/master/doc/box.md)) in the source tree.
> ...
Ruby Box is still experimental and disabled ...
tagomoris (Satoshi Tagomori)
10:42 AM Revision d80aa368 (git): Ractor support Windows platform. We need to skip only failing tests of RubyGems
hsbt (Hiroshi SHIBATA)
10:18 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
cfis (Charlie Savage) wrote in #note-13:
> if the call goes through `rb_w32_fclose` the saved file is corrupted/invalid.
@nobu is curious *why* it's getting corrupted, given that `rb_w32_fclose` just delegates to the original `fclose...
mame (Yusuke Endoh)
10:07 AM Feature #21311 (Closed): Namespace on read (revised)
Now this feature is merged into Ruby as `Ruby::Box`.
tagomoris (Satoshi Tagomori)
08:40 AM Bug #21683 (Closed): IO#each_codepoint do not take care of encoding when IO uses encoding conversion for reading.
Applied in changeset commit:git|7e37e4e743a1ca1d5d7bbb87cdd9b943e3a4fe1d.
----------
[Bug #21683] Respect reading encoding at `each_codepoint`
nobu (Nobuyoshi Nakada)
08:11 AM Feature #20437: Could the licensing conditions be made less ambiguous?
I think“Ruby's License” is something described in COPYING, i.e., it is inseparable from BSD-2clause. Historically it was combination with GPL, so some description should be updated.
Matz.
matz (Yukihiro Matsumoto)
07:15 AM Revision 7e37e4e7 (git): [Bug #21683] Respect reading encoding at `each_codepoint`
nobu (Nobuyoshi Nakada)
06:28 AM Revision 25348548 (git): [ruby/rubygems] We don't need to allow some warning because:
Always build gems with RubyGems programmatically
https://github.com/ruby/rubygems/commit/5cc0c34e64
deivid (David Rodríguez)
05:29 AM Revision 3c68b781 (git): Use omit instead of return in assertion
hsbt (Hiroshi SHIBATA)
05:29 AM Revision 13407d95 (git): Omit assert_ractor with Windows platform
hsbt (Hiroshi SHIBATA)
04:44 AM Revision 2c1b1751 (git): [ruby/rubygems] Add debug logging information:
- I'd like to be able to see how long bundler takes for basic
operations such as downloading a gem from Rubygems.org and
installing a gem.
It will now be possible with this commit by running
`DEBUG=true bundle install` and have ...
Edouard CHIN
04:34 AM Revision b4b7809f (git): Use path in tmpdir instead of IO::NULL
The path already used in tool/test/test_sync_default_gems.rb .
Try to fix errors on Windows.
https://github.com/ruby/ruby/actions/runs/19316448613/job/55248700110
znz (Kazuhiro NISHIYAMA)
04:23 AM Revision fe1e1c78 (git): [ruby/rubygems] Adjust the API_REQUEST_LIMIT:
- ### Problem
This limit is used when Bundler fallback to getting a dependency
list from a server `/dependencies?gem=` endpoint. Bundler uses
this API endpoint fallback when a server doesn't expose the compact
index API.
This ...
Edouard CHIN
03:39 AM Bug #18878: parse.y: Foo::Bar {} is inconsistently rejected
Pull Request: https://github.com/ruby/ruby/pull/15165 yui-knk (Kaneko Yuichiro)
03:34 AM Bug #21682: The result of IO#pos is inconsistent after using IO#ungetc.
It was my mistake not to mention #20889.
Regarding #20889, I recall being unable to decide my own opinion due to concerns about compatibility.
The situations differ between `IO#ungetc` and `IO#ungetbyte`.
* `ungetc` has different be...
YO4 (Yoshinao Muramatsu)
01:57 AM Revision 057c6e3b (git): Revert "include ruby.h to avoid load failures"
This reverts commit 35783854244f8dc6a9f7fb4dfae752f8361c66bd. hsbt (Hiroshi SHIBATA)
01:06 AM Revision 3dd32fdf (git): ZJIT: Revert patch_point_count counter (#15160)
Takashi Kokubun
12:34 AM Revision 37a05b59 (git): Ignore ~/.gitconfig
I use `commit.gpgsign=true`, so I want to ignore it in tests. znz (Kazuhiro NISHIYAMA)
12:06 AM Revision 8f9b038d (git): ZJIT: Add standalone JSON implementation (#15162)
I split this off from https://github.com/ruby/ruby/pull/14999 to land the JSON component earlier.
Iongraph's viewer is (as mentioned in the article above) a few notches above graphviz for viewing large CFGs. It also allows easily inspec...
aidenfoxivey (Aiden Fox Ivey)
 

Also available in: Atom