Emit a deprecation warning when JSON.load create custom types without the create_additions option being explictly enabled.
Prefer to use JSON.unsafe_load(string) or JSON.load(string, create_additions: true).
Emit a deprecation warning when serializing valid UTF-8 strings encoded in ASCII_8BIT aka BINARY.
Bump required Ruby version to 2.7.
Add support for optionally parsing trailing commas, via allow_trailing_comma: true, which in cunjunction with the
pre-existing support for comments, make it suitable to parse jsonc documents.
Many performance improvements to JSON.parse and JSON.load, up to 1.7x faster on real world documents.
Some minor performance improvements to JSON.dump and JSON.generate.
2024-11-04 (2.7.6)
Fix a regression in JSON.generate when dealing with Hash keys that are string subclasses, call to_json on them.
2024-10-25 (2.7.5)
Fix a memory leak when #to_json methods raise an exception.
Gracefully handle formatting configs being set to nil instead of "".
Workaround another issue caused by conflicting versions of both json_pure and json being loaded.
2024-10-25 (2.7.4)
Workaround a bug in 3.4.8 and older rubygems/rubygems#6490.
This bug would cause some gems with native extension to fail during compilation.
Workaround different versions of json and json_pure being loaded (not officially supported).
Make json_pure Ractor compatible.
2024-10-24 (2.7.3)
Numerous performance optimizations in JSON.generate and JSON.dump (up to 2 times faster).
Limit the size of ParserError exception messages, only include up to 32 bytes of the unparseable source.
Fix json-pure's Object#to_json to accept non state arguments
Fix multiline comment support in json-pure.
Fix JSON.parse to no longer mutate the argument encoding when passed an ASCII-8BIT string.
Fix String#to_json to raise on invalid encoding in json-pure.
Delete code that was based on CVTUTF.
Use the pure-Ruby generator on TruffleRuby.
Fix strict mode in json-pure to not break on Integer.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on json to permit the latest version.
Release notes
Sourced from json's releases.
Changelog
Sourced from json's changelog.
... (truncated)
Commits
d5e4a6e
Release 2.8.272bea9d
Merge pull request #706 from YuheiNakasaka/fix-redundant-to_str61f022d
Fix redundant to_str calld0dae8f
Merge pull request #705 from casperisfine/key-cache-in-array-only00c45dd
Only use the key cache if the Hash is in an Array3a09ad1
Merge pull request #704 from tompng/test_verbose_fix6ae9155
Fix $VERBOSE restore821b92e
Merge pull request #703 from casperisfine/oj-parser-thread-safe855563f
BenchmarkOj::Parser
in a thread safe wayb1397e2
Merge pull request #702 from casperisfine/load-file-utf8Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show