Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-JSON for openSUSE:Factory checked in at 2022-01-05 13:39:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-JSON (Old) and /work/SRC/openSUSE:Factory/.perl-JSON.new.1896 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-JSON" Wed Jan 5 13:39:38 2022 rev:27 rq:943743 version:4.04 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-JSON/perl-JSON.changes 2021-02-01 13:24:53.657793349 +0100 +++ /work/SRC/openSUSE:Factory/.perl-JSON.new.1896/perl-JSON.changes 2022-01-05 13:40:00.393537561 +0100 @@ -1,0 +2,9 @@ +Sat Dec 18 03:07:16 UTC 2021 - Tina M??ller <[email protected]> + +- updated to 4.04 + see /usr/share/doc/packages/perl-JSON/Changes + + 4.04 2021-12-17 + - updated backportPP with JSON::PP 4.07 + +------------------------------------------------------------------- Old: ---- JSON-4.03.tar.gz New: ---- JSON-4.04.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-JSON.spec ++++++ --- /var/tmp/diff_new_pack.6p2Mi8/_old 2022-01-05 13:40:00.709537809 +0100 +++ /var/tmp/diff_new_pack.6p2Mi8/_new 2022-01-05 13:40:00.713537812 +0100 @@ -16,13 +16,12 @@ # +%define cpan_name JSON Name: perl-JSON -Version: 4.03 +Version: 4.04 Release: 0 -%define cpan_name JSON Summary: JSON (JavaScript Object Notation) encoder/decoder License: Artistic-1.0 OR GPL-1.0-or-later -Group: Development/Libraries/Perl URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml @@ -50,11 +49,11 @@ see each backend module you use. %prep -%setup -q -n %{cpan_name}-%{version} +%autosetup -n %{cpan_name}-%{version} %build perl Makefile.PL INSTALLDIRS=vendor -make %{?_smp_mflags} +%make_build %check make test @@ -65,7 +64,6 @@ %perl_gen_filelist %files -f %{name}.files -%defattr(-,root,root,755) %doc Changes README %changelog ++++++ JSON-4.03.tar.gz -> JSON-4.04.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/.travis.yml new/JSON-4.04/.travis.yml --- old/JSON-4.03/.travis.yml 2021-01-17 19:27:58.000000000 +0100 +++ new/JSON-4.04/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,32 +0,0 @@ -dist: trusty -language: perl -perl: - - "5.8" - - "5.24" -matrix: - include: - - perl: 5.8 - env: JSON_XS_VERSION=4.00 - - perl: 5.8 - env: JSON_XS_VERSION=3.02 - - perl: 5.8 - env: JSON_XS_VERSION=2.34 - - perl: 5.8 - env: JSON_PP_VERSION=2.97001 - - perl: 5.8 - env: JSON_PP_VERSION=2.27400 - - perl: 5.8 - env: JSON_PP_VERSION=2.27101 - - perl: 5.8 - env: CPANEL_JSON_XS_VERSION=3.0218 - - perl: 5.8 - env: CPANEL_JSON_XS_VERSION=4.08 -before_install: - - test $JSON_PP_VERSION && cpanm -n JSON::XS@$JSON_XS_VERSION || true - - test $JSON_XS_VERSION && cpanm -n JSON::XS@$JSON_XS_VERSION || true - - test $CPANEL_JSON_XS_VERSION && cpanm -n Cpanel::JSON::XS@$CPANEL_JSON_XS_VERSION || true -script: - - if test ! $JSON_PP_VERSION && test ! $JSON_XS_VERSION && test ! $CPANEL_JSON_XS_VERSION; then perl Makefile.PL && PERL_JSON_BACKEND=JSON::backportPP make test; else true; fi - - if test $JSON_PP_VERSION; then perl Makefile.PL && PERL_JSON_BACKEND=JSON::PP make test; else true; fi - - if test $JSON_XS_VERSION; then perl Makefile.PL && PERL_JSON_BACKEND=JSON::XS make test; else true; fi - - if test $CPANEL_JSON_XS_VERSION; then perl Makefile.PL && PERL_JSON_BACKEND=Cpanel::JSON::XS make test; else true; fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/Changes new/JSON-4.04/Changes --- old/JSON-4.03/Changes 2021-01-24 01:10:16.000000000 +0100 +++ new/JSON-4.04/Changes 2021-12-17 10:55:28.000000000 +0100 @@ -1,5 +1,8 @@ Revision history for Perl extension JSON. +4.04 2021-12-17 + - updated backportPP with JSON::PP 4.07 + 4.03 2021-01-24 - corrected one typo in POD (James E Keenan) - updated backportPP with JSON::PP 4.06 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/MANIFEST new/JSON-4.04/MANIFEST --- old/JSON-4.03/MANIFEST 2021-01-24 01:11:02.000000000 +0100 +++ new/JSON-4.04/MANIFEST 2021-12-17 10:57:42.000000000 +0100 @@ -1,4 +1,3 @@ -.travis.yml Changes eg/bench_decode.pl eg/bench_encode.pl @@ -38,6 +37,7 @@ t/116_incr_parse_fixed.t t/117_numbers.t t/118_boolean_values.t +t/119_incr_parse_utf8.t t/11_pc_expo.t t/12_blessed.t t/13_limit.t @@ -62,6 +62,7 @@ t/gh_28_json_test_suite.t t/gh_29_trailing_false_value.t t/rt_116998_wrong_character_offset.t +t/rt_122270_is_bool_for_obsolete_xs_boolean.t t/rt_90071_incr_parse.t t/x00_load.t t/x02_error.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/META.json new/JSON-4.04/META.json --- old/JSON-4.03/META.json 2021-01-24 01:11:02.000000000 +0100 +++ new/JSON-4.04/META.json 2021-12-17 10:57:42.000000000 +0100 @@ -48,6 +48,6 @@ "url" : "https://github.com/makamaka/JSON" } }, - "version" : "4.03", - "x_serialization_backend" : "JSON version 4.03" + "version" : "4.04", + "x_serialization_backend" : "JSON version 4.04" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/META.yml new/JSON-4.04/META.yml --- old/JSON-4.03/META.yml 2021-01-24 01:11:02.000000000 +0100 +++ new/JSON-4.04/META.yml 2021-12-17 10:57:42.000000000 +0100 @@ -24,5 +24,5 @@ resources: bugtracker: https://github.com/makamaka/JSON/issues repository: https://github.com/makamaka/JSON -version: '4.03' +version: '4.04' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/lib/JSON/backportPP/Boolean.pm new/JSON-4.04/lib/JSON/backportPP/Boolean.pm --- old/JSON-4.03/lib/JSON/backportPP/Boolean.pm 2021-01-24 00:58:20.000000000 +0100 +++ new/JSON-4.04/lib/JSON/backportPP/Boolean.pm 2021-12-17 10:53:01.000000000 +0100 @@ -11,7 +11,7 @@ fallback => 1, ); -$JSON::backportPP::Boolean::VERSION = '4.06'; +$JSON::backportPP::Boolean::VERSION = '4.07'; 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/lib/JSON/backportPP.pm new/JSON-4.04/lib/JSON/backportPP.pm --- old/JSON-4.03/lib/JSON/backportPP.pm 2021-01-24 00:58:20.000000000 +0100 +++ new/JSON-4.04/lib/JSON/backportPP.pm 2021-12-17 10:53:01.000000000 +0100 @@ -15,7 +15,7 @@ use Carp (); #use Devel::Peek; -$JSON::backportPP::VERSION = '4.06'; +$JSON::backportPP::VERSION = '4.07'; @JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json); @@ -1566,6 +1566,11 @@ } } + unless ( $coder->get_utf8 ) { + utf8::upgrade( $self->{incr_text} ); + utf8::decode( $self->{incr_text} ); + } + my ($obj, $offset) = $coder->PP_decode_json( $self->{incr_text}, 0x00000001 ); push @ret, $obj; use bytes; @@ -1773,10 +1778,6 @@ use JSON; -=head1 VERSION - - 4.05 - =head1 DESCRIPTION JSON::PP is a pure perl JSON decoder/encoder, and (almost) compatible to much diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/lib/JSON.pm new/JSON-4.04/lib/JSON.pm --- old/JSON-4.03/lib/JSON.pm 2021-01-24 01:09:53.000000000 +0100 +++ new/JSON-4.04/lib/JSON.pm 2021-12-17 10:54:49.000000000 +0100 @@ -9,7 +9,7 @@ @JSON::EXPORT = qw(from_json to_json jsonToObj objToJson encode_json decode_json); BEGIN { - $JSON::VERSION = '4.03'; + $JSON::VERSION = '4.04'; $JSON::DEBUG = 0 unless (defined $JSON::DEBUG); $JSON::DEBUG = $ENV{ PERL_JSON_DEBUG } if exists $ENV{ PERL_JSON_DEBUG }; } @@ -1595,7 +1595,7 @@ constant string C<JSON> to distinguish it from other serialisers. The C<FREEZE> method can return any number of values (i.e. zero or -more). These values and the paclkage/classname of the object will then be +more). These values and the package/classname of the object will then be encoded as a tagged JSON value in the following format: ("classname")[FREEZE return values...] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/t/107_allow_singlequote.t new/JSON-4.04/t/107_allow_singlequote.t --- old/JSON-4.03/t/107_allow_singlequote.t 2021-01-24 00:58:58.000000000 +0100 +++ new/JSON-4.04/t/107_allow_singlequote.t 2021-12-17 10:53:01.000000000 +0100 @@ -1,6 +1,6 @@ use Test::More; -use strict; +use strict; use warnings; BEGIN { plan tests => 4 }; BEGIN { $ENV{PERL_JSON_BACKEND} ||= "JSON::backportPP"; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/t/119_incr_parse_utf8.t new/JSON-4.04/t/119_incr_parse_utf8.t --- old/JSON-4.03/t/119_incr_parse_utf8.t 1970-01-01 01:00:00.000000000 +0100 +++ new/JSON-4.04/t/119_incr_parse_utf8.t 2021-12-17 10:53:01.000000000 +0100 @@ -0,0 +1,77 @@ +use strict; +use warnings; +use Test::More tests => 24; + +use utf8; +BEGIN { $ENV{PERL_JSON_BACKEND} ||= "JSON::backportPP"; } + +use JSON; +use Encode; +use charnames qw< :full >; + +use vars qw< @vs >; + +############################################################ +### These first tests mimic the ones in `t/001_utf8.t` ### +############################################################ + +scalar eval { JSON->new->allow_nonref (1)->utf8 (1)->incr_parse ('"??"') }; +like $@, qr/malformed UTF-8/; + +ok (JSON->new->allow_nonref (1)->incr_parse ('"??"') eq "??"); +ok (JSON->new->allow_nonref (1)->incr_parse ('"\u00fc"') eq "??"); +ok (JSON->new->allow_nonref (1)->incr_parse ('"\ud801\udc02' . "\x{10204}\"") eq "\x{10402}\x{10204}"); +ok (JSON->new->allow_nonref (1)->incr_parse ('"\"\n\\\\\r\t\f\b"') eq "\"\012\\\015\011\014\010"); + + +my $JSON_TXT = <<JSON_TXT; +{ "a": "1" } +{ "b": "\N{BULLET}" } +{ "c": "3" } +JSON_TXT + +####################### +### With '->utf8' ### +####################### + +@vs = eval { JSON->new->utf8->incr_parse( $JSON_TXT ) }; +like $@, qr/Wide character in subroutine entry/; + + +@vs = eval { JSON->new->utf8->incr_parse( encode 'UTF-8' => $JSON_TXT ) }; + +ok( !$@ ); +ok( scalar @vs == 3 ); + +is_deeply( \@vs, [ { a => "1" }, { b => "\N{BULLET}" }, { c => "3" } ] ); +is_deeply( $vs[0], { a => "1" } ); +is_deeply( $vs[1], { b => "\N{BULLET}" } ); +is_deeply( $vs[2], { c => "3" } ); + + +# Double-Encoded => "You Get What You Ask For" + +@vs = eval { JSON->new->utf8->incr_parse( encode 'UTF-8' => ( encode 'UTF-8' => $JSON_TXT ) ) }; + +ok( !$@ ); +ok( scalar @vs == 3 ); + +is_deeply( \@vs, [ { a => "1" }, { b => "\x{E2}\x{80}\x{A2}" }, { c => "3" } ] ); +is_deeply( $vs[0], { a => "1" } ); +is_deeply( $vs[1], { b => "\x{E2}\x{80}\x{A2}" } ); +is_deeply( $vs[2], { c => "3" } ); + + +########################## +### Without '->utf8' ### +########################## + +@vs = eval { JSON->new->incr_parse( $JSON_TXT ) }; + +ok( !$@ ); +ok( scalar @vs == 3 ); + +is_deeply( \@vs, [ { a => "1" }, { b => "\N{BULLET}" }, { c => "3" } ] ); +is_deeply( $vs[0], { a => "1" } ); +is_deeply( $vs[1], { b => "\N{BULLET}" } ); +is_deeply( $vs[2], { c => "3" } ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JSON-4.03/t/rt_122270_is_bool_for_obsolete_xs_boolean.t new/JSON-4.04/t/rt_122270_is_bool_for_obsolete_xs_boolean.t --- old/JSON-4.03/t/rt_122270_is_bool_for_obsolete_xs_boolean.t 1970-01-01 01:00:00.000000000 +0100 +++ new/JSON-4.04/t/rt_122270_is_bool_for_obsolete_xs_boolean.t 2021-12-17 10:53:01.000000000 +0100 @@ -0,0 +1,33 @@ +# copied over from JSON::XS and modified to use JSON + +use strict; +use warnings; +use Test::More; +BEGIN { plan tests => 10 }; + +BEGIN { $ENV{PERL_JSON_BACKEND} ||= "JSON::backportPP"; } + +use utf8; +use JSON; + +SKIP: { + skip "no JSON::XS < 3", 5 unless eval { require JSON::XS; JSON::XS->VERSION < 3 }; + + my $false = JSON::XS::false(); + ok (JSON::is_bool $false); + ok (++$false == 1); + ok (!JSON::is_bool $false); + ok (!JSON::is_bool "JSON::Boolean"); + ok (!JSON::is_bool {}); # GH-34 +} + +SKIP: { + skip "no Types::Serialiser 0.01", 5 unless eval { require JSON::XS; JSON::XS->VERSION(3.00); require Types::Serialiser; Types::Serialiser->VERSION == 0.01 }; + + my $false = JSON::XS::false(); + ok (JSON::is_bool $false); + ok (++$false == 1); + ok (!JSON::is_bool $false); + ok (!JSON::is_bool "JSON::Boolean"); + ok (!JSON::is_bool {}); # GH-34 +}
