From 34bd69fadb96bdda501bdba2a3c6532a40302595 Mon Sep 17 00:00:00 2001 From: Stan Lo Date: Thu, 14 May 2026 15:21:31 +0800 Subject: [PATCH 1/7] Bump irb to 1.18.0 and debug to latest master (#16934) --- gems/bundled_gems | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gems/bundled_gems b/gems/bundled_gems index 70f253f6b5f53a..297f4c5cc7a3a1 100644 --- a/gems/bundled_gems +++ b/gems/bundled_gems @@ -18,7 +18,7 @@ matrix 0.4.3 https://github.com/ruby/matrix prime 0.1.4 https://github.com/ruby/prime rbs 4.0.2 https://github.com/ruby/rbs 36a7e8e38df9efd33db83c3f30f0308bdeb84bd9 typeprof 0.31.1 https://github.com/ruby/typeprof -debug 1.11.1 https://github.com/ruby/debug 2897edad6d2c2eeb49ffe915192c54572dbe6c82 +debug 1.11.1 https://github.com/ruby/debug 9dc2024a5a05116b3d38afbc5579d9503d8913f3 racc 1.8.1 https://github.com/ruby/racc mutex_m 0.3.0 https://github.com/ruby/mutex_m getoptlong 0.2.1 https://github.com/ruby/getoptlong @@ -39,7 +39,7 @@ benchmark 0.5.0 https://github.com/ruby/benchmark logger 1.7.0 https://github.com/ruby/logger rdoc 7.2.0 https://github.com/ruby/rdoc bc0baee787609f2205e8f1103f3e1d36b923184a win32ole 1.9.3 https://github.com/ruby/win32ole -irb 1.17.0 https://github.com/ruby/irb cfd0b917d3feb01adb7d413b19faeb0309900599 +irb 1.18.0 https://github.com/ruby/irb reline 0.6.3 https://github.com/ruby/reline readline 0.0.4 https://github.com/ruby/readline fiddle 1.1.8 https://github.com/ruby/fiddle From 1c55ad83e1cba03f586265d0cc215e30e3e30489 Mon Sep 17 00:00:00 2001 From: git Date: Thu, 14 May 2026 07:22:32 +0000 Subject: [PATCH 2/7] Update bundled gems list as of 2026-05-14 --- NEWS.md | 24 ++++++++++++++++-------- gems/bundled_gems | 4 ++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/NEWS.md b/NEWS.md index f135262fe81ae2..33181ad34adeb7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -75,16 +75,17 @@ releases. ### The following default gems are updated. * RubyGems 4.1.0.dev - * 4.0.3 to [v4.0.4][RubyGems-v4.0.4], [v4.0.5][RubyGems-v4.0.5], [v4.0.6][RubyGems-v4.0.6], [v4.0.7][RubyGems-v4.0.7], [v4.0.8][RubyGems-v4.0.8], [v4.0.9][RubyGems-v4.0.9], [v4.0.10][RubyGems-v4.0.10] + * 4.0.3 to [v4.0.4][RubyGems-v4.0.4], [v4.0.5][RubyGems-v4.0.5], [v4.0.6][RubyGems-v4.0.6], [v4.0.7][RubyGems-v4.0.7], [v4.0.8][RubyGems-v4.0.8], [v4.0.9][RubyGems-v4.0.9], [v4.0.10][RubyGems-v4.0.10], [v4.0.11][RubyGems-v4.0.11] * bundler 4.1.0.dev - * 4.0.3 to [v4.0.4][bundler-v4.0.4], [v4.0.5][bundler-v4.0.5], [v4.0.6][bundler-v4.0.6], [v4.0.7][bundler-v4.0.7], [v4.0.8][bundler-v4.0.8], [v4.0.9][bundler-v4.0.9], [v4.0.10][bundler-v4.0.10] + * 4.0.3 to [v4.0.4][bundler-v4.0.4], [v4.0.5][bundler-v4.0.5], [v4.0.6][bundler-v4.0.6], [v4.0.7][bundler-v4.0.7], [v4.0.8][bundler-v4.0.8], [v4.0.9][bundler-v4.0.9], [v4.0.10][bundler-v4.0.10], [v4.0.11][bundler-v4.0.11] * erb 6.0.4 - * 6.0.1 to [v6.0.2][erb-v6.0.2], [v6.0.3][erb-v6.0.3] + * 6.0.1 to [v6.0.1.1][erb-v6.0.1.1], [v6.0.2][erb-v6.0.2], [v6.0.3][erb-v6.0.3], [v6.0.4][erb-v6.0.4] * ipaddr 1.2.9 + * 1.2.8 to [v1.2.9][ipaddr-v1.2.9] * json 2.19.5 - * 2.18.0 to [v2.18.1][json-v2.18.1], [v2.19.0][json-v2.19.0], [v2.19.1][json-v2.19.1], [v2.19.2][json-v2.19.2], [v2.19.3][json-v2.19.3], [v2.19.4][json-v2.19.4] + * 2.18.0 to [v2.18.1][json-v2.18.1], [v2.19.0][json-v2.19.0], [v2.19.1][json-v2.19.1], [v2.19.2][json-v2.19.2], [v2.19.3][json-v2.19.3], [v2.19.4][json-v2.19.4], [v2.19.5][json-v2.19.5] * openssl 4.0.2 - * 4.0.0 to [v4.0.1][openssl-v4.0.1] + * 4.0.0 to [v4.0.1][openssl-v4.0.1], [v4.0.2][openssl-v4.0.2] * prism 1.9.0 * 1.7.0 to [v1.8.0][prism-v1.8.0], [v1.8.1][prism-v1.8.1], [v1.9.0][prism-v1.9.0] * resolv 0.7.1 @@ -100,12 +101,12 @@ releases. ### The following bundled gems are updated. -* minitest 6.0.5 +* minitest 6.0.6 * rake 13.4.2 * 13.3.1 to [v13.4.0][rake-v13.4.0], [v13.4.1][rake-v13.4.1], [v13.4.2][rake-v13.4.2] * test-unit 3.7.7 * 3.7.5 to [3.7.6][test-unit-3.7.6], [3.7.7][test-unit-3.7.7] -* net-imap 0.6.3 +* net-imap 0.6.4 * 0.6.2 to [v0.6.3][net-imap-v0.6.3] * rbs 4.0.2 * 3.10.0 to [v3.10.1][rbs-v3.10.1], [v3.10.2][rbs-v3.10.2], [v3.10.3][rbs-v3.10.3], [v3.10.4][rbs-v3.10.4], [v4.0.0.dev.5][rbs-v4.0.0.dev.5], [v4.0.0][rbs-v4.0.0], [v4.0.2][rbs-v4.0.2] @@ -124,7 +125,7 @@ releases. * 7.0.3 to [v7.1.0][rdoc-v7.1.0], [v7.2.0][rdoc-v7.2.0] * win32ole 1.9.3 * 1.9.2 to [v1.9.3][win32ole-v1.9.3] -* irb 1.17.0 +* irb 1.18.0 * 1.16.0 to [v1.17.0][irb-v1.17.0] ### RubyGems and Bundler @@ -183,6 +184,7 @@ A lot of work has gone into making Ractors more stable, performant, and usable. [RubyGems-v4.0.8]: https://github.com/rubygems/rubygems/releases/tag/v4.0.8 [RubyGems-v4.0.9]: https://github.com/rubygems/rubygems/releases/tag/v4.0.9 [RubyGems-v4.0.10]: https://github.com/rubygems/rubygems/releases/tag/v4.0.10 +[RubyGems-v4.0.11]: https://github.com/rubygems/rubygems/releases/tag/v4.0.11 [bundler-v4.0.4]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.4 [bundler-v4.0.5]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.5 [bundler-v4.0.6]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.6 @@ -190,15 +192,21 @@ A lot of work has gone into making Ractors more stable, performant, and usable. [bundler-v4.0.8]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.8 [bundler-v4.0.9]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.9 [bundler-v4.0.10]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.10 +[bundler-v4.0.11]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.11 +[erb-v6.0.1.1]: https://github.com/ruby/erb/releases/tag/v6.0.1.1 [erb-v6.0.2]: https://github.com/ruby/erb/releases/tag/v6.0.2 [erb-v6.0.3]: https://github.com/ruby/erb/releases/tag/v6.0.3 +[erb-v6.0.4]: https://github.com/ruby/erb/releases/tag/v6.0.4 +[ipaddr-v1.2.9]: https://github.com/ruby/ipaddr/releases/tag/v1.2.9 [json-v2.18.1]: https://github.com/ruby/json/releases/tag/v2.18.1 [json-v2.19.0]: https://github.com/ruby/json/releases/tag/v2.19.0 [json-v2.19.1]: https://github.com/ruby/json/releases/tag/v2.19.1 [json-v2.19.2]: https://github.com/ruby/json/releases/tag/v2.19.2 [json-v2.19.3]: https://github.com/ruby/json/releases/tag/v2.19.3 [json-v2.19.4]: https://github.com/ruby/json/releases/tag/v2.19.4 +[json-v2.19.5]: https://github.com/ruby/json/releases/tag/v2.19.5 [openssl-v4.0.1]: https://github.com/ruby/openssl/releases/tag/v4.0.1 +[openssl-v4.0.2]: https://github.com/ruby/openssl/releases/tag/v4.0.2 [prism-v1.8.0]: https://github.com/ruby/prism/releases/tag/v1.8.0 [prism-v1.8.1]: https://github.com/ruby/prism/releases/tag/v1.8.1 [prism-v1.9.0]: https://github.com/ruby/prism/releases/tag/v1.9.0 diff --git a/gems/bundled_gems b/gems/bundled_gems index 297f4c5cc7a3a1..914beecd35b905 100644 --- a/gems/bundled_gems +++ b/gems/bundled_gems @@ -6,13 +6,13 @@ # - revision: revision in repository-url to test # if `revision` is not given, "v"+`version` or `version` will be used. -minitest 6.0.5 https://github.com/minitest/minitest +minitest 6.0.6 https://github.com/minitest/minitest power_assert 3.0.1 https://github.com/ruby/power_assert rake 13.4.2 https://github.com/ruby/rake test-unit 3.7.7 https://github.com/test-unit/test-unit rexml 3.4.4 https://github.com/ruby/rexml rss 0.3.2 https://github.com/ruby/rss -net-imap 0.6.3 https://github.com/ruby/net-imap +net-imap 0.6.4 https://github.com/ruby/net-imap net-smtp 0.5.1 https://github.com/ruby/net-smtp matrix 0.4.3 https://github.com/ruby/matrix prime 0.1.4 https://github.com/ruby/prime From b5e6e0a425efcd21a62028f5c7b7d879396cb411 Mon Sep 17 00:00:00 2001 From: Stan Lo Date: Thu, 14 May 2026 16:30:06 +0800 Subject: [PATCH 3/7] Use rbs-integrated RDoc (#16940) --- gems/bundled_gems | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gems/bundled_gems b/gems/bundled_gems index 914beecd35b905..b8fd507be46f1d 100644 --- a/gems/bundled_gems +++ b/gems/bundled_gems @@ -37,7 +37,7 @@ ostruct 0.6.3 https://github.com/ruby/ostruct pstore 0.2.1 https://github.com/ruby/pstore benchmark 0.5.0 https://github.com/ruby/benchmark logger 1.7.0 https://github.com/ruby/logger -rdoc 7.2.0 https://github.com/ruby/rdoc bc0baee787609f2205e8f1103f3e1d36b923184a +rdoc 7.2.0 https://github.com/ruby/rdoc 1f93543615928b6d45357432f16ec6006e2d8b1e win32ole 1.9.3 https://github.com/ruby/win32ole irb 1.18.0 https://github.com/ruby/irb reline 0.6.3 https://github.com/ruby/reline From c5ab240ce376227814a3de62f6736fa22af92bbc Mon Sep 17 00:00:00 2001 From: Matt Valentine-House Date: Wed, 13 May 2026 15:03:27 +0100 Subject: [PATCH 4/7] Fix ec NULL assertion failure during gc stress rb_gc_initialize_vm_context calls GET_EC, which does VM_ASSERT(ec != NULL). When Ruby is built with RUBY_DEBUG=1 and GC stress is set to run at boot with RUBY_DEBUG=gc_stress then GC gets run inside Init_BareVM when we're setting up the main_thread. In gc_start we gate the GC with some early returns that prevent us actually attempting a GC if the heap and objspace are not ready yet, but we're attempting to initialize the gc's VM context before those gates, causing the assertion to fail (because the VM isn't ready yet). This commit moves the vm_context setup after the gates, so we don't attempt it before objspace and the heap are fully set up. To repro this bug configure with --enable-dev-env and cflags=-DRUBY_DEBUG and then run RUBY_DEBUG=gc_stress ./ruby -v --- gc/default/default.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gc/default/default.c b/gc/default/default.c index a08f6b79c8eab3..d186eeba366d7f 100644 --- a/gc/default/default.c +++ b/gc/default/default.c @@ -6415,13 +6415,13 @@ garbage_collect(rb_objspace_t *objspace, unsigned int reason) static int gc_start(rb_objspace_t *objspace, unsigned int reason) { - rb_gc_initialize_vm_context(&objspace->vm_context); - unsigned int do_full_mark = !!(reason & GPR_FLAG_FULL_MARK); if (!rb_darray_size(objspace->heap_pages.sorted)) return TRUE; /* heap is not ready */ if (!(reason & GPR_FLAG_METHOD) && !ready_to_gc(objspace)) return TRUE; /* GC is not allowed */ + rb_gc_initialize_vm_context(&objspace->vm_context); + GC_ASSERT(gc_mode(objspace) == gc_mode_none, "gc_mode is %s\n", gc_mode_name(gc_mode(objspace))); GC_ASSERT(!is_lazy_sweeping(objspace)); GC_ASSERT(!is_incremental_marking(objspace)); From 69857ea9d818cc46de7f96b4224abaebf241375b Mon Sep 17 00:00:00 2001 From: Matt Valentine-House Date: Wed, 13 May 2026 15:53:54 +0100 Subject: [PATCH 5/7] Enable debug env in tests, so RUBY_DEBUG env var is respected The GC RUBY_DEBUG=gc_stress bug should have been caught by test_gc_stress_at_startup, but because RUBY_DEBUG has been ignored on CI, the subprocess wasn't actually running stress at startup --- .github/workflows/ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 4995680930029b..fea715ff3aeb7e 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -93,7 +93,7 @@ jobs: arch: ${{ matrix.arch }} configure: ${{ matrix.configure }} run: >- - $SETARCH ../src/configure -C --disable-install-doc ${configure:-cppflags=-DRUBY_DEBUG} + $SETARCH ../src/configure -C --disable-install-doc ${configure:- --enable-debug-env cppflags=-DRUBY_DEBUG} ${arch:+--target=$arch-$OSTYPE --host=$arch-$OSTYPE} - run: $SETARCH make prepare-gems From 6b18cc1925586b737bae0844e218d2dd2f84ddf0 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 14 May 2026 20:38:14 +0900 Subject: [PATCH 6/7] List rubygems plugin files into installed list file --- tool/rbinstall.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index 874c3ef1d9af91..047fd0a571e1cd 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb @@ -862,6 +862,18 @@ def load_plugin ensure $VERBOSE = verbose end + + def regenerate_plugins_for(spec, plugins_dir) + plugins = spec.plugins + return if plugins.empty? + dir = without_destdir(plugins_dir) + plugins.each do |plugin| + $installed_list.puts(File.join(dir, "#{spec.name}_plugin#{File.extname(plugin)}")) + end + unless $dryrun + super + end + end end end From 5a03fcb33ad9c7c9c9a569894a3bdabb2965d42e Mon Sep 17 00:00:00 2001 From: Kazuhiro NISHIYAMA Date: Thu, 14 May 2026 20:39:07 +0900 Subject: [PATCH 7/7] Fix warnings ``` ../test/ruby/test_class.rb:445: warning: already initialized constant TestClass::CloneTest1::TEST ../test/ruby/test_class.rb:438: warning: previous definition of TEST was here ../test/ruby/test_class.rb:448: warning: already initialized constant TestClass::CloneTest2::TEST ../test/ruby/test_class.rb:438: warning: previous definition of TEST was here ``` --- test/ruby/test_class.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb index 078f63ecd9345c..82199876ecf35f 100644 --- a/test/ruby/test_class.rb +++ b/test/ruby/test_class.rb @@ -442,9 +442,11 @@ def foo; TEST; end CloneTest1 = CloneTest.clone CloneTest2 = CloneTest.clone class CloneTest1 + remove_const :TEST TEST = :C1 end class CloneTest2 + remove_const :TEST TEST = :C2 end