[xml] Release of libxml2-2.6.0

   Yesssss ! The dragon is out and alive,


 This is the biggest release of libxml2 ever generated in term of objectives,
amount of work, number of people involved, line of code changed, API additions,
and performance gains. The full ChangeLog are huge, over a thousand lines,
here is a condensed version, I hope I didn't forgot to many thing:

 - 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
 - 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
   &#x10FFFF;, 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
 - 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.

  there is still some work needed like:
    + documentation for all the new APIs
    + python bindings improvements (error handler, xmlWriter)
    + work toward new specifications like XML-1.1, XPath 2.0, etc ...
    + a number of bugs which were reported have not yet been fixed.
and of course considering the size of the changes I expect a new batch
of bugs to show up, but I feel quite better with the new framework !

  Enjoy !

Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]