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