Changes 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635
  1. NOTE: We are looking for help with a few things:
  2. https://github.com/libexpat/libexpat/labels/help%20wanted
  3. If you can help, please get in touch. Thanks!
  4. Release 2.2.7 Wed June 19 2019
  5. Security fixes:
  6. #186 #262 Fix extraction of namespace prefixes from XML names;
  7. XML names with multiple colons could end up in the
  8. wrong namespace, and take a high amount of RAM and CPU
  9. resources while processing, opening the door to
  10. use for denial-of-service attacks
  11. Other changes:
  12. #195 #197 Autotools/CMake: Utilize -fvisibility=hidden to stop
  13. exporting non-API symbols
  14. #227 Autotools: Add --without-examples and --without-tests
  15. #228 Autotools: Modernize configure.ac
  16. #245 #246 Autotools: Fix check for -fvisibility=hidden for Clang
  17. #247 #248 Autotools: Fix compilation for lack of docbook2x-man
  18. #236 #258 Autotools: Produce .tar.{gz,lz,xz} release archives
  19. #212 CMake: Make libdir of pkgconfig expat.pc support multilib
  20. #158 #263 CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR
  21. #219 Remove fallback to bcopy, assume that memmove(3) exists
  22. #257 Use portable "/usr/bin/env bash" shebang (e.g. for OpenBSD)
  23. #243 Windows: Fix syntax of .def module definition files
  24. Version info bumped from 7:8:6 to 7:9:6
  25. Special thanks to:
  26. Benjamin Peterson
  27. Caolán McNamara
  28. Hanno Böck
  29. KangLin
  30. Kishore Kunche
  31. Marco Maggi
  32. Rhodri James
  33. Sebastian Dröge
  34. userwithuid
  35. Yury Gribov
  36. Release 2.2.6 Sun August 12 2018
  37. Bug fixes:
  38. #170 #206 Avoid doing arithmetic with NULL pointers in XML_GetBuffer
  39. #204 #205 Fix 2.2.5 regression with suspend-resume while parsing
  40. a document like '<root/>'
  41. Other changes:
  42. #165 #168 Autotools: Fix docbook-related configure syntax error
  43. #166 Autotools: Avoid grep option `-q` for Solaris
  44. #167 Autotools: Support
  45. ./configure DOCBOOK_TO_MAN="xmlto man --skip-validation"
  46. #159 #167 Autotools: Support DOCBOOK_TO_MAN command which produces
  47. xmlwf.1 rather than XMLWF.1; also covers case insensitive
  48. file systems
  49. #181 Autotools: Drop -rpath option passed to libtool
  50. #188 Autotools: Detect and deny SGML docbook2man as ours is XML
  51. #188 Autotools/CMake: Support command db2x_docbook2man as well
  52. #174 CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF
  53. #184 #185 CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF
  54. #207 #208 CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T,
  55. both defaulting to OFF
  56. #175 CMake: Prefer check_symbol_exists over check_function_exists
  57. #176 CMake: Create the same pkg-config file as with GNU Autotools
  58. #178 #179 CMake: Use GNUInstallDirs module to set proper defaults for
  59. install directories
  60. #208 CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM
  61. #180 Windows: Fix compilation of test suite for Visual Studio 2008
  62. #131 #173 #202 Address compiler warnings
  63. #187 #190 #200 Fix miscellaneous typos
  64. Version info bumped from 7:7:6 to 7:8:6
  65. Special thanks to:
  66. Anton Maklakov
  67. Benjamin Peterson
  68. Brad King
  69. Franek Korta
  70. Frank Rast
  71. Joe Orton
  72. luzpaz
  73. Pedro Vicente
  74. Rainer Jung
  75. Rhodri James
  76. Rolf Ade
  77. Rolf Eike Beer
  78. Thomas Beutlich
  79. Tomasz Kłoczko
  80. Release 2.2.5 Tue October 31 2017
  81. Bug fixes:
  82. #8 If the parser runs out of memory, make sure its internal
  83. state reflects the memory it actually has, not the memory
  84. it wanted to have.
  85. #11 The default handler wasn't being called when it should for
  86. a SYSTEM or PUBLIC doctype if an entity declaration handler
  87. was registered.
  88. #137 #138 Fix a case of mistakenly reported parsing success where
  89. XML_StopParser was called from an element handler
  90. #162 Function XML_ErrorString was returning NULL rather than
  91. a message for code XML_ERROR_INVALID_ARGUMENT
  92. introduced with release 2.2.1
  93. Other changes:
  94. #106 xmlwf: Add argument -N adding notation declarations
  95. #75 #106 Test suite: Resolve expected failure cases where xmlwf
  96. output was incomplete
  97. #127 Windows: Fix test suite compilation
  98. #126 #127 Windows: Fix compilation for Visual Studio 2012
  99. Windows: Upgrade shipped project files to Visual Studio 2017
  100. #33 #132 tests: Mass-fix compilation for XML_UNICODE_WCHAR_T
  101. #129 examples: Fix compilation for XML_UNICODE_WCHAR_T
  102. #130 benchmark: Fix compilation for XML_UNICODE_WCHAR_T
  103. #144 xmlwf: Fix compilation for XML_UNICODE_WCHAR_T; still needs
  104. Windows or MinGW for 2-byte wchar_t
  105. #9 Address two Clang Static Analyzer false positives
  106. #59 Resolve troublesome macros hiding parser struct membership
  107. and dereferencing that pointer
  108. #6 Resolve superfluous internal malloc/realloc switch
  109. #153 #155 Improve docbook2x-man detection
  110. #160 Undefine NDEBUG in the test suite (rather than rejecting it)
  111. #161 Address compiler warnings
  112. Version info bumped from 7:6:6 to 7:7:6
  113. Special thanks to:
  114. Benbuck Nason
  115. Hans Wennborg
  116. José Gutiérrez de la Concha
  117. Pedro Monreal Gonzalez
  118. Rhodri James
  119. Rolf Ade
  120. Stephen Groat
  121. and
  122. Core Infrastructure Initiative
  123. Release 2.2.4 Sat August 19 2017
  124. Bug fixes:
  125. #115 Fix copying of partial characters for UTF-8 input
  126. Other changes:
  127. #109 Fix "make check" for non-x86 architectures that default
  128. to unsigned type char (-128..127 rather than 0..255)
  129. #109 coverage.sh: Cover -funsigned-char
  130. Autotools: Introduce --without-xmlwf argument
  131. #65 Autotools: Replace handwritten Makefile with GNU Automake
  132. #43 CMake: Auto-detect high quality entropy extractors, add new
  133. option USE_libbsd=ON to use arc4random_buf of libbsd
  134. #74 CMake: Add -fno-strict-aliasing only where supported
  135. #114 CMake: Always honor manually set BUILD_* options
  136. #114 CMake: Compile man page if docbook2x-man is available, only
  137. #117 Include file tests/xmltest.log.expected in source tarball
  138. (required for "make run-xmltest")
  139. #117 Include (existing) Visual Studio 2013 files in source tarball
  140. Improve test suite error output
  141. #111 Fix some typos in documentation
  142. Version info bumped from 7:5:6 to 7:6:6
  143. Special thanks to:
  144. Jakub Wilk
  145. Joe Orton
  146. Lin Tian
  147. Rolf Eike Beer
  148. Release 2.2.3 Wed August 2 2017
  149. Security fixes:
  150. #82 CVE-2017-11742 -- Windows: Fix DLL hijacking vulnerability
  151. using Steve Holme's LoadLibrary wrapper for/of cURL
  152. Bug fixes:
  153. #85 Fix a dangling pointer issue related to realloc
  154. Other changes:
  155. Increase code coverage
  156. #91 Linux: Allow getrandom to fail if nonblocking pool has not
  157. yet been initialized and read /dev/urandom then, instead.
  158. This is in line with what recent Python does.
  159. #81 Pre-10.7/Lion macOS: Support entropy from arc4random
  160. #86 Check that a UTF-16 encoding in an XML declaration has the
  161. right endianness
  162. #4 #5 #7 Recover correctly when some reallocations fail
  163. Repair "./configure && make" for systems without any
  164. provider of high quality entropy
  165. and try reading /dev/urandom on those
  166. Ensure that user-defined character encodings have converter
  167. functions when they are needed
  168. Fix mis-leading description of argument -c in xmlwf.1
  169. Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__)
  170. for CloudABI
  171. #100 Fix use of SIPHASH_MAIN in siphash.h
  172. #23 Test suite: Fix memory leaks
  173. Version info bumped from 7:4:6 to 7:5:6
  174. Special thanks to:
  175. Chanho Park
  176. Joe Orton
  177. Pascal Cuoq
  178. Rhodri James
  179. Simon McVittie
  180. Vadim Zeitlin
  181. Viktor Szakats
  182. and
  183. Core Infrastructure Initiative
  184. Release 2.2.2 Wed July 12 2017
  185. Security fixes:
  186. #43 Protect against compilation without any source of high
  187. quality entropy enabled, e.g. with CMake build system;
  188. commit ff0207e6076e9828e536b8d9cd45c9c92069b895
  189. #60 Windows with _UNICODE:
  190. Unintended use of LoadLibraryW with a non-wide string
  191. resulted in failure to load advapi32.dll and degradation
  192. in quality of used entropy when compiled with _UNICODE for
  193. Windows; you can launch existing binaries with
  194. EXPAT_ENTROPY_DEBUG=1 in the environment to inspect the
  195. quality of entropy used during runtime; commits
  196. * 95b95032f907ef1cd17ee7a9a1768010a825d61d
  197. * 73a5a2e9c081f49f2d775cf7ced864158b68dc80
  198. [MOX-006] Fix non-NULL parser parameter validation in XML_Parse;
  199. resulted in NULL dereference, previously;
  200. commit ac256dafdffc9622ab0dc2c62fcecb0dfcfa71fe
  201. Bug fixes:
  202. #69 Fix improper use of unsigned long long integer literals
  203. Other changes:
  204. #73 Start requiring a C99 compiler
  205. #49 Fix "==" Bashism in configure script
  206. #50 Fix too eager getrandom detection for Debian GNU/kFreeBSD
  207. #52 and macOS
  208. #51 Address lack of stdint.h in Visual Studio 2003 to 2008
  209. #58 Address compile warnings
  210. #68 Fix "./buildconf.sh && ./configure" for some versions
  211. of Dash for /bin/sh
  212. #72 CMake: Ease use of Expat in context of a parent project
  213. with multiple CMakeLists.txt files
  214. #72 CMake: Resolve mistaken executable permissions
  215. #76 Address compile warning with -DNDEBUG (not recommended!)
  216. #77 Address compile warning about macro redefinition
  217. Special thanks to:
  218. Alexander Bluhm
  219. Ben Boeckel
  220. Cătălin Răceanu
  221. Kerin Millar
  222. László Böszörményi
  223. S. P. Zeidler
  224. Segev Finer
  225. Václav Slavík
  226. Victor Stinner
  227. Viktor Szakats
  228. and
  229. Radically Open Security
  230. Release 2.2.1 Sat June 17 2017
  231. Security fixes:
  232. CVE-2017-9233 -- External entity infinite loop DoS
  233. Details: https://libexpat.github.io/doc/cve-2017-9233/
  234. Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f
  235. [MOX-002] CVE-2016-9063 -- Detect integer overflow; commit
  236. d4f735b88d9932bd5039df2335eefdd0723dbe20
  237. (Fixed version of existing downstream patches!)
  238. (SF.net) #539 Fix regression from fix to CVE-2016-0718 cutting off
  239. longer tag names; commits
  240. * 896b6c1fd3b842f377d1b62135dccf0a579cf65d
  241. * af507cef2c93cb8d40062a0abe43a4f4e9158fb2
  242. #16 * 0dbbf43fdb20f593ddf4fa1ff67288000dd4a7fd
  243. #25 More integer overflow detection (function poolGrow); commits
  244. * 810b74e4703dcfdd8f404e3cb177d44684775143
  245. * 44178553f3539ce69d34abee77a05e879a7982ac
  246. [MOX-002] Detect overflow from len=INT_MAX call to XML_Parse; commits
  247. * 4be2cb5afcc018d996f34bbbce6374b7befad47f
  248. * 7e5b71b748491b6e459e5c9a1d090820f94544d8
  249. [MOX-005] #30 Use high quality entropy for hash initialization:
  250. * arc4random_buf on BSD, systems with libbsd
  251. (when configured with --with-libbsd), CloudABI
  252. * RtlGenRandom on Windows XP / Server 2003 and later
  253. * getrandom on Linux 3.17+
  254. In a way, that's still part of CVE-2016-5300.
  255. https://github.com/libexpat/libexpat/pull/30/commits
  256. [MOX-005] For the low quality entropy extraction fallback code,
  257. the parser instance address can no longer leak, commit
  258. 04ad658bd3079dd15cb60fc67087900f0ff4b083
  259. [MOX-003] Prevent use of uninitialised variable; commit
  260. [MOX-004] a4dc944f37b664a3ca7199c624a98ee37babdb4b
  261. Add missing parameter validation to public API functions
  262. and dedicated error code XML_ERROR_INVALID_ARGUMENT:
  263. [MOX-006] * NULL checks; commits
  264. * d37f74b2b7149a3a95a680c4c4cd2a451a51d60a (merge/many)
  265. * 9ed727064b675b7180c98cb3d4f75efba6966681
  266. * 6a747c837c50114dfa413994e07c0ba477be4534
  267. * Negative length (XML_Parse); commit
  268. [MOX-002] 70db8d2538a10f4c022655d6895e4c3e78692e7f
  269. [MOX-001] #35 Change hash algorithm to William Ahern's version of SipHash
  270. to go further with fixing CVE-2012-0876.
  271. https://github.com/libexpat/libexpat/pull/39/commits
  272. Bug fixes:
  273. #32 Fix sharing of hash salt across parsers;
  274. relevant where XML_ExternalEntityParserCreate is called
  275. prior to XML_Parse, in particular (e.g. FBReader)
  276. #28 xmlwf: Auto-disable use of memory-mapping (and parsing
  277. as a single chunk) for files larger than ~1 GB (2^30 bytes)
  278. rather than failing with error "out of memory"
  279. #3 Fix double free after malloc failure in DTD code; commit
  280. 7ae9c3d3af433cd4defe95234eae7dc8ed15637f
  281. #17 Fix memory leak on parser error for unbound XML attribute
  282. prefix with new namespaces defined in the same tag;
  283. found by Google's OSS-Fuzz; commits
  284. * 16f87daae5a16132e479e4f71862128c7a915c73
  285. * b47dbc9745932c160893d433220e462bd605f8cd
  286. xmlwf on Windows: Add missing calls to CloseHandle
  287. New features:
  288. #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1
  289. for runtime debugging of entropy extraction
  290. Other changes:
  291. Increase code coverage
  292. #33 Reject use of XML_UNICODE_WCHAR_T with sizeof(wchar_t) != 2;
  293. XML_UNICODE_WCHAR_T was never meant to be used outside
  294. of Windows; 4-byte wchar_t is common on Linux
  295. (SF.net) #538 Start using -fno-strict-aliasing
  296. (SF.net) #540 Support compilation against cloudlibc of CloudABI
  297. Allow MinGW cross-compilation
  298. (SF.net) #534 CMake: Introduce option "BUILD_doc" (enabled by default)
  299. to bypass compilation of the xmlwf.1 man page
  300. (SF.net) pr2 CMake: Introduce option "INSTALL" (enabled by default)
  301. to bypass installation of expat files
  302. CMake: Fix ninja support
  303. Autotools: Add parameters --enable-xml-context [COUNT]
  304. and --disable-xml-context; default of context of 1024
  305. bytes enabled unchanged
  306. #14 Drop AmigaOS 4.x code and includes
  307. #14 Drop ancient build systems:
  308. * Borland C++ Builder
  309. * OpenVMS
  310. * Open Watcom
  311. * Visual Studio 6.0
  312. * Pre-X Mac OS (MPW Makefile)
  313. If you happen to rely on some of these, please get in
  314. touch for joining with maintenance.
  315. #10 Move from WIN32 to _WIN32
  316. #13 Fix "make run-xmltest" order instability
  317. Address compile warnings
  318. Bump version info from 7:2:6 to 7:3:6
  319. Add AUTHORS file
  320. Infrastructure:
  321. #1 Migrate from SourceForge to GitHub (except downloads):
  322. https://github.com/libexpat/
  323. #1 Re-create http://libexpat.org/ project website
  324. Start utilizing Travis CI
  325. Special thanks to:
  326. Andy Wang
  327. Don Lewis
  328. Ed Schouten
  329. Karl Waclawek
  330. Pascal Cuoq
  331. Rhodri James
  332. Sergei Nikulov
  333. Tobias Taschner
  334. Viktor Szakats
  335. and
  336. Core Infrastructure Initiative
  337. Mozilla Foundation (MOSS Track 3: Secure Open Source)
  338. Radically Open Security
  339. Release 2.2.0 Tue June 21 2016
  340. Security fixes:
  341. #537 CVE-2016-0718 -- Fix crash on malformed input
  342. CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 /
  343. CVE-2015-2716 introduced with Expat 2.1.1
  344. #499 CVE-2016-5300 -- Use more entropy for hash initialization
  345. than the original fix to CVE-2012-0876
  346. #519 CVE-2012-6702 -- Resolve troublesome internal call to srand
  347. that was introduced with Expat 2.1.0
  348. when addressing CVE-2012-0876 (issue #496)
  349. Bug fixes:
  350. Fix uninitialized reads of size 1
  351. (e.g. in little2_updatePosition)
  352. Fix detection of UTF-8 character boundaries
  353. Other changes:
  354. #532 Fix compilation for Visual Studio 2010 (keyword "C99")
  355. Autotools: Resolve use of "$<" to better support bmake
  356. Autotools: Add QA script "qa.sh" (and make target "qa")
  357. Autotools: Respect CXXFLAGS if given
  358. Autotools: Fix "make run-xmltest"
  359. Autotools: Have "make run-xmltest" check for expected output
  360. p90 CMake: Fix static build (BUILD_shared=OFF) on Windows
  361. #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass
  362. #323 CMake: Add suffix "d" to differentiate debug from release
  363. CMake: Define WIN32 with CMake on Windows
  364. Annotate memory allocators for GCC
  365. Address all currently known compile warnings
  366. Make sure that API symbols remain visible despite
  367. -fvisibility=hidden
  368. Remove executable flag from source files
  369. Resolve COMPILED_FROM_DSP in favor of WIN32
  370. Special thanks to:
  371. Björn Lindahl
  372. Christian Heimes
  373. Cristian Rodríguez
  374. Daniel Krügler
  375. Gustavo Grieco
  376. Karl Waclawek
  377. László Böszörményi
  378. Marco Grassi
  379. Pascal Cuoq
  380. Sergei Nikulov
  381. Thomas Beutlich
  382. Warren Young
  383. Yann Droneaud
  384. Release 2.1.1 Sat March 12 2016
  385. Security fixes:
  386. #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer
  387. Bug fixes:
  388. #502: Fix potential null pointer dereference
  389. #520: Symbol XML_SetHashSalt was not exported
  390. Output of "xmlwf -h" was incomplete
  391. Other changes:
  392. #503: Document behavior of calling XML_SetHashSalt with salt 0
  393. Minor improvements to man page xmlwf(1)
  394. Improvements to the experimental CMake build system
  395. libtool now invoked with --verbose
  396. Release 2.1.0 Sat March 24 2012
  397. - Security fixes:
  398. #2958794: CVE-2012-1148 - Memory leak in poolGrow.
  399. #2895533: CVE-2012-1147 - Resource leak in readfilemap.c.
  400. #3496608: CVE-2012-0876 - Hash DOS attack.
  401. #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8().
  402. #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences.
  403. - Bug Fixes:
  404. #1742315: Harmful XML_ParserCreateNS suggestion.
  405. #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3.
  406. #1983953, 2517952, 2517962, 2649838:
  407. Build modifications using autoreconf instead of buildconf.sh.
  408. #2815947, #2884086: OBJEXT and EXEEXT support while building.
  409. #2517938: xmlwf should return non-zero exit status if not well-formed.
  410. #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml.
  411. #2855609: Dangling positionPtr after error.
  412. #2990652: CMake support.
  413. #3010819: UNEXPECTED_STATE with a trailing "%" in entity value.
  414. #3206497: Uninitialized memory returned from XML_Parse.
  415. #3287849: make check fails on mingw-w64.
  416. - Patches:
  417. #1749198: pkg-config support.
  418. #3010222: Fix for bug #3010819.
  419. #3312568: CMake support.
  420. #3446384: Report byte offsets for attr names and values.
  421. - New Features / API changes:
  422. Added new API member XML_SetHashSalt() that allows setting an initial
  423. value (salt) for hash calculations. This is part of the fix for
  424. bug #3496608 to randomize hash parameters.
  425. When compiled with XML_ATTR_INFO defined, adds new API member
  426. XML_GetAttributeInfo() that allows retrieving the byte
  427. offsets for attribute names and values (patch #3446384).
  428. Added CMake build system.
  429. See bug #2990652 and patch #3312568.
  430. Added run-benchmark target to Makefile.in - relies on testdata module
  431. present in the same relative location as in the repository.
  432. Release 2.0.1 Tue June 5 2007
  433. - Fixed bugs #1515266, #1515600: The character data handler's calling
  434. of XML_StopParser() was not handled properly; if the parser was
  435. stopped and the handler set to NULL, the parser would segfault.
  436. - Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed
  437. some character constants to be ASCII encoded.
  438. - Minor cleanups of the test harness.
  439. - Fixed xmlwf bug #1513566: "out of memory" error on file size zero.
  440. - Fixed outline.c bug #1543233: missing a final XML_ParserFree() call.
  441. - Fixes and improvements for Windows platform:
  442. bugs #1409451, #1476160, #1548182, #1602769, #1717322.
  443. - Build fixes for various platforms:
  444. HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180.
  445. All Unix: #1554618 (refreshed config.sub/config.guess).
  446. #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT,
  447. without relying on GNU-Make specific features.
  448. #1647805: Patched configure.in to work better with Intel compiler.
  449. - Fixes to Makefile.in to have make check work correctly:
  450. bugs #1408143, #1535603, #1536684.
  451. - Added Open Watcom support: patch #1523242.
  452. Release 2.0.0 Wed Jan 11 2006
  453. - We no longer use the "check" library for C unit testing; we
  454. always use the (partial) internal implementation of the API.
  455. - Report XML_NS setting via XML_GetFeatureList().
  456. - Fixed headers for use from C++.
  457. - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber()
  458. now return unsigned integers.
  459. - Added XML_LARGE_SIZE switch to enable 64-bit integers for
  460. byte indexes and line/column numbers.
  461. - Updated to use libtool 1.5.22 (the most recent).
  462. - Added support for AmigaOS.
  463. - Some mostly minor bug fixes. SF issues include: #1006708,
  464. #1021776, #1023646, #1114960, #1156398, #1221160, #1271642.
  465. Release 1.95.8 Fri Jul 23 2004
  466. - Major new feature: suspend/resume. Handlers can now request
  467. that a parse be suspended for later resumption or aborted
  468. altogether. See "Temporarily Stopping Parsing" in the
  469. documentation for more details.
  470. - Some mostly minor bug fixes, but compilation should no
  471. longer generate warnings on most platforms. SF issues
  472. include: #827319, #840173, #846309, #888329, #896188, #923913,
  473. #928113, #961698, #985192.
  474. Release 1.95.7 Mon Oct 20 2003
  475. - Fixed enum XML_Status issue (reported on SourceForge many
  476. times), so compilers that are properly picky will be happy.
  477. - Introduced an XMLCALL macro to control the calling
  478. convention used by the Expat API; this macro should be used
  479. to annotate prototypes and definitions of callback
  480. implementations in code compiled with a calling convention
  481. other than the default convention for the host platform.
  482. - Improved ability to build without the configure-generated
  483. expat_config.h header. This is useful for applications
  484. which embed Expat rather than linking in the library.
  485. - Fixed a variety of bugs: see SF issues #458907, #609603,
  486. #676844, #679754, #692878, #692964, #695401, #699323, #699487,
  487. #820946.
  488. - Improved hash table lookups.
  489. - Added more regression tests and improved documentation.
  490. Release 1.95.6 Tue Jan 28 2003
  491. - Added XML_FreeContentModel().
  492. - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree().
  493. - Fixed a variety of bugs: see SF issues #615606, #616863,
  494. #618199, #653180, #673791.
  495. - Enhanced the regression test suite.
  496. - Man page improvements: includes SF issue #632146.
  497. Release 1.95.5 Fri Sep 6 2002
  498. - Added XML_UseForeignDTD() for improved SAX2 support.
  499. - Added XML_GetFeatureList().
  500. - Defined XML_Bool type and the values XML_TRUE and XML_FALSE.
  501. - Use an incomplete struct instead of a void* for the parser
  502. (may not retain).
  503. - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected.
  504. - Finally fixed bug where default handler would report DTD
  505. events that were already handled by another handler.
  506. Initial patch contributed by Darryl Miles.
  507. - Removed unnecessary DllMain() function that caused static
  508. linking into a DLL to be difficult.
  509. - Added VC++ projects for building static libraries.
  510. - Reduced line-length for all source code and headers to be
  511. no longer than 80 characters, to help with AS/400 support.
  512. - Reduced memory copying during parsing (SF patch #600964).
  513. - Fixed a variety of bugs: see SF issues #580793, #434664,
  514. #483514, #580503, #581069, #584041, #584183, #584832, #585537,
  515. #596555, #596678, #598352, #598944, #599715, #600479, #600971.
  516. Release 1.95.4 Fri Jul 12 2002
  517. - Added support for VMS, contributed by Craig Berry. See
  518. vms/README.vms for more information.
  519. - Added Mac OS (classic) support, with a makefile for MPW,
  520. contributed by Thomas Wegner and Daryle Walker.
  521. - Added Borland C++ Builder 5 / BCC 5.5 support, contributed
  522. by Patrick McConnell (SF patch #538032).
  523. - Fixed a variety of bugs: see SF issues #441449, #563184,
  524. #564342, #566334, #566901, #569461, #570263, #575168, #579196.
  525. - Made skippedEntityHandler conform to SAX2 (see source comment)
  526. - Re-implemented WFC: Entity Declared from XML 1.0 spec and
  527. added a new error "entity declared in parameter entity":
  528. see SF bug report #569461 and SF patch #578161
  529. - Re-implemented section 5.1 from XML 1.0 spec:
  530. see SF bug report #570263 and SF patch #578161
  531. Release 1.95.3 Mon Jun 3 2002
  532. - Added a project to the MSVC workspace to create a wchar_t
  533. version of the library; the DLLs are named libexpatw.dll.
  534. - Changed the name of the Windows DLLs from expat.dll to
  535. libexpat.dll; this fixes SF bug #432456.
  536. - Added the XML_ParserReset() API function.
  537. - Fixed XML_SetReturnNSTriplet() to work for element names.
  538. - Made the XML_UNICODE builds usable (thanks, Karl!).
  539. - Allow xmlwf to read from standard input.
  540. - Install a man page for xmlwf on Unix systems.
  541. - Fixed many bugs; see SF bug reports #231864, #461380, #464837,
  542. #466885, #469226, #477667, #484419, #487840, #494749, #496505,
  543. #547350. Other bugs which we can't test as easily may also
  544. have been fixed, especially in the area of build support.
  545. Release 1.95.2 Fri Jul 27 2001
  546. - More changes to make MSVC happy with the build; add a single
  547. workspace to support both the library and xmlwf application.
  548. - Added a Windows installer for Windows users; includes
  549. xmlwf.exe.
  550. - Added compile-time constants that can be used to determine the
  551. Expat version
  552. - Removed a lot of GNU-specific dependencies to aide portability
  553. among the various Unix flavors.
  554. - Fix the UTF-8 BOM bug.
  555. - Cleaned up warning messages for several compilers.
  556. - Added the -Wall, -Wstrict-prototypes options for GCC.
  557. Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000
  558. - Changes to get expat to build under Microsoft compiler
  559. - Removed all aborts and instead return an UNEXPECTED_STATE error.
  560. - Fixed a bug where a stray '%' in an entity value would cause an
  561. abort.
  562. - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for
  563. finding this oversight.
  564. - Changed default patterns in lib/Makefile.in to fit non-GNU makes
  565. Thanks to [email protected] for reporting and providing an
  566. account to test on.
  567. - The reference had the wrong label for XML_SetStartNamespaceDecl.
  568. Reported by an anonymous user.
  569. Release 1.95.0 Fri Sep 29 2000
  570. - XML_ParserCreate_MM
  571. Allows you to set a memory management suite to replace the
  572. standard malloc,realloc, and free.
  573. - XML_SetReturnNSTriplet
  574. If you turn this feature on when namespace processing is in
  575. effect, then qualified, prefixed element and attribute names
  576. are returned as "uri|name|prefix" where '|' is whatever
  577. separator character is used in namespace processing.
  578. - Merged in features from perl-expat
  579. o XML_SetElementDeclHandler
  580. o XML_SetAttlistDeclHandler
  581. o XML_SetXmlDeclHandler
  582. o XML_SetEntityDeclHandler
  583. o StartDoctypeDeclHandler takes 3 additional parameters:
  584. sysid, pubid, has_internal_subset
  585. o Many paired handler setters (like XML_SetElementHandler)
  586. now have corresponding individual handler setters
  587. o XML_GetInputContext for getting the input context of
  588. the current parse position.
  589. - Added reference material
  590. - Packaged into a distribution that builds a sharable library