Imported Upstream version 2.9.2
[platform/upstream/libxml2.git] / doc / xml.html
index d6abd50..373285d 100644 (file)
@@ -709,6 +709,283 @@ to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p>
 
 <p>Here is the list of public releases:</p>
 
+<h3>2.9.2: Oct 16 2014</h3>
+<ul>
+  <li>Security:<br/>
+  Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),<br/>
+  CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)<br/>
+  </li>
+
+  <li>Bug Fixes:<br/>
+  fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer),<br/>
+  xmlmemory: handle realloc properly (Yegor Yefremov),<br/>
+  Python generator bug raised by the const change (Daniel Veillard),<br/>
+  Windows Critical sections not released correctly (Daniel Veillard),<br/>
+  Parser error on repeated recursive entity expansion containing &amp;lt; (Daniel Veillard),<br/>
+  xpointer : fixing Null Pointers (Gaurav Gupta),<br/>
+  Remove Unnecessary Null check in xpointer.c (Gaurav Gupta),<br/>
+  parser bug on misformed namespace attributes (Dennis Filder),<br/>
+  Pointer dereferenced before null check (Daniel Veillard),<br/>
+  Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta),<br/>
+  Possible overflow in HTMLParser.c (Daniel Veillard),<br/>
+  python/tests/sync.py assumes Python dictionaries are ordered (John Beck),<br/>
+  Fix Enum check and missing break (Gaurav Gupta),<br/>
+  xmlIO: Handle error returns from dup() (Philip Withnall),<br/>
+  Fix a problem properly saving URIs (Daniel Veillard),<br/>
+  wrong error column in structured error when parsing attribute values (Juergen Keil),<br/>
+  wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil),<br/>
+  no error column in structured error handler for xml schema validation errors (Juergen Keil),<br/>
+  Couple of Missing Null checks (Gaurav Gupta),<br/>
+  Add couple of missing Null checks (Daniel Veillard),<br/>
+  xmlschemastypes: Fix potential array overflow (Philip Withnall),<br/>
+  runtest: Fix a memory leak on parse failure (Philip Withnall),<br/>
+  xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall),<br/>
+  xmlcatalog: Fix a memory leak on quit (Philip Withnall),<br/>
+  HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall),<br/>
+  Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer),<br/>
+  Avoid Possible Null Pointer in trio.c (Gaurav Gupta),<br/>
+  Fix processing in SAX2 in case of an allocation failure (Daniel Veillard),<br/>
+  XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard),<br/>
+  Fix various Missing Null checks (Gaurav Gupta),<br/>
+  Fix a potential NULL dereference (Daniel Veillard),<br/>
+  Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta),<br/>
+  Add a missing argument check (Gaurav Gupta),<br/>
+  Adding a check in case of allocation error (Gaurav Gupta),<br/>
+  xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder),<br/>
+  Adding some missing NULL checks (Gaurav),<br/>
+  Fixes for xmlInitParserCtxt (Daniel Veillard),<br/>
+  Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),<br/>
+  erroneously ignores a validation error if no error callback set (Daniel Veillard),<br/>
+  xmllint was not parsing the --c14n11 flag (Sérgio Batista),<br/>
+  Avoid Possible null pointer dereference in memory debug mode (Gaurav),<br/>
+  Avoid Double Null Check (Gaurav),<br/>
+  Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer),<br/>
+  Fix xmlParseInNodeContext() if node is not element (Daniel Veillard),<br/>
+  Avoid a possible NULL pointer dereference (Gaurav),<br/>
+  Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard),<br/>
+  Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard),<br/>
+  fixing a ptotential uninitialized access (Daniel Veillard),<br/>
+  Fix an fd leak in an error case (Daniel Veillard),<br/>
+  Missing initialization for the catalog module (Daniel Veillard),<br/>
+  Handling of XPath function arguments in error case (Nick Wellnhofer),<br/>
+  Fix a couple of missing NULL checks (Gaurav),<br/>
+  Avoid a possibility of dangling encoding handler (Gaurav),<br/>
+  Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks),<br/>
+  Fix a bug loading some compressed files (Mike Alexander),<br/>
+  Fix XPath node comparison bug (Gaurav),<br/>
+  Type mismatch in xmlschemas.c (Gaurav),<br/>
+  Type mismatch in xmlschemastypes.c (Gaurav),<br/>
+  Avoid a deadcode in catalog.c (Daniel Veillard),<br/>
+  run close socket on Solaris, same as we do on other platforms (Denis Pauk),<br/>
+  Fix pointer dereferenced before null check (Gaurav),<br/>
+  Fix a potential NULL dereference in tree code (Daniel Veillard),<br/>
+  Fix potential NULL pointer dereferences in regexp code (Gaurav),<br/>
+  xmllint --pretty crashed without following numeric argument (Tim Galeckas),<br/>
+  Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer),<br/>
+  Fix XPath '//' optimization with predicates (Nick Wellnhofer),<br/>
+  Clear up a potential NULL dereference (Daniel Veillard),<br/>
+  Fix a possible NULL dereference (Gaurav),<br/>
+  Avoid crash if allocation fails (Daniel Veillard),<br/>
+  Remove occasional leading space in XPath number formatting (Daniel Veillard),<br/>
+  Fix handling of mmap errors (Daniel Veillard),<br/>
+  Catch malloc error and exit accordingly (Daniel Veillard),<br/>
+  missing else in xlink.c (Ami Fischman),<br/>
+  Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),<br/>
+  Fix a regression in xmlGetDocCompressMode() (Daniel Veillard),<br/>
+  properly quote the namespace uris written out during c14n (Aleksey Sanin),<br/>
+  Remove premature XInclude check on URI being relative (Alexey Neyman),<br/>
+  Fix missing break on last() function for attributes (dcb),<br/>
+  Do not URI escape in server side includes (Romain Bondue),<br/>
+  Fix an error in xmlCleanupParser (Alexander Pastukhov)<br/>
+  </li>
+
+  <li>Documentation:<br/>
+  typo in error messages "colon are forbidden from..." (Daniel Veillard),<br/>
+  Fix a link to James SAX documentation old page (Daniel Veillard),<br/>
+  Fix typos in relaxng.c (Jan Pokorný),<br/>
+  Fix a doc typo (Daniel Veillard),<br/>
+  Fix typos in {tree,xpath}.c (errror) (Jan Pokorný),<br/>
+  Add limitations about encoding conversion (Daniel Veillard),<br/>
+  Fix typos in xmlschemas{,types}.c (Jan Pokorný),<br/>
+  Fix incorrect spelling entites-&gt;entities (Jan Pokorný),<br/>
+  Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard)<br/>
+  </li>
+
+  <li>Portability:<br/>
+  AC_CONFIG_FILES and executable bit (Roumen Petrov),<br/>
+  remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov),<br/>
+  fix some tabs mixing incompatible with python3 (Roumen Petrov),<br/>
+  Visual Studio 14 CTP defines snprintf() (Francis Dupont),<br/>
+  OS400: do not try to copy unexisting doc files (Patrick Monnerat),<br/>
+  OS400: use either configure.ac or configure.in. (Patrick Monnerat),<br/>
+  os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),<br/>
+  OS400: Add some more C macros equivalent procedures. (Patrick Monnerat),<br/>
+  OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat),<br/>
+  OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat),<br/>
+  OS400: include in distribution tarball. (Patrick Monnerat),<br/>
+  OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat),<br/>
+  OS400: Add compilation scripts. (Patrick Monnerat),<br/>
+  OS400: ILE RPG language header files. (Patrick Monnerat),<br/>
+  OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat),<br/>
+  OS400: UTF8&lt;--&gt;EBCDIC wrappers for system and external library calls (Patrick Monnerat),<br/>
+  OS400: Easy character transcoding support (Patrick Monnerat),<br/>
+  OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),<br/>
+  OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),<br/>
+  Fix building when configuring without xpath and xptr (Daniel Veillard),<br/>
+  configure: Add --with-python-install-dir (Jonas Eriksson),<br/>
+  Fix compilation with minimum and xinclude. (Nicolas Le Cam),<br/>
+  Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),<br/>
+  Fix compilation with minimum and schematron. (Nicolas Le Cam),<br/>
+  Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),<br/>
+  Don't use xmlValidateName() when not available. (Nicolas Le Cam),<br/>
+  Fix a portability issue on Windows (Longstreth Jon),<br/>
+  Various portability patches for OpenVMS (Jacob (Jouk) Jansen),<br/>
+  Use specific macros for portability to OS/400 (Patrick Monnerat),<br/>
+  Add macros needed for OS/400 portability (Patrick Monnerat),<br/>
+  Portability patch for fopen on OS/400 (Patrick Monnerat),<br/>
+  Portability fixes for OS/400 (Patrick Monnerat),<br/>
+  Improve va_list portability (Patrick Monnerat),<br/>
+  Portability fix (Patrick Monnerat),<br/>
+  Portability fix (Patrick Monnerat),<br/>
+  Generic portability fix (Patrick Monnerat),<br/>
+  Shortening lines in headers (Patrick Monnerat),<br/>
+  build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),<br/>
+  build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),<br/>
+  fix some tabs mixing incompatible with python3 (Daniel Veillard),<br/>
+  add additional defines checks for support "./configure --with-minimum" (Denis Pauk),<br/>
+  Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),<br/>
+  python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),<br/>
+  python: Fix compiler warnings when building python3 bindings (Armin K),<br/>
+  Fix for compilation with python 2.6.8 (Petr Sumbera)<br/>
+  </li>
+
+  <li>Improvements:<br/>
+  win32/libxml2.def.src after rebuild in doc (Roumen Petrov),<br/>
+  elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),<br/>
+  elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),<br/>
+  Provide cmake module (Samuel Martin),<br/>
+  Fix a couple of issues raised by make dist (Daniel Veillard),<br/>
+  Fix and add const qualifiers (Kurt Roeckx),<br/>
+  Preparing for upcoming release of 2.9.2 (Daniel Veillard),<br/>
+  Fix zlib and lzma libraries check via command line (Dmitriy),<br/>
+  wrong error column in structured error when parsing end tag (Juergen Keil),<br/>
+  doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),<br/>
+  Add methods for python3 iterator (Ron Angeles),<br/>
+  Support element node traversal in document fragments. (Kyle VanderBeek),<br/>
+  xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),<br/>
+  Added macros for argument casts (Eric Zurcher),<br/>
+  adding init calls to xml and html Read parsing entry points (Daniel Veillard),<br/>
+  Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),<br/>
+  Implement choice for name classes on attributes (Shaun McCance),<br/>
+  Two small namespace tweaks (Daniel Veillard),<br/>
+  xmllint --memory should fail on empty files (Daniel Veillard),<br/>
+  Cast encoding name to char pointer to match arg type (Nikolay Sivov)<br/>
+  </li>
+
+  <li>Cleanups:<br/>
+  Removal of old configure.in (Daniel Veillard),<br/>
+  Unreachable code in tree.c (Gaurav Gupta),<br/>
+  Remove a couple of dead conditions (Gaurav Gupta),<br/>
+  Avoid some dead code and cleanup in relaxng.c (Gaurav),<br/>
+  Drop not needed checks (Denis Pauk),<br/>
+  Fix a wrong test (Daniel Veillard)<br/>
+  </li>
+</ul>
+<h3>2.9.1: Apr 19 2013</h3>
+<ul>
+  <li> Features:<br/>
+    Support for Python3 (Daniel Veillard),<br/>
+    Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh)<br/>
+  </li>
+
+  <li> Documentation:<br/>
+    Add documentation for xmllint --xpath (Daniel Veillard),<br/>
+    Fix the URL of the SAX documentation from James (Daniel Veillard),<br/>
+    Fix spelling of "length". (Michael Wood)<br/>
+  </li>
+
+  <li> Portability:<br/>
+    Fix python bindings with versions older than 2.7 (Daniel Veillard),<br/>
+    rebuild docs:Makefile.am (Roumen Petrov),<br/>
+    elfgcchack.h after rebuild in doc (Roumen Petrov),<br/>
+    elfgcchack for buf module (Roumen Petrov),<br/>
+    Fix a uneeded and wrong extra link parameter (Daniel Veillard),<br/>
+    Few cleanup patches for Windows (Denis Pauk),<br/>
+    Fix rpmbuild --nocheck (Mark Salter),<br/>
+    Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard),<br/>
+    Fix Broken multi-arch support in xml2-config (Daniel Veillard),<br/>
+    Fix a portability issue for GCC &lt; 3.4.0 (Daniel Veillard),<br/>
+    Windows build fixes (Daniel Richard),<br/>
+    Fix a thread portability problem (Friedrich Haubensak),<br/>
+    Downgrade autoconf requirement to 2.63 (Daniel Veillard)<br/>
+  </li>
+
+  <li> Bug Fixes:<br/>
+    Fix a linking error for python bindings (Daniel Veillard),<br/>
+    Fix a couple of return without value (Jüri Aedla),<br/>
+    Improve the hashing functions (Daniel Franke),<br/>
+    Improve handling of xmlStopParser() (Daniel Veillard),<br/>
+    Remove risk of lockup in dictionary initialization (Daniel Veillard),<br/>
+    Activate detection of encoding in external subset (Daniel Veillard),<br/>
+    Fix an output buffer flushing conversion bug (Mikhail Titov),<br/>
+    Fix an old bug in xmlSchemaValidateOneElement (Csaba László),<br/>
+    Fix configure cannot remove messages (Gilles Espinasse),<br/>
+    fix schema validation in combination with xsi:nil (Daniel Veillard),<br/>
+    xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf),<br/>
+    Fix a few problems with setEntityLoader (Alexey Neyman),<br/>
+    Detect excessive entities expansion upon replacement (Daniel Veillard),<br/>
+    Fix the flushing out of raw buffers on encoding conversions (Daniel,<br/>
+Veillard),<br/>
+    Fix some buffer conversion issues (Daniel Veillard),<br/>
+    When calling xmlNodeDump make sure we grow the buffer quickly (Daniel,<br/>
+Veillard),<br/>
+    Fix an error in the progressive DTD parsing code (Dan Winship),<br/>
+    xmllint should not load DTD by default when using the reader (Daniel,<br/>
+Veillard),<br/>
+    Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),<br/>
+    Fix potential out of bound access (Daniel Veillard),<br/>
+    Fix large parse of file from memory (Daniel Veillard),<br/>
+    Fix a bug in the nsclean option of the parser (Daniel Veillard),<br/>
+    Fix a regression in 2.9.0 breaking validation while streaming (Daniel,<br/>
+Veillard),<br/>
+    Remove potential calls to exit() (Daniel Veillard)<br/>
+  </li>
+
+  <li> Improvements:<br/>
+    Regenerated API, and testapi, rebuild documentation (Daniel Veillard),<br/>
+    Fix tree iterators broken by 2to3 script (Daniel Veillard),<br/>
+    update all tests for Python3 and Python2 (Daniel Veillard),<br/>
+    A few more fixes for python 3 affecting libxml2.py (Daniel Veillard),<br/>
+    Fix compilation on Python3 (Daniel Veillard),<br/>
+    Converting apibuild.py to python3 (Daniel Veillard),<br/>
+    First pass at starting porting to python3 (Daniel Veillard),<br/>
+    updated configure.in for python3 (Daniel Veillard),<br/>
+    Add support for xpathRegisterVariable in Python (Shaun McCance),<br/>
+    Added a regression tests from bug 694228 data (Daniel Veillard),<br/>
+    Cache presence of '&lt;' in entities content (Daniel Veillard),<br/>
+    Avoid extra processing on entities (Daniel Veillard),<br/>
+    Python binding for xmlRegisterInputCallback (Alexey Neyman),<br/>
+    Python bindings: DOM casts everything to xmlNode (Alexey Neyman),<br/>
+    Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling),<br/>
+    Adding streaming validation to runtest checks (Daniel Veillard),<br/>
+    Add a --pushsmall option to xmllint (Daniel Veillard)<br/>
+  </li>
+
+  <li> Cleanups:<br/>
+    Switched comment in file to UTF-8 encoding (Daniel Veillard),<br/>
+    Extend gitignore (Daniel Veillard),<br/>
+    Silent the new python test on input (Alexey Neyman),<br/>
+    Cleanup of a duplicate test (Daniel Veillard),<br/>
+    Cleanup on duplicate test expressions (Daniel Veillard),<br/>
+    Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick,<br/>
+Gansterer),<br/>
+    Spec cleanups and a fix for multiarch support (Daniel Veillard),<br/>
+    Silence a clang warning (Daniel Veillard),<br/>
+    Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard),<br/>
+    rand_seed should be static in dict.c (Wouter Van Rooy),<br/>
+    Fix typos in parser comments (Jan Pokorný)<br/>
+  </li>
+</ul>
 <h3>2.9.0: Sep 11 2012</h3>
 <ul>
   <li> Features:<br/>
