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