Changes 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. Release 2.2.0 Tue June 21 2016
  2. Security fixes:
  3. #537 CVE-2016-0718 -- Fix crash on malformed input
  4. CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 /
  5. CVE-2015-2716 introduced with Expat 2.1.1
  6. #499 CVE-2016-5300 -- Use more entropy for hash initialization
  7. than the original fix to CVE-2012-0876
  8. #519 CVE-2012-6702 -- Resolve troublesome internal call to srand
  9. that was introduced with Expat 2.1.0
  10. when addressing CVE-2012-0876 (issue #496)
  11. Bug fixes:
  12. Fix uninitialized reads of size 1
  13. (e.g. in little2_updatePosition)
  14. Fix detection of UTF-8 character boundaries
  15. Other changes:
  16. #532 Fix compilation for Visual Studio 2010 (keyword "C99")
  17. Autotools: Resolve use of "$<" to better support bmake
  18. Autotools: Add QA script "qa.sh" (and make target "qa")
  19. Autotools: Respect CXXFLAGS if given
  20. Autotools: Fix "make run-xmltest"
  21. Autotools: Have "make run-xmltest" check for expected output
  22. p90 CMake: Fix static build (BUILD_shared=OFF) on Windows
  23. #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass
  24. #323 CMake: Add suffix "d" to differentiate debug from release
  25. CMake: Define WIN32 with CMake on Windows
  26. Annotate memory allocators for GCC
  27. Address all currently known compile warnings
  28. Make sure that API symbols remain visible despite
  29. -fvisibility=hidden
  30. Remove executable flag from source files
  31. Resolve COMPILED_FROM_DSP in favor of WIN32
  32. Special thanks to:
  33. Björn Lindahl
  34. Christian Heimes
  35. Cristian Rodríguez
  36. Daniel Krügler
  37. Gustavo Grieco
  38. Karl Waclawek
  39. László Böszörményi
  40. Marco Grassi
  41. Pascal Cuoq
  42. Sergei Nikulov
  43. Thomas Beutlich
  44. Warren Young
  45. Yann Droneaud
  46. Release 2.1.1 Sat March 12 2016
  47. Security fixes:
  48. #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer
  49. Bug fixes:
  50. #502: Fix potential null pointer dereference
  51. #520: Symbol XML_SetHashSalt was not exported
  52. Output of "xmlwf -h" was incomplete
  53. Other changes:
  54. #503: Document behavior of calling XML_SetHashSalt with salt 0
  55. Minor improvements to man page xmlwf(1)
  56. Improvements to the experimental CMake build system
  57. libtool now invoked with --verbose
  58. Release 2.1.0 Sat March 24 2012
  59. - Bug Fixes:
  60. #1742315: Harmful XML_ParserCreateNS suggestion.
  61. #2895533: CVE-2012-1147 - Resource leak in readfilemap.c.
  62. #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3.
  63. #1983953, 2517952, 2517962, 2649838:
  64. Build modifications using autoreconf instead of buildconf.sh.
  65. #2815947, #2884086: OBJEXT and EXEEXT support while building.
  66. #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences.
  67. #2517938: xmlwf should return non-zero exit status if not well-formed.
  68. #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml.
  69. #2855609: Dangling positionPtr after error.
  70. #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8().
  71. #2958794: CVE-2012-1148 - Memory leak in poolGrow.
  72. #2990652: CMake support.
  73. #3010819: UNEXPECTED_STATE with a trailing "%" in entity value.
  74. #3206497: Unitialized memory returned from XML_Parse.
  75. #3287849: make check fails on mingw-w64.
  76. #3496608: CVE-2012-0876 - Hash DOS attack.
  77. - Patches:
  78. #1749198: pkg-config support.
  79. #3010222: Fix for bug #3010819.
  80. #3312568: CMake support.
  81. #3446384: Report byte offsets for attr names and values.
  82. - New Features / API changes:
  83. Added new API member XML_SetHashSalt() that allows setting an initial
  84. value (salt) for hash calculations. This is part of the fix for
  85. bug #3496608 to randomize hash parameters.
  86. When compiled with XML_ATTR_INFO defined, adds new API member
  87. XML_GetAttributeInfo() that allows retrieving the byte
  88. offsets for attribute names and values (patch #3446384).
  89. Added CMake build system.
  90. See bug #2990652 and patch #3312568.
  91. Added run-benchmark target to Makefile.in - relies on testdata module
  92. present in the same relative location as in the repository.
  93. Release 2.0.1 Tue June 5 2007
  94. - Fixed bugs #1515266, #1515600: The character data handler's calling
  95. of XML_StopParser() was not handled properly; if the parser was
  96. stopped and the handler set to NULL, the parser would segfault.
  97. - Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed
  98. some character constants to be ASCII encoded.
  99. - Minor cleanups of the test harness.
  100. - Fixed xmlwf bug #1513566: "out of memory" error on file size zero.
  101. - Fixed outline.c bug #1543233: missing a final XML_ParserFree() call.
  102. - Fixes and improvements for Windows platform:
  103. bugs #1409451, #1476160, #1548182, #1602769, #1717322.
  104. - Build fixes for various platforms:
  105. HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180.
  106. All Unix: #1554618 (refreshed config.sub/config.guess).
  107. #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT,
  108. without relying on GNU-Make specific features.
  109. #1647805: Patched configure.in to work better with Intel compiler.
  110. - Fixes to Makefile.in to have make check work correctly:
  111. bugs #1408143, #1535603, #1536684.
  112. - Added Open Watcom support: patch #1523242.
  113. Release 2.0.0 Wed Jan 11 2006
  114. - We no longer use the "check" library for C unit testing; we
  115. always use the (partial) internal implementation of the API.
  116. - Report XML_NS setting via XML_GetFeatureList().
  117. - Fixed headers for use from C++.
  118. - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber()
  119. now return unsigned integers.
  120. - Added XML_LARGE_SIZE switch to enable 64-bit integers for
  121. byte indexes and line/column numbers.
  122. - Updated to use libtool 1.5.22 (the most recent).
  123. - Added support for AmigaOS.
  124. - Some mostly minor bug fixes. SF issues include: #1006708,
  125. #1021776, #1023646, #1114960, #1156398, #1221160, #1271642.
  126. Release 1.95.8 Fri Jul 23 2004
  127. - Major new feature: suspend/resume. Handlers can now request
  128. that a parse be suspended for later resumption or aborted
  129. altogether. See "Temporarily Stopping Parsing" in the
  130. documentation for more details.
  131. - Some mostly minor bug fixes, but compilation should no
  132. longer generate warnings on most platforms. SF issues
  133. include: #827319, #840173, #846309, #888329, #896188, #923913,
  134. #928113, #961698, #985192.
  135. Release 1.95.7 Mon Oct 20 2003
  136. - Fixed enum XML_Status issue (reported on SourceForge many
  137. times), so compilers that are properly picky will be happy.
  138. - Introduced an XMLCALL macro to control the calling
  139. convention used by the Expat API; this macro should be used
  140. to annotate prototypes and definitions of callback
  141. implementations in code compiled with a calling convention
  142. other than the default convention for the host platform.
  143. - Improved ability to build without the configure-generated
  144. expat_config.h header. This is useful for applications
  145. which embed Expat rather than linking in the library.
  146. - Fixed a variety of bugs: see SF issues #458907, #609603,
  147. #676844, #679754, #692878, #692964, #695401, #699323, #699487,
  148. #820946.
  149. - Improved hash table lookups.
  150. - Added more regression tests and improved documentation.
  151. Release 1.95.6 Tue Jan 28 2003
  152. - Added XML_FreeContentModel().
  153. - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree().
  154. - Fixed a variety of bugs: see SF issues #615606, #616863,
  155. #618199, #653180, #673791.
  156. - Enhanced the regression test suite.
  157. - Man page improvements: includes SF issue #632146.
  158. Release 1.95.5 Fri Sep 6 2002
  159. - Added XML_UseForeignDTD() for improved SAX2 support.
  160. - Added XML_GetFeatureList().
  161. - Defined XML_Bool type and the values XML_TRUE and XML_FALSE.
  162. - Use an incomplete struct instead of a void* for the parser
  163. (may not retain).
  164. - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected.
  165. - Finally fixed bug where default handler would report DTD
  166. events that were already handled by another handler.
  167. Initial patch contributed by Darryl Miles.
  168. - Removed unnecessary DllMain() function that caused static
  169. linking into a DLL to be difficult.
  170. - Added VC++ projects for building static libraries.
  171. - Reduced line-length for all source code and headers to be
  172. no longer than 80 characters, to help with AS/400 support.
  173. - Reduced memory copying during parsing (SF patch #600964).
  174. - Fixed a variety of bugs: see SF issues #580793, #434664,
  175. #483514, #580503, #581069, #584041, #584183, #584832, #585537,
  176. #596555, #596678, #598352, #598944, #599715, #600479, #600971.
  177. Release 1.95.4 Fri Jul 12 2002
  178. - Added support for VMS, contributed by Craig Berry. See
  179. vms/README.vms for more information.
  180. - Added Mac OS (classic) support, with a makefile for MPW,
  181. contributed by Thomas Wegner and Daryle Walker.
  182. - Added Borland C++ Builder 5 / BCC 5.5 support, contributed
  183. by Patrick McConnell (SF patch #538032).
  184. - Fixed a variety of bugs: see SF issues #441449, #563184,
  185. #564342, #566334, #566901, #569461, #570263, #575168, #579196.
  186. - Made skippedEntityHandler conform to SAX2 (see source comment)
  187. - Re-implemented WFC: Entity Declared from XML 1.0 spec and
  188. added a new error "entity declared in parameter entity":
  189. see SF bug report #569461 and SF patch #578161
  190. - Re-implemented section 5.1 from XML 1.0 spec:
  191. see SF bug report #570263 and SF patch #578161
  192. Release 1.95.3 Mon Jun 3 2002
  193. - Added a project to the MSVC workspace to create a wchar_t
  194. version of the library; the DLLs are named libexpatw.dll.
  195. - Changed the name of the Windows DLLs from expat.dll to
  196. libexpat.dll; this fixes SF bug #432456.
  197. - Added the XML_ParserReset() API function.
  198. - Fixed XML_SetReturnNSTriplet() to work for element names.
  199. - Made the XML_UNICODE builds usable (thanks, Karl!).
  200. - Allow xmlwf to read from standard input.
  201. - Install a man page for xmlwf on Unix systems.
  202. - Fixed many bugs; see SF bug reports #231864, #461380, #464837,
  203. #466885, #469226, #477667, #484419, #487840, #494749, #496505,
  204. #547350. Other bugs which we can't test as easily may also
  205. have been fixed, especially in the area of build support.
  206. Release 1.95.2 Fri Jul 27 2001
  207. - More changes to make MSVC happy with the build; add a single
  208. workspace to support both the library and xmlwf application.
  209. - Added a Windows installer for Windows users; includes
  210. xmlwf.exe.
  211. - Added compile-time constants that can be used to determine the
  212. Expat version
  213. - Removed a lot of GNU-specific dependencies to aide portability
  214. among the various Unix flavors.
  215. - Fix the UTF-8 BOM bug.
  216. - Cleaned up warning messages for several compilers.
  217. - Added the -Wall, -Wstrict-prototypes options for GCC.
  218. Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000
  219. - Changes to get expat to build under Microsoft compiler
  220. - Removed all aborts and instead return an UNEXPECTED_STATE error.
  221. - Fixed a bug where a stray '%' in an entity value would cause an
  222. abort.
  223. - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for
  224. finding this oversight.
  225. - Changed default patterns in lib/Makefile.in to fit non-GNU makes
  226. Thanks to [email protected] for reporting and providing an
  227. account to test on.
  228. - The reference had the wrong label for XML_SetStartNamespaceDecl.
  229. Reported by an anonymous user.
  230. Release 1.95.0 Fri Sep 29 2000
  231. - XML_ParserCreate_MM
  232. Allows you to set a memory management suite to replace the
  233. standard malloc,realloc, and free.
  234. - XML_SetReturnNSTriplet
  235. If you turn this feature on when namespace processing is in
  236. effect, then qualified, prefixed element and attribute names
  237. are returned as "uri|name|prefix" where '|' is whatever
  238. separator character is used in namespace processing.
  239. - Merged in features from perl-expat
  240. o XML_SetElementDeclHandler
  241. o XML_SetAttlistDeclHandler
  242. o XML_SetXmlDeclHandler
  243. o XML_SetEntityDeclHandler
  244. o StartDoctypeDeclHandler takes 3 additional parameters:
  245. sysid, pubid, has_internal_subset
  246. o Many paired handler setters (like XML_SetElementHandler)
  247. now have corresponding individual handler setters
  248. o XML_GetInputContext for getting the input context of
  249. the current parse position.
  250. - Added reference material
  251. - Packaged into a distribution that builds a sharable library