Project

General

Profile

Activity

From 10/24/2025 to 10/30/2025

Today

03:32 AM 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 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 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 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 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 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 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:21 AM 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)
12:18 AM 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 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 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 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 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 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 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 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 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 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 Revision 534aeaef (git): ZJIT: Dump Assembler on panic by default for dev builds
k0kubun (Takashi Kokubun)
11:27 PM Revision 16a7a22c (git): ZJIT: Avoid cloning Assembler repeatedly
k0kubun (Takashi Kokubun)
11:27 PM Revision 397cb107 (git): ZJIT: Suffix a label index to duplicated label names
k0kubun (Takashi Kokubun)
11:27 PM Revision 8b289cde (git): ZJIT: Print operands with Display on side exit
k0kubun (Takashi Kokubun)
11:27 PM Revision 1775447c (git): ZJIT: Refactor operand printer
k0kubun (Takashi Kokubun)
07:44 PM 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 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 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 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 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 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 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 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 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 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 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 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 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 Misc #21656 (Assigned): 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 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 Revision 0d9f8580 (git): ZJIT: Fix LoadIvarExtended test (#14989)
tekknolagi (Maxwell Bernstein)
03:17 PM Revision fcd7da15 (git): ZJIT: Introduce a better LIR printer (#14986)
Takashi Kokubun
02:52 PM 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 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 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 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 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 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 Revision cee4a46c (git): Use the given `TMPDIR`
nobu (Nobuyoshi Nakada)
11:02 AM 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 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 Revision c9018482 (git): win32: Extract `FILETIME` related constants.
nobu (Nobuyoshi Nakada)
10:43 AM 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 Revision 606abf2f (git): Clean extension libraries copied for the namespace
nobu (Nobuyoshi Nakada)
10:03 AM 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 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 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 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 Revision 12350eb9 (git): [Bug #21625] Allow io/wait methods with `IO#ungetc` in text mode
nobu (Nobuyoshi Nakada)
07:48 AM Revision 6e618a2c (git): Added repl_type_completor to bundled gems section
hsbt (Hiroshi SHIBATA)
07:36 AM Revision b55e9115 (git): Update default gems list at 8f0b9b27cec1ec187c6357586dc98d [ci skip]
git[bot]
07:34 AM Revision 8f0b9b27 (git): [ruby/fileutils] v1.8.0
https://github.com/ruby/fileutils/commit/29de582f68 hsbt (Hiroshi SHIBATA)
07:10 AM Revision b8f7c18a (git): Update default gems list at 337c4bc16384fa44f7a486d550461a [ci skip]
git[bot]
07:08 AM Revision 337c4bc1 (git): [ruby/date] v3.5.0
https://github.com/ruby/date/commit/d535f7e85f hsbt (Hiroshi SHIBATA)
06:58 AM Revision bb5f5a52 (git): Update default gems list at 2dcf1f74a417c01c64f45f1ea73d93 [ci skip]
git[bot]
06:50 AM Revision 2dcf1f74 (git): [ruby/timeout] v0.4.4
https://github.com/ruby/timeout/commit/f42b47d383 hsbt (Hiroshi SHIBATA)
06:31 AM Revision 582475b3 (git): Update default gems list at 4f223b72a9976cd015c4d926297c61 [ci skip]
git[bot]
06:30 AM Revision 4f223b72 (git): [ruby/zlib] Bump up v3.2.2
https://github.com/ruby/zlib/commit/5d50b223b1 hsbt (Hiroshi SHIBATA)
05:26 AM Revision f8d7482d (git): Fix for other than UTF-8 environments
nobu (Nobuyoshi Nakada)
05:26 AM Revision 103e91a0 (git): Remove alternatives for ruby 1.8 and earliers
nobu (Nobuyoshi Nakada)
05:12 AM Revision e1a0bcde (git): Added missing rubygems pages for default/bundled gems
hsbt (Hiroshi SHIBATA)
01:52 AM 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 Revision 7bc72469 (git): [DOC] Update refinements.rdoc
removes documentation for the activation order of `include` and `prepend` inside a refinement Astra
01:24 AM Revision e4219e27 (git): Fix flaky require test
luke-gru (Luke Gruber)
01:20 AM 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 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 Revision c4e090de (git): test_commit_email.rb: Clean up temporary files
nobu (Nobuyoshi Nakada)
12:11 AM 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 Revision 80be97e4 (git): ZJIT: Fill `cfp->pc` with trap value for C methods in debug builds
altxtech (André Soares)
11:40 PM 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 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 Revision 7428dc73 (git): ZJIT: Migrate an arm64 register from emit to split
k0kubun (Takashi Kokubun)
11:35 PM Revision d6d095e2 (git): ZJIT: Rename SCRATCH_OPND to SCRATCH0_OPND for x86_64
k0kubun (Takashi Kokubun)
10:25 PM 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 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 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 Revision afb0d431 (git): ZJIT: Drop --seed from test-all on CI (#14976)
Takashi Kokubun
08:45 PM 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 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 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 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 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 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 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 Revision d0c7234b (git): ZJIT: Support ParallelMov into memory (#14975)
Takashi Kokubun
08:14 PM 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 Revision 882e1677 (git): Update to ruby/spec@3bc45ba
andrykonchin (Andrew Konchin)
06:51 PM Feature #20205: Enable `frozen_string_literal` by default
______________________________________________ Anonymous
06:44 PM 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 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 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 Revision a9d42f7c (git): ZJIT: Print percentage of GuardType failure
Max Bernstein
05:37 PM 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 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 Revision f6cd20c6 (git): ZJIT: Split frame_setup_teardown tests
k0kubun (Takashi Kokubun)
04:25 PM Revision 0e1d99ce (git): ZJIT: Move c_stack_slots to Assembler
k0kubun (Takashi Kokubun)
04:25 PM Revision cc051ef0 (git): ZJIT: Simplify Assembler constructors
k0kubun (Takashi Kokubun)
04:25 PM 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 Revision 9b3df50d (git): ZJIT: Allow ALLOC_REGS to have an odd number of regs
k0kubun (Takashi Kokubun)
04:25 PM Revision b66c57be (git): ZJIT: Print unexpected operands on x86_64
k0kubun (Takashi Kokubun)
04:24 PM 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 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 Revision 2e2f31c8 (git): ZJIT: Add IsBitNotEqual and inline BasicObject#!=
Max Bernstein
02:49 PM Revision c2bef01b (git): ZJIT: Optimize Kernel#===
Max Bernstein
02:49 PM Revision e973baa8 (git): ZJIT: Add BoxBool and remove CCall from BasicObject#==
Max Bernstein
02:49 PM Revision a4f8afce (git): ZJIT: Use FnProperties::default()
Max Bernstein
02:49 PM Revision 2a6e5d7d (git): ZJIT: Allow both inlining and annotating properties
Max Bernstein
02:49 PM Revision 74255204 (git): ZJIT: Remove redundant annotation
Max Bernstein
02:49 PM Revision 3624031b (git): ZJIT: Inline Kernel#nil? and NilClass#nil?
We can fully remove the CCall now. Max Bernstein
12:02 PM Revision b0825d78 (git): Restore old version of Gem::Installer#install for default gems installation
hsbt (Hiroshi SHIBATA)
11:06 AM Revision 52451798 (git): [ruby/rubygems] Simulate default gems manually
https://github.com/ruby/rubygems/commit/c3cc38c72c hsbt (Hiroshi SHIBATA)
11:06 AM 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 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 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 Revision d67aba8a (git): [ruby/rubygems] Completely removed install_as_default feature
https://github.com/ruby/rubygems/commit/15e46a3a68 hsbt (Hiroshi SHIBATA)
11:06 AM Revision 523474bd (git): [ruby/rubygems] Deprecate --default option
https://github.com/ruby/rubygems/commit/55745ee0f8 hsbt (Hiroshi SHIBATA)
10:43 AM 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 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 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 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 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 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 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 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 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 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 Revision d82a590a (git): sync_default_gems.rb: Show `git diff` on failed sync
k0kubun (Takashi Kokubun)
04:07 AM 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 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 Revision d864bd1a (git): Update default gems list at b3191d204b8b4fe4b29cf73cd09a1b [ci skip]
git[bot]
03:57 AM Revision b3191d20 (git): [ruby/erb] Version 5.1.3
https://github.com/ruby/erb/commit/e8d382a83e k0kubun (Takashi Kokubun)
03:50 AM Revision 4511e962 (git): Update default gems list at f7eee3427dcc8b644b9fd6c854f3e1 [ci skip]
git[bot]
03:49 AM Revision f7eee342 (git): [ruby/erb] Version 5.1.2
https://github.com/ruby/erb/commit/daa0e8712f k0kubun (Takashi Kokubun)
03:09 AM 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 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 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 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 Revision 836fc00e (git): [DOC] Tweaks for String#swapcase
burdettelamar (Burdette Lamar)
01:18 AM Revision e3c4298d (git): [DOC] Tweaks for String#swapcase!
burdettelamar (Burdette Lamar)
01:14 AM Revision bf2663ce (git): [DOC] Tweaks for String#sum
burdettelamar (Burdette Lamar)

10/27/2025

11:25 PM 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 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 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 Revision e5e32acc (git): ZJIT: Annotate Kernel#frozen? as returning BoolExact
Max Bernstein
10:57 PM Revision c3c25443 (git): ZJIT: Annotate Symbol#to_s and Symbol#name as returning StringExact
Max Bernstein
10:57 PM Revision 46525fa7 (git): ZJIT: Add return_type to inlined InvokeBuiltin
Max Bernstein
10:57 PM Revision 3fb96ee9 (git): ZJIT: Inline method calls to ISEQs that just do leaf Primitive calls
Max Bernstein
10:53 PM 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 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 Misc #21646 (Assigned): Propose Luke Gruber as a Ruby committer
k0kubun (Takashi Kokubun)
08:15 PM Misc #21609 (Assigned): Propose Stan Lo (@st0012) as a core committer
k0kubun (Takashi Kokubun)
07:56 PM Revision 68d9f7c3 (git): ZJIT: Remove unnecessary 'static annotation from gen_hir_type.rb
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision a12aa2b5 (git): ZJIT: Since Param is unit struct, elide destructuring
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision ac57a5c4 (git): ZJIT: Use .is_empty() for clarity
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision fa0eab28 (git): ZJIT: Use .first() in lieu of .get(0)
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision aabec60c (git): ZJIT: Elide unnecessary 'static annotation
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision 79db7d52 (git): ZJIT: Remove unnecessary `as` casts
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision c112368e (git): ZJIT: Use std::ptr::null instead of casts
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision 5c4d76c9 (git): ZJIT: Remove unnecessary #[test] annotation
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision a395d9c0 (git): ZJIT: Simplify complex type to BranchEncoder
aidenfoxivey (Aiden Fox Ivey)
07:56 PM Revision 1d897f56 (git): ZJIT: Elide unnecessary return statements
aidenfoxivey (Aiden Fox Ivey)
07:26 PM Revision 74c3bd77 (git): ZJIT: Remove a duplicated annotation (#14968)
Takashi Kokubun
05:33 PM 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 Bug #21648: [prism] ruby crashes for `for * in [10]; end`
@kddnewton can you mark for backport? Thanks! Earlopain (Earlopain _)
03:28 PM 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 Bug #21648: [prism] ruby crashes for `for * in [10]; end`
https://github.com/ruby/ruby/pull/14963 Earlopain (Earlopain _)
10:39 AM 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 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 Revision 308fb9c8 (git): Fix a comment [ci skip]
nobu (Nobuyoshi Nakada)
09:22 AM 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 Revision 14cbe0de (git): [ruby/json] Use locale indepenent version of `islapha`
https://github.com/ruby/json/commit/1ba1e9bef9 byroot (Jean Boussier)
07:53 AM 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 Revision d17d49d4 (git): [ruby/rubygems] bundler_4_mode always return true
https://github.com/ruby/rubygems/commit/b2e1810067 hsbt (Hiroshi SHIBATA)
07:35 AM Revision 79684cea (git): [ruby/rubygems] Drop to support old git
https://github.com/ruby/rubygems/commit/687ffd7265 hsbt (Hiroshi SHIBATA)
07:33 AM 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 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 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 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 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 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 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 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 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 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 Revision ecf5aa18 (git): [ruby/openssl] Sync History.md
rhenium (Kazuki Yamaguchi)
06:33 AM 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 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 Revision f6d2aef3 (git): [ruby/openssl] Update link to OpenSSL configuration file docs
https://github.com/ruby/openssl/commit/02ff964114 Tobias Haar
04:24 AM 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 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 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 Revision 342dfd78 (git): [ruby/resolv] win32/resolv: fix loading of `NV Domain`
https://github.com/ruby/resolv/commit/da14f1f2fc fukunori03
01:52 AM 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 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 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 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)

10/26/2025

10:59 PM Revision 52ea2220 (git): Fix segfault when moving nested objects between ractors during GC
Fixes a segmentation fault when moving nested objects between ractors with GC stress enabled and YJIT.
The issue is a timing problem: `move_enter` allocates new object shells but leaves their contents uninitialized until `move_leave` co...
joshuay03 (Joshua Young)
10:46 PM Bug #21560: RUBY_MN_THREADS=1 causes large performance regression in Puma 7
Sent a PR to fix this https://github.com/ruby/ruby/pull/14952 andremuta (Andre Muta)
07:27 PM Revision b66fbd59 (git): Make rb_vm_ccs_invalidate_and_free static
peterzhu2118 (Peter Zhu)
07:04 PM Revision 9e49ee79 (git): [DOC] Tweaks for String#succ!
burdettelamar (Burdette Lamar)
07:04 PM Revision 5c683bd9 (git): [DOC] Tweaks for String#succ
burdettelamar (Burdette Lamar)
06:43 PM Bug #21640: Core Pathname is missing 3 methods / is partially-defined
Longtime rubyist here. I am the author of one of the Pathname PRs that kickstarted this discussion (#64). My PR adds the following methods to Pathname:
``` ruby
# these all use FileUtils
def mkdir_p(...)
def ln(...)
def ln_s(...)
...
gurgeous (Adam Doppelt)
12:38 PM Bug #21640: Core Pathname is missing 3 methods / is partially-defined
OK, I've made a PR to document that in https://github.com/ruby/ruby/pull/14953.
But it's just a workaround, it doesn't address any of the problems.
It doesn't address what happens to the pathname gem and the various problems I mentio...
Eregon (Benoit Daloze)
01:03 PM Revision 7690309a (git): Mention that `require 'pathname'` is necessary for #find, #rmtree and .mktmpdir
* See https://bugs.ruby-lang.org/issues/21640#note-16 Eregon (Benoit Daloze)
08:49 AM Revision f53b8194 (git): Stop deleting the reference from superclass when replacing classext.
Calling the usual rb_iclass_classext_free() causes SEGV because
duplicating a newer classext of iclass had set the reference from superclass
to the newer classext, but calling rb_iclass_classext_free() deletes it.
Satoshi Tagomori
08:49 AM Revision 1c81bbf0 (git): free the entry after deleting the reference
Satoshi Tagomori
08:49 AM Revision be118cf9 (git): classext replacement never happen on non-iclass classes
Satoshi Tagomori
08:49 AM Revision efe9a3cd (git): Add several very basic tests to be run with RUBY_NAMESPACE=1 on CI
To detect breaking namespace features on CI. Satoshi Tagomori
07:05 AM Revision e3a71751 (git): [ruby/stringio] [DOC] Tweaks for StringIO#closed?
(https://github.com/ruby/stringio/pull/151)
https://github.com/ruby/stringio/commit/94bd4a3d87
burdettelamar (Burdette Lamar)

10/25/2025

05:49 PM Bug #21560: RUBY_MN_THREADS=1 causes large performance regression in Puma 7
I run a git bisect building/testing with these examples (to raise if >2ms avg) and this is the commit that started the issue:
> [be1bbd5b7d40ad863ab35097765d3754726bbd54] M:N thread scheduler for Ractors
Which is the commit the introdu...
andremuta (Andre Muta)
03:31 PM Feature #15381: Let double splat call `to_h` implicitly
jeremyevans0 (Jeremy Evans) wrote in #note-11:
> […] Maybe in Ruby 4?
Bringing this up since it seems that this year’s Ruby version will be 4.0.
Is this change going to be considered for inclusion in the new release?
sanjioh (Fabio Sangiovanni)
02:24 PM Revision c6d14584 (git): [DOC] Link github style references in ChangeLog
nobu (Nobuyoshi Nakada)
01:48 PM Revision 0a924d46 (git): Use pointer to the member
Instead of the offset calculation. nobu (Nobuyoshi Nakada)
01:42 PM Revision 8e3957cc (git): Remove automatically set environment variables
Probably since macOS Runner Image Version 20251020.XXXX, spawned
processes initialize `TMPDIR` environment variable under the hood.
nobu (Nobuyoshi Nakada)
01:42 PM Revision af8c4481 (git): Add configured environment variables first
And `LD_PRELOAD` is set to `PRELOADENV` on Linux. nobu (Nobuyoshi Nakada)
12:19 PM Revision 377aa2a3 (git): Improve performance of UnicodeNormalize.canonical_ordering_one
Use array_of_integer.sort! instead of buble-sort-like algorithm tompng (tomoya ishida)
09:10 AM Revision 31e14ac7 (git): [DOC] Follow up GH-14470
`IS_TYPED_DATA` is no longer a flag in `type`, and the "embedded" flag
has been shifted accordingly.
ruby/ruby#14470
nobu (Nobuyoshi Nakada)
09:01 AM Revision 10f0abee (git): Update default gems list at 226caf1a1f3542d9e39e1a72fb43fd [ci skip]
git[bot]
09:00 AM Revision 226caf1a (git): [ruby/json] Release 2.15.2
https://github.com/ruby/json/commit/5e61cd7dce byroot (Jean Boussier)
08:57 AM Revision 8e8e3278 (git): [ruby/json] Fix concurrent usage of JSON::Coder#dump
Fix: https://github.com/rails/rails/commit/90616277e3d8fc46c9cf35d6a7470ff1ea0092f7#r168784389
Because the `depth` counter is inside `JSON::State` it can't be used
concurrently, and in case of a circular reference the counter may be
lef...
byroot (Jean Boussier)
04:59 AM Revision 93828c47 (git): merge revision(s) 4368e6c42effc16904e35f753fc2002f0bba375a:
[PATCH] [ruby/rubygems] Removed credential assertion from stdout
https://github.com/ruby/rubygems/commit/3946be008c
nagachika (Tomoyuki Chikanaga)
04:58 AM Revision bee70ff6 (git): [ruby/rubygems] Bump up vendored uri to 0.13.3
nagachika (Tomoyuki Chikanaga)

10/24/2025

10:34 PM Revision cb302881 (git): Fix memory leak of transcoding when fallback raises
When the fallback function in transcode_loop raises, it will leak the memory
in rb_econv_t. The following script reproduces the leak:
10.times do
100_000.times do
"\ufffd".encode(Encoding::US_ASCII, fallback: proc { ra...
peterzhu2118 (Peter Zhu)
10:09 PM Revision fcae2062 (git): [DOC] Tweaks for String#sub!
burdettelamar (Burdette Lamar)
10:09 PM Revision 245df86e (git): [DOC] Tweaks for String#sub
burdettelamar (Burdette Lamar)
09:03 PM Revision 8b6564d1 (git): ZJIT: Add gen_stack_overflow_check to `CCallWithFrame`
aidenfoxivey (Aiden Fox Ivey)
07:38 PM Bug #21522: Accessing outer locals via eval in a Ractor returns false
Hi, I submitted a PR to fix this: https://github.com/ruby/ruby/pull/14940 andremuta (Andre Muta)
07:04 PM Feature #20163: Introduce #bit_count method on Integer
matz (Yukihiro Matsumoto) wrote in #note-24:
> Is there any real-world use-case for Integer#popcount method?
> ...
Yes, I am using it for a [bit set gem](https://github.com/tenderlove/bitz) (I had to implement my own popcount [here](ht...
tenderlovemaking (Aaron Patterson)
03:50 PM Revision a9f24aac (git): ZJIT: Specialize string length, bytesize, and size (#14928)
Don't push frame for String#size, String#bytesize, and String#length. Jacob (Jacob Jacob)
08:24 AM Misc #21647 (Open): DevMeeting-2025-11-13
# The next dev meeting
**Date: 2025/11/13 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:23 AM Misc #21606 (Closed): DevMeeting-2025-10-23
mame (Yusuke Endoh)
06:20 AM Revision f8ccc0af (git): [ruby/rubygems] Forcely activate irb if that isn't available when running with bundle console
https://github.com/ruby/rubygems/commit/42e22fd367 hsbt (Hiroshi SHIBATA)
02:56 AM Revision 0eaea7bd (git): thwait has been extracted to http://github.com/ruby/thwait
hsbt (Hiroshi SHIBATA)
02:43 AM Revision 7aac92ab (git): Update the primary maintainer of rubygems
hsbt (Hiroshi SHIBATA)
02:42 AM Revision f388647e (git): Added policy of bundled gems
hsbt (Hiroshi SHIBATA)
02:41 AM Revision b58b89b9 (git): Revised structure of maintenance policy
hsbt (Hiroshi SHIBATA)
02:29 AM Revision f31cd375 (git): Revised unmaintained to reflect the current situation
hsbt (Hiroshi SHIBATA)
02:14 AM Revision daca69c8 (git): Restore primary maintainer name at the bundled gems
hsbt (Hiroshi SHIBATA)
01:14 AM Revision 877ebe5b (git): [ruby/stringio] [DOC] Tweaks for StringIO#close
(https://github.com/ruby/stringio/pull/148)
Make examples do more work (instead of text).
https://github.com/ruby/stringio/commit/7f4662438f
burdettelamar (Burdette Lamar)
 

Also available in: Atom