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