<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby/test_string.rb, branch v4.0.2</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[Bug #19558] Allow ASCII range to mix with Unicode dump</title>
<updated>2025-12-11T10:20:12+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2023-03-30T16:09:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=281a000d6669d3fbb1c0a2f940cbb9c7c01732e6'/>
<id>281a000d6669d3fbb1c0a2f940cbb9c7c01732e6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow String#strip etc. to take optional character selectors</title>
<updated>2025-12-11T08:34:57+00:00</updated>
<author>
<name>Shugo Maeda</name>
<email>shugo@ruby-lang.org</email>
</author>
<published>2025-12-11T08:34:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c76ba839b153805f0498229284fea1a809308dbc'/>
<id>c76ba839b153805f0498229284fea1a809308dbc</id>
<content type='text'>
[Feature #21552]

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Feature #21552]

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Refine non-nil warnings for the deprecated variables</title>
<updated>2025-12-04T16:04:08+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-04T16:04:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=29a12297c3594ed24102d62e16dfd6d4e5e328f3'/>
<id>29a12297c3594ed24102d62e16dfd6d4e5e328f3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #21764] Propagate the encoding of ID to warning</title>
<updated>2025-12-04T15:27:45+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-04T15:27:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cf12aff0593a0aa70d957b96f03df8288c025938'/>
<id>cf12aff0593a0aa70d957b96f03df8288c025938</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid leaking fd in uminus_no_embed test</title>
<updated>2025-12-03T02:53:10+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-12-03T00:37:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b8a7988478bfa8faff7a6f36e5dd22f6f98872b7'/>
<id>b8a7988478bfa8faff7a6f36e5dd22f6f98872b7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't modify fstrings in rb_str_tmp_frozen_no_embed_acquire</title>
<updated>2025-11-08T01:06:56+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-11-07T20:12:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3b588dab91f13b32b54cb1b9dedb9691e732c981'/>
<id>3b588dab91f13b32b54cb1b9dedb9691e732c981</id>
<content type='text'>
[Bug #21671]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21671]
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix memory leak in String#encode when StringValue raises</title>
<updated>2025-11-01T14:47:39+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2025-10-30T22:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=390d77ba00f9e8f18a5408b404365db0b25fbf37'/>
<id>390d77ba00f9e8f18a5408b404365db0b25fbf37</id>
<content type='text'>
The following script leaks memory:

    10.times do
      100_000.times do
        "\ufffd".encode(Encoding::US_ASCII, fallback: proc { Object.new })
      rescue
      end

      puts `ps -o rss= -p #{$$}`
    end

Before:

    450244
    887748
    1325124
    1762756
    2200260
    2637508
    3075012
    3512516
    3950020
    4387524

After:

    12236
    12364
    12748
    13004
    13388
    13516
    13772
    13772
    13772
    13772
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following script leaks memory:

    10.times do
      100_000.times do
        "\ufffd".encode(Encoding::US_ASCII, fallback: proc { Object.new })
      rescue
      end

      puts `ps -o rss= -p #{$$}`
    end

Before:

    450244
    887748
    1325124
    1762756
    2200260
    2637508
    3075012
    3512516
    3950020
    4387524

After:

    12236
    12364
    12748
    13004
    13388
    13516
    13772
    13772
    13772
    13772
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix memory leak in String#encode when fallback too big</title>
<updated>2025-10-30T00:18:38+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2025-10-28T23:46:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b8c82a99a03722c4641d5fe41ebd393e0e4806c2'/>
<id>b8c82a99a03722c4641d5fe41ebd393e0e4806c2</id>
<content type='text'>
The following script leaks memory:

    10.times do
      100_000.times do
        "\ufffd".encode(Encoding::US_ASCII, fallback: proc { "\uffee" })
      rescue
      end

      puts `ps -o rss= -p #{$$}`
    end

Before:

    451196
    889596
    1328252
    1766524
    2204668
    2643068
    3081724
    3520124
    3958524
    4396796

After:

    12800
    13056
    13184
    13312
    13312
    13312
    13312
    13312
    13312
    13312
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following script leaks memory:

    10.times do
      100_000.times do
        "\ufffd".encode(Encoding::US_ASCII, fallback: proc { "\uffee" })
      rescue
      end

      puts `ps -o rss= -p #{$$}`
    end

Before:

    451196
    889596
    1328252
    1766524
    2204668
    2643068
    3081724
    3520124
    3958524
    4396796

After:

    12800
    13056
    13184
    13312
    13312
    13312
    13312
    13312
    13312
    13312
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a custom error class to TestString#test_encode_fallback_raise_memory_leak</title>
<updated>2025-10-28T23:40:25+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2025-10-26T19:24:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9f4a76ff51530e3ff7a9adf0c689f75f1a1cc6d2'/>
<id>9f4a76ff51530e3ff7a9adf0c689f75f1a1cc6d2</id>
<content type='text'>
This prevents a generic RuntimeError from being raised so we can ensure
that the correct error is being rescued.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This prevents a generic RuntimeError from being raised so we can ensure
that the correct error is being rescued.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix TestString#test_encode_fallback_raise_memory_leak</title>
<updated>2025-10-28T23:40:25+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2025-10-26T19:23:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4925bec65d17b1330d6b39f0c5a3ffe7ed9abde2'/>
<id>4925bec65d17b1330d6b39f0c5a3ffe7ed9abde2</id>
<content type='text'>
The method and aref cases need to accept a parameter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The method and aref cases need to accept a parameter.
</pre>
</div>
</content>
</entry>
</feed>
