<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/version.h, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Bump v3.4.9</title>
<updated>2026-03-11T09:51:47+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-03-11T09:51:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=76cca827ab52ab1d346a728f068d5b8da3e2952b'/>
<id>76cca827ab52ab1d346a728f068d5b8da3e2952b</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) 8a586af33b59cae93a1bee13c39e87dd087a4a6b: [Backport #21838]</title>
<updated>2026-01-25T09:21:53+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T09:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=981097a7390db47e06d78b760ed198bff8eb184b'/>
<id>981097a7390db47e06d78b760ed198bff8eb184b</id>
<content type='text'>
	[PATCH] Don't force major GC when there are allocatable slots

	[Bug #21838]

	When we have allocatable slots, we can grow the heap instead of forcing
	a major GC. This prevents major GC to be ran very often in certain situations.
	See the ticket for more details.

	On ruby-bench, we can see that this patch doesn't cause any significant
	regressions:

	    --------------  -----------  ----------  ---------  -----------  ----------  ---------  --------------  -------------
	    bench           master (ms)  stddev (%)  RSS (MiB)  branch (ms)  stddev (%)  RSS (MiB)  branch 1st itr  master/branch
	    activerecord    148.2        0.3         59.2       150.0        0.8         69.7       1.015           0.988
	    chunky-png      435.2        0.3         72.9       438.8        0.1         66.7       0.993           0.992
	    erubi-rails     733.8        1.2         118.7      704.8        0.2         98.3       1.077           1.041
	    hexapdf         1400.4       1.1         247.0      1405.0       0.9         223.7      0.986           0.997
	    liquid-c        32.5         3.3         32.8       32.5         2.1         30.7       1.042           0.999
	    liquid-compile  31.0         1.7         35.1       33.4         3.9         32.8       0.938           0.928
	    liquid-render   84.7         0.4         30.8       86.3         0.4         30.8       0.981           0.982
	    lobsters        594.7        0.6         310.5      596.6        0.4         306.0      1.057           0.997
	    mail            75.6         2.8         53.3       76.9         0.7         53.2       0.968           0.982
	    psych-load      1122.8       1.2         29.2       1145.1       0.4         31.7       0.964           0.981
	    railsbench      1244.7       0.3         115.5      1254.8       1.1         115.2      0.939           0.992
	    rubocop         103.7        0.5         94.1       104.3        0.5         92.4       0.985           0.994
	    ruby-lsp        88.3         0.6         78.5       88.5         1.2         77.9       0.992           0.997
	    sequel          26.9         0.9         33.6       28.3         1.4         32.1       0.954           0.952
	    shipit          1119.3       1.5         171.4      1075.7       2.1         162.5      1.873           1.040
	    --------------  -----------  ----------  ---------  -----------  ----------  ---------  --------------  -------------
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Don't force major GC when there are allocatable slots

	[Bug #21838]

	When we have allocatable slots, we can grow the heap instead of forcing
	a major GC. This prevents major GC to be ran very often in certain situations.
	See the ticket for more details.

	On ruby-bench, we can see that this patch doesn't cause any significant
	regressions:

	    --------------  -----------  ----------  ---------  -----------  ----------  ---------  --------------  -------------
	    bench           master (ms)  stddev (%)  RSS (MiB)  branch (ms)  stddev (%)  RSS (MiB)  branch 1st itr  master/branch
	    activerecord    148.2        0.3         59.2       150.0        0.8         69.7       1.015           0.988
	    chunky-png      435.2        0.3         72.9       438.8        0.1         66.7       0.993           0.992
	    erubi-rails     733.8        1.2         118.7      704.8        0.2         98.3       1.077           1.041
	    hexapdf         1400.4       1.1         247.0      1405.0       0.9         223.7      0.986           0.997
	    liquid-c        32.5         3.3         32.8       32.5         2.1         30.7       1.042           0.999
	    liquid-compile  31.0         1.7         35.1       33.4         3.9         32.8       0.938           0.928
	    liquid-render   84.7         0.4         30.8       86.3         0.4         30.8       0.981           0.982
	    lobsters        594.7        0.6         310.5      596.6        0.4         306.0      1.057           0.997
	    mail            75.6         2.8         53.3       76.9         0.7         53.2       0.968           0.982
	    psych-load      1122.8       1.2         29.2       1145.1       0.4         31.7       0.964           0.981
	    railsbench      1244.7       0.3         115.5      1254.8       1.1         115.2      0.939           0.992
	    rubocop         103.7        0.5         94.1       104.3        0.5         92.4       0.985           0.994
	    ruby-lsp        88.3         0.6         78.5       88.5         1.2         77.9       0.992           0.997
	    sequel          26.9         0.9         33.6       28.3         1.4         32.1       0.954           0.952
	    shipit          1119.3       1.5         171.4      1075.7       2.1         162.5      1.873           1.040
	    --------------  -----------  ----------  ---------  -----------  ----------  ---------  --------------  -------------
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 4e0bb58a0a374b40b7691e7b7aa88e759a0fc9f2: [Backport #21811]</title>
<updated>2026-01-25T08:48:12+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T08:48:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=86e65fa1677180f5108157206edb01cfd25f24b6'/>
<id>86e65fa1677180f5108157206edb01cfd25f24b6</id>
<content type='text'>
	[PATCH] fix underflow
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] fix underflow
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) d7a6ff8224519005d2deeb3f4e98689a8a0835ad: [Backport #21819]</title>
<updated>2026-01-25T08:47:37+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T08:47:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d5ca99a71ccb170db08e4b610d661ce3a18626f2'/>
<id>d5ca99a71ccb170db08e4b610d661ce3a18626f2</id>
<content type='text'>
	[PATCH] [Bug #21819] Data objects without members should also be frozen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21819] Data objects without members should also be frozen
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 19e539c9ee1701b34189fa0c1feb942adeb0e326: [Backport #21814]</title>
<updated>2026-01-25T08:41:02+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T08:41:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8fa17ea3b2c857369c808a4384ff7ff8174d69f8'/>
<id>8fa17ea3b2c857369c808a4384ff7ff8174d69f8</id>
<content type='text'>
	[PATCH] [Bug #21814] Fix negative bignum modulo

	If modulo is zero, do not  apply bias even if the divisor is zero.
	`BIGNUM_POSITIVE_P` is true even on bignum zero.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21814] Fix negative bignum modulo

	If modulo is zero, do not  apply bias even if the divisor is zero.
	`BIGNUM_POSITIVE_P` is true even on bignum zero.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 86320a53002a3adaf35ad7434c70e86747a8b345: [Backport #21326] [Backport #21807]</title>
<updated>2026-01-25T08:20:48+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T08:12:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=55920677854fe757c36368785f6dfdbce0b49ab7'/>
<id>55920677854fe757c36368785f6dfdbce0b49ab7</id>
<content type='text'>
	[PATCH] Fix compilation for forwarding params in Prism

	[Bug #21326]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Fix compilation for forwarding params in Prism

	[Bug #21326]
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 61bab1889048f758396acf671c9797d6bc52504b: [Backport #21757]</title>
<updated>2026-01-25T07:41:13+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T07:41:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=28db1b5c3d3a9a5c60762622cb0c3c36c021e8e4'/>
<id>28db1b5c3d3a9a5c60762622cb0c3c36c021e8e4</id>
<content type='text'>
	[PATCH] Rename to `struct rbimpl_size_overflow_tag`

	This struct is used for addition not only for multiplication, so
	remove the word `mul`, and make the member names more descriptive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Rename to `struct rbimpl_size_overflow_tag`

	This struct is used for addition not only for multiplication, so
	remove the word `mul`, and make the member names more descriptive.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 99ff0224a564b59df3ba8fbd7911dd41a7fdde34: [Backport #21757]</title>
<updated>2026-01-25T07:40:50+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T07:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c409e343fb14438c2e5304f10ad4c6919e30ac2e'/>
<id>c409e343fb14438c2e5304f10ad4c6919e30ac2e</id>
<content type='text'>
	[PATCH] Move rbimpl_size_add_overflow from gc.c to memory.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Move rbimpl_size_add_overflow from gc.c to memory.h
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) f430fbbfacea5690d790dd9060ca4118431fc2fb, c353b625297162024b5a80480664e599dd49a294: [Backport #21787]</title>
<updated>2026-01-25T07:37:10+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T07:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=45100545b056792fb5701a93abd1f78259a6224e'/>
<id>45100545b056792fb5701a93abd1f78259a6224e</id>
<content type='text'>
	[PATCH] IO::Buffer: Fill the test for `IO::Buffer#clear`

	[PATCH] [Bug #21787] IO::Buffer: Check addition overflows

	https://hackerone.com/reports/3437743
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] IO::Buffer: Fill the test for `IO::Buffer#clear`

	[PATCH] [Bug #21787] IO::Buffer: Check addition overflows

	https://hackerone.com/reports/3437743
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) d209e6f1c0a93ad3ce1cc64dd165a6b67672614d: [Backport #21715]</title>
<updated>2026-01-21T07:52:39+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-01-19T02:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2bbc06e21d040ecbf4e32d3c4805685baf957d51'/>
<id>2bbc06e21d040ecbf4e32d3c4805685baf957d51</id>
<content type='text'>
	[PATCH] search_nonascii(): Replace UB pointer cast with memcpy

	Casting a pointer to create an unaligned one is undefined behavior in C
	standards. Use memcpy to express the unaligned load instead to play by
	the rules.

	Practically, this yields the same binary output in many situations
	while fixing the crash in [Bug #21715].
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] search_nonascii(): Replace UB pointer cast with memcpy

	Casting a pointer to create an unaligned one is undefined behavior in C
	standards. Use memcpy to express the unaligned load instead to play by
	the rules.

	Practically, this yields the same binary output in many situations
	while fixing the crash in [Bug #21715].
</pre>
</div>
</content>
</entry>
</feed>
