Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-HTML-Parser for openSUSE:Factory checked in at 2024-08-02 17:26:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-HTML-Parser (Old) and /work/SRC/openSUSE:Factory/.perl-HTML-Parser.new.7232 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-HTML-Parser" Fri Aug 2 17:26:06 2024 rev:42 rq:1190782 version:3.830.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-HTML-Parser/perl-HTML-Parser.changes 2024-03-28 14:05:07.765219605 +0100 +++ /work/SRC/openSUSE:Factory/.perl-HTML-Parser.new.7232/perl-HTML-Parser.changes 2024-08-02 17:26:20.962860055 +0200 @@ -1,0 +2,9 @@ +Wed Jul 31 05:28:00 UTC 2024 - Tina Müller <timueller+p...@suse.de> + +- updated to 3.830.0 (3.83) + see /usr/share/doc/packages/perl-HTML-Parser/Changes + + 3.83 2024-07-30 + - fix '$\/]' in HTML::Entities::encode_entities (GH#45) (mauke) + +------------------------------------------------------------------- Old: ---- HTML-Parser-3.82.tar.gz New: ---- HTML-Parser-3.83.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-HTML-Parser.spec ++++++ --- /var/tmp/diff_new_pack.Wod0pO/_old 2024-08-02 17:26:21.378877210 +0200 +++ /var/tmp/diff_new_pack.Wod0pO/_new 2024-08-02 17:26:21.382877375 +0200 @@ -18,10 +18,10 @@ %define cpan_name HTML-Parser Name: perl-HTML-Parser -Version: 3.820.0 +Version: 3.830.0 Release: 0 -# 3.82 -> normalize -> 3.820.0 -%define cpan_version 3.82 +# 3.83 -> normalize -> 3.830.0 +%define cpan_version 3.83 License: Artistic-1.0 OR GPL-1.0-or-later Summary: HTML parser class URL: https://metacpan.org/release/%{cpan_name} ++++++ HTML-Parser-3.82.tar.gz -> HTML-Parser-3.83.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/Changes new/HTML-Parser-3.83/Changes --- old/HTML-Parser-3.82/Changes 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/Changes 2024-07-30 18:42:35.000000000 +0200 @@ -1,5 +1,8 @@ Change history for HTML-Parser +3.83 2024-07-30 + - fix '$\/]' in HTML::Entities::encode_entities (GH#45) (mauke) + 3.82 2024-03-13 - "img lowsrc" and "body background" are not in the HTMLv5 spec (GH#43) (Jess) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/MANIFEST new/HTML-Parser-3.83/MANIFEST --- old/HTML-Parser-3.82/MANIFEST 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/MANIFEST 2024-07-30 18:42:36.000000000 +0200 @@ -1,4 +1,4 @@ -# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.031. +# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.032. Changes LICENSE MANIFEST diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/META.json new/HTML-Parser-3.83/META.json --- old/HTML-Parser-3.82/META.json 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/META.json 2024-07-30 18:42:36.000000000 +0200 @@ -4,7 +4,7 @@ "Gisle Aas <g...@cpan.org>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 6.031, CPAN::Meta::Converter version 2.150010", + "generated_by" : "Dist::Zilla version 6.032, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], @@ -88,32 +88,32 @@ "provides" : { "HTML::Entities" : { "file" : "lib/HTML/Entities.pm", - "version" : "3.82" + "version" : "3.83" }, "HTML::Filter" : { "file" : "lib/HTML/Filter.pm", - "version" : "3.82", + "version" : "3.83", "x_deprecated" : 1 }, "HTML::HeadParser" : { "file" : "lib/HTML/HeadParser.pm", - "version" : "3.82" + "version" : "3.83" }, "HTML::LinkExtor" : { "file" : "lib/HTML/LinkExtor.pm", - "version" : "3.82" + "version" : "3.83" }, "HTML::Parser" : { "file" : "lib/HTML/Parser.pm", - "version" : "3.82" + "version" : "3.83" }, "HTML::PullParser" : { "file" : "lib/HTML/PullParser.pm", - "version" : "3.82" + "version" : "3.83" }, "HTML::TokeParser" : { "file" : "lib/HTML/TokeParser.pm", - "version" : "3.82" + "version" : "3.83" } }, "release_status" : "stable", @@ -128,7 +128,7 @@ "web" : "https://github.com/libwww-perl/HTML-Parser" } }, - "version" : "3.82", + "version" : "3.83", "x_contributors" : [ "Antonio Radici <anto...@dyne.org>", "Barbie <bar...@missbarbell.co.uk>", @@ -145,6 +145,7 @@ "James Raspass <jrasp...@gmail.com>", "Jess Robinson <casta...@desert-island.me.uk>", "Jon Jensen <j...@endpoint.com>", + "Lukas Mai <lukasmai....@gmail.com>", "Michal Josef \u0160pa\u010dek <mspa...@redhat.com>", "Mike South <mso...@gmail.com>", "Nicholas Clark <n...@ccl4.org>", @@ -158,7 +159,7 @@ "Zefram <zef...@fysh.org>" ], "x_generated_by_perl" : "v5.34.0", - "x_serialization_backend" : "Cpanel::JSON::XS version 4.37", + "x_serialization_backend" : "Cpanel::JSON::XS version 4.38", "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/META.yml new/HTML-Parser-3.83/META.yml --- old/HTML-Parser-3.82/META.yml 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/META.yml 2024-07-30 18:42:36.000000000 +0200 @@ -16,7 +16,7 @@ ExtUtils::MakeMaker: '6.52' perl: '5.008' dynamic_config: 0 -generated_by: 'Dist::Zilla version 6.031, CPAN::Meta::Converter version 2.150010' +generated_by: 'Dist::Zilla version 6.032, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -33,26 +33,26 @@ provides: HTML::Entities: file: lib/HTML/Entities.pm - version: '3.82' + version: '3.83' HTML::Filter: file: lib/HTML/Filter.pm - version: '3.82' + version: '3.83' x_deprecated: 1 HTML::HeadParser: file: lib/HTML/HeadParser.pm - version: '3.82' + version: '3.83' HTML::LinkExtor: file: lib/HTML/LinkExtor.pm - version: '3.82' + version: '3.83' HTML::Parser: file: lib/HTML/Parser.pm - version: '3.82' + version: '3.83' HTML::PullParser: file: lib/HTML/PullParser.pm - version: '3.82' + version: '3.83' HTML::TokeParser: file: lib/HTML/TokeParser.pm - version: '3.82' + version: '3.83' requires: Carp: '0' Exporter: '0' @@ -68,7 +68,7 @@ bugtracker: https://github.com/libwww-perl/HTML-Parser/issues homepage: https://github.com/libwww-perl/HTML-Parser repository: https://github.com/libwww-perl/HTML-Parser.git -version: '3.82' +version: '3.83' x_contributors: - 'Antonio Radici <anto...@dyne.org>' - 'Barbie <bar...@missbarbell.co.uk>' @@ -85,6 +85,7 @@ - 'James Raspass <jrasp...@gmail.com>' - 'Jess Robinson <casta...@desert-island.me.uk>' - 'Jon Jensen <j...@endpoint.com>' + - 'Lukas Mai <lukasmai....@gmail.com>' - 'Michal Josef Å paÄek <mspa...@redhat.com>' - 'Mike South <mso...@gmail.com>' - 'Nicholas Clark <n...@ccl4.org>' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/Makefile.PL new/HTML-Parser-3.83/Makefile.PL --- old/HTML-Parser-3.82/Makefile.PL 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/Makefile.PL 2024-07-30 18:42:36.000000000 +0200 @@ -37,7 +37,7 @@ "URI" => 0, "strict" => 0 }, - "VERSION" => "3.82", + "VERSION" => "3.83", "test" => { "TESTS" => "t/*.t" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/lib/HTML/Entities.pm new/HTML-Parser-3.83/lib/HTML/Entities.pm --- old/HTML-Parser-3.82/lib/HTML/Entities.pm 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/lib/HTML/Entities.pm 2024-07-30 18:42:36.000000000 +0200 @@ -136,7 +136,7 @@ =cut use strict; -our $VERSION = '3.82'; +our $VERSION = '3.83'; our (%entity2char, %char2entity); require 5.004; @@ -443,23 +443,46 @@ } else { $ref = \$_[0]; # modify in-place } + my $regex; if (defined $_[1] and length $_[1]) { - unless (exists $subst{$_[1]}) { - # Because we can't compile regex we fake it with a cached sub + $regex = $subst{$_[1]}; + unless (defined $regex) { my $chars = $_[1]; - $chars =~ s,(?<!\\)([]/]),\\$1,g; - $chars =~ s,(?<!\\)\\\z,\\\\,; - my $code = "sub {\$_[0] =~ s/([$chars])/\$char2entity{\$1} || num_entity(\$1)/ge; }"; - $subst{$_[1]} = eval $code; + + # keep existing escapes, but also escape any unescaped special character: + # [ (technically unnecessary but included for symmetry with ]) + # ] (end of character class) + # \ (escape character) + $chars =~ s{ + # capture group 1: things to skip and keep + ( + # any escaped character + \\. + | + # either an actual POSIX character class or anything + # similar enough to trigger a regex syntax error + \[: \^? [[:lower:][:digit:]]{3,} :\] + ) + | + # capture group 2: things to be escaped + ( + [\[\]\\] + ) + }{ + defined $1 ? $1 : '\\' . $2 + }xseg; + + $regex = eval { qr/([$chars])/ }; die( $@ . " while trying to turn range: \"$_[1]\"\n " - . "into code: $code\n " + . "into code: /([$chars])/\n " ) if $@; + $subst{$_[1]} = $regex; } - &{$subst{$_[1]}}($$ref); } else { # Encode control chars, high bit chars and '<', '&', '>', ''' and '"' - $$ref =~ s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge; + $regex = qr/([^\n\r\t !\#\$%\(-;=?-~])/; } + $$ref =~ s/$regex/$char2entity{$1} || num_entity($1)/eg; $$ref; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/lib/HTML/Filter.pm new/HTML-Parser-3.83/lib/HTML/Filter.pm --- old/HTML-Parser-3.82/lib/HTML/Filter.pm 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/lib/HTML/Filter.pm 2024-07-30 18:42:36.000000000 +0200 @@ -4,7 +4,7 @@ require HTML::Parser; our @ISA = qw(HTML::Parser); -our $VERSION = '3.82'; +our $VERSION = '3.83'; sub declaration { $_[0]->output("<!$_[1]>") } sub process { $_[0]->output($_[2]) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/lib/HTML/HeadParser.pm new/HTML-Parser-3.83/lib/HTML/HeadParser.pm --- old/HTML-Parser-3.82/lib/HTML/HeadParser.pm 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/lib/HTML/HeadParser.pm 2024-07-30 18:42:36.000000000 +0200 @@ -91,7 +91,7 @@ use strict; our $DEBUG; #$DEBUG = 1; -our $VERSION = '3.82'; +our $VERSION = '3.83'; =item $hp = HTML::HeadParser->new diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/lib/HTML/LinkExtor.pm new/HTML-Parser-3.83/lib/HTML/LinkExtor.pm --- old/HTML-Parser-3.82/lib/HTML/LinkExtor.pm 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/lib/HTML/LinkExtor.pm 2024-07-30 18:42:36.000000000 +0200 @@ -2,7 +2,7 @@ require HTML::Parser; our @ISA = qw(HTML::Parser); -our $VERSION = '3.82'; +our $VERSION = '3.83'; =head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/lib/HTML/Parser.pm new/HTML-Parser-3.83/lib/HTML/Parser.pm --- old/HTML-Parser-3.82/lib/HTML/Parser.pm 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/lib/HTML/Parser.pm 2024-07-30 18:42:36.000000000 +0200 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '3.82'; +our $VERSION = '3.83'; require HTML::Entities; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/lib/HTML/PullParser.pm new/HTML-Parser-3.83/lib/HTML/PullParser.pm --- old/HTML-Parser-3.82/lib/HTML/PullParser.pm 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/lib/HTML/PullParser.pm 2024-07-30 18:42:36.000000000 +0200 @@ -4,7 +4,7 @@ require HTML::Parser; our @ISA = qw(HTML::Parser); -our $VERSION = '3.82'; +our $VERSION = '3.83'; use Carp (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/lib/HTML/TokeParser.pm new/HTML-Parser-3.83/lib/HTML/TokeParser.pm --- old/HTML-Parser-3.82/lib/HTML/TokeParser.pm 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/lib/HTML/TokeParser.pm 2024-07-30 18:42:36.000000000 +0200 @@ -4,7 +4,7 @@ require HTML::PullParser; our @ISA = qw(HTML::PullParser); -our $VERSION = '3.82'; +our $VERSION = '3.83'; use Carp (); use HTML::Entities qw(decode_entities); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/t/entities.t new/HTML-Parser-3.83/t/entities.t --- old/HTML-Parser-3.82/t/entities.t 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/t/entities.t 2024-07-30 18:42:36.000000000 +0200 @@ -3,7 +3,7 @@ use utf8; use HTML::Entities qw(decode_entities encode_entities encode_entities_numeric); -use Test::More tests => 20; +use Test::More tests => 31; my $x = "Våre norske tegn bør æres"; @@ -33,6 +33,25 @@ is(encode_entities($x, '\\'), "[24/7]\"); is(encode_entities($x, ']\\'), "[24/7]\"); +# https://github.com/libwww-perl/HTML-Parser/issues/44 +$x = '<]$a/b\c/d$'; +is(encode_entities($x, '$'), '<]$a/b\\c/d$'); +is(encode_entities($x, '\\\\/'), '<]$a/b\c/d$'); +is(encode_entities($x, '\\\\/$'), '<]$a/b\c/d$'); +is(encode_entities($x, '<\\\\]'), '<]$a/b\c/d$'); + +# POSIX character classes +$x = "<VÃ¥re123[=]"; +is(encode_entities($x, '[:punct:]'), "<VÃ¥re123[=]"); +is(encode_entities($x, '^[:^digit:]'), "<VÃ¥re123[=]"); +is(encode_entities($x, '[:lower:][:digit:]'), "<Våre123[=]"); +is(encode_entities($x, '=[:^ascii:]<>'), "<Våre123[=]"); +is(encode_entities($x, '[:Vlower:]'), "<VÃ¥re123[=]"); + +# escaped character classes +is(encode_entities($x, '\d'), "<VÃ¥re123[=]"); +is(encode_entities($x, '\d[:punct:]'), "<VÃ¥re123[=]"); + # See how well it does against rfc1866... my $ent = ''; my $plain = ''; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/xt/author/pod-spell.t new/HTML-Parser-3.83/xt/author/pod-spell.t --- old/HTML-Parser-3.82/xt/author/pod-spell.t 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/xt/author/pod-spell.t 2024-07-30 18:42:36.000000000 +0200 @@ -46,7 +46,9 @@ Josef Knop LinkExtor +Lukas MSIE +Mai Michael Michal Mike @@ -96,6 +98,7 @@ jon jraspass lib +lukasmai mchase msouth mspacek diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/HTML-Parser-3.82/xt/release/changes_has_content.t new/HTML-Parser-3.83/xt/release/changes_has_content.t --- old/HTML-Parser-3.82/xt/release/changes_has_content.t 2024-03-13 21:10:47.000000000 +0100 +++ new/HTML-Parser-3.83/xt/release/changes_has_content.t 2024-07-30 18:42:36.000000000 +0200 @@ -2,7 +2,7 @@ note 'Checking Changes'; my $changes_file = 'Changes'; -my $newver = '3.82'; +my $newver = '3.83'; my $trial_token = '-TRIAL'; my $encoding = 'UTF-8';