<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/ext/psych, branch v4.0.4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/psych] v5.3.1</title>
<updated>2025-12-17T06:47:43+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-12-17T04:34:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8850807eb1d8e6376a4f0dd99cb2f5e3e2988595'/>
<id>8850807eb1d8e6376a4f0dd99cb2f5e3e2988595</id>
<content type='text'>
https://github.com/ruby/psych/commit/8345af9ffb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/psych/commit/8345af9ffb
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] Replace C extension with Data#initialize bind_call</title>
<updated>2025-12-15T22:48:40+00:00</updated>
<author>
<name>nick evans</name>
<email>nick@rubinick.dev</email>
</author>
<published>2025-12-11T20:25:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b3f0fb56187dd9711fac0baae81a3f1ed0b5714a'/>
<id>b3f0fb56187dd9711fac0baae81a3f1ed0b5714a</id>
<content type='text'>
https://github.com/ruby/psych/commit/6a826693ba
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/psych/commit/6a826693ba
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] bump snakeyaml-engine to 2.10 (jruby)</title>
<updated>2025-12-11T15:01:04+00:00</updated>
<author>
<name>kares</name>
<email>self@kares.org</email>
</author>
<published>2025-12-11T09:53:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4ab45e8f0cdf008db89c54c14a8214b915b80ab9'/>
<id>4ab45e8f0cdf008db89c54c14a8214b915b80ab9</id>
<content type='text'>
https://github.com/ruby/psych/commit/506bf75ab2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/psych/commit/506bf75ab2
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] v5.3.0</title>
<updated>2025-12-10T05:08:04+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-12-10T05:07:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=df4fc0f7fcda6c552084ea0638c7185b4a98c939'/>
<id>df4fc0f7fcda6c552084ea0638c7185b4a98c939</id>
<content type='text'>
https://github.com/ruby/psych/commit/d8053b0d16
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/psych/commit/d8053b0d16
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] Use Node#to_ruby parse_symbols option</title>
<updated>2025-12-05T17:14:30+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-12-05T14:33:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=65dbd571c1e0aae3b0919ae6e64704726f18b265'/>
<id>65dbd571c1e0aae3b0919ae6e64704726f18b265</id>
<content type='text'>
https://github.com/ruby/psych/commit/907fd4fa97
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/psych/commit/907fd4fa97
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] Add option to disable symbol parsing</title>
<updated>2025-12-04T00:42:17+00:00</updated>
<author>
<name>Caleb Stewart</name>
<email>caleb.stewart94@gmail.com</email>
</author>
<published>2025-08-05T01:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0e7e6858e3a3689708371028cb1553317b905bb0'/>
<id>0e7e6858e3a3689708371028cb1553317b905bb0</id>
<content type='text'>
https://github.com/ruby/psych/commit/4e9d08c285
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/psych/commit/4e9d08c285
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] Remove y Object extension in IRB</title>
<updated>2025-12-04T00:40:11+00:00</updated>
<author>
<name>Rune Philosof</name>
<email>rune.git@philosof.dk</email>
</author>
<published>2025-10-28T12:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8f7d821dbae8bba00e1e905bbda1b639998288aa'/>
<id>8f7d821dbae8bba00e1e905bbda1b639998288aa</id>
<content type='text'>
Fixes: ruby#685

This feature can easily break how you use other gems like factory_bot or prawn.

https://github.com/ruby/psych/pull/747#issuecomment-3413139525
&gt; But I kind of think we should leave `psych/y` around. If people really want to use it they could require the file.

If you miss the function in Kernel, you can require it interactively or add it to `.irbrc`:
```ruby
require 'psych/y'
```

https://github.com/ruby/psych/commit/f1610b3f05
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: ruby#685

This feature can easily break how you use other gems like factory_bot or prawn.

https://github.com/ruby/psych/pull/747#issuecomment-3413139525
&gt; But I kind of think we should leave `psych/y` around. If people really want to use it they could require the file.

If you miss the function in Kernel, you can require it interactively or add it to `.irbrc`:
```ruby
require 'psych/y'
```

