close

Project

General

Profile

Activity

From 04/22/2026 to 04/28/2026

Today

Image 05:38 PM Ruby Feature #21871 (Rejected): Add Module#undef_const
This was discussed again at the RubyKaigi developer meeting, but it was not accepted. However, the discussion during the meeting was helpful, as it turns out you can emulate this feature by using `autoload :Constant, "file/that/raises/ex... jeremyevans0 (Jeremy Evans)
Image 03:36 PM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
Proc's source in the code below consists of 3 parts. `do`, `inside\n<<B; end`, and `exclave\nB`.
```ruby
<<A; tap do
outside injected
A
inside
<<B; end; outside
exclave
B
```
Even if heredocs are used, I think `do` is the s...
tompng (tomoya ishida)
Image 12:56 AM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
> If I'm understanding you correctly, then what you would like for source_range for the example for foo and bar methods is then:
I don't claim to have any suggestion for HERE docs because of the disjoint problem you mentioned. But cle...
headius (Charles Nutter)
Image 12:41 AM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
> The only choice for Prism.find there is to return the ForNode
`for` syntax does not parse as a ForNode without the block, so the two are not separable. Calls do parse without the block and remain CallNode. A block is an argument to ...
headius (Charles Nutter)
Image 01:36 PM Ruby Bug #22017 (Closed): Backport win32-resolv
The win32-resolv library bundled with ruby 3.4 is half-baked 0.6.2.
It should be updated to 0.6.3 at least, hopefully 0.7.1.
nobu (Nobuyoshi Nakada)
Image 06:21 AM Ruby Revision 8d929853 (git): Get rid of rb_matchext_struct
It can simply be merged inside `RMatch`. byroot (Jean Boussier)
03:54 AM Ruby Revision 5e6e6781 (git): Bump taiki-e/install-action
Bumps the github-actions group with 1 update in the / directory: [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `taiki-e/install-action` from 2.75.22 to 2.75.23
- [Release notes](https://github.com/taiki-e...
dependabot[bot]
Image 02:11 AM Ruby Revision 2432ed89 (git): Further simplify common use case of NEWOBJ_OF
Only few objects need to pass the starting shape. byroot (Jean Boussier)
Image 02:11 AM Ruby Revision e4667e51 (git): Refactor NEWOB_OF for the common protected use case
Almost every objects are now WB protected, with just a few
exceptions, hence we can provide a much simpler interface.
It's also much easier to find the remaining unprotected objects.
byroot (Jean Boussier)
Image 02:11 AM Ruby Revision c202bc08 (git): Simplify `NEWOBJ_OF` and introduce `EC_NEWOBJ_OF`
We only very rarely have the execution context available, so
it's preferable to provide a simpler default macro.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 379b95a2 (git): Get rid of RGENGC_WB_PROTECTED_NODE_CREF
It's unused. byroot (Jean Boussier)
Image 12:39 AM Ruby Revision c95a190d (git): Get rid of RGENGC_WB_PROTECTED_BIGNUM
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 70451a40 (git): Get rid of RGENGC_WB_PROTECTED_RATIONAL
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 5e99295f (git): Get rid of RGENGC_WB_PROTECTED_COMPLEX
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 92cba2ef (git): Get rid of RGENGC_WB_PROTECTED_FLOAT
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision ac0a319d (git): Get rid of RGENGC_WB_PROTECTED_CLASS
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 9e47f988 (git): Get rid of RGENGC_WB_PROTECTED_MATCH
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision e9f372a2 (git): Get rid of RGENGC_WB_PROTECTED_REGEXP
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 83d4117b (git): Get rid of RGENGC_WB_PROTECTED_OBJECT
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 267ce6f8 (git): Get rid of RGENGC_WB_PROTECTED_STRING
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 9307d1b5 (git): Get rid of RGENGC_WB_PROTECTED_STRUCT
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision 7040286d (git): Get rid of RGENGC_WB_PROTECTED_HASH
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)
Image 12:39 AM Ruby Revision e603aa0d (git): Get rid of RGENGC_WB_PROTECTED_ARRAY
It has been the default for a very long time and there is no good reason to
disable it.
byroot (Jean Boussier)

04/27/2026

Image 10:54 PM Ruby Feature #21795: Methods for retrieving ASTs
kddnewton (Kevin Newton) wrote in #note-21:
> If, regardless, you would like to keep pursuing it, you need to produce working code for those two examples.
Done:
https://github.com/eregon/error_highlight/pull/1
https://github.com/er...
Eregon (Benoit Daloze)
Image 07:05 PM Ruby Feature #21795: Methods for retrieving ASTs
kddnewton (Kevin Newton) wrote in #note-23:
> Unless you're once again suggesting we only rely on line/column, which as already mentioned multiple times and rejected multiple times, won't work.
Do you have a concrete example why it w...
Eregon (Benoit Daloze)
Image 12:34 AM Ruby Feature #21795: Methods for retrieving ASTs
Necessarily if the ABI changes, it means the AST shape changed. So how can you possibly expect it to work "whether the loaded prism gem ABI matches that or not". If the AST shape changed, then you're guessing. Unless you're once again su... kddnewton (Kevin Newton)
Image 09:50 PM Ruby Feature #21953: Allow accessing unshareable objects within a Ractor-local Ruby Box
tikkss (Tsutomu Katsube) wrote in #note-1:
> You might argue, "Why not run it in a multi-process?" However,
> ...
Did you measure the difference in memory usage?
I'd expect it to be small because each Ruby::Box has pretty much a cop...
Eregon (Benoit Daloze)
Image 09:37 PM Ruby Feature #21953: Allow accessing unshareable objects within a Ractor-local Ruby Box
I describe the use case of test-unit.
Now, we are implementing `Ractor` based parallel test runner. The tests
are run on non-main ractors.
We have met a lot of `Ractor::IsolationError`. Each time, We have tried
using `freeze` or ...
tikkss (Tsutomu Katsube)
Image 06:47 PM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
headius (Charles Nutter) wrote in #note-12:
> The target of the break is a semantic detail, not a syntactic one, and it is not determined at parse time.
It does, it is determined at parse time. Break is a syntactic construct.
> .....
Eregon (Benoit Daloze)
Image 12:37 AM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
> It makes no sense for the range of the syntactic block here to include the entire expression of the call and its arguments.
If I'm understanding you correctly, then what you would like for source_range for the example for `foo` and ...
kddnewton (Kevin Newton)
04:37 PM Ruby Revision 5da79da5 (git): [ruby/prism] Fix missing Ripper doc caused by shim with `:nodoc:`
This fixes the missing Ripper documentation, which currently returns 404 Not Found:
https://docs.ruby-lang.org/en/master/Ripper.html
We need to use `:stopdoc:`/`startdoc:` instead of `:nodoc:` to ignore the shim markup.
See also https:...
Masafumi Koba
Image 03:51 PM Ruby Revision ef758280 (git): Remove warning in TestISeq#test_compile_file_options
etienne (Étienne Barrié)
Image 03:23 PM Ruby Revision 587d03e7 (git): Expose a simplified `rb_newobj_of`
No longer takes an EC, `rb_ec_newobj_of` does. byroot (Jean Boussier)
Image 03:23 PM Ruby Revision 79aa1d23 (git): gc.h: refactor NEWOBJ_OF macro
Unifies `rb_wb_unprotected_newobj_of` and `rb_wb_protected_newobj_of`. byroot (Jean Boussier)
Image 02:02 PM Ruby Bug #20409 (Open): Missing reporting some invalid breaks
Re-opening, we need a syntax error for parse.y. kddnewton (Kevin Newton)
Image 02:01 PM Ruby Bug #20409 (Closed): Missing reporting some invalid breaks
Applied in changeset commit:git|558c10413990cb08b7750895b572b0b59eed0d28.
----------
[ruby/prism] Reject `END { break }` for Ruby 4.0
For [Bug #20409]
https://github.com/ruby/prism/commit/4848eb344e
Earlopain (Earlopain _)
Image 02:01 PM Ruby Revision 558c1041 (git): [ruby/prism] Reject `END { break }` for Ruby 4.0
For [Bug #20409]
https://github.com/ruby/prism/commit/4848eb344e
Earlopain (Earlopain _)
Image 11:52 AM Ruby Revision e7de4b3d (git): rb_objspace_data_type_memsize: fix compatibility with CALC_EXACT_MALLOC_SIZE
When `CALC_EXACT_MALLOC_SIZE` `ptr` isn't the real allocated pointer.
On macOS giving a wrong pointer to `malloc_usable_size` returns 0,
even with ASAN enabled, however on Linux it does fail.
byroot (Jean Boussier)
Image 05:03 AM Ruby Revision 3bec8005 (git): Add test for compile option support
byroot (Jean Boussier)
02:34 AM Ruby Revision 1de3deb5 (git): Bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `ruby/setup-ruby` from 1.305.0 to ...
dependabot[bot]

04/26/2026

Image 11:24 PM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
> The example of define_method(:foo) { ... } was given
define_method is just a method call like any other. It should not be included in the range for the syntactic construct that is the block.
What about do..end with a huge piece of c...
headius (Charles Nutter)
Image 02:08 PM Ruby Feature #21998: Add {Method,UnboundMethod,Proc}#source_range
We should make sure start line respects the line passed into eval (not sure if that was implicit, but wanted to be sure to call it out).
For the heredocs, I agree that they should be omitted. We made that decision early with Prism bec...
kddnewton (Kevin Newton)
Image 09:03 PM Ruby Feature #21795: Methods for retrieving ASTs
kddnewton (Kevin Newton) wrote in #note-21:
> Further evidence that the ABI version is good: since the beginning of 2024, we would only have had to bump the ABI version twice.
How did you determine this? As shown in #note-13, `node...
Eregon (Benoit Daloze)
Image 02:25 PM Ruby Feature #21795: Methods for retrieving ASTs
@eregon — I have tried start/end line/column extensively. It did not work at all for Rails or error highlight, and I spent too long on it to revisit it. Also, it has been rejected twice in this thread alone. If, regardless, you would lik... kddnewton (Kevin Newton)
Image 08:39 PM Ruby Misc #22001: Adding TruffleRuby in the CI of all default & bundled gems
hsbt (Hiroshi SHIBATA) wrote in #note-3:
> We already have a precedent where TruffleRuby CI for a library stayed broken for over a month with no one fixing it.
> ...
For the record, I did work hard on fixing that and the initial fix t...
Eregon (Benoit Daloze)
Image 11:30 AM Ruby Revision c1487868 (git): merge revision(s) a05d5ecb1253521cf3b17815a97a152bac6c3399:
[PATCH] Add write barriers on Hash#rehash nagachika (Tomoyuki Chikanaga)
Image 09:07 AM Ruby Revision 8e253ae2 (git): Fix writebarrier in backtrace_initialize_copy
jhawthorn (John Hawthorn)
Image 09:07 AM Ruby Revision f0a71599 (git): Fix write barrier in update_classvariable_cache
jhawthorn (John Hawthorn)
Image 09:07 AM Ruby Revision 2c729106 (git): Fix writebarrier on rb_class_set_box_classext
jhawthorn (John Hawthorn)
Image 09:07 AM Ruby Revision 52a85347 (git): Update mark bits as we go in ibf load
We're allocating as we fill in the ISEQ, which could cause GC, so we
need to be careful values are marked and use write barriers.
When we were loading values here we were issuing write barriers, however
if the iseq was to be marked at t...
jhawthorn (John Hawthorn)
Image 09:07 AM Ruby Revision b90415b5 (git): Issue writebarrier_remember after set const tbl
jhawthorn (John Hawthorn)
Image 09:07 AM Ruby Revision a05d5ecb (git): Add write barriers on Hash#rehash
jhawthorn (John Hawthorn)
Image 08:14 AM Ruby Revision 1056f5ef (git): Hide ractor traversal object hash
This could contain other hidden objects, and so needs to be hidden
itself so as to not be seen by ObjectSpace.each_object
1000.times { ObjectSpace.each_object(Hash){|o| puts o.inspect; ObjectSpace.reachable_objects_from(Class) } }'
...
jhawthorn (John Hawthorn)
Image 08:14 AM Ruby Bug #21996 (Closed): Crash when modifying instance variables during inspect or Marshal dump
Applied in changeset commit:git|f2d0ef269b47af7d0e658016903bd8917c32899a.
----------
Add and use rb_ivar_foreach_buffered
Previously, rb_ivar_foreach would walk up the shape tree, but yield
instance variables to the callback as it went...
jhawthorn (John Hawthorn)
Image 08:14 AM Ruby Revision f2d0ef26 (git): Add and use rb_ivar_foreach_buffered
Previously, rb_ivar_foreach would walk up the shape tree, but yield
instance variables to the callback as it went. If the object shape was
modified during this callback, particularly with removing an instance
variable, it could result in...
jhawthorn (John Hawthorn)
Image 08:14 AM Ruby Revision 96cd1bc7 (git): Fix iv_count for too_complex generic ivar
Previously this branch forgot to assign iv_count when used with a
generic ivar which is too_complex, which could result in it incorrectly
returning 0.
jhawthorn (John Hawthorn)

