Project

General

Profile

Activity

From 10/27/2025 to 11/02/2025

Today

10:11 PM Ruby Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
I would also like to know if the next Ruby version is 3.5.0 or 4.0.0 precisely because Ruby doesn't follow Semantic Versioning. Having this knowledge sooner rather than later means I can pin my gemspecs to the correct version (and/or ver... bkuhlmann (Brooke Kuhlmann)
10:00 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
Dan0042 (Daniel DeLorme) wrote in #note-28:
> But to be honest, as @hsbt said in #17473, "I'm happy to use Pathname without require it." and that's really all I am looking for as well.
That's a trap though because without requiring i...
Eregon (Benoit Daloze)
09:41 PM Ruby Bug #21664: Segfault when running Ractor tests in the same process
Once this bug is fixed I think it would be valuable to run these tests together in the same process, as that's a much stronger test than running tiny pieces of code each in their own process (what the bootstrap test harness does).
Notab...
Eregon (Benoit Daloze)
09:38 PM Ruby Bug #21664 (Open): Segfault when running Ractor tests in the same process
When running the tests from https://github.com/ruby/ruby/blob/master/bootstraptest/test_ractor.rb in a single process, I see segfaults occurring every time on the following tests:
```
# move object with generic ivar
# move object with...
Eregon (Benoit Daloze)
06:44 PM Ruby Revision 4a3d8346 (git): [DOC] Tweaks for String#to_f
burdettelamar (Burdette Lamar)
05:06 PM Ruby Revision c83a249f (git): pend on Windows for timeouts
Satoshi Tagomori
05:06 PM Ruby Revision 89fa15b6 (git): Fix incorrect RUBY_DEBUG range
Satoshi Tagomori
05:06 PM Ruby Revision 0116dd5e (git): Make Namespace.root visible not only for debugging
There are many APIs that expects application codes overwrite global methods.
For example, warn() expects Warning.warn() is overwritten to hook warning
messages.
If we enable namespace, Warning.warn defined in the app code is visible
only...
Satoshi Tagomori
05:06 PM Ruby Revision fa4c04a7 (git): Use CFUNC namespace only for IFUNC frames, its behavior should be unchanged
Satoshi Tagomori
05:06 PM Ruby Revision 12303e2e (git): Fix use of inappropriate debug flag
Satoshi Tagomori
05:06 PM Ruby Revision bb62a1cf (git): Add flag to ignore EXPERIMENTAL warnings
Satoshi Tagomori
05:06 PM Ruby Revision e89eecce (git): No need to call rb_define_class/module_under_id
Classes/modules defined in a namespace are defined under ::Object
as usual (as without namespaces), and it'll be set into the const_tbl
of ::Object.
In namespaces, namespace objects' const_tbl is equal to the one of ::Object.
So constant...
Satoshi Tagomori
05:06 PM Ruby Revision bc77a11b (git): Add basic namespace tests
Satoshi Tagomori
04:25 PM Ruby Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
Isn't this related to this problem with GCC? https://bugs.ruby-lang.org/issues/21655#change-114967 ufuk (Ufuk Kayserilioglu)
04:18 PM Ruby Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
wsfulton (William Fulton) wrote in #note-4:
> Fixing this warning, in particular, removes undefined behaviour.
Can you explain what the undefined behavior is? My understanding is that in both C and C++, the behavior is defined to ze...
jeremyevans0 (Jeremy Evans)
12:18 PM Ruby Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
Keep code warning free improves the code quality. Fixing this warning, in particular, removes undefined behaviour. Are the core Ruby developers supportive of these goals and consider a patch to fix this warning and possibly even making i... wsfulton (William Fulton)
02:51 PM Ruby Bug #21661: Endless method definition as a default value of block parameter is wrongly accepted in Prism
Inside `| |` style block parameter, binary operators (example: `1+2`, `1|2`) are rejected because we need to reject ambiguous `|`.
On the right hand side of assignment and endless def, binary operators are allowed, unless we introduce a...
tompng (tomoya ishida)
12:00 PM Ruby Bug #21661: Endless method definition as a default value of block parameter is wrongly accepted in Prism
It isn't specifically about block locals, `p do |a = def f = 1, b| end` is the same.
`p do |a = def f = 1| 2; b|c end` becomes `p do |a = (def f = 1| 2); b|c end`, so one block local `b` and method body of `c`. The same issue as the f...
Earlopain (Earlopain _)
02:48 PM Ruby Revision 5153a2dc (git): [ruby/json] Invoke `as_json` callback for strings with invalid encoding
Fix: https://github.com/ruby/json/issues/873
This allow users to encode binary strings if they so wish.
e.g. they can use Base64 or similar, or chose to replace invalid
characters with something else.
https://github.com/ruby/json/commi...
byroot (Jean Boussier)
02:39 PM Ruby Revision 11583f53 (git): [DOC] Update bundled gems list at ee7ce9e6d71c7707d13541e9baa3a5
git[bot]
02:38 PM Ruby Revision ee7ce9e6 (git): Update power_assert to 3.0.0
ktsj (Kazuki Tsujimoto)
02:17 PM Ruby Revision 37c71536 (git): Make rb_str_embed_size aware of termlen
peterzhu2118 (Peter Zhu)
02:17 PM Ruby Revision 2380f69f (git): Fix array allocation when slot size < 40 bytes
We need to allocate at least sizeof(struct RArray) when the array is
embedded on garbage collectors that support slot sizes less than 40 bytes.
peterzhu2118 (Peter Zhu)
02:17 PM Ruby Revision dba4c9fb (git): Fix string allocation when slot size < 40 bytes
We need to allocate at least sizeof(struct RString) when the string is
embedded on garbage collectors that support slot sizes less than 40 bytes.
peterzhu2118 (Peter Zhu)
11:38 AM Ruby Bug #21663 (Open): IO#pos will corrupt the file position in specific situation.
`IO#pos` and `IO#tell` will corrupt the file position in the following situation.
### Situation:
- Running on Windows. (`RUBY_CRLF_ENVIRONMENT` is defined.)
- The filesize is over 0x100000000 bytes.
- The file is opened in text mod...
t_nagaya (Tsutomu Nagaya)
10:22 AM Ruby Revision bd51b20c (git): minor code allignment (related to bug 21559)
duerst (Martin Dürst)
10:13 AM Ruby Bug #21662 (Feedback): Variables other than those in the conditional score are replaced.
I try to guesstimate your intension by telepathy.
binh (binh chau) wrote:
> ```ruby
> ...
You might had expected the third `bar` is a `Bar`.
In fact, the first `bar` in `!bar.is_a?(Bar)` is the attribute.
But the assignment in t...
nobu (Nobuyoshi Nakada)
07:17 AM Ruby Bug #21662 (Feedback): Variables other than those in the conditional score are replaced.
```ruby
class Bar
attr_accessor :name
end
class Foo
attr_accessor :bar
def initialize(bar=nil)
@bar = bar || Bar.new
end
def bug!
if !bar.is_a?(Bar)
bar = ''
elsif bar.name == 'bar'
end
...
binh (binh chau)
08:21 AM Ruby Revision f827b116 (git): [ruby/erb] Fix typo in documentation
(https://github.com/ruby/erb/pull/91)
https://github.com/ruby/erb/commit/6bceee7d6e
Alejandro Exojo
06:17 AM Ruby Bug #21560: RUBY_MN_THREADS=1 causes large performance regression in Puma 7
ruby_3_3 commit:609f957ebede1a062b1f34515382e4c306f77444 merged revision(s) commit:ffc69eec0a5746d48ef3cf649639c67631a6a609, commit:0531fa4d6fea100f69f0bac9e03973fe49ecd570. nagachika (Tomoyuki Chikanaga)
05:50 AM Ruby Revision 609f957e (git): merge revision(s) ffc69eec0a5746d48ef3cf649639c67631a6a609, 0531fa4d6fea100f69f0bac9e03973fe49ecd570: [Backport #21560]
[PATCH] `struct rb_thread_sched_waiting`
Introduce `struct rb_thread_sched_waiting` and `timer_th.waiting`
can contain other than `rb_thread_t`.
[PATCH] mn timer thread: force wakeups for timeouts
nagachika (Tomoyuki Chikanaga)
05:42 AM Ruby Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
ruby_3_3 commit:f0feca1a8495eba2706a7914f0c4f8128c281366. nagachika (Tomoyuki Chikanaga)
05:12 AM Ruby Revision 780c2b98 (git): Remove old code for BMH search
Remove the code for Boyer-Moore-Horspool search.
Now we are using Sunday's quick search.
https://github.com/k-takata/Onigmo/commit/3d9072419a1578b742a422412d004fd8a54209fd
k_takata (Ken Takata)
05:12 AM Ruby Revision cd116d2a (git): Fix initialization of the table for quick search
This fixes k-takata/Onigmo#120.
The commit k-takata/Onigmo@9c13de8d0684ebde97e3709d7693997c81ca374b was insufficient.
https://github.com/k-takata/Onigmo/commit/1de602ddff140d91419e3f86dd35c81d7bd2d8e7
k_takata (Ken Takata)
05:12 AM Ruby Revision 9f81d530 (git): Avoid negative character
Better fix for k-takata/Onigmo#107.
https://github.com/k-takata/Onigmo/commit/85393e4a63223b538529e7095255ce1153c09cff
k_takata (Ken Takata)
05:12 AM Ruby Revision 70aeeeb5 (git): Fix lgtm.com warnings
* Multiplication result may overflow 'int' before it is converted to
'OnigDistance'.
* Comparison is always true because code <= 122.
* This statement makes ExprStmt unreachable.
* Empty block without comment
https://github.com/k-taka...
k_takata (Ken Takata)
05:11 AM Ruby Revision f0feca1a (git): [Bug #13671] Fix that "ss" in look-behind causes syntax error
Fixes k-takata/Onigmo#92.
This fix was ported from oniguruma:
https://github.com/kkos/oniguruma/commit/257082dac8c6019198b56324012f0bd1830ff4ba
https://github.com/k-takata/Onigmo/commit/b1a5445fbeba97b3e94a733c2ce11c033453af73
k_takata (Ken Takata)
05:10 AM Ruby Revision cbc1460e (git): Revert "[tune] implicit-anchor optimization"
This reverts commit 282338f88a8bf0807a7a1d21b06f78abe9de8fac.
It seems that the commit didn't improve the performance.
Revert it to fix k-takata/Onigmo#100.
https://github.com/k-takata/Onigmo/commit/cef834cb3a6e278fa252f52b704c65175a970ac0
k_takata (Ken Takata)
05:09 AM Ruby Revision 6809ba2f (git): Fix performance problem with /k/i and /s/i (Close k-takata/Onigmo#97)
E.g.
For the pattern `/----k/i`, optimization was totally turned off.
Make it possible to use the characters before `k` (i.e. `----`) for
optimization.
https://github.com/k-takata/Onigmo/commit/9c13de8d0684ebde97e3709d7693997c81ca374b
k_takata (Ken Takata)
05:05 AM Ruby Revision e02c892a (git): Fix indents in Onigmo files to use spaces instead of tabs (#14047) [no ci]
make_now_just (Hiroya Fujinami)
04:41 AM Ruby Bug #21625: Allow IO#wait_readable together with IO#ungetc even in text mode
ruby_3_3 commit:30f661951bb19f69cf55388c76ecaf7b0be41079 merged revision(s) commit:12350eb9e0d3317da57b5a37c0c2810946b48850. nagachika (Tomoyuki Chikanaga)
04:34 AM Ruby Revision 2c7fd073 (git): [DOC] Update bundled gems list at 22496e2fe6ea4d354d039927a33458
git[bot]
04:33 AM Ruby Revision 22496e2f (git): Update bundled irb and repl_type_completor version (#15030)
tompng (tomoya ishida)
04:28 AM Ruby Revision 30f66195 (git): merge revision(s) 12350eb9e0d3317da57b5a37c0c2810946b48850: [Backport #21625]
[PATCH] [Bug #21625] Allow io/wait methods with `IO#ungetc` in text mode nagachika (Tomoyuki Chikanaga)
02:10 AM Ruby Bug #21559: Unicode normalization nfd -> nfc -> nfd is not reversible
Backport would only be needed if the upgrade to Unicode 16.0.0 (see https://bugs.ruby-lang.org/issues/20724) is backported. duerst (Martin Dürst)
02:06 AM Ruby Bug #21559 (Closed): Unicode normalization nfd -> nfc -> nfd is not reversible
Added regression test at https://github.com/ruby/ruby/commit/a122d7a58e91ed6cd531e906cb398688d7cc8b17
and fix at https://github.com/ruby/ruby/commit/e4c8e3544237b8c0efba6b945173dc66552d641c.
Many thanks to Tomoya Ishida for finding thi...
duerst (Martin Dürst)
12:27 AM Ruby Revision e4c8e354 (git): Remove recursion in UnicodeNormalize.nfc_one, fixing bug 21159.
duerst (Martin Dürst)
12:27 AM Ruby Revision 83a943b5 (git): Add test for Unicode normalization of Gurung Khema.
duerst (Martin Dürst)
12:27 AM Ruby Revision a122d7a5 (git): Add regression test for bug 21559.
duerst (Martin Dürst)

11/01/2025

07:14 PM Ruby Revision 48c7f349 (git): Fix rescue in test_ractor.rb
Eregon (Benoit Daloze)
04:07 PM Ruby Bug #21560: RUBY_MN_THREADS=1 causes large performance regression in Puma 7
The 3.4 backport was merged, but the 3.3 backport doesn't apply cleanly. byroot (Jean Boussier)
07:53 AM Ruby Bug #21560: RUBY_MN_THREADS=1 causes large performance regression in Puma 7
I forgot it was introduced in 3.3. It is eligible for backport, but ultimately that decision is up to each branch maintainers. byroot (Jean Boussier)
03:51 PM Ruby Revision 7ec94afa (git): mn timer thread: force wakeups for timeouts
andremuta (Andre Muta)
03:49 PM Ruby Bug #21660: No-parentheses endless method definition that has parameter destructuring is wrongly accepted in Prism
Sorry, I forgot about your comment on https://github.com/ruby/prism/pull/3674. https://github.com/ruby/prism/pull/3700 will fix this Earlopain (Earlopain _)
07:27 AM Ruby Bug #21660 (Open): No-parentheses endless method definition that has parameter destructuring is wrongly accepted in Prism
This is syntax error in parse.y but not in Prism.
~~~ruby
def f a, (b) = 1
~~~
Related to #21623
tompng (tomoya ishida)
02:47 PM Ruby Revision 390d77ba (git): Fix memory leak in String#encode when StringValue raises
The following script leaks memory:
10.times do
100_000.times do
"\ufffd".encode(Encoding::US_ASCII, fallback: proc { Object.new })
rescue
end
puts `ps -o rss= -p #{$$}`
end
Before:
450244
...
peterzhu2118 (Peter Zhu)
02:35 PM Ruby Revision 5384136e (git): [ruby/json] Enable JSON_DEBUG for parser/extconf.rb
https://github.com/ruby/json/commit/82b030f294 byroot (Jean Boussier)
01:58 PM Ruby Revision af0597f0 (git): [ruby/json] Enable JSON_DEBUG for parser/extconf.rb
https://github.com/ruby/json/commit/3ea744ad67 byroot (Jean Boussier)
01:50 PM Ruby Bug #21645: Can't `require "resolve"` on Windows under Bundler without warnings
There's a new windows-head build that I tried now. Unfortunately I still get this error. The difference seems to be that `bundler-cache: true` specifies a vendor directory for bundle install, which I skipped when applying the change. So ... Earlopain (Earlopain _)
12:06 PM Ruby Revision a97f4c62 (git): [ruby/json] parser.c: Appease GCC warning
```
../../../../../../ext/json/ext/parser/parser.c:1142:40: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
1142 | if (RB_UNLIKELY(first_digit == '0' && mantissa_digits > 1 || negative && mantissa_digits == 0))...
byroot (Jean Boussier)
12:00 PM Ruby Revision ed7229ea (git): [ruby/json] parser.c: Use SWAR to skip consecutive spaces
Closes: https://github.com/ruby/json/pull/881
If we encounter a newline, it is likely that the document is pretty printed,
hence that the newline is followed by multiple spaces.
In such case we can use SWAR to count up to eight consecu...
byroot (Jean Boussier)
11:16 AM Ruby Revision 94287b1e (git): Make the expectation more precise in Ractor.make_shareable(Proc) test
Eregon (Benoit Daloze)
11:16 AM Ruby Revision 33a026fe (git): Fix the description and logic for the Ractor.make_shareable(Proc) test
Eregon (Benoit Daloze)
10:22 AM Ruby Revision babf50e3 (git): [ruby/json] Use SWAR for parsing integers on little endian machines
Closes: https://github.com/ruby/json/pull/878
```
== Parsing float parsing (2251051 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24]
Warming up ------------------------...
byroot (Jean Boussier)
10:10 AM Ruby Revision db570804 (git): [DOC] How to use `make matz`
nobu (Nobuyoshi Nakada)
09:58 AM Ruby Revision 5ce27bef (git): Flush NEWS.md only when NEW is not given
Split flushing NEWS and bumping up versions nobu (Nobuyoshi Nakada)
09:54 AM Ruby Revision bca8fce7 (git): [ruby/json] parser.c: Introduce `rest()` helper
https://github.com/ruby/json/commit/11f4e7b7be byroot (Jean Boussier)
09:41 AM Ruby Revision 1942cb21 (git): [ruby/json] Add test coverage for T_BIGNUM parsing
https://github.com/ruby/json/commit/f0150e2944 byroot (Jean Boussier)
09:40 AM Ruby Revision b3d5c966 (git): [ruby/json] parser.c: Introduce `peek()` and `eos()` helpers
Encapsulate pointer arithmetic to reduce possibility of mistakes.
https://github.com/ruby/json/commit/8b39407225
byroot (Jean Boussier)
08:52 AM Ruby Revision a6bdf52b (git): [ruby/json] parser.c: Extract json_parse_digits
https://github.com/ruby/json/commit/1bf405ecc6 byroot (Jean Boussier)
08:52 AM Ruby Revision 6e2e7a33 (git): [ruby/json] parser.c: Extract `json_parse_number`
https://github.com/ruby/json/commit/2681b23b87 byroot (Jean Boussier)
08:16 AM Ruby Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
wsfulton (William Fulton) wrote in #note-2:
> This happens when compiling an EXTENSION. We have always used -Wmissing-field-initializers in our extensions and now they are broken. New Ruby releases really MUST NOT introduce new warnings...
jeremyevans0 (Jeremy Evans)
07:37 AM Ruby Bug #21659: rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
This happens when compiling an EXTENSION. We have always used -Wmissing-field-initializers in our extensions and now they are broken. New Ruby releases really MUST NOT introduce new warnings for extensions which have to include Ruby.h. wsfulton (William Fulton)
01:01 AM Ruby Bug #21659 (Feedback): rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
In configure.ac, we add `-Wno-missing-field-initializers` explicitly if available.
Are you adding that `-Werror -Wmissing-field-initializer` by yourself?
nobu (Nobuyoshi Nakada)
07:28 AM Ruby Bug #21661 (Open): Endless method definition as a default value of block parameter is wrongly accepted in Prism
These are syntax error in parse.y but not in Prism.
~~~ruby
p do |a = def f = 1; b| end
p do |a = def f = 1| 2; b|c end # `|` inside block parameter
~~~
Normal assignment as a default value `p do |a = b = 1| end` is already syntax e...
tompng (tomoya ishida)
06:50 AM Ruby Revision 8c190052 (git): Update bundled gems list as of 2025-10-31
git[bot]
02:39 AM Ruby Bug #21658 (Rejected): Encoding objects are dumped with an encoding of US-ASCII
That is not an instance variable of an `Encoding` instance, but the instance variable for the encoding of the name. nobu (Nobuyoshi Nakada)
01:23 AM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
mame (Yusuke Endoh) wrote in #note-13:
> My concern is that the expectation to "if it's at all possible to raise early" is a slippery slope with no clear boundary.
I don't think it's slippery at all. There's a very clear difference betw...
Dan0042 (Daniel DeLorme)
12:18 AM Ruby Revision 17a7b4e0 (git): [DOC] Fix typo in `Hash#compare_by_identity` docs
sampersand2 (Sam Westerman)

10/31/2025

11:32 PM Ruby Revision 8db30094 (git): ZJIT: Fix incorrect elision of call to BasicObject#!=
rb_obj_not_equal() uses rb_funcall(), so it's not `no_gc`, `leaf`, nor
`elidable`.
alanwu (Alan Wu)
11:21 PM Ruby Bug #21560: RUBY_MN_THREADS=1 causes large performance regression in Puma 7
This is also an issue with 3.3.10 and 3.4.7. Should it be backported? The original [commit](https://github.com/ruby/ruby/commit/be1bbd5b7d40ad86) happened on 12-Oct-2023 MSP-Greg (Greg L)
10:45 PM Ruby Bug #21659 (Feedback): rstring.h error: missing initializer for field ‘len’ of ‘struct RString’ [-Werror=missing-field-initializers] starting in ruby-3.3.10
All extensions now have this error when using -Werror -Wmissing-field-initializers:
```
In file included from /home/runner/.rvm/rubies/ruby-3.3.10/include/ruby-3.3.0/ruby/internal/arithmetic/char.h:29,
from /home/run...
wsfulton (William Fulton)
09:09 PM Ruby Revision cc8cfbcd (git): ZJIT: Standardize variable name for callable method entry (#15021)
st0012 (Stan Lo)
08:32 PM Ruby Revision b931199d (git): Avoid duping cc table when cme == NULL
jhawthorn (John Hawthorn)
08:32 PM Ruby Revision 4fc9ad52 (git): Remove always true conditonals in vm_populate_cc
jhawthorn (John Hawthorn)
07:48 PM Ruby Revision 7688b050 (git): ZJIT: Optimize VM_METHOD_TYPE_ALIAS (#15018)
Just loop until you find a non-alias. tekknolagi (Maxwell Bernstein)
07:47 PM Ruby Revision ab01fcc5 (git): ZJIT: Let AssemblerPanicHook write into stderr (#15019)
Takashi Kokubun
07:10 PM Ruby Misc #21647: DevMeeting-2025-11-13
* [Bug #21654] Set#new calls extra methods compared to previous versions
* Set#new is calling "size" on its input, this is causing extra database queries in our app
* The bug was introduced in d4020dd5faf28486123853e7f00c36139fc077...
tenderlovemaking (Aaron Patterson)
07:05 PM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
mame (Yusuke Endoh) wrote in #note-13:
> I understand your point, but I personally disagree.
> ...
💯
> That said, I recall @matz expressing a similar concern to yours. I would like to hear his opinion on this matter.
I'll add thi...
tenderlovemaking (Aaron Patterson)
07:15 AM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
I understand your point, but I personally disagree.
My concern is that the expectation to "if it's at all possible to raise early" is a slippery slope with no clear boundary.
For example, an operation like `(1..1<<100).to_a` will a...
mame (Yusuke Endoh)
06:08 PM Ruby Revision 980e1849 (git): namespace.c: Fix -Wunused-function warnings
k0kubun (Takashi Kokubun)
05:54 PM Ruby Revision 2c88500c (git): ZJIT: Simplify some profiling APIs (#15017)
tekknolagi (Maxwell Bernstein)
04:02 PM Ruby Revision 6bdb2027 (git): [ruby/json] Fix memory leak when exception is raised during JSON generation part 2
Commit https://github.com/ruby/json/commit/44df509dc2de fixed it for StandardError, but other exceptions and
jumps are also possible. Use rb_ensure() to release FBuffer instead of
rb_rescue().
A reproducer:
o = Object.new
def o...
rhenium (Kazuki Yamaguchi)
03:59 PM Ruby Bug #21658 (Rejected): Encoding objects are dumped with an encoding of US-ASCII
All encodings get Marshal.dump'ed with an encoding instance variable:
```
$ cx ruby-3.4 ruby -e 'Encoding.constants.each { p Marshal.dump(Encoding.const_get(it)) }'
"\x04\bIu:\rEncoding\x10MacJapanese\x06:\x06EF"
"\x04\bIu:\rEncodi...
headius (Charles Nutter)
01:42 PM Ruby Revision 65168b7e (git): Specify RUBY_DEBUG flag in the right way
Satoshi Tagomori
01:42 PM Ruby Revision 961683bc (git): Run .so init functions in namespaces to be loaded
Satoshi Tagomori
11:50 AM Ruby Bug #13671 (Closed): Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
Applied in changeset commit:git|bfbbcf34557b0aad4f5ed045df3e4e86b11c9a8c.
----------
[Bug #13671] Fix that "ss" in look-behind causes syntax error
Fixes k-takata/Onigmo#92.
This fix was ported from oniguruma:
https://github.com/kkos/o...
k_takata (Ken Takata)
11:49 AM Ruby Revision ba74fcd6 (git): Remove old code for BMH search
Remove the code for Boyer-Moore-Horspool search.
Now we are using Sunday's quick search.
https://github.com/k-takata/Onigmo/commit/3d9072419a1578b742a422412d004fd8a54209fd
k_takata (Ken Takata)
11:49 AM Ruby Revision a8924683 (git): Fix initialization of the table for quick search
This fixes k-takata/Onigmo#120.
The commit k-takata/Onigmo@9c13de8d0684ebde97e3709d7693997c81ca374b was insufficient.
https://github.com/k-takata/Onigmo/commit/1de602ddff140d91419e3f86dd35c81d7bd2d8e7
k_takata (Ken Takata)
11:49 AM Ruby Revision 54b96395 (git): Avoid negative character
Better fix for k-takata/Onigmo#107.
https://github.com/k-takata/Onigmo/commit/85393e4a63223b538529e7095255ce1153c09cff
k_takata (Ken Takata)
11:49 AM Ruby Revision daf0d6c6 (git): Fix lgtm.com warnings
* Multiplication result may overflow 'int' before it is converted to
'OnigDistance'.
* Comparison is always true because code <= 122.
* This statement makes ExprStmt unreachable.
* Empty block without comment
https://github.com/k-taka...
k_takata (Ken Takata)
11:49 AM Ruby Revision bfbbcf34 (git): [Bug #13671] Fix that "ss" in look-behind causes syntax error
Fixes k-takata/Onigmo#92.
This fix was ported from oniguruma:
https://github.com/kkos/oniguruma/commit/257082dac8c6019198b56324012f0bd1830ff4ba
https://github.com/k-takata/Onigmo/commit/b1a5445fbeba97b3e94a733c2ce11c033453af73
k_takata (Ken Takata)
11:49 AM Ruby Revision bcea1129 (git): Revert "[tune] implicit-anchor optimization"
This reverts commit 282338f88a8bf0807a7a1d21b06f78abe9de8fac.
It seems that the commit didn't improve the performance.
Revert it to fix k-takata/Onigmo#100.
https://github.com/k-takata/Onigmo/commit/cef834cb3a6e278fa252f52b704c65175a970ac0
k_takata (Ken Takata)
11:49 AM Ruby Revision 981ee02c (git): Fix performance problem with /k/i and /s/i (Close k-takata/Onigmo#97)
E.g.
For the pattern `/----k/i`, optimization was totally turned off.
Make it possible to use the characters before `k` (i.e. `----`) for
optimization.
https://github.com/k-takata/Onigmo/commit/9c13de8d0684ebde97e3709d7693997c81ca374b
k_takata (Ken Takata)
08:54 AM Ruby Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 built with GCC 15
satadru (Satadru Pramanik) wrote in #note-16:
> thesamesam (Sam James) wrote in #note-15:
> ...
Can you please run it under gdb and obtain one?
thesamesam (Sam James)
04:55 AM Ruby Revision a6379032 (git): Update default gems list at 307b625b5968895055fe7be1e009c8 [ci skip]
git[bot]
04:54 AM Ruby Revision 307b625b (git): [ruby/digest] v3.2.1
https://github.com/ruby/digest/commit/687e7cc1e1 hsbt (Hiroshi SHIBATA)
04:47 AM Ruby Revision 2b6dc5bf (git): Update default gems list at 3941164c63ab77ac05228cc3afbff6 [ci skip]
git[bot]
04:45 AM Ruby Revision 3941164c (git): [ruby/win32-registry] v0.1.1
https://github.com/ruby/win32-registry/commit/6d8a43a890 hsbt (Hiroshi SHIBATA)
04:37 AM Ruby Misc #21656 (Closed): Exclude dependabot PRs from automated gem release notes
I added the following for excluding `dependabot` update.
```
changelog:
exclude:
labels:
- dependencies
```
It seems working fine: https://github.com/ruby/net-http/releases/tag/v0.7.0
hsbt (Hiroshi SHIBATA)
04:36 AM Ruby Revision 8b88e7f8 (git): Update default gems list at 0044bac4de603b4b4d4815cc27167e [ci skip]
git[bot]
04:34 AM Ruby Revision 0044bac4 (git): [ruby/resolv] v0.6.3
https://github.com/ruby/resolv/commit/31a393e96c hsbt (Hiroshi SHIBATA)
03:35 AM Ruby Revision d5c05585 (git): Update default gems list at d3d6f19eb5aa1cd466002adb03f150 [ci skip]
git[bot]
03:34 AM Ruby Revision d3d6f19e (git): [ruby/optparse] Bump up to v0.8.0
v0.8.0 is mistake of release workflow. This version is same as v0.7.0
https://github.com/ruby/optparse/commit/9a467d10d4
hsbt (Hiroshi SHIBATA)
03:22 AM Ruby Revision 5fbc0bcf (git): Update default gems list at 9facc6e9603d5edf1f7a07756c71ea [ci skip]
git[bot]
03:21 AM Ruby Revision 9facc6e9 (git): [ruby/optparse] Bump up v0.7.0
https://github.com/ruby/optparse/commit/a394ca4878 hsbt (Hiroshi SHIBATA)
03:13 AM Ruby Revision 2eae7049 (git): [ruby/optparse] We should use VERSION instead of Version constant
https://github.com/ruby/optparse/commit/94de48b47e hsbt (Hiroshi SHIBATA)
02:30 AM Ruby Revision 5b2707f3 (git): Update default gems list at 8b1fd559b8f75caeeec4ceaa23df26 [ci skip]
git[bot]
02:28 AM Ruby Revision 8b1fd559 (git): [ruby/net-http] v0.7.0
https://github.com/ruby/net-http/commit/ec9c70a6fb hsbt (Hiroshi SHIBATA)
01:50 AM Ruby Revision 78966ae6 (git): Update default gems list at d2ffab11ce629367b13e7b607b9644 [ci skip]
git[bot]
01:48 AM Ruby Revision d2ffab11 (git): [ruby/uri] v1.1.0
https://github.com/ruby/uri/commit/c41903b3e4 hsbt (Hiroshi SHIBATA)
01:38 AM Ruby Revision f0993de1 (git): [ruby/uri] improve error message
https://github.com/ruby/uri/commit/1c6e81b721 sodacris (Jua-Shun Wong)
01:38 AM Ruby Revision 1dce0ae5 (git): [ruby/uri] Switch a parsing behavior completely when switching a parser
Currently, some methods' behavior(e.g. `URI.parse`) don't change
when switching a parser. This is because some methods use
`DEFAULT_PARSER`, but `parser=` doesn't change `DEFAULT_PARSER`.
This PR introduces a constant to keep a parser's...
y-yagi (Yuji Yaginuma)
01:38 AM Ruby Revision 08e822ba (git): [ruby/uri] chore(docs): replace reference to the obsolete URI.escape with URI::RFC2396_PARSER.escape
https://github.com/ruby/uri/commit/72e7d6b364 vivshaw
01:32 AM Ruby Revision 240962df (git): [ruby/uri] Use generic version number to VERSION and generate VERSION_CODE from that
https://github.com/ruby/uri/commit/1fc4f0496a hsbt (Hiroshi SHIBATA)
12:50 AM Ruby Revision 2486e771 (git): Added missing options to help message
hsbt (Hiroshi SHIBATA)
12:15 AM Ruby Revision 17e95cb4 (git): Update default gems list at 94e6d76714a4dc784cde503c846998 [ci skip]
git[bot]
12:14 AM Ruby Revision 94e6d767 (git): [ruby/English] v0.8.1
https://github.com/ruby/English/commit/c921886aaf hsbt (Hiroshi SHIBATA)
12:13 AM Ruby Revision a4c33615 (git): [ruby/mmtk] Bump mmtk-core
https://github.com/ruby/mmtk/commit/9876d8f0a1 peterzhu2118 (Peter Zhu)

10/30/2025

10:31 PM Ruby Revision f8b4feb7 (git): ZJIT: Use LoadField for specialized GetIvar
Max Bernstein
10:31 PM Ruby Revision 0268c86b (git): ZJIT: Inline struct aref
Max Bernstein
10:23 PM Ruby Revision c54faf29 (git): release.yml: Use workflow_dispatch for docker-images
instead of repository_dispatch.
Only that workflow reacts to repository_dispatch, so just using
workflow_dispatch should be enough. We want to use workflow_dispatch for
manual triggers, and I don't want to maintain two different dispatc...
k0kubun (Takashi Kokubun)
10:14 PM Ruby Revision 69ec1481 (git): ZJIT: Count unsupported fancy caller side features
These count caller-side features we don't support. But because we side
exit when we see them through unhandled_call_type(), these new counters
currently don't trigger.
alanwu (Alan Wu)
10:14 PM Ruby Revision 5b71b103 (git): ZJIT: Unsupported call feature accounting, and new `send_fallback_fancy_call_feature`
In cases we fall back when the callee has an unsupported signature, it
was a little inaccurate to use `send_fallback_send_not_optimized_method_type`.
We do support the method type in other situations.
Add a new `send_fallback_fancy_call...
alanwu (Alan Wu)
10:02 PM Ruby Revision 68dd1abd (git): ZJIT: Run ruby-bench as a test suite (#15003)
Takashi Kokubun
09:14 PM Ruby Revision 2afcdc69 (git): Change load factor of concur. set from 0.5 to 0.75 (#15007)
Before, the 50% load factor was not working correctly with the new capacity
calculation on resize and too many resizes were seen.
Before this change
------------------
Example:
old_capacity = 32
old_size = 16
deleted_entries = 2 (almo...
luke-gru (Luke Gruber)
08:47 PM Ruby Revision 34b0ac68 (git): ZJIT: Prevent specialization of splats instead of side-exiting (#15005)
aidenfoxivey (Aiden Fox Ivey)
08:45 PM Ruby Bug #21560 (Closed): RUBY_MN_THREADS=1 causes large performance regression in Puma 7
This should be fixed by https://github.com/ruby/ruby/commit/0531fa4d6fea100f69f0bac9e03973fe49ecd570 jhawthorn (John Hawthorn)
08:44 PM Ruby Revision 0531fa4d (git): mn timer thread: force wakeups for timeouts
andremuta (Andre Muta)
08:35 PM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
> If an operation hangs, let it hang.
I don't agree with that. If an operation crashes, yes, let it crash. But if it hangs, that's an order of magnitude or two harder to debug. Even more so if the "hang" is accompanied by unrestrained m...
Dan0042 (Daniel DeLorme)
04:36 PM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
tenderlovemaking (Aaron Patterson) wrote in #note-10:
> mame (Yusuke Endoh) wrote in #note-9:
> ...
I agree with @mame and @tenderlovemaking. Removing special handling of infinite ranges avoids the original issue (calling `size`), as ...
jeremyevans0 (Jeremy Evans)
04:29 PM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
mame (Yusuke Endoh) wrote in #note-9:
> Dan0042 (Daniel DeLorme) wrote in #note-7:
> ...
I personally agree with this. If I write an infinite loop, I expect it to loop infinitely, even if I wrote the infinite loop by mistake. Calling...
tenderlovemaking (Aaron Patterson)
04:20 PM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
Dan0042 (Daniel DeLorme) wrote in #note-7:
> What that really what you meant by "checking if Range#end is nil is good enough" ?
Yes. The original issue (#21513) was about the consistency between `(1..).to_a` and `(1..).to_set`. Since...
mame (Yusuke Endoh)
02:52 PM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
IMO, ranges should behave the same when `end == Float::INFINITY` and when `end == nil`. They are both practically endless ranges, but nothing normalizes them so that they always behave the same. Maybe `(1..1/0.0)` should be internally tr... ufuk (Ufuk Kayserilioglu)
02:17 PM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
@mame, this PR causes `Set.new(1..1/0.0)` to hang rather than raise an error. The unit test for this was removed: https://github.com/ruby/ruby/pull/14990/files#diff-841852fda8de5c29b86810572be72d6e29cda4a2f3d179c63b77fb6fb06d09dfL91-L93
...
Dan0042 (Daniel DeLorme)
07:15 PM Ruby Revision 6707945f (git): ZJIT: Split out optimized method types in stats (#15002)
We can see send/block call/struct aref/... e.g. on lobsters:
```
Top-9 not optimized method types for send_without_block (100.0% of total 3,133,812):
iseq: 2,004,557 (64.0%)
optimized_struct_aref: 496,232 (15.8%)
...
tekknolagi (Maxwell Bernstein)
05:44 PM Ruby Revision 9b189469 (git): zjit-ubuntu.yml: Remove an extra empty line
k0kubun (Takashi Kokubun)
05:30 PM Ruby Revision 57f76f62 (git): ZJIT: Fix incorrect self.class.respond_to? folding (#15001)
Right now we have a subtle type system bug around `types::Class`. Until
that is resolved, stop marking `Kernel#class` as returning
`types::Class`, which fixes Rubocop.
Re: https://github.com/Shopify/ruby/issues/850
tekknolagi (Maxwell Bernstein)
01:32 PM Ruby Revision 481f9944 (git): [Feature #19630] Limit the versions with the old behavior
It is already declared as:
> This behavior is slated to be removed in Ruby 4.0
nobu (Nobuyoshi Nakada)
01:18 PM Ruby Bug #21522 (Closed): Accessing outer locals via eval in a Ractor returns false
Applied in changeset commit:git|244a37bd53fb5c7ba219ef958b6adaa2c4b0b67e.
----------
Fixes [Bug #21522] eval isolation in Ractors for Prism
andremuta (Andre Muta)
01:17 PM Ruby Revision 244a37bd (git): Fixes [Bug #21522] eval isolation in Ractors for Prism
andremuta (Andre Muta)
01:15 PM Ruby Bug #21618 (Closed): Allow to use the build-in prism version to parse code
kddnewton (Kevin Newton)
01:06 PM Ruby Revision 8e7d427a (git): [ruby/prism] Add equal_loc to call nodes
In the case of attribute writes, there are use cases where you want
to know the location of the = sign. (Internally we actually need
this for translation to the writequark AST.)
https://github.com/ruby/prism/commit/bfc798a7ec
kddnewton (Kevin Newton)
01:05 PM Ruby Revision 99382f74 (git): [ruby/prism] Unescape unary method calls
Followup to https://github.com/ruby/prism/pull/2213
Before:
```sh
$ ruby -ve "puts 42.~@"
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/prism/commit/dbd83256b1) +PRISM [x86_64-linux]
-e:1:in '<main>': undefined method '~@' for...
Earlopain (Earlopain _)
12:47 PM Ruby Revision d5fbff50 (git): [DOC] LEGAL for JSON vendored sources
nobu (Nobuyoshi Nakada)
12:34 PM Ruby Revision f6c2a638 (git): CI: Exclude vendored sources at cheching if US-ASCII clean
nobu (Nobuyoshi Nakada)
12:28 PM Ruby Revision a88c5558 (git): Fix up JSON dependency
nobu (Nobuyoshi Nakada)
12:00 PM Ruby Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 built with GCC 15
thesamesam (Sam James) wrote in #note-15:
> Is there a backtrace for this somewhere?
Ruby was segfaulting without creating a backtrace.
satadru (Satadru Pramanik)
09:30 AM Ruby Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 built with GCC 15
Is there a backtrace for this somewhere? thesamesam (Sam James)
10:56 AM Ruby Revision 3ca43216 (git): [ruby/json] Add ryu float parser.
https://github.com/ruby/json/commit/9c4db31908
Co-Authored-By: Jean Boussier <jean.boussier@gmail.com>
retro (Josef Šimánek)
10:34 AM Ruby Revision 317f102c (git): [ruby/json] Fix GeneratorError messages to be UTF-8 encoded
https://github.com/ruby/json/commit/965ba6c5d4 byroot (Jean Boussier)
09:31 AM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
Reminds me a bit of https://bugs.ruby-lang.org/issues/21516 as well. thesamesam (Sam James)
09:18 AM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
alanwu (Alan Wu) wrote in #note-8:
> Looks like you're not building with LTO, so the miscomp from `ipa-modref` should be in rb_str_resize(). That should be enough for a bug report for GCC, since they [need](https://gcc.gnu.org/bugs/#need...
thesamesam (Sam James)
12:21 AM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
Looks like you're not building with LTO, so the miscomp from `ipa-modref` should be in rb_str_resize(). That should be enough for a bug report for GCC, since they [need](https://gcc.gnu.org/bugs/#need) a preprocessed C file.
Maybe thi...
alanwu (Alan Wu)
09:30 AM Ruby Revision 4b1279b6 (git): Take `MAJOR` and `MINOR` from `$(NEW)` if given
nobu (Nobuyoshi Nakada)
09:15 AM Ruby Revision d1d85bb4 (git): [ruby/resolv] Fix invalid "Broken registry" warning for UseDomainNameDevolution
This value is dword, not a string.
Amends https://github.com/ruby/resolv/commit/720e25034042.
https://github.com/ruby/resolv/commit/bf00ed8585
Orgad Shaneh
09:04 AM Ruby Revision 3f230c7e (git): add deps
ko1 (Koichi Sasada)
09:04 AM Ruby Revision ef558cea (git): fix ibf and coverage sharable issue
ko1 (Koichi Sasada)
09:04 AM Ruby Revision a003903e (git): fix cross ractor require
`cross_ractor_require` is sharable object but it refers
to unsharable objects.
To fix it, make the process simple.
ko1 (Koichi Sasada)
09:04 AM Ruby Revision b9188901 (git): allow Ractor::Port shareable
ko1 (Koichi Sasada)
09:04 AM Ruby Revision 09e9247e (git): MatchData may refer a String
ko1 (Koichi Sasada)
09:04 AM Ruby Revision 860bad85 (git): specific traces can be unshareable
ko1 (Koichi Sasada)
09:04 AM Ruby Revision b09f782f (git): Ractor's queue can contain unshareable objects
ko1 (Koichi Sasada)
09:04 AM Ruby Revision 8e4dc109 (git): Ractor's name should be shareable
ko1 (Koichi Sasada)
06:53 AM Ruby Revision 6b9b048a (git): Update bundled gems list as of 2025-10-30
git[bot]
03:32 AM Ruby Bug #21645: Can't `require "resolve"` on Windows under Bundler without warnings
@Earlopain Thanks for your confirmation. I fixed that at `ruby/resolv` and `ruby/ruby`. hsbt (Hiroshi SHIBATA)
03:16 AM Ruby Bug #21645 (Closed): Can't `require "resolve"` on Windows under Bundler without warnings
Applied in changeset commit:git|15f2dcceb4787c5738dde48f580019c3765ce1b8.
----------
[ruby/resolv] Fallback to powershell implementation under the bundle environment
[Bug #21645]
win32-registory can't load fiddle if Gemfile didn't hav...
hsbt (Hiroshi SHIBATA)
03:16 AM Ruby Revision 15f2dcce (git): [ruby/resolv] Fallback to powershell implementation under the bundle environment
[Bug #21645]
win32-registory can't load fiddle if Gemfile didn't have that dependency.
https://github.com/ruby/resolv/commit/1319183a4b
hsbt (Hiroshi SHIBATA)
01:33 AM Ruby Revision 80e2b06d (git): ZJIT: Limit the default size of LIR dump
For test_zjit.rb output, it was too long for a single test to print
thousands of lines.
k0kubun (Takashi Kokubun)
01:33 AM Ruby Revision 02c9ffd1 (git): ZJIT: Enable comments for --zjit-debug on dev builds
I wanted to see comments on test_zjit.rb failures. k0kubun (Takashi Kokubun)
12:43 AM Ruby Revision 78e4a36f (git): [ruby/error_highlight] Support cases where there are multiple missing / wrong kwargs
This commit fixes the case when there are multiple missing or incorrect
keywords provided to a method. Without this fix, ErrorHighlight itself
will raise an exception
https://github.com/ruby/error_highlight/commit/8bde92b36e
tenderlovemaking (Aaron Patterson)
12:35 AM Ruby Revision 750c7509 (git): [DOC] ZJIT: Add documentation about native stack and Ruby's VM stack (#14993)
ZJIT: Add documentation about native stack and Ruby's VM stack st0012 (Stan Lo)
12:18 AM Ruby Revision b8c82a99 (git): Fix memory leak in String#encode when fallback too big
The following script leaks memory:
10.times do
100_000.times do
"\ufffd".encode(Encoding::US_ASCII, fallback: proc { "\uffee" })
rescue
end
puts `ps -o rss= -p #{$$}`
end
Before:
451196
...
peterzhu2118 (Peter Zhu)

10/29/2025

11:53 PM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
alanwu (Alan Wu) wrote in #note-5:
> It's surprising that leaving the temporary struct uninitialized avoids the crash. Smells like a GCC bug or some UB on our end the optimizer is exploiting.
> ...
Per a suggestion on the downstream bu...
kurly (Greg Kubaryk)
11:41 PM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
alanwu (Alan Wu) wrote in #note-5:
> It's surprising that leaving the temporary struct uninitialized avoids the crash. Smells like a GCC bug or some UB on our end the optimizer is exploiting.
> ...
It doesn't appear to, when added to C...
kurly (Greg Kubaryk)
09:31 PM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
It's surprising that leaving the temporary struct uninitialized avoids the crash. Smells like a GCC bug or some UB on our end the optimizer is exploiting.
Does `./configure optflags=-fno-strict-aliasing ...` help?
alanwu (Alan Wu)
06:40 AM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
I manually bisected inside that "bad" commit and found that this minimal diff on top of v3_3_10 eliminates the build failure:
```
diff --git a/include/ruby/internal/core/rstring.h b/include/ruby/internal/core/rstring.h
index 9cf9daa...
kurly (Greg Kubaryk)
06:10 AM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
Thank you for fixing the markdown in the comment 0.
On an affected machine, I was able to bisect the git repo between tags v3_3_9 and v3_3_10:
```
5a8d7642168f4ea0d9331fded3033c225bbc36c5 is the first bad commit
commit 5a8d7642168f...
kurly (Greg Kubaryk)
05:44 AM Ruby Bug #21655: segfault when building 3.3.10, regression from 3.3.9
backtrace using a gentoo-built build with -ggdb3 added to CFLAGS
```
beans ~ # cd /var/tmp/portage/dev-lang/ruby-3.3.10/work/ruby-3.3.10/
beans /var/tmp/portage/dev-lang/ruby-3.3.10/work/ruby-3.3.10 # gdb --args ./miniruby -I./lib -...
kurly (Greg Kubaryk)
05:35 AM Ruby Bug #21655 (Open): segfault when building 3.3.10, regression from 3.3.9
ref downstream bug https://bugs.gentoo.org/965095 - reporting upstream because I was able to reproduce the problem from ruby-3.3.10.tar.xz manually
build log excerpt; the rest will be provided as an attachment
```
gcc -O2 -pipe -m...
kurly (Greg Kubaryk)
11:35 PM Ruby Revision 0b7ea9c7 (git): YJIT: Prevent making a branch from a dead block to a live block
I'm seeing some memory corruption in the wild on blocks in
`IseqPayload::dead_blocks`. While I unfortunately can't recreate the
issue, (For all I know, it could be some external code corrupting YJIT's
memory.) establishing a link between...
alanwu (Alan Wu)
11:27 PM Ruby Revision f2192cfd (git): ZJIT: Rename compile_side_exits to compile_exits
so that it can be easily specified with `--zjit-dump-lir=`. k0kubun (Takashi Kokubun)
11:27 PM Ruby Revision 534aeaef (git): ZJIT: Dump Assembler on panic by default for dev builds
k0kubun (Takashi Kokubun)
11:27 PM Ruby Revision 16a7a22c (git): ZJIT: Avoid cloning Assembler repeatedly
k0kubun (Takashi Kokubun)
11:27 PM Ruby Revision 397cb107 (git): ZJIT: Suffix a label index to duplicated label names
k0kubun (Takashi Kokubun)
11:27 PM Ruby Revision 8b289cde (git): ZJIT: Print operands with Display on side exit
k0kubun (Takashi Kokubun)
11:27 PM Ruby Revision 1775447c (git): ZJIT: Refactor operand printer
k0kubun (Takashi Kokubun)
07:44 PM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
mame (Yusuke Endoh) wrote in #note-5:
> > How about handling only `Range` and `Enumerator` (not `Enumerable`) for now?
> ...
I sent a pull request that only handles `Range` for now: https://github.com/ruby/ruby/pull/14990
This fixe...
tenderlovemaking (Aaron Patterson)
01:57 AM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
> How about handling only `Range` and `Enumerator` (not `Enumerable`) for now?
I think it would be better to handle only Range for now, and not Enumerator either. See https://bugs.ruby-lang.org/issues/21513#note-10
mame (Yusuke Endoh)
01:49 AM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
k0kubun (Takashi Kokubun) wrote in #note-1:
> How about handling only `Range` and `Enumerator` (not `Enumerable`) for now? Avoiding an extra DB query on ActiveRecord relations seems like a more important use case than preventing user-de...
tenderlovemaking (Aaron Patterson)
01:30 AM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
It seems to me that's an argument in favor of #17924 `Range#infinite?` Dan0042 (Daniel DeLorme)
12:57 AM Ruby Bug #21654: Set#new calls extra methods compared to previous versions
How about handling only `Range` and `Enumerator` (not `Enumerable`) for now? Avoiding an extra DB query on ActiveRecord relations seems like a more important use case than preventing user-defined `Enumerable` with an infinite length from... k0kubun (Takashi Kokubun)
12:24 AM Ruby Bug #21654 (Open): Set#new calls extra methods compared to previous versions
I'm trying to test Ruby 3.5.0 with our Rails application and we've found that `Set.new` is now causing extra database queries to happen.
The changes in d4020dd5faf call "size" on enumerable objects that are passed to the `new` method,...
tenderlovemaking (Aaron Patterson)
07:22 PM Ruby Bug #21560: RUBY_MN_THREADS=1 causes large performance regression in Puma 7
With the commit from @andremuta:
Without RUBY_MN_THREADS:
```
Running 15s test @ http://localhost:9292
12 threads and 16 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.00ms 1.52ms 11.44ms 82.6...
luke-gru (Luke Gruber)
06:35 PM Ruby Misc #21656: Exclude dependabot PRs from automated gem release notes
Earlopain (Earlopain _) wrote in #note-4:
> `net-imap` actually uses it already: https://github.com/ruby/net-imap/blob/079167e99b47957d53c71c927ebbca537aae39d1/.github/release.yml#L23. The name does need to be `dependabot[bot]` I think....
nevans (Nicholas Evans)
08:55 AM Ruby Misc #21656 (Assigned): Exclude dependabot PRs from automated gem release notes
Thanks both.
I will try that template at next gem release.
hsbt (Hiroshi SHIBATA)
08:35 AM Ruby Misc #21656: Exclude dependabot PRs from automated gem release notes
Yeah! I just found that as well: https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes#configuring-automatically-generated-release-notes
I was thinking about something a bit more comp...
Earlopain (Earlopain _)
08:30 AM Ruby Misc #21656: Exclude dependabot PRs from automated gem release notes
There is a configuration file to control which labeled PRs make it into the automated release notes and which ones should be excluded. I can help set that up if it will be helpful. ufuk (Ufuk Kayserilioglu)
08:26 AM Ruby Misc #21656: Exclude dependabot PRs from automated gem release notes
> I removed them manually if I found that.
Ah, I didn't know that, thanks! I did check some other release notes and was surprised that they were often missing.
> ...
I will think about this 👍. Unfortunatly the cli itself doesn't ha...
Earlopain (Earlopain _)
08:24 AM Ruby Misc #21656: Exclude dependabot PRs from automated gem release notes
I removed them manually if I found that.
If you have an idea to exclude that with `gh release create --generate-note`, I will add it to our release workflow.
hsbt (Hiroshi SHIBATA)
08:12 AM Ruby Misc #21656 (Closed): Exclude dependabot PRs from automated gem release notes
Ruby has many gems, and many of them have release notes generated with the github command line instead of being written by a human. Usually that is fine, I don't have much of a problem with that approach. But what is less ideal is that g... Earlopain (Earlopain _)
06:25 PM Ruby Revision eed9441a (git): Revert "CI: Re-enable Ubuntu arm with CAPI check"
This reverts commit 02fd62895d9a13f56253521dedd80e39d4eafbb5.
It stopped working again.
k0kubun (Takashi Kokubun)
04:49 PM Ruby Revision 0d9f8580 (git): ZJIT: Fix LoadIvarExtended test (#14989)
tekknolagi (Maxwell Bernstein)
03:17 PM Ruby Revision fcd7da15 (git): ZJIT: Introduce a better LIR printer (#14986)
Takashi Kokubun
02:52 PM Ruby Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
Thank you! The version number itself doesn’t affect anything on our side. Whether it’s released as 3.5 or 4.0, both are perfectly fine. I just wanted to make sure I’m not missing an extra release in between. dmitry.pogrebnoy (Dmitry Pogrebnoy)
01:48 PM Ruby Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
It seems like the next version of Ruby will be branded as 4.0, but that is completely a decision for @matz to make as he wishes. Ruby version numbers don't follow semantic versioning, so 4.0 doesn't mean that there will be breaking chang... ufuk (Ufuk Kayserilioglu)
01:41 PM Ruby Misc #21657: Question: Is Ruby 4.0 planned for December 2025 or later?
Thank you for the clarification!
I just wanted to make sure there isn’t another release already planned beyond 3.5. For example, a 4.0 version with some other significant changes.
If it’s purely a versioning matter and 3.5 remains th...
dmitry.pogrebnoy (Dmitry Pogrebnoy)
12:50 PM Ruby Misc #21657 (Feedback): Question: Is Ruby 4.0 planned for December 2025 or later?
dmitry.pogrebnoy (Dmitry Pogrebnoy) wrote:
> Having a clear, public roadmap would really help library and tooling authors (like IDE vendors) prepare for upcoming versions and provide better support.
I'm curious what kind of problems ...
nobu (Nobuyoshi Nakada)
11:07 AM Ruby Misc #21657 (Feedback): Question: Is Ruby 4.0 planned for December 2025 or later?
Hello Ruby core team,
I noticed that the first preview of Ruby 3.5 has been released, and at the same time there’s some talk in the community about Ruby 4.0 potentially arriving in December 2025.
Could you please clarify what the cur...
dmitry.pogrebnoy (Dmitry Pogrebnoy)
01:33 PM Ruby Bug #21618: Allow to use the build-in prism version to parse code
I implemented support for `Prism.parse(foo, version: "current")` in https://github.com/ruby/prism/pull/3679. This can be closed now from my perspective (I did not yet make use of that anywhere but plan to work on that) Earlopain (Earlopain _)
11:35 AM Ruby Revision cee4a46c (git): Use the given `TMPDIR`
nobu (Nobuyoshi Nakada)
11:02 AM Ruby Bug #21645: Can't `require "resolve"` on Windows under Bundler without warnings
I approximatly applied your patch with the following in github ci:
```rb
- name: Patch
run: (Get-Content D:/rubyinstaller-head-x64/lib/ruby/3.5.0+4/win32/resolv.rb).Replace('LoadError', 'LoadError, Gem::MissingSpecError') ...
Earlopain (Earlopain _)
08:54 AM Ruby Bug #21645 (Assigned): Can't `require "resolve"` on Windows under Bundler without warnings
It should fallback to pwsh implementation under `bundle` environment.
```
diff --git ext/win32/lib/win32/resolv.rb ext/win32/lib/win32/resolv.rb
index 226de7cba36..dae53baf118 100644
--- ext/win32/lib/win32/resolv.rb
+++ ext/win3...
hsbt (Hiroshi SHIBATA)
10:43 AM Ruby Revision c9018482 (git): win32: Extract `FILETIME` related constants.
nobu (Nobuyoshi Nakada)
10:43 AM Ruby Revision 2096ca80 (git): win32: Optimize `FIMETIME` calculations
Assume that `FILETIME` and `ULARGE_INTEGER::u` are the same layout
actually.
nobu (Nobuyoshi Nakada)
10:41 AM Ruby Revision 606abf2f (git): Clean extension libraries copied for the namespace
nobu (Nobuyoshi Nakada)
10:03 AM Ruby Revision e49e0bb6 (git): [ruby/date] Remove archaic conditions
`Time#nsec` and `Time#subsec` were both introduced in Ruby 1.9.
https://github.com/ruby/date/commit/2c310d9f5c
nobu (Nobuyoshi Nakada)
10:03 AM Ruby Revision 0f629083 (git): [ruby/date] Prefer `method_defined?` over `allocate.respond_to?`
https://github.com/ruby/date/commit/fd8e3725f8 nobu (Nobuyoshi Nakada)
08:58 AM Ruby Bug #21625 (Closed): Allow IO#wait_readable together with IO#ungetc even in text mode
Applied in changeset commit:git|12350eb9e0d3317da57b5a37c0c2810946b48850.
----------
[Bug #21625] Allow io/wait methods with `IO#ungetc` in text mode
nobu (Nobuyoshi Nakada)
08:27 AM Ruby Bug #21625: Allow IO#wait_readable together with IO#ungetc even in text mode
https://github.com/ruby/ruby/pull/14985 nobu (Nobuyoshi Nakada)
08:23 AM Ruby Revision 12350eb9 (git): [Bug #21625] Allow io/wait methods with `IO#ungetc` in text mode
nobu (Nobuyoshi Nakada)
07:48 AM Ruby Revision 6e618a2c (git): Added repl_type_completor to bundled gems section
hsbt (Hiroshi SHIBATA)
07:36 AM Ruby Revision b55e9115 (git): Update default gems list at 8f0b9b27cec1ec187c6357586dc98d [ci skip]
git[bot]
07:34 AM Ruby Revision 8f0b9b27 (git): [ruby/fileutils] v1.8.0
https://github.com/ruby/fileutils/commit/29de582f68 hsbt (Hiroshi SHIBATA)
07:10 AM Ruby Revision b8f7c18a (git): Update default gems list at 337c4bc16384fa44f7a486d550461a [ci skip]
git[bot]
07:08 AM Ruby Revision 337c4bc1 (git): [ruby/date] v3.5.0
https://github.com/ruby/date/commit/d535f7e85f hsbt (Hiroshi SHIBATA)
06:58 AM Ruby Revision bb5f5a52 (git): Update default gems list at 2dcf1f74a417c01c64f45f1ea73d93 [ci skip]
git[bot]
06:50 AM Ruby Revision 2dcf1f74 (git): [ruby/timeout] v0.4.4
https://github.com/ruby/timeout/commit/f42b47d383 hsbt (Hiroshi SHIBATA)
06:31 AM Ruby Revision 582475b3 (git): Update default gems list at 4f223b72a9976cd015c4d926297c61 [ci skip]
git[bot]
06:30 AM Ruby Revision 4f223b72 (git): [ruby/zlib] Bump up v3.2.2
https://github.com/ruby/zlib/commit/5d50b223b1 hsbt (Hiroshi SHIBATA)
05:26 AM Ruby Revision f8d7482d (git): Fix for other than UTF-8 environments
nobu (Nobuyoshi Nakada)
05:26 AM Ruby Revision 103e91a0 (git): Remove alternatives for ruby 1.8 and earliers
nobu (Nobuyoshi Nakada)
05:12 AM Ruby Revision e1a0bcde (git): Added missing rubygems pages for default/bundled gems
hsbt (Hiroshi SHIBATA)
01:52 AM Ruby Bug #21513 (Open): Converting endless range to set hangs
The fix introduced another inconsistency:
```
$ ruby -e 'Enumerator.new(Float::INFINITY) {|g| loop { g << 1 } }.to_set'
-e:1:in 'Enumerable#to_set': cannot initialize Set from an object with infinite size (ArgumentError)
fr...
mame (Yusuke Endoh)
01:47 AM Ruby Revision 7bc72469 (git): [DOC] Update refinements.rdoc
removes documentation for the activation order of `include` and `prepend` inside a refinement Astra
01:24 AM Ruby Revision e4219e27 (git): Fix flaky require test
luke-gru (Luke Gruber)
01:20 AM Ruby Bug #21652 (Closed): Marshal#dump documentation out-of-date/unclear regarding Data class
Applied in changeset commit:git|d17ce4bd05dc05d48f5f4bc75171fcebda1678ed.
----------
[Bug #21652] [DOC] Update unmarshalable object list
The `Data` mentioned here was the old `T_DATA` class, not the current
extended `Struct`.
nobu (Nobuyoshi Nakada)
01:07 AM Ruby Revision d17ce4bd (git): [Bug #21652] [DOC] Update unmarshalable object list
The `Data` mentioned here was the old `T_DATA` class, not the current
extended `Struct`.
nobu (Nobuyoshi Nakada)
01:06 AM Ruby Revision c4e090de (git): test_commit_email.rb: Clean up temporary files
nobu (Nobuyoshi Nakada)
12:11 AM Ruby Revision f8a333ae (git): ZJIT: Add type checker to HIR (#14978)
Allow instructions to constrain their operands' input types to avoid
accidentally creating invalid HIR.
tekknolagi (Maxwell Bernstein)

10/28/2025

11:48 PM Ruby Revision 80be97e4 (git): ZJIT: Fill `cfp->pc` with trap value for C methods in debug builds
altxtech (André Soares)
11:40 PM Ruby Revision 9f4a76ff (git): Add a custom error class to TestString#test_encode_fallback_raise_memory_leak
This prevents a generic RuntimeError from being raised so we can ensure
that the correct error is being rescued.
peterzhu2118 (Peter Zhu)
11:40 PM Ruby Revision 4925bec6 (git): Fix TestString#test_encode_fallback_raise_memory_leak
The method and aref cases need to accept a parameter. peterzhu2118 (Peter Zhu)
11:35 PM Ruby Revision 7428dc73 (git): ZJIT: Migrate an arm64 register from emit to split
k0kubun (Takashi Kokubun)
11:35 PM Ruby Revision d6d095e2 (git): ZJIT: Rename SCRATCH_OPND to SCRATCH0_OPND for x86_64
k0kubun (Takashi Kokubun)
10:25 PM Ruby Revision 8dc276f3 (git): Bump github.com/microsoft/vcpkg from master to 2025.10.17
Bumps [github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) from master to 2025.10.17. This release includes the previously tagged commit.
- [Release notes](https://github.com/microsoft/vcpkg/releases)
- [Commits](https://gith...
dependabot[bot]
10:24 PM Ruby Revision 5a14999d (git): Bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)
---
...
dependabot[bot]
09:36 PM Ruby Feature #21653 (Open): Unify Hash methods and preserving default/default_proc
All the Hash methods that return a new instance of Hash don't preserve the `default` and `default_proc` properties except `#compact` and `#merge`:
```ruby
h = {a: 1}
h.default = 0
h.compact[:f] == 0 # => true
h.merge(b: 2)[:...
andrykonchin (Andrew Konchin)
08:47 PM Ruby Revision afb0d431 (git): ZJIT: Drop --seed from test-all on CI (#14976)
Takashi Kokubun
08:45 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
Eregon (Benoit Daloze) wrote in #note-27:
> If the gem is a noop then of course it would not matter, but I'm unsure if the gem should be a noop.
I can't answer if it "should", but at least that's how it works with `set`, so at least ...
Dan0042 (Daniel DeLorme)
07:02 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
If the gem is a noop then of course it would not matter, but I'm unsure if the gem should be a noop.
There is also the issue that core already uses the pathname C extension, and loading the gem pathname C extension might cause issues, i...
Eregon (Benoit Daloze)
02:34 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
Ah, thank you very much, now I see it.
So this #4 issue could be solved by implementing the 3 methods as shims that load the necessary dependencies, which then allows pathname to do `rb_provide("pathname.rb")`
Dan0042 (Daniel DeLorme)
02:06 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
Dan0042 (Daniel DeLorme) wrote in #note-24:
> So the issue here is that pathname doesn't use this `rb_provide` ?
pathname does use `rb_provide`:
```
$ git grep rb_provide pathname.c
pathname.c: rb_provide("pathname.so");
```...
jeremyevans0 (Jeremy Evans)
01:15 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
> It's normal behavior when moving from stdlib to core that `rb_provide` is used to make it appear that the library has already been loaded. Having `set.rb` in `$"` makes it so code that uses `require 'set'` does not cause files to be lo... Dan0042 (Daniel DeLorme)
09:20 AM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
Dan0042 (Daniel DeLorme) wrote in #note-19:
> But _why_? If there's an actual problem with this approach I would like to hear it. If it's just because it "feels unclean" then I would like the core team to prioritize usefulness over these...
Eregon (Benoit Daloze)
01:02 AM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
Dan0042 (Daniel DeLorme) wrote in #note-21:
> But that doesn't happen with `require "set"`. In fact, the "set" gem appear to never be loaded at all?! Sorry, I can't make sense of these divergent behaviors.
It's normal behavior when m...
jeremyevans0 (Jeremy Evans)
08:18 PM Ruby Revision d0c7234b (git): ZJIT: Support ParallelMov into memory (#14975)
Takashi Kokubun
08:14 PM Ruby Revision 599de290 (git): YJIT, ZJIT: Fix unnecessary `use` of macros
https://github.com/ruby/ruby/actions/runs/18887695798/job/53907237061?pr=14975 k0kubun (Takashi Kokubun)
07:49 PM Ruby Revision 882e1677 (git): Update to ruby/spec@3bc45ba
andrykonchin (Andrew Konchin)
06:51 PM Ruby Feature #20205: Enable `frozen_string_literal` by default
______________________________________________ Anonymous
06:44 PM Ruby Feature #20205: Enable `frozen_string_literal` by default
matz (Yukihiro Matsumoto) wrote in #note-75:
> Probably we would have Ruby4.0 in 2025, but I am not going to make frozen-string-literal default this year.
That's unfortunate, but OTOH it makes sense because first we need to make the ...
Eregon (Benoit Daloze)
06:48 PM Ruby Misc #21647: DevMeeting-2025-11-13
* [Feature #20205] Enable `frozen_string_literal` by default (eregon)
* Let's decide in which release the chilled string deprecation warning shows up regardless of verbosity level (R1) to make progress on this. How about 4.0?
* Oth...
Eregon (Benoit Daloze)
06:36 PM Ruby Revision 8a765975 (git): ZJIT: Split HIR tests (#14967)
`hir.rs` was getting rather large, so I've opted to move the inline tests into their own files. This should also help when looking for where to put your tests, as the optimization tests have a dedicated file.
Future follow up work could...
aidenfoxivey (Aiden Fox Ivey)
05:37 PM Ruby Revision a9d42f7c (git): ZJIT: Print percentage of GuardType failure
Max Bernstein
05:37 PM Ruby Revision 2c90da46 (git): ZJIT: Count GuardType instructions
We can measure how many we can remove by adding type information to C
functions, etc.
Max Bernstein
05:08 PM Ruby Bug #21652 (Closed): Marshal#dump documentation out-of-date/unclear regarding Data class
With the introduction of the `Data` class in Ruby 3.2, the `Marshal#dump` documentation is confusing since it claims that "Marshal can’t dump ... an instance of ... Data". It is even cross-linked to the new `Data` class. However, and tha... ryannevell (Ryan Nevell)
04:25 PM Ruby Revision f6cd20c6 (git): ZJIT: Split frame_setup_teardown tests
k0kubun (Takashi Kokubun)
04:25 PM Ruby Revision 0e1d99ce (git): ZJIT: Move c_stack_slots to Assembler
k0kubun (Takashi Kokubun)
04:25 PM Ruby Revision cc051ef0 (git): ZJIT: Simplify Assembler constructors
k0kubun (Takashi Kokubun)
04:25 PM Ruby Revision b463c1a9 (git): ZJIT: Stop computing offset on gen_push_opnds
Once we add register spill, the C stack will have not only spilled basic
block params but also spilled VRegs.
We won't know how many stack slots are used for spilled VRegs until
alloc_regs, so you can't compute an offset as of writing LIR.
k0kubun (Takashi Kokubun)
04:25 PM Ruby Revision 9b3df50d (git): ZJIT: Allow ALLOC_REGS to have an odd number of regs
k0kubun (Takashi Kokubun)
04:25 PM Ruby Revision b66c57be (git): ZJIT: Print unexpected operands on x86_64
k0kubun (Takashi Kokubun)
04:24 PM Ruby Revision ec1b9bbd (git): ZJIT: Call test again after profiling it
It's a call_threshold: 2 test
https://github.com/ruby/ruby/pull/14933#discussion_r2469731499
k0kubun (Takashi Kokubun)
03:44 PM Ruby Revision 7a736545 (git): ZJIT: Specialize Array#pop for no argument case (#14933)
Fixes https://github.com/Shopify/ruby/issues/814
This change specializes the case of calling `Array#pop` on a non frozen array with no arguments. `Array#pop` exists in the non-inlined C function list in the ZJIT SFR performance burndown...
aidenfoxivey (Aiden Fox Ivey)
02:49 PM Ruby Revision 2e2f31c8 (git): ZJIT: Add IsBitNotEqual and inline BasicObject#!=
Max Bernstein
02:49 PM Ruby Revision c2bef01b (git): ZJIT: Optimize Kernel#===
Max Bernstein
02:49 PM Ruby Revision e973baa8 (git): ZJIT: Add BoxBool and remove CCall from BasicObject#==
Max Bernstein
02:49 PM Ruby Revision a4f8afce (git): ZJIT: Use FnProperties::default()
Max Bernstein
02:49 PM Ruby Revision 2a6e5d7d (git): ZJIT: Allow both inlining and annotating properties
Max Bernstein
02:49 PM Ruby Revision 74255204 (git): ZJIT: Remove redundant annotation
Max Bernstein
02:49 PM Ruby Revision 3624031b (git): ZJIT: Inline Kernel#nil? and NilClass#nil?
We can fully remove the CCall now. Max Bernstein
12:02 PM Ruby Revision b0825d78 (git): Restore old version of Gem::Installer#install for default gems installation
hsbt (Hiroshi SHIBATA)
11:06 AM Ruby Revision 52451798 (git): [ruby/rubygems] Simulate default gems manually
https://github.com/ruby/rubygems/commit/c3cc38c72c hsbt (Hiroshi SHIBATA)
11:06 AM Ruby Revision 3afe8ed4 (git): [ruby/rubygems] Introduce default_spec_dir when it's not provided
https://github.com/ruby/rubygems/commit/e9bd59699c hsbt (Hiroshi SHIBATA)
11:06 AM Ruby Revision 7bd7bcbf (git): [ruby/rubygems] Removed default bundler spec from specification directory
https://github.com/ruby/rubygems/commit/6fbbde48e2 hsbt (Hiroshi SHIBATA)
11:06 AM Ruby Revision ceb2b569 (git): [ruby/rubygems] Added install_default_gem method for testing
https://github.com/ruby/rubygems/commit/81dbd42abf hsbt (Hiroshi SHIBATA)
11:06 AM Ruby Revision d67aba8a (git): [ruby/rubygems] Completely removed install_as_default feature
https://github.com/ruby/rubygems/commit/15e46a3a68 hsbt (Hiroshi SHIBATA)
11:06 AM Ruby Revision 523474bd (git): [ruby/rubygems] Deprecate --default option
https://github.com/ruby/rubygems/commit/55745ee0f8 hsbt (Hiroshi SHIBATA)
10:43 AM Ruby Bug #21651 (Feedback): replacing a string with one backslash with two backslashes
From [String@Substitution+Methods]:
> Note that <tt>\\\\</tt> is interpreted as an escape, i.e., a single backslash.
> ...
This is what happens at the first line.
Since a space after a backslash is not a valid escape, the result a...
nobu (Nobuyoshi Nakada)
09:10 AM Ruby Bug #21651 (Feedback): replacing a string with one backslash with two backslashes
ruby 2.7.8p225 (2023-03-30 revision 1f4d455848) [x86_64-linux]
ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-linux]
```
irb(main):002> "\\".gsub("\\", "\\\\")
=> "\\"
irb(main):003> "\\".gsub("\\", "\\ \\")
=> "\\ \\...
tdrive (Stanislav Boldaev)
10:11 AM Ruby Feature #21650: Performance regression: Rational#floor(ndigits) extremely slow for huge ndigits in Ruby 3.4 (ok in 3.2)
Sure, thanks for clarification and fast reply. koilanetroc (Oleg Tolmashov)
09:29 AM Ruby Feature #21650 (Feedback): Performance regression: Rational#floor(ndigits) extremely slow for huge ndigits in Ruby 3.4 (ok in 3.2)
Thank you for your reply.
I found a clearer case:
```ruby
p Rational(1, 3).floor(2**1) #=> (33/100)
p Rational(1, 3).floor(2**2) #=> (3333/10000)
p Rational(1, 3).floor(2**3) #=> (33333333/100000000)
p Rational(1, 3).floor(2**4...
mame (Yusuke Endoh)
09:13 AM Ruby Feature #21650: Performance regression: Rational#floor(ndigits) extremely slow for huge ndigits in Ruby 3.4 (ok in 3.2)
mame (Yusuke Endoh) wrote in #note-3:
> Thank you for the report.
> ...
1. It wasn't involved in any production usage, we have fuzzy tests which generated this and it was in our test suite. Therefore I was surprised by performance degr...
koilanetroc (Oleg Tolmashov)
09:03 AM Ruby Feature #21650: Performance regression: Rational#floor(ndigits) extremely slow for huge ndigits in Ruby 3.4 (ok in 3.2)
Thank you for the report.
As the warning indicates, prior to Ruby 3.4 (up to 3.3), attempting to generate a huge `Integer` would return `Float::INFINITY`. Ruby 3.4 removed this inaccurate truncation, which is why it now takes longer. (#...
mame (Yusuke Endoh)
08:21 AM Ruby Feature #21650 (Feedback): Performance regression: Rational#floor(ndigits) extremely slow for huge ndigits in Ruby 3.4 (ok in 3.2)
## Summary
`Rational#floor(ndigits)` with a very large positive ndigits takes tens of seconds in Ruby 3.4, while it returns essentially instantly in Ruby 3.2. Reproducible on macOS and Linux. Looks like a missing fast‑path for rationals...
koilanetroc (Oleg Tolmashov)
08:28 AM Ruby Revision a27f430d (git): [ruby/rubygems] Make more shortly with https://rubyonrails.org/conduct
https://github.com/ruby/rubygems/commit/62ba34d6c9 hsbt (Hiroshi SHIBATA)
08:28 AM Ruby Revision 7550f7e4 (git): [ruby/rubygems] Update new gem CoC and prompt
Prompt wording "prefer safe, respectful, productive, and collaborative spaces" is copied verbatim from Ruby Community Conduct Guideline.
https://github.com/ruby/rubygems/commit/6cdf5f6d8a
dysonreturns (Dyson R)
07:50 AM Ruby Revision aab390aa (git): [ruby/json] Use Vector API in the Java Extension
Overview
This PR uses the [jdk.incubator.vector module](https://docs.oracle.com/en/java/javase/20/docs/api/jdk.incubator.vector/jdk/incubator/vector/package-summary.html) as mentioned in [issue #739](https://github.com/ruby/json/issues/...
Scott Myron
07:28 AM Ruby Revision d82a590a (git): sync_default_gems.rb: Show `git diff` on failed sync
k0kubun (Takashi Kokubun)
04:07 AM Ruby Revision 0f5c69b3 (git): [DOC] Moved non ASCII documents to separated files
C99 does not declare ways to designate the charset encoding of the
source file. We can assume just US-ASCII characters will be safe.
nobu (Nobuyoshi Nakada)
04:07 AM Ruby Revision 02d53bab (git): [ruby/stringio] [DOC] Doc for StringIO#each_byte
(https://github.com/ruby/stringio/pull/157)
https://github.com/ruby/stringio/commit/624ce56b4e
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
burdettelamar (Burdette Lamar)
03:58 AM Ruby Revision d864bd1a (git): Update default gems list at b3191d204b8b4fe4b29cf73cd09a1b [ci skip]
git[bot]
03:57 AM Ruby Revision b3191d20 (git): [ruby/erb] Version 5.1.3
https://github.com/ruby/erb/commit/e8d382a83e k0kubun (Takashi Kokubun)
03:50 AM Ruby Revision 4511e962 (git): Update default gems list at f7eee3427dcc8b644b9fd6c854f3e1 [ci skip]
git[bot]
03:49 AM Ruby Revision f7eee342 (git): [ruby/erb] Version 5.1.2
https://github.com/ruby/erb/commit/daa0e8712f k0kubun (Takashi Kokubun)
03:09 AM Ruby Revision 218c2805 (git): [ruby/stringio] [DOC] Doc for StringIO#each_codepoint
(https://github.com/ruby/stringio/pull/159)
https://github.com/ruby/stringio/commit/6628d4837b
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
burdettelamar (Burdette Lamar)
03:06 AM Ruby Revision 9fd32ee4 (git): [ruby/stringio] [DOC] Doc for StringIO#each_char
(https://github.com/ruby/stringio/pull/158)
https://github.com/ruby/stringio/commit/ec6bf815ae
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
burdettelamar (Burdette Lamar)
03:06 AM Ruby Misc #21646 (Closed): Propose Luke Gruber as a Ruby committer
I've finished to prepare Luke's account. Please let me know if you have any issues for developing Ruby. hsbt (Hiroshi SHIBATA)
03:05 AM Ruby Misc #21609 (Closed): Propose Stan Lo (@st0012) as a core committer
I've finished to prepare Stan's account. Please let me know if you have any issues for developping Ruby. hsbt (Hiroshi SHIBATA)
01:19 AM Ruby Revision 836fc00e (git): [DOC] Tweaks for String#swapcase
burdettelamar (Burdette Lamar)
01:18 AM Ruby Revision e3c4298d (git): [DOC] Tweaks for String#swapcase!
burdettelamar (Burdette Lamar)
01:14 AM Ruby Revision bf2663ce (git): [DOC] Tweaks for String#sum
burdettelamar (Burdette Lamar)

10/27/2025

11:25 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
> The issue with `Pathname` is that it was not fully converted to core, only partially converted.
Yes that's the issue with the 3 methods missing from core Pathname, but @eregon's point 4 was about conflicts when `require "pathname"` ...
Dan0042 (Daniel DeLorme)
07:45 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
Dan0042 (Daniel DeLorme) wrote in #note-19:
> Doesn't `Set` have the same problems?
No.
> ...
In Ruby 3.2, `set` was default gem, and `Set` was an autoloaded constant. The `set` library was not required when a method was called (u...
jeremyevans0 (Jeremy Evans)
06:37 PM Ruby Bug #21640: Core Pathname is missing 3 methods / is partially-defined
> That's consensus with akr and me. We should avoid loading other libraries by simply calling methods from the embedded core classes.
But *why*? If there's an actual problem with this approach I would like to hear it. If it's just bec...
Dan0042 (Daniel DeLorme)
10:57 PM Ruby Revision e5e32acc (git): ZJIT: Annotate Kernel#frozen? as returning BoolExact
Max Bernstein
10:57 PM Ruby Revision c3c25443 (git): ZJIT: Annotate Symbol#to_s and Symbol#name as returning StringExact
Max Bernstein
10:57 PM Ruby Revision 46525fa7 (git): ZJIT: Add return_type to inlined InvokeBuiltin
Max Bernstein
10:57 PM Ruby Revision 3fb96ee9 (git): ZJIT: Inline method calls to ISEQs that just do leaf Primitive calls
Max Bernstein
10:53 PM Ruby Revision 8d45e1f3 (git): ZJIT: Fix internal compiler error looking up profiles for trace_getinstancevariable (#14969)
We treat getinstancevariable differently from other opcodes: it does not
look at the stack for its self operand, but instead looks at
`cfp->self`. In some cases, we might see the `trace_` variant in the
front-end, so make sure we treat t...
tekknolagi (Maxwell Bernstein)
08:45 PM Ruby Revision d97fb3b4 (git): ZJIT: Print out full path to --zjit-trace-exits output (#14966)
* ZJIT: Print out full path to --zjit-trace-exits output
This helps with any `chdir`-related issues.
* Don't include dot
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
---------
Co-authored-by: Takashi Kokubun <takashikkbn@...
tekknolagi (Maxwell Bernstein)
08:15 PM Ruby Misc #21646 (Assigned): Propose Luke Gruber as a Ruby committer
k0kubun (Takashi Kokubun)
08:15 PM Ruby Misc #21609 (Assigned): Propose Stan Lo (@st0012) as a core committer
k0kubun (Takashi Kokubun)
07:56 PM Ruby Revision 68d9f7c3 (git): ZJIT: Remove unnecessary 'static annotation from gen_hir_type.rb
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision a12aa2b5 (git): ZJIT: Since Param is unit struct, elide destructuring
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision ac57a5c4 (git): ZJIT: Use .is_empty() for clarity
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision fa0eab28 (git): ZJIT: Use .first() in lieu of .get(0)
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision aabec60c (git): ZJIT: Elide unnecessary 'static annotation
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision 79db7d52 (git): ZJIT: Remove unnecessary `as` casts
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision c112368e (git): ZJIT: Use std::ptr::null instead of casts
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision 5c4d76c9 (git): ZJIT: Remove unnecessary #[test] annotation
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision a395d9c0 (git): ZJIT: Simplify complex type to BranchEncoder
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Ruby Revision 1d897f56 (git): ZJIT: Elide unnecessary return statements
aidenfoxivey (Aiden Fox Ivey)
07:26 PM Ruby Revision 74c3bd77 (git): ZJIT: Remove a duplicated annotation (#14968)
Takashi Kokubun
05:33 PM Ruby Bug #21649 (Open): Ractors can access non-shareable object through singleton classes
If we send a non-shareable object into a Ractor, it needs to be copied.
```
❯ ruby -W0 -e 'Ractor.new(p(Object.new)) { |o| p(o) }.join'
#<Object:0x00000001240f8cf8>
#<Object:0x00000001240f8870>
```
However we're able to instead...
jhawthorn (John Hawthorn)
04:20 PM Ruby Bug #21648: [prism] ruby crashes for `for * in [10]; end`
@kddnewton can you mark for backport? Thanks! Earlopain (Earlopain _)
03:28 PM Ruby Bug #21648 (Closed): [prism] ruby crashes for `for * in [10]; end`
Applied in changeset commit:git|0b0da6c4b26f80ad6985722d3fc0f5cdee09125d.
----------
Correctly compile splats in for-loop index in prism
Fixes [Bug #21648]
This is a followup to https://github.com/ruby/ruby/pull/13597.
The added test ...
Earlopain (Earlopain _)
12:23 PM Ruby Bug #21648: [prism] ruby crashes for `for * in [10]; end`
https://github.com/ruby/ruby/pull/14963 Earlopain (Earlopain _)
10:39 AM Ruby Bug #21648 (Closed): [prism] ruby crashes for `for * in [10]; end`
```sh
$ ruby -e "for * in [10]; end"
-e:1: [BUG] Stack consistency error (sp: 15, bp: 14)
ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [x86_64-linux]
-- Control frame information ----------------------------------------------...
Earlopain (Earlopain _)
03:28 PM Ruby Revision 0b0da6c4 (git): Correctly compile splats in for-loop index in prism
Fixes [Bug #21648]
This is a followup to https://github.com/ruby/ruby/pull/13597.
The added test passed but didn't emit the same instructions.
This also handles bare splats and aligns instructions for all cases
Earlopain (Earlopain _)
11:47 AM Ruby Revision 308fb9c8 (git): Fix a comment [ci skip]
nobu (Nobuyoshi Nakada)
09:22 AM Ruby Revision 2a9d15b9 (git): [ruby/json] parser.c: Fix indentation in json_decode_integer
https://github.com/ruby/json/commit/f228b30635 byroot (Jean Boussier)
09:21 AM Ruby Revision 14cbe0de (git): [ruby/json] Use locale indepenent version of `islapha`
https://github.com/ruby/json/commit/1ba1e9bef9 byroot (Jean Boussier)
07:53 AM Ruby Revision d0a6780d (git): [ruby/stringio] [DOC] Split the examples `StringIO` into the document file
https://github.com/ruby/stringio/commit/04ba28af00 nobu (Nobuyoshi Nakada)
07:35 AM Ruby Revision d17d49d4 (git): [ruby/rubygems] bundler_4_mode always return true
https://github.com/ruby/rubygems/commit/b2e1810067 hsbt (Hiroshi SHIBATA)
07:35 AM Ruby Revision 79684cea (git): [ruby/rubygems] Drop to support old git
https://github.com/ruby/rubygems/commit/687ffd7265 hsbt (Hiroshi SHIBATA)
07:33 AM Ruby Revision 6a1644dd (git): [ruby/rubygems] If we use shared GEM_HOME and install multiple versions, it may cause unexpected test failures.
```
Fetching gem metadata from https://gem.repo4/.
Resolving dependencies...
Resolving dependencies...
# $? => 0
cannot load such file -- diff/lcs
```
https://github.com/ruby/rubygems/commit/668b300261
hsbt (Hiroshi SHIBATA)
07:33 AM Ruby Revision 504a1ba7 (git): [ruby/rubygems] Use dummy gem instead of uri.
If we install uri-1.0.4 as default gems. The example may be failed with
version miss-match.
https://github.com/ruby/rubygems/commit/fd2dcb502b
hsbt (Hiroshi SHIBATA)
06:54 AM Ruby Revision 1b57e557 (git): [ruby/openssl] test: remove unused small test keys
Previous commits removed all usages of those small keys.
https://github.com/ruby/openssl/commit/f9d87d7912
rhenium (Kazuki Yamaguchi)
06:54 AM Ruby Revision d0ea9c0c (git): [ruby/openssl] ssl: update keys used in tests
Use generic keys whenever possible.
https://github.com/ruby/openssl/commit/73d6a25360
rhenium (Kazuki Yamaguchi)
06:54 AM Ruby Revision a9ba78e4 (git): [ruby/openssl] pkey: update keys used in tests
Use generic keys whenever possible.
https://github.com/ruby/openssl/commit/90d6af60b9
rhenium (Kazuki Yamaguchi)
06:54 AM Ruby Revision f90ca1a0 (git): [ruby/openssl] ocsp: update keys used in tests
Use generic keys whenever possible.
https://github.com/ruby/openssl/commit/cc4d40525c
rhenium (Kazuki Yamaguchi)
06:54 AM Ruby Revision 709aa728 (git): [ruby/openssl] ns_spki: update keys used in tests
Use generic keys whenever possible.
https://github.com/ruby/openssl/commit/ef4fa5e9b4
rhenium (Kazuki Yamaguchi)
06:54 AM Ruby Revision bf244356 (git): [ruby/openssl] asn1: update keys used in tests
Use generic keys whenever possible.
https://github.com/ruby/openssl/commit/689fc271b1
rhenium (Kazuki Yamaguchi)
06:54 AM Ruby Revision 1c709970 (git): [ruby/openssl] x509: update keys used in tests
Replace fixed-sized RSA keys with the generic rsa-{1,2,3}.pem keys.
Those test cases do not depend on specific keys or key sizes, and just
need several different keys.
Replace DSA keys with EC keys so that we can run more tests in the F...
rhenium (Kazuki Yamaguchi)
06:54 AM Ruby Revision e5ac2b89 (git): [ruby/openssl] cipher: various docs improvements
The EVP_CIPHER_CTX = OpenSSL::Cipher interface for AEAD ciphers is
notoriously complicated and full of pitfalls. I tried to clarify docs
so that users can hopefully connect the Ruby methods with the
corresponding OpenSSL man pages more e...
rhenium (Kazuki Yamaguchi)
06:36 AM Ruby Revision ecf5aa18 (git): [ruby/openssl] Sync History.md
rhenium (Kazuki Yamaguchi)
06:33 AM Ruby Revision b839deec (git): [ruby/openssl] Check NULL values for deprecated EVP_PKEY_get0() functions
In OpenSSL <= 1.1.1, EVP_PKEY_get0() always returned a valid object, so
a NULL check was not necessary. In OpenSSL 3.0, the function can return
NULL (https://docs.openssl.org/3.0/man7/migration_guide/#deprecated-function-mappings),
so gu...
stanhu (Stan Hu)
06:21 AM Ruby Revision db59619c (git): [ruby/rubygems] Fixup
https://github.com/ruby/rubygems/commit/9b3a5a8ae9cd
https://github.com/ruby/rubygems/commit/8f6eb4ac64
hsbt (Hiroshi SHIBATA)
05:51 AM Ruby Revision f6d2aef3 (git): [ruby/openssl] Update link to OpenSSL configuration file docs
https://github.com/ruby/openssl/commit/02ff964114 Tobias Haar
04:24 AM Ruby Revision e221a4b7 (git): [ruby/stringio] [DOC] Doc for StringIO#each
(https://github.com/ruby/stringio/pull/154)
https://github.com/ruby/stringio/commit/eca2588274
burdettelamar (Burdette Lamar)
04:23 AM Ruby Revision 2dd01c8f (git): [ruby/stringio] [DOC] Tweaks for StringIO#close_write
(https://github.com/ruby/stringio/pull/150)
https://github.com/ruby/stringio/commit/ea6e36f797
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
burdettelamar (Burdette Lamar)
03:42 AM Ruby Revision a1a3857c (git): [ruby/win32-registry] Use pathspecs to select needed files in the gem file
Exclude other git management files too.
https://github.com/ruby/win32-registry/commit/3be0188111
nobu (Nobuyoshi Nakada)
03:02 AM Ruby Revision 342dfd78 (git): [ruby/resolv] win32/resolv: fix loading of `NV Domain`
https://github.com/ruby/resolv/commit/da14f1f2fc fukunori03
01:52 AM Ruby Revision 4bd9cbd3 (git): Omit unknown DNS issue of macOS 26.1 beta
```
TestResolvDNS#test_no_server:
Test::Unit::ProxyError: Timeout::Error
/path/to/ruby/test/resolv/test_dns.rb:531:in 'TestResolvDNS#test_no_server'
```
hsbt (Hiroshi SHIBATA)
01:02 AM Ruby Revision fcf8b10b (git): [ruby/stringio] [DOC] Tweaks for StringIO#close_read
(https://github.com/ruby/stringio/pull/149)
https://github.com/ruby/stringio/commit/11995db341
burdettelamar (Burdette Lamar)
01:02 AM Ruby Revision daaa09bc (git): [ruby/stringio] [DOC] Tweaks for StringIO.closed_read?
(https://github.com/ruby/stringio/pull/152)
https://github.com/ruby/stringio/commit/7ded426718
burdettelamar (Burdette Lamar)
01:01 AM Ruby Revision 947e5baa (git): [ruby/stringio] [DOC] Tweaks for StringIO.closed_write?
(https://github.com/ruby/stringio/pull/153)
https://github.com/ruby/stringio/commit/3e9d576441
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
burdettelamar (Burdette Lamar)
 

Also available in: Atom