Hello community,

here is the log from the commit of package perl-Cpanel-JSON-XS for 
openSUSE:Factory checked in at 2018-12-12 17:26:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Cpanel-JSON-XS"

Wed Dec 12 17:26:47 2018 rev:15 rq:655741 version:4.08

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes  
2018-11-12 09:40:28.721270303 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new.28833/perl-Cpanel-JSON-XS.changes
       2018-12-12 17:26:49.551003182 +0100
@@ -1,0 +2,9 @@
+Thu Dec  6 15:28:47 UTC 2018 - Stephan Kulow <co...@suse.com>
+
+- updated to 4.08
+   see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
+
+  4.08 2018-11-28 (rurban)
+          - Add unblessed_bool property (PR #118 by Pali)
+
+-------------------------------------------------------------------

Old:
----
  Cpanel-JSON-XS-4.07.tar.gz

New:
----
  Cpanel-JSON-XS-4.08.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Cpanel-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.ZHvhj4/_old  2018-12-12 17:26:50.259002282 +0100
+++ /var/tmp/diff_new_pack.ZHvhj4/_new  2018-12-12 17:26:50.263002277 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Cpanel-JSON-XS
-Version:        4.07
+Version:        4.08
 Release:        0
 %define cpan_name Cpanel-JSON-XS
 Summary:        Cpanel Fork of Json::Xs, Fast and Correct Serializing
@@ -53,10 +53,10 @@
 
 %build
 perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
-%{__make} %{?_smp_mflags}
+make %{?_smp_mflags}
 
 %check
-%{__make} test
+make test
 
 %install
 %perl_make_install

++++++ Cpanel-JSON-XS-4.07.tar.gz -> Cpanel-JSON-XS-4.08.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.07/Changes 
new/Cpanel-JSON-XS-4.08/Changes
--- old/Cpanel-JSON-XS-4.07/Changes     2018-11-02 10:05:09.000000000 +0100
+++ new/Cpanel-JSON-XS-4.08/Changes     2018-11-28 12:07:28.000000000 +0100
@@ -2,6 +2,9 @@
 
 TODO: http://stevehanov.ca/blog/index.php?id=104 compression
 
+4.08 2018-11-28 (rurban)
+        - Add unblessed_bool property (PR #118 by Pali)
+
 4.07 2018-11-02 (rurban)
         - Silence Gconvert -Wunused-result.
           gcvt returns a string, sprintf int, so suppress the retval
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.07/META.json 
new/Cpanel-JSON-XS-4.08/META.json
--- old/Cpanel-JSON-XS-4.07/META.json   2018-11-02 10:50:32.000000000 +0100
+++ new/Cpanel-JSON-XS-4.08/META.json   2018-11-28 15:25:44.000000000 +0100
@@ -4,7 +4,7 @@
       "Reini Urban <rur...@cpan.org>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 8.3506, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -48,7 +48,7 @@
          "url" : "https://github.com/rurban/Cpanel-JSON-XS";
       }
    },
-   "version" : "4.07",
+   "version" : "4.08",
    "x_contributors" : [
       "Ashley Willis <ashl...@cpan.org>",
       "Daniel Dragan <bul...@hotmail.com>",
@@ -73,5 +73,5 @@
       "Sergey Aleynikov <sergey.aleyni...@gmail.com>",
       "Syohei Yoshida <syo...@gmail.com>"
    ],
-   "x_serialization_backend" : "JSON::PP version 2.97001_04"
+   "x_serialization_backend" : "JSON::PP version 2.97001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.07/META.yml 
new/Cpanel-JSON-XS-4.08/META.yml
--- old/Cpanel-JSON-XS-4.07/META.yml    2018-11-02 10:50:32.000000000 +0100
+++ new/Cpanel-JSON-XS-4.08/META.yml    2018-11-28 15:25:44.000000000 +0100
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 8.3506, CPAN::Meta::Converter 
version 2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -23,7 +23,7 @@
   bugtracker: https://github.com/rurban/Cpanel-JSON-XS/issues
   license: http://dev.perl.org/licenses/
   repository: https://github.com/rurban/Cpanel-JSON-XS
-version: '4.07'
+version: '4.08'
 x_contributors:
   - 'Ashley Willis <ashl...@cpan.org>'
   - 'Daniel Dragan <bul...@hotmail.com>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.07/README 
new/Cpanel-JSON-XS-4.08/README
--- old/Cpanel-JSON-XS-4.07/README      2018-11-02 10:50:38.000000000 +0100
+++ new/Cpanel-JSON-XS-4.08/README      2018-11-28 15:25:46.000000000 +0100
@@ -600,6 +600,15 @@
 
         This setting has no effect when decoding JSON texts.
 
