• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1NEWS file for libxml2
2
3v2.10.0: Aug 17 2022
4
5### Breaking changes
6
7The Docbook parser module and all related symbols habe been removed completely.
8This was experimental code which never worked and generated a deprecation
9warning for 15+ years. The library's soname wasn't changed in order to allow
10seamless upgrades to later versions. If this concerns you, consider bumping
11soname yourself.
12
13Some other modules are now disabled by default and will eventually be removed
14completely:
15
16- Support for XPointer locations (ranges and points): This was based on
17  a W3C specification which never got beyond Working Draft status. To my
18  knowledge, there's no software supporting this spec which is still
19  maintained. You now have to enable this code by passing the
20  `--with-xptr-locs` configuration option. Be warned that this part of
21  the code base is buggy and had many security issues in the past.
22
23- Support for the built-in FTP client (`--with-ftp`).
24
25- Support for "legacy" functions (`--with-legacy`).
26
27If you're concerned about ABI stability and haven't disabled these modules
28already, add the following configuration options or bump soname yourself:
29
30    --with-ftp
31    --with-legacy
32    --with-xptr-locs
33
34Several functions of the public API were deprecated. Most of them should be
35completely unused and will generate a deprecation warning now.
36
37The autoconf build now uses the sysconfdir variable for the location of
38the default catalog file. The path changed from hardcoded /etc/xml/catalog
39to ${sysconfdir}/xml/catalog. The sysconfdir variable defaults to
40${prefix}/etc, prefix defaults to /usr/local, so without other options
41the path becomes /usr/local/etc/xml/catalog. If you want the old behavior,
42configure with
43
44    --sysconfdir=/etc
45
46### Security
47
48- [CVE-2022-2309] Reset nsNr in xmlCtxtReset
49- Reserve byte for NUL terminator and report errors consistently in xmlBuf and
50  xmlBuffer (David Kilzer)
51- Fix missing NUL terminators in xmlBuf and xmlBuffer functions (David Kilzer)
52- Fix integer overflow in xmlBufferDump() (David Kilzer)
53- xmlBufAvail() should return length without including a byte for NUL
54  terminator (David Kilzer)
55- Fix ownership of xmlNodePtr & xmlAttrPtr fields in xmlSetTreeDoc() (David
56  Kilzer)
57- Use xmlNewDocText in xmlXIncludeCopyRange
58- Fix use-after-free bugs when calling xmlTextReaderClose() before
59  xmlFreeTextReader() on post-validating parser (David Kilzer)
60- Use UPDATE_COMPAT() consistently in buf.c (David Kilzer)
61- fix: xmlXPathParserContext could be double-delete in  OOM case. (jinsub ahn)
62
63### Removals and deprecations
64
65- Disable XPointer location support by default
66- Remove outdated xml2Conf.sh
67- Deprecate module init and cleanup functions
68- Remove obsolete XML Software Autoupdate (XSA) file
69- Remove DOCBparser
70- Remove obsolete Python test framework
71- Remove broken VxWorks support
72- Remove broken Mac OS 9 support
73- Remove broken bakefile support
74- Remove broken Visual Studio 2010 support
75- Remove broken Windows CE support
76- Deprecate IDREF-related functions in valid.h
77- Deprecate legacy functions
78- Disable legacy support by default
79- Deprecate all functions in nanoftp.h
80- Disable FTP support by default
81- Add XML_DEPRECATED macro
82- Remove elfgcchack.h
83
84### Regressions
85
86- Skip incorrectly opened HTML comments
87- Restore behavior of htmlDocContentDumpFormatOutput() (David Kilzer)
88
89### Bug fixes
90
91- Fix memory leak with invalid XSD
92- Make XPath depth check work with recursive invocations
93- Fix memory leak in xmlLoadEntityContent error path
94- Avoid double-free if malloc fails in inputPush
95- Properly fold whitespace around the QName value when validating an XSD
96  schema. (Damjan Jovanovic)
97- Add whitespace folding for some atomic data types that it's missing on.
98  (Damjan Jovanovic)
99- Don't add IDs containing unexpanded entity references
100
101### Improvements
102
103- Avoid calling xmlSetTreeDoc
104- Simplify xmlFreeNode
105- Don't reset nsDef when changing node content
106- Fix unintended fall-through in xmlNodeAddContentLen
107- Remove unused xmlBuf functions (David Kilzer)
108- Implement xpath1() XPointer scheme
109- Add configuration flag for XPointer locations support
110- Fix compiler warnings in Python code
111- Mark more static data as `const` (David Kilzer)
112- Make xmlStaticCopyNode non-recursive
113- Clean up encoding switching code
114- Simplify recursive pthread mutex
115- Use non-recursive mutex in dict.c
116- Fix parser progress checks
117- Avoid arithmetic on freed pointers
118- Improve buffer allocation scheme
119- Remove unneeded #includes
120- Add support for some non-standard escapes in regular expressions. (Damjan
121  Jovanovic)
122- htmlParseComment: handle abruptly-closed comments (Mike Dalessio)
123- Add let variable tag support (Oliver Diehl)
124- Add value-of tag support (Oliver Diehl)
125- Remove useless call to xmlRelaxNGCleanupTypes
126- Don't include ICU headers in public headers
127- Update `xmlStrlen()` to use POSIX / ISO C `strlen()` (Mike Dalessio)
128- Fix unused variable warnings with disabled features
129- Only warn on invalid redeclarations of predefined entities
130- Remove unneeded code in xmlreader.c
131- Rework validation context flags
132
133### Portability
134
135- Use NAN/INFINITY if available to init XPath NaN/Inf (Sergey Kosukhin)
136- Fix Python tests on macOS
137- Fix xmlCleanupThreads on Windows
138- Fix reinitialization of library on Windows
139- Don't mix declarations and code in runtest.c
140- Use portable python shebangs (David Seifert)
141- Use critical sections as mutex on Windows
142- Don't set HAVE_WIN32_THREADS in win32config.h
143- Use stdint.h with newer MSVC
144- Remove cruft from win32config.h
145- Remove isinf/isnan emulation in win32config.h
146- Always fopen files with "rb"
147- Remove __DJGPP__ checks
148- Remove useless __CYGWIN__ checks
149
150### Build system
151
152- Don't autogenerate doc/examples/Makefile.am
153- cmake: Install libxml.m4 on UNIX-like platforms (Daniel E)
154- cmake: Use symbol versioning on UNIX-like platforms (Daniel E)
155- Port genUnicode.py to Python 3
156- Port gentest.py to Python 3
157- cmake: Fix build without thread support
158- cmake: Install documentation in CMAKE_INSTALL_DOCDIR
159- cmake: Remove non needed files in docs dir (Daniel E)
160- configure: move XML_PRIVATE_LIBS after WIN32_EXTRA_LIBADD is set
161  (Christopher Degawa)
162- Move local Autoconf macros into m4 directory
163- Use XML_PRIVATE_LIBS in libxml2_la_LIBADD
164- Update libxml-2.0-uninstalled.pc.in
165- Remove LIBS from XML_PRIVATE_LIBS
166- Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
167- Don't overlink executables
168- cmake: Adjust paths for UNIX or UNIX-like target systems (Daniel Engberg)
169- build: Make use of variables in libxml's pkg-config file (Daniel Engberg)
170- Avoid obsolescent `test -a` constructs (David Seifert)
171- Move AM_MAINTAINER_MODE to AM section
172- configure.ac: make AM_SILENT_RULES([yes]) unconditional (David Seifert)
173- Streamline documentation installation
174- Don't try to recreate COPYING symlink
175- Detect libm using libtool's macros (David Seifert)
176- configure.ac: disable static libraries by default (David Seifert)
177- python/Makefile.am: nest python docs in $(docdir) (David Seifert)
178- python/Makefile.am: rely on global AM_INIT_AUTOMAKE (David Seifert)
179- Makefile.am: install examples more idiomatically (David Seifert)
180- configure.ac: remove useless AC_SUBST (David Seifert)
181- Respect `--sysconfdir` in source files (David Seifert)
182- Ignore configure backup file created by recent autoreconf too (Vadim Zeitlin)
183- Only install *.html and *.c example files
184- Remove --with-html-dir option
185- Rework documentation build system
186- Remove old website
187- Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings (David Seifert)
188- Update genChRanges.py
189- Update build_glob.py
190- Remove ICONV_CONST test
191- Remove obsolete AC_HEADER checks
192- Don't check for standard C89 library functions
193- Don't check for standard C89 headers
194- Remove special configuration for certain maintainers
195
196### Test suite, CI
197
198- Disable network in API tests
199- testapi: remove leading slash from "/missing.xml" (Mike Gilbert)
200- Build Autotools CI tests out of source tree (VPATH)
201- Add --with-minimum build to CI tests
202- Fix warnings when testing --with-minimum build
203- cmake: Run all tests when threads are disabled
204- Also build CI tests with -Werror
205- Move doc/examples tests to new test suite
206- Simplify 'make check' targets
207- Fix schemas and relaxng tests
208- Remove unused result files
209- Allow missing result files in runtest
210- Move regexp tests to runtest
211- Move SVG tests to runtest.c
212- Move testModule to new test suite
213- Move testThreads to new test suite
214- Remove major parts of old test suite
215- Make testchar return an error on failure (Tony Tascioglu)
216- Add CI job for static build
217- python/tests: open() relative to test scripts (David Seifert)
218- Port some test scripts to Python 3
219
220### Documentation
221
222- Improve documentation of tree manipulation API
223- Update xml2-config man page
224- Consolidate man pages
225- Rename xmlcatalog_man.xml
226- Make examples a standalone HTML page
227- Fix documentation in entities.c
228- Add note about optimization flags
229
230
231v2.9.14: May 02 2022:
232   - Security:
233  [CVE-2022-29824] Integer overflow in xmlBuf and xmlBuffer
234  Fix potential double-free in xmlXPtrStringRangeFunction
235  Fix memory leak in xmlFindCharEncodingHandler
236  Normalize XPath strings in-place
237  Prevent integer-overflow in htmlSkipBlankChars() and xmlSkipBlankChars()
238    (David Kilzer)
239  Fix leak of xmlElementContent (David Kilzer)
240
241   - Bug fixes:
242  Fix parsing of subtracted regex character classes
243  Fix recursion check in xinclude.c
244  Reset last error in xmlCleanupGlobals
245  Fix certain combinations of regex range quantifiers
246  Fix range quantifier on subregex
247
248   - Improvements:
249  Fix recovery from invalid HTML start tags
250
251   - Build system, portability:
252  Define LFS macros before including system headers
253  Initialize XPath floating-point globals
254  configure: check for icu DEFS (James Hilliard)
255  configure.ac: produce tar.xz only (GNOME policy) (David Seifert)
256  CMakeLists.txt: Fix LIBXML_VERSION_NUMBER
257  Fix build with older Python versions
258  Fix --without-valid build
259
260
261v2.9.13: Feb 19 2022:
262   - Security:
263  [CVE-2022-23308] Use-after-free of ID and IDREF attributes
264  (Thanks to Shinji Sato for the report)
265  Use-after-free in xmlXIncludeCopyRange (David Kilzer)
266  Fix Null-deref-in-xmlSchemaGetComponentTargetNs (huangduirong)
267  Fix memory leak in xmlXPathCompNodeTest
268  Fix null pointer deref in xmlStringGetNodeList
269  Fix several memory leaks found by Coverity (David King)
270
271   - Fixed regressions:
272  Fix regression in RelaxNG pattern matching
273  Properly handle nested documents in xmlFreeNode
274  Fix regression with PEs in external DTD
275  Fix random dropping of characters on dumping ASCII encoded XML (Mohammad Razavi)
276  Revert "Make schema validation fail with multiple top-level elements"
277  Fix regression when parsing invalid HTML tags in push mode
278  Fix regression parsing public IDs literals in HTML
279  Fix buffering in xmlOutputBufferWrite
280  Fix whitespace when serializing empty HTML documents
281  Fix XPath recursion limit
282  Fix regression in xmlNodeDumpOutputInternal
283  Work around lxml API abuse
284
285   - Bug fixes:
286  Fix xmlSetTreeDoc with entity references
287  Fix double counting of CRLF in comments
288  Make sure to grow input buffer in xmlParseMisc
289  Don't ignore xmllint options after "-"
290  Don't normalize namespace URIs in XPointer xmlns() scheme
291  Fix handling of XSD with empty namespace
292  Also register HTML document nodes
293  Make xmllint return an error if arguments are missing
294  Fix handling of ctxt->base in xmlXPtrEvalXPtrPart
295  Fix xmllint --maxmem
296  Fix htmlReadFd, which was using a mix of xml and html context functions (Finn Barber)
297  Move current position before possible calling of ctxt->sax->characters (Yulin Li)
298  Fix parse failure when 4-byte character in UTF-16 BE is split across a chunk (David Kilzer)
299  Patch to forbid epsilon-reduction of final states (Arne Becker)
300  Avoid segfault at exit when using custom memory functions (Mike Dalessio)
301
302   - Tests, code quality, fuzzing:
303  Remove .travis.yml
304  Make xmlFuzzReadString return a zero size in error case
305  Fix unused function warning in testapi.c
306  Update NewsML DTD in test suite
307  Add more checks for malloc failures in xmllint.c
308  Avoid potential integer overflow in xmlstring.c
309  Run CI tests with UBSan implicit-conversion checks
310  Fix casting of line numbers in SAX2.c
311  Fix integer conversion warnings in hash.c
312  Add explicit casts in runtest.c
313  Fix integer conversion warning in xmlIconvWrapper
314  Add suffix to unsigned constant in xmlmemory.c
315  Add explicit casts in testchar.c
316  Fix integer conversion warnings in xmlstring.c
317  Add explicit cast in xmlURIUnescapeString
318  Remove unused variable in xmlCharEncOutFunc (David King)
319
320   - Build system, portability:
321  Remove xmlwin32version.h
322  Fix fuzzer test with VPATH build
323  Support custom prefix when installing Python module
324  Remove Makefile.win
325  Remove CVS and SVN-related code
326  Port python 3.x module to Windows and improve distutils (Chun-wei Fan)
327  Correctly install the HTML examples into their subdirectory (Mattia Rizzolo)
328  Refactor the settings of $docdir (Mattia Rizzolo)
329  Remove unused configure checks (Ben Boeckel)
330  python/Makefile.am: use *_LIBADD, not *_LDFLAGS for LIBS (Sam James)
331  Fix check for libtool in autogen.sh
332  Use version in configure.ac for CMake (Timothy Lyanguzov)
333  Add CMake alias targets for embedded projects (Markus Rickert)
334
335   - Documentation:
336  Remove SVN keyword anchors
337  Rework README
338  Remove README.cvs-commits
339  Remove old ChangeLog
340  Update hyperlinks
341  Remove README.docs
342  Remove MAINTAINERS
343  Remove xmltutorial.pdf
344  Upload documentation to GitLab pages
345  Document how to escape XML_CATALOG_FILES
346  Fix libxml2.doap
347  Update URL for libxml++ C++ binding (Kjell Ahlstedt)
348  Generate devhelp2 index file (Emmanuele Bassi)
349  Mention XML_CATALOG_FILES is space-separated (Jan Tojnar)
350  Add documentaiton for xmllint exit code 10 (Rainer Canavan)
351  Fix some validation errors in the FAQ (David King)
352  Add instructions on how to use CMake to compile libxml (Markus Rickert)
353
354
355
356v2.9.12: May 13 2021:
357   - Build system:
358  Add fuzz.h and seed/regexp to EXTRA_DIST
359
360
361
362v2.9.11: May 13 2021:
363   - Security:
364  Patch for security issue CVE-2021-3541 (Daniel Veillard)
365
366   - Documentation:
367  Clarify xmlNewDocProp documentation (Nick Wellnhofer)
368
369   - Portability:
370  CMake: Only add postfixes if MSVC (Christopher Degawa),
371  Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),
372  Use CMake PROJECT_VERSION (Markus Rickert),
373  Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson),
374  Add CI for CMake on MSVC (Markus Rickert),
375  Update minimum required CMake version (Markus Rickert),
376  Add variables for configured options to CMake config files (Markus Rickert),
377  Check if variables exist when defining targets (Markus Rickert),
378  Check if target exists when reading target properties (Markus Rickert),
379  Add xmlcatalog target and definition to config files (Markus Rickert),
380  Remove include directories for link-only dependencies (Markus Rickert),
381  Fix ICU build in CMake (Markus Rickert),
382  Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),
383  Update CMake config files (Markus Rickert),
384  Add xmlcatalog and xmllint to CMake export (Markus Rickert),
385  Simplify xmlexports.h (Nick Wellnhofer),
386  Require dependencies based on enabled CMake options (Markus Rickert),
387  Use NAMELINK_COMPONENT in CMake install (Markus Rickert),
388  Add CMake files to EXTRA_DIST (Markus Rickert),
389  Add missing compile definition for static builds to CMake (Markus Rickert),
390  Add CI for CMake on Linux and MinGW (Markus Rickert),
391  Fix variable name in win32/configure.js (Nick Wellnhofer),
392  Fix version parsing in win32/configure.js (Nick Wellnhofer),
393  Fix autotools warnings (Nick Wellnhofer),
394  Update config.h.cmake.in (Markus Rickert),
395  win32: allow passing *FLAGS on command line (Michael Stahl),
396  Configure file xmlwin32version.h.in on MSVC (Markus Rickert),
397  List headers individually (Markus Rickert),
398  Add CMake build files (Markus Rickert),
399  Parenthesize Py<type>_Check() in ifs (Miro Hrončok),
400  Minor fixes to configure.js (Nick Wellnhofer)
401
402   - Bug Fixes:
403  Fix null deref in legacy SAX1 parser (Nick Wellnhofer),
404  Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer),
405  Fix line numbers in error messages for mismatched tags (Nick Wellnhofer),
406  Fix htmlTagLookup (Nick Wellnhofer),
407  Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer),
408  Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),
409  Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),
410  Validate UTF8 in xmlEncodeEntities (Joel Hockey),
411  Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),
412  Allow FP division by zero in xmlXPathInit (Nick Wellnhofer),
413  Fix xmlGetNodePath with invalid node types (Nick Wellnhofer),
414  Fix exponential behavior with recursive entities (Nick Wellnhofer),
415  Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer),
416  Fix slow parsing of HTML with encoding errors (Nick Wellnhofer),
417  Fix null deref introduced with previous commit (Nick Wellnhofer),
418  Check for invalid redeclarations of predefined entities (Nick Wellnhofer),
419  Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate),
420  parser.c: shrink the input buffer when appropriate (Mike Dalessio),
421  Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer),
422  Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer),
423  Fix timeout when handling recursive entities (Nick Wellnhofer),
424  Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer),
425  Fix null deref in xmlStringGetNodeList (Nick Wellnhofer),
426  use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio),
427  htmlParseComment: treat `--!>` as if it closed the comment (Mike Dalessio),
428  Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer),
429  encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni),
430  xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet->val" (Xiaoming Ni),
431  Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer),
432  Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer),
433  Avoid quadratic checking of identity-constraints (Michael Matz),
434  Fix building with ICU 68. (Frederik Seiffert),
435  Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner),
436  Fix xmlURIEscape memory leaks. (Elliott Hughes),
437  Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer),
438  Fix caret in regexp character group (Nick Wellnhofer),
439  parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio),
440  Fix memory leaks in XPointer string-range function (Nick Wellnhofer),
441  Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),
442  Fix SEGV in xmlSAXParseFileWithData (yanjinjq),
443  Fix null deref in XPointer expression error path (Nick Wellnhofer),
444  Don't call xmlXPathInit directly (Nick Wellnhofer),
445  Fix cleanup of attributes in XML reader (Nick Wellnhofer),
446  Fix double free in XML reader with XIncludes (Nick Wellnhofer),
447  Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer),
448  Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer),
449  Fix error reporting with xi:fallback (Nick Wellnhofer),
450  Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer),
451  Fix corner case with empty xi:fallback (Nick Wellnhofer),
452  Fix XInclude regression introduced with recent commit (Nick Wellnhofer),
453  Fix memory leak in runtest.c (Nick Wellnhofer),
454  Make "xmllint --push --recovery" work (Nick Wellnhofer),
455  Revert "Do not URI escape in server side includes" (Nick Wellnhofer),
456  Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer),
457  Stop counting nbChars in parser context (Nick Wellnhofer),
458  Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),
459  Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer),
460  Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer),
461  Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer),
462  Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer),
463  Check for custom free function in global destructor (Nick Wellnhofer),
464  Fix integer overflow when comparing schema dates (Nick Wellnhofer),
465  Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer),
466  Don't try to handle namespaces when building HTML documents (Nick Wellnhofer),
467  Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer),
468  Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer),
469  Reset XML parser input before reporting errors (David Kilzer),
470  Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer),
471  Fix HTML push parser lookahead (Nick Wellnhofer),
472  Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer),
473  Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),
474  Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer),
475  Reset HTML parser input before reporting error (Nick Wellnhofer),
476  Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer),
477  Fix regression introduced with 477c7f6a (Nick Wellnhofer),
478  Fix quadratic runtime in HTML parser (Nick Wellnhofer),
479  Reset HTML parser input before reporting encoding error (Nick Wellnhofer),
480  Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer),
481  Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer),
482  Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer),
483  Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer),
484  Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer),
485  Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),
486  Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer),
487  Fix integer overflow in htmlParseCharRef (Nick Wellnhofer),
488  Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer),
489  Fix return value of xmlCharEncOutput (Nick Wellnhofer),
490  Never expand parameter entities in text declaration (Nick Wellnhofer),
491  Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer),
492  Fix use-after-free with validating reader (Nick Wellnhofer),
493  xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer),
494  Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer),
495  Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer),
496  Make schema validation fail with multiple top-level elements (Nick Wellnhofer),
497  Call xmlCleanupParser on ELF destruction (Samuel Thibault),
498  Fix copying of entities in xmlParseReference (Nick Wellnhofer),
499  Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie),
500  Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz),
501  Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz),
502  Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),
503  Fix integer overflow in xmlBufferResize (Nick Wellnhofer),
504  Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),
505  Remove useless comparisons (Nick Wellnhofer),
506  Fix overflow check in xmlNodeDump (Nick Wellnhofer),
507  Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie),
508  Fix freeing of nested documents (Nick Wellnhofer),
509  Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer),
510  Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer),
511  Fix xml2-config error code (Nick Wellnhofer),
512  Fix memory leak in error path of XPath expr parser (Nick Wellnhofer),
513  Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer),
514  Null pointer handling in catalog.c (raniervf),
515  xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)
516
517   - Improvements:
518  Store per-element parser state in a struct (Nick Wellnhofer),
519  update for xsd:language type check (PaulHiggs),
520  Update INSTALL.libxml2 (Nick Wellnhofer),
521  Fix include order in c14n.h (Nick Wellnhofer),
522  Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer),
523  Speed up htmlCheckAutoClose (Nick Wellnhofer),
524  Speed up htmlTagLookup (Nick Wellnhofer),
525  Stop checking attributes for UTF-8 validity (Nick Wellnhofer),
526  Reduce some fuzzer timeouts (Nick Wellnhofer),
527  Only run a few CI tests unless scheduled (Nick Wellnhofer),
528  Improve fuzzer stability (Nick Wellnhofer),
529  Check for feature flags in fuzzer tests (Nick Wellnhofer),
530  Another attempt at improving fuzzer stability (Nick Wellnhofer),
531  Revert "Improve HTML fuzzer stability" (Nick Wellnhofer),
532  Add charset names to fuzzing dictionaries (Nick Wellnhofer),
533  Improve HTML fuzzer stability (Nick Wellnhofer),
534  Add CI for MSVC x86 (Markus Rickert),
535  Add a flag to not output anything when xmllint succeeded (hhb),
536  Speed up HTML fuzzer (Nick Wellnhofer),
537  Remove unused encoding parameter of HTML output functions (Nick Wellnhofer),
538  Handle malloc failures in fuzzing code (Nick Wellnhofer),
539  add test coverage for incorrectly-closed comments (Mike Dalessio),
540  Enforce maximum length of fuzz input (Nick Wellnhofer),
541  Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer),
542  Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner),
543  Add CI test for Python 3 (Nick Wellnhofer),
544  Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer),
545  Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),
546  Allow port numbers up to INT_MAX (Nick Wellnhofer),
547  Handle dumps of corrupted documents more gracefully (Nick Wellnhofer),
548  Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer),
549  Hardcode maximum XPath recursion depth (Nick Wellnhofer),
550  Pass URL of main entity in XML fuzzer (Nick Wellnhofer),
551  Consolidate seed corpus generation (Nick Wellnhofer),
552  Test fuzz targets with dummy driver (Nick Wellnhofer),
553  Fix regression introduced with commit d88df4b (Nick Wellnhofer),
554  Fix regression introduced with commit 74dcc10b (Nick Wellnhofer),
555  Add TODO comment in xinclude.c (Nick Wellnhofer),
556  Stop using maxParserDepth in xpath.c (Nick Wellnhofer),
557  Remove dead code in xinclude.c (Nick Wellnhofer),
558  Don't add formatting newlines to XInclude nodes (Nick Wellnhofer),
559  Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer),
560  Remove unneeded progress checks in HTML parser (Nick Wellnhofer),
561  Use strcmp when fuzzing (Nick Wellnhofer),
562  Fix XPath fuzzer (Nick Wellnhofer),
563  Fuzz XInclude engine (Nick Wellnhofer),
564  Add XPath and XPointer fuzzer (Nick Wellnhofer),
565  Update fuzzing code (Nick Wellnhofer),
566  More *NodeDumpOutput fixes (Nick Wellnhofer),
567  Fix *NodeDumpOutput functions (Nick Wellnhofer),
568  Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),
569  Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),
570  Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),
571  Fix .gitattributes (Nick Wellnhofer),
572  Rework control flow in htmlCurrentChar (Nick Wellnhofer),
573  Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),
574  Remove misleading comments in xpath.c (Nick Wellnhofer),
575  Update to Devhelp index file format version 2 (Andre Klapper),
576  Set project language to C (Markus Rickert),
577  Add variable for working directory of XML Conformance Test Suite (Markus Rickert),
578  Add additional tests and XML Conformance Test Suite (Markus Rickert),
579  Add command line option for temp directory in runtest (Markus Rickert),
580  Ensure LF line endings for test files (Markus Rickert),
581  Enable runtests and testThreads (Markus Rickert),
582  Limit regexp nesting depth (Nick Wellnhofer),
583  Fix return values and documentation in encoding.c (Nick Wellnhofer),
584  Add regexp regression tests (David Kilzer),
585  Report error for invalid regexp quantifiers (Nick Wellnhofer),
586  Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner),
587  Copy xs:duration parser from libexslt (Nick Wellnhofer),
588  Fuzz target for XML Schemas (Nick Wellnhofer),
589  Move entity recorder to fuzz.c (Nick Wellnhofer),
590  Fuzz target for HTML parser (Nick Wellnhofer),
591  Update GitLab CI container (Nick Wellnhofer),
592  Add options file for xml fuzzer (Nick Wellnhofer),
593  Add a couple of libFuzzer targets (Nick Wellnhofer),
594  Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng),
595  Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz),
596  Fix typos (Nick Wellnhofer),
597  Disable LeakSanitizer (Nick Wellnhofer),
598  Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer),
599  Add test case for recursive external parsed entities (Nick Wellnhofer),
600  Enable error tests with entity substitution (Nick Wellnhofer),
601  Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer),
602  Merge code paths loading external entities (Nick Wellnhofer),
603  Copy some XMLReader option flags to parser context (Nick Wellnhofer),
604  Add xmlPopOutputCallbacks (Nick Wellnhofer),
605  Updated Python test reader2.py (Pieter van Oostrum),
606  Updated python/tests/tstLastError.py (Pieter van Oostrum),
607  Use random seed in xmlDictComputeFastKey (Ranier Vilela),
608  Enable more undefined behavior sanitizers (Nick Wellnhofer)
609
610
611
612v2.9.10: Oct 30 2019:
613   - Documentation:
614  Fix a few more typos ("fonction") (Nick Wellnhofer),
615  Large batch of typo fixes (Jared Yanovich),
616  Fix typos: tree: move{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný),
617  Fix typo: xpath: simpli{ -> fi}ed (Jan Pokorný),
618  Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),
619  Fix comments in test code (zhouzhongyuan),
620  fix comment in testReader.c (zhouzhongyuan)
621
622   - Portability:
623  Fix some release issues on Fedora 30 (Daniel Veillard),
624  Fix exponent digits when running tests under old MSVC (Daniel Richard G),
625  Work around buggy ceil() function on AIX (Daniel Richard G),
626  Don't call printf with NULL string in runtest.c (Daniel Richard G),
627  Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),
628  timsort.h: support older GCCs (Jérôme Duval),
629  Make configure.ac work with older pkg-config (Nick Wellnhofer),
630  Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),
631  Fix nanohttp.c on MinGW (Nick Wellnhofer),
632  Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),
633  Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),
634  Fix Python bindings under Windows (Nick Wellnhofer)
635
636   - Bug Fixes:
637  Another fix for conditional sections at end of document (Nick Wellnhofer),
638  Fix for conditional sections at end of document (Nick Wellnhofer),
639  Make sure that Python tests exit with error code (Nick Wellnhofer),
640  Audit memory error handling in xpath.c (Nick Wellnhofer),
641  Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),
642  Fix integer overflow when counting written bytes (Nick Wellnhofer),
643  Fix uninitialized memory access in HTML parser (Nick Wellnhofer),
644  Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),
645  Disallow conditional sections in internal subset (Nick Wellnhofer),
646  Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),
647  Fix Regextests (Nick Wellnhofer),
648  Fix empty branch in regex (Nick Wellnhofer),
649  Fix integer overflow in entity recursion check (Nick Wellnhofer),
650  Don't read external entities or XIncludes from stdin (Nick Wellnhofer),
651  Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),
652  Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),
653  Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),
654  Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),
655  Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),
656  14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),
657  Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),
658  Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),
659  Misleading error message with xs:{min|max}Inclusive (bettermanzzy),
660  Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),
661  Partial fix for comparison of xs:durations (Nick Wellnhofer),
662  Fix null deref in xmlreader buffer (zhouzhongyuan),
663  Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),
664  Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),
665  Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),
666  fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),
667  Fix unsigned int overflow (Jens Eggerstedt),
668  dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),
669  Fix another code path in xmlParseQName (Nick Wellnhofer),
670  Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),
671  Fix build without reader but with pattern (Nick Wellnhofer),
672  Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),
673  Fix unsigned integer overflow (Nick Wellnhofer),
674  Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),
675  Fix parser termination from "Double hyphen within comment" error (David Warring),
676  Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),
677  Fix null deref in previous commit (Nick Wellnhofer),
678  Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),
679  Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),
680  Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),
681  Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),
682  Fix null deref in xmlregexp error path (Nick Wellnhofer),
683  Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),
684  Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),
685  Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),
686  Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),
687  Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),
688  Memory leak in xmlFreeTextReader (Nick Wellnhofer),
689  Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)
690
691   - Improvements:
692  Run XML conformance tests under CI (Nick Wellnhofer),
693  Update GitLab CI config (Nick Wellnhofer),
694  Propagate memory errors in valuePush (Nick Wellnhofer),
695  Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),
696  Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),
697  Enable continuous integration via GitLab CI (Nick Wellnhofer),
698  Avoid ignored attribute warnings under GCC (Nick Wellnhofer),
699  Make xmlDumpElementContent non-recursive (Nick Wellnhofer),
700  Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),
701  Mark xmlExp* symbols as removed (Nick Wellnhofer),
702  Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),
703  Adjust expected error in Python tests (Nick Wellnhofer),
704  Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),
705  Make xmlFreeNodeList non-recursive (Nick Wellnhofer),
706  Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),
707  Remove executable bit from non-executable files (Nick Wellnhofer),
708  Fix expected output of test/schemas/any4 (Nick Wellnhofer),
709  Optimize build instructions in README (zhouzhongyuan),
710  xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),
711  xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),
712  Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),
713  Fix warnings when compiling without reader or push parser (Nick Wellnhofer),
714  Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),
715  Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),
716  Remove -Wno-array-bounds (Nick Wellnhofer),
717  Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),
718  Improve XPath predicate and filter evaluation (Nick Wellnhofer),
719  Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),
720  Disable hash randomization when fuzzing (Nick Wellnhofer),
721  Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),
722  Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),
723  Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),
724  Optional XPath operation limit (Nick Wellnhofer),
725  Fix compilation with --with-minimum (Nick Wellnhofer),
726  Check XPath stack after calling functions (Nick Wellnhofer),
727  Remove debug printf in xmlreader.c (Nick Wellnhofer),
728  Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),
729  Regenerate NEWS (Nick Wellnhofer),
730  Change git repo URL (Nick Wellnhofer),
731  Change bug tracker URL (Nick Wellnhofer),
732  Remove outdated HTML file (Nick Wellnhofer),
733  Fix unused function warning in testapi.c (Nick Wellnhofer),
734  Add some generated test files to .gitignore (Nick Wellnhofer),
735  Remove unneeded function pointer casts (Nick Wellnhofer),
736  Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),
737  Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)
738
739   - Cleanups:
740  Rebuild docs (Nick Wellnhofer),
741  Disable xmlExp regex code (Nick Wellnhofer),
742  Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),
743  Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)
744
745
746
747v2.9.9: Jan 03 2019:
748   - Security:
749  CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),
750  CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),
751
752   - Documentation:
753  reader: Fix documentation comment (Mohammed Sadiq)
754
755   - Portability:
756  Fix MSVC build with lzma (Nick Wellnhofer),
757  Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner),
758  Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner),
759  Merge branch 'patch-2' into 'master' (Nick Wellnhofer),
760  Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka),
761  Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer),
762  NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer)
763
764   - Bug Fixes:
765  Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer),
766  Fix building relative URIs (Thomas Holder),
767  Problem with data in interleave in RelaxNG validation (Nikolai Weibull),
768  Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer),
769  Set doc on element obtained from freeElems (Nick Wellnhofer),
770  Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer),
771  Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer),
772  Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer),
773  Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer),
774  Free input buffer in xmlHaltParser (Nick Wellnhofer),
775  Reset HTML parser input pointers on encoding failure (Nick Wellnhofer),
776  Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer),
777  Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom),
778  Fix xmlTextReaderNext with preparsed document (Felix Bünemann),
779  Remove stray character from comment (Nick Wellnhofer),
780  Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski),
781  HTML noscript should not close p (Daniel Veillard),
782  Don't change context node in xmlXPathRoot (Nick Wellnhofer),
783  Stop using XPATH_OP_RESET (Nick Wellnhofer),
784  Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer)
785
786   - Improvements:
787  Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull),
788  cleanup: remove some unreachable code (Thomas Holder),
789  add --relative to testURI (Thomas Holder),
790  Remove redefined starts and defines inside include elements (Nikolai Weibull),
791  Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull),
792  Look inside divs for starts and defines inside include (Nikolai Weibull),
793  Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull),
794  Stop using doc->charset outside parser code (Nick Wellnhofer),
795  Add newlines to 'xmllint --xpath' output (Nick Wellnhofer),
796  Don't include SAX.h from globals.h (Nick Wellnhofer),
797  Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann),
798  Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)),
799  Run Travis ASan tests with "sudo: required" (Nick Wellnhofer),
800  Improve restoring of context size and position (Nick Wellnhofer),
801  Simplify and harden nodeset filtering (Nick Wellnhofer),
802  Avoid unnecessary backups of the context node (Nick Wellnhofer),
803  Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer)
804
805   - Cleanups:
806
807
808
809v2.9.8: Mar 05 2018:
810   - Portability:
811  python: remove single use of _PyVerify_fd (Patrick Welche),
812  Build more test executables on Windows/MSVC (Nick Wellnhofer),
813  Stop including ansidecl.h (Nick Wellnhofer),
814  Fix libz and liblzma detection (Nick Wellnhofer),
815  Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)
816
817   - Bug Fixes:
818  Fix xmlParserEntityCheck (Nick Wellnhofer),
819  Halt parser in case of encoding error (Nick Wellnhofer),
820  Clear entity content in case of errors (Nick Wellnhofer),
821  Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey),
822  Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),
823  Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),
824  Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),
825  Fix -Wenum-compare warnings (Nick Wellnhofer),
826  Fix callback signature in testapi.c (Nick Wellnhofer),
827  Fix unused parameter warning without ICU (Nick Wellnhofer),
828  Fix IO callback signatures (Nick Wellnhofer),
829  Fix misc callback signatures (Nick Wellnhofer),
830  Fix list callback signatures (Nick Wellnhofer),
831  Fix hash callback signatures (Nick Wellnhofer),
832  Refactor name and type signature for xmlNop (Vlad Tsyrklevich),
833  Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),
834  Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)
835
836   - Improvements:
837  Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),
838  Improve handling of context input_id (Daniel Veillard),
839  Add resource file to Windows DLL (ccpaging),
840  Run Travis tests with -Werror (Nick Wellnhofer),
841  Build with "-Wall -Wextra" (Nick Wellnhofer),
842  Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),
843  Remove unused AC_CHECKs (Nick Wellnhofer),
844  Update information about contributing (Nick Wellnhofer),
845  Fix -Wmisleading-indentation warnings (Nick Wellnhofer),
846  Don't touch CFLAGS in configure.ac (Nick Wellnhofer),
847  Ignore function pointer cast warnings (Nick Wellnhofer),
848  Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),
849  Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),
850  Add test for ICU flush and pivot buffer (Nick Wellnhofer),
851  Compile testapi with -Wno-unused-function (Nick Wellnhofer)
852
853
854
8552.9.7: Nov 02 2017:
856   - Documentation:
857  xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný)
858
859   - Portability:
860  Fix deprecated Travis compiler flag (Nick Wellnhofer),
861  Add declaration for DllMain (J. Peter Mugaas),
862  Fix preprocessor conditional in threads.h (J. Peter Mugaas),
863  Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),
864  Fix macro redefinition warning (J. Peter Mugaas),
865  Default to native threads on MinGW-w64 (Nick Wellnhofer),
866  Simplify Windows IO functions (Nick Wellnhofer),
867  Fix runtest on Windows (Nick Wellnhofer),
868  socklen_t is always int on Windows (Nick Wellnhofer),
869  Don't redefine socket error codes on Windows (Nick Wellnhofer),
870  Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),
871  Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)
872
873   - Bug Fixes:
874  xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),
875  Fix comparison of nodesets to strings (Nick Wellnhofer)
876
877   - Improvements:
878  Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),
879  Fix mixed decls and code in timsort.h (Nick Wellnhofer),
880  Rework handling of return values in thread tests (Nick Wellnhofer),
881  Fix unused variable warnings in testrecurse (Nick Wellnhofer),
882  Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),
883  Upgrade timsort.h to latest revision (Nick Wellnhofer),
884  Increase warning level to /W3 under MSVC (Nick Wellnhofer),
885  Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),
886  Update .gitignore for Windows (Nick Wellnhofer),
887  Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),
888  Fix the Windows header mess (Nick Wellnhofer),
889  Don't include winsock2.h in xmllint.c (Nick Wellnhofer),
890  Remove generated file python/setup.py from version control (Nick Wellnhofer),
891  Use __linux__ macro in generated code (Nick Wellnhofer)
892
893
894
895v2.9.6: Oct 06 2017:
896   - Portability:
897  Change preprocessor OS tests to __linux__ (Nick Wellnhofer)
898
899   - Bug Fixes:
900  Fix XPath stack frame logic (Nick Wellnhofer),
901  Report undefined XPath variable error message (Nick Wellnhofer),
902  Fix regression with librsvg (Nick Wellnhofer),
903  Handle more invalid entity values in recovery mode (Nick Wellnhofer),
904  Fix structured validation errors (Nick Wellnhofer),
905  Fix memory leak in LZMA decompressor (Nick Wellnhofer),
906  Set memory limit for LZMA decompression (Nick Wellnhofer),
907  Handle illegal entity values in recovery mode (Nick Wellnhofer),
908  Fix debug dump of streaming XPath expressions (Nick Wellnhofer),
909  Fix memory leak in nanoftp (Nick Wellnhofer),
910  Fix memory leaks in SAX1 parser (Nick Wellnhofer)
911
912
913
914v2.9.5: Sep 04 2017:
915   - Security:
916  Detect infinite recursion in parameter entities (Nick Wellnhofer),
917  Fix handling of parameter-entity references (Nick Wellnhofer),
918  Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),
919  Fix XPointer paths beginning with range-to (Nick Wellnhofer)
920
921   - Documentation:
922  Documentation fixes (Nick Wellnhofer),
923  Spelling and grammar fixes (Nick Wellnhofer)
924
925   - Portability:
926  Adding README.zOS to list of extra files for the release (Daniel Veillard),
927  Description of work needed to compile on zOS (Stéphane Michaut),
928  Porting libxml2 on zOS encoding of code (Stéphane Michaut),
929  small changes for OS/400 (Patrick Monnerat),
930  relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)
931
932   - Bug Fixes:
933  Problem resolving relative URIs (Daniel Veillard),
934  Fix unwanted warnings when switching encodings (Nick Wellnhofer),
935  Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard),
936  Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),
937  Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer),
938  Fix infinite loops with push parser in recovery mode (Nick Wellnhofer),
939  Send xmllint usage error to stderr (Nick Wellnhofer),
940  Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer),
941  Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer),
942  Fix xmlHaltParser (Nick Wellnhofer),
943  Fix pathological performance when outputting charrefs (Nick Wellnhofer),
944  Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),
945  Fix duplicate SAX callbacks for entity content (David Kilzer),
946  Treat URIs with scheme as absolute in C14N (Nick Wellnhofer),
947  Fix copy-paste errors in error messages (Nick Wellnhofer),
948  Fix sanity check in htmlParseNameComplex (Nick Wellnhofer),
949  Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer),
950  Reset parser input pointers on encoding failure (Nick Wellnhofer),
951  Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer),
952  Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer),
953  Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer),
954  Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer),
955  Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard),
956  Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer),
957  Stop parser on unsupported encodings (Nick Wellnhofer),
958  Check for integer overflow in memory debug code (Nick Wellnhofer),
959  Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer),
960  Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer),
961  Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer),
962  Check XPath exponents for overflow (Nick Wellnhofer),
963  Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer),
964  Fix spurious error message (Nick Wellnhofer),
965  Fix memory leak in xmlCanonicPath (Nick Wellnhofer),
966  Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer),
967  Fix memory leak in pattern error path (Nick Wellnhofer),
968  Fix memory leak in parser error path (Nick Wellnhofer),
969  Fix memory leaks in XPointer error paths (Nick Wellnhofer),
970  Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer),
971  Fix memory leak in XPath filter optimizations (Nick Wellnhofer),
972  Fix memory leaks in XPath error paths (Nick Wellnhofer),
973  Do not leak the new CData node if adding fails (David Tardon),
974  Prevent unwanted external entity reference (Neel Mehta),
975  Increase buffer space for port in HTTP redirect support (Daniel Veillard),
976  Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer),
977  Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer),
978  Fix format string warnings (Nick Wellnhofer),
979  Disallow namespace nodes in XPointer points (Nick Wellnhofer),
980  Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer),
981  Fix attribute decoding during XML schema validation (Alex Henrie),
982  Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)
983
984   - Improvements:
985  Updating the spec file to reflect Fedora 24 (Daniel Veillard),
986  Add const in five places to move 1 KiB to .rdata (Bruce Dawson),
987  Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard),
988  Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer),
989  Simplify handling of parameter entity references (Nick Wellnhofer),
990  Deduplicate code in encoding.c (Nick Wellnhofer),
991  Make HTML parser functions take const pointers (Nick Wellnhofer),
992  Build test programs only when needed (Nick Wellnhofer),
993  Fix doc/examples/index.py (Nick Wellnhofer),
994  Fix compiler warnings in threads.c (Nick Wellnhofer),
995  Fix empty-body warning in nanohttp.c (Nick Wellnhofer),
996  Fix cast-align warnings (Nick Wellnhofer),
997  Fix unused-parameter warnings (Nick Wellnhofer),
998  Rework entity boundary checks (Nick Wellnhofer),
999  Don't switch encoding for internal parameter entities (Nick Wellnhofer),
1000  Merge duplicate code paths handling PE references (Nick Wellnhofer),
1001  Test SAX2 callbacks with entity substitution (Nick Wellnhofer),
1002  Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),
1003  Misc fixes for 'make tests' (Nick Wellnhofer),
1004  Initialize keepBlanks in HTML parser (Nick Wellnhofer),
1005  Add test cases for bug 758518 (David Kilzer),
1006  Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer),
1007  Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer),
1008  Allow zero sized memory input buffers (Nick Wellnhofer),
1009  Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer),
1010  Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer),
1011  Make Travis print UBSan stacktraces (Nick Wellnhofer),
1012  Add .travis.yml (Nick Wellnhofer),
1013  Fix expected error output in Python tests (Nick Wellnhofer),
1014  Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer),
1015  Disable LeakSanitizer when running API tests (Nick Wellnhofer),
1016  Avoid out-of-bound array access in API tests (Nick Wellnhofer),
1017  Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),
1018  Parse small XPath numbers more accurately (Nick Wellnhofer),
1019  Rework XPath rounding functions (Nick Wellnhofer),
1020  Fix white space in test output (Nick Wellnhofer),
1021  Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer),
1022  Check for trailing characters in XPath expressions earlier (Nick Wellnhofer),
1023  Rework final handling of XPath results (Nick Wellnhofer),
1024  Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer),
1025  Remove unused variables (Nick Wellnhofer),
1026  Don't print generic error messages in XPath tests (Nick Wellnhofer)
1027
1028   - Cleanups:
1029  Fix a couple of misleading indentation errors (Daniel Veillard),
1030  Remove unnecessary calls to xmlPopInput (Nick Wellnhofer)
1031
1032
1033
10342.9.4: May 23 2016:
1035   - Security:
1036  More format string warnings with possible format string vulnerability (David Kilzer),
1037  Avoid building recursive entities (Daniel Veillard),
1038  Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde),
1039  Heap-based buffer-underreads due to xmlParseName (David Kilzer),
1040  Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde),
1041  Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde),
1042  Fix some format string warnings with possible format string vulnerability (David Kilzer),
1043  Detect change of encoding when parsing HTML names (Hugh Davenport),
1044  Fix inappropriate fetch of entities content (Daniel Veillard),
1045  Bug 759398: Heap use-after-free in xmlDictComputeFastKey <https://bugzilla.gnome.org/show_bug.cgi?id=759398> (Pranjal Jumde),
1046  Bug 758605: Heap-based buffer overread in xmlDictAddString <https://bugzilla.gnome.org/show_bug.cgi?id=758605> (Pranjal Jumde),
1047  Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal <https://bugzilla.gnome.org/show_bug.cgi?id=758588> (David Kilzer),
1048  Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup <https://bugzilla.gnome.org/show_bug.cgi?id=757711> (Pranjal Jumde),
1049  Add missing increments of recursion depth counter to XML parser. (Peter Simons)
1050
1051   - Documentation:
1052  Fix typo: s{ ec -> cr }cipt (Jan Pokorný),
1053  Fix typos: dictio{ nn -> n }ar{y,ies} (Jan Pokorný),
1054  Fix typos: PATH_{ SEAPARATOR -> SEPARATOR } (Jan Pokorný),
1055  Correct a typo. (Shlomi Fish)
1056
1057   - Portability:
1058  Correct the usage of LDFLAGS (Mattias Hansson),
1059  Revert the use of SAVE_LDFLAGS in configure.ac (Mattias Hansson),
1060  libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger),
1061  Fix apibuild for a recently added construct (Daniel Veillard),
1062  Use pkg-config to locate zlib when possible (Stewart Brodie),
1063  Use pkg-config to locate ICU when possible (Stewart Brodie),
1064  Portability to non C99 compliant compilers (Patrick Monnerat),
1065  dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. (Patrick Monnerat),
1066  os400: tell about xmllint and xmlcatalog in README400. (Patrick Monnerat),
1067  os400: properly process SGML add in XMLCATALOG command. (Patrick Monnerat),
1068  os400: implement CL command XMLCATALOG. (Patrick Monnerat),
1069  os400: compile and install program xmlcatalog (qshell-only). (Patrick Monnerat),
1070  os400: expand tabs in sources, strip trailing blanks. (Patrick Monnerat),
1071  os400: implement CL command XMLLINT. (Patrick Monnerat),
1072  os400: compile and install program xmllint (qshell-only). (Patrick Monnerat),
1073  os400: initscript make_module(): Use options instead of positional parameters. (Patrick Monnerat),
1074  os400: c14n.rpgle: allow *omit for nullable reference parameters. (Patrick Monnerat),
1075  os400: use like() for double type. (Patrick Monnerat),
1076  os400: use like() for int type. (Patrick Monnerat),
1077  os400: use like() for unsigned int type. (Patrick Monnerat),
1078  os400: use like() for enum types. (Patrick Monnerat),
1079  Add xz to xml2-config --libs output (Baruch Siach),
1080  Bug 760190: configure.ac should be able to build --with-icu without icu-config tool <https://bugzilla.gnome.org/show_bug.cgi?id=760190> (David Kilzer),
1081  win32\VC10\config.h and VS 2015 (Bruce Dawson),
1082  Add configure maintainer mode (orzen)
1083
1084   - Bug Fixes:
1085  Avoid an out of bound access when serializing malformed strings (Daniel Veillard),
1086  Unsigned addition may overflow in xmlMallocAtomicLoc() (David Kilzer),
1087  Integer signed/unsigned type mismatch in xmlParserInputGrow() (David Kilzer),
1088  Bug 763071: heap-buffer-overflow in xmlStrncat <https://bugzilla.gnome.org/show_bug.cgi?id=763071> (Pranjal Jumde),
1089  Integer overflow parsing port number in URI (Michael Paddon),
1090  Fix an error with regexp on nullable counted char transition (Daniel Veillard),
1091  Fix memory leak with XPath namespace nodes (Nick Wellnhofer),
1092  Fix namespace axis traversal (Nick Wellnhofer),
1093      Fix null pointer deref in docs with no root element (Hugh Davenport),
1094  Fix XSD validation of URIs with ampersands (Alex Henrie),
1095  xmlschemastypes.c: accept endOfDayFrag Times set to "24:00:00" mean "end of day" and should not cause an error. (Patrick Monnerat),
1096  xmlcatalog: flush stdout before interactive shell input. (Patrick Monnerat),
1097  xmllint: flush stdout before interactive shell input. (Patrick Monnerat),
1098  Don't recurse into OP_VALUEs in xmlXPathOptimizeExpression (Nick Wellnhofer),
1099  Fix namespace::node() XPath expression (Nick Wellnhofer),
1100  Fix OOB write in xmlXPathEmptyNodeSet (Nick Wellnhofer),
1101  Fix parsing of NCNames in XPath (Nick Wellnhofer),
1102  Fix OOB read with invalid UTF-8 in xmlUTF8Strsize (Nick Wellnhofer),
1103  Do normalize string-based datatype value in RelaxNG facet checking (Audric Schiltknecht),
1104  Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorrectly recomposes URIs with rootless paths" <https://bugzilla.gnome.org/show_bug.cgi?id=760921> (David Kilzer),
1105  Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd <https://bugzilla.gnome.org/show_bug.cgi?id=760861> (David Kilzer),
1106  error.c: *input->cur == 0 does not mean no error (Pavel Raiskup),
1107  Add missing RNG test files (David Kilzer),
1108  Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer <https://bugzilla.gnome.org/show_bug.cgi?id=760183> (David Kilzer),
1109  Bug 758572: ASAN crash in make check <https://bugzilla.gnome.org/show_bug.cgi?id=758572> (David Kilzer),
1110  Bug 721158: Missing ICU string when doing --version on xmllint <https://bugzilla.gnome.org/show_bug.cgi?id=721158> (David Kilzer),
1111  python 3: libxml2.c wrappers create Unicode str already (Michael Stahl),
1112  Add autogen.sh to distrib (orzen),
1113  Heap-based buffer overread in xmlNextChar (Daniel Veillard)
1114
1115   - Improvements:
1116  Add more debugging info to runtest (Daniel Veillard),
1117  Implement "runtest -u" mode (David Kilzer),
1118  Add a make rule to rebuild for ASAN (Daniel Veillard)
1119
1120
1121
1122v2.9.3: Nov 20 2015:
1123   - Security:
1124  CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport),
1125  CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard),
1126  CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard),
1127  CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard),
1128  CVE-2015-5312 Another entity expansion issue (David Drysdale),
1129  CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale),
1130  CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard),
1131  CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard),
1132  CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard),
1133  CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard),
1134  CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard)
1135  CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard),
1136  CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard),
1137
1138   - Documentation:
1139  Correct spelling of "calling" (Alex Henrie),
1140  Fix a small error in xmllint --format description (Fabien Degomme),
1141  Avoid XSS on the search of xmlsoft.org (Daniel Veillard)
1142
1143   - Portability:
1144  threads: use forward declarations only for glibc (Michael Heimpold),
1145  Update Win32 configure.js to search for configure.ac (Daniel Veillard)
1146
1147   - Bug Fixes:
1148  Bug on creating new stream from entity (Daniel Veillard),
1149  Fix some loop issues embedding NEXT (Daniel Veillard),
1150  Do not print error context when there is none (Daniel Veillard),
1151  Avoid extra processing of MarkupDecl when EOF (Hugh Davenport),
1152  Fix parsing short unclosed comment uninitialized access (Daniel Veillard),
1153  Add missing Null check in xmlParseExternalEntityPrivate (Gaurav Gupta),
1154  Fix a bug in CData error handling in the push parser (Daniel Veillard),
1155  Fix a bug on name parsing at the end of current input buffer (Daniel Veillard),
1156  Fix the spurious ID already defined error (Daniel Veillard),
1157  Fix previous change to node sort order (Nick Wellnhofer),
1158  Fix a self assignment issue raised by clang (Scott Graham),
1159  Fail parsing early on if encoding conversion failed (Daniel Veillard),
1160  Do not process encoding values if the declaration if broken (Daniel Veillard),
1161  Silence clang's -Wunknown-attribute (Michael Catanzaro),
1162  xmlMemUsed is not thread-safe (Martin von Gagern),
1163  Fix support for except in nameclasses (Daniel Veillard),
1164  Fix order of root nodes (Nick Wellnhofer),
1165  Allow attributes on descendant-or-self axis (Nick Wellnhofer),
1166  Fix the fix to Windows locking (Steve Nairn),
1167  Fix timsort invariant loop re: Envisage article (Christopher Swenson),
1168  Don't add IDs in xmlSetTreeDoc (Nick Wellnhofer),
1169  Account for ID attributes in xmlSetTreeDoc (Nick Wellnhofer),
1170  Remove various unused value assignments (Philip Withnall),
1171  Fix missing entities after CVE-2014-3660 fix (Daniel Veillard),
1172  Revert "Missing initialization for the catalog module" (Daniel Veillard)
1173
1174   - Improvements:
1175  Reuse xmlHaltParser() where it makes sense (Daniel Veillard),
1176  xmlStopParser reset errNo (Daniel Veillard),
1177  Re-enable xz support by default (Daniel Veillard),
1178  Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),
1179  Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),
1180  Regression test for bug #695699 (Nick Wellnhofer),
1181  Add a couple of XPath tests (Nick Wellnhofer),
1182  Add Python 3 rpm subpackage (Tomas Radej),
1183  libxml2-config.cmake.in: update include directories (Samuel Martin),
1184  Adding example from bugs 738805 to regression tests (Daniel Veillard)
1185
1186   - Cleanups:
1187
1188
1189
11902.9.2: Oct 16 2014:
1191   - Security:
1192  Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),
1193  CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)
1194
1195   - Bug Fixes:
1196  fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer),
1197  xmlmemory: handle realloc properly (Yegor Yefremov),
1198  Python generator bug raised by the const change (Daniel Veillard),
1199  Windows Critical sections not released correctly (Daniel Veillard),
1200  Parser error on repeated recursive entity expansion containing &lt; (Daniel Veillard),
1201  xpointer : fixing Null Pointers (Gaurav Gupta),
1202  Remove Unnecessary Null check in xpointer.c (Gaurav Gupta),
1203  parser bug on misformed namespace attributes (Dennis Filder),
1204  Pointer dereferenced before null check (Daniel Veillard),
1205  Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta),
1206  Possible overflow in HTMLParser.c (Daniel Veillard),
1207  python/tests/sync.py assumes Python dictionaries are ordered (John Beck),
1208  Fix Enum check and missing break (Gaurav Gupta),
1209  xmlIO: Handle error returns from dup() (Philip Withnall),
1210  Fix a problem properly saving URIs (Daniel Veillard),
1211  wrong error column in structured error when parsing attribute values (Juergen Keil),
1212  wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil),
1213  no error column in structured error handler for xml schema validation errors (Juergen Keil),
1214  Couple of Missing Null checks (Gaurav Gupta),
1215  Add couple of missing Null checks (Daniel Veillard),
1216  xmlschemastypes: Fix potential array overflow (Philip Withnall),
1217  runtest: Fix a memory leak on parse failure (Philip Withnall),
1218  xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall),
1219  xmlcatalog: Fix a memory leak on quit (Philip Withnall),
1220  HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall),
1221  Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer),
1222  Avoid Possible Null Pointer in trio.c (Gaurav Gupta),
1223  Fix processing in SAX2 in case of an allocation failure (Daniel Veillard),
1224  XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard),
1225  Fix various Missing Null checks (Gaurav Gupta),
1226  Fix a potential NULL dereference (Daniel Veillard),
1227  Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta),
1228  Add a missing argument check (Gaurav Gupta),
1229  Adding a check in case of allocation error (Gaurav Gupta),
1230  xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder),
1231  Adding some missing NULL checks (Gaurav),
1232  Fixes for xmlInitParserCtxt (Daniel Veillard),
1233  Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),
1234  erroneously ignores a validation error if no error callback set (Daniel Veillard),
1235  xmllint was not parsing the --c14n11 flag (Sérgio Batista),
1236  Avoid Possible null pointer dereference in memory debug mode (Gaurav),
1237  Avoid Double Null Check (Gaurav),
1238  Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer),
1239  Fix xmlParseInNodeContext() if node is not element (Daniel Veillard),
1240  Avoid a possible NULL pointer dereference (Gaurav),
1241  Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard),
1242  Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard),
1243  fixing a ptotential uninitialized access (Daniel Veillard),
1244  Fix an fd leak in an error case (Daniel Veillard),
1245  Missing initialization for the catalog module (Daniel Veillard),
1246  Handling of XPath function arguments in error case (Nick Wellnhofer),
1247  Fix a couple of missing NULL checks (Gaurav),
1248  Avoid a possibility of dangling encoding handler (Gaurav),
1249  Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks),
1250  Fix a bug loading some compressed files (Mike Alexander),
1251  Fix XPath node comparison bug (Gaurav),
1252  Type mismatch in xmlschemas.c (Gaurav),
1253  Type mismatch in xmlschemastypes.c (Gaurav),
1254  Avoid a deadcode in catalog.c (Daniel Veillard),
1255  run close socket on Solaris, same as we do on other platforms (Denis Pauk),
1256  Fix pointer dereferenced before null check (Gaurav),
1257  Fix a potential NULL dereference in tree code (Daniel Veillard),
1258  Fix potential NULL pointer dereferences in regexp code (Gaurav),
1259  xmllint --pretty crashed without following numeric argument (Tim Galeckas),
1260  Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer),
1261  Fix XPath '//' optimization with predicates (Nick Wellnhofer),
1262  Clear up a potential NULL dereference (Daniel Veillard),
1263  Fix a possible NULL dereference (Gaurav),
1264  Avoid crash if allocation fails (Daniel Veillard),
1265  Remove occasional leading space in XPath number formatting (Daniel Veillard),
1266  Fix handling of mmap errors (Daniel Veillard),
1267  Catch malloc error and exit accordingly (Daniel Veillard),
1268  missing else in xlink.c (Ami Fischman),
1269  Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),
1270  Fix a regression in xmlGetDocCompressMode() (Daniel Veillard),
1271  properly quote the namespace uris written out during c14n (Aleksey Sanin),
1272  Remove premature XInclude check on URI being relative (Alexey Neyman),
1273  Fix missing break on last() function for attributes (dcb),
1274  Do not URI escape in server side includes (Romain Bondue),
1275  Fix an error in xmlCleanupParser (Alexander Pastukhov)
1276
1277   - Documentation:
1278  typo in error messages "colon are forbidden from..." (Daniel Veillard),
1279  Fix a link to James SAX documentation old page (Daniel Veillard),
1280  Fix typos in relaxng.c (Jan Pokorný),
1281  Fix a doc typo (Daniel Veillard),
1282  Fix typos in {tree,xpath}.c (errror) (Jan Pokorný),
1283  Add limitations about encoding conversion (Daniel Veillard),
1284  Fix typos in xmlschemas{,types}.c (Jan Pokorný),
1285  Fix incorrect spelling entites->entities (Jan Pokorný),
1286  Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard)
1287
1288   - Portability:
1289  AC_CONFIG_FILES and executable bit (Roumen Petrov),
1290  remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov),
1291  fix some tabs mixing incompatible with python3 (Roumen Petrov),
1292  Visual Studio 14 CTP defines snprintf() (Francis Dupont),
1293  OS400: do not try to copy unexisting doc files (Patrick Monnerat),
1294  OS400: use either configure.ac or configure.in. (Patrick Monnerat),
1295  os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),
1296  OS400: Add some more C macros equivalent procedures. (Patrick Monnerat),
1297  OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat),
1298  OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat),
1299  OS400: include in distribution tarball. (Patrick Monnerat),
1300  OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat),
1301  OS400: Add compilation scripts. (Patrick Monnerat),
1302  OS400: ILE RPG language header files. (Patrick Monnerat),
1303  OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat),
1304  OS400: UTF8<-->EBCDIC wrappers for system and external library calls (Patrick Monnerat),
1305  OS400: Easy character transcoding support (Patrick Monnerat),
1306  OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),
1307  OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),
1308  Fix building when configuring without xpath and xptr (Daniel Veillard),
1309  configure: Add --with-python-install-dir (Jonas Eriksson),
1310  Fix compilation with minimum and xinclude. (Nicolas Le Cam),
1311  Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),
1312  Fix compilation with minimum and schematron. (Nicolas Le Cam),
1313  Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),
1314  Don't use xmlValidateName() when not available. (Nicolas Le Cam),
1315  Fix a portability issue on Windows (Longstreth Jon),
1316  Various portability patches for OpenVMS (Jacob (Jouk) Jansen),
1317  Use specific macros for portability to OS/400 (Patrick Monnerat),
1318  Add macros needed for OS/400 portability (Patrick Monnerat),
1319  Portability patch for fopen on OS/400 (Patrick Monnerat),
1320  Portability fixes for OS/400 (Patrick Monnerat),
1321  Improve va_list portability (Patrick Monnerat),
1322  Portability fix (Patrick Monnerat),
1323  Portability fix (Patrick Monnerat),
1324  Generic portability fix (Patrick Monnerat),
1325  Shortening lines in headers (Patrick Monnerat),
1326  build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),
1327  build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),
1328  fix some tabs mixing incompatible with python3 (Daniel Veillard),
1329  add additional defines checks for support "./configure --with-minimum" (Denis Pauk),
1330  Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),
1331  python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),
1332  python: Fix compiler warnings when building python3 bindings (Armin K),
1333  Fix for compilation with python 2.6.8 (Petr Sumbera)
1334
1335   - Improvements:
1336  win32/libxml2.def.src after rebuild in doc (Roumen Petrov),
1337  elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),
1338  elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),
1339  Provide cmake module (Samuel Martin),
1340  Fix a couple of issues raised by make dist (Daniel Veillard),
1341  Fix and add const qualifiers (Kurt Roeckx),
1342  Preparing for upcoming release of 2.9.2 (Daniel Veillard),
1343  Fix zlib and lzma libraries check via command line (Dmitriy),
1344  wrong error column in structured error when parsing end tag (Juergen Keil),
1345  doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),
1346  Add methods for python3 iterator (Ron Angeles),
1347  Support element node traversal in document fragments. (Kyle VanderBeek),
1348  xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),
1349  Added macros for argument casts (Eric Zurcher),
1350  adding init calls to xml and html Read parsing entry points (Daniel Veillard),
1351  Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),
1352  Implement choice for name classes on attributes (Shaun McCance),
1353  Two small namespace tweaks (Daniel Veillard),
1354  xmllint --memory should fail on empty files (Daniel Veillard),
1355  Cast encoding name to char pointer to match arg type (Nikolay Sivov)
1356
1357   - Cleanups:
1358  Removal of old configure.in (Daniel Veillard),
1359  Unreachable code in tree.c (Gaurav Gupta),
1360  Remove a couple of dead conditions (Gaurav Gupta),
1361  Avoid some dead code and cleanup in relaxng.c (Gaurav),
1362  Drop not needed checks (Denis Pauk),
1363  Fix a wrong test (Daniel Veillard)
1364
1365
1366
13672.9.1: Apr 19 2013:
1368   -  Features:
1369    Support for Python3 (Daniel Veillard),
1370    Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh)
1371
1372   -  Documentation:
1373    Add documentation for xmllint --xpath (Daniel Veillard),
1374    Fix the URL of the SAX documentation from James (Daniel Veillard),
1375    Fix spelling of "length". (Michael Wood)
1376
1377   -  Portability:
1378    Fix python bindings with versions older than 2.7 (Daniel Veillard),
1379    rebuild docs:Makefile.am (Roumen Petrov),
1380    elfgcchack.h after rebuild in doc (Roumen Petrov),
1381    elfgcchack for buf module (Roumen Petrov),
1382    Fix a uneeded and wrong extra link parameter (Daniel Veillard),
1383    Few cleanup patches for Windows (Denis Pauk),
1384    Fix rpmbuild --nocheck (Mark Salter),
1385    Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard),
1386    Fix Broken multi-arch support in xml2-config (Daniel Veillard),
1387    Fix a portability issue for GCC < 3.4.0 (Daniel Veillard),
1388    Windows build fixes (Daniel Richard),
1389    Fix a thread portability problem (Friedrich Haubensak),
1390    Downgrade autoconf requirement to 2.63 (Daniel Veillard)
1391
1392   -  Bug Fixes:
1393    Fix a linking error for python bindings (Daniel Veillard),
1394    Fix a couple of return without value (Jüri Aedla),
1395    Improve the hashing functions (Daniel Franke),
1396    Improve handling of xmlStopParser() (Daniel Veillard),
1397    Remove risk of lockup in dictionary initialization (Daniel Veillard),
1398    Activate detection of encoding in external subset (Daniel Veillard),
1399    Fix an output buffer flushing conversion bug (Mikhail Titov),
1400    Fix an old bug in xmlSchemaValidateOneElement (Csaba László),
1401    Fix configure cannot remove messages (Gilles Espinasse),
1402    fix schema validation in combination with xsi:nil (Daniel Veillard),
1403    xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf),
1404    Fix a few problems with setEntityLoader (Alexey Neyman),
1405    Detect excessive entities expansion upon replacement (Daniel Veillard),
1406    Fix the flushing out of raw buffers on encoding conversions (Daniel,
1407Veillard),
1408    Fix some buffer conversion issues (Daniel Veillard),
1409    When calling xmlNodeDump make sure we grow the buffer quickly (Daniel,
1410Veillard),
1411    Fix an error in the progressive DTD parsing code (Dan Winship),
1412    xmllint should not load DTD by default when using the reader (Daniel,
1413Veillard),
1414    Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),
1415    Fix potential out of bound access (Daniel Veillard),
1416    Fix large parse of file from memory (Daniel Veillard),
1417    Fix a bug in the nsclean option of the parser (Daniel Veillard),
1418    Fix a regression in 2.9.0 breaking validation while streaming (Daniel,
1419Veillard),
1420    Remove potential calls to exit() (Daniel Veillard)
1421
1422   -  Improvements:
1423    Regenerated API, and testapi, rebuild documentation (Daniel Veillard),
1424    Fix tree iterators broken by 2to3 script (Daniel Veillard),
1425    update all tests for Python3 and Python2 (Daniel Veillard),
1426    A few more fixes for python 3 affecting libxml2.py (Daniel Veillard),
1427    Fix compilation on Python3 (Daniel Veillard),
1428    Converting apibuild.py to python3 (Daniel Veillard),
1429    First pass at starting porting to python3 (Daniel Veillard),
1430    updated configure.in for python3 (Daniel Veillard),
1431    Add support for xpathRegisterVariable in Python (Shaun McCance),
1432    Added a regression tests from bug 694228 data (Daniel Veillard),
1433    Cache presence of '<' in entities content (Daniel Veillard),
1434    Avoid extra processing on entities (Daniel Veillard),
1435    Python binding for xmlRegisterInputCallback (Alexey Neyman),
1436    Python bindings: DOM casts everything to xmlNode (Alexey Neyman),
1437    Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling),
1438    Adding streaming validation to runtest checks (Daniel Veillard),
1439    Add a --pushsmall option to xmllint (Daniel Veillard)
1440
1441   -  Cleanups:
1442    Switched comment in file to UTF-8 encoding (Daniel Veillard),
1443    Extend gitignore (Daniel Veillard),
1444    Silent the new python test on input (Alexey Neyman),
1445    Cleanup of a duplicate test (Daniel Veillard),
1446    Cleanup on duplicate test expressions (Daniel Veillard),
1447    Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick,
1448Gansterer),
1449    Spec cleanups and a fix for multiarch support (Daniel Veillard),
1450    Silence a clang warning (Daniel Veillard),
1451    Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard),
1452    rand_seed should be static in dict.c (Wouter Van Rooy),
1453    Fix typos in parser comments (Jan Pokorný)
1454
1455
1456
14572.9.0: Sep 11 2012:
1458   -  Features:
1459    A few new API entry points,
1460    More resilient push parser mode,
1461    A lot of portability improvement,
1462    Faster XPath evaluation
1463
1464   -  Documentation:
1465    xml2-config.1 markup error (Christian Weisgerber),
1466    libxml(3) manpage typo fix (John Bradshaw),
1467    More cleanups to the documentation part of libxml2 (Daniel Richard G)
1468
1469   -  Portability:
1470    Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),
1471    fix builds not having stdint.h (Rob Richards),
1472    GetProcAddressA is available only on WinCE (Daniel Veillard),
1473    More updates and cleanups on autotools and Makefiles (Daniel Richard G),
1474    More changes for Win32 compilation (Eric Zurcher),
1475    Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher),
1476    Bundles all generated files for python into the distribution (Daniel Richard G),
1477    Fix compiler warnings of wincecompat.c (Patrick Gansterer),
1478    Fix non __GNUC__ build (Patrick Gansterer),
1479    Fix windows unicode build (Patrick Gansterer),
1480    clean redefinition of {v}snprintf in C-source (Roumen Petrov),
1481    use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov),
1482    fix runtests to use pthreads support for various Unix platforms (Daniel Richard G),
1483    Various "make distcheck" and portability fixups 2nd part (Daniel Richard G),
1484    Various "make distcheck" and portability fixups (Daniel Richard G),
1485    Fix compilation on older Visual Studio (Daniel Veillard)
1486
1487   -  Bug Fixes:
1488    Change the XPath code to percolate allocation errors (Daniel Veillard),
1489    Fix reuse of xmlInitParser (Daniel Veillard),
1490    Fix potential crash on entities errors (Daniel Veillard),
1491    initialize var (Rob Richards),
1492    Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard),
1493    Fix problem with specific and generic error handlers (Pietro Cerutti),
1494    Avoid a potential infinite recursion (Daniel Veillard),
1495    Fix an XSD error when generating internal automata (Daniel Veillard),
1496    Patch for xinclude of text using multibyte characters (Vitaly Ostanin),
1497    Fix a segfault on XSD validation on pattern error (Daniel Veillard),
1498    Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard),
1499    Add a missing element check (Daniel Veillard),
1500    Adding various checks on node type though the API (Daniel Veillard),
1501    Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard),
1502    Fix make dist to include new private header files (Daniel Veillard),
1503    More fixups on the push parser behaviour (Daniel Veillard),
1504    Strengthen behaviour of the push parser in problematic situations (Daniel Veillard),
1505    Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard),
1506    Fixup limits parser (Daniel Veillard),
1507    Do not fetch external parsed entities (Daniel Veillard),
1508    Fix an error in previous commit (Aron Xu),
1509    Fix entities local buffers size problems (Daniel Veillard),
1510    Fix parser local buffers size problems (Daniel Veillard),
1511    Fix a failure to report xmlreader parsing failures (Daniel Veillard)
1512
1513   -  Improvements:
1514    Keep libxml2.syms when running "make distclean" (Daniel Veillard),
1515    Allow to set the quoting character of an xmlWriter (Csaba Raduly),
1516    Keep non-significant blanks node in HTML parser (Daniel Veillard),
1517    Add a forbidden variable error number and message to XPath (Daniel Veillard),
1518    Support long path names on WNT (Michael Stahl),
1519    Improve HTML escaping of attribute on output (Daniel Veillard),
1520    Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis),
1521    Switching XPath node sorting to Timsort (Vojtech Fried),
1522    Optimizing '//' in XPath expressions (Nick Wellnhofer),
1523    Expose xmlBufShrink in the public tree API (Daniel Veillard),
1524    Visible HTML elements close the head tag (Conrad Irwin),
1525    Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard),
1526    Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard),
1527    minimize use of HAVE_CONFIG_H (Roumen Petrov),
1528    fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov),
1529    Add support for big line numbers in error reporting (Daniel Veillard),
1530    Avoid using xmlBuffer for serialization (Daniel Veillard),
1531    Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard),
1532    Provide new accessors for xmlOutputBuffer (Daniel Veillard),
1533    Improvements for old buffer compatibility (Daniel Veillard),
1534    Expand the limit test program (Daniel Veillard),
1535    Improve error reporting on parser errors (Daniel Veillard),
1536    Implement some default limits in the XPath module (Daniel Veillard),
1537    Introduce some default parser limits (Daniel Veillard),
1538    Cleanups and new limit APIs for dictionaries (Daniel Veillard),
1539    Fixup for buf.c (Daniel Veillard),
1540    Cleanup URI module memory allocation code (Daniel Veillard),
1541    Extend testlimits (Daniel Veillard),
1542    More avoid quadratic behaviour (Daniel Veillard),
1543    Impose a reasonable limit on PI size (Daniel Veillard),
1544    first version of testlimits new test (Daniel Veillard),
1545    Avoid quadratic behaviour in some push parsing cases (Daniel Veillard),
1546    Impose a reasonable limit on comment size (Daniel Veillard),
1547    Impose a reasonable limit on attribute size (Daniel Veillard),
1548    Harden the buffer code and make it more compatible (Daniel Veillard),
1549    More cleanups for input/buffers code (Daniel Veillard),
1550    Cleanup function xmlBufResetInput(), to set input from Buffer (Daniel Veillard)
1551    Switch the test program for characters to new input buffers (Daniel Veillard),
1552    Convert the HTML tree module to the new buffers (Daniel Veillard),
1553    Convert of the HTML parser to new input buffers (Daniel Veillard),
1554    Convert the writer to new output buffer and save APIs (Daniel Veillard),
1555    Convert XMLReader to the new input buffers (Daniel Veillard),
1556    New saving functions using xmlBuf and conversion (Daniel Veillard),
1557    Provide new xmlBuf based saving functions (Daniel Veillard),
1558    Convert XInclude to the new input buffers (Daniel Veillard),
1559    Convert catalog code to the new input buffers (Daniel Veillard),
1560    Convert C14N to the new Input buffer (Daniel Veillard),
1561    Convert xmlIO.c to the new input and output buffers (Daniel Veillard),
1562    Convert XML parser to the new input buffers (Daniel Veillard),
1563    Incompatible change to the Input and Output buffers (Daniel Veillard),
1564    Adding new encoding function to deal with the new structures (Daniel Veillard),
1565    Convert XPath to xmlBuf (Daniel Veillard),
1566    Adding a new buf module for buffers (Daniel Veillard),
1567    Memory error within SAX2 reuse common framework (Daniel Veillard),
1568    Fix xmllint --xpath node initialization (Daniel Veillard)
1569
1570   -  Cleanups:
1571    Various cleanups to avoid compiler warnings (Daniel Veillard),
1572    Big space and tab cleanup (Daniel Veillard),
1573    Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard),
1574    Second round of cleanups for LibXML2 docs/examples (Daniel Richard),
1575    Remove all .cvsignore as they are not used anymore (Daniel Veillard),
1576    Fix a Timsort function helper comment (Daniel Veillard),
1577    Small cleanup for valgrind target (Daniel Veillard),
1578    Patch for portability of latin characters in C files (Daniel Veillard),
1579    Cleanup some of the parser code (Daniel Veillard),
1580    Fix a variable name in comment (Daniel Veillard),
1581    Regenerated testapi.c (Daniel Veillard),
1582    Regenerating docs and API files (Daniel Veillard),
1583    Small cleanup of unused variables in test (Daniel Veillard),
1584    Expand .gitignore with more files (Daniel Veillard)
1585
1586
1587
15882.8.0: May 23 2012:
1589   - Features:
1590  add lzma compression support (Anders F Bjorklund)
1591
1592   - Documentation:
1593    xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä),
1594    Update README.tests (Daniel Veillard),
1595    URI handling code is not OOM resilient (Daniel Veillard),
1596    Fix an error in comment (Daniel Veillard),
1597    Fixed bug #617016 (Daniel Mustieles),
1598    Fixed two typos in the README document (Daniel Neel),
1599    add generated html files (Anders F Bjorklund),
1600    Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard),
1601    Improve documentation a bit (Daniel Veillard),
1602    Updated URL for lxml python bindings (Daniel Veillard)
1603
1604   - Portability:
1605    Restore code for Windows compilation (Daniel Veillard),
1606    Remove git error message during configure (Christian Dywan),
1607    xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer),
1608    remove a bashism in confgure.in (John Hein),
1609    undef ERROR if already defined (Patrick R. Gansterer),
1610    Fix library problems with mingw-w64 (Michael Cronenworth),
1611    fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards),
1612    prefer native threads on win32 (Sam Thursfield),
1613    Allow to compile with Visual Studio 2010 (Thomas Lemm),
1614    Fix mingw's snprintf configure check (Andoni Morales),
1615    fixed a 64bit big endian issue (Marcus Meissner),
1616    Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard),
1617    Fix windows build from lzma addition (Rob Richards),
1618    autogen: Only check for libtoolize (Colin Walters),
1619    Fix the Windows build files (Patrick von Reth),
1620    634846 Remove a linking option breaking Windows VC10 (Daniel Veillard),
1621    599241 fix an initialization problem on Win64 (Andrew W. Nosenko),
1622    fix win build (Rob Richards)
1623
1624   - Bug fixes:
1625    Part for rand_r checking missing (Daniel Veillard),
1626    Cleanup on randomization (Daniel Veillard),
1627    Fix undefined reference in python module (Pacho Ramos),
1628    Fix a race in xmlNewInputStream (Daniel Veillard),
1629    Fix weird streaming RelaxNG errors (Noam),
1630    Fix various bugs in new code raised by the API checking (Daniel Veillard),
1631    Fix various problems with "make dist" (Daniel Veillard),
1632    Fix a memory leak in the xzlib code (Daniel Veillard),
1633    HTML parser error with <noscript> in the <head> (Denis Pauk),
1634    XSD: optional element in complex type extension (Remi Gacogne),
1635    Fix html serialization error and htmlSetMetaEncoding() (Daniel Veillard),
1636    Fix a wrong return value in previous patch (Daniel Veillard),
1637    Fix an uninitialized variable use (Daniel Veillard),
1638    Fix a compilation problem with --minimum (Brandon Slack),
1639    Remove redundant and ungarded include of resolv.h (Daniel Veillard),
1640    xinclude with parse="text" does not use the entity loader (Shaun McCance),
1641    Allow to parse 1 byte HTML files (Denis Pauk),
1642    Patch that fixes the skipping of the HTML_PARSE_NOIMPLIED flag (Martin Schröder),
1643    Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li),
1644    Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott),
1645    xmlParseNodeInContext problems with an empty document (Tim Elliott),
1646    HTML element position is not detected properly (Pavel Andrejs),
1647    Fix an off by one pointer access (Jüri Aedla),
1648    Try to fix a problem with entities in SAX mode (Daniel Veillard),
1649    Fix a crash with xmllint --path on empty results (Daniel Veillard),
1650    Fixed bug #667946 (Daniel Mustieles),
1651    Fix a logic error in Schemas Component Constraints (Ryan Sleevi),
1652    Fix a wrong enum type use in Schemas Types (Nico Weber),
1653    Fix SAX2 builder in case of undefined attributes namespace (Daniel Veillard),
1654    Fix SAX2 builder in case of undefined element namespaces (Daniel Veillard),
1655    fix reference to STDOUT_FILENO on MSVC (Tay Ray Chuan),
1656    fix a pair of possible out of array char references (Daniel Veillard),
1657    Fix an allocation error when copying entities (Daniel Veillard),
1658    Make sure the parser returns when getting a Stop order (Chris Evans),
1659    Fix some potential problems on reallocation failures(parser.c) (Xia Xinfeng),
1660    Fix a schema type duration comparison overflow (Daniel Veillard),
1661    Fix an unimplemented part in RNG value validation (Daniel Veillard),
1662    Fix missing error status in XPath evaluation (Daniel Veillard),
1663    Hardening of XPath evaluation (Daniel Veillard),
1664    Fix an off by one error in encoding (Daniel Veillard),
1665    Fix RELAX NG include bug #655288 (Shaun McCance),
1666    Fix XSD validation bug #630130 (Toyoda Eizi),
1667    Fix some potential problems on reallocation failures (Chris Evans),
1668    __xmlRaiseError: fix use of the structured callback channel (Dmitry V. Levin),
1669    __xmlRaiseError: fix the structured callback channel's data initialization (Dmitry V. Levin),
1670    Fix memory corruption when xmlParseBalancedChunkMemoryInternal is called from xmlParseBalancedChunk (Rob Richards),
1671    Small fix for previous commit (Daniel Veillard),
1672    Fix a potential freeing error in XPath (Daniel Veillard),
1673    Fix a potential memory access error (Daniel Veillard),
1674    Reactivate the shared library versioning script (Daniel Veillard)
1675
1676   - Improvements:
1677    use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov),
1678    New symbols added for the next release (Daniel Veillard),
1679    xmlTextReader bails too quickly on error (Andy Lutomirski),
1680    Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin),
1681    Use buffers when constructing string node lists. (Conrad Irwin),
1682    Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk),
1683    wrong message for double hyphen in comment XML error (Bryan Henderson),
1684    Fix "make tst" to grab lzma lib too (Daniel Veillard),
1685    Add "whereis" command to xmllint shell (Ryan),
1686    Improve xmllint shell (Ryan),
1687    add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky),
1688    Add --system support to autogen.sh (Daniel Veillard),
1689    Add hash randomization to hash and dict structures (Daniel Veillard),
1690    included xzlib in dist (Anders F Bjorklund),
1691    move xz/lzma helpers to separate included files (Anders F Bjorklund),
1692    add generated devhelp files (Anders F Bjorklund),
1693    add XML_WITH_LZMA to api (Anders F Bjorklund),
1694    autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters),
1695    Improve the error report on undefined REFs (Daniel Veillard),
1696    Add exception for new W3C PI xml-model (Daniel Veillard),
1697    Add options to ignore the internal encoding (Daniel Veillard),
1698    testapi: use the right type for the check (Stefan Kost),
1699    various: handle return values of write calls (Stefan Kost),
1700    testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost),
1701    runxmlconf: update to latest testsuite version (Stefan Kost),
1702    configure: add -Wno-long-long to CFLAGS (Stefan Kost),
1703    configure: support silent automake rules if possible (Stefan Kost),
1704    xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost),
1705    __xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin),
1706    __xmlRaiseError: do cheap code check early (Dmitry V. Levin)
1707
1708   - Cleanups:
1709    Cleanups before 2.8.0-rc2 (Daniel Veillard),
1710    Avoid an extra operation (Daniel Veillard),
1711    Remove vestigial de-ANSI-fication support. (Javier Jardón),
1712    autogen.sh: Fix typo (Javier Jardón),
1713    Do not use unsigned but unsigned int (Daniel Veillard),
1714    Remove two references to u_short (Daniel Veillard),
1715    Fix -Wempty-body warning from clang (Nico Weber),
1716    Cleanups of lzma support (Daniel Veillard),
1717    Augment the list of ignored files (Daniel Veillard),
1718    python: remove unused variable (Stefan Kost),
1719    python: flag two unused args (Stefan Kost),
1720    configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost),
1721    xpath: remove unused variable (Stefan Kost)
1722
1723
1724
17252.7.8: Nov 4 2010:
1726   -  Features:
1727    480323 add code to plug in ICU converters by default (Giuseppe Iuculano),
1728    Add xmlSaveOption XML_SAVE_WSNONSIG (Adam Spragg)
1729
1730   -  Documentation:
1731    Fix devhelp documentation installation (Mike Hommey),
1732    Fix web site encoding problems (Daniel Veillard),
1733    Fix a couple of typo in HTML parser error messages (Michael Day),
1734    Forgot to update the news page for 0.7.7 (Daniel Veillard)
1735
1736   -  Portability:
1737    607273 Fix python detection on MSys/Windows (LRN),
1738    614087 Fix Socket API usage to allow Windows64 compilation (Ozkan Sezer),
1739    Fix compilation with Clang (Koop Mast),
1740    Fix Win32 build (Rob Richards)
1741
1742   -  Bug Fixes:
1743    595789 fix a remaining potential Solaris problem (Daniel Veillard),
1744    617468 fix progressive HTML parsing with style using "'" (Denis Pauk),
1745    616478 Fix xmllint shell write command (Gwenn Kahz),
1746    614005 Possible erroneous HTML parsing on unterminated script (Pierre Belzile),
1747    627987 Fix XSD IDC errors in imported schemas (Jim Panetta),
1748    629325 XPath rounding errors first cleanup (Phil Shafer),
1749    630140 fix iso995x encoding error (Daniel Veillard),
1750    make sure htmlCtxtReset do reset the disableSAX field (Daniel Veillard),
1751    Fix a change of semantic on XPath preceding and following axis (Daniel Veillard),
1752    Fix a potential segfault due to weak symbols on pthreads (Mike Hommey),
1753    Fix a leak in XPath compilation (Daniel Veillard),
1754    Fix the semantic of XPath axis for namespace/attribute context nodes (Daniel Veillard),
1755    Avoid a descriptor leak in catalog loading code (Carlo Bramini),
1756    Fix a small bug in XPath evaluation code (Marius Wachtler),
1757    Fix handling of XML-1.0 XML namespace declaration (Daniel Veillard),
1758    Fix errors in XSD double validation check (Csaba Raduly),
1759    Fix handling of apos in URIs (Daniel Veillard),
1760    xmlTextReaderReadOuterXml should handle DTD (Rob Richards),
1761    Autogen.sh needs to create m4 directory (Rob Richards)
1762
1763   -  Improvements:
1764    606592 update language ID parser to RFC 5646 (Daniel Veillard),
1765    Sort python generated stubs (Mike Hommey),
1766    Add an HTML parser option to avoid a default doctype (Daniel Veillard)
1767
1768   -  Cleanups:
1769    618831 don't ship generated files in git (Adrian Bunk),
1770    Switch from the obsolete mkinstalldirs to AC_PROG_MKDIR_P (Adrian Bunk),
1771    Various cleanups on encoding handling (Daniel Veillard),
1772    Fix xmllint to use format=1 for default formatting (Adam Spragg),
1773    Force _xmlSaveCtxt.format to be 0 or 1 (Adam Spragg),
1774    Cleanup encoding pointer comparison (Nikolay Sivov),
1775    Small code cleanup on previous patch (Daniel Veillard)
1776
1777
1778
17792.7.7: Mar 15 2010:
1780   -  Improvements:
1781    Adding a --xpath option to xmllint (Daniel Veillard),
1782    Make HTML parser non-recursive (Eugene Pimenov)
1783
1784   -  Portability:
1785    relaxng.c: cast to allow compilation with sun studio 11 (Ben Walton),
1786    Fix build failure on Sparc solaris (Roumen Petrov),
1787    use autoreconf in autogen.sh (Daniel Veillard),
1788    Fix build with mingw (Roumen Petrov),
1789    Upgrade some of the configure and autogen (Daniel Veillard),
1790    Fix relaxNG tests in runtest for Windows runtest.c: initialize ret (Rob Richards),
1791    Fix a const warning in xmlNodeSetBase (Martin Trappel),
1792    Fix python generator to not use deprecated xmllib (Daniel Veillard),
1793    Update some automake files (Daniel Veillard),
1794    598785 Fix nanohttp on Windows (spadix)
1795
1796   -  Bug Fixes:
1797    libxml violates the zlib interface and crashes (Mark Adler),
1798    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
1799    Fix  missing win32 libraries in libxml-2.0.pc (Volker Grabsch),
1800    Fix detection of python linker flags (Daniel Macks),
1801    fix build error in libxml2/python (Paul Smith),
1802    ChunkParser: Incorrect decoding of small xml files (Raul Hudea),
1803    htmlCheckEncoding doesn't update input-end after shrink (Eugene Pimenov),
1804    Fix a missing #ifdef (Daniel Veillard),
1805    Fix encoding selection for xmlParseInNodeContext (Daniel Veillard),
1806    xmlPreviousElementSibling mistake (François Delyon),
1807    608773 add a missing check in xmlGROW (Daniel Veillard),
1808    Fix xmlParseInNodeContext for HTML content (Daniel Veillard),
1809    Fix lost namespace when copying node * tree.c: reconcile namespace if not found (Rob Richards),
1810    Fix some missing commas in HTML element lists (Eugene Pimenov),
1811    Correct variable type to unsigned (Nikolay Sivov),
1812    Recognize ID attribute in HTML without DOCTYPE (Daniel Veillard),
1813    Fix memory leak in xmlXPathEvalExpression() (Martin),
1814    Fix an init bug in global.c (Kai Henning),
1815    Fix xmlNodeSetBase() comment (Daniel Veillard),
1816    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
1817    Don't give default HTML boolean attribute values in parser (Daniel Veillard),
1818    xmlCtxtResetLastError should reset ctxt-errNo (Daniel Veillard)
1819
1820   -  Cleanups:
1821    Cleanup a couple of weirdness in HTML parser (Eugene Pimenov)
1822
1823
1824
18252.7.6: Oct  6 2009:
1826   -  Bug Fixes:
1827     Restore thread support in default configuration (Andrew W. Nosenko),
1828     URI with no path parsing problem (Daniel Veillard),
1829     Minor patch for conditional defines in threads.c (Eric Zurcher)
1830
1831
1832
18332.7.5: Sep 24 2009:
1834   -  Bug Fixes:
1835    Restore behavior of --with-threads without argument (Andrew W. Nosenko),
1836    Fix memory leak when doc is NULL (Rob Richards),
1837    595792 fixing a RelaxNG bug introduced in 2.7.4 (Daniel Veillard),
1838    Fix a Relaxng bug raised by libvirt test suite (Daniel Veillard),
1839    Fix a parsing problem with little data at startup (Daniel Veillard),
1840    link python module with python library (Frederic Crozat),
1841    594874 Forgot an fclose in xmllint (Daniel Veillard)
1842
1843   -  Cleanup:
1844    Adding symbols.xml to EXTRA_DIST (Daniel Veillard)
1845
1846
1847
18482.7.4: Sep 10 2009:
1849   - Improvements:
1850    Switch to GIT (GNOME),
1851    Add symbol versioning to libxml2 shared libs (Daniel Veillard)
1852
1853   - Portability:
1854    593857 try to work around thread pbm MinGW 4.4 (Daniel Veillard),
1855    594250 rename ATTRIBUTE_ALLOC_SIZE to avoid clashes (Daniel Veillard),
1856    Fix Windows build * relaxng.c: fix windows build (Rob Richards),
1857    Fix the globals.h to use XMLPUBFUN (Paul Smith),
1858    Problem with extern extern in header (Daniel Veillard),
1859    Add -lnetwork for compiling on Haiku (Scott McCreary),
1860    Runtest portability patch for Solaris (Tim Rice),
1861    Small patch to accommodate the Haiku OS (Scott McCreary),
1862    584605 package VxWorks folder in the distribution (Daniel Veillard),
1863    574017 Realloc too expensive on most platform (Daniel Veillard),
1864    Fix windows build (Rob Richards),
1865    545579 doesn't compile without schema support (Daniel Veillard),
1866    xmllint use xmlGetNodePath when not compiled in (Daniel Veillard),
1867    Try to avoid __imp__xmlFree link trouble on msys (Daniel Veillard),
1868    Allow to select the threading system on Windows (LRN),
1869    Fix Solaris binary links, cleanups (Daniel Veillard),
1870    Bug 571059 – MSVC doesn't work with the bakefile (Intron),
1871    fix ATTRIBUTE_PRINTF header clash (Belgabor and Mike Hommey),
1872    fixes for Borland/CodeGear/Embarcadero compilers (Eric Zurcher)
1873
1874   - Documentation:
1875    544910 typo: "renciliateNs" (Leonid Evdokimov),
1876    Add VxWorks to list of OSes (Daniel Veillard),
1877    Regenerate the documentation and update for git (Daniel Veillard),
1878    560524 ¿ xmlTextReaderLocalName description (Daniel Veillard),
1879    Added sponsoring by AOE media for the server (Daniel Veillard),
1880    updated URLs for GNOME (Vincent Lefevre),
1881    more warnings about xmlCleanupThreads and xmlCleanupParser (Daniel Veillard)
1882
1883   - Bug fixes:
1884    594514 memory leaks - duplicate initialization (MOD),
1885    Wrong block opening in htmlNodeDumpOutputInternal (Daniel Veillard),
1886    492317 Fix  Relax-NG validation problems (Daniel Veillard),
1887    558452 fight with reg test and error report (Daniel Veillard),
1888    558452 RNG compilation of optional multiple child (Daniel Veillard),
1889    579746 XSD validation not correct / nilable groups (Daniel Veillard),
1890    502960 provide namespace stack when parsing entity (Daniel Veillard),
1891    566012 part 2 fix regression tests and push mode (Daniel Veillard),
1892    566012 autodetected encoding and encoding conflict (Daniel Veillard),
1893    584220 xpointer(/) and xinclude problems (Daniel Veillard),
1894    587663 Incorrect Attribute-Value Normalization (Daniel Veillard),
1895    444994 HTML chunked failure for attribute with <> (Daniel Veillard),
1896    Fix end of buffer char being split in XML parser (Daniel Veillard),
1897    Non ASCII character may be split at buffer end (Adiel Mittmann),
1898    440226 Add xmlXIncludeProcessTreeFlagsData API (Stefan Behnel),
1899    572129 speed up parsing of large HTML text nodes (Markus Kull),
1900    Fix HTML parsing with 0 character in CDATA (Daniel Veillard),
1901    Fix SetGenericErrorFunc and SetStructured clash (Wang Lam),
1902    566012  Incomplete EBCDIC parsing support (Martin Kogler),
1903    541335 HTML avoid creating 2 head or 2 body element (Daniel Veillard),
1904    541237 error correcting missing end tags in HTML (Daniel Veillard),
1905    583439 missing line numbers in push mode (Daniel Veillard),
1906    587867 xmllint --html --xmlout serializing as HTML (Daniel Veillard),
1907    559501 avoid select and use poll for nanohttp (Raphael Prevost),
1908    559410 -  Regexp bug on (...)? constructs (Daniel Veillard),
1909    Fix a small problem on previous HTML parser patch (Daniel Veillard),
1910    592430 -  HTML parser runs into endless loop (Daniel Veillard),
1911    447899 potential double free in xmlFreeTextReader (Daniel Veillard),
1912    446613 small validation bug mixed content with NS (Daniel Veillard),
1913    Fix the problem of revalidating a doc with RNG (Daniel Veillard),
1914    Fix xmlKeepBlanksDefault to not break indent (Nick Wellnhofer),
1915    512131 refs from externalRef part need to be added (Daniel Veillard),
1916    512131 crash in xmlRelaxNGValidateFullElement (Daniel Veillard),
1917    588441 allow '.' in HTML Names even if invalid (Daniel Veillard),
1918    582913 Fix htmlSetMetaEncoding() to be nicer (Daniel Veillard),
1919    579317 Try to find the HTML encoding information (Daniel Veillard),
1920    575875 don't output charset=html (Daniel Veillard),
1921    571271 fix semantic of xsd:all with minOccurs=0 (Daniel Veillard),
1922    570702 fix a bug in regexp determinism checking (Daniel Veillard),
1923    567619 xmlValidateNotationUse missing param test (Daniel Veillard),
1924    574393 ¿ utf-8 filename magic for compressed files (Hans Breuer),
1925    Fix a couple of problems in the parser (Daniel Veillard),
1926    585505 ¿ Document ids and refs populated by XSD (Wayne Jensen),
1927    582906 XSD validating multiple imports of the same schema (Jason Childs),
1928    Bug 582887 ¿ problems validating complex schemas (Jason Childs),
1929    Bug 579729 ¿ fix XSD schemas parsing crash (Miroslav Bajtos),
1930    576368 ¿ htmlChunkParser with special attributes (Jiri Netolicky),
1931    Bug 565747 ¿ relax anyURI data character checking (Vincent Lefevre),
1932    Preserve attributes of include start on tree copy (Petr Pajas),
1933    Skip silently unrecognized XPointer schemes (Jakub Wilk),
1934    Fix leak on SAX1, xmllint --sax1 option and debug (Daniel Veillard),
1935    potential NULL dereference on non-glibc (Jim Meyering),
1936    Fix an XSD validation crash (Daniel Veillard),
1937    Fix a regression in streaming entities support (Daniel Veillard),
1938    Fix a couple of ABI issues with C14N 1.1 (Aleksey Sanin),
1939    Aleksey Sanin support for c14n 1.1 (Aleksey Sanin),
1940    reader bug fix with entities (Daniel Veillard),
1941    use options from current parser ctxt for external entities (Rob Richards),
1942    581612 use %s to printf strings (Christian Persch),
1943    584605 change the threading initialization sequence (Igor Novoseltsev),
1944    580705 keep line numbers in HTML parser (Aaron Patterson),
1945    581803 broken HTML table attributes init (Roland Steiner),
1946    do not set error code in xmlNsWarn (Rob Richards),
1947    564217 fix structured error handling problems,
1948    reuse options from current parser for entities (Rob Richards),
1949    xmlXPathRegisterNs should not allow enpty prefixes (Daniel Veillard),
1950    add a missing check in xmlAddSibling (Kris Breuker),
1951    avoid leaks on errors (Jinmei Tatuya)
1952
1953   - Cleanup:
1954    Chasing dead assignments reported by clang-scan (Daniel Veillard),
1955    A few more safety cleanup raised by scan (Daniel Veillard),
1956    Fixing assorted potential problems raised by scan (Daniel Veillard),
1957    Potential uninitialized arguments raised by scan (Daniel Veillard),
1958    Fix a bunch of scan 'dead increments' and cleanup (Daniel Veillard),
1959    Remove a pedantic warning (Daniel Veillard),
1960    555833 always use rm -f in uninstall-local (Daniel Veillard),
1961    542394 xmlRegisterOutputCallbacks MAX_INPUT_CALLBACK (Daniel Veillard),
1962    Autoregenerate libxml2.syms automated checkings (Daniel Veillard),
1963    Make xmlRecoverDoc const (Martin Trappel) (Daniel Veillard),
1964    Both args of xmlStrcasestr are const (Daniel Veillard),
1965    hide the nbParse* variables used for debugging (Mike Hommey),
1966    570806 changed include of config.h (William M. Brack),
1967    cleanups and error reports when xmlTextWriterVSprintf fails (Jinmei Tatuya)
1968
1969
1970
19712.7.3: Jan 18 2009:
1972   - Build fix: fix build when HTML support is not included.
1973   - Bug fixes: avoid memory overflow in gigantic text nodes,
1974      indentation problem on the writed (Rob Richards),
1975      xmlAddChildList pointer problem (Rob Richards and Kevin Milburn),
1976      xmlAddChild problem with attribute (Rob Richards and Kris Breuker),
1977      avoid a memory leak in an edge case (Daniel Zimmermann),
1978      deallocate some pthread data (Alex Ott).
1979   - Improvements: configure option to avoid rebuilding docs (Adrian Bunk),
1980      limit text nodes to 10MB max by default, add element traversal
1981      APIs, add a parser option to enable pre 2.7 SAX behavior (Rob Richards),
1982      add gcc malloc checking (Marcus Meissner), add gcc printf like functions
1983      parameters checking (Marcus Meissner).
1984
1985
19862.7.2: Oct 3 2008:
1987   - Portability fix: fix solaris compilation problem, fix compilation
1988        if XPath is not configured in
1989   - Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour
1990        when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
1991        bug, fix reader custom error handlers (Riccardo Scussat)
1992
1993   - Improvement: xmlSave options for more flexibility to save as
1994        XML/HTML/XHTML, handle leading BOM in HTML documents
1995
1996
19972.7.1: Sep 1 2008:
1998   - Portability fix: Borland C fix (Moritz Both)
1999   - Bug fixes: python serialization wrappers, XPath QName corner
2000        case handking and leaks (Martin)
2001   - Improvement: extend the xmlSave to handle HTML documents and trees
2002   - Cleanup: python serialization wrappers
2003
2004
20052.7.0: Aug 30 2008:
2006   - Documentation: switch ChangeLog to UTF-8, improve mutithreads and
2007      xmlParserCleanup docs
2008   - Portability fixes: Older Win32 platforms (Rob Richards), MSVC
2009      porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg),
2010      non GNUCC builds (Rob Richards), compilation on Haiku (Andreas Färber)
2011
2012   - Bug fixes: various realloc problems (Ashwin), potential double-free
2013      (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob
2014      Richards), pattern fix when streaming (William Brack), various XML
2015      parsing and validation fixes based on the W3C regression tests, reader
2016      tree skipping function fix (Ashwin), Schemas regexps escaping fix
2017      (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
2018      when encoder can't serialize characters on output
2019   - Code cleanup: compilation fix without the reader, without the output
2020      (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
2021      serious cleanup of the entity handling code
2022   - Improvement: switch parser to XML-1.0 5th edition, add parsing flags
2023      for old versions, switch URI parsing to RFC 3986,
2024      add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
2025      new hashing functions for dictionaries (based on Stefan Behnel work),
2026      improve handling of misplaced html/head/body in HTML parser, better
2027      regression test tools and code coverage display, better algorithms
2028      to detect various versions of the billion laughts attacks, make
2029      arbitrary parser limits avoidable as a parser option
2030
2031
20322.6.32: Apr 8 2008:
2033   - Documentation: returning heap memory to kernel (Wolfram Sang),
2034      trying to clarify xmlCleanupParser() use, xmlXPathContext improvement
2035      (Jack Jansen), improve the *Recover* functions documentation,
2036      XmlNodeType doc link fix (Martijn Arts)
2037   - Bug fixes: internal subset memory leak (Ashwin), avoid problem with
2038      paths starting with // (Petr Sumbera), streaming XSD validation callback
2039      patches (Ashwin), fix redirection on port other than 80 (William Brack),
2040      SAX2 leak (Ashwin), XInclude fragment of own document (Chris Ryan),
2041      regexp bug with '.' (Andrew Tosh), flush the writer at the end of the
2042      document (Alfred Mickautsch), output I/O bug fix (William Brack),
2043      writer CDATA output after a text node (Alex Khesin), UTF-16 encoding
2044      detection (William Brack), fix handling of empty CDATA nodes for Safari
2045      team, python binding problem with namespace nodes, improve HTML parsing
2046      (Arnold Hendriks), regexp automata build bug, memory leak fix (Vasily
2047      Chekalkin), XSD test crash, weird system parameter entity parsing problem,
2048      allow save to file:///X:/ windows paths, various attribute normalisation
2049      problems, externalSubsetSplit fix (Ashwin), attribute redefinition in
2050      the DTD (Ashwin), fix in char ref parsing check (Alex Khesin), many
2051      out of memory handling fixes (Ashwin), XPath out of memory handling fixes
2052      (Alvaro Herrera), various realloc problems (Ashwin), UCS4 encoding
2053      conversion buffer size (Christian Fruth), problems with EatName
2054      functions on memory errors, BOM handling in external parsed entities
2055      (Mark Rowe)
2056   - Code cleanup: fix build under VS 2008 (David Wimsey), remove useless
2057      mutex in xmlDict (Florent Guilian), Mingw32 compilation fix (Carlo
2058      Bramini), Win and MacOS EOL cleanups (Florent Guiliani), iconv need
2059      a const detection (Roumen Petrov), simplify xmlSetProp (Julien Charbon),
2060      cross compilation fixes for Mingw (Roumen Petrov), SCO Openserver build
2061      fix (Florent Guiliani), iconv uses const on Win32 (Rob Richards),
2062      duplicate code removal (Ashwin), missing malloc test and error reports
2063      (Ashwin), VMS makefile fix (Tycho Hilhorst)
2064   - improvements: better plug of schematron in the normal error handling
2065      (Tobias Minich)
2066
2067
20682.6.31: Jan 11 2008:
2069   - Security fix: missing of checks in UTF-8 parsing
2070   - Bug fixes: regexp bug, dump attribute from XHTML document, fix
2071      xmlFree(NULL) to not crash in debug mode, Schematron parsing crash
2072      (Rob Richards), global lock free on Windows (Marc-Antoine Ruel),
2073      XSD crash due to double free (Rob Richards), indentation fix in
2074      xmlTextWriterFullEndElement (Felipe Pena), error in attribute type
2075      parsing if attribute redeclared, avoid crash in hash list scanner if
2076      deleting elements, column counter bug fix (Christian Schmidt),
2077      HTML embed element saving fix (Stefan Behnel), avoid -L/usr/lib
2078      output from xml2-config (Fred Crozat), avoid an xmllint crash
2079      (Stefan Kost), don't stop HTML parsing on out of range chars.
2080
2081   - Code cleanup: fix open() call third argument, regexp cut'n paste
2082      copy error, unused variable in __xmlGlobalInitMutexLock (Hannes Eder),
2083      some make distcheck related fixes (John Carr)
2084   - Improvements: HTTP Header: includes port number (William Brack),
2085      testURI --debug option,
2086
2087
20882.6.30: Aug 23 2007:
2089   - Portability: Solaris crash on error handling, windows path fixes
2090      (Roland Schwarz and Rob Richards), mingw build (Roland Schwarz)
2091   - Bugfixes: xmlXPathNodeSetSort problem (William Brack), leak when
2092      reusing a writer for a new document (Dodji Seketeli), Schemas
2093      xsi:nil handling patch (Frank Gross), relative URI build problem
2094      (Patrik Fimml), crash in xmlDocFormatDump, invalid char in comment
2095      detection bug, fix disparity with xmlSAXUserParseMemory, automata
2096      generation for complex regexp counts problems, Schemas IDC import
2097      problems (Frank Gross), xpath predicate evailation error handling
2098      (William Brack)
2099
2100
21012.6.29: Jun 12 2007:
2102   - Portability: patches from Andreas Stricke for WinCEi,
2103      fix compilation warnings (William Brack), avoid warnings on Apple OS/X
2104      (Wendy Doyle and Mark Rowe), Windows compilation and threading
2105      improvements (Rob Richards), compilation against old Python versions,
2106      new GNU tar changes (Ryan Hill)
2107   - Documentation: xmlURIUnescapeString comment,
2108   - Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind'
2109      flag fix (Richard Jones), regexp interpretation of \,
2110      htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in
2111      typo (Bjorn Reese), entity content failure, xmlListAppend() fix
2112      (Georges-André Silber), XPath number serialization (William Brack),
2113      nanohttp gzipped stream fix (William Brack and Alex Cornejo),
2114      xmlCharEncFirstLine typo (Mark Rowe), uri bug (François Delyon),
2115      XPath string value of PI nodes (William Brack), XPath node set
2116      sorting bugs (William Brack), avoid outputting namespace decl
2117      dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding
2118      error handling, recustion on next in catalogs, fix a Relax-NG crash,
2119      workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes,
2120      invalid character in attribute detection bug, big comments before
2121      internal subset streaming bug, HTML parsing of attributes with : in
2122      the name, IDness of name in HTML (Dagfinn I. Mannsåker)
2123   - Improvement: keep URI query parts in raw form (Richard Jones),
2124      embed tag support in HTML (Michael Day)
2125
2126
21272.6.28: Apr 17 2007:
2128   - Documentation: comment fixes (Markus Keim), xpath comments fixes too
2129      (James Dennett)
2130   - Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage
2131      (Usamah Malik), various regexp bug fixes (DV and William), path conversion
2132      on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath
2133      principal node of axis bug, HTML serialization of some codepoint
2134      (Steven Rainwater), user data propagation in XInclude (Michael Day),
2135      standalone and XML decl detection (Michael Day), Python id output
2136      for some id, fix the big python string memory leak, URI parsing fixes
2137      (Stéphane Bidoul and William), long comments parsing bug (William),
2138      concurrent threads initialization (Ted Phelps), invalid char
2139      in text XInclude (William), XPath memory leak (William), tab in
2140      python problems (Andreas Hanke), XPath node comparison error
2141      (Oleg Paraschenko), cleanup patch for reader (Julien Reichel),
2142      XML Schemas attribute group (William), HTML parsing problem (William),
2143      fix char 0x2d in regexps (William), regexp quantifier range with
2144      min occurs of 0 (William), HTML script/style parsing (Mike Day)
2145   - Improvement: make xmlTextReaderSetup() public
2146   - Compilation and postability: fix a missing include problem (William),
2147      __ss_family on AIX again (Björn Wiberg), compilation without zlib
2148      (Michael Day), catalog patch for Win32 (Christian Ehrlicher),
2149      Windows CE fixes (Andreas Stricke)
2150   - Various CVS to SVN infrastructure changes
2151
2152
21532.6.27: Oct 25 2006:
2154   - Portability fixes: file names on windows (Roland Schwingel,
2155      Emelyanov Alexey), windows compile fixup (Rob Richards),
2156      AIX iconv() is apparently case sensitive
2157   - improvements: Python XPath types mapping (Nic Ferrier), XPath optimization
2158      (Kasimier), add xmlXPathCompiledEvalToBoolean (Kasimier), Python node
2159      equality and comparison (Andreas Pakulat), xmlXPathCollectAndTest
2160      improvememt (Kasimier), expose if library was compiled with zlib
2161      support (Andrew Nosenko), cache for xmlSchemaIDCMatcher structs
2162      (Kasimier), xmlTextConcat should work with comments and PIs (Rob
2163      Richards), export htmlNewParserCtxt needed by Michael Day, refactoring
2164      of catalog entity loaders (Michael Day), add XPointer support to
2165      python bindings (Ross Reedstrom, Brian West and Stefan Anca),
2166      try to sort out most file path to URI conversions and xmlPathToUri,
2167      add --html --memory case to xmllint
2168   - building fix: fix --with-minimum (Felipe Contreras), VMS fix,
2169      const'ification of HTML parser structures (Matthias Clasen),
2170      portability fix (Emelyanov Alexey), wget autodetection (Peter
2171      Breitenlohner),  remove the build path recorded in the python
2172      shared module, separate library flags for shared and static builds
2173      (Mikhail Zabaluev), fix --with-minimum --with-sax1 builds, fix
2174      --with-minimum --with-schemas builds
2175   - bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and
2176      attribute (Kasimier), crash when using the recover mode,
2177      xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier),
2178      missing destroy in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes
2179      (Kasimier), warning on entities processing, XHTML script and style
2180      serialization (Kasimier), python generator for long types, bug in
2181      xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate
2182      allocation bug (Marton Illes), error message end of line (Rob Richards),
2183      fix attribute serialization in writer (Rob Richards), PHP4 DTD validation
2184      crash, parser safety patch (Ben Darnell), _private context propagation
2185      when parsing entities (with Michael Day), fix entities behaviour when
2186      using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity
2187      context, arg error in SAX callback (Mike Hommey), fix mixed-content
2188      autodetect when using --noblanks, fix xmlIOParseDTD error handling,
2189      fix bug in xmlSplitQName on special Names, fix Relax-NG element content
2190      validation bug, fix xmlReconciliateNs bug, fix potential attribute
2191      XML parsing bug, fix line/column accounting in XML parser, chunking bug
2192      in the HTML parser on script, try to detect obviously buggy HTML
2193      meta encoding indications, bugs with encoding BOM and xmlSaveDoc,
2194      HTML entities in attributes parsing, HTML minimized attribute values,
2195      htmlReadDoc and htmlReadIO were broken, error handling bug in
2196      xmlXPathEvalExpression (Olaf Walkowiak), fix a problem in
2197      htmlCtxtUseOptions, xmlNewInputFromFile could leak (Marius Konitzer),
2198      bug on misformed SSD regexps (Christopher Boumenot)
2199
2200   - documentation: warning about XML_PARSE_COMPACT (Kasimier Buchcik),
2201      fix xmlXPathCastToString documentation, improve man pages for
2202      xmllitn and xmlcatalog (Daniel Leidert), fixed comments of a few
2203      functions
2204
2205
22062.6.26: Jun 6 2006:
2207   - portability fixes: Python detection (Joseph Sacco), compilation
2208    error(William Brack and Graham Bennett), LynxOS patch (Olli Savia)
2209   - bug fixes: encoding buffer problem, mix of code and data in
2210    xmlIO.c(Kjartan Maraas), entities in XSD validation (Kasimier Buchcik),
2211    variousXSD validation fixes (Kasimier), memory leak in pattern (Rob
2212    Richards andKasimier), attribute with colon in name (Rob Richards), XPath
2213    leak inerror reporting (Aleksey Sanin), XInclude text include of
2214    selfdocument.
2215   - improvements: Xpath optimizations (Kasimier), XPath object
2216    cache(Kasimier)
2217
2218
22192.6.25: Jun 6 2006::
2220Do not use or package 2.6.25
22212.6.24: Apr 28 2006:
2222   - Portability fixes: configure on Windows, testapi compile on windows
2223      (Kasimier Buchcik, venkat naidu), Borland C++ 6 compile (Eric Zurcher),
2224      HP-UX compiler workaround (Rick Jones), xml2-config bugfix, gcc-4.1
2225      cleanups, Python detection scheme (Joseph Sacco), UTF-8 file paths on
2226      Windows (Roland Schwingel).
2227
2228   - Improvements: xmlDOMWrapReconcileNamespaces xmlDOMWrapCloneNode (Kasimier
2229      Buchcik), XML catalog debugging (Rick Jones), update to Unicode 4.01.
2230   - Bug fixes: xmlParseChunk() problem in 2.6.23, xmlParseInNodeContext()
2231      on HTML docs, URI behaviour on Windows (Rob Richards), comment streaming
2232      bug, xmlParseComment (with William Brack), regexp bug fixes (DV &
2233      Youri Golovanov), xmlGetNodePath on text/CDATA (Kasimier),
2234      one Relax-NG interleave bug, xmllint --path and --valid,
2235      XSD bugfixes (Kasimier), remove debug
2236      left in Python bindings (Nic Ferrier), xmlCatalogAdd bug (Martin Cole),
2237      xmlSetProp fixes (Rob Richards), HTML IDness (Rob Richards), a large
2238      number of cleanups and small fixes based on Coverity reports, bug
2239      in character ranges, Unicode tables const (Aivars Kalvans), schemas
2240      fix (Stefan Kost), xmlRelaxNGParse error deallocation,
2241      xmlSchemaAddSchemaDoc error deallocation, error handling on unallowed
2242      code point, ixmllint --nonet to never reach the net (Gary Coady),
2243      line break in writer after end PI (Jason Viers).
2244   - Documentation: man pages updates and cleanups (Daniel Leidert).
2245   - New features: Relax NG structure error handlers.
2246
2247
22482.6.23: Jan 5 2006:
2249   - portability fixes: Windows (Rob Richards), getaddrinfo on Windows
2250    (Kolja Nowak, Rob Richards), icc warnings (Kjartan Maraas),
2251    --with-minimum compilation fixes (William Brack), error case handling fix
2252    on Solaris (Albert Chin), don't use 'list' as parameter name reported by
2253    Samuel Diaz Garcia, more old Unices portability fixes (Albert Chin),
2254    MinGW compilation (Mark Junker), HP-UX compiler warnings (Rick
2255  Jones),
2256   - code cleanup: xmlReportError (Adrian Mouat), remove xmlBufferClose
2257    (Geert Jansen), unreachable code (Oleksandr Kononenko), refactoring
2258    parsing code (Bjorn Reese)
2259   - bug fixes: xmlBuildRelativeURI and empty path (William Brack),
2260    combinatory explosion and performances in regexp code, leak in
2261    xmlTextReaderReadString(), xmlStringLenDecodeEntities problem (Massimo
2262    Morara), Identity Constraints bugs and a segfault (Kasimier Buchcik),
2263    XPath pattern based evaluation bugs (DV & Kasimier),
2264    xmlSchemaContentModelDump() memory leak (Kasimier), potential leak in
2265    xmlSchemaCheckCSelectorXPath(), xmlTextWriterVSprintf() misuse of
2266    vsnprintf (William Brack), XHTML serialization fix (Rob Richards), CRLF
2267    split problem (William), issues with non-namespaced attributes in
2268    xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards),
2269    HTML parsing of script, Python must not output to stdout (Nic Ferrier),
2270    exclusive C14N namespace visibility (Aleksey Sanin), XSD datatype
2271    totalDigits bug (Kasimier Buchcik), error handling when writing to an
2272    xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi
2273    Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix
2274    XSI driven XSD validation (Kasimier), parsing of xs:decimal (Kasimier),
2275    fix DTD writer output (Rob Richards), leak in xmlTextReaderReadInnerXml
2276    (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of
2277    runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs
2278    (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair),
2279    compilation and build fixes (Michael Day), removed dependencies on
2280    xmlSchemaValidError (Kasimier), bug with <xml:foo/>, more XPath
2281    pattern based evaluation fixes (Kasimier)
2282   - improvements: XSD Schemas redefinitions/restrictions (Kasimier
2283    Buchcik), node copy checks and fix for attribute (Rob Richards), counted
2284    transition bug in regexps, ctxt->standalone = -2 to indicate no
2285    standalone attribute was found, add xmlSchemaSetParserStructuredErrors()
2286    (Kasimier Buchcik), add xmlTextReaderSchemaValidateCtxt() to API
2287    (Kasimier), handle gzipped HTTP resources (Gary Coady), add
2288    htmlDocDumpMemoryFormat. (Rob Richards),
2289   - documentation: typo (Michael Day), libxml man page (Albert Chin), save
2290    function to XML buffer (Geert Jansen), small doc fix (Aron Stansvik),
2291
2292
22932.6.22: Sep 12 2005:
2294   - build fixes: compile without schematron (Stéphane Bidoul)
2295   - bug fixes: xmlDebugDumpNode on namespace node (Oleg Paraschenko)i,
2296    CDATA push parser bug, xmlElemDump problem with XHTML1 doc,
2297    XML_FEATURE_xxx clash with expat headers renamed XML_WITH_xxx, fix some
2298    output formatting for meta element (Rob Richards), script and style
2299    XHTML1 serialization (David Madore), Attribute derivation fixups in XSD
2300    (Kasimier Buchcik), better IDC error reports (Kasimier Buchcik)
2301   - improvements: add XML_SAVE_NO_EMPTY xmlSaveOption (Rob Richards), add
2302    XML_SAVE_NO_XHTML xmlSaveOption, XML Schemas improvements preparing for
2303    derive (Kasimier Buchcik).
2304   - documentation: generation of gtk-doc like docs, integration with
2305    devhelp.
2306
2307
23082.6.21: Sep 4 2005:
2309   - build fixes: Cygwin portability fixes (Gerrit P. Haase), calling
2310    convention problems on Windows (Marcus Boerger), cleanups based on Linus'
2311    sparse tool, update of win32/configure.js (Rob Richards), remove warnings
2312    on Windows(Marcus Boerger), compilation without SAX1, detection of the
2313    Python binary, use $GCC inestad of $CC = 'gcc' (Andrew W. Nosenko),
2314    compilation/link with threads and old gcc, compile problem by C370 on
2315    Z/OS,
2316   - bug fixes: http_proxy environments (Peter Breitenlohner), HTML UTF-8
2317    bug (Jiri Netolicky), XPath NaN compare bug (William Brack),
2318    htmlParseScript potential bug, Schemas regexp handling of spaces, Base64
2319    Schemas comparisons NIST passes, automata build error xsd:all,
2320    xmlGetNodePath for namespaced attributes (Alexander Pohoyda), xmlSchemas
2321    foreign namespaces handling, XML Schemas facet comparison (Kupriyanov
2322    Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml:
2323    namespace ahndling in Schemas (Kasimier), empty model group in Schemas
2324    (Kasimier), wildcard in Schemas (Kasimier), URI composition (William),
2325    xs:anyType in Schemas (Kasimier), Python resolver emitting error
2326    messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to
2327    fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob
2328    Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8
2329    serialization, streaming XPath, Schemas determinism detection problem,
2330    XInclude bug, Schemas context type (Dean Hill), validation fix (Derek
2331    Poon), xmlTextReaderGetAttribute[Ns] namespaces (Rob Richards), Schemas
2332    type fix (Kuba Nowakowski), UTF-8 parser bug, error in encoding handling,
2333    xmlGetLineNo fixes, bug on entities handling, entity name extraction in
2334    error handling with XInclude, text nodes in HTML body tags (Gary Coady),
2335    xml:id and IDness at the treee level fixes, XPath streaming patterns
2336  bugs.
2337   - improvements: structured interfaces for schemas and RNG error reports
2338    (Marcus Boerger), optimization of the char data inner loop parsing
2339    (thanks to Behdad Esfahbod for the idea), schematron validation though
2340    not finished yet, xmlSaveOption to omit XML declaration, keyref match
2341    error reports (Kasimier), formal expression handling code not plugged
2342    yet, more lax mode for the HTML parser, parser XML_PARSE_COMPACT option
2343    for text nodes allocation.
2344   - documentation: xmllint man page had --nonet duplicated
2345
2346
23472.6.20: Jul 10 2005:
2348   - build fixes: Windows build (Rob Richards), Mingw compilation (Igor
2349    Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
2350    andriy@google.com), use gcc weak references to pthread to avoid the
2351    pthread dependency on Linux, compilation problem (Steve Nairn), compiling
2352    of subset (Morten Welinder), IPv6/ss_family compilation (William Brack),
2353    compilation when disabling parts of the library, standalone test
2354    distribution.
2355   - bug fixes: bug in lang(), memory cleanup on errors (William Brack),
2356    HTTP query strings (Aron Stansvik), memory leak in DTD (William), integer
2357    overflow in XPath (William), nanoftp buffer size, pattern "." apth fixup
2358    (Kasimier), leak in tree reported by Malcolm Rowe, replaceNode patch
2359    (Brent Hendricks), CDATA with NULL content (Mark Vakoc), xml:base fixup
2360    on XInclude (William), pattern fixes (William), attribute bug in
2361    exclusive c14n (Aleksey Sanin), xml:space and xml:lang with SAX2 (Rob
2362    Richards), namespace trouble in complex parsing (Malcolm Rowe), XSD type
2363    QNames fixes (Kasimier), XPath streaming fixups (William), RelaxNG bug
2364    (Rob Richards), Schemas for Schemas fixes (Kasimier), removal of ID (Rob
2365    Richards), a small RelaxNG leak, HTML parsing in push mode bug (James
2366    Bursa), failure to detect UTF-8 parsing bugs in CDATA sections,
2367    areBlanks() heuristic failure, duplicate attributes in DTD bug
2368  (William).
2369   - improvements: lot of work on Schemas by Kasimier Buchcik both on
2370    conformance and streaming, Schemas validation messages (Kasimier Buchcik,
2371    Matthew Burgess), namespace removal at the python level (Brent
2372    Hendricks), Update to new Schemas regression tests from W3C/Nist
2373    (Kasimier), xmlSchemaValidateFile() (Kasimier), implementation of
2374    xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml (James Wert),
2375    standalone test framework and programs, new DOM import APIs
2376    xmlDOMWrapReconcileNamespaces() xmlDOMWrapAdoptNode() and
2377    xmlDOMWrapRemoveNode(), extension of xmllint capabilities for SAX and
2378    Schemas regression tests, xmlStopParser() available in pull mode too,
2379    ienhancement to xmllint --shell namespaces support, Windows port of the
2380    standalone testing tools (Kasimier and William),
2381    xmlSchemaValidateStream() xmlSchemaSAXPlug() and xmlSchemaSAXUnplug() SAX
2382    Schemas APIs, Schemas xmlReader support.
2383
2384
23852.6.19: Apr 02 2005:
2386   - build fixes: drop .la from RPMs, --with-minimum build fix (William
2387    Brack), use XML_SOCKLEN_T instead of SOCKLEN_T because it breaks with AIX
2388    5.3 compiler, fixed elfgcchack.h generation and PLT reduction code on
2389    Linux/ELF/gcc4
2390   - bug fixes: schemas type decimal fixups (William Brack), xmmlint return
2391    code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY
2392    Fabrice), workaround "DAV:" namespace brokenness in c14n (Aleksey Sanin),
2393    segfault in Schemas (Kasimier Buchcik), Schemas attribute validation
2394    (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards),
2395    HTML serialization of name attribute on a elements, Python error handlers
2396    leaks and improvement (Brent Hendricks), uninitialized variable in
2397    encoding code, Relax-NG validation bug, potential crash if
2398    gnorableWhitespace is NULL, xmlSAXParseDoc and xmlParseDoc signatures,
2399    switched back to assuming UTF-8 in case no encoding is given at
2400    serialization time
2401   - improvements: lot of work on Schemas by Kasimier Buchcik on facets
2402    checking and also mixed handling.
2403   -
2404
2405
24062.6.18: Mar 13 2005:
2407   - build fixes: warnings (Peter Breitenlohner), testapi.c generation,
2408    Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
2409    some gcc4 fixes, HP-UX portability fixes (Rick Jones).
2410   - bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
2411    xmlreader stopping on non-fatal errors, thread support for dictionaries
2412    reference counting (Gary Coady), internal subset and push problem, URL
2413    saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths
2414    fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix
2415    (Mike Hommey), warning should not count as error (William Brack),
2416    xmlCreatePushParser empty chunk, XInclude parser flags (William), cleanup
2417    FTP and HTTP code to reuse the uri parsing and IPv6 (William),
2418    xmlTextWriterStartAttributeNS fix (Rob Richards), XMLLINT_INDENT being
2419    empty (William), xmlWriter bugs (Rob Richards), multithreading on Windows
2420    (Rich Salz), xmlSearchNsByHref fix (Kasimier), Python binding leak (Brent
2421    Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
2422    (Rob Richards), Schemas decimal type fixes (William Brack),
2423    xmlByteConsumed static buffer (Ben Maurer).
2424   - improvement: speedup parsing comments and DTDs, dictionary support for
2425    hash tables, Schemas Identity constraints (Kasimier), streaming XPath
2426    subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
2427    values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
2428  Stansvik),
2429   - Documentation: Wiki support (Joel Reed)
2430
2431
24322.6.17: Jan 16 2005:
2433   - build fixes: Windows, warnings removal (William Brack),
2434    maintainer-clean dependency(William), build in a different directory
2435    (William), fixing --with-minimum configure build (William), BeOS build
2436    (Marcin Konicki), Python-2.4 detection (William), compilation on AIX (Dan
2437    McNichol)
2438   - bug fixes: xmlTextReaderHasAttributes (Rob Richards), xmlCtxtReadFile()
2439    to use the catalog(s), loop on output (William Brack), XPath memory leak,
2440    ID deallocation problem (Steve Shepard), debugDumpNode crash (William),
2441    warning not using error callback (William), xmlStopParser bug (William),
2442    UTF-16 with BOM on DTDs (William), namespace bug on empty elements in
2443    push mode (Rob Richards), line and col computations fixups (Aleksey
2444    Sanin), xmlURIEscape fix (William), xmlXPathErr on bad range (William),
2445    patterns with too many steps, bug in RNG choice optimization, line number
2446    sometimes missing.
2447   - improvements: XSD Schemas (Kasimier Buchcik), python generator
2448    (William), xmlUTF8Strpos speedup (William), unicode Python strings
2449    (William), XSD error reports (Kasimier Buchcik), Python __str__ call
2450    serialize().
2451   - new APIs: added xmlDictExists(), GetLineNumber and GetColumnNumber for
2452    the xmlReader (Aleksey Sanin), Dynamic Shared Libraries APIs (mostly Joel
2453    Reed), error extraction API from regexps, new XMLSave option for format
2454    (Phil Shafer)
2455   - documentation: site improvement (John Fleck), FAQ entries
2456  (William).
2457
2458
24592.6.16: Nov 10 2004:
2460   - general hardening and bug fixing crossing all the API based on new
2461    automated regression testing
2462   - build fix: IPv6 build and test on AIX (Dodji Seketeli)
2463   - bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
2464    conversion functions return values, UTF-8 bug affecting XPath reported by
2465    Markus Bertheau, catalog problem with NULL entries (William Brack)
2466   - documentation: fix to xmllint man page, some API function description
2467    were updated.
2468   - improvements: DTD validation APIs provided at the Python level (Brent
2469    Hendricks)
2470
2471
24722.6.15: Oct 27 2004:
2473   - security fixes on the nanoftp and nanohttp modules
2474   - build fixes: xmllint detection bug in configure, building outside the
2475    source tree (Thomas Fitzsimmons)
2476   - bug fixes: HTML parser on broken ASCII chars in names (William), Python
2477    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
2478    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
2479    (Malcolm), save back <group> in catalogs (William), tree build
2480    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
2481    on Python 64bits, thread local memory deallocation, memory leak reported
2482    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
2483    entities and _private problem (William), xmlBuildRelativeURI error
2484    (William).
2485   - improvements: better XInclude error reports (William), tree debugging
2486    module and tests, convenience functions at the Reader API (Graham
2487    Bennett), add support for PI in the HTML parser.
2488
2489
24902.6.14: Sep 29 2004:
2491   - build fixes: configure paths for xmllint and xsltproc, compilation
2492    without HTML parser, compilation warning cleanups (William Brack &
2493    Malcolm Tredinnick), VMS makefile update (Craig Berry),
2494   - bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
2495    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
2496    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
2497    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
2498    handling of failed realloc(), out of bound array addressing in Schemas
2499    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
2500    E20 validation fix (Malcolm),
2501   - improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
2502    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
2503    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
2504    Tredinnick), Schemas support for xsi:schemaLocation,
2505    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)
2506
2507
25082.6.13: Aug 31 2004:
2509   - build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
2510    Solaris compiler warning, fixing RPM BuildRequires,
2511   - fixes: DTD loading on Windows (Igor), Schemas error reports APIs
2512    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
2513    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
2514    problem (William), Schemas hexbinary empty values, encoding error could
2515    generate a serialization loop.
2516   - Improvements: Schemas validity improvements (Kasimier), added --path
2517    and --load-trace options to xmllint
2518   - documentation: tutorial update (John Fleck)
2519
2520
25212.6.12: Aug 22 2004:
2522   - build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
2523    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
2524    Chin), some 64bits cleanups.
2525   - Python: avoid a warning with 2.3 (William Brack), tab and space mixes
2526    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
2527    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
2528    (Torkel Lyng)
2529   - Schemas: a lot of bug fixes and improvements from Kasimier Buchcik
2530   - fixes: RVT fixes (William), XPath context resets bug (William), memory
2531    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
2532    xmlReader state after attribute reading (William), structured error
2533    handler (William), XInclude generated xml:base fixup (William), Windows
2534    memory reallocation problem (Steve Hay), Out of Memory conditions
2535    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
2536    htmlReadMemory init (William), a posteriori validation DTD base
2537    (William), notations serialization missing, xmlGetNodePath (Dodji),
2538    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
2539  (William)
2540   - improvements: DocBook catalog build scrip (William), xmlcatalog tool
2541    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
2542    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
2543    to not generate start/end nodes, extend xmllint --version to include CVS
2544    tag (William)
2545   - documentation: web pages fixes, validity API docs fixes (William)
2546    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)
2547
2548
25492.6.11: July 5 2004:
2550   - Schemas: a lot of changes and improvements by Kasimier Buchcik for
2551    attributes, namespaces and simple types.
2552   - build fixes: --with-minimum (William Brack),  some gcc cleanup
2553    (William), --with-thread-alloc (William)
2554   - portability: Windows binary package change (Igor Zlatkovic), Catalog
2555    path on Windows
2556   - documentation: update to the tutorial (John Fleck), xmllint return code
2557    (John Fleck), man pages (Ville Skytta),
2558   - bug fixes: C14N bug serializing namespaces (Aleksey Sanin), testSAX
2559    properly initialize the library (William), empty node set in XPath
2560    (William), xmlSchemas errors (William), invalid charref problem pointed
2561    by Morus Walter, XInclude xml:base generation (William), Relax-NG bug
2562    with div processing (William), XPointer and xml:base problem(William),
2563    Reader and entities, xmllint return code for schemas (William), reader
2564    streaming problem (Steve Ball), DTD serialization problem (William),
2565    libxml.m4 fixes (Mike Hommey), do not provide destructors as methods on
2566    Python classes, xmlReader buffer bug, Python bindings memory interfaces
2567    improvement (with Stéphane Bidoul), Fixed the push parser to be back to
2568    synchronous behaviour.
2569   - improvement: custom per-thread I/O enhancement (Rob Richards), register
2570    namespace in debug shell (Stefano Debenedetti), Python based regression
2571    test for non-Unix users (William), dynamically increase the number of
2572    XPath extension functions in Python and fix a memory leak (Marc-Antoine
2573    Parent and William)
2574   - performance: hack done with Arjan van de Ven to reduce ELF footprint
2575    and generated code on Linux, plus use gcc runtime profiling to optimize
2576    the code generated in the RPM packages.
2577
2578
25792.6.10: May 17 2004:
2580   - Web page generated for ChangeLog
2581   - build fixes: --without-html problems, make check without make all
2582   - portability: problem with xpath.c on Windows (MSC and Borland), memcmp
2583    vs. strncmp on Solaris, XPath tests on Windows (Mark Vakoc), C++ do not
2584    use "list" as parameter name, make tests work with Python 1.5 (Ed
2585  Davis),
2586   - improvements: made xmlTextReaderMode public, small buffers resizing
2587    (Morten Welinder), add --maxmem option to xmllint, add
2588    xmlPopInputCallback() for Matt Sergeant, refactoring of serialization
2589    escaping, added escaping customization
2590   - bugfixes: xsd:extension (Taihei Goi), assorted regexp bugs (William
2591    Brack), xmlReader end of stream problem, node deregistration with reader,
2592    URI escaping and filemanes,  XHTML1 formatting (Nick Wellnhofer), regexp
2593    transition reduction (William), various XSD Schemas fixes (Kasimier
2594    Buchcik), XInclude fallback problem (William), weird problems with DTD
2595    (William), structured error handler callback context (William), reverse
2596    xmlEncodeSpecialChars() behaviour back to escaping '"'
2597
2598
25992.6.9: Apr 18 2004:
2600   - implement xml:id Working Draft, relaxed XPath id() checking
2601   - bugfixes: xmlCtxtReset (Brent Hendricks), line number and CDATA (Dave
2602    Beckett), Relax-NG compilation (William Brack), Regexp patches (with
2603    William), xmlUriEscape (Mark Vakoc), a Relax-NG notAllowed problem (with
2604    William), Relax-NG name classes compares (William), XInclude duplicate
2605    fallback (William), external DTD encoding detection (William), a DTD
2606    validation bug (William), xmlReader Close() fix, recursive extension
2607    schemas
2608   - improvements: use xmlRead* APIs in test tools (Mark Vakoc), indenting
2609    save optimization, better handle IIS broken HTTP redirect  behaviour (Ian
2610    Hummel), HTML parser frameset (James Bursa), libxml2-python RPM
2611    dependency, XML Schemas union support (Kasimier Buchcik), warning removal
2612    clanup (William), keep ChangeLog compressed when installing from RPMs
2613   - documentation: examples and xmlDocDumpMemory docs (John Fleck), new
2614    example (load, xpath, modify, save), xmlCatalogDump() comments,
2615   - Windows: Borland C++ builder (Eric Zurcher), work around Microsoft
2616    compiler NaN handling bug (Mark Vakoc)
2617
2618
26192.6.8: Mar 23 2004:
2620   - First step of the cleanup of the serialization code and APIs
2621   - XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam
2622    Dickmeiss), anyURI for "" (John Belmonte)
2623   - Python: Canonicalization C14N support added (Anthony Carrico)
2624   - xmlDocCopyNode() extension (William)
2625   - Relax-NG: fix when processing XInclude results (William), external
2626    reference in interleave (William), missing error on <choice>
2627    failure (William), memory leak in schemas datatype facets.
2628   - xmlWriter: patch for better DTD support (Alfred Mickautsch)
2629   - bug fixes: xmlXPathLangFunction memory leak (Mike Hommey and William
2630    Brack), no ID errors if using HTML_PARSE_NOERROR, xmlcatalog fallbacks to
2631    URI on SYSTEM lookup failure, XInclude parse flags inheritance (William),
2632    XInclude and XPointer fixes for entities (William), XML parser bug
2633    reported by Holger Rauch, nanohttp fd leak (William),  regexps char
2634    groups '-' handling (William), dictionary reference counting problems,
2635    do not close stderr.
2636   - performance patches from Petr Pajas
2637   - Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
2638   - compilation and portability fixes: --without-valid, catalog cleanups
2639    (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation
2640    to Windows (Christophe de Vienne),  --with-html-dir fixup (Julio Merino
2641    Vidal), Windows build (Eric Zurcher)
2642
2643
26442.6.7: Feb 23 2004:
2645   - documentation: tutorial updates (John Fleck), benchmark results
2646   - xmlWriter: updates and fixes (Alfred Mickautsch, Lucas Brasilino)
2647   - XPath optimization (Petr Pajas)
2648   - DTD ID handling optimization
2649   - bugfixes: xpath number with  > 19 fractional (William Brack), push
2650    mode with unescaped '>' characters, fix xmllint --stream --timing, fix
2651    xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent
2652    handling NULL, trying to fix Relax-NG/Perl interface.
2653   - python: 2.3 compatibility, whitespace fixes (Malcolm Tredinnick)
2654   - Added relaxng option to xmllint --shell
2655
2656
26572.6.6: Feb 12 2004:
2658   - nanohttp and nanoftp: buffer overflow error on URI parsing (Igor and
2659    William) reported by Yuuichi Teranishi
2660   - bugfixes: make test and path issues, xmlWriter attribute serialization
2661    (William Brack), xmlWriter indentation (William), schemas validation
2662    (Eric Haszlakiewicz), XInclude dictionaries issues (William and Oleg
2663    Paraschenko), XInclude empty fallback (William), HTML warnings (William),
2664    XPointer in XInclude (William), Python namespace serialization,
2665    isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter
2666    entities in internal subset (William), internal subset bug in push mode,
2667    <xs:all> fix (Alexey Sarytchev)
2668   - Build: fix for automake-1.8 (Alexander Winston), warnings removal
2669    (Philip Ludlam), SOCKLEN_T detection fixes (Daniel Richard), fix
2670    --with-minimum configuration.
2671   - XInclude: allow the 2001 namespace without warning.
2672   - Documentation: missing example/index.html (John Fleck), version
2673    dependencies (John Fleck)
2674   - reader API: structured error reporting (Steve Ball)
2675   - Windows compilation: mingw, msys (Mikhail Grushinskiy), function
2676    prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_
2677  patch
2678   - Parsers: added xmlByteConsumed(ctxt) API to get the byte offset in
2679    input.
2680
2681
26822.6.5: Jan 25 2004:
2683   - Bugfixes: dictionaries for schemas (William Brack), regexp segfault
2684    (William), xs:all problem (William), a number of XPointer bugfixes
2685    (William), xmllint error go to stderr, DTD validation problem with
2686    namespace, memory leak (William), SAX1 cleanup and minimal options fixes
2687    (Mark Vadoc), parser context reset on error (Shaun McCance), XPath union
2688    evaluation problem (William) , xmlReallocLoc with NULL (Aleksey Sanin),
2689    XML Schemas double free (Steve Ball), XInclude with no href, argument
2690    callbacks order for XPath callbacks (Frederic Peters)
2691   - Documentation: python scripts (William Brack), xslt stylesheets (John
2692    Fleck), doc (Sven Zimmerman), I/O example.
2693   - Python bindings: fixes (William), enum support (Stéphane Bidoul),
2694    structured error reporting (Stéphane Bidoul)
2695   - XInclude: various fixes for conformance, problem related to dictionary
2696    references (William & me), recursion (William)
2697   - xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
2698    Mickautsch),
2699   - xmlSchemas: normalizedString datatype (John Belmonte)
2700   - code cleanup for strings functions (William)
2701   - Windows: compiler patches (Mark Vakoc)
2702   - Parser optimizations, a few new XPath and dictionary APIs for future
2703    XSLT optimizations.
2704
2705
27062.6.4: Dec 24 2003:
2707   - Windows build fixes (Igor Zlatkovic)
2708   - Some serious XInclude problems reported by Oleg Paraschenko and
2709   - Unix and Makefile packaging fixes (me, William Brack,
2710   - Documentation improvements (John Fleck, William Brack), example fix
2711    (Lucas Brasilino)
2712   - bugfixes: xmlTextReaderExpand() with xmlReaderWalker, XPath handling of
2713    NULL strings (William Brack) , API building reader or parser from
2714    filedescriptor should not close it, changed XPath sorting to be stable
2715    again (William Brack), xmlGetNodePath() generating '(null)' (William
2716    Brack), DTD validation and namespace bug (William Brack), XML Schemas
2717    double inclusion behaviour
2718
2719
27202.6.3: Dec 10 2003:
2721   - documentation updates and cleanup (DV, William Brack, John Fleck)
2722   - added a repository of examples, examples from Aleksey Sanin, Dodji
2723    Seketeli, Alfred Mickautsch
2724   - Windows updates: Mark Vakoc, Igor Zlatkovic, Eric Zurcher, Mingw
2725    (Kenneth Haley)
2726   - Unicode range checking (William Brack)
2727   - code cleanup (William Brack)
2728   - Python bindings: doc (John Fleck),  bug fixes
2729   - UTF-16 cleanup and BOM issues (William Brack)
2730   - bug fixes: ID and xmlReader validation, XPath (William Brack),
2731    xmlWriter (Alfred Mickautsch), hash.h inclusion problem, HTML parser
2732    (James Bursa), attribute defaulting and validation, some serialization
2733    cleanups, XML_GET_LINE macro, memory debug when using threads (William
2734    Brack), serialization of attributes and entities content, xmlWriter
2735    (Daniel Schulman)
2736   - XInclude bugfix, new APIs and update to the last version including the
2737    namespace change.
2738   - XML Schemas improvements: include (Robert Stepanek), import and
2739    namespace handling, fixed the regression tests troubles, added examples
2740    based on Eric van der Vlist book, regexp fixes
2741   - preliminary pattern support for streaming (needed for schemas
2742    constraints), added xmlTextReaderPreservePattern() to collect subdocument
2743    when streaming.
2744   - various fixes in the structured error handling
2745
2746
27472.6.2: Nov 4 2003:
2748   - XPath context unregistration fixes
2749   - text node coalescing fixes (Mark Lilback)
2750   - API to screate a W3C Schemas from an existing document (Steve Ball)
2751   - BeOS patches (Marcin 'Shard' Konicki)
2752   - xmlStrVPrintf function added (Aleksey Sanin)
2753   - compilation fixes (Mark Vakoc)
2754   - stdin parsing fix (William Brack)
2755   - a posteriori DTD validation fixes
2756   - xmlReader bug fixes: Walker fixes, python bindings
2757   - fixed xmlStopParser() to really stop the parser and errors
2758   - always generate line numbers when using the new xmlReadxxx
2759  functions
2760   - added XInclude support to the xmlReader interface
2761   - implemented XML_PARSE_NONET parser option
2762   - DocBook XSLT processing bug fixed
2763   - HTML serialization for <p> elements (William Brack and me)
2764   - XPointer failure in XInclude are now handled as resource errors
2765   - fixed xmllint --html to use the HTML serializer on output (added
2766    --xmlout to implement the previous behaviour of saving it using the XML
2767    serializer)
2768
2769
27702.6.1: Oct 28 2003:
2771   - Mostly bugfixes after the big 2.6.0 changes
2772   - Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup
2773    (William Brack)
2774   - Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor
2775    Zlatkovic)
2776   - xmlWriter bugfix (Alfred Mickautsch)
2777   - chvalid.[ch]: couple of fixes from Stephane Bidoul
2778   - context reset: error state reset, push parser reset (Graham
2779  Bennett)
2780   - context reuse: generate errors if file is not readable
2781   - defaulted attributes for element coming from internal entities
2782    (Stephane Bidoul)
2783   - Python: tab and spaces mix (William Brack)
2784   - Error handler could crash in DTD validation in 2.6.0
2785   - xmlReader: do not use the document or element _private field
2786   - testSAX.c: avoid a problem with some PIs (Massimo Morara)
2787   - general bug fixes: mandatory encoding in text decl, serializing
2788    Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik),
2789    XPath errors not reported,  slow HTML parsing of large documents.
2790
2791
27922.6.0: Oct 20 2003:
2793   - Major revision release: should be API and ABI compatible but got a lot
2794    of change
2795   - Increased the library modularity, far more options can be stripped out,
2796    a --with-minimum configuration will weight around 160KBytes
2797   - Use per parser and per document dictionary, allocate names and small
2798    text nodes from the dictionary
2799   - Switch to a SAX2 like parser rewrote most of the XML parser core,
2800    provides namespace resolution and defaulted attributes, minimize memory
2801    allocations and copies, namespace checking and specific error handling,
2802    immutable buffers, make predefined entities static structures, etc...
2803   - rewrote all the error handling in the library, all errors can be
2804    intercepted at a structured level, with precise information
2805  available.
2806   - New simpler and more generic XML and HTML parser APIs, allowing to
2807    easily modify the parsing options and reuse parser context for multiple
2808    consecutive documents.
2809   - Similar new APIs for the xmlReader, for options and reuse, provided new
2810    functions to access content as const strings, use them for Python
2811  bindings
2812   - a  lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin),
2813    Walker i.e. reader on a document tree based on Alfred Mickautsch code,
2814    make room in nodes for line numbers, reference counting and future PSVI
2815    extensions, generation of character ranges to be checked with faster
2816    algorithm (William),  xmlParserMaxDepth (Crutcher Dunnavant), buffer
2817    access
2818   - New xmlWriter API provided by Alfred Mickautsch
2819   - Schemas: base64 support by Anthony Carrico
2820   - Parser<->HTTP integration fix, proper processing of the Mime-Type
2821    and charset information if available.
2822   - Relax-NG: bug fixes including the one reported by Martijn Faassen and
2823    zeroOrMore, better error reporting.
2824   - Python bindings (Stéphane Bidoul), never use stdout for errors
2825  output
2826   - Portability: all the headers have macros for export and calling
2827    convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry),
2828    Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher,  Igor),
2829    Mingw (Igor), typos (Mark Vakoc),  beta version (Stephane Bidoul),
2830    warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin
2831    'Shard' Konicki)
2832   - Documentation fixes and README (William Brack), search fix (William),
2833    tutorial updates (John Fleck), namespace docs (Stefan Kost)
2834   - Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized
2835    mutexes, HTML doctype lowercase,  SAX/IO (William), compression detection
2836    and restore (William), attribute declaration in DTDs (William), namespace
2837    on attribute in HTML output (William), input filename (Rob Richards),
2838    namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks
2839    (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter
2840    Derr), high codepoint charref like &#x10FFFF;, buffer access in push
2841    mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug
2842    (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
2843    error handling.
2844   - xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
2845    testing,  --nodict for building without tree dictionary, --nocdata to
2846    replace CDATA by text, --nsclean to remove surperfluous  namespace
2847    declarations
2848   - added xml2-config --libtool-libs option from Kevin P. Fleming
2849   - a lot of profiling and tuning of the code, speedup patch for
2850    xmlSearchNs() by Luca Padovani. The xmlReader should do far less
2851    allocation and it speed should get closer to SAX. Chris Anderson worked
2852    on speeding and cleaning up repetitive checking code.
2853   - cleanup of "make tests"
2854   - libxml-2.0-uninstalled.pc from Malcolm Tredinnick
2855   - deactivated the broken docBook SGML parser code and plugged the XML
2856    parser instead.
2857
2858
28592.5.11: Sep 9 2003:
2860A bugfix only release:   - risk of crash in Relax-NG
2861   - risk of crash when using multithreaded programs
2862
2863
28642.5.10: Aug 15 2003:
2865A bugfixes only release   - Windows Makefiles (William Brack)
2866   - UTF-16 support fixes (Mark Itzcovitz)
2867   - Makefile and portability (William Brack) automake, Linux alpha, Mingw
2868    on Windows (Mikhail Grushinskiy)
2869   - HTML parser (Oliver Stoeneberg)
2870   - XInclude performance problem reported by Kevin Ruscoe
2871   - XML parser performance problem reported by Grant Goodale
2872   - xmlSAXParseDTD() bug fix from Malcolm Tredinnick
2873   - and a couple other cleanup
2874
2875
28762.5.9: Aug 9 2003:
2877   - bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build
2878    (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading
2879    (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli),
2880    xmlReader, Relax-NG schemas compilation, namespace handling,  EXSLT (Sean
2881    Griffin), HTML parsing problem (William Brack), DTD validation for mixed
2882    content + namespaces, HTML serialization, library initialization,
2883    progressive HTML parser
2884   - better interfaces for Relax-NG error handling (Joachim Bauch, )
2885   - adding xmlXIncludeProcessTree() for XInclud'ing in a subtree
2886   - doc fixes and improvements (John Fleck)
2887   - configure flag for -with-fexceptions when embedding in C++
2888   - couple of new UTF-8 helper functions (William Brack)
2889   - general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)
2890   - xmlTextReader cleanup + enum for node types (Bjorn Reese)
2891   - general compilation/warning cleanup Solaris/HP-UX/... (William
2892  Brack)
2893
2894
28952.5.8: Jul 6 2003:
2896   - bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark
2897    Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack),
2898    PI related memleak, compilation without schemas or without xpath (Joerg
2899    Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs,
2900    rpm problem on , i86_64, removed a few compilation problems from 2.5.7,
2901    xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick)
2902   - portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry)
2903   - William Brack fixed multithreading lock problems
2904   - IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro)
2905   - Windows fixes (Igor Zlatkovic,  Eric Zurcher), threading (Stéphane
2906    Bidoul)
2907   - A few W3C Schemas Structure improvements
2908   - W3C Schemas Datatype improvements (Charlie Bozeman)
2909   - Python bindings for thread globals (Stéphane Bidoul), and method/class
2910    generator
2911   - added --nonet option to xmllint
2912   - documentation improvements (John Fleck)
2913
2914
29152.5.7: Apr 25 2003:
2916   - Relax-NG: Compiling to regexp and streaming validation on top of the
2917    xmlReader interface, added to xmllint --stream
2918   - xmlReader: Expand(), Next() and DOM access glue, bug fixes
2919   - Support for large files: RGN validated a 4.5GB instance
2920   - Thread support is now configured in by default
2921   - Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes
2922    (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser
2923    and zero bytes handling, some missing Windows file path conversions,
2924    behaviour of the parser and validator in the presence of "out of memory"
2925    error conditions
2926   - extended the API to be able to plug a garbage collecting memory
2927    allocator, added xmlMallocAtomic() and modified the allocations
2928    accordingly.
2929   - Performances: removed excessive malloc() calls, speedup of the push and
2930    xmlReader interfaces, removed excessive thread locking
2931   - Documentation: man page (John Fleck), xmlReader documentation
2932   - Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks)
2933
2934
29352.5.6: Apr 1 2003:
2936   - Fixed W3C XML Schemas datatype, should be compliant now except for
2937    binHex and base64 which are not supported yet.
2938   - bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and
2939    XInclude entities handling, encoding detection on external subsets, XML
2940    Schemas bugs and memory leaks, HTML parser (James Bursa)
2941   - portability: python/trio (Albert Chin), Sun compiler warnings
2942   - documentation: added --relaxng option to xmllint man page (John)
2943   - improved error reporting: xml:space, start/end tag mismatches, Relax NG
2944    errors
2945
2946
29472.5.5: Mar 24 2003:
2948   - Lot of fixes on the Relax NG implementation. More testing including
2949    DocBook and TEI examples.
2950   - Increased the support for W3C XML Schemas datatype
2951   - Several bug fixes in the URI handling layer
2952   - Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding
2953    conversion, line counting in the parser.
2954   - Added support for $XMLLINT_INDENT environment variable, FTP delete
2955   - Fixed the RPM spec file name
2956
2957
29582.5.4: Feb 20 2003:
2959   - Conformance testing and lot of fixes on Relax NG and XInclude
2960    implementation
2961   - Implementation of XPointer element() scheme
2962   - Bug fixes: XML parser, XInclude entities merge, validity checking on
2963    namespaces,
2964    2 serialization bugs, node info generation problems, a DTD regexp
2965    generation problem.
2966
2967   - Portability: windows updates and path canonicalization (Igor)
2968   - A few typo fixes (Kjartan Maraas)
2969   - Python bindings generator fixes (Stephane Bidoul)
2970
2971
29722.5.3: Feb 10 2003:
2973   - RelaxNG and XML Schemas datatypes improvements, and added a first
2974    version of RelaxNG Python bindings
2975   - Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for
2976    serializing namespace nodes, encoding conversion bug, XHTML1
2977  serialization
2978   - Portability fixes: Windows (Igor), AMD 64bits RPM spec file
2979
2980
29812.5.2: Feb 5 2003:
2982   - First implementation of RelaxNG, added --relaxng flag to xmllint
2983   - Schemas support now compiled in by default.
2984   - Bug fixes: DTD validation, namespace checking, XInclude and entities,
2985    delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul),
2986    XPath parser and evaluation,  UTF8ToUTF8 serialization, XML reader memory
2987    consumption, HTML parser, HTML serialization in the presence of
2988  namespaces
2989   - added an HTML API to check elements and attributes.
2990   - Documentation improvement, PDF for the tutorial (John Fleck), doc
2991    patches (Stefan Kost)
2992   - Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic)
2993   - Added python bindings for XPointer, contextual error reporting
2994    (Stéphane Bidoul)
2995   - URI/file escaping problems (Stefano Zacchiroli)
2996
2997
29982.5.1: Jan 8 2003:
2999   - Fixes a memory leak and configuration/compilation problems in 2.5.0
3000   - documentation updates (John)
3001   - a couple of XmlTextReader fixes
3002
3003
30042.5.0: Jan 6 2003:
3005   - New XmltextReader interface based on C#
3006    API (with help of Stéphane Bidoul)
3007   - Windows: more exports, including the new API (Igor)
3008   - XInclude fallback fix
3009   - Python: bindings for the new API, packaging (Stéphane Bidoul),
3010    drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup
3011    and iterators for Python-2.2 (Hannu Krosing)
3012   - Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update
3013  (John)
3014   - Fix an XML parser bug raised by Vyacheslav Pindyura
3015   - Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry)
3016   - Entities handling fixes
3017   - new API to optionally track node creation and deletion (Lukas
3018  Schroeder)
3019   - Added documentation for the XmltextReader interface and some XML guidelines
3020
3021
30222.4.30: Dec 12 2002:
3023   - 2.4.29 broke the python bindings, rereleasing
3024   - Improvement/fixes of the XML API generator, and couple of minor code
3025    fixes.
3026
3027
30282.4.29: Dec 11 2002:
3029   - Windows fixes (Igor): Windows CE port, pthread linking, python bindings
3030    (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates
3031   - Fix for prev in python bindings (ERDI Gergo)
3032   - Fix for entities handling (Marcus Clarke)
3033   - Refactored the XML and HTML dumps to a single code path, fixed XHTML1
3034    dump
3035   - Fix for URI parsing when handling URNs with fragment identifiers
3036   - Fix for HTTP URL escaping problem
3037   - added an TextXmlReader (C#) like API (work in progress)
3038   - Rewrote the API in XML generation script, includes a C parser and saves
3039    more information needed for C# bindings
3040
3041
30422.4.28: Nov 22 2002:
3043   - a couple of python binding fixes
3044   - 2 bug fixes in the XML push parser
3045   - potential memory leak removed (Martin Stoilov)
3046   - fix to the configure script for Unix (Dimitri Papadopoulos)
3047   - added encoding support for XInclude parse="text"
3048   - autodetection of XHTML1 and specific serialization rules added
3049   - nasty threading bug fixed (William Brack)
3050
3051
30522.4.27: Nov 17 2002:
3053   - fixes for the Python bindings
3054   - a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(),
3055    HTML parser,  Schemas (Charles Bozeman), document fragment support
3056    (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer,
3057    xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr
3058    Pajas), entities processing
3059   - added grep to xmllint --shell
3060   - VMS update patch from Craig A. Berry
3061   - cleanup of the Windows build with support for more compilers (Igor),
3062    better thread support on Windows
3063   - cleanup of Unix Makefiles and spec file
3064   - Improvements to the documentation (John Fleck)
3065
3066
30672.4.26: Oct 18 2002:
3068   - Patches for Windows CE port, improvements on Windows paths handling
3069   - Fixes to the validation  code (DTD and Schemas), xmlNodeGetPath() ,
3070    HTML serialization, Namespace compliance,  and a number of small
3071  problems
3072
3073
30742.4.25: Sep 26 2002:
3075   - A number of bug fixes: XPath, validation, Python bindings, DOM and
3076    tree, xmlI/O,  Html
3077   - Serious rewrite of XInclude
3078   - Made XML Schemas regexp part of the default build and APIs, small fix
3079    and improvement of the regexp core
3080   - Changed the validation code to reuse XML Schemas regexp APIs
3081   - Better handling of Windows file paths, improvement of Makefiles (Igor,
3082    Daniel Gehriger, Mark Vakoc)
3083   - Improved the python I/O bindings, the tests, added resolver and regexp
3084    APIs
3085   - New logos from Marc Liyanage
3086   - Tutorial improvements: John Fleck, Christopher Harris
3087   - Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe
3088  Merlet)
3089   - removal of all stderr/perror use for error reporting
3090   - Better error reporting: XPath and DTD validation
3091   - update of the trio portability layer (Bjorn Reese)
3092
30932.4.24: Aug 22 2002   - XPath fixes (William), xf:escape-uri() (Wesley Terpstra)
3094   - Python binding fixes: makefiles (William), generator, rpm build, x86-64
3095    (fcrozat)
3096   - HTML <style> and boolean attributes serializer fixes
3097   - C14N improvements by Aleksey
3098   - doc cleanups: Rick Jones
3099   - Windows compiler makefile updates: Igor and Elizabeth Barham
3100   - XInclude: implementation of fallback and xml:base fixup added
3101
3102
31032.4.23: July 6 2002:
3104   - performances patches: Peter Jacobi
3105   - c14n fixes, testsuite and performances: Aleksey Sanin
3106   - added xmlDocFormatDump: Chema Celorio
3107   - new tutorial: John Fleck
3108   - new hash functions and performances: Sander Vesik, portability fix from
3109    Peter Jacobi
3110   - a number of bug fixes: XPath (William Brack, Richard Jinks), XML and
3111    HTML parsers, ID lookup function
3112   - removal of all remaining sprintf: Aleksey Sanin
3113
3114
31152.4.22: May 27 2002:
3116   - a number of bug fixes: configure scripts, base handling, parser, memory
3117    usage, HTML parser, XPath, documentation (Christian Cornelssen),
3118    indentation, URI parsing
3119   - Optimizations for XMLSec, fixing and making public some of the network
3120    protocol handlers (Aleksey)
3121   - performance patch from Gary Pennington
3122   - Charles Bozeman provided date and time support for XML Schemas
3123  datatypes
3124
3125
31262.4.21: Apr 29 2002:
3127This release is both a bug fix release and also contains the early XML
3128Schemas structures at
3129http://www.w3.org/TR/xmlschema-1/
3130 and datatypes at
3131http://www.w3.org/TR/xmlschema-2/
3132 code, beware, all
3133interfaces are likely to change, there is huge holes, it is clearly a work in
3134progress and don't even think of putting this code in a production system,
3135it's actually not compiled in by default. The real fixes are:
3136   - a couple of bugs or limitations introduced in 2.4.20
3137   - patches for Borland C++ and MSC by Igor
3138   - some fixes on XPath strings and conformance patches by Richard
3139  Jinks
3140   - patch from Aleksey for the ExcC14N specification
3141   - OSF/1 bug fix by Bjorn
3142
3143
31442.4.20: Apr 15 2002:
3145   - bug fixes: file descriptor leak, XPath, HTML output, DTD validation
3146   - XPath conformance testing by Richard Jinks
3147   - Portability fixes: Solaris, MPE/iX, Windows, OSF/1, python bindings,
3148    libxml.m4
3149
3150
31512.4.19: Mar 25 2002:
3152   - bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8
3153    encoder
3154   - portability fixes in the HTTP code
3155   - memory allocation checks using valgrind, and profiling tests
3156   - revamp of the Windows build and Makefiles
3157
3158
31592.4.18: Mar 18 2002:
3160   - bug fixes: tree, SAX, canonicalization, validation, portability,
3161  XPath
3162   - removed the --with-buffer option it was becoming unmaintainable
3163   - serious cleanup of the Python makefiles
3164   - speedup patch to XPath very effective for DocBook stylesheets
3165   - Fixes for Windows build, cleanup of the documentation
3166
3167
31682.4.17: Mar 8 2002:
3169   - a lot of bug fixes, including "namespace nodes have no parents in
3170  XPath"
3171   - fixed/improved the Python wrappers, added more examples and more
3172    regression tests, XPath extension functions can now return node-sets
3173   - added the XML Canonicalization support from Aleksey Sanin
3174
3175
31762.4.16: Feb 20 2002:
3177   - a lot of bug fixes, most of them were triggered by the XML Testsuite
3178    from OASIS and W3C. Compliance has been significantly improved.
3179   - a couple of portability fixes too.
3180
3181
31822.4.15: Feb 11 2002:
3183   - Fixed the Makefiles, especially the python module ones
3184   - A few bug fixes and cleanup
3185   - Includes cleanup
3186
3187
31882.4.14: Feb 8 2002:
3189   - Change of License to the MIT
3190    License basically for integration in XFree86 codebase, and removing
3191    confusion around the previous dual-licensing
3192   - added Python bindings, beta software but should already be quite
3193    complete
3194   - a large number of fixes and cleanups, especially for all tree
3195    manipulations
3196   - cleanup of the headers, generation of a reference API definition in
3197  XML
3198
3199
32002.4.13: Jan 14 2002:
3201   - update of the documentation: John Fleck and Charlie Bozeman
3202   - cleanup of timing code from Justin Fletcher
3203   - fixes for Windows and initial thread support on Win32: Igor and Serguei
3204    Narojnyi
3205   - Cygwin patch from Robert Collins
3206   - added xmlSetEntityReferenceFunc() for Keith Isdale work on xsldbg
3207
3208
32092.4.12: Dec 7 2001:
3210   - a few bug fixes: thread (Gary Pennington), xmllint (Geert Kloosterman),
3211    XML parser (Robin Berjon), XPointer (Danny Jamshy), I/O cleanups
3212  (robert)
3213   - Eric Lavigne contributed project files for MacOS
3214   - some makefiles cleanups
3215
3216
32172.4.11: Nov 26 2001:
3218   - fixed a couple of errors in the includes, fixed a few bugs, some code
3219    cleanups
3220   - xmllint man pages improvement by Heiko Rupp
3221   - updated VMS build instructions from John A Fotheringham
3222   - Windows Makefiles updates from Igor
3223
3224
32252.4.10: Nov 10 2001:
3226   - URI escaping fix (Joel Young)
3227   - added xmlGetNodePath() (for paths or XPointers generation)
3228   - Fixes namespace handling problems when using DTD and validation
3229   - improvements on xmllint: Morus Walter patches for --format and
3230    --encode, Stefan Kost and Heiko Rupp improvements on the --shell
3231   - fixes for xmlcatalog linking pointed by Weiqi Gao
3232   - fixes to the HTML parser
3233
3234
32352.4.9: Nov 6 2001:
3236   - fixes more catalog bugs
3237   - avoid a compilation problem, improve xmlGetLineNo()
3238
3239
32402.4.8: Nov 4 2001:
3241   - fixed SGML catalogs broken in previous release, updated xmlcatalog
3242  tool
3243   - fixed a compile errors and some includes troubles.
3244
3245
32462.4.7: Oct 30 2001:
3247   - exported some debugging interfaces
3248   - serious rewrite of the catalog code
3249   - integrated Gary Pennington thread safety patch, added configure option
3250    and regression tests
3251   - removed an HTML parser bug
3252   - fixed a couple of potentially serious validation bugs
3253   - integrated the SGML DocBook support in xmllint
3254   - changed the nanoftp anonymous login passwd
3255   - some I/O cleanup and a couple of interfaces for Perl wrapper
3256   - general bug fixes
3257   - updated xmllint man page by John Fleck
3258   - some VMS and Windows updates
3259
3260
32612.4.6: Oct 10 2001:
3262   - added an updated man pages by John Fleck
3263   - portability and configure fixes
3264   - an infinite loop on the HTML parser was removed (William)
3265   - Windows makefile patches from Igor
3266   - fixed half a dozen bugs reported for libxml or libxslt
3267   - updated xmlcatalog to be able to modify SGML super catalogs
3268
3269
32702.4.5: Sep 14 2001:
3271   - Remove a few annoying bugs in 2.4.4
3272   - forces the HTML serializer to output decimal charrefs since some
3273    version of Netscape can't handle hexadecimal ones
3274
3275
32761.8.16: Sep 14 2001:
3277   - maintenance release of the old libxml1 branch, couple of bug and
3278    portability fixes
3279
3280
32812.4.4: Sep 12 2001:
3282   - added --convert to xmlcatalog, bug fixes and cleanups of XML
3283  Catalog
3284   - a few bug fixes and some portability changes
3285   - some documentation cleanups
3286
3287
32882.4.3:  Aug 23 2001:
3289   - XML Catalog support see the doc
3290   - New NaN/Infinity floating point code
3291   - A few bug fixes
3292
3293
32942.4.2:  Aug 15 2001:
3295   - adds xmlLineNumbersDefault() to control line number generation
3296   - lot of bug fixes
3297   - the Microsoft MSC projects files should now be up to date
3298   - inheritance of namespaces from DTD defaulted attributes
3299   - fixes a serious potential security bug
3300   - added a --format option to xmllint
3301
3302
33032.4.1:  July 24 2001:
3304   - possibility to keep line numbers in the tree
3305   - some computation NaN fixes
3306   - extension of the XPath API
3307   - cleanup for alpha and ia64 targets
3308   - patch to allow saving through HTTP PUT or POST
3309
3310
33112.4.0: July 10 2001:
3312   - Fixed a few bugs in XPath, validation, and tree handling.
3313   - Fixed XML Base implementation, added a couple of examples to the
3314    regression tests
3315   - A bit of cleanup
3316
3317
33182.3.14: July 5 2001:
3319   - fixed some entities problems and reduce memory requirement when
3320    substituting them
3321   - lots of improvements in the XPath queries interpreter can be
3322    substantially faster
3323   - Makefiles and configure cleanups
3324   - Fixes to XPath variable eval, and compare on empty node set
3325   - HTML tag closing bug fixed
3326   - Fixed an URI reference computation problem when validating
3327
3328
33292.3.13: June 28 2001:
3330   - 2.3.12 configure.in was broken as well as the push mode XML parser
3331   - a few more fixes for compilation on Windows MSC by Yon Derek
3332
3333
33341.8.14: June 28 2001:
3335   - Zbigniew Chyla gave a patch to use the old XML parser in push mode
3336   - Small Makefile fix
3337
3338
33392.3.12: June 26 2001:
3340   - lots of cleanup
3341   - a couple of validation fix
3342   - fixed line number counting
3343   - fixed serious problems in the XInclude processing
3344   - added support for UTF8 BOM at beginning of entities
3345   - fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0
3346    miscompile uri.c (William), Thomas Leitner provided a fix for the
3347    optimizer on Tru64
3348   - incorporated Yon Derek and Igor Zlatkovic  fixes and improvements for
3349    compilation on Windows MSC
3350   - update of libxml-doc.el (Felix Natter)
3351   - fixed 2 bugs in URI normalization code
3352
3353
33542.3.11: June 17 2001:
3355   - updates to trio, Makefiles and configure should fix some portability
3356    problems (alpha)
3357   - fixed some HTML serialization problems (pre, script, and block/inline
3358    handling), added encoding aware APIs, cleanup of this code
3359   - added xmlHasNsProp()
3360   - implemented a specific PI for encoding support in the DocBook SGML
3361    parser
3362   - some XPath fixes (-Infinity, / as a function parameter and namespaces
3363    node selection)
3364   - fixed a performance problem and an error in the validation code
3365   - fixed XInclude routine to implement the recursive behaviour
3366   - fixed xmlFreeNode problem when libxml is included statically twice
3367   - added --version to xmllint for bug reports
3368
3369
33702.3.10: June 1 2001:
3371   - fixed the SGML catalog support
3372   - a number of reported bugs got fixed, in XPath, iconv detection,
3373    XInclude processing
3374   - XPath string function should now handle unicode correctly
3375
3376
33772.3.9: May 19 2001:
3378Lots of bugfixes, and added a basic SGML catalog support:
3379   - HTML push bugfix #54891 and another patch from Jonas Borgstrom
3380   - some serious speed optimization again
3381   - some documentation cleanups
3382   - trying to get better linking on Solaris (-R)
3383   - XPath API cleanup from Thomas Broyer
3384   - Validation bug fixed #54631, added a patch from Gary Pennington, fixed
3385    xmlValidGetValidElements()
3386   - Added an INSTALL file
3387   - Attribute removal added to API: #54433
3388   - added a basic support for SGML catalogs
3389   - fixed xmlKeepBlanksDefault(0) API
3390   - bugfix in xmlNodeGetLang()
3391   - fixed a small configure portability problem
3392   - fixed an inversion of SYSTEM and PUBLIC identifier in HTML document
3393
3394
33951.8.13: May 14 2001:
3396   - bugfixes release of the old libxml1 branch used by Gnome
3397
3398
33992.3.8: May 3 2001:
3400   - Integrated an SGML DocBook parser for the Gnome project
3401   - Fixed a few things in the HTML parser
3402   - Fixed some XPath bugs raised by XSLT use, tried to fix the floating
3403    point portability issue
3404   - Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for
3405    DOM+validation using the XML REC as input and a 700MHz celeron).
3406   - incorporated more Windows cleanup
3407   - added xmlSaveFormatFile()
3408   - fixed problems in copying nodes with entities references (gdome)
3409   - removed some troubles surrounding the new validation module
3410
3411
34122.3.7: April 22 2001:
3413   - lots of small bug fixes, corrected XPointer
3414   - Non deterministic content model validation support
3415   - added xmlDocCopyNode for gdome2
3416   - revamped the way the HTML parser handles end of tags
3417   - XPath: corrections of namespaces support and number formatting
3418   - Windows: Igor Zlatkovic patches for MSC compilation
3419   - HTML output fixes from P C Chow and William M. Brack
3420   - Improved validation speed sensible for DocBook
3421   - fixed a big bug with ID declared in external parsed entities
3422   - portability fixes, update of Trio from Bjorn Reese
3423
3424
34252.3.6: April 8 2001:
3426   - Code cleanup using extreme gcc compiler warning options, found and
3427    cleared half a dozen potential problem
3428   - the Eazel team found an XML parser bug
3429   - cleaned up the user of some of the string formatting function. used the
3430    trio library code to provide the one needed when the platform is missing
3431    them
3432   - xpath: removed a memory leak and fixed the predicate evaluation
3433    problem, extended the testsuite and cleaned up the result. XPointer seems
3434    broken ...
3435
3436
34372.3.5: Mar 23 2001:
3438   - Biggest change is separate parsing and evaluation of XPath expressions,
3439    there is some new APIs for this too
3440   - included a number of bug fixes(XML push parser, 51876, notations,
3441  52299)
3442   - Fixed some portability issues
3443
3444
34452.3.4: Mar 10 2001:
3446   - Fixed bugs #51860 and #51861
3447   - Added a global variable xmlDefaultBufferSize to allow default buffer
3448    size to be application tunable.
3449   - Some cleanup in the validation code, still a bug left and this part
3450    should probably be rewritten to support ambiguous content model :-\
3451   - Fix a couple of serious bugs introduced or raised by changes in 2.3.3
3452    parser
3453   - Fixed another bug in xmlNodeGetContent()
3454   - Bjorn fixed XPath node collection and Number formatting
3455   - Fixed a loop reported in the HTML parsing
3456   - blank space are reported even if the Dtd content model proves that they
3457    are formatting spaces, this is for XML conformance
3458
3459
34602.3.3: Mar 1 2001:
3461   - small change in XPath for XSLT
3462   - documentation cleanups
3463   - fix in validation by Gary Pennington
3464   - serious parsing performances improvements
3465
3466
34672.3.2: Feb 24 2001:
3468   - chasing XPath bugs, found a bunch, completed some TODO
3469   - fixed a Dtd parsing bug
3470   - fixed a bug in xmlNodeGetContent
3471   - ID/IDREF support partly rewritten by Gary Pennington
3472
3473
34742.3.1: Feb 15 2001:
3475   - some XPath and HTML bug fixes for XSLT
3476   - small extension of the hash table interfaces for DOM gdome2
3477    implementation
3478   - A few bug fixes
3479
3480
34812.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track):
3482   - Lots of XPath bug fixes
3483   - Add a mode with Dtd lookup but without validation error reporting for
3484    XSLT
3485   - Add support for text node without escaping (XSLT)
3486   - bug fixes for xmlCheckFilename
3487   - validation code bug fixes from Gary Pennington
3488   - Patch from Paul D. Smith correcting URI path normalization
3489   - Patch to allow simultaneous install of libxml-devel and
3490  libxml2-devel
3491   - the example Makefile is now fixed
3492   - added HTML to the RPM packages
3493   - tree copying bugfixes
3494   - updates to Windows makefiles
3495   - optimization patch from Bjorn Reese
3496
3497
34982.2.11: Jan 4 2001:
3499   - bunch of bug fixes (memory I/O, xpath, ftp/http, ...)
3500   - added htmlHandleOmittedElem()
3501   - Applied Bjorn Reese's IPV6 first patch
3502   - Applied Paul D. Smith patches for validation of XInclude results
3503   - added XPointer xmlns() new scheme support
3504
3505
35062.2.10: Nov 25 2000:
3507   - Fix the Windows problems of 2.2.8
3508   - integrate OpenVMS patches
3509   - better handling of some nasty HTML input
3510   - Improved the XPointer implementation
3511   - integrate a number of provided patches
3512
3513
35142.2.9: Nov 25 2000:
3515   - erroneous release :-(
3516
3517
35182.2.8: Nov 13 2000:
3519   - First version of XInclude
3520    support
3521   - Patch in conditional section handling
3522   - updated MS compiler project
3523   - fixed some XPath problems
3524   - added an URI escaping function
3525   - some other bug fixes
3526
3527
35282.2.7: Oct 31 2000:
3529   - added message redirection
3530   - XPath improvements (thanks TOM !)
3531   - xmlIOParseDTD() added
3532   - various small fixes in the HTML, URI, HTTP and XPointer support
3533   - some cleanup of the Makefile, autoconf and the distribution content
3534
3535
35362.2.6: Oct 25 2000::
3537   - Added an hash table module, migrated a number of internal structure to
3538    those
3539   - Fixed a posteriori validation problems
3540   - HTTP module cleanups
3541   - HTML parser improvements (tag errors, script/style handling, attribute
3542    normalization)
3543   - coalescing of adjacent text nodes
3544   - couple of XPath bug fixes, exported the internal API
3545
3546
35472.2.5: Oct 15 2000::
3548   - XPointer implementation and testsuite
3549   - Lot of XPath fixes, added variable and functions registration, more
3550    tests
3551   - Portability fixes, lots of enhancements toward an easy Windows build
3552    and release
3553   - Late validation fixes
3554   - Integrated a lot of contributed patches
3555   - added memory management docs
3556   - a performance problem when using large buffer seems fixed
3557
3558
35592.2.4: Oct 1 2000::
3560   - main XPath problem fixed
3561   - Integrated portability patches for Windows
3562   - Serious bug fixes on the URI and HTML code
3563
3564
35652.2.3: Sep 17 2000:
3566   - bug fixes
3567   - cleanup of entity handling code
3568   - overall review of all loops in the parsers, all sprintf usage has been
3569    checked too
3570   - Far better handling of larges Dtd. Validating against DocBook XML Dtd
3571    works smoothly now.
3572
3573
35741.8.10: Sep 6 2000:
3575   - bug fix release for some Gnome projects
3576
3577
35782.2.2: August 12 2000:
3579   - mostly bug fixes
3580   - started adding routines to access xml parser context options
3581
3582
35832.2.1: July 21 2000:
3584   - a purely bug fixes release
3585   - fixed an encoding support problem when parsing from a memory block
3586   - fixed a DOCTYPE parsing problem
3587   - removed a bug in the function allowing to override the memory
3588    allocation routines
3589
3590
35912.2.0: July 14 2000:
3592   - applied a lot of portability fixes
3593   - better encoding support/cleanup and saving (content is now always
3594    encoded in UTF-8)
3595   - the HTML parser now correctly handles encodings
3596   - added xmlHasProp()
3597   - fixed a serious problem with &#38;
3598   - propagated the fix to FTP client
3599   - cleanup, bugfixes, etc ...
3600   - Added a page about libxml Internationalization
3601    support
3602
3603
36041.8.9:  July 9 2000:
3605   - fixed the spec the RPMs should be better
3606   - fixed a serious bug in the FTP implementation, released 1.8.9 to solve
3607    rpmfind users problem
3608
3609
36102.1.1: July 1 2000:
3611   - fixes a couple of bugs in the 2.1.0 packaging
3612   - improvements on the HTML parser
3613
3614
36152.1.0 and 1.8.8: June 29 2000:
3616   - 1.8.8 is mostly a commodity package for upgrading to libxml2 according
3617    to new instructions. It fixes a nasty problem
3618    about &#38; charref parsing
3619   - 2.1.0 also ease the upgrade from libxml v1 to the recent version. it
3620    also contains numerous fixes and enhancements:
3621
3622      added xmlStopParser() to stop parsing
3623      improved a lot parsing speed when there is large CDATA blocks
3624      includes XPath patches provided by Picdar Technology
3625      tried to fix as much as possible DTD validation and namespace
3626        related problems
3627      output to a given encoding has been added/tested
3628      lot of various fixes
3629
3630
3631   - added xmlStopParser() to stop parsing
3632   - improved a lot parsing speed when there is large CDATA blocks
3633   - includes XPath patches provided by Picdar Technology
3634   - tried to fix as much as possible DTD validation and namespace
3635        related problems
3636   - output to a given encoding has been added/tested
3637   - lot of various fixes
3638
3639
36402.0.0: Apr 12 2000:
3641   - First public release of libxml2. If you are using libxml, it's a good
3642    idea to check the 1.x to 2.x upgrade instructions. NOTE: while initially
3643    scheduled for Apr 3 the release occurred only on Apr 12 due to massive
3644    workload.
3645   - The include are now located under $prefix/include/libxml (instead of
3646    $prefix/include/gnome-xml), they also are referenced by
3647    #include <libxml/xxx.h>
3648    instead of
3649    #include "xxx.h"
3650
3651   - a new URI module for parsing URIs and following strictly RFC 2396
3652   - the memory allocation routines used by libxml can now be overloaded
3653    dynamically by using xmlMemSetup()
3654   - The previously CVS only tool tester has been renamed
3655    xmllint and is now installed as part of the libxml2
3656    package
3657   - The I/O interface has been revamped. There is now ways to plug in
3658    specific I/O modules, either at the URI scheme detection level using
3659    xmlRegisterInputCallbacks()  or by passing I/O functions when creating a
3660    parser context using xmlCreateIOParserCtxt()
3661   - there is a C preprocessor macro LIBXML_VERSION providing the version
3662    number of the libxml module in use
3663   - a number of optional features of libxml can now be excluded at
3664    configure time (FTP/HTTP/HTML/XPath/Debug)
3665
3666
36672.0.0beta: Mar 14 2000:
3668   - This is a first Beta release of libxml version 2
3669   - It's available only fromxmlsoft.org
3670    FTP, it's packaged as libxml2-2.0.0beta and available as tar and
3671  RPMs
3672   - This version is now the head in the Gnome CVS base, the old one is
3673    available under the tag LIB_XML_1_X
3674   - This includes a very large set of changes. From a  programmatic point
3675    of view applications should not have to be modified too much, check the
3676    upgrade page
3677   - Some interfaces may changes (especially a bit about encoding).
3678   - the updates includes:
3679
3680      fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
3681        handled now
3682      Better handling of entities, especially well-formedness checking
3683        and proper PEref extensions in external subsets
3684      DTD conditional sections
3685      Validation now correctly handle entities content
3686      change
3687        structures to accommodate DOM
3688
3689
3690   - fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
3691        handled now
3692   - Better handling of entities, especially well-formedness checking
3693        and proper PEref extensions in external subsets
3694   - DTD conditional sections
3695   - Validation now correctly handle entities content
3696   - change
3697        structures to accommodate DOM
3698   - Serious progress were made toward compliance, here are the result of the test against the
3699    OASIS testsuite (except the Japanese tests since I don't support that
3700    encoding yet). This URL is rebuilt every couple of hours using the CVS
3701    head version.
3702
3703
37041.8.7: Mar 6 2000:
3705   - This is a bug fix release:
3706   - It is possible to disable the ignorable blanks heuristic used by
3707    libxml-1.x, a new function  xmlKeepBlanksDefault(0) will allow this. Note
3708    that for adherence to XML spec, this behaviour will be disabled by
3709    default in 2.x . The same function will allow to keep compatibility for
3710    old code.
3711   - Blanks in <a>  </a> constructs are not ignored anymore,
3712    avoiding heuristic is really the Right Way :-\
3713   - The unchecked use of snprintf which was breaking libxml-1.8.6
3714    compilation on some platforms has been fixed
3715   - nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when processing
3716  URIs
3717
3718
37191.8.6: Jan 31 2000:
3720   - added a nanoFTP transport module, debugged until the new version of rpmfind can use
3721    it without troubles
3722
3723
37241.8.5: Jan 21 2000:
3725   - adding APIs to parse a well balanced chunk of XML (production [43] content of the
3726    XML spec)
3727   - fixed a hideous bug in xmlGetProp pointed by Rune.Djurhuus@fast.no
3728   - Jody Goldberg <jgoldberg@home.com> provided another patch trying
3729    to solve the zlib checks problems
3730   - The current state in gnome CVS base is expected to ship as 1.8.5 with
3731    gnumeric soon
3732
3733
37341.8.4: Jan 13 2000:
3735   - bug fixes, reintroduced xmlNewGlobalNs(), fixed xmlNewNs()
3736   - all exit() call should have been removed from libxml
3737   - fixed a problem with INCLUDE_WINSOCK on WIN32 platform
3738   - added newDocFragment()
3739
3740
37411.8.3: Jan 5 2000:
3742   - a Push interface for the XML and HTML parsers
3743   - a shell-like interface to the document tree (try tester --shell :-)
3744   - lots of bug fixes and improvement added over XMas holidays
3745   - fixed the DTD parsing code to work with the xhtml DTD
3746   - added xmlRemoveProp(), xmlRemoveID() and xmlRemoveRef()
3747   - Fixed bugs in xmlNewNs()
3748   - External entity loading code has been revamped, now it uses
3749    xmlLoadExternalEntity(), some fix on entities processing were added
3750   - cleaned up WIN32 includes of socket stuff
3751
3752
37531.8.2: Dec 21 1999:
3754   - I got another problem with includes and C++, I hope this issue is fixed
3755    for good this time
3756   - Added a few tree modification functions: xmlReplaceNode,
3757    xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and
3758    xmlDocSetRootElement
3759   - Tried to improve the HTML output with help from Chris Lahey
3760
3761
37621.8.1: Dec 18 1999:
3763   - various patches to avoid troubles when using libxml with C++ compilers
3764    the "namespace" keyword and C escaping in include files
3765   - a problem in one of the core macros IS_CHAR was corrected
3766   - fixed a bug introduced in 1.8.0 breaking default namespace processing,
3767    and more specifically the Dia application
3768   - fixed a posteriori validation (validation after parsing, or by using a
3769    Dtd not specified in the original document)
3770   - fixed a bug in
3771
3772
37731.8.0: Dec 12 1999:
3774   - cleanup, especially memory wise
3775   - the parser should be more reliable, especially the HTML one, it should
3776    not crash, whatever the input !
3777   - Integrated various patches, especially a speedup improvement for large
3778    dataset from Carl Nygard,
3779    configure with --with-buffers to enable them.
3780   - attribute normalization, oops should have been added long ago !
3781   - attributes defaulted from DTDs should be available, xmlSetProp() now
3782    does entities escaping by default.
3783
3784
37851.7.4: Oct 25 1999:
3786   - Lots of HTML improvement
3787   - Fixed some errors when saving both XML and HTML
3788   - More examples, the regression tests should now look clean
3789   - Fixed a bug with contiguous charref
3790
3791
37921.7.3: Sep 29 1999:
3793   - portability problems fixed
3794   - snprintf was used unconditionally, leading to link problems on system
3795    were it's not available, fixed
3796
3797
37981.7.1: Sep 24 1999:
3799   - The basic type for strings manipulated by libxml has been renamed in
3800    1.7.1 from CHAR to xmlChar. The reason
3801    is that CHAR was conflicting with a predefined type on Windows. However
3802    on non WIN32 environment, compatibility is provided by the way of  a
3803    #define .
3804   - Changed another error : the use of a structure field called errno, and
3805    leading to troubles on platforms where it's a macro
3806
3807
38081.7.0: Sep 23 1999:
3809   - Added the ability to fetch remote DTD or parsed entities, see the nanohttp module.
3810   - Added an errno to report errors by another mean than a simple printf
3811    like callback
3812   - Finished ID/IDREF support and checking when validation
3813   - Serious memory leaks fixed (there is now a memory wrapper module)
3814   - Improvement of XPath
3815    implementation
3816   - Added an HTML parser front-end
3817
3818Daniel Veillard at
3819bugs.html
3820