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&aring;re norske tegn b&oslash;r &#230res";
 
@@ -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

![Factory build 
results](https://br.opensuse.org/status/openSUSE:Factory/perl-HTML-Parser/standard)

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

![Devel project build 
results](https://br.opensuse.org/status/devel:languages:perl/perl-HTML-Parser)



++++++ _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

Reply via email to