<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/common.mk, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Update dependencies</title>
<updated>2025-07-24T05:39:20+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-07-24T04:11:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2417ed9275eaea69fd52f83ec810d21d9486598b'/>
<id>2417ed9275eaea69fd52f83ec810d21d9486598b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Suppress gcc 15 unterminated-string-initialization warnings</title>
<updated>2025-07-24T05:39:20+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-04-30T09:35:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e26e8423b5b8a375a8fd6412a99eb6a8cc73cf2c'/>
<id>e26e8423b5b8a375a8fd6412a99eb6a8cc73cf2c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace tombstone when converting AR to ST hash</title>
<updated>2025-03-06T02:05:43+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-03-05T22:21:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bb6b3c98dc06b92c48928d8c7f942b3dfd990089'/>
<id>bb6b3c98dc06b92c48928d8c7f942b3dfd990089</id>
<content type='text'>
[Bug #21170]

st_table reserves -1 as a special hash value to indicate that an entry
has been deleted. So that that's a valid value to be returned from the
hash function, do_hash replaces -1 with 0 so that it is not mistaken for
the sentinel.

Previously, when upgrading an AR table to an ST table,
rb_st_add_direct_with_hash was used which did not perform the same
conversion, this could lead to a hash in a broken state where one if its
entries which was supposed to exist being marked as a tombstone.

The hash could then become further corrupted when the ST table required
resizing as the falsely tombstoned entry would be skipped but it would
be counted in num entries, leading to an uninitialized entry at index
15.

In most cases this will be really rare, unless using a very poorly
implemented custom hash function.

This also adds two debug assertions, one that st_add_direct_with_hash
does not receive the reserved hash value, and a second in
rebuild_table_with, which ensures that after we rebuild/compact a table
it contains the expected number of elements.

Co-authored-by: Alan Wu &lt;alanwu@ruby-lang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21170]

st_table reserves -1 as a special hash value to indicate that an entry
has been deleted. So that that's a valid value to be returned from the
hash function, do_hash replaces -1 with 0 so that it is not mistaken for
the sentinel.

Previously, when upgrading an AR table to an ST table,
rb_st_add_direct_with_hash was used which did not perform the same
conversion, this could lead to a hash in a broken state where one if its
entries which was supposed to exist being marked as a tombstone.

The hash could then become further corrupted when the ST table required
resizing as the falsely tombstoned entry would be skipped but it would
be counted in num entries, leading to an uninitialized entry at index
15.

In most cases this will be really rare, unless using a very poorly
implemented custom hash function.

This also adds two debug assertions, one that st_add_direct_with_hash
does not receive the reserved hash value, and a second in
rebuild_table_with, which ensures that after we rebuild/compact a table
it contains the expected number of elements.

