<?xml version="1.0"?>
<!DOCTYPE xsa PUBLIC "-//LM Garshol//DTD XML Software Autoupdate 1.0//EN//XML" "http://www.garshol.priv.no/download/xsa/xsa.dtd">
<xsa>
  <vendor>
    <name>Daniel Veillard</name>
    <email>daniel@veillard.com</email>
    <url>http://veillard.com/</url>
  </vendor>
  <product id="libxml2">
    <name>libxml2</name>
    <version>2.6.18</version>
    <last-release> Mar 13 2005</last-release>
    <info-url>http://xmlsoft.org/</info-url>
    <changes>   -  build fixes: warnings (Peter Breitenlohner), testapi.c generation, 
       Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
       some gcc4 fixes, HP-UX portability fixes (Rick Jones).
   -  bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
       xmlreader stopping on non-fatal errors, thread support for dictionnaries
       reference counting (Gary Coady), internal subset and push problem, 
       URL saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python
       paths fixup (Stephane Bidoul), xmlGetNodePath and namespaces, 
       xmlSetNsProp fix (Mike Hommey), warning should not count as error
       (William Brack), xmlCreatePushParser empty chunk, XInclude parser
       flags (William), cleanup FTP and HTTP code to reuse the uri parsing
       and IPv6 (William), xmlTextWriterStartAttributeNS fix (Rob Richards),
       XMLLINT_INDENT being empty (William), xmlWriter bugs (Rob Richards),
       multithreading on Windows (Rich Salz), xmlSearchNsByHref fix (Kasimier),
       Python binding leak (Brent Hendricks), aliasing bug exposed by gcc4
       on s390, xmlTextReaderNext bug (Rob Richards), Schemas decimal type
       fixes (William Brack), xmlByteConsumed static buffer (Ben Maurer).
   -  improvement: speedup parsing comments and DTDs, dictionnary support for
       hash tables, Schemas Identity constraints (Kasimier), streaming XPath
       subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
       values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
       Stansvik), 
   -  Documentation: Wiki support (Joel Reed)


</changes>
  </product>
</xsa>
