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