libxmljs
Version:
libxml bindings for v8 javascript engine
729 lines (701 loc) • 199 kB
HTML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Releases</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Releases</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation & DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="https://gitlab.gnome.org/GNOME/libxml2/issues">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The <a href="ChangeLog.html">change log</a> describes the recents commits
to the <a href="https://gitlab.gnome.org/GNOME/libxml2">GIT</a> code base.</p><p>Here is the list of public releases:</p><h3>v2.9.11: May 13 2021</h3><ul>
<li>Security:<br />
Patch for security issue CVE-2021-3541 (Daniel Veillard)<br />
</li>
<li>Documentation:<br />
Clarify xmlNewDocProp documentation (Nick Wellnhofer)<br />
</li>
<li>Portability:<br />
CMake: Only add postfixes if MSVC (Christopher Degawa),<br />
Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),<br />
Use CMake PROJECT_VERSION (Markus Rickert),<br />
Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson),<br />
Add CI for CMake on MSVC (Markus Rickert),<br />
Update minimum required CMake version (Markus Rickert),<br />
Add variables for configured options to CMake config files (Markus Rickert),<br />
Check if variables exist when defining targets (Markus Rickert),<br />
Check if target exists when reading target properties (Markus Rickert),<br />
Add xmlcatalog target and definition to config files (Markus Rickert),<br />
Remove include directories for link-only dependencies (Markus Rickert),<br />
Fix ICU build in CMake (Markus Rickert),<br />
Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),<br />
Update CMake config files (Markus Rickert),<br />
Add xmlcatalog and xmllint to CMake export (Markus Rickert),<br />
Simplify xmlexports.h (Nick Wellnhofer),<br />
Require dependencies based on enabled CMake options (Markus Rickert),<br />
Use NAMELINK_COMPONENT in CMake install (Markus Rickert),<br />
Add CMake files to EXTRA_DIST (Markus Rickert),<br />
Add missing compile definition for static builds to CMake (Markus Rickert),<br />
Add CI for CMake on Linux and MinGW (Markus Rickert),<br />
Fix variable name in win32/configure.js (Nick Wellnhofer),<br />
Fix version parsing in win32/configure.js (Nick Wellnhofer),<br />
Fix autotools warnings (Nick Wellnhofer),<br />
Update config.h.cmake.in (Markus Rickert),<br />
win32: allow passing *FLAGS on command line (Michael Stahl),<br />
Configure file xmlwin32version.h.in on MSVC (Markus Rickert),<br />
List headers individually (Markus Rickert),<br />
Add CMake build files (Markus Rickert),<br />
Parenthesize Py<type>_Check() in ifs (Miro Hrončok),<br />
Minor fixes to configure.js (Nick Wellnhofer)<br />
</li>
<li>Bug Fixes:<br />
Fix null deref in legacy SAX1 parser (Nick Wellnhofer),<br />
Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer),<br />
Fix line numbers in error messages for mismatched tags (Nick Wellnhofer),<br />
Fix htmlTagLookup (Nick Wellnhofer),<br />
Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer),<br />
Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),<br />
Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),<br />
Validate UTF8 in xmlEncodeEntities (Joel Hockey),<br />
Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),<br />
Allow FP division by zero in xmlXPathInit (Nick Wellnhofer),<br />
Fix xmlGetNodePath with invalid node types (Nick Wellnhofer),<br />
Fix exponential behavior with recursive entities (Nick Wellnhofer),<br />
Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer),<br />
Fix slow parsing of HTML with encoding errors (Nick Wellnhofer),<br />
Fix null deref introduced with previous commit (Nick Wellnhofer),<br />
Check for invalid redeclarations of predefined entities (Nick Wellnhofer),<br />
Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate),<br />
parser.c: shrink the input buffer when appropriate (Mike Dalessio),<br />
Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer),<br />
Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer),<br />
Fix timeout when handling recursive entities (Nick Wellnhofer),<br />
Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer),<br />
Fix null deref in xmlStringGetNodeList (Nick Wellnhofer),<br />
use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio),<br />
htmlParseComment: treat `--!>` as if it closed the comment (Mike Dalessio),<br />
Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer),<br />
encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni),<br />
xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet->val" (Xiaoming Ni),<br />
Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer),<br />
Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer),<br />
Avoid quadratic checking of identity-constraints (Michael Matz),<br />
Fix building with ICU 68. (Frederik Seiffert),<br />
Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner),<br />
Fix xmlURIEscape memory leaks. (Elliott Hughes),<br />
Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer),<br />
Fix caret in regexp character group (Nick Wellnhofer),<br />
parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio),<br />
Fix memory leaks in XPointer string-range function (Nick Wellnhofer),<br />
Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),<br />
Fix SEGV in xmlSAXParseFileWithData (yanjinjq),<br />
Fix null deref in XPointer expression error path (Nick Wellnhofer),<br />
Don't call xmlXPathInit directly (Nick Wellnhofer),<br />
Fix cleanup of attributes in XML reader (Nick Wellnhofer),<br />
Fix double free in XML reader with XIncludes (Nick Wellnhofer),<br />
Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer),<br />
Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer),<br />
Fix error reporting with xi:fallback (Nick Wellnhofer),<br />
Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer),<br />
Fix corner case with empty xi:fallback (Nick Wellnhofer),<br />
Fix XInclude regression introduced with recent commit (Nick Wellnhofer),<br />
Fix memory leak in runtest.c (Nick Wellnhofer),<br />
Make "xmllint --push --recovery" work (Nick Wellnhofer),<br />
Revert "Do not URI escape in server side includes" (Nick Wellnhofer),<br />
Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer),<br />
Stop counting nbChars in parser context (Nick Wellnhofer),<br />
Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),<br />
Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer),<br />
Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer),<br />
Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer),<br />
Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer),<br />
Check for custom free function in global destructor (Nick Wellnhofer),<br />
Fix integer overflow when comparing schema dates (Nick Wellnhofer),<br />
Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer),<br />
Don't try to handle namespaces when building HTML documents (Nick Wellnhofer),<br />
Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br />
Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer),<br />
Reset XML parser input before reporting errors (David Kilzer),<br />
Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer),<br />
Fix HTML push parser lookahead (Nick Wellnhofer),<br />
Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer),<br />
Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),<br />
Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer),<br />
Reset HTML parser input before reporting error (Nick Wellnhofer),<br />
Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br />
Fix regression introduced with 477c7f6a (Nick Wellnhofer),<br />
Fix quadratic runtime in HTML parser (Nick Wellnhofer),<br />
Reset HTML parser input before reporting encoding error (Nick Wellnhofer),<br />
Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer),<br />
Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer),<br />
Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer),<br />
Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer),<br />
Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer),<br />
Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br />
Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer),<br />
Fix integer overflow in htmlParseCharRef (Nick Wellnhofer),<br />
Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer),<br />
Fix return value of xmlCharEncOutput (Nick Wellnhofer),<br />
Never expand parameter entities in text declaration (Nick Wellnhofer),<br />
Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer),<br />
Fix use-after-free with validating reader (Nick Wellnhofer),<br />
xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer),<br />
Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer),<br />
Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer),<br />
Make schema validation fail with multiple top-level elements (Nick Wellnhofer),<br />
Call xmlCleanupParser on ELF destruction (Samuel Thibault),<br />
Fix copying of entities in xmlParseReference (Nick Wellnhofer),<br />
Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie),<br />
Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz),<br />
Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz),<br />
Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),<br />
Fix integer overflow in xmlBufferResize (Nick Wellnhofer),<br />
Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),<br />
Remove useless comparisons (Nick Wellnhofer),<br />
Fix overflow check in xmlNodeDump (Nick Wellnhofer),<br />
Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie),<br />
Fix freeing of nested documents (Nick Wellnhofer),<br />
Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer),<br />
Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer),<br />
Fix xml2-config error code (Nick Wellnhofer),<br />
Fix memory leak in error path of XPath expr parser (Nick Wellnhofer),<br />
Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer),<br />
Null pointer handling in catalog.c (raniervf),<br />
xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)<br />
</li>
<li>Improvements:<br />
Store per-element parser state in a struct (Nick Wellnhofer),<br />
update for xsd:language type check (PaulHiggs),<br />
Update INSTALL.libxml2 (Nick Wellnhofer),<br />
Fix include order in c14n.h (Nick Wellnhofer),<br />
Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer),<br />
Speed up htmlCheckAutoClose (Nick Wellnhofer),<br />
Speed up htmlTagLookup (Nick Wellnhofer),<br />
Stop checking attributes for UTF-8 validity (Nick Wellnhofer),<br />
Reduce some fuzzer timeouts (Nick Wellnhofer),<br />
Only run a few CI tests unless scheduled (Nick Wellnhofer),<br />
Improve fuzzer stability (Nick Wellnhofer),<br />
Check for feature flags in fuzzer tests (Nick Wellnhofer),<br />
Another attempt at improving fuzzer stability (Nick Wellnhofer),<br />
Revert "Improve HTML fuzzer stability" (Nick Wellnhofer),<br />
Add charset names to fuzzing dictionaries (Nick Wellnhofer),<br />
Improve HTML fuzzer stability (Nick Wellnhofer),<br />
Add CI for MSVC x86 (Markus Rickert),<br />
Add a flag to not output anything when xmllint succeeded (hhb),<br />
Speed up HTML fuzzer (Nick Wellnhofer),<br />
Remove unused encoding parameter of HTML output functions (Nick Wellnhofer),<br />
Handle malloc failures in fuzzing code (Nick Wellnhofer),<br />
add test coverage for incorrectly-closed comments (Mike Dalessio),<br />
Enforce maximum length of fuzz input (Nick Wellnhofer),<br />
Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer),<br />
Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner),<br />
Add CI test for Python 3 (Nick Wellnhofer),<br />
Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer),<br />
Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),<br />
Allow port numbers up to INT_MAX (Nick Wellnhofer),<br />
Handle dumps of corrupted documents more gracefully (Nick Wellnhofer),<br />
Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer),<br />
Hardcode maximum XPath recursion depth (Nick Wellnhofer),<br />
Pass URL of main entity in XML fuzzer (Nick Wellnhofer),<br />
Consolidate seed corpus generation (Nick Wellnhofer),<br />
Test fuzz targets with dummy driver (Nick Wellnhofer),<br />
Fix regression introduced with commit d88df4b (Nick Wellnhofer),<br />
Fix regression introduced with commit 74dcc10b (Nick Wellnhofer),<br />
Add TODO comment in xinclude.c (Nick Wellnhofer),<br />
Stop using maxParserDepth in xpath.c (Nick Wellnhofer),<br />
Remove dead code in xinclude.c (Nick Wellnhofer),<br />
Don't add formatting newlines to XInclude nodes (Nick Wellnhofer),<br />
Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer),<br />
Remove unneeded progress checks in HTML parser (Nick Wellnhofer),<br />
Use strcmp when fuzzing (Nick Wellnhofer),<br />
Fix XPath fuzzer (Nick Wellnhofer),<br />
Fuzz XInclude engine (Nick Wellnhofer),<br />
Add XPath and XPointer fuzzer (Nick Wellnhofer),<br />
Update fuzzing code (Nick Wellnhofer),<br />
More *NodeDumpOutput fixes (Nick Wellnhofer),<br />
Fix *NodeDumpOutput functions (Nick Wellnhofer),<br />
Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),<br />
Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),<br />
Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),<br />
Fix .gitattributes (Nick Wellnhofer),<br />
Rework control flow in htmlCurrentChar (Nick Wellnhofer),<br />
Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),<br />
Remove misleading comments in xpath.c (Nick Wellnhofer),<br />
Update to Devhelp index file format version 2 (Andre Klapper),<br />
Set project language to C (Markus Rickert),<br />
Add variable for working directory of XML Conformance Test Suite (Markus Rickert),<br />
Add additional tests and XML Conformance Test Suite (Markus Rickert),<br />
Add command line option for temp directory in runtest (Markus Rickert),<br />
Ensure LF line endings for test files (Markus Rickert),<br />
Enable runtests and testThreads (Markus Rickert),<br />
Limit regexp nesting depth (Nick Wellnhofer),<br />
Fix return values and documentation in encoding.c (Nick Wellnhofer),<br />
Add regexp regression tests (David Kilzer),<br />
Report error for invalid regexp quantifiers (Nick Wellnhofer),<br />
Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner),<br />
Copy xs:duration parser from libexslt (Nick Wellnhofer),<br />
Fuzz target for XML Schemas (Nick Wellnhofer),<br />
Move entity recorder to fuzz.c (Nick Wellnhofer),<br />
Fuzz target for HTML parser (Nick Wellnhofer),<br />
Update GitLab CI container (Nick Wellnhofer),<br />
Add options file for xml fuzzer (Nick Wellnhofer),<br />
Add a couple of libFuzzer targets (Nick Wellnhofer),<br />
Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng),<br />
Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz),<br />
Fix typos (Nick Wellnhofer),<br />
Disable LeakSanitizer (Nick Wellnhofer),<br />
Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer),<br />
Add test case for recursive external parsed entities (Nick Wellnhofer),<br />
Enable error tests with entity substitution (Nick Wellnhofer),<br />
Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer),<br />
Merge code paths loading external entities (Nick Wellnhofer),<br />
Copy some XMLReader option flags to parser context (Nick Wellnhofer),<br />
Add xmlPopOutputCallbacks (Nick Wellnhofer),<br />
Updated Python test reader2.py (Pieter van Oostrum),<br />
Updated python/tests/tstLastError.py (Pieter van Oostrum),<br />
Use random seed in xmlDictComputeFastKey (Ranier Vilela),<br />
Enable more undefined behavior sanitizers (Nick Wellnhofer)<br />
</li>
</ul><h3>v2.9.10: Oct 30 2019</h3><ul>
<li>Documentation:<br />
Fix a few more typos ("fonction") (Nick Wellnhofer),<br />
Large batch of typo fixes (Jared Yanovich),<br />
Fix typos: tree: move{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný),<br />
Fix typo: xpath: simpli{ -> fi}ed (Jan Pokorný),<br />
Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),<br />
Fix comments in test code (zhouzhongyuan),<br />
fix comment in testReader.c (zhouzhongyuan)<br />
</li>
<li>Portability:<br />
Fix some release issues on Fedora 30 (Daniel Veillard),<br />
Fix exponent digits when running tests under old MSVC (Daniel Richard G),<br />
Work around buggy ceil() function on AIX (Daniel Richard G),<br />
Don't call printf with NULL string in runtest.c (Daniel Richard G),<br />
Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),<br />
timsort.h: support older GCCs (Jérôme Duval),<br />
Make configure.ac work with older pkg-config (Nick Wellnhofer),<br />
Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),<br />
Fix nanohttp.c on MinGW (Nick Wellnhofer),<br />
Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),<br />
Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),<br />
Fix Python bindings under Windows (Nick Wellnhofer)<br />
</li>
<li>Bug Fixes:<br />
Another fix for conditional sections at end of document (Nick Wellnhofer),<br />
Fix for conditional sections at end of document (Nick Wellnhofer),<br />
Make sure that Python tests exit with error code (Nick Wellnhofer),<br />
Audit memory error handling in xpath.c (Nick Wellnhofer),<br />
Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),<br />
Fix integer overflow when counting written bytes (Nick Wellnhofer),<br />
Fix uninitialized memory access in HTML parser (Nick Wellnhofer),<br />
Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br />
Disallow conditional sections in internal subset (Nick Wellnhofer),<br />
Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),<br />
Fix Regextests (Nick Wellnhofer),<br />
Fix empty branch in regex (Nick Wellnhofer),<br />
Fix integer overflow in entity recursion check (Nick Wellnhofer),<br />
Don't read external entities or XIncludes from stdin (Nick Wellnhofer),<br />
Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),<br />
Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),<br />
Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),<br />
Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),<br />
Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),<br />
14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),<br />
Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),<br />
Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),<br />
Misleading error message with xs:{min|max}Inclusive (bettermanzzy),<br />
Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),<br />
Partial fix for comparison of xs:durations (Nick Wellnhofer),<br />
Fix null deref in xmlreader buffer (zhouzhongyuan),<br />
Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),<br />
Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),<br />
Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),<br />
fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),<br />
Fix unsigned int overflow (Jens Eggerstedt),<br />
dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),<br />
Fix another code path in xmlParseQName (Nick Wellnhofer),<br />
Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),<br />
Fix build without reader but with pattern (Nick Wellnhofer),<br />
Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),<br />
Fix unsigned integer overflow (Nick Wellnhofer),<br />
Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),<br />
Fix parser termination from "Double hyphen within comment" error (David Warring),<br />
Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),<br />
Fix null deref in previous commit (Nick Wellnhofer),<br />
Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),<br />
Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),<br />
Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),<br />
Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),<br />
Fix null deref in xmlregexp error path (Nick Wellnhofer),<br />
Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),<br />
Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),<br />
Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),<br />
Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),<br />
Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),<br />
Memory leak in xmlFreeTextReader (Nick Wellnhofer),<br />
Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)<br />
</li>
<li>Improvements:<br />
Run XML conformance tests under CI (Nick Wellnhofer),<br />
Update GitLab CI config (Nick Wellnhofer),<br />
Propagate memory errors in valuePush (Nick Wellnhofer),<br />
Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),<br />
Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),<br />
Enable continuous integration via GitLab CI (Nick Wellnhofer),<br />
Avoid ignored attribute warnings under GCC (Nick Wellnhofer),<br />
Make xmlDumpElementContent non-recursive (Nick Wellnhofer),<br />
Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),<br />
Mark xmlExp* symbols as removed (Nick Wellnhofer),<br />
Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),<br />
Adjust expected error in Python tests (Nick Wellnhofer),<br />
Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),<br />
Make xmlFreeNodeList non-recursive (Nick Wellnhofer),<br />
Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),<br />
Remove executable bit from non-executable files (Nick Wellnhofer),<br />
Fix expected output of test/schemas/any4 (Nick Wellnhofer),<br />
Optimize build instructions in README (zhouzhongyuan),<br />
xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),<br />
xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),<br />
Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),<br />
Fix warnings when compiling without reader or push parser (Nick Wellnhofer),<br />
Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),<br />
Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),<br />
Remove -Wno-array-bounds (Nick Wellnhofer),<br />
Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),<br />
Improve XPath predicate and filter evaluation (Nick Wellnhofer),<br />
Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),<br />
Disable hash randomization when fuzzing (Nick Wellnhofer),<br />
Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),<br />
Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),<br />
Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),<br />
Optional XPath operation limit (Nick Wellnhofer),<br />
Fix compilation with --with-minimum (Nick Wellnhofer),<br />
Check XPath stack after calling functions (Nick Wellnhofer),<br />
Remove debug printf in xmlreader.c (Nick Wellnhofer),<br />
Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),<br />
Regenerate NEWS (Nick Wellnhofer),<br />
Change git repo URL (Nick Wellnhofer),<br />
Change bug tracker URL (Nick Wellnhofer),<br />
Remove outdated HTML file (Nick Wellnhofer),<br />
Fix unused function warning in testapi.c (Nick Wellnhofer),<br />
Add some generated test files to .gitignore (Nick Wellnhofer),<br />
Remove unneeded function pointer casts (Nick Wellnhofer),<br />
Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),<br />
Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)<br />
</li>
<li>Cleanups:<br />
Rebuild docs (Nick Wellnhofer),<br />
Disable xmlExp regex code (Nick Wellnhofer),<br />
Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),<br />
Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)<br />
</li>
</ul><h3>v2.9.9: Jan 03 2019</h3><ul>
<li>Security:<br />
CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),<br />
CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),<br />
</li>
<li>Documentation:<br />
reader: Fix documentation comment (Mohammed Sadiq)<br />
</li>
<li>Portability:<br />
Fix MSVC build with lzma (Nick Wellnhofer),<br />
Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner),<br />
Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner),<br />
Merge branch 'patch-2' into 'master' (Nick Wellnhofer),<br />
Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka),<br />
Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer),<br />
NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer)<br />
</li>
<li>Bug Fixes:<br />
Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer),<br />
Fix building relative URIs (Thomas Holder),<br />
Problem with data in interleave in RelaxNG validation (Nikolai Weibull),<br />
Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer),<br />
Set doc on element obtained from freeElems (Nick Wellnhofer),<br />
Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer),<br />
Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer),<br />
Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer),<br />
Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer),<br />
Free input buffer in xmlHaltParser (Nick Wellnhofer),<br />
Reset HTML parser input pointers on encoding failure (Nick Wellnhofer),<br />
Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer),<br />
Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom),<br />
Fix xmlTextReaderNext with preparsed document (Felix Bünemann),<br />
Remove stray character from comment (Nick Wellnhofer),<br />
Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski),<br />
HTML noscript should not close p (Daniel Veillard),<br />
Don't change context node in xmlXPathRoot (Nick Wellnhofer),<br />
Stop using XPATH_OP_RESET (Nick Wellnhofer),<br />
Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer)<br />
</li>
<li>Improvements:<br />
Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull),<br />
cleanup: remove some unreachable code (Thomas Holder),<br />
add --relative to testURI (Thomas Holder),<br />
Remove redefined starts and defines inside include elements (Nikolai Weibull),<br />
Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull),<br />
Look inside divs for starts and defines inside include (Nikolai Weibull),<br />
Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull),<br />
Stop using doc->charset outside parser code (Nick Wellnhofer),<br />
Add newlines to 'xmllint --xpath' output (Nick Wellnhofer),<br />
Don't include SAX.h from globals.h (Nick Wellnhofer),<br />
Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann),<br />
Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)),<br />
Run Travis ASan tests with "sudo: required" (Nick Wellnhofer),<br />
Improve restoring of context size and position (Nick Wellnhofer),<br />
Simplify and harden nodeset filtering (Nick Wellnhofer),<br />
Avoid unnecessary backups of the context node (Nick Wellnhofer),<br />
Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer)<br />
</li>
<li>Cleanups:<br />
</li>
</ul><h3>v2.9.8: Mar 05 2018</h3><ul>
<li>Portability:<br />
python: remove single use of _PyVerify_fd (Patrick Welche),<br />
Build more test executables on Windows/MSVC (Nick Wellnhofer),<br />
Stop including ansidecl.h (Nick Wellnhofer),<br />
Fix libz and liblzma detection (Nick Wellnhofer),<br />
Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)<br />
</li>
<li>Bug Fixes:<br />
Fix xmlParserEntityCheck (Nick Wellnhofer),<br />
Halt parser in case of encoding error (Nick Wellnhofer),<br />
Clear entity content in case of errors (Nick Wellnhofer),<br />
Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey),<br />
Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),<br />
Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),<br />
Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),<br />
Fix -Wenum-compare warnings (Nick Wellnhofer),<br />
Fix callback signature in testapi.c (Nick Wellnhofer),<br />
Fix unused parameter warning without ICU (Nick Wellnhofer),<br />
Fix IO callback signatures (Nick Wellnhofer),<br />
Fix misc callback signatures (Nick Wellnhofer),<br />
Fix list callback signatures (Nick Wellnhofer),<br />
Fix hash callback signatures (Nick Wellnhofer),<br />
Refactor name and type signature for xmlNop (Vlad Tsyrklevich),<br />
Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),<br />
Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)<br />
</li>
<li>Improvements:<br />
Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),<br />
Improve handling of context input_id (Daniel Veillard),<br />
Add resource file to Windows DLL (ccpaging),<br />
Run Travis tests with -Werror (Nick Wellnhofer),<br />
Build with "-Wall -Wextra" (Nick Wellnhofer),<br />
Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),<br />
Remove unused AC_CHECKs (Nick Wellnhofer),<br />
Update information about contributing (Nick Wellnhofer),<br />
Fix -Wmisleading-indentation warnings (Nick Wellnhofer),<br />
Don't touch CFLAGS in configure.ac (Nick Wellnhofer),<br />
Ignore function pointer cast warnings (Nick Wellnhofer),<br />
Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),<br />
Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),<br />
Add test for ICU flush and pivot buffer (Nick Wellnhofer),<br />
Compile testapi with -Wno-unused-function (Nick Wellnhofer)<br />
</li>
</ul><h3>2.9.7: Nov 02 2017</h3><ul>
<li>Documentation:<br />
xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný)<br />
</li>
<li>Portability:<br />
Fix deprecated Travis compiler flag (Nick Wellnhofer),<br />
Add declaration for DllMain (J. Peter Mugaas),<br />
Fix preprocessor conditional in threads.h (J. Peter Mugaas),<br />
Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),<br />
Fix macro redefinition warning (J. Peter Mugaas),<br />
Default to native threads on MinGW-w64 (Nick Wellnhofer),<br />
Simplify Windows IO functions (Nick Wellnhofer),<br />
Fix runtest on Windows (Nick Wellnhofer),<br />
socklen_t is always int on Windows (Nick Wellnhofer),<br />
Don't redefine socket error codes on Windows (Nick Wellnhofer),<br />
Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),<br />
Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)<br />
</li>
<li>Bug Fixes:<br />
xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),<br />
Fix comparison of nodesets to strings (Nick Wellnhofer)<br />
</li>
<li>Improvements:<br />
Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),<br />
Fix mixed decls and code in timsort.h (Nick Wellnhofer),<br />
Rework handling of return values in thread tests (Nick Wellnhofer),<br />
Fix unused variable warnings in testrecurse (Nick Wellnhofer),<br />
Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),<br />
Upgrade timsort.h to latest revision (Nick Wellnhofer),<br />
Increase warning level to /W3 under MSVC (Nick Wellnhofer),<br />
Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),<br />
Update .gitignore for Windows (Nick Wellnhofer),<br />
Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),<br />
Fix the Windows header mess (Nick Wellnhofer),<br />
Don't include winsock2.h in xmllint.c (Nick Wellnhofer),<br />
Remove generated file python/setup.py from version control (Nick Wellnhofer),<br />
Use __linux__ macro in generated code (Nick Wellnhofer)<br />
</li>
</ul><h3>v2.9.6: Oct 06 2017</h3><ul>
<li>Portability:<br />
Change preprocessor OS tests to __linux__ (Nick Wellnhofer)<br />
</li>
<li>Bug Fixes:<br />
Fix XPath stack frame logic (Nick Wellnhofer),<br />
Report undefined XPath variable error message (Nick Wellnhofer),<br />
Fix regression with librsvg (Nick Wellnhofer),<br />
Handle more invalid entity values in recovery mode (Nick Wellnhofer),<br />
Fix structured validation errors (Nick Wellnhofer),<br />
Fix memory leak in LZMA decompressor (Nick Wellnhofer),<br />
Set memory limit for LZMA decompression (Nick Wellnhofer),<br />
Handle illegal entity values in recovery mode (Nick Wellnhofer),<br />
Fix debug dump of streaming XPath expressions (Nick Wellnhofer),<br />
Fix memory leak in nanoftp (Nick Wellnhofer),<br />
Fix memory leaks in SAX1 parser (Nick Wellnhofer)<br />
</li>
</ul><h3>v2.9.5: Sep 04 2017</h3><ul>
<li>Security:<br />
Detect infinite recursion in parameter entities (Nick Wellnhofer),<br />
Fix handling of parameter-entity references (Nick Wellnhofer),<br />
Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),<br />
Fix XPointer paths beginning with range-to (Nick Wellnhofer)<br />
</li>
<li>Documentation:<br />
Documentation fixes (Nick Wellnhofer),<br />
Spelling and grammar fixes (Nick Wellnhofer)<br />
</li>
<li>Portability:<br />
Adding README.zOS to list of extra files for the release (Daniel Veillard),<br />
Description of work needed to compile on zOS (Stéphane Michaut),<br />
Porting libxml2 on zOS encoding of code (Stéphane Michaut),<br />
small changes for OS/400 (Patrick Monnerat),<br />
relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)<br />
</li>
<li>Bug Fixes:<br />
Problem resolving relative URIs (Daniel Veillard),<br />
Fix unwanted warnings when switching encodings (Nick Wellnhofer),<br />
Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard),<br />
Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),<br />
Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer),<br />
Fix infinite loops with push parser in recovery mode (Nick Wellnhofer),<br />
Send xmllint usage error to stderr (Nick Wellnhofer),<br />
Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer),<br />
Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer),<br />
Fix xmlHaltParser (Nick Wellnhofer),<br />
Fix pathological performance when outputting charrefs (Nick Wellnhofer),<br />
Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),<br />
Fix duplicate SAX callbacks for entity content (David Kilzer),<br />
Treat URIs with scheme as absolute in C14N (Nick Wellnhofer),<br />
Fix copy-paste errors in error messages (Nick Wellnhofer),<br />
Fix sanity check in htmlParseNameComplex (Nick Wellnhofer),<br />
Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer),<br />
Reset parser input pointers on encoding failure (Nick Wellnhofer),<br />
Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer),<br />
Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer),<br />
Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer),<br />
Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer),<br />
Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard),<br />
Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer),<br />
Stop parser on unsupported encodings (Nick Wellnhofer),<br />
Check for integer overflow in memory debug code (Nick Wellnhofer),<br />
Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer),<br />
Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer),<br />
Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer),<br />
Check XPath exponents for overflow (Nick Wellnhofer),<br />
Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer),<br />
Fix spurious error message (Nick Wellnhofer),<br />
Fix memory leak in xmlCanonicPath (Nick Wellnhofer),<br />
Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer),<br />
Fix memory leak in pattern error path (Nick Wellnhofer),<br />
Fix memory leak in parser error path (Nick Wellnhofer),<br />
Fix memory leaks in XPointer error paths (Nick Wellnhofer),<br />
Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer),<br />
Fix memory leak in XPath filter optimizations (Nick Wellnhofer),<br />
Fix memory leaks in XPath error paths (Nick Wellnhofer),<br />
Do not leak the new CData node if adding fails (David Tardon),<br />
Prevent unwanted external entity reference (Neel Mehta),<br />
Increase buffer space for port in HTTP redirect support (Daniel Veillard),<br />
Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer),<br />
Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer),<br />
Fix format string warnings (Nick Wellnhofer),<br />
Disallow namespace nodes in XPointer points (Nick Wellnhofer),<br />
Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer),<br />
Fix attribute decoding during XML schema validation (Alex Henrie),<br />
Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)<br />
</li>
<li>Improvements:<br />
Updating the spec file to reflect Fedora 24 (Daniel Veillard),<br />
Add const in five places to move 1 KiB to .rdata (Bruce Dawson),<br />
Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard),<br />
Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer),<br />
Simplify handling of parameter entity references (Nick Wellnhofer),<br />
Deduplicate code in encoding.c (Nick Wellnhofer),<br />
Make HTML parser functions take const pointers (Nick Wellnhofer),<br />
Build test programs only when needed (Nick Wellnhofer),<br />
Fix doc/examples/index.py (Nick Wellnhofer),<br />
Fix compiler warnings in threads.c (Nick Wellnhofer),<br />
Fix empty-body warning in nanohttp.c (Nick Wellnhofer),<br />
Fix cast-align warnings (Nick Wellnhofer),<br />
Fix unused-parameter warnings (Nick Wellnhofer),<br />
Rework entity boundary checks (Nick Wellnhofer),<br />
Don't switch encoding for internal parameter entities (Nick Wellnhofer),<br />
Merge duplicate code paths handling PE references (Nick Wellnhofer),<br />
Test SAX2 callbacks with entity substitution (Nick Wellnhofer),<br />
Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),<br />
Misc fixes for 'make tests' (Nick Wellnhofer),<br />
Initialize keepBlanks in HTML parser (Nick Wellnhofer),<br />
Add test cases for bug 758518 (David Kilzer),<br />
Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer),<br />
Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer),<br />
Allow zero sized memory input buffers (Nick Wellnhofer),<br />
Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer),<br />
Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer),<br />
Make Travis print UBSan stacktraces (Nick Wellnhofer),<br />
Add .travis.yml (Nick Wellnhofer),<br />
Fix expected error output in Python tests (Nick Wellnhofer),<br />
Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer),<br />
Disable LeakSanitizer when running API tests (Nick Wellnhofer),<br />
Avoid out-of-bound array access in API tests (Nick Wellnhofer),<br />
Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),<br />
Parse small XPath numbers more accurately (Nick Wellnhofer),<br />
Rework XPath rounding functions (Nick Wellnhofer),<br />
Fix white space in test output (Nick Wellnhofer),<br />
Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer),<br />
Check for trailing characters in XPath expressions earlier (Nick Wellnhofer),<br />
Rework final handling of XPath results (Nick Wellnhofer),<br />
Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer),<br />
Remove unused variables (Nick Wellnhofer),<br />
Don't print generic error messages in XPath tests (Nick Wellnhofer)<br />
</li>
<li>Cleanups:<br />
Fix a couple of misleading indentation errors (Daniel Veillard),<br />
Remove unnecessary calls to xmlPopInput (Nick Wellnhofer)<br />
</li>
</ul><h3>2.9.4: May 23 2016</h3><ul>
<li>Security:<br />
More format string warnings with possible format string vulnerability (David Kilzer),<br />
Avoid building recursive entities (Daniel Veillard),<br />
Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde),<br />
Heap-based buffer-underreads due to xmlParseName (David Kilzer),<br />
Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde),<br />
Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde),<br />
Fix some format string warnings with possible format string vulnerability (David Kilzer),<br />
Detect change of encoding when parsing HTML names (Hugh Davenport),<br />
Fix inappropriate fetch of entities content (Daniel Veillard),<br />
Bug 759398: Heap use-after-free in xmlDictComputeFastKey <https://bugzilla.gnome.org/show_bug.cgi?id=759398> (Pranjal Jumde),<br />
Bug 758605: Heap-based buffer overread in xmlDictAddString <https://bugzilla.gnome.org/show_bug.cgi?id=758605> (Pranjal Jumde),<br />
Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal <https://bugzilla.gnome.org/show_bug.cgi?id=758588> (David Kilzer),<br />
Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup <https://bugzilla.gnome.org/show_bug.cgi?id=757711> (Pranjal Jumde),<br />
Add missing increments of recursion depth counter to XML parser. (Peter Simons)<br />
</li>
<li>Documentation:<br />
Fix typo: s{ ec -> cr }cipt (Jan Pokorný),<br />
Fix typos: dictio{ nn -> n }ar{y,ies} (Jan Pokorný),<br />
Fix typos: PATH_{ SEAPARATOR -> SEPARATOR } (Jan Pokorný),<br />
Correct a typo. (Shlomi Fish)<br />
</li>
<li>Portability:<br />
Correct the usage of LDFLAGS (Mattias Hansson),<br />
Revert the use of SAVE_LDFLAGS in configure.ac (Mattias Hansson),<br />
libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger),<br />
Fix apibuild for a recently added construct (Daniel Veillard),<br />
Use pkg-config to locate zlib when possible (Stewart Brodie),<br />
Use pkg-config to locate ICU when possible (Stewart Brodie),<br />
Portability to non C99 compliant compilers (Patrick Monnerat),<br />
dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. (Patrick Monnerat),<br />
os400: tell about xmllint and xmlcatalog in