<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git, branch ruby_4_0</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Skip test_fiber_pool_stack_acquire_failure on RubyCI</title>
<updated>2026-05-12T14:33:39+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-12T14:33:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7ae3c34c8d43a0a235778b68b0f631429a9a0e97'/>
<id>7ae3c34c8d43a0a235778b68b0f631429a9a0e97</id>
<content type='text'>
It was suggested to delete this test for ruby_4_0:
https://github.com/ruby/ruby/pull/16570#issuecomment-4427489609
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was suggested to delete this test for ruby_4_0:
https://github.com/ruby/ruby/pull/16570#issuecomment-4427489609
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump rdoc to v7.0.4 [Backport #22065]</title>
<updated>2026-05-12T04:31:26+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-12T04:31:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4e54008562e2e87d1c63f79e4a51d7089403bc35'/>
<id>4e54008562e2e87d1c63f79e4a51d7089403bc35</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>v4.0.4</title>
<updated>2026-05-11T21:07:52+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T21:07:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b89eb1bcbfcd0cca47e07d5d105a9df21a5b5feb'/>
<id>b89eb1bcbfcd0cca47e07d5d105a9df21a5b5feb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) d077df24a2256d760cc534b242b28822d4ef6376: [Backport #22002]</title>
<updated>2026-05-11T21:01:20+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T21:01:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a9e4608b5225d665ec9c9353a8350f5b940c20fe'/>
<id>a9e4608b5225d665ec9c9353a8350f5b940c20fe</id>
<content type='text'>
	[Bug #22002] Never pop when compiling branch predicate

	The value is always needed. Now prism emits the same instructions as parse.y for the added test case.

	`defined?`/`flip-flop` caused `argument stack underflow`, `and`/`or` segfaulted during runtime.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #22002] Never pop when compiling branch predicate

	The value is always needed. Now prism emits the same instructions as parse.y for the added test case.

	`defined?`/`flip-flop` caused `argument stack underflow`, `and`/`or` segfaulted during runtime.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) c4b3630f5ec500b0d8699cffe214ada3161d0de8: [Backport #22003]</title>
<updated>2026-05-11T20:57:59+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:57:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e52562edc0c26a905bec575215f6ac4e7fcdd59f'/>
<id>e52562edc0c26a905bec575215f6ac4e7fcdd59f</id>
<content type='text'>
	[Bug #22003] Refactor template/configure-ext.mk.tmpl

	- Select extension library directories by globbing extconf.rb.
	- Exclude extensions for test before uniquifing bundled gems.
	- Use `Dir.glob` base option to remove prefixed srcdir.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #22003] Refactor template/configure-ext.mk.tmpl

	- Select extension library directories by globbing extconf.rb.
	- Exclude extensions for test before uniquifing bundled gems.
	- Use `Dir.glob` base option to remove prefixed srcdir.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) c0d86a0103de7130943d54b4a290b76ec7e0c135,47e061277ac194a36659510bcf4f3190bde629a6: [Backport #21952]</title>
<updated>2026-05-11T20:54:55+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:54:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8539f0b386e2e42f8fe5ac12a2fd9e84872d8c7c'/>
<id>8539f0b386e2e42f8fe5ac12a2fd9e84872d8c7c</id>
<content type='text'>
	class.c: rb_class_duplicate_classext also dup content of cvc_tbl

	[Bug #21952]

	Shallow copying the table result in the same memory being shared
	between multiple box, causing double free when one of the box
	is garbage collected.

	---

	class.c: Make cvc_tbl a managed object

	[Bug #21952]

	Solves the double-free or use after-free concern with boxes.
	Now entries can safely be used for copy-on-write.

	Also is likely necessary to make it save to read cvar from
	secondary ractors, as allowed since: ab32c0e690b805cdaaf264ad4c3421696c588204
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	class.c: rb_class_duplicate_classext also dup content of cvc_tbl

	[Bug #21952]

	Shallow copying the table result in the same memory being shared
	between multiple box, causing double free when one of the box
	is garbage collected.

	---

	class.c: Make cvc_tbl a managed object

	[Bug #21952]

	Solves the double-free or use after-free concern with boxes.
	Now entries can safely be used for copy-on-write.

	Also is likely necessary to make it save to read cvar from
	secondary ractors, as allowed since: ab32c0e690b805cdaaf264ad4c3421696c588204
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 7f4f3c8ee7cde795dc27be753796fc7ea8318565: [Backport #22004]</title>
<updated>2026-05-11T20:45:55+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:45:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b18acb27c3f1b1ae26bbae6e53e94e246dc0e973'/>
<id>b18acb27c3f1b1ae26bbae6e53e94e246dc0e973</id>
<content type='text'>
	[PATCH] [Bug #22004] Fix short-circuited loop conditions
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #22004] Fix short-circuited loop conditions
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) f89b07ef0046257dd796a2e615cc063072114f16: [Backport #21940]</title>
<updated>2026-05-11T20:45:19+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b00545b9652782b5ab07d16dc7729b0c69242d3c'/>
<id>b00545b9652782b5ab07d16dc7729b0c69242d3c</id>
<content type='text'>
	[PATCH] Mark `$_` as box-dynamic to bypass Box gvar_tbl cache

	`$_` is updated through svar (rb_lastline_set), bypassing
	rb_gvar_set, so the Box gvar_tbl cache is never invalidated
	and returns a stale value. Call rb_gvar_box_dynamic so
	gvar_use_box_tbl() skips the cache.

	Fixes [Bug #21940](https://bugs.ruby-lang.org/issues/21940)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Mark `$_` as box-dynamic to bypass Box gvar_tbl cache

	`$_` is updated through svar (rb_lastline_set), bypassing
	rb_gvar_set, so the Box gvar_tbl cache is never invalidated
	and returns a stale value. Call rb_gvar_box_dynamic so
	gvar_use_box_tbl() skips the cache.

	Fixes [Bug #21940](https://bugs.ruby-lang.org/issues/21940)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 526344b56ea968d5704bdefe6e10bb3cf7f4f569, 8ad6baa01746e8de0460f0ccdaee69953a70af17: [Backport #21933]</title>
<updated>2026-05-11T20:43:47+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:43:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=dd78605b2d06600750c331f307083d60df702814'/>
<id>dd78605b2d06600750c331f307083d60df702814</id>
<content type='text'>
	[PATCH] Fix Box regexp match vars after non-match

	[PATCH] Use box_ready for $&amp;, $`, $\', $+

	These variables have rb_gvar_readonly_setter, so box_ready is sufficient.
	Only $~ needs box_dynamic due to its custom match_setter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Fix Box regexp match vars after non-match

	[PATCH] Use box_ready for $&amp;, $`, $\', $+

	These variables have rb_gvar_readonly_setter, so box_ready is sufficient.
	Only $~ needs box_dynamic due to its custom match_setter.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 4644e4f2fafe45e2c49f18bc9712d0f5fff3d341: [Backport #21986]</title>
<updated>2026-05-11T20:40:35+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2026-05-11T20:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=926b0ec4ed0e181735f3778c3e6b79d891e70848'/>
<id>926b0ec4ed0e181735f3778c3e6b79d891e70848</id>
<content type='text'>
	[PATCH] [Bug #21986] Fix location of numeric literal

	When checking for suffixes, do not flush the numeric literal token
	even if no suffix is found.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21986] Fix location of numeric literal

	When checking for suffixes, do not flush the numeric literal token
	even if no suffix is found.
</pre>
</div>
</content>
</entry>
</feed>
