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