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