<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/json/json_generator_test.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>[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] Reproduce C ext behavior of ignoring mutated depth in arrays</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-28T14:53:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=32c7c3c19aa7c9c3fda10a9520d29e244baeaa6d'/>
<id>32c7c3c19aa7c9c3fda10a9520d29e244baeaa6d</id>
<content type='text'>
https://github.com/ruby/json/commit/e0257b9f82
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/e0257b9f82
</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] Don't call to_json on the return value of as_json for Float::NAN</title>
<updated>2025-12-02T15:59:25+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-12-02T14:45:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cc929bff7ddfeccf320c621a6ae0f106e76a52f0'/>
<id>cc929bff7ddfeccf320c621a6ae0f106e76a52f0</id>
<content type='text'>
https://github.com/ruby/json/commit/28c57df8f7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/28c57df8f7
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Test to_json using State#depth</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-26T10:03:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=adc0521b22968c9f580ebb5b4d5aa674bd906cd3'/>
<id>adc0521b22968c9f580ebb5b4d5aa674bd906cd3</id>
<content type='text'>
https://github.com/ruby/json/commit/ac0a980668
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/ac0a980668
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Test depth</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-24T14:40:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=dd6a4ea2b9cf6f3ab1ea01e044f3d789fb6d5450'/>
<id>dd6a4ea2b9cf6f3ab1ea01e044f3d789fb6d5450</id>
<content type='text'>
https://github.com/ruby/json/commit/d02e40324a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/d02e40324a
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/json] Test that depth of unfrozen State does not change</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-23T10:36:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fb642b78cb89dd26ade620bda16ca78b570a907e'/>
<id>fb642b78cb89dd26ade620bda16ca78b570a907e</id>
<content type='text'>
https://github.com/ruby/json/commit/9d32cf4618
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/json/commit/9d32cf4618
</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] Deprecate `JSON::State#[]` and `JSON::State#[]=`</title>
<updated>2025-11-07T09:02:47+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-11-07T08:51:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cd8902cce871144931a492408945d233f0926584'/>
<id>cd8902cce871144931a492408945d233f0926584</id>
<content type='text'>
This prevent from freezing and sharing state instances.

If you needs some sort of arguments or extra state to the generator
methods, consider using `JSON::Coder` instead.

https://github.com/ruby/json/commit/e9fbc8937f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This prevent from freezing and sharing state instances.

If you needs some sort of arguments or extra state to the generator
methods, consider using `JSON::Coder` instead.

https://github.com/ruby/json/commit/e9fbc8937f
</pre>
</div>
</content>
</entry>
<entry>
<title>`JSON::Coder` callback now recieve a second argument to mark object keys</title>
<updated>2025-09-19T10:30:10+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-09-18T18:33:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1042a0bdd893a268b23566fcf1bb3a26cbc0e8c6'/>
<id>1042a0bdd893a268b23566fcf1bb3a26cbc0e8c6</id>
<content type='text'>
e.g.
```ruby
{ 1 =&gt; 2 }
```

The callback will be invoked for `1` as while it has a native JSON
equivalent, it's not legal as an object name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
e.g.
```ruby
{ 1 =&gt; 2 }
```

The callback will be invoked for `1` as while it has a native JSON
equivalent, it's not legal as an object name.
</pre>
</div>
</content>
</entry>
</feed>