https://github.com/ruby/psych/commit/f1610b3f05
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] Properly set the message of Exceptions on TruffleRuby</title>
<updated>2025-12-02T17:27:38+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2025-11-05T11:01:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3aa674ad9923a4a362a29840fad8421a6be7131f'/>
<id>3aa674ad9923a4a362a29840fad8421a6be7131f</id>
<content type='text'>
* From https://github.com/truffleruby/truffleruby/commit/1f81db82d2969ff7c5de0dacdecb38252664f42c

https://github.com/ruby/psych/commit/dbabe7aac6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* From https://github.com/truffleruby/truffleruby/commit/1f81db82d2969ff7c5de0dacdecb38252664f42c

https://github.com/ruby/psych/commit/dbabe7aac6
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] Fix usage of rb_struct_initialize() to pass an Array of members values and not a Hash</title>
<updated>2025-12-02T17:27:38+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2025-11-05T10:13:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d3907245d7928279fcffd1af2903d16b2dbb2d29'/>
<id>d3907245d7928279fcffd1af2903d16b2dbb2d29</id>
<content type='text'>
* rb_struct_initialize() does not accept a Hash, and it's very brittle
  to pass `[{...}]` and to rely on that C function using rb_keyword_given_p().
  It basically worked accidentally, by having **members in the caller of the caller.
  Such logic when Struct#initialize is defined in Ruby (as in TruffleRuby) is basically impossible to implement,
  because it's incorrectly treating positional arguments as keyword arguments.
* rb_struct_initialize() is used in CRuby to set members of Data instances in marshal.c (there is no rb_data_initialize() yet).
  There, the code passes an Array of members values for Data (and for Struct which are not `keyword_init: true`):
  https://github.com/ruby/ruby/blob/48c7f349f68846e10d60ae77ad299a38ee014479/marshal.c#L2150-L2176
  So we should do the same in psych.
* Rename to init_data since it's only used for Data.
* See https://github.com/ruby/psych/pull/692#discussion_r2483947279.

https://github.com/ruby/psych/commit/3550148378
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* rb_struct_initialize() does not accept a Hash, and it's very brittle
  to pass `[{...}]` and to rely on that C function using rb_keyword_given_p().
  It basically worked accidentally, by having **members in the caller of the caller.
  Such logic when Struct#initialize is defined in Ruby (as in TruffleRuby) is basically impossible to implement,
  because it's incorrectly treating positional arguments as keyword arguments.
* rb_struct_initialize() is used in CRuby to set members of Data instances in marshal.c (there is no rb_data_initialize() yet).
  There, the code passes an Array of members values for Data (and for Struct which are not `keyword_init: true`):
  https://github.com/ruby/ruby/blob/48c7f349f68846e10d60ae77ad299a38ee014479/marshal.c#L2150-L2176
  So we should do the same in psych.
* Rename to init_data since it's only used for Data.
* See https://github.com/ruby/psych/pull/692#discussion_r2483947279.

https://github.com/ruby/psych/commit/3550148378
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/psych] Replace Ruby 3.5 with Ruby 4.0</title>
<updated>2025-11-11T21:05:11+00:00</updated>
<author>
<name>Yasuo Honda</name>
<email>yasuo.honda@gmail.com</email>
</author>
<published>2025-11-11T14:44:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c07b2329eda5fcd82d8cb0b8f6f2187d09e8f2ad'/>
<id>c07b2329eda5fcd82d8cb0b8f6f2187d09e8f2ad</id>
<content type='text'>
This commit updates the Ruby version to follow the commit in Ruby master branch.
https://github.com/ruby/ruby/commit/6d81969b475262aba251e99b518181bdf7c5a523

https://github.com/ruby/psych/commit/971b7de078
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit updates the Ruby version to follow the commit in Ruby master branch.
https://github.com/ruby/ruby/commit/6d81969b475262aba251e99b518181bdf7c5a523

https://github.com/ruby/psych/commit/971b7de078
</pre>
</div>
</content>
</entry>
</feed>
