elements (William Brack and me) - XPointer failure in XInclude are now handled as resource errors - fixed xmllint --html to use the HTML serializer on output (added --xmlout to implement the previous behaviour of saving it using the XML serializer) 2.6.1: Oct 28 2003: - Mostly bugfixes after the big 2.6.0 changes - Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup (William Brack) - Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor Zlatkovic) - xmlWriter bugfix (Alfred Mickautsch) - chvalid.[ch]: couple of fixes from Stephane Bidoul - context reset: error state reset, push parser reset (Graham Bennett) - context reuse: generate errors if file is not readable - defaulted attributes for element coming from internal entities (Stephane Bidoul) - Python: tab and spaces mix (William Brack) - Error handler could crash in DTD validation in 2.6.0 - xmlReader: do not use the document or element _private field - testSAX.c: avoid a problem with some PIs (Massimo Morara) - general bug fixes: mandatory encoding in text decl, serializing Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik), XPath errors not reported, slow HTML parsing of large documents. 2.6.0: Oct 20 2003: - Major revision release: should be API and ABI compatible but got a lot of change - Increased the library modularity, far more options can be stripped out, a --with-minimum configuration will weight around 160KBytes - Use per parser and per document dictionnary, allocate names and small text nodes from the dictionnary - Switch to a SAX2 like parser rewrote most of the XML parser core, provides namespace resolution and defaulted attributes, minimize memory allocations and copies, namespace checking and specific error handling, immutable buffers, make predefined entities static structures, etc... - rewrote all the error handling in the library, all errors can be intercepted at a structured level, with precise information available. - New simpler and more generic XML and HTML parser APIs, allowing to easilly modify the parsing options and reuse parser context for multiple consecutive documents. - Similar new APIs for the xmlReader, for options and reuse, provided new functions to access content as const strings, use them for Python bindings - a lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin), Walker i.e. reader on a document tree based on Alfred Mickautsch code, make room in nodes for line numbers, reference counting and future PSVI extensions, generation of character ranges to be checked with faster algorithm (William), xmlParserMaxDepth (Crutcher Dunnavant), buffer access - New xmlWriter API provided by Alfred Mickautsch - Schemas: base64 support by Anthony Carrico - Parser<->HTTP integration fix, proper processing of the Mime-Type and charset informations if available. - Relax-NG: bug fixes including the one reported by Martijn Faassen and zeroOrMore, better error reporting. - Python bindings (Stéphane Bidoul), never use stdout for errors output - Portability: all the headers have macros for export and calling convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry), Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher, Igor), Mingw (Igor), typos (Mark Vakoc), beta version (Stephane Bidoul), warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin 'Shard' Konicki) - Documentation fixes and README (William Brack), search fix (William), tutorial updates (John Fleck), namespace docs (Stefan Kost) - Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized mutexes, HTML doctype lowercase, SAX/IO (William), compression detection and restore (William), attribute declaration in DTDs (William), namespace on attribute in HTML output (William), input filename (Rob Richards), namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter Derr), high codepoint charref like , buffer access in push mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP error handling. - xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat testing, --nodict for building without tree dictionnary, --nocdata to replace CDATA by text, --nsclean to remove surperfluous namespace declarations - added xml2-config --libtool-libs option from Kevin P. Fleming - a lot of profiling and tuning of the code, speedup patch for xmlSearchNs() by Luca Padovani. The xmlReader should do far less allocation and it speed should get closer to SAX. Chris Anderson worked on speeding and cleaning up repetitive checking code. - cleanup of "make tests" - libxml-2.0-uninstalled.pc from Malcolm Tredinnick - deactivated the broken docBook SGML parser code and plugged the XML parser instead. 2.5.11: Sep 9 2003: A bugfix only release: - risk of crash in Relax-NG - risk of crash when using multithreaded programs 2.5.10: Aug 15 2003: A bugfixes only release - Windows Makefiles (William Brack) - UTF-16 support fixes (Mark Itzcovitz) - Makefile and portability (William Brack) automake, Linux alpha, Mingw on Windows (Mikhail Grushinskiy) - HTML parser (Oliver Stoeneberg) - XInclude performance problem reported by Kevin Ruscoe - XML parser performance problem reported by Grant Goodale - xmlSAXParseDTD() bug fix from Malcolm Tredinnick - and a couple other cleanup 2.5.9: Aug 9 2003: - bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli), xmlReader, Relax-NG schemas compilation, namespace handling, EXSLT (Sean Griffin), HTML parsing problem (William Brack), DTD validation for mixed content + namespaces, HTML serialization, library initialization, progressive HTML parser - better interfaces for Relax-NG error handling (Joachim Bauch, ) - adding xmlXIncludeProcessTree() for XInclud'ing in a subtree - doc fixes and improvements (John Fleck) - configure flag for -with-fexceptions when embedding in C++ - couple of new UTF-8 helper functions (William Brack) - general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi) - xmlTextReader cleanup + enum for node types (Bjorn Reese) - general compilation/warning cleanup Solaris/HP-UX/... (William Brack) 2.5.8: Jul 6 2003: - bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack), PI related memleak, compilation without schemas or without xpath (Joerg Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs, rpm problem on , i86_64, removed a few compilation problems from 2.5.7, xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick) - portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry) - William Brack fixed multithreading lock problems - IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro) - Windows fixes (Igor Zlatkovic, Eric Zurcher), threading (Stéphane Bidoul) - A few W3C Schemas Structure improvements - W3C Schemas Datatype improvements (Charlie Bozeman) - Python bindings for thread globals (Stéphane Bidoul), and method/class generator - added --nonet option to xmllint - documentation improvements (John Fleck) 2.5.7: Apr 25 2003: - Relax-NG: Compiling to regexp and streaming validation on top of the xmlReader interface, added to xmllint --stream - xmlReader: Expand(), Next() and DOM access glue, bug fixes - Support for large files: RGN validated a 4.5GB instance - Thread support is now configured in by default - Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser and zero bytes handling, some missing Windows file path conversions, behaviour of the parser and validator in the presence of "out of memory" error conditions - extended the API to be able to plug a garbage collecting memory allocator, added xmlMallocAtomic() and modified the allocations accordingly. - Performances: removed excessive malloc() calls, speedup of the push and xmlReader interfaces, removed excessive thread locking - Documentation: man page (John Fleck), xmlReader documentation - Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks) 2.5.6: Apr 1 2003: - Fixed W3C XML Schemas datatype, should be compliant now except for binHex and base64 which are not supported yet. - bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and XInclude entities handling, encoding detection on external subsets, XML Schemas bugs and memory leaks, HTML parser (James Bursa) - portability: python/trio (Albert Chin), Sun compiler warnings - documentation: added --relaxng option to xmllint man page (John) - improved error reporting: xml:space, start/end tag mismatches, Relax NG errors 2.5.5: Mar 24 2003: - Lot of fixes on the Relax NG implementation. More testing including DocBook and TEI examples. - Increased the support for W3C XML Schemas datatype - Several bug fixes in the URI handling layer - Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding conversion, line counting in the parser. - Added support for $XMLLINT_INDENT environment variable, FTP delete - Fixed the RPM spec file name 2.5.4: Feb 20 2003: - Conformance testing and lot of fixes on Relax NG and XInclude implementation - Implementation of XPointer element() scheme - Bug fixes: XML parser, XInclude entities merge, validity checking on namespaces, 2 serialization bugs, node info generation problems, a DTD regexp generation problem. - Portability: windows updates and path canonicalization (Igor) - A few typo fixes (Kjartan Maraas) - Python bindings generator fixes (Stephane Bidoul) 2.5.3: Feb 10 2003: - RelaxNG and XML Schemas datatypes improvements, and added a first version of RelaxNG Python bindings - Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for serializing namespace nodes, encoding conversion bug, XHTML1 serialization - Portability fixes: Windows (Igor), AMD 64bits RPM spec file 2.5.2: Feb 5 2003: - First implementation of RelaxNG, added --relaxng flag to xmllint - Schemas support now compiled in by default. - Bug fixes: DTD validation, namespace checking, XInclude and entities, delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul), XPath parser and evaluation, UTF8ToUTF8 serialization, XML reader memory consumption, HTML parser, HTML serialization in the presence of namespaces - added an HTML API to check elements and attributes. - Documentation improvement, PDF for the tutorial (John Fleck), doc patches (Stefan Kost) - Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic) - Added python bindings for XPointer, contextual error reporting (Stéphane Bidoul) - URI/file escaping problems (Stefano Zacchiroli) 2.5.1: Jan 8 2003: - Fixes a memory leak and configuration/compilation problems in 2.5.0 - documentation updates (John) - a couple of XmlTextReader fixes 2.5.0: Jan 6 2003: - New XmltextReader interface based on C# API (with help of Stéphane Bidoul) - Windows: more exports, including the new API (Igor) - XInclude fallback fix - Python: bindings for the new API, packaging (Stéphane Bidoul), drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup and iterators for Python-2.2 (Hannu Krosing) - Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update (John) - Fix an XML parser bug raised by Vyacheslav Pindyura - Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry) - Entities handling fixes - new API to optionally track node creation and deletion (Lukas Schroeder) - Added documentation for the XmltextReader interface and some XML guidelines 2.4.30: Dec 12 2002: - 2.4.29 broke the python bindings, rereleasing - Improvement/fixes of the XML API generator, and couple of minor code fixes. 2.4.29: Dec 11 2002: - Windows fixes (Igor): Windows CE port, pthread linking, python bindings (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates - Fix for prev in python bindings (ERDI Gergo) - Fix for entities handling (Marcus Clarke) - Refactored the XML and HTML dumps to a single code path, fixed XHTML1 dump - Fix for URI parsing when handling URNs with fragment identifiers - Fix for HTTP URL escaping problem - added an TextXmlReader (C#) like API (work in progress) - Rewrote the API in XML generation script, includes a C parser and saves more informations needed for C# bindings 2.4.28: Nov 22 2002: - a couple of python binding fixes - 2 bug fixes in the XML push parser - potential memory leak removed (Martin Stoilov) - fix to the configure script for Unix (Dimitri Papadopoulos) - added encoding support for XInclude parse="text" - autodetection of XHTML1 and specific serialization rules added - nasty threading bug fixed (William Brack) 2.4.27: Nov 17 2002: - fixes for the Python bindings - a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(), HTML parser, Schemas (Charles Bozeman), document fragment support (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer, xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr Pajas), entities processing - added grep to xmllint --shell - VMS update patch from Craig A. Berry - cleanup of the Windows build with support for more compilers (Igor), better thread support on Windows - cleanup of Unix Makefiles and spec file - Improvements to the documentation (John Fleck) 2.4.26: Oct 18 2002: - Patches for Windows CE port, improvements on Windows paths handling - Fixes to the validation code (DTD and Schemas), xmlNodeGetPath() , HTML serialization, Namespace compliance, and a number of small problems 2.4.25: Sep 26 2002: - A number of bug fixes: XPath, validation, Python bindings, DOM and tree, xmlI/O, Html - Serious rewrite of XInclude - Made XML Schemas regexp part of the default build and APIs, small fix and improvement of the regexp core - Changed the validation code to reuse XML Schemas regexp APIs - Better handling of Windows file paths, improvement of Makefiles (Igor, Daniel Gehriger, Mark Vakoc) - Improved the python I/O bindings, the tests, added resolver and regexp APIs - New logos from Marc Liyanage - Tutorial improvements: John Fleck, Christopher Harris - Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe Merlet) - removal of all stderr/perror use for error reporting - Better error reporting: XPath and DTD validation - update of the trio portability layer (Bjorn Reese) 2.4.24: Aug 22 2002 - XPath fixes (William), xf:escape-uri() (Wesley Terpstra) - Python binding fixes: makefiles (William), generator, rpm build, x86-64 (fcrozat) - HTML