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