@@ -2454,7 +2731,9 @@ Schemas <a href="http://www.w3.org/TR/xmlschema-1/">structures</a> and <a
 href="http://www.w3.org/TR/xmlschema-2/">datatypes</a> code, beware, all
 interfaces are likely to change, there is huge holes, it is clearly a work in
 progress and don't even think of putting this code in a production system,
-it's actually not compiled in by default. The real fixes are:</p>
+it's actually not compiled in by default. The real fixes are:
+</p>
+
 <ul>
   <li>a couple of bugs or limitations introduced in 2.4.20</li>
   <li>patches for Borland C++ and MSC by Igor</li>
@@ -2728,9 +3007,10 @@ it's actually not compiled in by default. The real fixes are:</p>
 
 <h3>2.3.9: May 19 2001</h3>
 
-<p>Lots of bugfixes, and added a basic SGML catalog support:</p>
+<p>Lots of bugfixes, and added a basic SGML catalog support:
+</p>
 <ul>
-  <li>HTML push bugfix #54891 and another patch from Jonas Borgström</li>
+  <li>HTML push bugfix #54891 and another patch from Jonas Borgstrom</li>
   <li>some serious speed optimization again</li>
   <li>some documentation cleanups</li>
   <li>trying to get better linking on Solaris (-R)</li>
@@ -3691,7 +3971,7 @@ called by the library as it progresses through the XML input.</p>
 
 <p>To get more detailed step-by-step guidance on using the SAX interface of
 libxml, see the <a
-href="http://www.daa.com.au/~james/gnome/xml-sax/xml-sax.html">nice
+href="http://www.jamesh.id.au/articles/libxml-sax/libxml-sax.html">nice
 documentation</a>.written by <a href="mailto:james@daa.com.au">James
 Henstridge</a>.</p>