Fixes:
- PR #235 GH #234 Fix PE parsing regression that broke XML::Twig DTD
round-tripping: defer parameter entity parsing activation to when a
declaration handler is registered, preventing PE references from
being consumed by the empty sub-parser instead of reaching the
Default handler
- PR #232 GH #47 Add regression tests for post-root character data
routing and add ppport.h for XS backward compatibility macros
- PR #229 Add NULL check after XML_ParserCreate_MM to prevent
segfault on memory allocation failure
- PR #225 Replace deprecated indirect object syntax in
LWPExternEnt.pl (new URI(...) -> URI->new(...), etc.) for forward
compatibility with Perl 5.36+ where 'use v5.36' disables the
indirect feature. Also add 'use strict' to the file
Improvements:
- PR #233 Add downstream CI testing for XML::XPath, XML::DOM, and
XML::Twig to catch breakage in major consumers before release
Maintenance:
- PR #239 Convert t/char_end_doc.t to Test::More; all 57 test files
now consistently use Test::More
- PR #238 Expand CLAUDE.md with project conventions for generated
files, releases, and testing
- PR #231 Add test coverage for load_encoding, xml_escape edge
cases, and ContentModel API
- PR #230 Add test coverage for element_index, position_in_context,
specified_attr, and setHandlers
- PR #228 Add test coverage for recognized_string, default_current,
and original_string introspection methods
- PR #227 Add test coverage for context-tracking API (context,
current_element, in_element, within_element, depth)
- PR #226 Add test coverage for parse_start/ExpatNB non-blocking
parser API
- PR #225 Replace indirect object syntax in test files (t/decl.t,
t/parament.t, t/external_ent.t)
- PR #224 Add test coverage for IO control character rejection in
external entity paths