pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/textproc/ruby-multi_json



Module Name:    pkgsrc
Committed By:   taca
Date:           Tue May  5 13:25:47 UTC 2026

Modified Files:
        pkgsrc/textproc/ruby-multi_json: Makefile PLIST distinfo

Log Message:
textproc/ruby-multi_json: update to 1.21.1

1.21.0 (2026-05-02)

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.

1.21.1 (2026-05-04)

Fixed

* Fix MultiJson.method(:load) resolving to Kernel#load instead of the
  legacy-constant forwarder (#66).  The 1.21.0 shim forwarded calls via
  method_missing, but Module#method doesn't consult method_missing, so
  libraries that capture decoders as Method objects (Sawyer, used by Octokit
  and Danger) crashed with LoadError when the captured method tried to
  interpret the JSON string as a file path.  Define an explicit singleton
  method on MultiJson for every public method MultiJSON exposes so
  Module#method finds the forwarder directly.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 pkgsrc/textproc/ruby-multi_json/Makefile
cvs rdiff -u -r1.12 -r1.13 pkgsrc/textproc/ruby-multi_json/PLIST
cvs rdiff -u -r1.24 -r1.25 pkgsrc/textproc/ruby-multi_json/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/textproc/ruby-multi_json/Makefile
diff -u pkgsrc/textproc/ruby-multi_json/Makefile:1.23 pkgsrc/textproc/ruby-multi_json/Makefile:1.24
--- pkgsrc/textproc/ruby-multi_json/Makefile:1.23       Sun Apr 12 15:12:59 2026
+++ pkgsrc/textproc/ruby-multi_json/Makefile    Tue May  5 13:25:46 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.23 2026/04/12 15:12:59 taca Exp $
+# $NetBSD: Makefile,v 1.24 2026/05/05 13:25:46 taca Exp $
 
-DISTNAME=      multi_json-1.20.1
+DISTNAME=      multi_json-1.21.1
 CATEGORIES=    textproc
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost

Index: pkgsrc/textproc/ruby-multi_json/PLIST
diff -u pkgsrc/textproc/ruby-multi_json/PLIST:1.12 pkgsrc/textproc/ruby-multi_json/PLIST:1.13
--- pkgsrc/textproc/ruby-multi_json/PLIST:1.12  Sun Apr 12 15:12:59 2026
+++ pkgsrc/textproc/ruby-multi_json/PLIST       Tue May  5 13:25:46 2026
@@ -1,7 +1,5 @@
-@comment $NetBSD: PLIST,v 1.12 2026/04/12 15:12:59 taca Exp $
+@comment $NetBSD: PLIST,v 1.13 2026/05/05 13:25:46 taca Exp $
 ${GEM_HOME}/cache/${GEM_NAME}.gem
-${GEM_LIBDIR}/CHANGELOG.md
-${GEM_LIBDIR}/CONTRIBUTING.md
 ${GEM_LIBDIR}/LICENSE.md
 ${GEM_LIBDIR}/README.md
 ${GEM_LIBDIR}/lib/multi_json.rb

Index: pkgsrc/textproc/ruby-multi_json/distinfo
diff -u pkgsrc/textproc/ruby-multi_json/distinfo:1.24 pkgsrc/textproc/ruby-multi_json/distinfo:1.25
--- pkgsrc/textproc/ruby-multi_json/distinfo:1.24       Sun Apr 12 15:12:59 2026
+++ pkgsrc/textproc/ruby-multi_json/distinfo    Tue May  5 13:25:46 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.24 2026/04/12 15:12:59 taca Exp $
+$NetBSD: distinfo,v 1.25 2026/05/05 13:25:46 taca Exp $
 
-BLAKE2s (multi_json-1.20.1.gem) = e22c157d27cd8bf027c5e6cb57013ae132876658f353aac910f7904884ede515
-SHA512 (multi_json-1.20.1.gem) = d6fa7e130fab710751d6445ede238b49d801abaf640075604e34224a57a80d9b54ff2829f555926922446fb29a1c42ad65ebf81f6d9a43b677bf86bf5d3237cb
-Size (multi_json-1.20.1.gem) = 36352 bytes
+BLAKE2s (multi_json-1.21.1.gem) = 2ce98eed5353b31ba94ba6a1c02199d562e8e9d30e5be78ade6ce5ceaeeaeb49
+SHA512 (multi_json-1.21.1.gem) = 6886a646da691ceed9bab77259738f6a2fc3809bfa39ca6b313dad0b96e5cd7d92121404a37d83716dce66ce1966502660846e74cb25920a2313e0b840f8244d
+Size (multi_json-1.21.1.gem) = 26624 bytes



Home | Main Index | Thread Index | Old Index