./converters/p5-Cpanel-JSON-XS, JSON serialising/deserialising, done correctly and fast (cPanel fork)

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.32nb1, Package name: p5-Cpanel-JSON-XS-4.32nb1, Maintainer: pkgsrc-users

This module converts Perl data structures to JSON and vice versa.
Its primary goal is to be *correct* and its secondary goal is to
be *fast*. To reach the latter goal it was written in C.

As this is the n-th-something JSON module on CPAN, what was the
reason to write yet another JSON module? While it seems there are
many JSON modules, none of them correctly handle all corner cases,
and in most cases their maintainers are unresponsive, gone missing,
or not listening to bug reports for other reasons.

The cPanel fork has additional bug fixes and interoperability
improvements.


Required to run:
[lang/perl5] [devel/p5-common-sense] [devel/p5-Types-Serialiser] [devel/p5-Canary-Stability]

Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

Filesize: 250.49 KB

Version history: (Expand)


CVS history: (Expand)


   2023-07-06 11:43:03 by Thomas Klausner | Files touched by this commit (2483)
Log message:
*: recursive bump for perl 5.38
   2022-10-01 01:41:55 by Wen Heping | Files touched by this commit (2)
Log message:
Update to 4.32

Upstream changes:
4.32 2022-08-13 (rurban)
        - fix new JSON::PP::Boolean overload redefinition warnings. GH #200

4.31 2022-08-10 (rurban)
        - adjust t/20_unknown.t pp bool tests for native bool when supported.
          GH #198 PR by Graham Knop.
   2022-07-04 09:20:10 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Cpanel-JSON-XS: update to 4.30.

4.30 2022-06-14 (rurban)
        - Fix perl 5.37 utf8n_to_uvuni deprecation. GH #196

4.29 2022-05-27 (rurban)
        - Hack: Revert native bool (unblessed) overloads via JSON::PP 4.08.
          JSON::PP ignores unblessed bools for now. GH #194

