./textproc/p5-XML-Parser, Perl extension interface to James Clarks XML parser, expat

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ] [ Image Add to tracker ]


Branch: CURRENT, Version: 2.54, Package name: p5-XML-Parser-2.54, Maintainer: bad

This module provides ways to parse XML documents. It is built on top of
XML::Parser::Expat, which is a lower level interface to James Clark's
expat library.


Required to run:
[lang/perl5]

Master sites: (Expand)

Filesize: 310.813 KB

Version history: (Expand)


CVS history: (Expand)


   2026-03-29 11:16:57 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-XML-Parser: update to 2.54.

2.54 2026-03-27 (by Todd Rinaldo)

  Fixes:
    - PR #196 Plug XS memory leaks on error paths in Expat.xs
      (externalEntityRef, parse_stream, ParserCreate)
    - PR #204 Add defensive NULL checks in Expat.xs to prevent crashes
      on memory exhaustion and undefined behavior on short input lines
    - PR #203 Add explicit package main after inline package declarations
      in test files to clarify scope

  Improvements:
    - PR #207 GH #205 Add GitHub Actions workflow to auto-create GitHub
      Releases on tag push, enabling downstream notification via
      GitHub's release watch
    - PR #209 Update AUTHORS POD in Parser.pm and Expat.pm to reflect
      full maintainer history
    - PR #210 Add CI badge to POD via =for markdown directive so it
      survives README.md regeneration
    - Rename README to README.md and regenerate from POD

  Maintenance:
    - PR #208 Modernize 10 legacy test files from print-ok style to
      Test::More (cdata, finish, deep_nesting, xml_escape, partial,
      char_end_doc, current_length, combine_chars, utf8_stream, defaulted)

2.53 2026-03-25 (by Todd Rinaldo)

  Fixes:
    - PR #202 GH #201 Fix detection of bare glob filehandles (*FH) in
      Expat::parse; previously only glob references were recognized

  Maintenance:
    - PR #198 Modernize encoding.t from print-ok style to Test::More
      and expand coverage
    - PR #197 Modernize styles.t from Test to Test::More and expand
      coverage
    - Ignore Mac OS metadata files (.DS_Store) in .gitignore

2.52 2026-03-24 (by Todd Rinaldo)

  Fixes:
    - PR #193 Restrict Subs style to package-local subs only; previously
      UNIVERSAL::can() walked the inheritance tree, potentially dispatching
      to inherited base class methods on element names like <connect/>

  Improvements:
    - PR #195 Require perl 5.008 minimum and remove pre-5.008 compat code
      (dead polyfills, tied-handle branch, ExtUtils::Liblist guard)

  Documentation:
    - PR #176 GH #173 Explain why the empty sub-parser parse is needed in
      externalEntityRef for parameter entity processing

  Maintenance:
    - PR #194 Remove dead code: Built_In_Styles hash, $have_File_Spec,
      newSVpvn/ERRSV compat guards
    - PR #192 GH #190 Log expat version in all CI jobs for easier
      diagnosis of platform-specific failures
    - Add AI_POLICY.md for transparency
   2026-03-26 15:30:31 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-XML-Parser: update to 2.51.

2.51 2026-03-20 (by Todd Rinaldo)

  Fixes:
    - PR #184 GH #182 Fix compile warnings from Fedora gcc: unhandled enum
      value in switch and uninitialized variables in parse_stream
    - PR #186 GH #183 Add explicit case labels for XML_CTYPE_EMPTY and
      XML_CTYPE_ANY in generate_model switch to fix -Wswitch on BSD/clang
    - PR #175 GH #174 Add XML_DTD/XML_GE compile-time guards to AllocTracker
      and BillionLaughs XS bindings to fix warnings when expat lacks these flags
    - PR #187 GH #185 Require proper declaration in AllocTracker feature
      detection to prevent implicit function declaration on BSD

  Improvements:
    - PR #189 GH #188 Add tests for XS functions modified in PR #184 covering
      XML_ErrorString, XML_GetBase/XML_SetBase, and generate_model

  Maintenance:
    - PR #181 GH #180 Add Fedora 43 container job to CI test matrix
    - PR #178 Add BSD testing (FreeBSD, OpenBSD, NetBSD) to CI
    - PR #179 Add no-lwp CI job to validate test suite without LWP::UserAgent
    - Update MANIFEST

2.49 2026-03-19 (by Todd Rinaldo)

  Improvements:
    - PR #171 Expose expat library version at runtime via expat_version()
      and expat_version_info() class methods on XML::Parser::Expat
    - PR #169 GH #168 Expose Expat 2.7.2 AllocTracker security APIs
      (AllocTrackerMaximumAmplification, AllocTrackerActivationThreshold)

  Maintenance:
    - PR #170 Clean up build configuration: remove dead CAPI code from
      Makefile.PL and Expat/Makefile.PL, add test dependencies to cpanfile
   2026-03-19 16:22:30 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
p5-XML-Parser: update to 2.48.

Security fix release.

2.48 2026-03-18 (by Todd Rinaldo)

  Fixes:
    - GH #39 Fix off-by-one heap buffer overflow in st_serial_stack growth check \ 
(CVE-2006-10003)
    - GH #64 Fix buffer overflow in parse_stream when filehandle has :utf8 layer \ 