04/25/2026

Image 04:44 AM Ruby Feature #22011: Hash tables with swiss table
<img style="width: 810px;" src="clipboard-202604251344-sv2ro.png"><br>
The Student T test shows that the performance is almost identical, but the memory consumption is confidently lowered by about 3%.
dsh0416 (Delton Ding)
Image 01:00 AM Ruby Feature #22011: Hash tables with swiss table
The regression got better controlled with the new patch.
![](https://bugs.ruby-lang.org/attachments/download/10199/memory_top_rss_changes.png)
![](https://bugs.ruby-lang.org/attachments/download/10200/time_by_test_violin_interp.png)
![]...
dsh0416 (Delton Ding)
Image 03:59 AM Ruby Bug #22013 (Closed): Array#| deduplication via eql? breaks when total element count exceeds ~16
Applied in changeset commit:git|97c070c244ebd76cbf4d9a5b81dca08f4bda6f05.
----------
[DOC] Clarify array methods using `eql?`
[Bug #22013]
Up to a certain size, only `eql?` is used, but for larger arrays
a Hash is used an `#hash` beco...
byroot (Jean Boussier)
Image 02:39 AM Ruby Bug #22013: Array#| deduplication via eql? breaks when total element count exceeds ~16
> It would help to add a note similar to Object#eql? docs
Yes that is what I said.
https://github.com/ruby/ruby/pull/16786
byroot (Jean Boussier)
Image 03:59 AM Ruby Revision 97c070c2 (git): [DOC] Clarify array methods using `eql?`
[Bug #22013]
Up to a certain size, only `eql?` is used, but for larger arrays
a Hash is used an `#hash` becomes necessary.
We could consider always checking `#hash` for consistency, but
that would decrease performance.
At the very lea...
byroot (Jean Boussier)

04/24/2026

Image 11:27 PM Ruby Bug #22015: Success without RUBY_BOX=1, Failure with RUBY_BOX=1
Related: #21324, #21977
I believe this to be related to Symbol#to_proc, as changing `bundler/resolver/spec_group.rb:41` from:
```ruby
def dependencies
@dependencies ||= @specs.flat_map(&:expanded_dependencies).uniq.sort
...
jneen (Jeanine Adkisson)
Image 03:57 PM Ruby Bug #22015 (Open): Success without RUBY_BOX=1, Failure with RUBY_BOX=1
```
$ ruby -v
ruby 4.1.0dev (2026-04-24T13:35:04Z master 52ee497f36) +PRISM [arm64-darwin25]
```
```
$ ruby -e 'require "bundler/inline"; gemfile {}'
```
It ran fine as expected, but it failed when I added RUBY_BOX=1.
```
...
niku (niku _)
11:14 PM Ruby Revision 49851c87 (git): Update default gems list at 6342f3ac55796e54c28b9a72b2898c [ci skip]
git[bot]
Image 11:14 PM Ruby Revision 6342f3ac (git): [ruby/ipaddr] Bump the version to 1.2.9
https://github.com/ruby/ipaddr/commit/f17f68bcab taketo1113 (Taketo Takashima)
Image 10:54 PM Ruby Revision a6f2450f (git): [ruby/ipaddr] Fix IPAddr#== returning true when compared with nil for 0.0.0.0 and ::
https://github.com/ruby/ipaddr/commit/a716379948 taketo1113 (Taketo Takashima)
Image 04:24 PM Ruby Bug #22016: ruby segfaults regularly
And here is the output of the process itself:
```
asciidoctor40 -D. -a nofooter -b manpage vms-empire.adoc
/usr/pkg/lib/ruby/4.0.0/x86_64-netbsd/rbconfig.rb:311: [BUG] Segmentation fault at 0x00007f7fff7c3000
ruby 4.0.2 (2026-03-17 r...
wiz (Thomas Klausner)
Image 04:18 PM Ruby Bug #22016 (Open): ruby segfaults regularly
When using ruby 4.0.2 on NetBSD-11.99.5/x86_64, built from pkgsrc, I often get core dumps.
Recently it was quite easy to get them using asciidoctor to build the documentation for vms-empire (but that is just one example).
Here is the...
wiz (Thomas Klausner)
Image 04:16 PM Ruby Feature #22011: Hash tables with swiss table
From the bench results, we could see some very positive signals in some benches, but it also introduces some regressions, I would try if I could further narrowing down the regressions. dsh0416 (Delton Ding)
Image 03:49 PM Ruby Feature #22011: Hash tables with swiss table
Here are the ruby benches results.
![](https://bugs.ruby-lang.org/attachments/download/10193/time_by_test_violin_interp.png)
![](https://bugs.ruby-lang.org/attachments/download/10194/time_by_test_violin_yjit.png)
| Area | interp | yjit...
dsh0416 (Delton Ding)
Image 05:14 AM Ruby Feature #22011: Hash tables with swiss table
I see that the benchmarks might be affected, since st_numhash/symbol hash path looks like returning constant 128 on bits 25..31, which increases the hash collision, under investigating. dsh0416 (Delton Ding)
Image 01:35 PM Ruby Revision 52ee497f (git): [ruby/prism] Implement `on_label_end` for ripper
It is emitted for string-like symbols only
https://github.com/ruby/prism/commit/6d63302c7b
Earlopain (Earlopain _)
Image 12:00 PM Ruby Bug #22013: Array#| deduplication via eql? breaks when total element count exceeds ~16
byroot (Jean Boussier) wrote in #note-1:
> You are missing the corresponding `hash` method
It would help to add a note similar to `Object#eql?` docs (https://docs.ruby-lang.org/en/master/Object.html#method-i-eql-3F):
> ...
Someone...
andreyruby (Andrey Glushkov)
Image 05:13 AM Ruby Bug #22013: Array#| deduplication via eql? breaks when total element count exceeds ~16
Is this a document issue? nobu (Nobuyoshi Nakada)
Image 09:09 AM Ruby Revision 0cb9c433 (git): Expose rb_int_parse_cstr() as public API
Move rb_int_parse_cstr() declaration and RB_INT_PARSE_* flags from
internal/bignum.h to the public header include/ruby/internal/intern/bignum.h
so that C extensions can use this function without writing their own
prototype declarations.
...
jinroq (Jinroq SAITOH)
02:24 AM Ruby Revision 0a1cb0a8 (git): Bump taiki-e/install-action
Bumps the github-actions group with 1 update in the / directory: [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `taiki-e/install-action` from 2.75.19 to 2.75.20
- [Release notes](https://github.com/taiki-e...
dependabot[bot]
12:45 AM Ruby Revision 7e1039e1 (git): [ruby/rubygems] Update gem creation guide URL to rubygems.org
Update the gem creation guide links in the CLI output and gemspac template.
The previous Bundler guide URL now redirects to RubyGems Guides.
https://github.com/ruby/rubygems/commit/0b469edf03
y-onishi
Image 12:44 AM Ruby Revision 11e0e7cc (git): [ruby/rubygems] Point recovery instructions at bundle pristine under Bundler
gem pristine does not reach gems that Bundler installed under
BUNDLE_PATH, so the guidance emitted when no_build_extension or
no_install_plugin is set needs a Bundler-native equivalent. Override
warn_skipped_extensions and warn_skipped_p...
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision 7844f72f (git): [ruby/rubygems] Cover stale plugin wrapper removal in no_install_plugin spec
The existing spec only checked that the wrapper is skipped on a fresh
install. Add a version upgrade case so that when a later version of the
gem no longer ships plugins, the previously generated wrapper is removed
even though no_install...
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision 487ea390 (git): [ruby/rubygems] Honor --no-build-extension for git-sourced gems
Gem::Resolver::GitSpecification#install calls Gem::Installer#build_extensions
directly, so the guard at the main install path did not cover git sources.
Move the options check into build_extensions itself so every caller skips the
build ...
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision a3c2ff3e (git): [ruby/rubygems] Add no_build_extension and no_install_plugin specs to windows_tag_group
https://github.com/ruby/rubygems/commit/51d3b3e76a
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision 8dc70751 (git): [ruby/rubygems] Remove stale plugin wrappers even when --no-install-plugin is specified
When a gem upgrades from a version with plugins to one without,
generate_plugins normally removes the old wrapper files. Skipping
generate_plugins entirely with --no-install-plugin prevented this
cleanup, leaving stale wrappers that woul...
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision ab9d60c4 (git): [ruby/rubygems] Add Bundler spec for no_install_plugin setting
https://github.com/ruby/rubygems/commit/0659cc7739
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision c6166528 (git): [ruby/rubygems] Document no_build_extension and no_install_plugin settings in bundle-config
The quality spec requires all Bundler settings to be documented in
the bundle-config man page.
https://github.com/ruby/rubygems/commit/48d494326f
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision 19a0fe51 (git): [ruby/rubygems] Skip load_plugin when --no-install-plugin is specified
Without this change, reinstalling or upgrading a gem with
--no-install-plugin would still execute a pre-existing plugin wrapper
left by a previous install via load_plugin. This defeats the opt-out.
https://github.com/ruby/rubygems/commi...
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision fe51923c (git): [ruby/rubygems] Add warnings with recovery instructions when skipping extensions or plugins
When extensions or plugins are skipped via --no-build-extension or
--no-install-plugin, warn the user and point them to the appropriate
gem pristine command to re-enable later.
https://github.com/ruby/rubygems/commit/d2e7f125db
Co-Auth...
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision 7a2c0892 (git): [ruby/rubygems] Support no_build_extension and no_install_plugin settings in Bundler
Extend the --no-build-extension and --no-install-plugin support to
Bundler's installation paths. RubyGemsGemInstaller#install now
respects these options, and the settings are propagated from
Bundler::Settings through Source::RubyGems to ...
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision 39c72051 (git): [ruby/rubygems] Check plugin file existence before loading in load_plugin
When plugins are not installed (e.g. via --no-install-plugin), the
plugin files do not exist on disk. Without this check, load_plugin
would attempt to load non-existent files and produce spurious
LoadError warnings.
https://github.com/r...
hsbt (Hiroshi SHIBATA)
Image 12:44 AM Ruby Revision f408ae99 (git): [ruby/rubygems] Add --[no-]build-extension and --[no-]install-plugin options to gem install
These options allow users to opt out of building native extensions and
installing plugins during gem installation, providing an equivalent to
npm's --ignore-scripts for mitigating arbitrary code execution vectors.
Both options default t...
hsbt (Hiroshi SHIBATA)
Image 12:23 AM Ruby Misc #22001 (Rejected): Adding TruffleRuby in the CI of all default & bundled gems
I'm opposed to adopting this as a blanket policy.
We already have a precedent where TruffleRuby CI for a library stayed broken for over a month with no one fixing it.
https://github.com/ruby/rdoc/pull/1586
Even with the ability...
hsbt (Hiroshi SHIBATA)

04/23/2026

11:58 PM Ruby Revision 16ad249a (git): [ruby/ipaddr] Fix private?, link_local? and loopback? methods to avoid mistaking public IPv6 as IPv4-mapped
https://github.com/ruby/ipaddr/commit/c1383a3356 Adrien Rey-Jarthon
Image 11:49 PM Ruby Revision fd9cee5f (git): [ruby/prism] Fix incompatibilities for `on_word_sep` in ripper
It was mostly good, just a few edgecases:
* word_sep always only contains a single line. if there are multiple lines, it is also multiple word_sep
* Handle trailing whitespace
The excluded testcase is interpolation mixed with heredoc.
T...
Earlopain (Earlopain _)
Image 10:48 PM Ruby Feature #22011: Hash tables with swiss table
Just a side note, enlarging `struct st_table` by 16B as some consequence for various objects sizes (e.g. Hash goes from pool 80 to pool 96, but a bunch of other structs embed `struct st_table`).
I had a vague plan to collocate the `bi...
byroot (Jean Boussier)
Image 01:34 PM Ruby Feature #22011: Hash tables with swiss table
I found some crash cases, that I need to fix it first. Also, I am running the full ruby-bench against the master branch on linux and windows to see if I've missed anything. dsh0416 (Delton Ding)
Image 10:39 AM Ruby Feature #22011: Hash tables with swiss table
add ruby bench results dsh0416 (Delton Ding)
Image 10:18 AM Ruby Feature #22011: Hash tables with swiss table
fix some regression bugs dsh0416 (Delton Ding)
Image 10:38 PM Ruby Bug #22013: Array#| deduplication via eql? breaks when total element count exceeds ~16
You are missing the corresponding `hash` method:
```ruby
def hash
[self.class, id].hash
end
```
It is somewhat implied by the mention of `#eql?` (hash based equality) but the documentation could be more explicit of cour...
byroot (Jean Boussier)
Image 07:35 PM Ruby Bug #22013 (Closed): Array#| deduplication via eql? breaks when total element count exceeds ~16

## Problem description
The documentation for `Array#|` states:
> Returns the union of self and other_array; duplicates are removed; order is preserved; items are compared using `eql?`
However, when the total number of elements...
andreyruby (Andrey Glushkov)
Image 08:51 PM Ruby Feature #22014 (Open): Support `||` and `&&` operations in coverage
https://bugs.ruby-lang.org/issues/13901 added support for branch coverage, but did not include `||` and `&&` branches
i.e.
```
def self.even_and_positive(number)
number.even? && number >= 0
end
```
Currently, this is consi...
G-Rath (Gareth Jones)
Image 03:01 PM Ruby Feature #22012: Data class should respond to #dig
This was a conscious design decision on Data implementaion, that underlines its nature.
Struct has a two-fold nature: it is both "a mutable structured object" and "a container" (has `#[]`, `#each`, includes `Enumerable`).
Data is ...
zverok (Victor Shepelev)
Image 12:18 PM Ruby Feature #22012 (Open): Data class should respond to #dig
`Data`s cousin, `Struct` already responds to `#dig`. `Data` objects can show up in deeply nested objects as well, and the semantics of this should be nearly identical to `Struct#dig` kolbrich (Kevin Olbrich)
04:48 AM Ruby Revision 7d4941d3 (git): ZJIT: Remove `JITState#iseq` (#16774)
While working on implementing a new inliner for ZJIT, I keep running into an issue where the wrong iseq pointer is being used. Since `JITState#iseq` and `FrameState#iseq` end up being the same value in the absence of inlining, I don't th... Kevin Menard
01:40 AM Ruby Revision c25d561c (git): ZJIT: Add a YarvInsnIdx type for clarity (#16783)
Kevin Menard

04/22/2026

Image 12:45 PM Ruby Feature #22011 (Open): Hash tables with swiss table
This change adds a Swiss-table-inspired probing layer to Ruby's core `st_table`, and shrinks `st_table_entry` from 24 B to 16 B by moving the stored hash into a parallel array. It is built and enabled by default; `--disable-swiss-st` rev... dsh0416 (Delton Ding)
Image 07:45 AM Ruby Revision 42b3cdc5 (git): Remove discard qualifiers warning with C23 strchr
C23 has qualifier-preserving standard library functions, so calling
strchr with a `const char *` will return a `const char *`. We can change
the type of the local variables because we don't mutate the strings.
etienne (Étienne Barrié)
02:24 AM Ruby Revision f6b0f318 (git): Bump the github-actions group across 1 directory with 2 updates
Bumps the github-actions group with 2 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [taiki-e/install-action](https://github.com/taiki-e/install-action).
Updates `ruby/setup-ruby` from 1.302.0 to ...
dependabot[bot]
Image 12:36 AM Ruby Revision 2f223e90 (git): [ruby/erb] Version 4.0.3.1
k0kubun (Takashi Kokubun)
Image 12:36 AM Ruby Revision a53f3d57 (git): [ruby/erb] Prohibit def_method on marshal-loaded ERB instances
Extends the @_init guard to def_method so that an ERB object created
via Marshal.load (which bypasses initialize) raises ArgumentError
instead of evaluating arbitrary source. def_module and def_class both
delegate to def_method and are c...
k0kubun (Takashi Kokubun)
 

Also available in: Atom