4.28 2022-05-05 (rurban)
        - Validate the JSON struct which might get corrupted by wrong FREEZE/THAW
          methods, or other serializers, or corrupting our magic object. (GH #192)
        - Improve our DESTROY and END methods to avoid NULL dereferences.
          Fixes perl-compiler/#438
        - Fix 3 tests in t/20_unknown.t with the latest 5.35.10 bool enhancements
          and JSON::PP (GH #194)
        - Fix t/118_type.t with Windows ivtype long long. (GH #178)
        - Added github actions

4.27 2021-10-13 (rurban)
        - Only add -Werror=declaration-after-statement for 5.035004 and earlier \ 
(PR #186 nwc)
	- Fix 125_shared_boolean.t for threads (PR #184 Sinan Unur)

4.26 2021-04-12 (rurban)
        - Fix compilation with C++ (GH #177)

4.25 2020-10-28 (rurban)
        - Fix decode relaxed with comment at the end of the buffer (GH #174 \ 
fgaspar), a regression
          introduced with 3.0220, to fix n_number_then_00.
        - Possible fix for a gcc-9 optimizer bug (GH #172)

4.24 2020-10-02 (rurban)
        - Fix decode_json(scalar, 0) (GH #171 plicease), check 2nd arg for true-ness
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2021-10-26 12:06:54 by Nia Alarie | Files touched by this commit (150)
Log message:
converters: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes
   2021-10-07 15:29:13 by Nia Alarie | Files touched by this commit (150)
Log message:
converters: Remove SHA1 hashes for distfiles
   2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575)
Log message:
*: recursive bump for perl 5.34
   2020-09-06 21:48:51 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Cpanel-JSON-XS: update to 4.23.

4.23 2020-09-05 (rurban)
        - Fixup t/54_stringify change for JSON 2.09 (really use PR #169 madsen)

4.22 2020-09-04 (rurban)
        - Fix t/54_stringify needs JSON 2.09 for allow_unknown (PR #169 madsen)
        - Fix t/118_type.t for 5.6
        - Fix t/96_interop.t for missing JSON::XS (GH #83 ribasushi)
        - Possible fix for s390x with long double, untested (GH #83)

4.21 2020-08-13 (rurban)
        - Fix not enough HEK memory allocation for the new canonical tied hashes
          feature. (GH #168)
        - TODO broken JSON::PP::Boolean versions 2.9x - 4.0 with threads::shared in
          125_shared_boolean.t

4.20 2020-08-12 (rurban)
        - New feature: sort tied hashes with canonical. (GH #167)
        - Fix encode of threads::shared boolean (#166 Sam Bingner).
          This was broken with 4.00.
        - Fix some stringify overload cases via convert_blessed (GH #105)
        - Fix a compat case with JSON::XS, when convert_blessed is set, but
          allow_blessed not. (GH #105)
        - Improve blessed and stringify tests
        - Work on better inf/nan detection on AIX (#165 Peter Heuchert)
        - Fix documentation for booleans and their types (#162 by Karen Etheridge)

4.19 2020-02-06 (rurban)
        - Fix typed decode memory leak (#160 by Pali).

4.18 2019-12-13 (rurban)
        - Add new method ->type_all_string (#156 by Pali).
          When type_all_string is set then encode method produce stable deterministic
          string types in result JSON.
          This can be an alternative to Cpanel::JSON::XS::Type when having
          deterministic output is required but string JSON types are enough for any
          output.
        - Move SvGETMAGIC() from encode_av() and encode_hv() to encode_sv()
          (#156 by Pali)
        - Add Math::BigInt and Math::BigFloat as recommended dependences
          (#157 by Pali and Grinnz)

4.17 2019-11-04 (rurban)
        - Add Changes tests and fixups (see #155)

4.16 2019-11-04 (rurban)
        - Use Perl_strtod instead of self-made atof (via pow), to
          minimize differences from core string-to-float conversions.
          (#154). Fixes float representation regressions (in the 1e-6
          to 1e-16 range) since 5.22.

4.15 2019-10-21 (rurban)
        - Fix more tests for nvtype long double

4.14 2019-10-15 (rurban)
        - Fix tests for nvtype long double (#153)
        - Fix PREREQ's. E.g. CentOS 7 has not Test::More anymore. (#152 by Pali)

4.13 2019-10-14 (rurban)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT allow to encode numeric values
          above 2^64 in PV slot via Math::BigInt/Float (#145, #148, #149 by Pali)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT encoder allow to pass Math::BigInt
          and Math::BigFloat objects with allow_bignum. (#147 by Pali)
        - Fix encoding floating point values above 2^64 in PV slot to JSON_TYPE_INT
          (#148, #150 by Pali)
        - Do not allow serializing objects when convert_blessed is not enabled.
          (#146 by Pali)

4.12 2019-06-11 (rurban)
        - Make encoder independent on Math::BigInt version (#140 by Pali)
        - Rethrow error from eval_sv and eval_pv() (#138, #139 by Pali),
          e.g. when Math::BigInt/BigFloat fails.
        - Fix encoding Inf and NaN from PV and NV slots to JSON_TYPE_INT
          (#137 by Pali)
        - Fix memory corruption in sv_to_ivuv() function (#136 by Pali)
        - Add new method ->require_types (#135 by Pali)
        - Fix typed json encoder conversion from scalar's PV and NV slot to
          JSON_TYPE_INT (#133, #134 by Pali)
        - Fix inconsistency with warnings in typed json encoder (#131 by Pali)
        - Fix Perl 5.8.0 support (#130 by Pali)
        - Fixed minor pod typo (#129 by sheeit)
        - Document invalid recursive callbacks or overloads (#128)

4.11 2019-03-26 (rurban)
        - Fix unicode strings with BOM corrupt ->utf8 state (#125)
          The BOM encoding effects only its very own decode call,
          not its object.

4.10 2019-03-18 (rurban)
        - Fix incr_text refcounts (#123)
        - Add incr_rest testcase (#123)
        - Fix encode_stringify string-overload refcnt problem (#124)
          "Attempt to free unreferenced scalar" with convert_blessed \ 
and overload.

4.09 2019-02-15 (rurban)
        - Add seperate allow_dupkeys property, in relaxed (#122)
        - Fixed allow_dupkeys for the XS slow path
        - Silence 2 -Wunused-value warnings
        - Fix ->unblessed_bool to produce modifiable perl structures (PR #121 \ 
by Pali)