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 2026-06-04 18:51:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-HTML-Parser (Old)
and /work/SRC/openSUSE:Factory/.perl-HTML-Parser.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-HTML-Parser"
Thu Jun 4 18:51:49 2026 rev:43 rq:1356950 version:3.850.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-HTML-Parser/perl-HTML-Parser.changes
2024-08-02 17:26:20.962860055 +0200
+++
/work/SRC/openSUSE:Factory/.perl-HTML-Parser.new.2375/perl-HTML-Parser.changes
2026-06-04 18:51:59.651130110 +0200
@@ -1,0 +2,14 @@
+Thu May 21 10:02:44 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 3.850.0 (3.85)
+ see /usr/share/doc/packages/perl-HTML-Parser/Changes
+
+ 3.85 2026-05-19
+ - Replace deprecated uvuni_to_utf8() with uvchr_to_utf8() (GH#50)
+ (GitHub Copilot, reported by James E Keenan)
+
+ 3.84 2026-05-19
+ - Fix heap-use-after-free in _decode_entities (CVE-2026-8829) (GH#56)
+ (Paul Johnson)
+
+-------------------------------------------------------------------
Old:
----
HTML-Parser-3.83.tar.gz
New:
----
HTML-Parser-3.85.tar.gz
README.md
_scmsync.obsinfo
build.specials.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-HTML-Parser.spec ++++++
--- /var/tmp/diff_new_pack.f0Yk3W/_old 2026-06-04 18:52:00.819178289 +0200
+++ /var/tmp/diff_new_pack.f0Yk3W/_new 2026-06-04 18:52:00.823178454 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-HTML-Parser
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,15 +18,16 @@
%define cpan_name HTML-Parser
Name: perl-HTML-Parser
-Version: 3.830.0
+Version: 3.850.0
Release: 0
-# 3.83 -> normalize -> 3.830.0
-%define cpan_version 3.83
+# 3.85 -> normalize -> 3.850.0
+%define cpan_version 3.85
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: HTML parser class
URL: https://metacpan.org/release/%{cpan_name}
Source0:
https://cpan.metacpan.org/authors/id/O/OA/OALDERS/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
+Source100: README.md
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.52
@@ -69,7 +70,7 @@
allows a more conventional program structure.
%prep
-%autosetup -n %{cpan_name}-%{cpan_version}
+%autosetup -n %{cpan_name}-%{cpan_version} -p1
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path
"*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod
644
++++++ HTML-Parser-3.83.tar.gz -> HTML-Parser-3.85.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/Changes new/HTML-Parser-3.85/Changes
--- old/HTML-Parser-3.83/Changes 2024-07-30 18:42:35.000000000 +0200
+++ new/HTML-Parser-3.85/Changes 2026-05-19 23:39:05.000000000 +0200
@@ -1,5 +1,13 @@
Change history for HTML-Parser
+3.85 2026-05-19
+ - Replace deprecated uvuni_to_utf8() with uvchr_to_utf8() (GH#50)
+ (GitHub Copilot, reported by James E Keenan)
+
+3.84 2026-05-19
+ - Fix heap-use-after-free in _decode_entities (CVE-2026-8829) (GH#56)
+ (Paul Johnson)
+
3.83 2024-07-30
- fix '$\/]' in HTML::Entities::encode_entities (GH#45) (mauke)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/LICENSE new/HTML-Parser-3.85/LICENSE
--- old/HTML-Parser-3.83/LICENSE 2024-07-30 18:42:35.000000000 +0200
+++ new/HTML-Parser-3.85/LICENSE 2026-05-19 23:39:05.000000000 +0200
@@ -22,7 +22,7 @@
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -236,8 +236,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301
USA
+ along with this program; if not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@@ -264,8 +263,8 @@
program `Gnomovision' (a program to direct compilers to make passes
at assemblers) written by James Hacker.
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
+ <signature of Moe Ghoul>, 1 April 1989
+ Moe Ghoul, President of Vice
That's all there is to it!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/MANIFEST
new/HTML-Parser-3.85/MANIFEST
--- old/HTML-Parser-3.83/MANIFEST 2024-07-30 18:42:36.000000000 +0200
+++ new/HTML-Parser-3.85/MANIFEST 2026-05-19 23:39:05.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest
v6.032.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.037
Changes
LICENSE
MANIFEST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/META.json
new/HTML-Parser-3.85/META.json
--- old/HTML-Parser-3.83/META.json 2024-07-30 18:42:36.000000000 +0200
+++ new/HTML-Parser-3.85/META.json 2026-05-19 23:39:05.000000000 +0200
@@ -4,7 +4,7 @@
"Gisle Aas <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 6.032, CPAN::Meta::Converter version
2.150010",
+ "generated_by" : "Dist::Zilla version 6.037, CPAN::Meta::Converter version
2.150013",
"license" : [
"perl_5"
],
@@ -50,7 +50,7 @@
"Test::Pod" : "1.41",
"Test::Pod::Coverage" : "1.08",
"Test::Pod::Spelling::CommonMistakes" : "1.000",
- "Test::Spelling" : "0.12",
+ "Test::Spelling" : "0.17",
"Test::Version" : "2.00"
}
},
@@ -88,32 +88,32 @@
"provides" : {
"HTML::Entities" : {
"file" : "lib/HTML/Entities.pm",
- "version" : "3.83"
+ "version" : "3.85"
},
"HTML::Filter" : {
"file" : "lib/HTML/Filter.pm",
- "version" : "3.83",
+ "version" : "3.85",
"x_deprecated" : 1
},
"HTML::HeadParser" : {
"file" : "lib/HTML/HeadParser.pm",
- "version" : "3.83"
+ "version" : "3.85"
},
"HTML::LinkExtor" : {
"file" : "lib/HTML/LinkExtor.pm",
- "version" : "3.83"
+ "version" : "3.85"
},
"HTML::Parser" : {
"file" : "lib/HTML/Parser.pm",
- "version" : "3.83"
+ "version" : "3.85"
},
"HTML::PullParser" : {
"file" : "lib/HTML/PullParser.pm",
- "version" : "3.83"
+ "version" : "3.85"
},
"HTML::TokeParser" : {
"file" : "lib/HTML/TokeParser.pm",
- "version" : "3.83"
+ "version" : "3.85"
}
},
"release_status" : "stable",
@@ -128,8 +128,9 @@
"web" : "https://github.com/libwww-perl/HTML-Parser"
}
},
- "version" : "3.83",
+ "version" : "3.85",
"x_contributors" : [
+ "Andy Lester <[email protected]>",
"Antonio Radici <[email protected]>",
"Barbie <[email protected]>",
"bulk88 <[email protected]>",
@@ -151,6 +152,7 @@
"Nicholas Clark <[email protected]>",
"Nicolas R <[email protected]>",
"Olaf Alders <[email protected]>",
+ "Paul Johnson <[email protected]>",
"Salvatore Bonaccorso <[email protected]>",
"Todd Rinaldo <[email protected]>",
"Ville Skytt\u00e4 <[email protected]>",
@@ -158,8 +160,8 @@
"Yves Orton <[email protected]>",
"Zefram <[email protected]>"
],
- "x_generated_by_perl" : "v5.34.0",
- "x_serialization_backend" : "Cpanel::JSON::XS version 4.38",
+ "x_generated_by_perl" : "v5.42.2",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.40",
"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.83/META.yml
new/HTML-Parser-3.85/META.yml
--- old/HTML-Parser-3.83/META.yml 2024-07-30 18:42:36.000000000 +0200
+++ new/HTML-Parser-3.85/META.yml 2026-05-19 23:39:05.000000000 +0200
@@ -16,7 +16,7 @@
ExtUtils::MakeMaker: '6.52'
perl: '5.008'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.032, CPAN::Meta::Converter version
2.150010'
+generated_by: 'Dist::Zilla version 6.037, CPAN::Meta::Converter version
2.150013'
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.83'
+ version: '3.85'
HTML::Filter:
file: lib/HTML/Filter.pm
- version: '3.83'
+ version: '3.85'
x_deprecated: 1
HTML::HeadParser:
file: lib/HTML/HeadParser.pm
- version: '3.83'
+ version: '3.85'
HTML::LinkExtor:
file: lib/HTML/LinkExtor.pm
- version: '3.83'
+ version: '3.85'
HTML::Parser:
file: lib/HTML/Parser.pm
- version: '3.83'
+ version: '3.85'
HTML::PullParser:
file: lib/HTML/PullParser.pm
- version: '3.83'
+ version: '3.85'
HTML::TokeParser:
file: lib/HTML/TokeParser.pm
- version: '3.83'
+ version: '3.85'
requires:
Carp: '0'
Exporter: '0'
@@ -68,8 +68,9 @@
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.83'
+version: '3.85'
x_contributors:
+ - 'Andy Lester <[email protected]>'
- 'Antonio Radici <[email protected]>'
- 'Barbie <[email protected]>'
- 'bulk88 <[email protected]>'
@@ -91,12 +92,13 @@
- 'Nicholas Clark <[email protected]>'
- 'Nicolas R <[email protected]>'
- 'Olaf Alders <[email protected]>'
+ - 'Paul Johnson <[email protected]>'
- 'Salvatore Bonaccorso <[email protected]>'
- 'Todd Rinaldo <[email protected]>'
- 'Ville Skyttä <[email protected]>'
- 'yoshikazusawa <[email protected]>'
- 'Yves Orton <[email protected]>'
- 'Zefram <[email protected]>'
-x_generated_by_perl: v5.34.0
-x_serialization_backend: 'YAML::Tiny version 1.74'
+x_generated_by_perl: v5.42.2
+x_serialization_backend: 'YAML::Tiny version 1.76'
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.83/Makefile.PL
new/HTML-Parser-3.85/Makefile.PL
--- old/HTML-Parser-3.83/Makefile.PL 2024-07-30 18:42:36.000000000 +0200
+++ new/HTML-Parser-3.85/Makefile.PL 2026-05-19 23:39:05.000000000 +0200
@@ -37,7 +37,7 @@
"URI" => 0,
"strict" => 0
},
- "VERSION" => "3.83",
+ "VERSION" => "3.85",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/README new/HTML-Parser-3.85/README
--- old/HTML-Parser-3.83/README 2024-07-30 18:42:35.000000000 +0200
+++ new/HTML-Parser-3.85/README 2026-05-19 23:39:05.000000000 +0200
@@ -318,8 +318,6 @@
"utf8_mode" enabled, but as "\xE2\x99\xA5\xE2\x99\xA5" when enabled.
The later string is what you want.
- This option is only available with perl-5.8 or better.
-
$p->xml_mode
$p->xml_mode( $bool )
Enabling this attribute changes the parser to allow some XML
@@ -502,9 +500,7 @@
was between literal start and end tags ("script", "style", "xmp",
"iframe", "title", "textarea" and "plaintext").
- The Unicode character set is assumed for entity decoding. With Perl
- version 5.6 or earlier only the Latin-1 range is supported, and
- entities for characters outside the range 0..255 are left unchanged.
+ The Unicode character set is assumed for entity decoding.
This passes undef except for "text" events.
@@ -734,9 +730,8 @@
sequence of whitespace between two text events.
Unicode
- "HTML::Parser" can parse Unicode strings when running under perl-5.8 or
- better. If Unicode is passed to $p->parse() then chunks of Unicode will
- be reported to the handlers. The offset and length argspecs will also
+ If Unicode is passed to $p->parse() then chunks of Unicode will be
+ reported to the handlers. The offset and length argspecs will also
report their position in terms of characters.
It is safe to parse raw undecoded UTF-8 if you either avoid decoding
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/lib/HTML/Entities.pm
new/HTML-Parser-3.85/lib/HTML/Entities.pm
--- old/HTML-Parser-3.83/lib/HTML/Entities.pm 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/lib/HTML/Entities.pm 2026-05-19 23:39:05.000000000
+0200
@@ -136,10 +136,10 @@
=cut
use strict;
-our $VERSION = '3.83';
+our $VERSION = '3.85';
our (%entity2char, %char2entity);
-require 5.004;
+require 5.008;
require Exporter;
our @ISA = qw(Exporter);
@@ -261,160 +261,158 @@
'times' => chr(215), # times is a keyword in perl
divide => chr(247),
- ( $] > 5.007 ? (
- 'OElig;' => chr(338),
- 'oelig;' => chr(339),
- 'Scaron;' => chr(352),
- 'scaron;' => chr(353),
- 'Yuml;' => chr(376),
- 'fnof;' => chr(402),
- 'circ;' => chr(710),
- 'tilde;' => chr(732),
- 'Alpha;' => chr(913),
- 'Beta;' => chr(914),
- 'Gamma;' => chr(915),
- 'Delta;' => chr(916),
- 'Epsilon;' => chr(917),
- 'Zeta;' => chr(918),
- 'Eta;' => chr(919),
- 'Theta;' => chr(920),
- 'Iota;' => chr(921),
- 'Kappa;' => chr(922),
- 'Lambda;' => chr(923),
- 'Mu;' => chr(924),
- 'Nu;' => chr(925),
- 'Xi;' => chr(926),
- 'Omicron;' => chr(927),
- 'Pi;' => chr(928),
- 'Rho;' => chr(929),
- 'Sigma;' => chr(931),
- 'Tau;' => chr(932),
- 'Upsilon;' => chr(933),
- 'Phi;' => chr(934),
- 'Chi;' => chr(935),
- 'Psi;' => chr(936),
- 'Omega;' => chr(937),
- 'alpha;' => chr(945),
- 'beta;' => chr(946),
- 'gamma;' => chr(947),
- 'delta;' => chr(948),
- 'epsilon;' => chr(949),
- 'zeta;' => chr(950),
- 'eta;' => chr(951),
- 'theta;' => chr(952),
- 'iota;' => chr(953),
- 'kappa;' => chr(954),
- 'lambda;' => chr(955),
- 'mu;' => chr(956),
- 'nu;' => chr(957),
- 'xi;' => chr(958),
- 'omicron;' => chr(959),
- 'pi;' => chr(960),
- 'rho;' => chr(961),
- 'sigmaf;' => chr(962),
- 'sigma;' => chr(963),
- 'tau;' => chr(964),
- 'upsilon;' => chr(965),
- 'phi;' => chr(966),
- 'chi;' => chr(967),
- 'psi;' => chr(968),
- 'omega;' => chr(969),
- 'thetasym;' => chr(977),
- 'upsih;' => chr(978),
- 'piv;' => chr(982),
- 'ensp;' => chr(8194),
- 'emsp;' => chr(8195),
- 'thinsp;' => chr(8201),
- 'zwnj;' => chr(8204),
- 'zwj;' => chr(8205),
- 'lrm;' => chr(8206),
- 'rlm;' => chr(8207),
- 'ndash;' => chr(8211),
- 'mdash;' => chr(8212),
- 'lsquo;' => chr(8216),
- 'rsquo;' => chr(8217),
- 'sbquo;' => chr(8218),
- 'ldquo;' => chr(8220),
- 'rdquo;' => chr(8221),
- 'bdquo;' => chr(8222),
- 'dagger;' => chr(8224),
- 'Dagger;' => chr(8225),
- 'bull;' => chr(8226),
- 'hellip;' => chr(8230),
- 'permil;' => chr(8240),
- 'prime;' => chr(8242),
- 'Prime;' => chr(8243),
- 'lsaquo;' => chr(8249),
- 'rsaquo;' => chr(8250),
- 'oline;' => chr(8254),
- 'frasl;' => chr(8260),
- 'euro;' => chr(8364),
- 'image;' => chr(8465),
- 'weierp;' => chr(8472),
- 'real;' => chr(8476),
- 'trade;' => chr(8482),
- 'alefsym;' => chr(8501),
- 'larr;' => chr(8592),
- 'uarr;' => chr(8593),
- 'rarr;' => chr(8594),
- 'darr;' => chr(8595),
- 'harr;' => chr(8596),
- 'crarr;' => chr(8629),
- 'lArr;' => chr(8656),
- 'uArr;' => chr(8657),
- 'rArr;' => chr(8658),
- 'dArr;' => chr(8659),
- 'hArr;' => chr(8660),
- 'forall;' => chr(8704),
- 'part;' => chr(8706),
- 'exist;' => chr(8707),
- 'empty;' => chr(8709),
- 'nabla;' => chr(8711),
- 'isin;' => chr(8712),
- 'notin;' => chr(8713),
- 'ni;' => chr(8715),
- 'prod;' => chr(8719),
- 'sum;' => chr(8721),
- 'minus;' => chr(8722),
- 'lowast;' => chr(8727),
- 'radic;' => chr(8730),
- 'prop;' => chr(8733),
- 'infin;' => chr(8734),
- 'ang;' => chr(8736),
- 'and;' => chr(8743),
- 'or;' => chr(8744),
- 'cap;' => chr(8745),
- 'cup;' => chr(8746),
- 'int;' => chr(8747),
- 'there4;' => chr(8756),
- 'sim;' => chr(8764),
- 'cong;' => chr(8773),
- 'asymp;' => chr(8776),
- 'ne;' => chr(8800),
- 'equiv;' => chr(8801),
- 'le;' => chr(8804),
- 'ge;' => chr(8805),
- 'sub;' => chr(8834),
- 'sup;' => chr(8835),
- 'nsub;' => chr(8836),
- 'sube;' => chr(8838),
- 'supe;' => chr(8839),
- 'oplus;' => chr(8853),
- 'otimes;' => chr(8855),
- 'perp;' => chr(8869),
- 'sdot;' => chr(8901),
- 'lceil;' => chr(8968),
- 'rceil;' => chr(8969),
- 'lfloor;' => chr(8970),
- 'rfloor;' => chr(8971),
- 'lang;' => chr(9001),
- 'rang;' => chr(9002),
- 'loz;' => chr(9674),
- 'spades;' => chr(9824),
- 'clubs;' => chr(9827),
- 'hearts;' => chr(9829),
- 'diams;' => chr(9830),
- ) : ())
+'OElig;' => chr(338),
+'oelig;' => chr(339),
+'Scaron;' => chr(352),
+'scaron;' => chr(353),
+'Yuml;' => chr(376),
+'fnof;' => chr(402),
+'circ;' => chr(710),
+'tilde;' => chr(732),
+'Alpha;' => chr(913),
+'Beta;' => chr(914),
+'Gamma;' => chr(915),
+'Delta;' => chr(916),
+'Epsilon;' => chr(917),
+'Zeta;' => chr(918),
+'Eta;' => chr(919),
+'Theta;' => chr(920),
+'Iota;' => chr(921),
+'Kappa;' => chr(922),
+'Lambda;' => chr(923),
+'Mu;' => chr(924),
+'Nu;' => chr(925),
+'Xi;' => chr(926),
+'Omicron;' => chr(927),
+'Pi;' => chr(928),
+'Rho;' => chr(929),
+'Sigma;' => chr(931),
+'Tau;' => chr(932),
+'Upsilon;' => chr(933),
+'Phi;' => chr(934),
+'Chi;' => chr(935),
+'Psi;' => chr(936),
+'Omega;' => chr(937),
+'alpha;' => chr(945),
+'beta;' => chr(946),
+'gamma;' => chr(947),
+'delta;' => chr(948),
+'epsilon;' => chr(949),
+'zeta;' => chr(950),
+'eta;' => chr(951),
+'theta;' => chr(952),
+'iota;' => chr(953),
+'kappa;' => chr(954),
+'lambda;' => chr(955),
+'mu;' => chr(956),
+'nu;' => chr(957),
+'xi;' => chr(958),
+'omicron;' => chr(959),
+'pi;' => chr(960),
+'rho;' => chr(961),
+'sigmaf;' => chr(962),
+'sigma;' => chr(963),
+'tau;' => chr(964),
+'upsilon;' => chr(965),
+'phi;' => chr(966),
+'chi;' => chr(967),
+'psi;' => chr(968),
+'omega;' => chr(969),
+'thetasym;' => chr(977),
+'upsih;' => chr(978),
+'piv;' => chr(982),
+'ensp;' => chr(8194),
+'emsp;' => chr(8195),
+'thinsp;' => chr(8201),
+'zwnj;' => chr(8204),
+'zwj;' => chr(8205),
+'lrm;' => chr(8206),
+'rlm;' => chr(8207),
+'ndash;' => chr(8211),
+'mdash;' => chr(8212),
+'lsquo;' => chr(8216),
+'rsquo;' => chr(8217),
+'sbquo;' => chr(8218),
+'ldquo;' => chr(8220),
+'rdquo;' => chr(8221),
+'bdquo;' => chr(8222),
+'dagger;' => chr(8224),
+'Dagger;' => chr(8225),
+'bull;' => chr(8226),
+'hellip;' => chr(8230),
+'permil;' => chr(8240),
+'prime;' => chr(8242),
+'Prime;' => chr(8243),
+'lsaquo;' => chr(8249),
+'rsaquo;' => chr(8250),
+'oline;' => chr(8254),
+'frasl;' => chr(8260),
+'euro;' => chr(8364),
+'image;' => chr(8465),
+'weierp;' => chr(8472),
+'real;' => chr(8476),
+'trade;' => chr(8482),
+'alefsym;' => chr(8501),
+'larr;' => chr(8592),
+'uarr;' => chr(8593),
+'rarr;' => chr(8594),
+'darr;' => chr(8595),
+'harr;' => chr(8596),
+'crarr;' => chr(8629),
+'lArr;' => chr(8656),
+'uArr;' => chr(8657),
+'rArr;' => chr(8658),
+'dArr;' => chr(8659),
+'hArr;' => chr(8660),
+'forall;' => chr(8704),
+'part;' => chr(8706),
+'exist;' => chr(8707),
+'empty;' => chr(8709),
+'nabla;' => chr(8711),
+'isin;' => chr(8712),
+'notin;' => chr(8713),
+'ni;' => chr(8715),
+'prod;' => chr(8719),
+'sum;' => chr(8721),
+'minus;' => chr(8722),
+'lowast;' => chr(8727),
+'radic;' => chr(8730),
+'prop;' => chr(8733),
+'infin;' => chr(8734),
+'ang;' => chr(8736),
+'and;' => chr(8743),
+'or;' => chr(8744),
+'cap;' => chr(8745),
+'cup;' => chr(8746),
+'int;' => chr(8747),
+'there4;' => chr(8756),
+'sim;' => chr(8764),
+'cong;' => chr(8773),
+'asymp;' => chr(8776),
+'ne;' => chr(8800),
+'equiv;' => chr(8801),
+'le;' => chr(8804),
+'ge;' => chr(8805),
+'sub;' => chr(8834),
+'sup;' => chr(8835),
+'nsub;' => chr(8836),
+'sube;' => chr(8838),
+'supe;' => chr(8839),
+'oplus;' => chr(8853),
+'otimes;' => chr(8855),
+'perp;' => chr(8869),
+'sdot;' => chr(8901),
+'lceil;' => chr(8968),
+'rceil;' => chr(8969),
+'lfloor;' => chr(8970),
+'rfloor;' => chr(8971),
+'lang;' => chr(9001),
+'rang;' => chr(9002),
+'loz;' => chr(9674),
+'spades;' => chr(9824),
+'clubs;' => chr(9827),
+'hearts;' => chr(9829),
+'diams;' => chr(9830),
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/lib/HTML/Filter.pm
new/HTML-Parser-3.85/lib/HTML/Filter.pm
--- old/HTML-Parser-3.83/lib/HTML/Filter.pm 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/lib/HTML/Filter.pm 2026-05-19 23:39:05.000000000
+0200
@@ -4,7 +4,7 @@
require HTML::Parser;
our @ISA = qw(HTML::Parser);
-our $VERSION = '3.83';
+our $VERSION = '3.85';
sub declaration { $_[0]->output("<!$_[1]>") }
sub process { $_[0]->output($_[2]) }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/lib/HTML/HeadParser.pm
new/HTML-Parser-3.85/lib/HTML/HeadParser.pm
--- old/HTML-Parser-3.83/lib/HTML/HeadParser.pm 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/lib/HTML/HeadParser.pm 2026-05-19 23:39:05.000000000
+0200
@@ -91,7 +91,7 @@
use strict;
our $DEBUG;
#$DEBUG = 1;
-our $VERSION = '3.83';
+our $VERSION = '3.85';
=item $hp = HTML::HeadParser->new
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/lib/HTML/LinkExtor.pm
new/HTML-Parser-3.85/lib/HTML/LinkExtor.pm
--- old/HTML-Parser-3.83/lib/HTML/LinkExtor.pm 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/lib/HTML/LinkExtor.pm 2026-05-19 23:39:05.000000000
+0200
@@ -2,7 +2,7 @@
require HTML::Parser;
our @ISA = qw(HTML::Parser);
-our $VERSION = '3.83';
+our $VERSION = '3.85';
=head1 NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/lib/HTML/Parser.pm
new/HTML-Parser-3.85/lib/HTML/Parser.pm
--- old/HTML-Parser-3.83/lib/HTML/Parser.pm 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/lib/HTML/Parser.pm 2026-05-19 23:39:05.000000000
+0200
@@ -2,7 +2,7 @@
use strict;
-our $VERSION = '3.83';
+our $VERSION = '3.85';
require HTML::Entities;
@@ -482,8 +482,6 @@
C<utf8_mode> enabled, but as "\xE2\x99\xA5\xE2\x99\xA5" when enabled.
The later string is what you want.
-This option is only available with perl-5.8 or better.
-
=item $p->xml_mode
=item $p->xml_mode( $bool )
@@ -695,9 +693,7 @@
was between literal start and end tags (C<script>, C<style>,
C<xmp>, C<iframe>, C<title>, C<textarea> and C<plaintext>).
-The Unicode character set is assumed for entity decoding. With Perl
-version 5.6 or earlier only the Latin-1 range is supported, and
-entities for characters outside the range 0..255 are left unchanged.
+The Unicode character set is assumed for entity decoding.
This passes undef except for C<text> events.
@@ -958,8 +954,7 @@
=head2 Unicode
-C<HTML::Parser> can parse Unicode strings when running under
-perl-5.8 or better. If Unicode is passed to $p->parse() then chunks
+If Unicode is passed to $p->parse() then chunks
of Unicode will be reported to the handlers. The offset and length
argspecs will also report their position in terms of characters.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/lib/HTML/PullParser.pm
new/HTML-Parser-3.85/lib/HTML/PullParser.pm
--- old/HTML-Parser-3.83/lib/HTML/PullParser.pm 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/lib/HTML/PullParser.pm 2026-05-19 23:39:05.000000000
+0200
@@ -4,7 +4,7 @@
require HTML::Parser;
our @ISA = qw(HTML::Parser);
-our $VERSION = '3.83';
+our $VERSION = '3.85';
use Carp ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/lib/HTML/TokeParser.pm
new/HTML-Parser-3.85/lib/HTML/TokeParser.pm
--- old/HTML-Parser-3.83/lib/HTML/TokeParser.pm 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/lib/HTML/TokeParser.pm 2026-05-19 23:39:05.000000000
+0200
@@ -4,7 +4,7 @@
require HTML::PullParser;
our @ISA = qw(HTML::PullParser);
-our $VERSION = '3.83';
+our $VERSION = '3.85';
use Carp ();
use HTML::Entities qw(decode_entities);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/t/00-report-prereqs.dd
new/HTML-Parser-3.85/t/00-report-prereqs.dd
--- old/HTML-Parser-3.83/t/00-report-prereqs.dd 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/t/00-report-prereqs.dd 2026-05-19 23:39:05.000000000
+0200
@@ -25,7 +25,7 @@
'Test::Pod' => '1.41',
'Test::Pod::Coverage' => '1.08',
'Test::Pod::Spelling::CommonMistakes' =>
'1.000',
- 'Test::Spelling' => '0.12',
+ 'Test::Spelling' => '0.17',
'Test::Version' => '2.00'
}
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/t/entities.t
new/HTML-Parser-3.85/t/entities.t
--- old/HTML-Parser-3.83/t/entities.t 2024-07-30 18:42:36.000000000 +0200
+++ new/HTML-Parser-3.85/t/entities.t 2026-05-19 23:39:05.000000000 +0200
@@ -2,8 +2,9 @@
use warnings;
use utf8;
-use HTML::Entities qw(decode_entities encode_entities encode_entities_numeric);
-use Test::More tests => 31;
+use HTML::Entities
+ qw(_decode_entities decode_entities encode_entities
encode_entities_numeric);
+use Test::More tests => 32;
my $x = "Våre norske tegn bør æres";
@@ -96,6 +97,21 @@
is($got, (values %hash)[0], "decode_entities() decodes a key properly");
}
+# CVE-2026-8829
+# _decode_entities heap-use-after-free when the input SV is the same SV as
+# a self-referential entity value. The payload must be large enough to
+# force grow_gap() to realloc the SV's PV; the fix copies the entity value
+# into an owned buffer so repl is not left pointing at the freed allocation.
+{
+ my $prefix_a = "A" x 32;
+ my $suffix_b = "B" x 8192;
+ my %h;
+ $h{foo} = $prefix_a . "&foo;" . $suffix_b;
+ _decode_entities($h{foo}, \%h);
+ is($h{foo}, ("A" x 64) . "&foo;" . ("B" x 16384),
+ "_decode_entities() with self-aliased entity hash value");
+}
+
# From: Bill Simpson-Young <[email protected]>
# Subject: HTML entities problem with 5.11
# To: [email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/util.c new/HTML-Parser-3.85/util.c
--- old/HTML-Parser-3.83/util.c 2024-07-30 18:42:35.000000000 +0200
+++ new/HTML-Parser-3.85/util.c 2026-05-19 23:39:05.000000000 +0200
@@ -72,6 +72,7 @@
char *repl;
STRLEN repl_len;
+ char *repl_allocated = 0;
char buf[UTF8_MAXLEN];
int repl_utf8;
int high_surrogate = 0;
@@ -89,6 +90,7 @@
ent_start = s;
repl = 0;
+ repl_allocated = 0;
if (s < end && *s == '#') {
UV num = 0;
@@ -159,7 +161,7 @@
}
}
- tmp = (char*)uvuni_to_utf8((U8*)buf, num);
+ tmp = (char*)uvchr_to_utf8((U8*)buf, num);
repl = buf;
repl_len = tmp - buf;
repl_utf8 = 1;
@@ -176,16 +178,34 @@
(*s == ';' && (svp = hv_fetch(entity2char, ent_name, s -
ent_name + 1, 0)))
)
{
- repl = SvPV(*svp, repl_len);
+ char *src = SvPV(*svp, repl_len);
repl_utf8 = SvUTF8(*svp);
+ if ((SV*)*svp == sv) {
+ /* Self-aliased: hash entry SV == input SV.
+ * grow_gap() may realloc sv's PV later; copy
+ * the entity value into an owned buffer first.
+ * Freed by the repl_allocated cleanup below. */
+ Newx(repl_allocated, repl_len ? repl_len : 1, char);
+ Copy(src, repl_allocated, repl_len, char);
+ repl = repl_allocated;
+ } else {
+ repl = src;
+ }
}
else if (expand_prefix) {
char *ss = s - 1;
while (ss > ent_name) {
svp = hv_fetch(entity2char, ent_name, ss - ent_name, 0);
if (svp) {
- repl = SvPV(*svp, repl_len);
+ char *src = SvPV(*svp, repl_len);
repl_utf8 = SvUTF8(*svp);
+ if ((SV*)*svp == sv) {
+ Newx(repl_allocated, repl_len ? repl_len : 1,
char);
+ Copy(src, repl_allocated, repl_len, char);
+ repl = repl_allocated;
+ } else {
+ repl = src;
+ }
s = ss;
break;
}
@@ -197,7 +217,9 @@
}
if (repl) {
- char *repl_allocated = 0;
+ /* repl_allocated is now function-scoped; set by the
+ * named-entity self-alias path above or by the UTF8 mismatch
+ * branch below. Same cleanup in either case. */
if (s < end && *s == ';')
s++;
t--; /* '&' already copied, undo it */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/xt/author/00-compile.t
new/HTML-Parser-3.85/xt/author/00-compile.t
--- old/HTML-Parser-3.83/xt/author/00-compile.t 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/xt/author/00-compile.t 2026-05-19 23:39:05.000000000
+0200
@@ -1,8 +1,7 @@
-use 5.006;
use strict;
use warnings;
-# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.059
use Test::More;
@@ -38,7 +37,7 @@
# see L<perlfaq8/How can I capture STDERR from an external command?>
my $stderr = IO::Handle->new;
- diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} .
$str . q{'} }
+ diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g;
q{'}.$str.q{'} }
$^X, @switches, '-e', "require q[$lib]"))
if $ENV{PERL_COMPILE_TEST_DEBUG};
@@ -60,7 +59,6 @@
-is(scalar(@warnings), 0, 'no warnings found')
- or diag 'got warnings: ', ( Test::More->can('explain') ?
Test::More::explain(\@warnings) : join("\n", '', @warnings) );
+is(scalar(@warnings), 0, 'no warnings found') or diag 'got warnings: ', (
Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '',
@warnings) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/xt/author/pod-spell.t
new/HTML-Parser-3.85/xt/author/pod-spell.t
--- old/HTML-Parser-3.83/xt/author/pod-spell.t 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/xt/author/pod-spell.t 2026-05-19 23:39:05.000000000
+0200
@@ -2,8 +2,8 @@
use warnings;
use Test::More;
-# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007005
-use Test::Spelling 0.12;
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007006
+use Test::Spelling 0.17;
use Pod::Wordlist;
set_spell_cmd('aspell list');
@@ -14,6 +14,7 @@
883514
Aas
Alders
+Andy
Antonio
Attr
Attrseq
@@ -42,9 +43,11 @@
James
Jensen
Jess
+Johnson
Jon
Josef
Knop
+Lester
LinkExtor
Lukas
MSIE
@@ -57,6 +60,7 @@
Olaf
Orton
Parser
+Paul
Perrad
PullParser
Radici
@@ -78,6 +82,7 @@
Yves
Zefram
and
+andy
antonio
argspec
argspecs
@@ -105,6 +110,7 @@
nick
nicolas
olaf
+paul
salvatore
tagname
textified
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/xt/author/pod-syntax.t
new/HTML-Parser-3.85/xt/author/pod-syntax.t
--- old/HTML-Parser-3.83/xt/author/pod-syntax.t 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/xt/author/pod-syntax.t 2026-05-19 23:39:05.000000000
+0200
@@ -1,5 +1,5 @@
#!perl
-# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests
use strict; use warnings;
use Test::More;
use Test::Pod 1.41;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/xt/release/changes_has_content.t
new/HTML-Parser-3.85/xt/release/changes_has_content.t
--- old/HTML-Parser-3.83/xt/release/changes_has_content.t 2024-07-30
18:42:36.000000000 +0200
+++ new/HTML-Parser-3.85/xt/release/changes_has_content.t 2026-05-19
23:39:05.000000000 +0200
@@ -2,7 +2,7 @@
note 'Checking Changes';
my $changes_file = 'Changes';
-my $newver = '3.83';
+my $newver = '3.85';
my $trial_token = '-TRIAL';
my $encoding = 'UTF-8';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/HTML-Parser-3.83/xt/release/kwalitee.t
new/HTML-Parser-3.85/xt/release/kwalitee.t
--- old/HTML-Parser-3.83/xt/release/kwalitee.t 2024-07-30 18:42:36.000000000
+0200
+++ new/HTML-Parser-3.85/xt/release/kwalitee.t 2026-05-19 23:39:05.000000000
+0200
@@ -1,4 +1,4 @@
-# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.12
+# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.13
use strict;
use warnings;
use Test::More 0.88;
++++++ README.md ++++++
## Build Results
Current state of perl in openSUSE:Factory is

The current state of perl in the devel project build (devel:languages:perl)

++++++ _scmsync.obsinfo ++++++
mtime: 1779357765
commit: f5b2b103a446077690d90980b11f7b6b352da3e669983c8fc3ca29a78e62489c
url: https://src.opensuse.org/perl/perl-HTML-Parser
revision: f5b2b103a446077690d90980b11f7b6b352da3e669983c8fc3ca29a78e62489c
projectscmsync: https://src.opensuse.org/perl/_ObsPrj
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-05-21 12:02:45.000000000 +0200
@@ -0,0 +1 @@
+.osc