./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.23, Package name: p5-Cpanel-JSON-XS-4.23, 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)

SHA1: da09f64e9483097aa657078a7cfb60ddef41bbce
RMD160: 4729cedc1d1039ea806eaf14ee2199bd3a84f780
Filesize: 247.65 KB

Version history: (Expand)


CVS history: (Expand)


   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)
   2020-08-31 20:13:29 by Thomas Klausner | Files touched by this commit (3631) | Package updated
Log message:
*: bump PKGREVISION for perl-5.32.
   2019-08-11 15:25:21 by Thomas Klausner | Files touched by this commit (3557) | Package updated
Log message:
Bump PKGREVISIONs for perl 5.30.0
   2019-06-30 22:17:50 by Nia Alarie | Files touched by this commit (1816) | Package updated
Log message:
Update packages using a search.cpan.org HOMEPAGE to metacpan.org.

The former now redirects to the latter.

This covers the most simple cases where http://search.cpan.org/dist/name
can be changed to https://metacpan.org/release/name.

Reviewed by hand to hopefully make sure no unwanted changes sneak in.
   2019-01-12 13:59:35 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 4.08

Upstream changes:
4.08 2018-11-28 (rurban)
        - Add unblessed_bool property (PR #118 by Pali)
   2018-11-24 04:49:08 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 4.07

Upstream changes:
4.07 2018-11-02 (rurban)
        - Silence Gconvert -Wunused-result.
          gcvt returns a string, sprintf int, so suppress the retval
   2018-08-26 08:13:37 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Cpanel-JSON-XS: update to 4.06.

4.06 2018-08-22 (rurban)
        - Fix overloaded eq/ne comparisons (GH #116 by demerphq, GH #117 by \ 
Graham Knopp):
          detect strings, protect from endless recursion. false is now ne \ 
"True".
          clarify eq/ne rules in the docs.
   2018-08-24 08:11:41 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Cpanel-JSON-XS: update to 4.05.

4.05 2018-08-19 (rurban)
        - Set decoded type (PR #115 by Pali)
        - Add json_type_weaken (PR #114 by Pali)
        - Fix tests for 5.6 (rurban, pali)