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