2.0007 Wed 17 Oct 18:38:37 IST 2012
- Fix for build failures on Windows with Microsoft Visual C++.
- https://rt.cpan.org/Ticket/Display.html?id=80229
- Thanks to Desmond Daignault for the report and an initial patch.
- Patch modified by Shlomi Fish
2.0006 Sat 13 Oct 22:27:54 IST 2012
- When xml2-config returns several paths, the configuration failed.
Fixed that.
- https://rt.cpan.org/Public/Bug/Display.html?id=80167
- Thanks to VOVKASM for the report and fix.
2.0005 Sat 13 Oct 13:18:48 IST 2012
- Added t/style-trailing-space.t and removed trailing space.
- Add a check for the existence of included C headers (*.h) files
in Makefile.PL to avoid failed compilations.
- Using Devel::CheckLib.
- Thanks to its maintainers!
2.0004 Tue 7 Aug 23:04:55 IDT 2012
- Add a way to specify a different compiler to be used in the
"Makefile" by calling Makefile.PL with the CC environment variable
set to the path to the alternate compiler.
- This way we can use
in order to compile faster.
- LibXML.pm (_clone): Fix typo in line_numbers handling.
- Thanks to Bernhard Reutner-Fischer for the report and fix.
2.0003 Fri 27 Jul 17:11:21 IDT 2012
- Patch to a potential NULL dereference in xpath.c.
- Thanks to Ville Skytt
- Fix NodeList::item() calling a 1-indxed array reference.
- See:
- https://bitbucket.org/shlomif/perl-xml-libxml/pull-request/18
- Thanks to Tim Brody
- Add the scripts/tag-release.pl script to tag a release using
Mercurial.
2.0002 Sun Jul 8 18:09:13 IDT 2012
- Applied spelling fixes correction patch by
Ville Skytt
- Thanks, Ville!
from 1.96nb1 to 2.00.01 (upstream 2.0001).
Upstream changes:
2.0001 Wed Jun 20 19:40:05 IDT 2012
- Remove the leftover perl-libxml-libxml.h from the distribution.
- https://rt.cpan.org/Ticket/Display.html?id=77924
- Thanks to Martin Mann for the report.
2.0000 Tue Jun 19 23:04:23 IDT 2012
- Fix warnings that appear when compiling using the clang C compiler by
default.
- https://rt.cpan.org/Ticket/Display.html?id=77802
- Thanks to duvny for the report, and to seldon, doy and Zefram
for their assistance in fixing the warnings.
- Fix tests and run-time errors when Hash::FieldHash is installed
by no longer using Hash::FieldHash.
- https://rt.cpan.org/Ticket/Display.html?id=77576
- Thanks to hsk@fli-leibniz.de for reporting it, and to
Father Chrysostomos ( http://search.cpan.org/~sprout/ ) and
Mons Anderson for some diagnosis.
1.99 Thu May 31 10:21:23 IDT 2012
- Apply a patch from Mons Anderson ( mons@cpan.org ) for fixing the
overloading.
- t/62overload.t
- Thanks to Mons.
- Fix test failures (and general functionality) on 64-bit big endian
platforms
- https://rt.cpan.org/Ticket/Display.html?id=77340
- Thanks to Gregor Herrmann and Niko Tyni from the
Debian Perl group.
1.98 Sun May 13 21:02:14 IDT 2012
- Make sure parse_string() and load_xml() also accept references to
strings (to avoid unnecessary copying).
- See: https://rt.cpan.org/Ticket/Display.html?id=64051
1.97 Mon Apr 30 20:31:24 IDT 2012
- Apply a test and a fix to correct keep_blanks having no effect on
parse_balanced_chunk.
- fixes https://rt.cpan.org/Ticket/Display.html?id=76696
- Add t/30keep_blanks.t .
- Thanks to SREZIC for the report, the test and the fix.
1.96 Fri Mar 16 21:01:09 IST 2012
- Apply a patch to add leading minus signs to the commands of
install_sax_driver.
- This makes the make process succeed even if they fail.
- Fixes https://rt.cpan.org/Public/Bug/Display.html?id=75007
- Thanks to POPEL for the report, and to Petr Pajas for the patch.
- Apply a patch from Tim Brody to skip_all on
t/49callbacks_returning_undef.t when URI.pm's version is below 1.35.
- Thanks to Tim Brody for the patch.
- Fixes the problem reported in http://www.city-fan.org/tips/PaulHowarth/Blog/2011-09-06.
1.95 Tue Mar 6 10:35:26 IST 2012
- Got rid of a broken test (at least with recent libxml2s) in
t/03doc.t :
- https://rt.cpan.org/Ticket/Display.html?id=75403
- The problem was that the test tested for an undefined XML
namespace, a behaviour which was changed in a recent libxml2
release.
- Thanks to vcizek for the report.
1.94 Sat Mar 3 22:05:18 IST 2012
- Fix XML::LibXML::Element tests for ineqaulity with == and eq.
- Fixes https://rt.cpan.org/Ticket/Display.html?id=75505 .
- Thanks to Mark Overmeer for the report and for a preliminary patch
to t/71overload.t .
1.93 Mon Feb 27 11:15:50 IST 2012
- Fix XML::LibXML::Element comparision with == and eq.
- Fixes https://rt.cpan.org/Ticket/Display.html?id=75257 ,
https://rt.cpan.org/Ticket/Display.html?id=75293 ,
https://rt.cpan.org/Ticket/Display.html?id=75259 .
- Thanks to Toby Inkster for a preliminary patch (that was modified by
me) and to the various people who reported the problem.
1.92 Tue Feb 21 19:00:48 IST 2012
- Fix for test failure on perls < 5.10.
- Fixes https://rt.cpan.org/Public/Bug/Display.html?id=75195
- Thanks to Paul for the report, and for a patch that was not
accepted.
1.91 Tue Feb 21 13:57:54 IST 2012
- Overload hash dereferencing on XML::LibXML::Elements, to provide
access to the element's attributes.
- See XML::LibXML::AttributeHash for details.
- Thanks to Toby Inkster.
- Pull some commits from Toby Inkster to add more convenient methods
to XML::LibXML::NodeList such as sort, map, grep, etc.
- https://bitbucket.org/shlomif/perl-xml-libxml/pull-request/11/xml-libxml-nodelist-improvements
- Thanks, Toby!
- Printed some warnings regardless if DEBUG is on.
- Thanks to http://search.cpan.org/~mstrout/ for the suggestion.
1.90 Sun Jan 8 20:57:58 IST 2012
- Pull a commit from Aaron Crange to fix compilation bugs in Devel.xs:
- local variable declarations must be in the PREINIT section,
not `CODE`, at least for some compiler/OS combinations.
- Thanks, Aaron!
1.89 Sat Dec 24 09:46:26 IDT 2011
- Apply a patch with spelling fixes by Kevin Lyda :
- https://rt.cpan.org/Public/Bug/Display.html?id=71403
- Thanks to Kevin.
- Apply a pull request by ElDiablo with the implementation of
lib/XML/LibXML/Devel.pm .
- Adjust the Win32 Build Instructions in the README file.
- Thanks to Christopher J. Madsen.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
pkgsrc changes:
- Adding license definition
- Adjusting dependencies
- Adding SUPERCEDES/CONFLICTS for merged textproc/p5-XML-LibXML-Common
Upstream changes:
1.70
- various fixes and improvements in the documentation
- added (convenient yet non-standard) methods nonBlankChildNodes,
firstNonBlankChild, nextNonBlankSibling, prevNonBlankSibling
that skip empty or whitespace-only Text and CDATA nodes
- exposed and documented external entity handler
- XPathContext can now be passed to toStringC14N and toStringEC14N
(e.g. to provide NS mapping for the XPath expression)
- avoid using libxml2's globals (Nick Wellnhofer)
- added interface to libxml2's regexp implementation: XML::LibXML::RegExp
- added XML::LibXML->load_xml and XML::LibXML->load_html with
uniform and cleaner API than the old parse_* family
- cleanup code dealing with parsing flags
- fix bogus validation results if revalidating a modified document
- added 'eq' and 'cmp' overloading on XML::LibXML::Error and set fallback to 1
- lots of bugs fixed
1.69_2
- provide context and more accurate column number in
structured errors
- clarify license and copyright
- support for Win32+mingw+ActiveState
1.69_1
- merge with XML::LibXML::Common
- fix compilation on Windows with mingw or msvc
- fix a bug in structured errors preventing the previous errors from being reported
- fix compilation bugs
- fix encoding problem in reader
- added getAttributeHash to the reader interface
- fix segfaults: reconcileNs in domReplaceChild, findnodes with a doc fragment (S. Rezic)
1.68pre
- compilation problem fixes
1.67
- many bugfixes (rt.cpan.org)
- added XML::LibXML::Pattern module and extended pattern support in Reader
- added XML::LibXML::XPathExpression module that can pre-compile an XPath expression
- reimplementation of the thread support (mostly by Tim Brody)
- structured errors XML::LibXML::Error
- memory leak fixes
- documentation fixes
- README - notes for building on Win32 (C.J. Madsen)
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
1.66
- Perl-thread support contributed by Tim Brody [rt.cpan.org #31945]
- fix [rt.cpan.org #30610] possible segmentation fault when importing nodes from a document to an element created with XML::LibXML::Element->new
- fix [rt.cpan.org #30261] Segmentation fault when extracting elements from an XML chunk
- make Makefile.PL require Perl 5.6.1
- minor fixes and additions to the documentation
- portability patch from [rt.cpan.org #29627]
- give registered Ns declarations precedence over document-specific ones
in XML::LibXML::XPathContext; fixes [rt.cpan.org #29650]
1.65
- fix bug in t/40reader.t revealed by a bugfix in Test::More 0.71 (Jonathan Rockway)
- fix possible SIGSEGV when PI's or attrs created with
createDocument can get garbage-collected after their owning
document (old-standing bug suddenly caught by XML::Compile regression tests)
- skip tests for unsupported features on unsupported versions of Perl/libxml2
- make Reader interface require Perl 5.8 (patches to extend to 5.6 are welcome)
1.64
- fix reconcilation of the "xml" namespace [rt.cpan.org #26450]
- make tests pass with libxml2 2.9.29 - PI regression tests now
accept "" as data of an empty PI [rt.cpan.org #27659]
- strip-off UTF8 flag with $node->toString($format,1) for consistent
behavior independent on the actual document encoding
- fix in XML::LibXML::Reader::nextSiblingElment
- fix synopsis for XML::LibXML::Reader
- skip tests that require Encode module if not available (perl 5.6)
- finally removed the iterator() method deprecated since 1.54
- set_document_locator support in XML::LibXML::SAX::Parser
- SYNOPSIS sections of the docs now mention which module to use
and which other manpage to look into for inherited methods
- XML::LibXML::Namespace API fixed in order to achieve
an agreement between the docs and the implementation
Pkgsrc changes:
- Added support for installation to DESTDIR.
- Registration of the parser happens through the pkginstall framework
(INSTALL/DEINSTALL) now, thus making the MESSAGE file unnecessary.
Setting SKIP_SAX_INSTALL in the environment and replacing
PERL5_INSTALLVENDORLIB in the install scripts is necessary for this to
work.
Changes since version 1.62:
==============================
1.63
- added no_network parser flag
- added support for exclusive canonicalization (http://www.w3.org/TR/xml-exc-c14n/)
- make XInclude reflect parser flags
- documentation fixes
- better namespace reconciliation implemented by Tim Brody
- $doc->toString always returns octets
- $doc->actualEncoding returns UTF8 if no document encoding is declared
(unlike $doc->getEncoding, which returns undef)
1.62
- interface to libxml2's pull-parser XML::LibXML::Reader
(initiated by Heiko Klein)
- make error messages intended to the user report the line of the
application call rather than that of the internal XS call
- XML::LibXML::Attr->serializeContent added (convenience function)
- fix getAttributeNode etc. w.r.t. #FIXED attributes (as well as some
cases with old buggy libxml2 versions)
- warn if runtime libxml2 is older than the one used at the compile time
- if compiled against libxml2 >= 2.6.27, new parse_html_* implementation is used
allowing encoding and other options to be passed to the parser
- DOM-compliant nodeNames: #comment, #text, #cdata, #document, #document-fragment
- toString on empty text node returns empty string, not undef
- cloneNode copies attributes on an element as required by the DOM spec
Package changes:
- adjust dependencies
- mark conflicting with p5-XML-LibXML-XPathContext package
Please note that this version includes the perl module
XML::LibXML::XPathContext. This module is also provided by the
textproc/p5-XML-LibXML-XPathContext package which is about to be deleted.
Changes since last packaged version (1.58):
1.61
- get{Elements,Children}By{TagName,TagNameNS,LocalName} now
obey wildcards '*', getChildrenByLocalName was added.
- XML::LibXML::XPathContext merged in
- many new tests added
- the module should now be fully compatibile with libxml2 >= 2.6.16
(some older versions compile but have problems with namespaced attributes)
- threads test skipped by default
- documentation updates (namely DOM namespace conformance in XML::LibXML::DOM)
- added setNamespaceDecl{URI,Prefix}
- get/setAttribute(NS)? implementation made xmlns aware
- all sub-modules have the same version as XML::LibXML
1.60
- getElementsById corrected to getElementById and the old name kept
as an alias. Also re-implemented without XPath for improved
performance
- DOM Level 3 method $attr->isId() added
- make {get,set,has}Attribute(Node)? methods work with full
attribute names rather than just localnames.
(Although DOM Level 3 is not very clear about the behavior of
these methods for an attributes with namespaces, it certainly
does not imply that getAttribute('foo') should return value of a
bar:foo, which was the old behavior.)
- added publicId and systemId methods to XML::LibXML::Dtd
1.59
- new parser and callback code (Christian Glahn)
- new XML::LibXML::InputCallback class
- many bug fixes (including several memory leaks)
- documentation and regression fixes and enhancements
- Perl wrappers for parse_html_*
- make sure parse_* methods are not called on class (bug 11126)
- DOM Layer 3 conformance fixes:
* lookupNamespaceURI(empty_or_undef) now returns the default NS
- faster getChildrenByTagNameNS implementation
- remove the SGML parser code no longer supported by libxml (Michael Kröll)
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
1.58
- fixed a pointer initialization in parse_xml_chunk(), fixes
random several segmentation faults on document fragments.
- added NSCLEAN feature to the parser interface (bug 4560)
- minor code cleanups
- updated libxml2 blacklist.
- fixed croak while requesting nodeName() of CDATA sections (bug 1694).
- more documentation updates
module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").
binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.
addresses PR pkg/28619 from H. Todd Fujinaka.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
- added cloneNode to XML::LibXML::Document
- include Schema/RelaxNG code only with libxml2 >= 2.6.0 (to support old libxml2)
- applied patch to example/cb_example.pl (bug 4262)
- fixed insertBefore/insertAfter on empty elements (bug 3691)
- more DOM conformant XML::LibXML->createDocument API (by Robin Berjon)
- fixed encoding problems with API calls in document encoding
- improved support for importing DTD subsets
- fixed DTD validation error reporting problems with libxml2-2.6.x
- fixed compilation problems with libxml2-2.6.x
- fixed XML::LibXML::Number to support negative numbers
- added XML Schema validation interface (XML::LibXML::Schema)
- added XML RelaxNG validation interface (XML::LibXML::RelaxNG)
- Michael K. Edwards' patch applied with some amendments from Petr Pajas:
* add debian build files (I added SKIP_SAX_INSTALL flag for
Makefile.PL and changed the patch so that it doesn't disable
sax parser registration completely by default, and rather made
debian build use this flag)
* general cleanup (use SV_nolen, etc.)
* SAX parsers cleanup
* general error reporting code cleanup/rewrite, try preventing
possible memory leaks
* recover(1) now triggers warnings (disable with $SIG{__WARN__}=sub {})
* slighlty more strict parse_string behavior (now same as when
parsing fh, etc): e.g. parse_string("<foo:bar>"), i.e prefix without
NS declaration, raises error unless recover(1) is used
* documentation fixes/updates
* slightly updated test set to reflect the new slightly more strict
parsing.
- fixed default c14n XPath to include attributes and namespaces (Petr Pajas)
- make libxml2's xmlXPathOrderDocElems available through a new
$doc->indexElements method
- added version information of libxml2
- Les Richardson's documentation patch applied.
1.56
- added line number interface (thanks to Peter Haworth)
- patch to make perl 5.8.1 and XML::LibXML work together (thanks to François Pons)
- added getElementById to XML::LibXML::Document (thanks to Robin Berjon)
- fixes symbol problem with versions of libxml2 compiled without
thread support (reported by Randal L. Schwartz)
- tiny code clean ups
- corrected tested versions after a local setup problem
1.55
- fixed possible problems with math.h
- added C14N interface "toStringC14N()" (thanks to Chip Turner)
- fixed default namespace bug with libxml2 2.5.8 (by Vaclav Barta)
- fixed a NOOP in the XPath code.
- fixed insertBefore() behaviour to be DOM conform
- fixed a minor problem in Makefile.PL
- improved more documentation
- converted documentation to DocBook
*NOTE:*
Version 1.54 fixes potentional buffer overflows were possible with earlier
versions of the package.
1.54
- fixed some major bugs, works now with libxml2 2.5.x
- fixed problem with empty document fragments
- bad tag and attribute names cannot be created anymore
- Catalog interface is aware about libxml2 configuration
- XML::LibXML should work now on systems without having zlib installed
- cleaned the error handling code, which
- fixes bad reporting of the validating parser
- fixes bad reporting in xpath functions
- added getElementsBy*Name() functions for the Document Class
- fixed memory management problem introduced in 1.53
(that fixes a lot strange things)
- interface for raw libxml2 DOM building functions
(currently just addChild() and addNewChild(), others will follow)
- fixed namespace handling if nodes are imported to a new DOM.
- fixed segmentation fault during validation under libxml2 2.4.25
- fixed bad CDATA handing in XML::LibXML::SAX::Builder
- fixed namespace handing in XML::LibXML::SAX
- fixed attribute handing in XML::LibXML::SAX
- fixed memory leak in XML::LibXML::SAX
- fixed memory leak in XML::LibXML::Document
- fixed segfault while appending entity ref nodes to documents
- fixed some backward compatibility issues
- fixed cloning with namespaces misbehaviour
- fixed parser problems with libxml2 2.5.3+
- moved iterator classes into a separate package
(after realizing some CPAN testers refuse to read their warnings
from Makefile.PL)
- improved parser testsuite
- improved M
- more documentation
1.53
Parser
- catalog interface
- enabled SGML parsing
- implemented libxml2 dom recovering
- parsing into GDOME nodes is now possible
- XML::LibXML::SAX is now faster
- made XML::LibXML::SAX parser running without errors in most (all?) cases
(DTD handling is still not implemented).
DOM interface
- Node Iterator class
- NodeList Iterator class
- introduced XML::GDOME import and export. (EXPERIMENTAL)
- more security checks
general blur
- removed code shared with XML::GDOME to a separate XML::LibXML::Common
module (check CPAN)
- removed some redundand code
- more documentation (and docu fixes) (thanks to Petr Pajas)
major fixes:
- possible buffer overflow with broken XML:
This may effect all older versions of XML::LibXML, please upgrade!
- a bug while replacing the document element.
- very stupid encoding bug. all UTF8 strings will now be marked as
UTF8 correctly
- namespace functions to work with empty namespaces
- toFH()
- namespace setting in XPath functions:
the namespaces of the document element will always be added now
- threaded perl 5.8.0 issues
- calling external entity handlers work again
- XML::LibXML::SAX::Parser will not throw warnings on DTD nodes
1.52
- fixed some typos (thanks to Randy Kobes and Hildo Biersma)
- fixed namespace node handling
- fixed empty Text Node bug
- corrected the parser default values.
- added some documentation
1.51
- fixed parser bug with broken XML declarations
- fixed memory management within documents that have subsets
- fixed some threaded perl issues
(special thanks to Andreas Koenig for the patch)
- applied Win32 tests
(special thanks to Randy Kobes for the patch)
- fixed findnodes() and find() to return empty arrays in array context
if the statement was legal but produced no result.
- fixed namespace handling in xpath functions
- fixed local namespace handling in DOM functions
- pretty formating to all serializing functions
*NOTE* the XML::LibXML::Node::toString interface changed
check the XML::LibXML::Node man page
- made xpath functions verbose to perl (one can wrap evals now)
- improved native SAX interface
- improved XML::LibXML::SAX::Builder
- added getNamespaces to the node interface
- better libxml2 version testing
- more documentation
1.50
- fixed major problems with the validating parser
- fixed default behaviour of the generic parser
- fixed attribute setting of the string parser
- fixed external entity loading for entity expansion
- fixed nodeValue() to handle entities and entity refs correctly
- SAX::Parser ignores now hidden XINCLUDE nodes.
- fixed SAX::Builder to recognize namespace declarations correctly
- compatibility fixes
- importNode() bug fix
- fixed library tests and output in Makefile.PL
- added setOwnerDocument() again
- XML::LibXML::Document::process_xincludes reintroduced
- global callbacks reintroduced
NOTE: the Interface changed here, read XML::LibXML manpage!
- code cleanings
- push parser interface
- basic native libxml2 SAX interface
THIS INTERFACE IS STILL EXPERIMENTAL
- cloneNode clones now within documents
- more documentation
1.49
- memory management has been completely rewritten.
now the module should not cause that many memory leaks
(special thanks to Merijn Broeren and Petr Pajas for providing
testcases)
- more libxml2 functions are used
- DOM API is more Level 3 conform
- ownerDocument fixed
- parser validation bug fixed (reported by Erik Ray)
- made parse_xml_chunk() report errors
- fixed the PI interface
- xpath.pl example
- better namespace support
- improved NamedNodeMap support
- restructured the interfaces
- HTML document nodes are recognized as HTML doc nodes instead of plain nodes
- XML::LibXML::SAX::Parser able to handle HTML docs now
(patch by D. Hageman [dhageman@dracken.com])
- added serialization flags ($setTagCompression, $skipDtd and
$skipXMLDeclaration)
- more documentation
1.40
- new parsefunction: $parser->parse_xml_chunk($string);
- appendChild( $doc_fragment ) bug fixed
- removed obsolete files (parser.?)
- fixed getElementsByTagName and getElementsByTagNameNS to fit the spec
- new functions in XML::LibXML::Element:
getChildrenByTagName
getChildrenByTagNameNS
getElementsByLocalName
- minor fixes and extensions of the tests
- more docu ;)
- SAX added comment and PI support
- SAX added start_prefix_mapping/end_prefix_mapping
- Fixed find() bug with no results
- Added use IO::Handle so FH reads work
- A number of segfault fixes
- constants added without XML_ prefix
This module is an interface to the gnome libxml2 DOM parser (no SAX
parser support yet), and the DOM tree. It also provides an
XML::XPath-like findnodes() interface, providing access to the XPath
API in libxml2.
Provided by Shell Hung in PR/15088.