10a48773fSEric van GyzenNOTE: We are looking for help with a few things: 20a48773fSEric van Gyzen https://github.com/libexpat/libexpat/labels/help%20wanted 30a48773fSEric van Gyzen If you can help, please get in touch. Thanks! 40a48773fSEric van Gyzen 5*6b2c1e49SXin LIRelease 2.2.9 Wed Septemper 25 2019 6*6b2c1e49SXin LI Other changes: 7*6b2c1e49SXin LI examples: Drop executable bits from elements.c 8*6b2c1e49SXin LI #349 Windows: Change the name of the Windows DLLs from expat*.dll 9*6b2c1e49SXin LI to libexpat*.dll once more (regression from 2.2.8, first 10*6b2c1e49SXin LI fixed in 1.95.3, issue #61 on SourceForge today, 11*6b2c1e49SXin LI was issue #432456 back then); needs a fix due 12*6b2c1e49SXin LI case-insensitive file systems on Windows and the fact that 13*6b2c1e49SXin LI Perl's XML::Parser::Expat compiles into Expat.dll. 14*6b2c1e49SXin LI #347 Windows: Only define _CRT_RAND_S if not defined 15*6b2c1e49SXin LI Version info bumped from 7:10:6 to 7:11:6 16*6b2c1e49SXin LI 17*6b2c1e49SXin LI Special thanks to: 18*6b2c1e49SXin LI Ben Wagner 19*6b2c1e49SXin LI 20*6b2c1e49SXin LIRelease 2.2.8 Fri Septemper 13 2019 21*6b2c1e49SXin LI Security fixes: 22*6b2c1e49SXin LI #317 #318 CVE-2019-15903 -- Fix heap overflow triggered by 23*6b2c1e49SXin LI XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber), 24*6b2c1e49SXin LI and deny internal entities closing the doctype; 25*6b2c1e49SXin LI fixed in commit c20b758c332d9a13afbbb276d30db1d183a85d43 26*6b2c1e49SXin LI 27*6b2c1e49SXin LI Bug fixes: 28*6b2c1e49SXin LI #240 Fix cases where XML_StopParser did not have any effect 29*6b2c1e49SXin LI when called from inside of an end element handler 30*6b2c1e49SXin LI #341 xmlwf: Fix exit code for operation without "-d DIRECTORY"; 31*6b2c1e49SXin LI previously, only "-d DIRECTORY" would give you a proper 32*6b2c1e49SXin LI exit code: 33*6b2c1e49SXin LI # xmlwf -d . <<<'<not well-formed>' 2>/dev/null ; echo $? 34*6b2c1e49SXin LI 2 35*6b2c1e49SXin LI # xmlwf <<<'<not well-formed>' 2>/dev/null ; echo $? 36*6b2c1e49SXin LI 0 37*6b2c1e49SXin LI Now both cases return exit code 2. 38*6b2c1e49SXin LI 39*6b2c1e49SXin LI Other changes: 40*6b2c1e49SXin LI #299 #302 Windows: Replace LoadLibrary hack to access 41*6b2c1e49SXin LI unofficial API function SystemFunction036 (RtlGenRandom) 42*6b2c1e49SXin LI by using official API function rand_s (needs WinXP+) 43*6b2c1e49SXin LI #325 Windows: Drop support for Visual Studio <=7.1/2003 44*6b2c1e49SXin LI and document supported compilers in README.md 45*6b2c1e49SXin LI #286 Windows: Remove COM code from xmlwf; in case it turns 46*6b2c1e49SXin LI out needed later, there will be a dedicated repository 47*6b2c1e49SXin LI below https://github.com/libexpat/ for that code 48*6b2c1e49SXin LI #322 Windows: Remove explicit MSVC solution and project files. 49*6b2c1e49SXin LI You can generate Visual Studio solution files through 50*6b2c1e49SXin LI CMake, e.g.: cmake -G"Visual Studio 15 2017" . 51*6b2c1e49SXin LI #338 xmlwf: Make "xmlwf -h" help output more friendly 52*6b2c1e49SXin LI #339 examples: Improve elements.c 53*6b2c1e49SXin LI #244 #264 Autotools: Add argument --enable-xml-attr-info 54*6b2c1e49SXin LI #239 #301 Autotools: Add arguments 55*6b2c1e49SXin LI --with-getrandom 56*6b2c1e49SXin LI --without-getrandom 57*6b2c1e49SXin LI --with-sys-getrandom 58*6b2c1e49SXin LI --without-sys-getrandom 59*6b2c1e49SXin LI #312 #343 Autotools: Fix linking issues with "./configure LD=clang" 60*6b2c1e49SXin LI Autotools: Fix "make run-xmltest" for out-of-source builds 61*6b2c1e49SXin LI #329 #336 CMake: Pull all options from Expat <=2.2.7 into namespace 62*6b2c1e49SXin LI prefix EXPAT_ with the exception of DOCBOOK_TO_MAN: 63*6b2c1e49SXin LI - BUILD_doc -> EXPAT_BUILD_DOCS (plural) 64*6b2c1e49SXin LI - BUILD_examples -> EXPAT_BUILD_EXAMPLES 65*6b2c1e49SXin LI - BUILD_shared -> EXPAT_SHARED_LIBS 66*6b2c1e49SXin LI - BUILD_tests -> EXPAT_BUILD_TESTS 67*6b2c1e49SXin LI - BUILD_tools -> EXPAT_BUILD_TOOLS 68*6b2c1e49SXin LI - DOCBOOK_TO_MAN -> DOCBOOK_TO_MAN (unchanged) 69*6b2c1e49SXin LI - INSTALL -> EXPAT_ENABLE_INSTALL 70*6b2c1e49SXin LI - MSVC_USE_STATIC_CRT -> EXPAT_MSVC_STATIC_CRT 71*6b2c1e49SXin LI - USE_libbsd -> EXPAT_WITH_LIBBSD 72*6b2c1e49SXin LI - WARNINGS_AS_ERRORS -> EXPAT_WARNINGS_AS_ERRORS 73*6b2c1e49SXin LI - XML_CONTEXT_BYTES -> EXPAT_CONTEXT_BYTES 74*6b2c1e49SXin LI - XML_DEV_URANDOM -> EXPAT_DEV_URANDOM 75*6b2c1e49SXin LI - XML_DTD -> EXPAT_DTD 76*6b2c1e49SXin LI - XML_NS -> EXPAT_NS 77*6b2c1e49SXin LI - XML_UNICODE -> EXPAT_CHAR_TYPE=ushort (!) 78*6b2c1e49SXin LI - XML_UNICODE_WCHAR_T -> EXPAT_CHAR_TYPE=wchar_t (!) 79*6b2c1e49SXin LI #244 #264 CMake: Add argument -DEXPAT_ATTR_INFO=(ON|OFF), 80*6b2c1e49SXin LI default OFF 81*6b2c1e49SXin LI #326 CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF), 82*6b2c1e49SXin LI default OFF 83*6b2c1e49SXin LI #328 CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF), 84*6b2c1e49SXin LI default OFF 85*6b2c1e49SXin LI #239 #277 CMake: Add arguments 86*6b2c1e49SXin LI -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO 87*6b2c1e49SXin LI -DEXPAT_WITH_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO 88*6b2c1e49SXin LI #326 CMake: Install expat_config.h to include directory 89*6b2c1e49SXin LI #326 CMake: Generate and install configuration files for 90*6b2c1e49SXin LI future find_package(expat [..] CONFIG [..]) 91*6b2c1e49SXin LI CMake: Now produces a summary of applied configuration 92*6b2c1e49SXin LI CMake: Require C++ compiler only when tests are enabled 93*6b2c1e49SXin LI #330 CMake: Fix compilation for 16bit character types, 94*6b2c1e49SXin LI i.e. ex -DXML_UNICODE=ON (and ex -DXML_UNICODE_WCHAR_T=ON) 95*6b2c1e49SXin LI #265 CMake: Fix linking with MinGW 96*6b2c1e49SXin LI #330 CMake: Add full support for MinGW; to enable, use 97*6b2c1e49SXin LI -DCMAKE_TOOLCHAIN_FILE=[expat]/cmake/mingw-toolchain.cmake 98*6b2c1e49SXin LI #330 CMake: Port "make run-xmltest" from GNU Autotools to CMake 99*6b2c1e49SXin LI #316 CMake: Windows: Make binary postfix match MSVC 100*6b2c1e49SXin LI Old: expat[d].lib 101*6b2c1e49SXin LI New: expat[w][d][MD|MT].lib 102*6b2c1e49SXin LI CMake: Migrate files from Windows to Unix line endings 103*6b2c1e49SXin LI #308 CMake: Integrate OSS-Fuzz fuzzers, option 104*6b2c1e49SXin LI -DEXPAT_BUILD_FUZZERS=(ON|OFF), default OFF 105*6b2c1e49SXin LI #14 Drop an OpenVMS support leftover 106*6b2c1e49SXin LI #235 #268 .. 107*6b2c1e49SXin LI #270 #310 .. 108*6b2c1e49SXin LI #313 #331 #333 Address compiler warnings 109*6b2c1e49SXin LI #282 #283 .. 110*6b2c1e49SXin LI #284 #285 Address cppcheck warnings 111*6b2c1e49SXin LI #294 #295 Address Clang Static Analyzer warnings 112*6b2c1e49SXin LI #24 #293 Mass-apply clang-format 9 (and ensure conformance during CI) 113*6b2c1e49SXin LI Version info bumped from 7:9:6 to 7:10:6 114*6b2c1e49SXin LI 115*6b2c1e49SXin LI Special thanks to: 116*6b2c1e49SXin LI David Loffredo 117*6b2c1e49SXin LI Joonun Jang 118*6b2c1e49SXin LI Khajapasha Mohammed 119*6b2c1e49SXin LI Kishore Kunche 120*6b2c1e49SXin LI Marco Maggi 121*6b2c1e49SXin LI Mitch Phillips 122*6b2c1e49SXin LI Rolf Ade 123*6b2c1e49SXin LI xantares 124*6b2c1e49SXin LI Zhongyuan Zhou 125*6b2c1e49SXin LI 126*6b2c1e49SXin LIRelease 2.2.7 Wed June 19 2019 127*6b2c1e49SXin LI Security fixes: 128*6b2c1e49SXin LI #186 #262 CVE-2018-20843 -- Fix extraction of namespace prefixes from 129*6b2c1e49SXin LI XML names; XML names with multiple colons could end up in 130*6b2c1e49SXin LI the wrong namespace, and take a high amount of RAM and CPU 131*6b2c1e49SXin LI resources while processing, opening the door to 132*6b2c1e49SXin LI use for denial-of-service attacks 133*6b2c1e49SXin LI 134*6b2c1e49SXin LI Other changes: 135*6b2c1e49SXin LI #195 #197 Autotools/CMake: Utilize -fvisibility=hidden to stop 136*6b2c1e49SXin LI exporting non-API symbols 137*6b2c1e49SXin LI #227 Autotools: Add --without-examples and --without-tests 138*6b2c1e49SXin LI #228 Autotools: Modernize configure.ac 139*6b2c1e49SXin LI #245 #246 Autotools: Fix check for -fvisibility=hidden for Clang 140*6b2c1e49SXin LI #247 #248 Autotools: Fix compilation for lack of docbook2x-man 141*6b2c1e49SXin LI #236 #258 Autotools: Produce .tar.{gz,lz,xz} release archives 142*6b2c1e49SXin LI #212 CMake: Make libdir of pkgconfig expat.pc support multilib 143*6b2c1e49SXin LI #158 #263 CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR 144*6b2c1e49SXin LI #219 Remove fallback to bcopy, assume that memmove(3) exists 145*6b2c1e49SXin LI #257 Use portable "/usr/bin/env bash" shebang (e.g. for OpenBSD) 146*6b2c1e49SXin LI #243 Windows: Fix syntax of .def module definition files 147*6b2c1e49SXin LI Version info bumped from 7:8:6 to 7:9:6 148*6b2c1e49SXin LI 149*6b2c1e49SXin LI Special thanks to: 150*6b2c1e49SXin LI Benjamin Peterson 151*6b2c1e49SXin LI Caolán McNamara 152*6b2c1e49SXin LI Hanno Böck 153*6b2c1e49SXin LI KangLin 154*6b2c1e49SXin LI Kishore Kunche 155*6b2c1e49SXin LI Marco Maggi 156*6b2c1e49SXin LI Rhodri James 157*6b2c1e49SXin LI Sebastian Dröge 158*6b2c1e49SXin LI userwithuid 159*6b2c1e49SXin LI Yury Gribov 160*6b2c1e49SXin LI 1610a48773fSEric van GyzenRelease 2.2.6 Sun August 12 2018 1620a48773fSEric van Gyzen Bug fixes: 1630a48773fSEric van Gyzen #170 #206 Avoid doing arithmetic with NULL pointers in XML_GetBuffer 1640a48773fSEric van Gyzen #204 #205 Fix 2.2.5 regression with suspend-resume while parsing 1650a48773fSEric van Gyzen a document like '<root/>' 1660a48773fSEric van Gyzen 1670a48773fSEric van Gyzen Other changes: 1680a48773fSEric van Gyzen #165 #168 Autotools: Fix docbook-related configure syntax error 1690a48773fSEric van Gyzen #166 Autotools: Avoid grep option `-q` for Solaris 1700a48773fSEric van Gyzen #167 Autotools: Support 1710a48773fSEric van Gyzen ./configure DOCBOOK_TO_MAN="xmlto man --skip-validation" 1720a48773fSEric van Gyzen #159 #167 Autotools: Support DOCBOOK_TO_MAN command which produces 1730a48773fSEric van Gyzen xmlwf.1 rather than XMLWF.1; also covers case insensitive 1740a48773fSEric van Gyzen file systems 1750a48773fSEric van Gyzen #181 Autotools: Drop -rpath option passed to libtool 1760a48773fSEric van Gyzen #188 Autotools: Detect and deny SGML docbook2man as ours is XML 1770a48773fSEric van Gyzen #188 Autotools/CMake: Support command db2x_docbook2man as well 1780a48773fSEric van Gyzen #174 CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF 1790a48773fSEric van Gyzen #184 #185 CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF 1800a48773fSEric van Gyzen #207 #208 CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T, 1810a48773fSEric van Gyzen both defaulting to OFF 1820a48773fSEric van Gyzen #175 CMake: Prefer check_symbol_exists over check_function_exists 1830a48773fSEric van Gyzen #176 CMake: Create the same pkg-config file as with GNU Autotools 1840a48773fSEric van Gyzen #178 #179 CMake: Use GNUInstallDirs module to set proper defaults for 1850a48773fSEric van Gyzen install directories 1860a48773fSEric van Gyzen #208 CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM 1870a48773fSEric van Gyzen #180 Windows: Fix compilation of test suite for Visual Studio 2008 1880a48773fSEric van Gyzen #131 #173 #202 Address compiler warnings 1890a48773fSEric van Gyzen #187 #190 #200 Fix miscellaneous typos 1900a48773fSEric van Gyzen Version info bumped from 7:7:6 to 7:8:6 1910a48773fSEric van Gyzen 1920a48773fSEric van Gyzen Special thanks to: 1930a48773fSEric van Gyzen Anton Maklakov 1940a48773fSEric van Gyzen Benjamin Peterson 1950a48773fSEric van Gyzen Brad King 1960a48773fSEric van Gyzen Franek Korta 1970a48773fSEric van Gyzen Frank Rast 1980a48773fSEric van Gyzen Joe Orton 1990a48773fSEric van Gyzen luzpaz 2000a48773fSEric van Gyzen Pedro Vicente 2010a48773fSEric van Gyzen Rainer Jung 2020a48773fSEric van Gyzen Rhodri James 2030a48773fSEric van Gyzen Rolf Ade 2040a48773fSEric van Gyzen Rolf Eike Beer 2050a48773fSEric van Gyzen Thomas Beutlich 2060a48773fSEric van Gyzen Tomasz Kłoczko 2070a48773fSEric van Gyzen 2080a48773fSEric van GyzenRelease 2.2.5 Tue October 31 2017 2090a48773fSEric van Gyzen Bug fixes: 2100a48773fSEric van Gyzen #8 If the parser runs out of memory, make sure its internal 2110a48773fSEric van Gyzen state reflects the memory it actually has, not the memory 2120a48773fSEric van Gyzen it wanted to have. 2130a48773fSEric van Gyzen #11 The default handler wasn't being called when it should for 2140a48773fSEric van Gyzen a SYSTEM or PUBLIC doctype if an entity declaration handler 2150a48773fSEric van Gyzen was registered. 2160a48773fSEric van Gyzen #137 #138 Fix a case of mistakenly reported parsing success where 2170a48773fSEric van Gyzen XML_StopParser was called from an element handler 2180a48773fSEric van Gyzen #162 Function XML_ErrorString was returning NULL rather than 2190a48773fSEric van Gyzen a message for code XML_ERROR_INVALID_ARGUMENT 2200a48773fSEric van Gyzen introduced with release 2.2.1 2210a48773fSEric van Gyzen 2220a48773fSEric van Gyzen Other changes: 2230a48773fSEric van Gyzen #106 xmlwf: Add argument -N adding notation declarations 2240a48773fSEric van Gyzen #75 #106 Test suite: Resolve expected failure cases where xmlwf 2250a48773fSEric van Gyzen output was incomplete 2260a48773fSEric van Gyzen #127 Windows: Fix test suite compilation 2270a48773fSEric van Gyzen #126 #127 Windows: Fix compilation for Visual Studio 2012 2280a48773fSEric van Gyzen Windows: Upgrade shipped project files to Visual Studio 2017 2290a48773fSEric van Gyzen #33 #132 tests: Mass-fix compilation for XML_UNICODE_WCHAR_T 2300a48773fSEric van Gyzen #129 examples: Fix compilation for XML_UNICODE_WCHAR_T 2310a48773fSEric van Gyzen #130 benchmark: Fix compilation for XML_UNICODE_WCHAR_T 2320a48773fSEric van Gyzen #144 xmlwf: Fix compilation for XML_UNICODE_WCHAR_T; still needs 2330a48773fSEric van Gyzen Windows or MinGW for 2-byte wchar_t 2340a48773fSEric van Gyzen #9 Address two Clang Static Analyzer false positives 2350a48773fSEric van Gyzen #59 Resolve troublesome macros hiding parser struct membership 2360a48773fSEric van Gyzen and dereferencing that pointer 2370a48773fSEric van Gyzen #6 Resolve superfluous internal malloc/realloc switch 2380a48773fSEric van Gyzen #153 #155 Improve docbook2x-man detection 2390a48773fSEric van Gyzen #160 Undefine NDEBUG in the test suite (rather than rejecting it) 2400a48773fSEric van Gyzen #161 Address compiler warnings 2410a48773fSEric van Gyzen Version info bumped from 7:6:6 to 7:7:6 2420a48773fSEric van Gyzen 2430a48773fSEric van Gyzen Special thanks to: 2440a48773fSEric van Gyzen Benbuck Nason 2450a48773fSEric van Gyzen Hans Wennborg 2460a48773fSEric van Gyzen José Gutiérrez de la Concha 2470a48773fSEric van Gyzen Pedro Monreal Gonzalez 2480a48773fSEric van Gyzen Rhodri James 2490a48773fSEric van Gyzen Rolf Ade 2500a48773fSEric van Gyzen Stephen Groat 2510a48773fSEric van Gyzen and 2520a48773fSEric van Gyzen Core Infrastructure Initiative 2530a48773fSEric van Gyzen 2540a48773fSEric van GyzenRelease 2.2.4 Sat August 19 2017 2550a48773fSEric van Gyzen Bug fixes: 2560a48773fSEric van Gyzen #115 Fix copying of partial characters for UTF-8 input 2570a48773fSEric van Gyzen 2580a48773fSEric van Gyzen Other changes: 2590a48773fSEric van Gyzen #109 Fix "make check" for non-x86 architectures that default 2600a48773fSEric van Gyzen to unsigned type char (-128..127 rather than 0..255) 2610a48773fSEric van Gyzen #109 coverage.sh: Cover -funsigned-char 2620a48773fSEric van Gyzen Autotools: Introduce --without-xmlwf argument 2630a48773fSEric van Gyzen #65 Autotools: Replace handwritten Makefile with GNU Automake 2640a48773fSEric van Gyzen #43 CMake: Auto-detect high quality entropy extractors, add new 2650a48773fSEric van Gyzen option USE_libbsd=ON to use arc4random_buf of libbsd 2660a48773fSEric van Gyzen #74 CMake: Add -fno-strict-aliasing only where supported 2670a48773fSEric van Gyzen #114 CMake: Always honor manually set BUILD_* options 2680a48773fSEric van Gyzen #114 CMake: Compile man page if docbook2x-man is available, only 2690a48773fSEric van Gyzen #117 Include file tests/xmltest.log.expected in source tarball 2700a48773fSEric van Gyzen (required for "make run-xmltest") 2710a48773fSEric van Gyzen #117 Include (existing) Visual Studio 2013 files in source tarball 2720a48773fSEric van Gyzen Improve test suite error output 2730a48773fSEric van Gyzen #111 Fix some typos in documentation 2740a48773fSEric van Gyzen Version info bumped from 7:5:6 to 7:6:6 2750a48773fSEric van Gyzen 2760a48773fSEric van Gyzen Special thanks to: 2770a48773fSEric van Gyzen Jakub Wilk 2780a48773fSEric van Gyzen Joe Orton 2790a48773fSEric van Gyzen Lin Tian 2800a48773fSEric van Gyzen Rolf Eike Beer 2810a48773fSEric van Gyzen 2820a48773fSEric van GyzenRelease 2.2.3 Wed August 2 2017 2830a48773fSEric van Gyzen Security fixes: 2840a48773fSEric van Gyzen #82 CVE-2017-11742 -- Windows: Fix DLL hijacking vulnerability 2850a48773fSEric van Gyzen using Steve Holme's LoadLibrary wrapper for/of cURL 2860a48773fSEric van Gyzen 2870a48773fSEric van Gyzen Bug fixes: 2880a48773fSEric van Gyzen #85 Fix a dangling pointer issue related to realloc 2890a48773fSEric van Gyzen 2900a48773fSEric van Gyzen Other changes: 2910a48773fSEric van Gyzen Increase code coverage 2920a48773fSEric van Gyzen #91 Linux: Allow getrandom to fail if nonblocking pool has not 2930a48773fSEric van Gyzen yet been initialized and read /dev/urandom then, instead. 2940a48773fSEric van Gyzen This is in line with what recent Python does. 2950a48773fSEric van Gyzen #81 Pre-10.7/Lion macOS: Support entropy from arc4random 2960a48773fSEric van Gyzen #86 Check that a UTF-16 encoding in an XML declaration has the 2970a48773fSEric van Gyzen right endianness 2980a48773fSEric van Gyzen #4 #5 #7 Recover correctly when some reallocations fail 2990a48773fSEric van Gyzen Repair "./configure && make" for systems without any 3000a48773fSEric van Gyzen provider of high quality entropy 3010a48773fSEric van Gyzen and try reading /dev/urandom on those 3020a48773fSEric van Gyzen Ensure that user-defined character encodings have converter 3030a48773fSEric van Gyzen functions when they are needed 3040a48773fSEric van Gyzen Fix mis-leading description of argument -c in xmlwf.1 3050a48773fSEric van Gyzen Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__) 3060a48773fSEric van Gyzen for CloudABI 3070a48773fSEric van Gyzen #100 Fix use of SIPHASH_MAIN in siphash.h 3080a48773fSEric van Gyzen #23 Test suite: Fix memory leaks 3090a48773fSEric van Gyzen Version info bumped from 7:4:6 to 7:5:6 3100a48773fSEric van Gyzen 3110a48773fSEric van Gyzen Special thanks to: 3120a48773fSEric van Gyzen Chanho Park 3130a48773fSEric van Gyzen Joe Orton 3140a48773fSEric van Gyzen Pascal Cuoq 3150a48773fSEric van Gyzen Rhodri James 3160a48773fSEric van Gyzen Simon McVittie 3170a48773fSEric van Gyzen Vadim Zeitlin 3180a48773fSEric van Gyzen Viktor Szakats 3190a48773fSEric van Gyzen and 3200a48773fSEric van Gyzen Core Infrastructure Initiative 3210a48773fSEric van Gyzen 3220a48773fSEric van GyzenRelease 2.2.2 Wed July 12 2017 3230a48773fSEric van Gyzen Security fixes: 3240a48773fSEric van Gyzen #43 Protect against compilation without any source of high 3250a48773fSEric van Gyzen quality entropy enabled, e.g. with CMake build system; 3260a48773fSEric van Gyzen commit ff0207e6076e9828e536b8d9cd45c9c92069b895 3270a48773fSEric van Gyzen #60 Windows with _UNICODE: 3280a48773fSEric van Gyzen Unintended use of LoadLibraryW with a non-wide string 3290a48773fSEric van Gyzen resulted in failure to load advapi32.dll and degradation 3300a48773fSEric van Gyzen in quality of used entropy when compiled with _UNICODE for 3310a48773fSEric van Gyzen Windows; you can launch existing binaries with 3320a48773fSEric van Gyzen EXPAT_ENTROPY_DEBUG=1 in the environment to inspect the 3330a48773fSEric van Gyzen quality of entropy used during runtime; commits 3340a48773fSEric van Gyzen * 95b95032f907ef1cd17ee7a9a1768010a825d61d 3350a48773fSEric van Gyzen * 73a5a2e9c081f49f2d775cf7ced864158b68dc80 3360a48773fSEric van Gyzen [MOX-006] Fix non-NULL parser parameter validation in XML_Parse; 3370a48773fSEric van Gyzen resulted in NULL dereference, previously; 3380a48773fSEric van Gyzen commit ac256dafdffc9622ab0dc2c62fcecb0dfcfa71fe 3390a48773fSEric van Gyzen 3400a48773fSEric van Gyzen Bug fixes: 3410a48773fSEric van Gyzen #69 Fix improper use of unsigned long long integer literals 3420a48773fSEric van Gyzen 3430a48773fSEric van Gyzen Other changes: 3440a48773fSEric van Gyzen #73 Start requiring a C99 compiler 3450a48773fSEric van Gyzen #49 Fix "==" Bashism in configure script 3460a48773fSEric van Gyzen #50 Fix too eager getrandom detection for Debian GNU/kFreeBSD 3470a48773fSEric van Gyzen #52 and macOS 3480a48773fSEric van Gyzen #51 Address lack of stdint.h in Visual Studio 2003 to 2008 3490a48773fSEric van Gyzen #58 Address compile warnings 3500a48773fSEric van Gyzen #68 Fix "./buildconf.sh && ./configure" for some versions 3510a48773fSEric van Gyzen of Dash for /bin/sh 3520a48773fSEric van Gyzen #72 CMake: Ease use of Expat in context of a parent project 3530a48773fSEric van Gyzen with multiple CMakeLists.txt files 3540a48773fSEric van Gyzen #72 CMake: Resolve mistaken executable permissions 3550a48773fSEric van Gyzen #76 Address compile warning with -DNDEBUG (not recommended!) 3560a48773fSEric van Gyzen #77 Address compile warning about macro redefinition 3570a48773fSEric van Gyzen 3580a48773fSEric van Gyzen Special thanks to: 3590a48773fSEric van Gyzen Alexander Bluhm 3600a48773fSEric van Gyzen Ben Boeckel 3610a48773fSEric van Gyzen Cătălin Răceanu 3620a48773fSEric van Gyzen Kerin Millar 3630a48773fSEric van Gyzen László Böszörményi 3640a48773fSEric van Gyzen S. P. Zeidler 3650a48773fSEric van Gyzen Segev Finer 3660a48773fSEric van Gyzen Václav Slavík 3670a48773fSEric van Gyzen Victor Stinner 3680a48773fSEric van Gyzen Viktor Szakats 3690a48773fSEric van Gyzen and 3700a48773fSEric van Gyzen Radically Open Security 3710a48773fSEric van Gyzen 3720a48773fSEric van GyzenRelease 2.2.1 Sat June 17 2017 3730a48773fSEric van Gyzen Security fixes: 3740a48773fSEric van Gyzen CVE-2017-9233 -- External entity infinite loop DoS 3750a48773fSEric van Gyzen Details: https://libexpat.github.io/doc/cve-2017-9233/ 3760a48773fSEric van Gyzen Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f 3770a48773fSEric van Gyzen [MOX-002] CVE-2016-9063 -- Detect integer overflow; commit 3780a48773fSEric van Gyzen d4f735b88d9932bd5039df2335eefdd0723dbe20 3790a48773fSEric van Gyzen (Fixed version of existing downstream patches!) 3800a48773fSEric van Gyzen (SF.net) #539 Fix regression from fix to CVE-2016-0718 cutting off 3810a48773fSEric van Gyzen longer tag names; commits 3820a48773fSEric van Gyzen * 896b6c1fd3b842f377d1b62135dccf0a579cf65d 3830a48773fSEric van Gyzen * af507cef2c93cb8d40062a0abe43a4f4e9158fb2 3840a48773fSEric van Gyzen #16 * 0dbbf43fdb20f593ddf4fa1ff67288000dd4a7fd 3850a48773fSEric van Gyzen #25 More integer overflow detection (function poolGrow); commits 3860a48773fSEric van Gyzen * 810b74e4703dcfdd8f404e3cb177d44684775143 3870a48773fSEric van Gyzen * 44178553f3539ce69d34abee77a05e879a7982ac 3880a48773fSEric van Gyzen [MOX-002] Detect overflow from len=INT_MAX call to XML_Parse; commits 3890a48773fSEric van Gyzen * 4be2cb5afcc018d996f34bbbce6374b7befad47f 3900a48773fSEric van Gyzen * 7e5b71b748491b6e459e5c9a1d090820f94544d8 3910a48773fSEric van Gyzen [MOX-005] #30 Use high quality entropy for hash initialization: 3920a48773fSEric van Gyzen * arc4random_buf on BSD, systems with libbsd 3930a48773fSEric van Gyzen (when configured with --with-libbsd), CloudABI 3940a48773fSEric van Gyzen * RtlGenRandom on Windows XP / Server 2003 and later 3950a48773fSEric van Gyzen * getrandom on Linux 3.17+ 3960a48773fSEric van Gyzen In a way, that's still part of CVE-2016-5300. 3970a48773fSEric van Gyzen https://github.com/libexpat/libexpat/pull/30/commits 3980a48773fSEric van Gyzen [MOX-005] For the low quality entropy extraction fallback code, 3990a48773fSEric van Gyzen the parser instance address can no longer leak, commit 4000a48773fSEric van Gyzen 04ad658bd3079dd15cb60fc67087900f0ff4b083 4010a48773fSEric van Gyzen [MOX-003] Prevent use of uninitialised variable; commit 4020a48773fSEric van Gyzen [MOX-004] a4dc944f37b664a3ca7199c624a98ee37babdb4b 4030a48773fSEric van Gyzen Add missing parameter validation to public API functions 4040a48773fSEric van Gyzen and dedicated error code XML_ERROR_INVALID_ARGUMENT: 4050a48773fSEric van Gyzen [MOX-006] * NULL checks; commits 4060a48773fSEric van Gyzen * d37f74b2b7149a3a95a680c4c4cd2a451a51d60a (merge/many) 4070a48773fSEric van Gyzen * 9ed727064b675b7180c98cb3d4f75efba6966681 4080a48773fSEric van Gyzen * 6a747c837c50114dfa413994e07c0ba477be4534 4090a48773fSEric van Gyzen * Negative length (XML_Parse); commit 4100a48773fSEric van Gyzen [MOX-002] 70db8d2538a10f4c022655d6895e4c3e78692e7f 4110a48773fSEric van Gyzen [MOX-001] #35 Change hash algorithm to William Ahern's version of SipHash 4120a48773fSEric van Gyzen to go further with fixing CVE-2012-0876. 4130a48773fSEric van Gyzen https://github.com/libexpat/libexpat/pull/39/commits 4140a48773fSEric van Gyzen 4150a48773fSEric van Gyzen Bug fixes: 4160a48773fSEric van Gyzen #32 Fix sharing of hash salt across parsers; 4170a48773fSEric van Gyzen relevant where XML_ExternalEntityParserCreate is called 4180a48773fSEric van Gyzen prior to XML_Parse, in particular (e.g. FBReader) 4190a48773fSEric van Gyzen #28 xmlwf: Auto-disable use of memory-mapping (and parsing 4200a48773fSEric van Gyzen as a single chunk) for files larger than ~1 GB (2^30 bytes) 4210a48773fSEric van Gyzen rather than failing with error "out of memory" 4220a48773fSEric van Gyzen #3 Fix double free after malloc failure in DTD code; commit 4230a48773fSEric van Gyzen 7ae9c3d3af433cd4defe95234eae7dc8ed15637f 4240a48773fSEric van Gyzen #17 Fix memory leak on parser error for unbound XML attribute 4250a48773fSEric van Gyzen prefix with new namespaces defined in the same tag; 4260a48773fSEric van Gyzen found by Google's OSS-Fuzz; commits 4270a48773fSEric van Gyzen * 16f87daae5a16132e479e4f71862128c7a915c73 4280a48773fSEric van Gyzen * b47dbc9745932c160893d433220e462bd605f8cd 4290a48773fSEric van Gyzen xmlwf on Windows: Add missing calls to CloseHandle 4300a48773fSEric van Gyzen 4310a48773fSEric van Gyzen New features: 4320a48773fSEric van Gyzen #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1 4330a48773fSEric van Gyzen for runtime debugging of entropy extraction 4340a48773fSEric van Gyzen 4350a48773fSEric van Gyzen Other changes: 4360a48773fSEric van Gyzen Increase code coverage 4370a48773fSEric van Gyzen #33 Reject use of XML_UNICODE_WCHAR_T with sizeof(wchar_t) != 2; 4380a48773fSEric van Gyzen XML_UNICODE_WCHAR_T was never meant to be used outside 4390a48773fSEric van Gyzen of Windows; 4-byte wchar_t is common on Linux 4400a48773fSEric van Gyzen (SF.net) #538 Start using -fno-strict-aliasing 4410a48773fSEric van Gyzen (SF.net) #540 Support compilation against cloudlibc of CloudABI 4420a48773fSEric van Gyzen Allow MinGW cross-compilation 4430a48773fSEric van Gyzen (SF.net) #534 CMake: Introduce option "BUILD_doc" (enabled by default) 4440a48773fSEric van Gyzen to bypass compilation of the xmlwf.1 man page 4450a48773fSEric van Gyzen (SF.net) pr2 CMake: Introduce option "INSTALL" (enabled by default) 4460a48773fSEric van Gyzen to bypass installation of expat files 4470a48773fSEric van Gyzen CMake: Fix ninja support 4480a48773fSEric van Gyzen Autotools: Add parameters --enable-xml-context [COUNT] 4490a48773fSEric van Gyzen and --disable-xml-context; default of context of 1024 4500a48773fSEric van Gyzen bytes enabled unchanged 4510a48773fSEric van Gyzen #14 Drop AmigaOS 4.x code and includes 4520a48773fSEric van Gyzen #14 Drop ancient build systems: 4530a48773fSEric van Gyzen * Borland C++ Builder 4540a48773fSEric van Gyzen * OpenVMS 4550a48773fSEric van Gyzen * Open Watcom 4560a48773fSEric van Gyzen * Visual Studio 6.0 4570a48773fSEric van Gyzen * Pre-X Mac OS (MPW Makefile) 4580a48773fSEric van Gyzen If you happen to rely on some of these, please get in 4590a48773fSEric van Gyzen touch for joining with maintenance. 4600a48773fSEric van Gyzen #10 Move from WIN32 to _WIN32 4610a48773fSEric van Gyzen #13 Fix "make run-xmltest" order instability 4620a48773fSEric van Gyzen Address compile warnings 4630a48773fSEric van Gyzen Bump version info from 7:2:6 to 7:3:6 4640a48773fSEric van Gyzen Add AUTHORS file 4650a48773fSEric van Gyzen 4660a48773fSEric van Gyzen Infrastructure: 4670a48773fSEric van Gyzen #1 Migrate from SourceForge to GitHub (except downloads): 4680a48773fSEric van Gyzen https://github.com/libexpat/ 4690a48773fSEric van Gyzen #1 Re-create http://libexpat.org/ project website 4700a48773fSEric van Gyzen Start utilizing Travis CI 4710a48773fSEric van Gyzen 4720a48773fSEric van Gyzen Special thanks to: 4730a48773fSEric van Gyzen Andy Wang 4740a48773fSEric van Gyzen Don Lewis 4750a48773fSEric van Gyzen Ed Schouten 4760a48773fSEric van Gyzen Karl Waclawek 4770a48773fSEric van Gyzen Pascal Cuoq 4780a48773fSEric van Gyzen Rhodri James 4790a48773fSEric van Gyzen Sergei Nikulov 4800a48773fSEric van Gyzen Tobias Taschner 4810a48773fSEric van Gyzen Viktor Szakats 4820a48773fSEric van Gyzen and 4830a48773fSEric van Gyzen Core Infrastructure Initiative 4840a48773fSEric van Gyzen Mozilla Foundation (MOSS Track 3: Secure Open Source) 4850a48773fSEric van Gyzen Radically Open Security 4860a48773fSEric van Gyzen 487be8aff81SXin LIRelease 2.2.0 Tue June 21 2016 488be8aff81SXin LI Security fixes: 489be8aff81SXin LI #537 CVE-2016-0718 -- Fix crash on malformed input 490be8aff81SXin LI CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 / 491be8aff81SXin LI CVE-2015-2716 introduced with Expat 2.1.1 492be8aff81SXin LI #499 CVE-2016-5300 -- Use more entropy for hash initialization 493be8aff81SXin LI than the original fix to CVE-2012-0876 494be8aff81SXin LI #519 CVE-2012-6702 -- Resolve troublesome internal call to srand 495be8aff81SXin LI that was introduced with Expat 2.1.0 496be8aff81SXin LI when addressing CVE-2012-0876 (issue #496) 497be8aff81SXin LI 498be8aff81SXin LI Bug fixes: 499be8aff81SXin LI Fix uninitialized reads of size 1 500be8aff81SXin LI (e.g. in little2_updatePosition) 501be8aff81SXin LI Fix detection of UTF-8 character boundaries 502be8aff81SXin LI 503be8aff81SXin LI Other changes: 504be8aff81SXin LI #532 Fix compilation for Visual Studio 2010 (keyword "C99") 505be8aff81SXin LI Autotools: Resolve use of "$<" to better support bmake 506be8aff81SXin LI Autotools: Add QA script "qa.sh" (and make target "qa") 507be8aff81SXin LI Autotools: Respect CXXFLAGS if given 508be8aff81SXin LI Autotools: Fix "make run-xmltest" 509be8aff81SXin LI Autotools: Have "make run-xmltest" check for expected output 510be8aff81SXin LI p90 CMake: Fix static build (BUILD_shared=OFF) on Windows 511be8aff81SXin LI #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass 512be8aff81SXin LI #323 CMake: Add suffix "d" to differentiate debug from release 513be8aff81SXin LI CMake: Define WIN32 with CMake on Windows 514be8aff81SXin LI Annotate memory allocators for GCC 515be8aff81SXin LI Address all currently known compile warnings 516be8aff81SXin LI Make sure that API symbols remain visible despite 517be8aff81SXin LI -fvisibility=hidden 518be8aff81SXin LI Remove executable flag from source files 519be8aff81SXin LI Resolve COMPILED_FROM_DSP in favor of WIN32 520be8aff81SXin LI 521be8aff81SXin LI Special thanks to: 522be8aff81SXin LI Björn Lindahl 523be8aff81SXin LI Christian Heimes 524be8aff81SXin LI Cristian Rodríguez 525be8aff81SXin LI Daniel Krügler 526be8aff81SXin LI Gustavo Grieco 527be8aff81SXin LI Karl Waclawek 528be8aff81SXin LI László Böszörményi 529be8aff81SXin LI Marco Grassi 530be8aff81SXin LI Pascal Cuoq 531be8aff81SXin LI Sergei Nikulov 532be8aff81SXin LI Thomas Beutlich 533be8aff81SXin LI Warren Young 534be8aff81SXin LI Yann Droneaud 535be8aff81SXin LI 536be8aff81SXin LIRelease 2.1.1 Sat March 12 2016 537be8aff81SXin LI Security fixes: 538be8aff81SXin LI #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer 539be8aff81SXin LI 540be8aff81SXin LI Bug fixes: 541be8aff81SXin LI #502: Fix potential null pointer dereference 542be8aff81SXin LI #520: Symbol XML_SetHashSalt was not exported 543be8aff81SXin LI Output of "xmlwf -h" was incomplete 544be8aff81SXin LI 545be8aff81SXin LI Other changes: 546be8aff81SXin LI #503: Document behavior of calling XML_SetHashSalt with salt 0 547be8aff81SXin LI Minor improvements to man page xmlwf(1) 548be8aff81SXin LI Improvements to the experimental CMake build system 549be8aff81SXin LI libtool now invoked with --verbose 550be8aff81SXin LI 551e3466a89SXin LIRelease 2.1.0 Sat March 24 2012 5520a48773fSEric van Gyzen - Security fixes: 5530a48773fSEric van Gyzen #2958794: CVE-2012-1148 - Memory leak in poolGrow. 5540a48773fSEric van Gyzen #2895533: CVE-2012-1147 - Resource leak in readfilemap.c. 5550a48773fSEric van Gyzen #3496608: CVE-2012-0876 - Hash DOS attack. 5560a48773fSEric van Gyzen #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8(). 5570a48773fSEric van Gyzen #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences. 558e3466a89SXin LI - Bug Fixes: 559e3466a89SXin LI #1742315: Harmful XML_ParserCreateNS suggestion. 560e3466a89SXin LI #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3. 561e3466a89SXin LI #1983953, 2517952, 2517962, 2649838: 562e3466a89SXin LI Build modifications using autoreconf instead of buildconf.sh. 563e3466a89SXin LI #2815947, #2884086: OBJEXT and EXEEXT support while building. 564e3466a89SXin LI #2517938: xmlwf should return non-zero exit status if not well-formed. 565e3466a89SXin LI #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml. 566e3466a89SXin LI #2855609: Dangling positionPtr after error. 567e3466a89SXin LI #2990652: CMake support. 568e3466a89SXin LI #3010819: UNEXPECTED_STATE with a trailing "%" in entity value. 5690a48773fSEric van Gyzen #3206497: Uninitialized memory returned from XML_Parse. 570e3466a89SXin LI #3287849: make check fails on mingw-w64. 571e3466a89SXin LI - Patches: 572e3466a89SXin LI #1749198: pkg-config support. 573e3466a89SXin LI #3010222: Fix for bug #3010819. 574e3466a89SXin LI #3312568: CMake support. 575e3466a89SXin LI #3446384: Report byte offsets for attr names and values. 576e3466a89SXin LI - New Features / API changes: 577be8aff81SXin LI Added new API member XML_SetHashSalt() that allows setting an initial 578e3466a89SXin LI value (salt) for hash calculations. This is part of the fix for 579e3466a89SXin LI bug #3496608 to randomize hash parameters. 580e3466a89SXin LI When compiled with XML_ATTR_INFO defined, adds new API member 581e3466a89SXin LI XML_GetAttributeInfo() that allows retrieving the byte 582e3466a89SXin LI offsets for attribute names and values (patch #3446384). 583e3466a89SXin LI Added CMake build system. 584e3466a89SXin LI See bug #2990652 and patch #3312568. 585e3466a89SXin LI Added run-benchmark target to Makefile.in - relies on testdata module 586e3466a89SXin LI present in the same relative location as in the repository. 587e3466a89SXin LI 588220ed979SColeman KaneRelease 2.0.1 Tue June 5 2007 589e3466a89SXin LI - Fixed bugs #1515266, #1515600: The character data handler's calling 590220ed979SColeman Kane of XML_StopParser() was not handled properly; if the parser was 591220ed979SColeman Kane stopped and the handler set to NULL, the parser would segfault. 592220ed979SColeman Kane - Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed 593220ed979SColeman Kane some character constants to be ASCII encoded. 594220ed979SColeman Kane - Minor cleanups of the test harness. 595220ed979SColeman Kane - Fixed xmlwf bug #1513566: "out of memory" error on file size zero. 596220ed979SColeman Kane - Fixed outline.c bug #1543233: missing a final XML_ParserFree() call. 597220ed979SColeman Kane - Fixes and improvements for Windows platform: 598e3466a89SXin LI bugs #1409451, #1476160, #1548182, #1602769, #1717322. 599220ed979SColeman Kane - Build fixes for various platforms: 600220ed979SColeman Kane HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180. 601220ed979SColeman Kane All Unix: #1554618 (refreshed config.sub/config.guess). 602220ed979SColeman Kane #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT, 603220ed979SColeman Kane without relying on GNU-Make specific features. 604220ed979SColeman Kane #1647805: Patched configure.in to work better with Intel compiler. 605220ed979SColeman Kane - Fixes to Makefile.in to have make check work correctly: 606220ed979SColeman Kane bugs #1408143, #1535603, #1536684. 607220ed979SColeman Kane - Added Open Watcom support: patch #1523242. 608220ed979SColeman Kane 609220ed979SColeman KaneRelease 2.0.0 Wed Jan 11 2006 610220ed979SColeman Kane - We no longer use the "check" library for C unit testing; we 611220ed979SColeman Kane always use the (partial) internal implementation of the API. 612220ed979SColeman Kane - Report XML_NS setting via XML_GetFeatureList(). 613220ed979SColeman Kane - Fixed headers for use from C++. 614220ed979SColeman Kane - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber() 615220ed979SColeman Kane now return unsigned integers. 616220ed979SColeman Kane - Added XML_LARGE_SIZE switch to enable 64-bit integers for 617220ed979SColeman Kane byte indexes and line/column numbers. 618220ed979SColeman Kane - Updated to use libtool 1.5.22 (the most recent). 619220ed979SColeman Kane - Added support for AmigaOS. 620e3466a89SXin LI - Some mostly minor bug fixes. SF issues include: #1006708, 621e3466a89SXin LI #1021776, #1023646, #1114960, #1156398, #1221160, #1271642. 622220ed979SColeman Kane 623220ed979SColeman KaneRelease 1.95.8 Fri Jul 23 2004 624220ed979SColeman Kane - Major new feature: suspend/resume. Handlers can now request 625220ed979SColeman Kane that a parse be suspended for later resumption or aborted 626220ed979SColeman Kane altogether. See "Temporarily Stopping Parsing" in the 627220ed979SColeman Kane documentation for more details. 628220ed979SColeman Kane - Some mostly minor bug fixes, but compilation should no 629220ed979SColeman Kane longer generate warnings on most platforms. SF issues 630e3466a89SXin LI include: #827319, #840173, #846309, #888329, #896188, #923913, 631e3466a89SXin LI #928113, #961698, #985192. 632220ed979SColeman Kane 633220ed979SColeman KaneRelease 1.95.7 Mon Oct 20 2003 634220ed979SColeman Kane - Fixed enum XML_Status issue (reported on SourceForge many 635220ed979SColeman Kane times), so compilers that are properly picky will be happy. 636220ed979SColeman Kane - Introduced an XMLCALL macro to control the calling 637220ed979SColeman Kane convention used by the Expat API; this macro should be used 638220ed979SColeman Kane to annotate prototypes and definitions of callback 639220ed979SColeman Kane implementations in code compiled with a calling convention 640220ed979SColeman Kane other than the default convention for the host platform. 641220ed979SColeman Kane - Improved ability to build without the configure-generated 642220ed979SColeman Kane expat_config.h header. This is useful for applications 643220ed979SColeman Kane which embed Expat rather than linking in the library. 644e3466a89SXin LI - Fixed a variety of bugs: see SF issues #458907, #609603, 645e3466a89SXin LI #676844, #679754, #692878, #692964, #695401, #699323, #699487, 646e3466a89SXin LI #820946. 647220ed979SColeman Kane - Improved hash table lookups. 648220ed979SColeman Kane - Added more regression tests and improved documentation. 649220ed979SColeman Kane 650220ed979SColeman KaneRelease 1.95.6 Tue Jan 28 2003 651220ed979SColeman Kane - Added XML_FreeContentModel(). 652220ed979SColeman Kane - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree(). 653e3466a89SXin LI - Fixed a variety of bugs: see SF issues #615606, #616863, 654e3466a89SXin LI #618199, #653180, #673791. 655220ed979SColeman Kane - Enhanced the regression test suite. 656e3466a89SXin LI - Man page improvements: includes SF issue #632146. 657220ed979SColeman Kane 6585bb6a25fSPoul-Henning KampRelease 1.95.5 Fri Sep 6 2002 6595bb6a25fSPoul-Henning Kamp - Added XML_UseForeignDTD() for improved SAX2 support. 6605bb6a25fSPoul-Henning Kamp - Added XML_GetFeatureList(). 6615bb6a25fSPoul-Henning Kamp - Defined XML_Bool type and the values XML_TRUE and XML_FALSE. 6625bb6a25fSPoul-Henning Kamp - Use an incomplete struct instead of a void* for the parser 6635bb6a25fSPoul-Henning Kamp (may not retain). 6645bb6a25fSPoul-Henning Kamp - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected. 6655bb6a25fSPoul-Henning Kamp - Finally fixed bug where default handler would report DTD 6665bb6a25fSPoul-Henning Kamp events that were already handled by another handler. 667220ed979SColeman Kane Initial patch contributed by Darryl Miles. 6685bb6a25fSPoul-Henning Kamp - Removed unnecessary DllMain() function that caused static 6695bb6a25fSPoul-Henning Kamp linking into a DLL to be difficult. 6705bb6a25fSPoul-Henning Kamp - Added VC++ projects for building static libraries. 6715bb6a25fSPoul-Henning Kamp - Reduced line-length for all source code and headers to be 6725bb6a25fSPoul-Henning Kamp no longer than 80 characters, to help with AS/400 support. 6735bb6a25fSPoul-Henning Kamp - Reduced memory copying during parsing (SF patch #600964). 674e3466a89SXin LI - Fixed a variety of bugs: see SF issues #580793, #434664, 675e3466a89SXin LI #483514, #580503, #581069, #584041, #584183, #584832, #585537, 676e3466a89SXin LI #596555, #596678, #598352, #598944, #599715, #600479, #600971. 6775bb6a25fSPoul-Henning Kamp 6785bb6a25fSPoul-Henning KampRelease 1.95.4 Fri Jul 12 2002 6795bb6a25fSPoul-Henning Kamp - Added support for VMS, contributed by Craig Berry. See 6805bb6a25fSPoul-Henning Kamp vms/README.vms for more information. 6815bb6a25fSPoul-Henning Kamp - Added Mac OS (classic) support, with a makefile for MPW, 6825bb6a25fSPoul-Henning Kamp contributed by Thomas Wegner and Daryle Walker. 6835bb6a25fSPoul-Henning Kamp - Added Borland C++ Builder 5 / BCC 5.5 support, contributed 6845bb6a25fSPoul-Henning Kamp by Patrick McConnell (SF patch #538032). 685e3466a89SXin LI - Fixed a variety of bugs: see SF issues #441449, #563184, 686e3466a89SXin LI #564342, #566334, #566901, #569461, #570263, #575168, #579196. 6875bb6a25fSPoul-Henning Kamp - Made skippedEntityHandler conform to SAX2 (see source comment) 6885bb6a25fSPoul-Henning Kamp - Re-implemented WFC: Entity Declared from XML 1.0 spec and 6895bb6a25fSPoul-Henning Kamp added a new error "entity declared in parameter entity": 690e3466a89SXin LI see SF bug report #569461 and SF patch #578161 6915bb6a25fSPoul-Henning Kamp - Re-implemented section 5.1 from XML 1.0 spec: 692e3466a89SXin LI see SF bug report #570263 and SF patch #578161 6935bb6a25fSPoul-Henning Kamp 6945bb6a25fSPoul-Henning KampRelease 1.95.3 Mon Jun 3 2002 6955bb6a25fSPoul-Henning Kamp - Added a project to the MSVC workspace to create a wchar_t 6965bb6a25fSPoul-Henning Kamp version of the library; the DLLs are named libexpatw.dll. 6975bb6a25fSPoul-Henning Kamp - Changed the name of the Windows DLLs from expat.dll to 6985bb6a25fSPoul-Henning Kamp libexpat.dll; this fixes SF bug #432456. 6995bb6a25fSPoul-Henning Kamp - Added the XML_ParserReset() API function. 7005bb6a25fSPoul-Henning Kamp - Fixed XML_SetReturnNSTriplet() to work for element names. 7015bb6a25fSPoul-Henning Kamp - Made the XML_UNICODE builds usable (thanks, Karl!). 7025bb6a25fSPoul-Henning Kamp - Allow xmlwf to read from standard input. 7035bb6a25fSPoul-Henning Kamp - Install a man page for xmlwf on Unix systems. 704e3466a89SXin LI - Fixed many bugs; see SF bug reports #231864, #461380, #464837, 705e3466a89SXin LI #466885, #469226, #477667, #484419, #487840, #494749, #496505, 706e3466a89SXin LI #547350. Other bugs which we can't test as easily may also 7075bb6a25fSPoul-Henning Kamp have been fixed, especially in the area of build support. 7085bb6a25fSPoul-Henning Kamp 7095bb6a25fSPoul-Henning KampRelease 1.95.2 Fri Jul 27 2001 7105bb6a25fSPoul-Henning Kamp - More changes to make MSVC happy with the build; add a single 7115bb6a25fSPoul-Henning Kamp workspace to support both the library and xmlwf application. 7125bb6a25fSPoul-Henning Kamp - Added a Windows installer for Windows users; includes 7135bb6a25fSPoul-Henning Kamp xmlwf.exe. 7145bb6a25fSPoul-Henning Kamp - Added compile-time constants that can be used to determine the 7155bb6a25fSPoul-Henning Kamp Expat version 7165bb6a25fSPoul-Henning Kamp - Removed a lot of GNU-specific dependencies to aide portability 7175bb6a25fSPoul-Henning Kamp among the various Unix flavors. 7185bb6a25fSPoul-Henning Kamp - Fix the UTF-8 BOM bug. 7195bb6a25fSPoul-Henning Kamp - Cleaned up warning messages for several compilers. 7205bb6a25fSPoul-Henning Kamp - Added the -Wall, -Wstrict-prototypes options for GCC. 7215bb6a25fSPoul-Henning Kamp 7225bb6a25fSPoul-Henning KampRelease 1.95.1 Sun Oct 22 15:11:36 EDT 2000 7235bb6a25fSPoul-Henning Kamp - Changes to get expat to build under Microsoft compiler 7245bb6a25fSPoul-Henning Kamp - Removed all aborts and instead return an UNEXPECTED_STATE error. 7255bb6a25fSPoul-Henning Kamp - Fixed a bug where a stray '%' in an entity value would cause an 7265bb6a25fSPoul-Henning Kamp abort. 7275bb6a25fSPoul-Henning Kamp - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for 7285bb6a25fSPoul-Henning Kamp finding this oversight. 7295bb6a25fSPoul-Henning Kamp - Changed default patterns in lib/Makefile.in to fit non-GNU makes 7305bb6a25fSPoul-Henning Kamp Thanks to robin@unrated.net for reporting and providing an 7315bb6a25fSPoul-Henning Kamp account to test on. 7325bb6a25fSPoul-Henning Kamp - The reference had the wrong label for XML_SetStartNamespaceDecl. 7335bb6a25fSPoul-Henning Kamp Reported by an anonymous user. 7345bb6a25fSPoul-Henning Kamp 7355bb6a25fSPoul-Henning KampRelease 1.95.0 Fri Sep 29 2000 7365bb6a25fSPoul-Henning Kamp - XML_ParserCreate_MM 7375bb6a25fSPoul-Henning Kamp Allows you to set a memory management suite to replace the 7385bb6a25fSPoul-Henning Kamp standard malloc,realloc, and free. 7395bb6a25fSPoul-Henning Kamp - XML_SetReturnNSTriplet 7405bb6a25fSPoul-Henning Kamp If you turn this feature on when namespace processing is in 7415bb6a25fSPoul-Henning Kamp effect, then qualified, prefixed element and attribute names 7425bb6a25fSPoul-Henning Kamp are returned as "uri|name|prefix" where '|' is whatever 7435bb6a25fSPoul-Henning Kamp separator character is used in namespace processing. 7445bb6a25fSPoul-Henning Kamp - Merged in features from perl-expat 7455bb6a25fSPoul-Henning Kamp o XML_SetElementDeclHandler 7465bb6a25fSPoul-Henning Kamp o XML_SetAttlistDeclHandler 7475bb6a25fSPoul-Henning Kamp o XML_SetXmlDeclHandler 7485bb6a25fSPoul-Henning Kamp o XML_SetEntityDeclHandler 7495bb6a25fSPoul-Henning Kamp o StartDoctypeDeclHandler takes 3 additional parameters: 7505bb6a25fSPoul-Henning Kamp sysid, pubid, has_internal_subset 7515bb6a25fSPoul-Henning Kamp o Many paired handler setters (like XML_SetElementHandler) 7525bb6a25fSPoul-Henning Kamp now have corresponding individual handler setters 7535bb6a25fSPoul-Henning Kamp o XML_GetInputContext for getting the input context of 7545bb6a25fSPoul-Henning Kamp the current parse position. 7555bb6a25fSPoul-Henning Kamp - Added reference material 7565bb6a25fSPoul-Henning Kamp - Packaged into a distribution that builds a sharable library 757