Releases: ruby/json
Releases Β· ruby/json
v2.19.3
v2.19.2
What's Changed
- Fix a format string injection vulnerability in
JSON.parse(doc, allow_duplicate_key: false).CVE-2026-33210
Full Changelog: v2.19.1...v2.19.2
v2.17.1.2
- Fix a format string injection vulnerability in
JSON.parse(doc, allow_duplicate_key: false).CVE-2026-33210
Full Changelog: v2.17.1...v2.17.1.2
v2.15.2.1
- Fix a format string injection vulnerability in
JSON.parse(doc, allow_duplicate_key: false).CVE-2026-33210
Full Changelog: v2.15.2...v2.15.2.1
v2.19.1
What's Changed
- Fix a compiler dependent GC bug introduced in
2.18.0.
Full Changelog: v2.19.0...v2.19.1
v2.19.0
What's Changed
- Fix
allow_blankparsing option to no longer allow invalid types (e.g.load([], allow_blank: true)now raise a type error). - Add
allow_invalid_escapeparsing option to ignore backslashes that aren't followed by one of the valid escape characters.
Full Changelog: v2.18.1...v2.19.0
v2.18.1
What's Changed
- Fix a potential crash in very specific circumstance if GC triggers during a call to
to_json
without first invoking a user defined#to_jsonmethod.
Full Changelog: v2.18.0...v2.18.1
v2.18.0
What's Changed
- Add
:allow_control_charactersparser options, to allow JSON strings containing unescaped ASCII control characters (e.g. newlines).
Full Changelog: v2.17.1...v2.18.0
v2.17.1
What's Changed
- Fix a regression in parsing of unicode surogate pairs (
\uXX\uXX) that could cause an invalid string to be returned.
Full Changelog: v2.17.0...v2.17.1
v2.17.0
What's Changed
- Improve
JSON.loadandJSON.unsafe_loadto allow passing options as second argument. - Fix the parser to no longer ignore invalid escapes in strings.
Only\",\\,\b,\f,\n,\r,\tand\uare valid JSON escapes. - Fixed
JSON::Coderto use the depth it was initialized with. - On TruffleRuby, fix the generator to not call
to_jsonon the return value ofas_jsonforFloat::NAN. - Fixed handling of
state.depth: whento_jsonchangesstate.depthbut does not restore it, it is reset
automatically to its initial value.
In particular, when aNestingErroris raised,depthis no longer equal tomax_nestingafter the call to
generate, and is reset to its initial value. Similarly whento_jsonraises an exception.
Full Changelog: v2.16.0...v2.17.0