Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update json requirement from 2.7.2 to 2.7.3 #405

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 25, 2024

Updates the requirements on json to permit the latest version.

Release notes

Sourced from json's releases.

v2.7.3

What's Changed

  • 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.

JSON.dump Performance

JSON.dump is now much faster, and on par or faster than alternative implementations:

== Encoding citm_catalog.json (500298 bytes)
ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
Warming up --------------------------------------
        json (2.7.3)   123.000 i/100ms
                  oj   124.000 i/100ms
Calculating -------------------------------------
        json (2.7.3)      1.312k (± 1.8%) i/s  (761.91 μs/i) -      6.642k in   5.062192s
                  oj      1.278k (± 2.0%) i/s  (782.35 μs/i) -      6.448k in   5.046587s

Comparison: json (2.7.2): 884.0 i/s json (2.7.3): 1312.5 i/s - 1.48x faster oj: 1278.2 i/s - 1.45x faster

== Encoding twitter.json (466906 bytes)
ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
Warming up --------------------------------------
        json (2.7.3)   213.000 i/100ms
                  oj   222.000 i/100ms
Calculating -------------------------------------
        json (2.7.3)      2.140k (± 2.8%) i/s  (467.19 μs/i) -     10.863k in   5.079099s
                  oj      2.303k (± 3.2%) i/s  (434.27 μs/i) -     11.544k in   5.018239s

Comparison:
json (2.7.2): 1250.5 i/s
oj: 2302.7 i/s - 1.84x faster
json (2.7.3): 2140.5 i/s - 1.71x faster

Full Changelog: ruby/json@v2.7.2...v2.7.3

Changelog

Sourced from json's changelog.

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.

2024-04-04 (2.7.2)

  • Use rb_sym2str instead of SYM2ID #561
  • Fix memory leak when exception is raised during JSON generation #574
  • Remove references to "19" methods in JRuby #576
  • Make OpenStruct support as optional by @​hsbt in #565
  • Autoload JSON::GenericObject to avoid require ostruct warning in Ruby 3.4 #577
  • Warn to install ostruct if json couldn't load it by @​hsbt #578

2023-12-05 (2.7.1)

  • JSON.dump: handle unenclosed hashes regression #554
  • Overload kwargs in JSON.dump #556
  • [DOC] RDoc for additions #557
  • Fix JSON.dump overload combination #558

2023-12-01 (2.7.0)

  • Add a strict option to Generator #519
  • escape_slash option was renamed as script_safe and now also escape U+2028 and U+2029. escape_slash is now an alias of script_safe #525
  • Remove unnecessary initialization of create_id in JSON.parse() #454
  • Improvements to Hash#to_json in pure implementation generator #203
  • Use ruby_xfree to free buffers #518
  • Fix "unexpected token" offset for Infinity #507
  • Avoid using deprecated BigDecimal.new on JRuby #546
  • Removed code for Ruby 1.8 #540
  • Rename JSON::ParseError to JSON:ParserError #530
  • Call super in included hook #486
  • JRuby requires a minimum of Java 8 #516
  • Always indent even if empty #517

2022-11-30 (2.6.3)

  • bugfix json/pure mixing escaped with literal unicode raises Encoding::CompatibilityError #483
  • Stop including the parser source LINE in exceptions #470

2022-11-17 (2.6.2)

... (truncated)

Commits
  • 7a3b482 Release 2.7.3
  • 2c27755 Merge pull request #637 from nobu/brevity
  • 7efa2c3 Use String#+
  • c40a330 Use String#b
  • d48f7ff Merge pull request #636 from casperisfine/merge-gemspecs-2
  • a48be35 Release 2.7.3.rc1
  • fe25c6e Merge json and json-java gemspecs
  • c4a6e77 Merge pull request #633 from eregon/generator-error-fast_serialize_string
  • 35407d6 JSON.dump / String#to_json: raise on invalid encoding
  • 3b0bfe7 Raise the correct exception in fast_serialize_string
  • Additional commits viewable in compare view

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 <dependency name> 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](https://github.com/ruby/json) to permit the latest version.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](ruby/json@v2.7.2...v2.7.3)

---
updated-dependencies:
- dependency-name: json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants