xref: /freebsd/contrib/expat/Changes (revision 6b2c1e49da284f28ec7b52f7c031474087e37104)
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