+    $json = $json->unblessed_bool ([$enable])
+    $enabled = $json->get_unblessed_bool
+            $json = $json->unblessed_bool([$enable])
+
+        If $enable is true (or missing), then "decode" will return Perl
+        non-object boolean variables (1 and 0) for JSON booleans ("true" and
+        "false"). If $enable is false, then "decode" will return
+        "Cpanel::JSON::XS::Boolean" objects for JSON booleans.
+
     $json = $json->allow_singlequote ([$enable])
     $enabled = $json->get_allow_singlequote
             $json = $json->allow_singlequote([$enable])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.07/SIGNATURE 
new/Cpanel-JSON-XS-4.08/SIGNATURE
--- old/Cpanel-JSON-XS-4.07/SIGNATURE   2018-11-02 10:50:36.000000000 +0100
+++ new/Cpanel-JSON-XS-4.08/SIGNATURE   2018-11-28 15:25:45.000000000 +0100
@@ -12,19 +12,19 @@
 not run its Makefile.PL or Build.PL.
 
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA512
+Hash: SHA256
 
 SHA256 0abb585f231403618cae65047cfb3910d018ec83951b2bc14dcef5cbc77d1151 
.appveyor.yml
 SHA256 797abf38891d61e631374ccba78b2a8a707901227012c59372f5a9b2bc867188 
.travis.yml
 SHA256 8de3540a3cd7ecc9a9dcb48975fe852c082fe17d4462f87bb72aa7cc47f083ad COPYING
-SHA256 46915b82c620a71db17703482705612c213a4a6962a019071c1f260110f3db94 Changes
+SHA256 272c063480cb84cbe62d0cfcb7f96e5ee89efd16216b89e27e76b6c6f12910fa Changes
 SHA256 04d51042e2091c8c1f22252efa7e11322d2f6c4dc60c5145aec77e2969f506c8 
MANIFEST
-SHA256 a23618eab0e667e9baf3a0a3df483b5b003f31094e74c5f070f7bc493872bed3 
META.json
-SHA256 8dca88221dea2db85b0e18bebfc81b3a640551abba7ed6a4715d5cfd792e4e2d 
META.yml
+SHA256 5702c884dfd5e88c693eca4e260a262b36e623517707ca4f74c2eb61fe579fbe 
META.json
+SHA256 a38872f0e1dad9ed2081becd2ab31553eb7803b530e759b4aee85f0add1a9d57 
META.yml
 SHA256 d718ee16b2c401c39ce7e2aa2262d4950498879764e060506ed8d667d0a4b798 
Makefile.PL
-SHA256 876887f01d67749fa335e6578ea818cf4ddf1576e551dbc74462581bc369ba3c README
-SHA256 f0d24fb73306ebc45306cbf6002ee5151f58854cbe984745887da1343c942a4f XS.pm
-SHA256 8cec00cfe08d63922d38155120f633036cfd4c1de4c0ebbbc4ee5baf57f0f327 XS.xs
+SHA256 d31515d9bc0b76a3990f312e0c33e1072ea66541231da9d7beb0a9e92b1a196f README
+SHA256 57c0b1143b936a907c09fe1711f59d0ca97ea856bc5395ca3f040a27b938e697 XS.pm
+SHA256 501b26001f9d7bb3d26386ed3e827c95272ee4c50f0fb19508cd0165395a7afb XS.xs
 SHA256 c95e4b970183cbd6d1ec9c88c37a80f12bd2b66ed6be3c008ffd578d2f622c01 
XS/Boolean.pm
 SHA256 f9a40fece0783df5c1d1d3d6f2586e61689b0445dcf10bba2916553c29d5f490 
XS/Type.pm
 SHA256 2f34a530b7ce981b0df9aacd2b6944ccf74c4a7f8bb49fde57b342663e7feb26 
bin/cpanel_json_xs
@@ -71,7 +71,7 @@
 SHA256 3da823eab55abb6dca05e8bc6111d3b59ea18c4ee270baf6413d9a45042ff48c 
t/22_comment_at_eof.t
 SHA256 2a6506fb07b27b1fef52b251d3876d23bd572596ff487d37c2f6597be554836c 
t/23_array_ctx.t
 SHA256 a8dfccba0b60b0fc91812fcfd96656e993abb74970509926d738c67a58641f01 