(CVE-2006-10002)
    - GH #27 Prevent symbol table auto-vivification in Expat::parse
    - GH #30 Set UTF-8 flag on sysid in ExternEnt handler and fix Debug style \ 
for non-ASCII chars
    - GH #36 Prevent position overflow for large files in line/column/error paths
    - GH #41 Fix xml_escape to escape all occurrences of quote characters
    - GH #44 Fix lexical filehandle handling in ExternEnt handler return values
    - GH #45 Clean up compiler warnings in Expat.xs
    - GH #47 Fix routing of character data after root element to Char handler
    - GH #48 Fix current_byte overflow for large XML files on 32-bit perl
    - GH #50 Propagate xpcroak errors in Subs style instead of swallowing them
    - GH #53 Fix parameter entity references in internal DTD subset breaking \ 
handler dispatch
    - GH #65 Support standard LIBS and INC options in Makefile.PL; propagate to \ 
Expat/Makefile.PL
    - GH #69 Auto-detect multiarch library paths for expat
    - GH #72 Localize $_ in Style::Stream to avoid read-only modification
    - GH #76 Use system tmpdir for temp files in Devel::CheckLib
    - GH #83 Use pkg-config to auto-detect expat in non-standard locations
    - GH #90 Improve "Couldn't find your C compiler" error message
    - GH #100 Clean up MSVC assertlib .obj files on Windows
    - GH #103 Skip -rpath on Mac OS X 10.4 and earlier
    - GH #106 Fix freeing of the content model using XML_FreeContentModel
    - GH #148 XML-escape attribute values in Stream style default output
    - GH #149 Restore Base after parsefile() to prevent context pollution on reuse
    - GH #152 Fix SYNOPSIS handler name Characters -> Text in Stream.pm
    - GH #153 Fix variable interpolation in xpcarp() and setHandlers() error messages
    - GH #157 Restore Perl 5.8 and 5.10 test compatibility
    - GH #160 Initialize st_serial_stacksize after allocation in Expat.xs
    - GH #162 Replace local $^W=0 with no warnings 'numeric' in Expat.pm
    - GH #164 Add missing ENTER/SAVETMPS scope to notationDecl callback
    - GH #165 Replace each() with keys() to avoid iterator side effects
    - GH #166 Remove no-op study() call in xml_escape

  Improvements:
    - GH #38 Add G_VOID flag to all void-context perl_call_sv/method/pv calls
    - GH #46 Add UseForeignDTD option for documents without DOCTYPE
    - GH #49 Add current_length method to XML::Parser::Expat
    - GH #54 Add hint about unescaped characters for invalid token errors
    - GH #67 Add NoLWP to expat capability probes for consistent skip logic
    - GH #70 Enhance parse exceptions with XML context when ErrorContext is set
    - GH #71 Move encoding maps from PERL5LIB to File::ShareDir
    - GH #73 XMLDecl handler now returns "yes"/"no" for \ 
standalone attribute
    - GH #101 Make LWP::UserAgent a recommended dependency, not required
    - GH #102 Expose expat security APIs: BillionLaughs and ReparseDeferral
    - GH #167 Modernize Perl pragmas across modules

  Documentation:
    - GH #55 Add ERROR HANDLING section and improve parse error documentation
    - GH #56 Clarify Char handler splitting behavior with example and docs
    - GH #74 Document predefined entity expansion in Tree style
    - GH #161 Fix Standalone parameter description in README

  Maintenance:
    - GH #25 Add Debug style multibyte character regression test
    - GH #28 Add tests for globref and lexical filehandle return values in \ 
ExternEnt handler
    - GH #31 Add encoding tests for windows-1251, koi8-r, windows-1255, and ibm866
    - GH #51 Skip external DTD tests when expat lacks parameter entity support
    - GH #150 Replace Artistic-2.0 LICENSE with correct Perl dual license
    - GH #151 Modernize xpcroak.t from Test.pm to Test::More
    - GH #155 Modernize CI workflow inspired by YAML-Syck
    - GH #159 Install libexpat1-dev in perl-tester CI containers
    - GH #163 Replace defunct Travis CI badge with GitHub Actions
    - GH #168 Update META_MERGE URLs to cpan-authors organization
    - Integrate Windows into overall CI test run
   2025-07-04 10:49:39 by Thomas Klausner | Files touched by this commit (2519)
Log message:
*: bump for perl 5.42.0
   2024-11-16 13:08:07 by Thomas Klausner | Files touched by this commit (2504)
Log message:
*: recursive bump for perl 5.40
   2024-05-31 15:51:55 by Amitai Schleier | Files touched by this commit (1)
Log message:
p5-XML-Parser: Devel::CheckLib is a TOOL_DEPENDS.
   2024-04-25 19:59:47 by Amitai Schleier | Files touched by this commit (3)
Log message:
p5-XML-Parser: use pkgsrc p5-Devel-CheckLib.
   2024-01-04 12:23:19 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-XML-Parser: update to 2.47.

2.47 2023-12-28 (by Todd Rinaldo)
    - #84 use $fh instead of $foo
	- #85 Fix typo in documentation
	- #89 Devel::CheckLib to from 0.99 -> 1.14
	- Devel::CheckLibn 1.16
	- #91 POD fix for verbatim text
	- #97 Add a LICENSE file
	- #94 Don't ship Expat/Makefile
	- Various github workflow improvements. Windows is still not working.