Skip to content

build(deps): bump multi_json from 1.20.1 to 1.21.0#5080

Closed
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/bundler/multi_json-1.21.0
Closed

build(deps): bump multi_json from 1.20.1 to 1.21.0#5080
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/bundler/multi_json-1.21.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 4, 2026

Bumps multi_json from 1.20.1 to 1.21.0.

Release notes

Sourced from multi_json's releases.

v1.21.0

Full Changelog: sferik/multi_json@v1.20.1...v1.21.0

Changelog

Sourced from multi_json's changelog.

[1.21.0]

Every deprecation introduced here will be removed in 2.0.0. Upgrade to 1.21.0, run your app or test suite with ruby -W:deprecated to surface the warnings, migrate each call site to the new canonical names, then pin ~> 2.0 once 2.0.0 ships.

Added

  • Rename the MultiJson constant to MultiJSON (all-caps) to match the project name, Ruby stdlib JSON, and the all-caps treatment of the JSON acronym across other languages. The legacy MultiJson constant continues to work as a thin delegator via method_missing and const_missing, so MultiJson.parse(...), MultiJson::Adapters::Oj, and rescue MultiJson::ParseError all resolve to their MultiJSON counterparts.
  • Add MultiJSON.parse and MultiJSON.generate as the new canonical names for the primary parse and generate methods, matching Ruby stdlib JSON.parse / JSON.generate, the JSON spec (RFC 8259), and sister library MultiXml.
  • Add MultiJSON.parse_options / MultiJSON.parse_options= and MultiJSON.generate_options / MultiJSON.generate_options= as the new canonical option setters.
  • Accept symbolize_names: as the canonical option name matching Ruby stdlib's JSON.parse(str, symbolize_names: true). The deprecated symbolize_keys: option continues to work and emits a one-time warning when passed at any of the three option layers (call-site, MultiJSON.parse_options=, adapter defaults :load).
  • Replace the two-adapter Benchmark.ips smoke test in benchmark.rb with a full adapter comparison matrix (parse + dump across nine workloads) and promote it to a top-level rake benchmark task. A new --verify-preference flag asserts that MultiJSON::AdapterSelector::ADAPTERS matches the observed throughput ranking, with a 10% tolerance for adjacent ties; CI runs it on every push so the ordering can't silently drift.

Changed

  • Reorder MultiJSON::AdapterSelector::ADAPTERS so the JSON gem is tried before fast_jsonparser/oj/yajl on MRI and TruffleRuby, matching the throughput ranking in the bundled benchmark suite on Ruby 3.4+. The hash is split per platform so JRuby still prefers jr_jackson. Affects auto-detection only when more than one of those adapters is loaded; explicitly selecting an adapter with MultiJSON.use(:adapter) is unchanged.

Deprecated

  • The MultiJson constant in favor of MultiJSON.
  • MultiJSON.load in favor of MultiJSON.parse.
  • MultiJSON.dump in favor of MultiJSON.generate.
  • MultiJSON.load_options / MultiJSON.load_options= in favor of MultiJSON.parse_options / MultiJSON.parse_options=.
  • MultiJSON.dump_options / MultiJSON.dump_options= in favor of MultiJSON.generate_options / MultiJSON.generate_options=.
  • The :symbolize_keys parse option in favor of :symbolize_names.

All deprecated names continue to work and emit a one-time warning on first use. Warnings are tagged with Ruby's :deprecated category, so noisy apps can silence the whole set with Warning[:deprecated] = false and deprecation-aware tooling (ruby -W:deprecated, CI linters) picks them up. The old names will be removed in 2.0.

Commits
  • 8339719 Version 1.21.0
  • 2217775 Tag deprecation warnings as :deprecated and document the bridge in the README
  • 6f6b756 Reorder ADAPTERS by benchmark throughput and verify the order in CI
  • 72d3ea1 Add adapter benchmark suite as a rake task
  • 112d0af Mirror stdlib JSON in the public API: MultiJSON, parse/generate, symbolize_names
  • ddc802a Rewrite CHANGELOG in Keep a Changelog format
  • d4c6fe1 Whitelist gemspec files instead of globbing all .md files
  • c50c595 Fix flaky symbol-count tests that fail when GC reclaims symbols
  • See full diff in compare view

Dependabot compatibility score

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 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)

Bumps [multi_json](https://github.com/sferik/multi_json) from 1.20.1 to 1.21.0.
- [Release notes](https://github.com/sferik/multi_json/releases)
- [Changelog](https://github.com/sferik/multi_json/blob/main/CHANGELOG.md)
- [Commits](sferik/multi_json@v1.20.1...v1.21.0)

---
updated-dependencies:
- dependency-name: multi_json
  dependency-version: 1.21.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels May 4, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 5, 2026

Superseded by #5088.

@dependabot dependabot Bot closed this May 5, 2026
@dependabot dependabot Bot deleted the dependabot/bundler/multi_json-1.21.0 branch May 5, 2026 11:12
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