t/24_freeze_recursion.t
-SHA256 4c9f20a76b058e625c871a59c08114baedc12b8ad8af343807368b56da181adc 
t/25_boolean.t
+SHA256 016500c1aa6878e4329f3b7ed110a4a6aa90a80fa4350161f9b8fe107d8b9346 
t/25_boolean.t
 SHA256 138c912f350075b8a9dcd6a8810cb3c40b3e8ac11ae804ef167cc0d7d0773798 
t/26_duplicate.t
 SHA256 03a2061b4742ea591961a4ce7403feac91998c0909dbde982c465ce3d2c39706 
t/30_jsonspec.t
 SHA256 f31d07044b924b28a1329f9eac213ad903ec4b8bb6eda095a609cb8c87870439 
t/31_bom.t
@@ -437,12 +437,12 @@
 SHA256 aca6f846869ab2e4881e807739086e1535b1438bd0e23d7a021360742736a6a9 
xt/pod.t
 -----BEGIN PGP SIGNATURE-----
 
-iQEzBAEBCgAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAlvcHesACgkQtPYzOeZd
-ZBTsYAgApIRUdsiFHDmWT+ktp54m2lWle5Q6uEB5CVUtcTokS9xpVFCNyn+L4NUB
-9KPgJzf/PxKWuws0Kbhcleroy3oW4WU7onY5CV8vj0qV5AuTUuUtrOkwUrbGfLzi
-Uj/BAIzUQ+tMHvq3OhiH4xr4To39v5+U45pBclRzVygvuaU6t2Wj+GN6LEKzpE8+
-V9/0xMtUU3HrajgpZkXaD6U4PfNN8yfaXsc+/IZtgdOQyX1pTfHw4V3C7pwbmqGc
-Rc8cGj1BZQagmM6WbNsbPOp2ayg4wKR6VRkO51VstXBuVUUQIrFqjCL7e/Cc2q8R
-fDUQMuhuj09O8uvy3+NjwfH7L+CG7Q==
-=+MUT
+iQEzBAEBCAAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAlv+pWkACgkQtPYzOeZd
+ZBRHfAf+P0oWTSct+ILbGE2/X17Y4fFwKWOG0PNDlDiaHoF+tEh9tsmwziSawJ8K
+65AdjnXWmMNEdFOQjJpgRght7fgAoW7D9yv2banqMiCnVNCDfVPWTqsKUaI1zgBq
++Bk58Hl7tcTer72P8OtA+VVY9AKk3kgMJxOb9wN2zDASiMlMEsPJiC6TugKLMnuc
+vlmSDTK3LCjAoQXhNR7a2nXZaPO04NxzRXy7k6UDnte7KJUB60Uu0TgqOApgPc1n
+o4UbTTddJ+J+qsLRG+FTs7A9oWY+Z15lEdv9lgrKCNnZv6VAPN/w9Gs/O8m3TJua
+7WD7YWc38c1+0qnvNmH05zwUUzoe1w==
+=oV3y
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.07/XS.pm 
new/Cpanel-JSON-XS-4.08/XS.pm
--- old/Cpanel-JSON-XS-4.07/XS.pm       2018-11-02 10:05:30.000000000 +0100
+++ new/Cpanel-JSON-XS-4.08/XS.pm       2018-11-28 12:07:28.000000000 +0100
@@ -1,5 +1,5 @@
 package Cpanel::JSON::XS;
-our $VERSION = '4.07';
+our $VERSION = '4.08';
 our $XS_VERSION = $VERSION;
 # $VERSION = eval $VERSION;
 
@@ -701,6 +701,18 @@
 This setting has no effect when decoding JSON texts.
 
 
+=item $json = $json->unblessed_bool ([$enable])
+
+=item $enabled = $json->get_unblessed_bool
+
+    $json = $json->unblessed_bool([$enable])
+
+If C<$enable> is true (or missing), then C<decode> will return
+Perl non-object boolean variables (1 and 0) for JSON booleans
+(C<true> and C<false>). If C<$enable> is false, then C<decode>
+will return C<Cpanel::JSON::XS::Boolean> objects for JSON booleans.
+
+
 =item $json = $json->allow_singlequote ([$enable])
 
 =item $enabled = $json->get_allow_singlequote
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.07/XS.xs 
new/Cpanel-JSON-XS-4.08/XS.xs
--- old/Cpanel-JSON-XS-4.07/XS.xs       2018-11-02 10:05:30.000000000 +0100
+++ new/Cpanel-JSON-XS-4.08/XS.xs       2018-11-28 12:07:28.000000000 +0100
@@ -276,6 +276,7 @@
 #define F_ESCAPE_SLASH    0x00080000UL
 #define F_SORT_BY         0x00100000UL
 #define F_ALLOW_STRINGIFY 0x00200000UL