Co-authored-by: Alan Wu &lt;alanwu@ruby-lang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Lock json-schema-5.1.0 for using pure ruby version</title>
<updated>2024-12-03T02:04:23+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-12-03T01:02:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1ae2b16d0014018c99a37e3e18531cdfa5f27f06'/>
<id>1ae2b16d0014018c99a37e3e18531cdfa5f27f06</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) 29c480dd6fca993590c82078ba797e2c4e876ac7: [Backport #20853]</title>
<updated>2024-11-10T03:55:34+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2024-11-10T03:31:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=288e24b73ab20100b63ae7d30fb06a7d8a19de6e'/>
<id>288e24b73ab20100b63ae7d30fb06a7d8a19de6e</id>
<content type='text'>
	[Bug #20853] Fix Proc#hash to not change after compaction

	The hash value of a Proc must remain constant after a compaction, otherwise
	it may not work as the key in a hash table.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #20853] Fix Proc#hash to not change after compaction

	The hash value of a Proc must remain constant after a compaction, otherwise
	it may not work as the key in a hash table.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) bcb3247072e6973d0f6b50ca5fed238d5824bd28: [Backport #20500]</title>
<updated>2024-10-20T05:19:52+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2024-10-20T05:19:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2fbae07c42f40ea43b4822e278cc92fb2415cb61'/>
<id>2fbae07c42f40ea43b4822e278cc92fb2415cb61</id>
<content type='text'>
	[Bug #19778] Pass additional include options to INCFLAGS in common.mk
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #19778] Pass additional include options to INCFLAGS in common.mk
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 665b4c5b2a31078d7db0173ad60daad0b463c1fd,642875e474b4e6a13770b1dbbc33d466ba5e0718,54b9b80b84760717aadb8bf67f638785ed895a58,361bce8d2c4c90a01eb3b7365a87dec0d93bb2b6: [Backport #19967]</title>
<updated>2024-02-24T15:23:21+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2024-02-24T15:23:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3960d894d98d20540e646a0d6c2186a2d676b96c'/>
<id>3960d894d98d20540e646a0d6c2186a2d676b96c</id>
<content type='text'>
	[Bug #19967] Reset `LIBPATHENV` env after started

	Not to affect other tools invoked as child processes.
	---
	 common.mk            | 3 ++-
	 template/Makefile.in | 3 +++
	 template/fake.rb.in  | 3 +++
	 tool/fake.rb         | 8 ++++++++
	 4 files changed, 16 insertions(+), 1 deletion(-)

	[Bug #19967] Revert "configure.ac: LIBPATHENV on macOS"

	This reverts commit 1961c786aab243b3eb60e7238224e87975d88056.  These
	environment variables should no longer propagate to child processes.
	---
	 configure.ac | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)

	[Bug #19967] Delete real path

	---
	 tool/fake.rb | 3 ++-
	 1 file changed, 2 insertions(+), 1 deletion(-)

	[Bug #19967] Ignore library before build

	---
	 tool/fake.rb | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #19967] Reset `LIBPATHENV` env after started

	Not to affect other tools invoked as child processes.
	---
	 common.mk            | 3 ++-
	 template/Makefile.in | 3 +++
	 template/fake.rb.in  | 3 +++
	 tool/fake.rb         | 8 ++++++++
	 4 files changed, 16 insertions(+), 1 deletion(-)

	[Bug #19967] Revert "configure.ac: LIBPATHENV on macOS"

	This reverts commit 1961c786aab243b3eb60e7238224e87975d88056.  These
	environment variables should no longer propagate to child processes.
	---
	 configure.ac | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)

	[Bug #19967] Delete real path

	---
	 tool/fake.rb | 3 ++-
	 1 file changed, 2 insertions(+), 1 deletion(-)

	[Bug #19967] Ignore library before build

	---
	 tool/fake.rb | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix cvar caching when class is cloned</title>
<updated>2023-07-01T05:17:30+00:00</updated>
<author>
<name>eileencodes</name>
<email>eileencodes@gmail.com</email>
</author>
<published>2023-02-07T20:46:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8a3d57971c99680d4baec84553247b9c6ee41080'/>
<id>8a3d57971c99680d4baec84553247b9c6ee41080</id>
<content type='text'>
The class variable cache that was added in
https://github.com/ruby/ruby/pull/4544 changed the behavior of class
variables on cloned classes. As reported when a class is cloned AND a
class variable was set, and the class variable was read from the
original class, reading a class variable from the cloned class would
return the value from the original class.

This was happening because the IC (inline cache) is stored on the ISEQ
which is shared between the original and cloned class, therefore they
share the cache too.

To fix this we are now storing the `cref` in the cache so that we can
check if it's equal to the current `cref`. If it's different we don't
want to read from the cache. If it's the same we do. Cloned classes
don't share the same cref with their original class.

This will need to be backported to 3.1 in addition to 3.2 since the bug
exists in both versions.

We also added a marking function which was missing.

Fixes [Bug #19379]

Co-authored-by: Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The class variable cache that was added in
https://github.com/ruby/ruby/pull/4544 changed the behavior of class
variables on cloned classes. As reported when a class is cloned AND a
class variable was set, and the class variable was read from the
original class, reading a class variable from the cloned class would
return the value from the original class.

This was happening because the IC (inline cache) is stored on the ISEQ
which is shared between the original and cloned class, therefore they
share the cache too.

To fix this we are now storing the `cref` in the cache so that we can
check if it's equal to the current `cref`. If it's different we don't
want to read from the cache. If it's the same we do. Cloned classes
don't share the same cref with their original class.

This will need to be backported to 3.1 in addition to 3.2 since the bug
exists in both versions.

We also added a marking function which was missing.

Fixes [Bug #19379]

Co-authored-by: Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Run test-unit test without rake task to avoid yard dependency</title>
<updated>2023-06-13T05:01:57+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-06-12T01:02:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1b2ad95c256b0ed5ff5658d752aeadcfed82268c'/>
<id>1b2ad95c256b0ed5ff5658d752aeadcfed82268c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>pry is not needed for test-bundled-gems</title>
<updated>2023-06-13T05:01:57+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-06-12T00:34:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=60ea850bbe7b418b7e6552203f7f48c58d11b9c4'/>
<id>60ea850bbe7b418b7e6552203f7f48c58d11b9c4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
