<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/rubygems/yaml_serializer.rb, branch master</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/rubygems] Fix a bug that `Gem::YAMLSerializer.load` ignores quotation</title>
<updated>2026-05-26T04:23:53+00:00</updated>
<author>
<name>Sutou Kouhei</name>
<email>kou@clear-code.com</email>
</author>
<published>2026-05-18T04:26:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=678a2ef77f7b4299939bdd89c73d5fd7d45f2a83'/>
<id>678a2ef77f7b4299939bdd89c73d5fd7d45f2a83</id>
<content type='text'>
`"a: b"` must be processed as a string value (`a: b`) not a map
value (`{"a" =&gt; "b"}`).

https://github.com/ruby/rubygems/commit/3c3dfe3168
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`"a: b"` must be processed as a string value (`a: b`) not a map
value (`{"a" =&gt; "b"}`).

https://github.com/ruby/rubygems/commit/3c3dfe3168
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Refactor validate_tag! to enforce permitted_classes consistently with Psych</title>
<updated>2026-03-17T00:21:54+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-16T07:44:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=60e8042e6912d5670b1ba1daba82ce1233a1c45b'/>
<id>60e8042e6912d5670b1ba1daba82ce1233a1c45b</id>
<content type='text'>
Align YAMLSerializer's `permitted_classes` validation with Psych's whitelist
semantics: an empty `permitted_classes` list denies all tagged classes, matching
`Psych::ClassLoader::Restricted` behavior.

- Rename `@permitted_tags` to `@permitted_classes` and simplify initialization
- Extract `raise_disallowed_class!` from `validate_tag!` for clarity
- Move `check_anchor!` before `validate_tag!` in `build_mapping`
- Add test for `Gem::Version::Requirement` tag used by old gems like `escape`

https://github.com/ruby/rubygems/commit/3c5855e833

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Align YAMLSerializer's `permitted_classes` validation with Psych's whitelist
semantics: an empty `permitted_classes` list denies all tagged classes, matching
`Psych::ClassLoader::Restricted` behavior.

- Rename `@permitted_tags` to `@permitted_classes` and simplify initialization
- Extract `raise_disallowed_class!` from `validate_tag!` for clarity
- Move `check_anchor!` before `validate_tag!` in `build_mapping`
- Add test for `Gem::Version::Requirement` tag used by old gems like `escape`