+#define F_UNBLESSED_BOOL  0x00400000UL
 #define F_HOOK            0x80000000UL /* some hooks exist, so slow-path 
processing */
 
 #define F_PRETTY    F_INDENT | F_SPACE_BEFORE | F_SPACE_AFTER
@@ -3600,6 +3601,8 @@
             dec->cur += 4;
             if (typesv)
               sv_setiv_mg (typesv, JSON_TYPE_BOOL);
+            if (dec->json.flags & F_UNBLESSED_BOOL)
+              return &PL_sv_yes;
             return newSVsv(MY_CXT.json_true);
           }
         else
@@ -3614,6 +3617,8 @@
             dec->cur += 5;
             if (typesv)
               sv_setiv_mg (typesv, JSON_TYPE_BOOL);
+            if (dec->json.flags & F_UNBLESSED_BOOL)
+              return &PL_sv_no;
             return newSVsv(MY_CXT.json_false);
           }
         else
@@ -4103,6 +4108,7 @@
         allow_bignum    = F_ALLOW_BIGNUM
         escape_slash    = F_ESCAPE_SLASH
         allow_stringify = F_ALLOW_STRINGIFY
+        unblessed_bool  = F_UNBLESSED_BOOL
     PPCODE:
         if (enable)
           self->flags |=  ix;
@@ -4132,6 +4138,7 @@
         get_allow_bignum    = F_ALLOW_BIGNUM
         get_escape_slash    = F_ESCAPE_SLASH
         get_allow_stringify  = F_ALLOW_STRINGIFY
+        get_unblessed_bool  = F_UNBLESSED_BOOL
     PPCODE:
         XPUSHs (boolSV (self->flags & ix));
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.07/t/25_boolean.t 
new/Cpanel-JSON-XS-4.08/t/25_boolean.t
--- old/Cpanel-JSON-XS-4.07/t/25_boolean.t      2018-01-30 14:18:43.000000000 
+0100
+++ new/Cpanel-JSON-XS-4.08/t/25_boolean.t      2018-11-28 12:07:29.000000000 
+0100
@@ -1,8 +1,16 @@
 use strict;
-use Test::More tests => 32;
+use Test::More tests => 40;
 use Cpanel::JSON::XS ();
 use Config;
 
+my $have_blessed;
+BEGIN {
+  if (eval { require Scalar::Util }) {
+    Scalar::Util->import('blessed');
+    $have_blessed = 1;
+  }
+}
+
 my $booltrue  = q({"is_true":true});
 my $boolfalse = q({"is_false":false});
 my $truefalse = "[true,false]";
@@ -11,6 +19,7 @@
 my $false = Cpanel::JSON::XS::false;
 
 my $nonref_cjson = Cpanel::JSON::XS->new->allow_nonref;
+my $unblessed_bool_cjson = Cpanel::JSON::XS->new->unblessed_bool;
 
 # from JSON::MaybeXS
 my $data = $cjson->decode('{"foo": true, "bar": false, "baz": 1}');
@@ -86,3 +95,23 @@
 
 # GH #53
 ok( !Cpanel::JSON::XS::is_bool( [] ), "[] !is_bool");
+
+
+$js = $unblessed_bool_cjson->decode($booltrue);
+SKIP: {
+  skip "no Scalar::Util in $]", 1 unless $have_blessed;
+  ok(!blessed($js->{is_true}), "->unblessed_bool for JSON true does not return 
blessed object");
+}
+cmp_ok($js->{is_true}, "==", 1, "->unblessed_bool for JSON true returns 
correct Perl bool value");
+cmp_ok($js->{is_true}, "eq", "1", "->unblessed_bool for JSON true returns 
correct Perl bool value");
+
+$js = $unblessed_bool_cjson->decode($boolfalse);
+SKIP: {
+  skip "no Scalar::Util in $]", 1 unless $have_blessed;
+  ok(!blessed($js->{is_false}), "->unblessed_bool for JSON false does not 
return blessed object");
+}
+cmp_ok($js->{is_false}, "==", 0, "->unblessed_bool for JSON false returns 
correct Perl bool value");
+cmp_ok($js->{is_false}, "eq", "", "->unblessed_bool for JSON false returns 
correct Perl bool value");
+
+is($unblessed_bool_cjson->encode($unblessed_bool_cjson->decode($truefalse)), 
$truefalse, "encode(decode(boolean)) is identity with ->unblessed_bool");
+is($cjson->encode($unblessed_bool_cjson->decode($truefalse)), $truefalse, 
"booleans decoded by ->unblessed_bool(1) are encoded by ->unblessed_bool(0) in 
the same way");


Reply via email to