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