https://github.com/ruby/rubygems/commit/3c5855e833

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Fix Bundler crashing when installing very old gems:</title>
<updated>2026-03-17T00:21:04+00:00</updated>
<author>
<name>Edouard CHIN</name>
<email>chin.edouard@gmail.com</email>
</author>
<published>2026-03-16T21:12:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8723c8b25679be378c221a3ea8eb59a847442d79'/>
<id>8723c8b25679be378c221a3ea8eb59a847442d79</id>
<content type='text'>
- ### Problem

  There is a regression where bundler can longer install gems that
  were packaged a long time ago, like the [memoize gem](https://rubygems.org/gems/memoize).

  Bundler will crash with such error:

  ```
  Installing memoize 1.3.1
  --- ERROR REPORT TEMPLATE -------------------------------------------------------

  NoMethodError: undefined method 'as_list' for nil
  /Users/edouard/src/opensource/rubygems/lib/rubygems/dependency.rb:146:in 'Gem::Dependency#requirements_list'
  ```

  ### Context

  These very old gems were packaged at the time were a
  `Gem::Dependency` had no ivars `requirement`.
  This is what the dumped gemspec looks like:

  ```
  dependencies:
  - !ruby/object:Gem::Dependency
  name: test-unit
  type: :development
  version_requirement:
  version_requirements: !ruby/object:Gem::Requirement
    requirements:
    - - "&gt;="
      - !ruby/object:Gem::Version
        version: 2.0.2
    version:
  ```

  As opposed to a gem that was packaged more recently:

  ```
  - !ruby/object:Gem::Dependency
  name: minitest-global_expectations
  requirement: !ruby/object:Gem::Requirement
    requirements:
    - - "&gt;="
      - !ruby/object:Gem::Version
        version: '0'
  type: :development
  prerelease: false
  version_requirements: !ruby/object:Gem::Requirement
    requirements:
    - - "&gt;="
      - !ruby/object:Gem::Version
        version: '0'
  ```

  The change we made in https://github.com/ruby/rubygems/commit/cbe57bbbd71e8ac7fed686ae7d13a2fd1bd2e5b2#diff-5ccc8aa468df013cc970580e88642417da12284da6529a4885b9abf447ae95edL529
  broke old gem installation.

  ### Solution

  If `requirement` isn't set in the hash, look for
  `version_requirements` instead.

https://github.com/ruby/rubygems/commit/cfd8b20692
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- ### Problem

  There is a regression where bundler can longer install gems that
  were packaged a long time ago, like the [memoize gem](https://rubygems.org/gems/memoize).

  Bundler will crash with such error:

  ```
  Installing memoize 1.3.1
  --- ERROR REPORT TEMPLATE -------------------------------------------------------

  NoMethodError: undefined method 'as_list' for nil
  /Users/edouard/src/opensource/rubygems/lib/rubygems/dependency.rb:146:in 'Gem::Dependency#requirements_list'
  ```

  ### Context

  These very old gems were packaged at the time were a
  `Gem::Dependency` had no ivars `requirement`.
  This is what the dumped gemspec looks like:

  ```
  dependencies:
  - !ruby/object:Gem::Dependency
  name: test-unit
  type: :development
  version_requirement:
  version_requirements: !ruby/object:Gem::Requirement
    requirements:
    - - "&gt;="
      - !ruby/object:Gem::Version
        version: 2.0.2
    version:
  ```

  As opposed to a gem that was packaged more recently:

  ```
  - !ruby/object:Gem::Dependency
  name: minitest-global_expectations
  requirement: !ruby/object:Gem::Requirement
    requirements:
    - - "&gt;="
      - !ruby/object:Gem::Version
        version: '0'
  type: :development
  prerelease: false
  version_requirements: !ruby/object:Gem::Requirement
    requirements:
    - - "&gt;="
      - !ruby/object:Gem::Version
        version: '0'
  ```

  The change we made in https://github.com/ruby/rubygems/commit/cbe57bbbd71e8ac7fed686ae7d13a2fd1bd2e5b2#diff-5ccc8aa468df013cc970580e88642417da12284da6529a4885b9abf447ae95edL529
  broke old gem installation.

  ### Solution

  If `requirement` isn't set in the hash, look for
  `version_requirements` instead.

https://github.com/ruby/rubygems/commit/cfd8b20692
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Support YAML 1.1 !binary tag in YAMLSerializer</title>
<updated>2026-03-12T03:52:23+00:00</updated>
<author>
<name>lolwut</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-12T00:28:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1c7b2d2b0073681af400c5d1576fe3f2ec055010'/>
<id>1c7b2d2b0073681af400c5d1576fe3f2ec055010</id>
<content type='text'>
Decode base64-encoded values tagged with !binary in mapping keys,
mapping values (both inline and block scalar), and sequence items.
This fixes gem install failures for gems packaged with older RubyGems
that used !binary encoding in checksums.yaml.gz.

Fixes https://github.com/ruby/rubygems/issues/9387

https://github.com/ruby/rubygems/commit/cfc31601e9

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Decode base64-encoded values tagged with !binary in mapping keys,
mapping values (both inline and block scalar), and sequence items.
This fixes gem install failures for gems packaged with older RubyGems
that used !binary encoding in checksums.yaml.gz.

Fixes https://github.com/ruby/rubygems/issues/9387

https://github.com/ruby/rubygems/commit/cfc31601e9

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] bin/rubocop -A</title>
<updated>2026-03-10T07:56:43+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-10T06:09:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ca215b764f8dfaf9b26cc4aeb05ccff71d852a7b'/>
<id>ca215b764f8dfaf9b26cc4aeb05ccff71d852a7b</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/ba8e4ed9ed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/ba8e4ed9ed
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Limit YAML nesting and alias resolutions</title>
<updated>2026-03-10T07:56:43+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-10T06:07:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f79f61864bbae05e313a1d1d1218d61c4847638c'/>
<id>f79f61864bbae05e313a1d1d1218d61c4847638c</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/d4c5fc58e7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/d4c5fc58e7
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Restrict platform ivars when deserializing YAML</title>
<updated>2026-03-10T07:56:42+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-10T06:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=92117949607507defb05263eacb5bdc1a694cf91'/>
<id>92117949607507defb05263eacb5bdc1a694cf91</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/b8f77e3860
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/b8f77e3860
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Handle malformed/unknown YAML Platform fields</title>
<updated>2026-03-10T07:56:41+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-10T05:03:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c648235eeb76b0deb96841c5c36fe57698731f0d'/>
<id>c648235eeb76b0deb96841c5c36fe57698731f0d</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/e5bcde365f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/e5bcde365f
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Stop normalizing requirements to Array</title>
<updated>2026-03-10T07:56:40+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-10T04:51:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b84ed328f331817dfdcc8a9ef12e567b69c32100'/>
<id>b84ed328f331817dfdcc8a9ef12e567b69c32100</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/6b0aa2a2d3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/6b0aa2a2d3
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Treat rdoc_options as Hash instead of Array</title>
<updated>2026-03-10T07:56:39+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-10T04:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=01396cd2c24cf88454ff7dcebc0c214791074c3f'/>
<id>01396cd2c24cf88454ff7dcebc0c214791074c3f</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/074e3f7f62
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/074e3f7f62
</pre>
</div>
</content>
</entry>
</feed>
