<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/ext/json/generator, branch v4.0.3</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/json] Fix handling of depth</title>
<updated>2025-12-03T15:21:08+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-12-03T14:43:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=208271e3723653cd4cb9cd2eb4a6c631eee0b09c'/>
<id>208271e3723653cd4cb9cd2eb4a6c631eee0b09c</id>
<content type='text'>
https://github.com/ruby/json/commit/ccca602274
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/ccca602274
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Test and restore behavior around to_json changing depth</title>
<updated>2025-12-03T13:49:05+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-11-27T15:12:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=54a73a57a292d8d7e88cadd3fd8454a3084a60e9'/>
<id>54a73a57a292d8d7e88cadd3fd8454a3084a60e9</id>
<content type='text'>
When serializing an Array, and one of the elements of the Array requires
calling `to_json`, if the depth is changed, it will be used for the next
entries, which wasn't the case before
https://github.com/ruby/json/commit/5abd43490714, and is not the case with
TruffleRuby and JRuby.

Additionally, with TruffleRuby and JRuby the state's depth after the
`to_json` call is used to close the Array, which isn't the case with
CRuby.

https://github.com/ruby/json/commit/386b36fde5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When serializing an Array, and one of the elements of the Array requires
calling `to_json`, if the depth is changed, it will be used for the next
entries, which wasn't the case before
https://github.com/ruby/json/commit/5abd43490714, and is not the case with
TruffleRuby and JRuby.

Additionally, with TruffleRuby and JRuby the state's depth after the
`to_json` call is used to close the Array, which isn't the case with
CRuby.

https://github.com/ruby/json/commit/386b36fde5
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Fix macro arguments</title>
<updated>2025-12-03T02:19:06+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-03T01:56:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=28d9493b98c7fef39845393ea00ef5eb6947091b'/>
<id>28d9493b98c7fef39845393ea00ef5eb6947091b</id>
<content type='text'>
`ALWAYS_INLINE()` and `NOINLINE()` are defined with one argument.

https://github.com/ruby/json/commit/8fb727901e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`ALWAYS_INLINE()` and `NOINLINE()` are defined with one argument.

https://github.com/ruby/json/commit/8fb727901e
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Respect Coder depth when generating</title>
<updated>2025-11-27T13:01:57+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-11-24T16:41:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2f192c73cccdfd81e4ac2206feadc48b2757c19c'/>
<id>2f192c73cccdfd81e4ac2206feadc48b2757c19c</id>
<content type='text'>
https://github.com/ruby/json/commit/9c36681b17
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/9c36681b17
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Don't copy JSON_Generator_State in generate_new</title>
<updated>2025-11-26T14:47:27+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-11-22T13:57:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ab3b79ea3db7779a9ee9eb6e39226d23b50fd012'/>
<id>ab3b79ea3db7779a9ee9eb6e39226d23b50fd012</id>
<content type='text'>
Now that the state isn't mutated in generate_new, we no longer need to
copy the struct, we can just use it.

https://github.com/ruby/json/commit/d7964f8892
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that the state isn't mutated in generate_new, we no longer need to
copy the struct, we can just use it.

https://github.com/ruby/json/commit/d7964f8892
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Don't write depth to JSON_Generator_State in some cases</title>
<updated>2025-11-26T14:47:27+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-11-22T12:59:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=98a9667736f56336c920770095f9c367add2257b'/>
<id>98a9667736f56336c920770095f9c367add2257b</id>
<content type='text'>
For `JSON.generate` and `JSON::State#generate_new`, don't copy
generate_json_data::depth to JSON_Generator_State::depth.

In `JSON.generate`, the JSON_Generator_State is on the stack and
discarded anyway. In `JSON::State#generate_new`, we copy the struct to
avoid mutating the original one.

https://github.com/ruby/json/commit/873b29ea34
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For `JSON.generate` and `JSON::State#generate_new`, don't copy
generate_json_data::depth to JSON_Generator_State::depth.

In `JSON.generate`, the JSON_Generator_State is on the stack and
discarded anyway. In `JSON::State#generate_new`, we copy the struct to
avoid mutating the original one.

https://github.com/ruby/json/commit/873b29ea34
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Add depth to struct generate_json_data</title>
<updated>2025-11-26T14:47:27+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-11-22T11:30:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4b8ec8c9fc79859456661381e3e138ecc3e8c298'/>
<id>4b8ec8c9fc79859456661381e3e138ecc3e8c298</id>
<content type='text'>
Instead of incrementing JSON_Generator_State::depth, we now increment
generate_json_data::depth, and only copied at the end.

https://github.com/ruby/json/commit/5abd434907
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of incrementing JSON_Generator_State::depth, we now increment
generate_json_data::depth, and only copied at the end.

https://github.com/ruby/json/commit/5abd434907
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Move RUBY_TYPED_FROZEN_SHAREABLE macro to json.h</title>
<updated>2025-11-21T16:12:35+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-11-21T11:48:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ffa105c27f943bf4170247137733ff7640cf24d0'/>
<id>ffa105c27f943bf4170247137733ff7640cf24d0</id>
<content type='text'>
https://github.com/ruby/json/commit/2a4ebe8250
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/2a4ebe8250
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Ractor-shareable JSON::Coder</title>
<updated>2025-11-21T16:12:35+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-11-18T10:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bdca2a9975c7859f2e1702a517d59bb6cb254acb'/>
<id>bdca2a9975c7859f2e1702a517d59bb6cb254acb</id>
<content type='text'>
https://github.com/ruby/json/commit/58d60d6b76
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/58d60d6b76
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Remove unused symbols</title>
<updated>2025-11-20T17:23:37+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-11-20T15:41:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=48027256cf9d3e3bf12603184448cf88406b92d0'/>
<id>48027256cf9d3e3bf12603184448cf88406b92d0</id>
<content type='text'>
https://github.com/ruby/json/commit/9364d0c761
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/9364d0c761
</pre>
</div>
</content>
</entry>
</feed>
