Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/doc/expat/changelog @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 68:5028fdace37b |
---|---|
1 __ __ _ | |
2 ___\ \/ /_ __ __ _| |_ | |
3 / _ \\ /| '_ \ / _` | __| | |
4 | __// \| |_) | (_| | |_ | |
5 \___/_/\_\ .__/ \__,_|\__| | |
6 |_| XML parser | |
7 | |
8 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
9 !! <blink>Expat is UNDERSTAFFED and WITHOUT FUNDING.</blink> !! | |
10 !! ~~~~~~~~~~~~ !! | |
11 !! The following topics need *additional skilled C developers* to progress !! | |
12 !! in a timely manner or at all (loosely ordered by descending priority): !! | |
13 !! !! | |
14 !! - <blink>fixing a complex non-public security issue</blink>, !! | |
15 !! - teaming up on researching and fixing future security reports and !! | |
16 !! ClusterFuzz findings with few-days-max response times in communication !! | |
17 !! in order to (1) have a sound fix ready before the end of a 90 days !! | |
18 !! grace period and (2) in a sustainable manner, !! | |
19 !! - implementing and auto-testing XML 1.0r5 support !! | |
20 !! (needs discussion before pull requests), !! | |
21 !! - smart ideas on fixing the Autotools CMake files generation issue !! | |
22 !! without breaking CI (needs discussion before pull requests), !! | |
23 !! - the Windows binaries topic (needs requirements engineering first), !! | |
24 !! - pushing migration from `int` to `size_t` further !! | |
25 !! including edge-cases test coverage (needs discussion before anything). !! | |
26 !! !! | |
27 !! For details, please reach out via e-mail to sebastian@pipping.org so we !! | |
28 !! can schedule a voice call on the topic, in English or German. !! | |
29 !! !! | |
30 !! THANK YOU! Sebastian Pipping -- Berlin, 2024-03-09 !! | |
31 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
32 | |
33 Release 2.6.4 Wed November 6 2024 | |
34 Security fixes: | |
35 #915 CVE-2024-50602 -- Fix crash within function XML_ResumeParser | |
36 from a NULL pointer dereference by disallowing function | |
37 XML_StopParser to (stop or) suspend an unstarted parser. | |
38 A new error code XML_ERROR_NOT_STARTED was introduced to | |
39 properly communicate this situation. // CWE-476 CWE-754 | |
40 | |
41 Other changes: | |
42 #903 CMake: Add alias target "expat::expat" | |
43 #905 docs: Document use via CMake >=3.18 with FetchContent | |
44 and SOURCE_SUBDIR and its consequences | |
45 #902 tests: Reduce use of global parser instance | |
46 #904 tests: Resolve duplicate handler | |
47 #317 #918 tests: Improve tests on doctype closing (ex CVE-2019-15903) | |
48 #914 Fix signedness of format strings | |
49 #919 #920 Version info bumped from 10:3:9 (libexpat*.so.1.9.3) | |
50 to 11:0:10 (libexpat*.so.1.10.0); see https://verbump.de/ | |
51 for what these numbers do | |
52 | |
53 Infrastructure: | |
54 #907 CI: Upgrade Clang from 18 to 19 | |
55 #913 CI: Drop macos-12 and add macos-15 | |
56 #910 CI: Adapt to breaking changes in GitHub Actions | |
57 #898 Add missing entries to .gitignore | |
58 | |
59 Special thanks to: | |
60 Hanno Böck | |
61 José Eduardo Gutiérrez Conejo | |
62 José Ricardo Cardona Quesada | |
63 | |
64 Release 2.6.3 Wed September 4 2024 | |
65 Security fixes: | |
66 #887 #890 CVE-2024-45490 -- Calling function XML_ParseBuffer with | |
67 len < 0 without noticing and then calling XML_GetBuffer | |
68 will have XML_ParseBuffer fail to recognize the problem | |
69 and XML_GetBuffer corrupt memory. | |
70 With the fix, XML_ParseBuffer now complains with error | |
71 XML_ERROR_INVALID_ARGUMENT just like sibling XML_Parse | |
72 has been doing since Expat 2.2.1, and now documented. | |
73 Impact is denial of service to potentially artitrary code | |
74 execution. | |
75 #888 #891 CVE-2024-45491 -- Internal function dtdCopy can have an | |
76 integer overflow for nDefaultAtts on 32-bit platforms | |
77 (where UINT_MAX equals SIZE_MAX). | |
78 Impact is denial of service to potentially artitrary code | |
79 execution. | |
80 #889 #892 CVE-2024-45492 -- Internal function nextScaffoldPart can | |
81 have an integer overflow for m_groupSize on 32-bit | |
82 platforms (where UINT_MAX equals SIZE_MAX). | |
83 Impact is denial of service to potentially artitrary code | |
84 execution. | |
85 | |
86 Other changes: | |
87 #851 #879 Autotools: Sync CMake templates with CMake 3.28 | |
88 #853 Autotools: Always provide path to find(1) for portability | |
89 #861 Autotools: Ensure that the m4 directory always exists. | |
90 #870 Autotools: Simplify handling of SIZEOF_VOID_P | |
91 #869 Autotools: Support non-GNU sed | |
92 #856 Autotools|CMake: Fix main() to main(void) | |
93 #865 Autotools|CMake: Fix compile tests for HAVE_SYSCALL_GETRANDOM | |
94 #863 Autotools|CMake: Stop requiring dos2unix | |
95 #854 #855 CMake: Fix check for symbols size_t and off_t | |
96 #864 docs|tests: Convert README to Markdown and update | |
97 #741 Windows: Drop support for Visual Studio <=15.0/2017 | |
98 #886 Drop needless XML_DTD guards around is_param access | |
99 #885 Fix typo in a code comment | |
100 #894 #896 Version info bumped from 10:2:9 (libexpat*.so.1.9.2) | |
101 to 10:3:9 (libexpat*.so.1.9.3); see https://verbump.de/ | |
102 for what these numbers do | |
103 | |
104 Infrastructure: | |
105 #880 Readme: Promote the call for help | |
106 #868 CI: Fix various issues | |
107 #849 CI: Allow triggering GitHub Actions workflows manually | |
108 #851 #872 .. | |
109 #873 #879 CI: Adapt to breaking changes in GitHub Actions | |
110 | |
111 Special thanks to: | |
112 Alexander Bluhm | |
113 Berkay Eren Ürün | |
114 Dag-Erling Smørgrav | |
115 Ferenc Géczi | |
116 TaiYou | |
117 | |
118 Release 2.6.2 Wed March 13 2024 | |
119 Security fixes: | |
120 #839 #842 CVE-2024-28757 -- Prevent billion laughs attacks with | |
121 isolated use of external parsers. Please see the commit | |
122 message of commit 1d50b80cf31de87750103656f6eb693746854aa8 | |
123 for details. | |
124 | |
125 Bug fixes: | |
126 #839 #841 Reject direct parameter entity recursion | |
127 and avoid the related undefined behavior | |
128 | |
129 Other changes: | |
130 #847 Autotools: Fix build for DOCBOOK_TO_MAN containing spaces | |
131 #837 Add missing #821 and #824 to 2.6.1 change log | |
132 #838 #843 Version info bumped from 10:1:9 (libexpat*.so.1.9.1) | |
133 to 10:2:9 (libexpat*.so.1.9.2); see https://verbump.de/ | |
134 for what these numbers do | |
135 | |
136 Special thanks to: | |
137 Philippe Antoine | |
138 Tomas Korbar | |
139 and | |
140 Clang UndefinedBehaviorSanitizer | |
141 OSS-Fuzz / ClusterFuzz | |
142 | |
143 Release 2.6.1 Thu February 29 2024 | |
144 Bug fixes: | |
145 #817 Make tests independent of CPU speed, and thus more robust | |
146 #828 #836 Expose billion laughs API with XML_DTD defined and | |
147 XML_GE undefined, regression from 2.6.0 | |
148 | |
149 Other changes: | |
150 #829 Hide test-only code behind new internal macro | |
151 #833 Autotools: Reject expat_config.h.in defining SIZEOF_VOID_P | |
152 #821 #824 Autotools: Fix "make clean" for case: | |
153 ./configure --without-docbook && make clean all | |
154 #819 Address compiler warnings | |
155 #832 #834 Version info bumped from 10:0:9 (libexpat*.so.1.9.0) | |
156 to 10:1:9 (libexpat*.so.1.9.1); see https://verbump.de/ | |
157 for what these numbers do | |
158 | |
159 Infrastructure: | |
160 #818 CI: Adapt to breaking changes in clang-format | |
161 | |
162 Special thanks to: | |
163 David Hall | |
164 Snild Dolkow | |
165 | |
166 Release 2.6.0 Tue February 6 2024 | |
167 Security fixes: | |
168 #789 #814 CVE-2023-52425 -- Fix quadratic runtime issues with big tokens | |
169 that can cause denial of service, in partial where | |
170 dealing with compressed XML input. Applications | |
171 that parsed a document in one go -- a single call to | |
172 functions XML_Parse or XML_ParseBuffer -- were not affected. | |
173 The smaller the chunks/buffers you use for parsing | |
174 previously, the bigger the problem prior to the fix. | |
175 Backporters should be careful to no omit parts of | |
176 pull request #789 and to include earlier pull request #771, | |
177 in order to not break the fix. | |
178 #777 CVE-2023-52426 -- Fix billion laughs attacks for users | |
179 compiling *without* XML_DTD defined (which is not common). | |
180 Users with XML_DTD defined have been protected since | |
181 Expat >=2.4.0 (and that was CVE-2013-0340 back then). | |
182 | |
183 Bug fixes: | |
184 #753 Fix parse-size-dependent "invalid token" error for | |
185 external entities that start with a byte order mark | |
186 #780 Fix NULL pointer dereference in setContext via | |
187 XML_ExternalEntityParserCreate for compilation with | |
188 XML_DTD undefined | |
189 #812 #813 Protect against closing entities out of order | |
190 | |
191 Other changes: | |
192 #723 Improve support for arc4random/arc4random_buf | |
193 #771 #788 Improve buffer growth in XML_GetBuffer and XML_Parse | |
194 #761 #770 xmlwf: Support --help and --version | |
195 #759 #770 xmlwf: Support custom buffer size for XML_GetBuffer and read | |
196 #744 xmlwf: Improve language and URL clickability in help output | |
197 #673 examples: Add new example "element_declarations.c" | |
198 #764 Be stricter about macro XML_CONTEXT_BYTES at build time | |
199 #765 Make inclusion to expat_config.h consistent | |
200 #726 #727 Autotools: configure.ac: Support --disable-maintainer-mode | |
201 #678 #705 .. | |
202 #706 #733 #792 Autotools: Sync CMake templates with CMake 3.26 | |
203 #795 Autotools: Make installation of shipped man page doc/xmlwf.1 | |
204 independent of docbook2man availability | |
205 #815 Autotools|CMake: Add missing -DXML_STATIC to pkg-config file | |
206 section "Cflags.private" in order to fix compilation | |
207 against static libexpat using pkg-config on Windows | |
208 #724 #751 Autotools|CMake: Require a C99 compiler | |
209 (a de-facto requirement already since Expat 2.2.2 of 2017) | |
210 #793 Autotools|CMake: Fix PACKAGE_BUGREPORT variable | |
211 #750 #786 Autotools|CMake: Make test suite require a C++11 compiler | |
212 #749 CMake: Require CMake >=3.5.0 | |
213 #672 CMake: Lowercase off_t and size_t to help a bug in Meson | |
214 #746 CMake: Sort xmlwf sources alphabetically | |
215 #785 CMake|Windows: Fix generation of DLL file version info | |
216 #790 CMake: Build tests/benchmark/benchmark.c as well for | |
217 a build with -DEXPAT_BUILD_TESTS=ON | |
218 #745 #757 docs: Document the importance of isFinal + adjust tests | |
219 accordingly | |
220 #736 docs: Improve use of "NULL" and "null" | |
221 #713 docs: Be specific about version of XML (XML 1.0r4) | |
222 and version of C (C99); (XML 1.0r5 will need a sponsor.) | |
223 #762 docs: reference.html: Promote function XML_ParseBuffer more | |
224 #779 docs: reference.html: Add HTML anchors to XML_* macros | |
225 #760 docs: reference.html: Upgrade to OK.css 1.2.0 | |
226 #763 #739 docs: Fix typos | |
227 #696 docs|CI: Use HTTPS URLs instead of HTTP at various places | |
228 #669 #670 .. | |
229 #692 #703 .. | |
230 #733 #772 Address compiler warnings | |
231 #798 #800 Address clang-tidy warnings | |
232 #775 #776 Version info bumped from 9:10:8 (libexpat*.so.1.8.10) | |
233 to 10:0:9 (libexpat*.so.1.9.0); see https://verbump.de/ | |
234 for what these numbers do | |
235 | |
236 Infrastructure: | |
237 #700 #701 docs: Document security policy in file SECURITY.md | |
238 #766 docs: Improve parse buffer variables in-code documentation | |
239 #674 #738 .. | |
240 #740 #747 .. | |
241 #748 #781 #782 Refactor coverage and conformance tests | |
242 #714 #716 Refactor debug level variables to unsigned long | |
243 #671 Improve handling of empty environment variable value | |
244 in function getDebugLevel (without visible user effect) | |
245 #755 #774 .. | |
246 #758 #783 .. | |
247 #784 #787 tests: Improve test coverage with regard to parse chunk size | |
248 #660 #797 #801 Fuzzing: Improve fuzzing coverage | |
249 #367 #799 Fuzzing|CI: Start running OSS-Fuzz fuzzing regression tests | |
250 #698 #721 CI: Resolve some Travis CI leftovers | |
251 #669 CI: Be robust towards absence of Git tags | |
252 #693 #694 CI: Set permissions to "contents: read" for security | |
253 #709 CI: Pin all GitHub Actions to specific commits for security | |
254 #739 CI: Reject spelling errors using codespell | |
255 #798 CI: Enforce clang-tidy clean code | |
256 #773 #808 .. | |
257 #809 #810 CI: Upgrade Clang from 15 to 18 | |
258 #796 CI: Start using Clang's Control Flow Integrity sanitizer | |
259 #675 #720 #722 CI: Adapt to breaking changes in GitHub Actions Ubuntu images | |
260 #689 CI: Adapt to breaking changes in Clang/LLVM Debian packaging | |
261 #763 CI: Adapt to breaking changes in codespell | |
262 #803 CI: Adapt to breaking changes in Cppcheck | |
263 | |
264 Special thanks to: | |
265 Ivan Galkin | |
266 Joyce Brum | |
267 Philippe Antoine | |
268 Rhodri James | |
269 Snild Dolkow | |
270 spookyahell | |
271 Steven Garske | |
272 and | |
273 Clang AddressSanitizer | |
274 Clang UndefinedBehaviorSanitizer | |
275 codespell | |
276 GCC Farm Project | |
277 OSS-Fuzz | |
278 Sony Mobile | |
279 | |
280 Release 2.5.0 Tue October 25 2022 | |
281 Security fixes: | |
282 #616 #649 #650 CVE-2022-43680 -- Fix heap use-after-free after overeager | |
283 destruction of a shared DTD in function | |
284 XML_ExternalEntityParserCreate in out-of-memory situations. | |
285 Expected impact is denial of service or potentially | |
286 arbitrary code execution. | |
287 | |
288 Bug fixes: | |
289 #612 #645 Fix corruption from undefined entities | |
290 #613 #654 Fix case when parsing was suspended while processing nested | |
291 entities | |
292 #616 #652 #653 Stop leaking opening tag bindings after a closing tag | |
293 mismatch error where a parser is reset through | |
294 XML_ParserReset and then reused to parse | |
295 #656 CMake: Fix generation of pkg-config file | |
296 #658 MinGW|CMake: Fix static library name | |
297 | |
298 Other changes: | |
299 #663 Protect header expat_config.h from multiple inclusion | |
300 #666 examples: Make use of XML_GetBuffer and be more | |
301 consistent across examples | |
302 #648 Address compiler warnings | |
303 #667 #668 Version info bumped from 9:9:8 to 9:10:8; | |
304 see https://verbump.de/ for what these numbers do | |
305 | |
306 Special thanks to: | |
307 Jann Horn | |
308 Mark Brand | |
309 Osyotr | |
310 Rhodri James | |
311 and | |
312 Google Project Zero | |
313 | |
314 Release 2.4.9 Tue September 20 2022 | |
315 Security fixes: | |
316 #629 #640 CVE-2022-40674 -- Heap use-after-free vulnerability in | |
317 function doContent. Expected impact is denial of service | |
318 or potentially arbitrary code execution. | |
319 | |
320 Bug fixes: | |
321 #634 MinGW: Fix mis-compilation for -D__USE_MINGW_ANSI_STDIO=0 | |
322 #614 docs: Fix documentation on effect of switch XML_DTD on | |
323 symbol visibility in doc/reference.html | |
324 | |
325 Other changes: | |
326 #638 MinGW: Make fix-xmltest-log.sh drop more Wine bug output | |
327 #596 #625 Autotools: Sync CMake templates with CMake 3.22 | |
328 #608 CMake: Migrate from use of CMAKE_*_POSTFIX to | |
329 dedicated variables EXPAT_*_POSTFIX to stop affecting | |
330 other projects | |
331 #597 #599 Windows|CMake: Add missing -DXML_STATIC to test runners | |
332 and fuzzers | |
333 #512 #621 Windows|CMake: Render .def file from a template to fix | |
334 linking with -DEXPAT_DTD=OFF and/or -DEXPAT_ATTR_INFO=ON | |
335 #611 #621 MinGW|CMake: Apply MSVC .def file when linking | |
336 #622 #624 MinGW|CMake: Sync library name with GNU Autotools, | |
337 i.e. produce libexpat-1.dll rather than libexpat.dll | |
338 by default. Filename libexpat.dll.a is unaffected. | |
339 #632 MinGW|CMake: Set missing variable CMAKE_RC_COMPILER in | |
340 toolchain file "cmake/mingw-toolchain.cmake" to avoid | |
341 error "windres: Command not found" on e.g. Ubuntu 20.04 | |
342 #597 #627 CMake: Unify inconsistent use of set() and option() in | |
343 context of public build time options to take need for | |
344 set(.. FORCE) in projects using Expat by means of | |
345 add_subdirectory(..) off Expat's users' shoulders | |
346 #626 #641 Stop exporting API symbols when building a static library | |
347 #644 Resolve use of deprecated "fgrep" by "grep -F" | |
348 #620 CMake: Make documentation on variables a bit more consistent | |
349 #636 CMake: Drop leading whitespace from a #cmakedefine line in | |
350 file expat_config.h.cmake | |
351 #594 xmlwf: Fix harmless variable mix-up in function nsattcmp | |
352 #592 #593 #610 Address Cppcheck warnings | |
353 #643 Address Clang 15 compiler warnings | |
354 #642 #644 Version info bumped from 9:8:8 to 9:9:8; | |
355 see https://verbump.de/ for what these numbers do | |
356 | |
357 Infrastructure: | |
358 #597 #598 CI: Windows: Start covering MSVC 2022 | |
359 #619 CI: macOS: Migrate off deprecated macOS 10.15 | |
360 #632 CI: Linux: Make migration off deprecated Ubuntu 18.04 work | |
361 #643 CI: Upgrade Clang from 14 to 15 | |
362 #637 apply-clang-format.sh: Add support for BSD find | |
363 #633 coverage.sh: Exclude MinGW headers | |
364 #635 coverage.sh: Fix name collision for -funsigned-char | |
365 | |
366 Special thanks to: | |
367 David Faure | |
368 Felix Wilhelm | |
369 Frank Bergmann | |
370 Rhodri James | |
371 Rosen Penev | |
372 Thijs Schreijer | |
373 Vincent Torri | |
374 and | |
375 Google Project Zero | |
376 | |
377 Release 2.4.8 Mon March 28 2022 | |
378 Other changes: | |
379 #587 pkg-config: Move "-lm" to section "Libs.private" | |
380 #587 CMake|MSVC: Fix pkg-config section "Libs" | |
381 #55 #582 CMake|macOS: Start using linker arguments | |
382 "-compatibility_version <version>" and | |
383 "-current_version <version>" in a way compatible with | |
384 GNU Libtool | |
385 #590 #591 Version info bumped from 9:7:8 to 9:8:8; | |
386 see https://verbump.de/ for what these numbers do | |
387 | |
388 Infrastructure: | |
389 #589 CI: Upgrade Clang from 13 to 14 | |
390 | |
391 Special thanks to: | |
392 evpobr | |
393 Kai Pastor | |
394 Sam James | |
395 | |
396 Release 2.4.7 Fri March 4 2022 | |
397 Bug fixes: | |
398 #572 #577 Relax fix to CVE-2022-25236 (introduced with release 2.4.5) | |
399 with regard to all valid URI characters (RFC 3986), | |
400 i.e. the following set (excluding whitespace): | |
401 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | |
402 0123456789 % -._~ :/?#[]@ !$&'()*+,;= | |
403 | |
404 Other changes: | |
405 #555 #570 #581 CMake|Windows: Store Expat version in the DLL | |
406 #577 Document consequences of namespace separator choices not just | |
407 in doc/reference.html but also in header <expat.h> | |
408 #577 Document Expat's lack of validation of namespace URIs against | |
409 RFC 3986, and that the XML 1.0r4 specification doesn't | |
410 require Expat to validate namespace URIs, and that Expat | |
411 may do more in that regard in future releases. | |
412 If you find need for strict RFC 3986 URI validation on | |
413 application level today, https://uriparser.github.io/ may | |
414 be of interest. | |
415 #579 Fix documentation of XML_EndDoctypeDeclHandler in <expat.h> | |
416 #575 Document that a call to XML_FreeContentModel can be done at | |
417 a later time from outside the element declaration handler | |
418 #574 Make hardcoded namespace URIs easier to find in code | |
419 #573 Update documentation on use of XML_POOR_ENTOPY on Solaris | |
420 #569 #571 tests: Resolve use of macros NAN and INFINITY for GNU G++ | |
421 4.8.2 on Solaris. | |
422 #578 #580 Version info bumped from 9:6:8 to 9:7:8; | |
423 see https://verbump.de/ for what these numbers do | |
424 | |
425 Special thanks to: | |
426 Jeffrey Walton | |
427 Johnny Jazeix | |
428 Thijs Schreijer | |
429 | |
430 Release 2.4.6 Sun February 20 2022 | |
431 Bug fixes: | |
432 #566 Fix a regression introduced by the fix for CVE-2022-25313 | |
433 in release 2.4.5 that affects applications that (1) | |
434 call function XML_SetElementDeclHandler and (2) are | |
435 parsing XML that contains nested element declarations | |
436 (e.g. "<!ELEMENT junk ((bar|foo|xyz+), zebra*)>"). | |
437 | |
438 Other changes: | |
439 #567 #568 Version info bumped from 9:5:8 to 9:6:8; | |
440 see https://verbump.de/ for what these numbers do | |
441 | |
442 Special thanks to: | |
443 Matt Sergeant | |
444 Samanta Navarro | |
445 Sergei Trofimovich | |
446 and | |
447 NixOS | |
448 Perl XML::Parser | |
449 | |
450 Release 2.4.5 Fri February 18 2022 | |
451 Security fixes: | |
452 #562 CVE-2022-25235 -- Passing malformed 2- and 3-byte UTF-8 | |
453 sequences (e.g. from start tag names) to the XML | |
454 processing application on top of Expat can cause | |
455 arbitrary damage (e.g. code execution) depending | |
456 on how invalid UTF-8 is handled inside the XML | |
457 processor; validation was not their job but Expat's. | |
458 Exploits with code execution are known to exist. | |
459 #561 CVE-2022-25236 -- Passing (one or more) namespace separator | |
460 characters in "xmlns[:prefix]" attribute values | |
461 made Expat send malformed tag names to the XML | |
462 processor on top of Expat which can cause | |
463 arbitrary damage (e.g. code execution) depending | |
464 on such unexpectable cases are handled inside the XML | |
465 processor; validation was not their job but Expat's. | |
466 Exploits with code execution are known to exist. | |
467 #558 CVE-2022-25313 -- Fix stack exhaustion in doctype parsing | |
468 that could be triggered by e.g. a 2 megabytes | |
469 file with a large number of opening braces. | |
470 Expected impact is denial of service or potentially | |
471 arbitrary code execution. | |
472 #560 CVE-2022-25314 -- Fix integer overflow in function copyString; | |
473 only affects the encoding name parameter at parser creation | |
474 time which is often hardcoded (rather than user input), | |
475 takes a value in the gigabytes to trigger, and a 64-bit | |
476 machine. Expected impact is denial of service. | |
477 #559 CVE-2022-25315 -- Fix integer overflow in function storeRawNames; | |
478 needs input in the gigabytes and a 64-bit machine. | |
479 Expected impact is denial of service or potentially | |
480 arbitrary code execution. | |
481 | |
482 Other changes: | |
483 #557 #564 Version info bumped from 9:4:8 to 9:5:8; | |
484 see https://verbump.de/ for what these numbers do | |
485 | |
486 Special thanks to: | |
487 Ivan Fratric | |
488 Samanta Navarro | |
489 and | |
490 Google Project Zero | |
491 JetBrains | |
492 | |
493 Release 2.4.4 Sun January 30 2022 | |
494 Security fixes: | |
495 #550 CVE-2022-23852 -- Fix signed integer overflow | |
496 (undefined behavior) in function XML_GetBuffer | |
497 (that is also called by function XML_Parse internally) | |
498 for when XML_CONTEXT_BYTES is defined to >0 (which is both | |
499 common and default). | |
500 Impact is denial of service or more. | |
501 #551 CVE-2022-23990 -- Fix unsigned integer overflow in function | |
502 doProlog triggered by large content in element type | |
503 declarations when there is an element declaration handler | |
504 present (from a prior call to XML_SetElementDeclHandler). | |
505 Impact is denial of service or more. | |
506 | |
507 Bug fixes: | |
508 #544 #545 xmlwf: Fix a memory leak on output file opening error | |
509 | |
510 Other changes: | |
511 #546 Autotools: Fix broken CMake support under Cygwin | |
512 #554 Windows: Add missing files to the installer to fix | |
513 compilation with CMake from installed sources | |
514 #552 #554 Version info bumped from 9:3:8 to 9:4:8; | |
515 see https://verbump.de/ for what these numbers do | |
516 | |
517 Special thanks to: | |
518 Carlo Bramini | |
519 hwt0415 | |
520 Roland Illig | |
521 Samanta Navarro | |
522 and | |
523 Clang LeakSan and the Clang team | |
524 | |
525 Release 2.4.3 Sun January 16 2022 | |
526 Security fixes: | |
527 #531 #534 CVE-2021-45960 -- Fix issues with left shifts by >=29 places | |
528 resulting in | |
529 a) realloc acting as free | |
530 b) realloc allocating too few bytes | |
531 c) undefined behavior | |
532 depending on architecture and precise value | |
533 for XML documents with >=2^27+1 prefixed attributes | |
534 on a single XML tag a la | |
535 "<r xmlns:a='[..]' a:a123='[..]' [..] />" | |
536 where XML_ParserCreateNS is used to create the parser | |
537 (which needs argument "-n" when running xmlwf). | |
538 Impact is denial of service, or more. | |
539 #532 #538 CVE-2021-46143 (ZDI-CAN-16157) -- Fix integer overflow | |
540 on variable m_groupSize in function doProlog leading | |
541 to realloc acting as free. | |
542 Impact is denial of service or more. | |
543 #539 CVE-2022-22822 to CVE-2022-22827 -- Prevent integer overflows | |
544 near memory allocation at multiple places. Mitre assigned | |
545 a dedicated CVE for each involved internal C function: | |
546 - CVE-2022-22822 for function addBinding | |
547 - CVE-2022-22823 for function build_model | |
548 - CVE-2022-22824 for function defineAttribute | |
549 - CVE-2022-22825 for function lookup | |
550 - CVE-2022-22826 for function nextScaffoldPart | |
551 - CVE-2022-22827 for function storeAtts | |
552 Impact is denial of service or more. | |
553 | |
554 Other changes: | |
555 #535 CMake: Make call to file(GENERATE [..]) work for CMake <3.19 | |
556 #541 Autotools|CMake: MinGW: Make run.sh(.in) work for Cygwin | |
557 and MSYS2 by not going through Wine on these platforms | |
558 #527 #528 Address compiler warnings | |
559 #533 #543 Version info bumped from 9:2:8 to 9:3:8; | |
560 see https://verbump.de/ for what these numbers do | |
561 | |
562 Infrastructure: | |
563 #536 CI: Check for realistic minimum CMake version | |
564 #529 #539 CI: Cover compilation with -m32 | |
565 #529 CI: Store coverage reports as artifacts for download | |
566 #528 CI: Upgrade Clang from 11 to 13 | |
567 | |
568 Special thanks to: | |
569 An anonymous whitehat | |
570 Christopher Degawa | |
571 J. Peter Mugaas | |
572 Tyson Smith | |
573 and | |
574 GCC Farm Project | |
575 Trend Micro Zero Day Initiative | |
576 | |
577 Release 2.4.2 Sun December 19 2021 | |
578 Other changes: | |
579 #509 #510 Link againgst libm for function "isnan" | |
580 #513 #514 Include expat_config.h as early as possible | |
581 #498 Autotools: Include files with release archives: | |
582 - buildconf.sh | |
583 - fuzz/*.c | |
584 #507 #519 Autotools: Sync CMake templates with CMake 3.20 | |
585 #495 #524 CMake: MinGW: Fix pkg-config section "Libs" for | |
586 - non-release build types (e.g. -DCMAKE_BUILD_TYPE=Debug) | |
587 - multi-config CMake generators (e.g. Ninja Multi-Config) | |
588 #502 #503 docs: Document that function XML_GetBuffer may return NULL | |
589 when asking for a buffer of 0 (zero) bytes size | |
590 #522 #523 docs: Fix return value docs for both | |
591 XML_SetBillionLaughsAttackProtection* functions | |
592 #525 #526 Version info bumped from 9:1:8 to 9:2:8; | |
593 see https://verbump.de/ for what these numbers do | |
594 | |
595 Special thanks to: | |
596 Donghee Na | |
597 Joergen Ibsen | |
598 Kai Pastor | |
599 | |
600 Release 2.4.1 Sun May 23 2021 | |
601 Bug fixes: | |
602 #488 #490 Autotools: Fix installed header expat_config.h for multilib | |
603 systems; regression introduced in 2.4.0 by pull request #486 | |
604 | |
605 Other changes: | |
606 #491 #492 Version info bumped from 9:0:8 to 9:1:8; | |
607 see https://verbump.de/ for what these numbers do | |
608 | |
609 Special thanks to: | |
610 Gentoo's QA check "multilib_check_headers" | |
611 | |
612 Release 2.4.0 Sun May 23 2021 | |
613 Security fixes: | |
614 #34 #466 #484 CVE-2013-0340/CWE-776 -- Protect against billion laughs attacks | |
615 (denial-of-service; flavors targeting CPU time or RAM or both, | |
616 leveraging general entities or parameter entities or both) | |
617 by tracking and limiting the input amplification factor | |
618 (<amplification> := (<direct> + <indirect>) / <direct>). | |
619 By conservative default, amplification up to a factor of 100.0 | |
620 is tolerated and rejection only starts after 8 MiB of output bytes | |
621 (=<direct> + <indirect>) have been processed. | |
622 The fix adds the following to the API: | |
623 - A new error code XML_ERROR_AMPLIFICATION_LIMIT_BREACH to | |
624 signals this specific condition. | |
625 - Two new API functions .. | |
626 - XML_SetBillionLaughsAttackProtectionMaximumAmplification and | |
627 - XML_SetBillionLaughsAttackProtectionActivationThreshold | |
628 .. to further tighten billion laughs protection parameters | |
629 when desired. Please see file "doc/reference.html" for details. | |
630 If you ever need to increase the defaults for non-attack XML | |
631 payload, please file a bug report with libexpat. | |
632 - Two new XML_FEATURE_* constants .. | |
633 - that can be queried using the XML_GetFeatureList function, and | |
634 - that are shown in "xmlwf -v" output. | |
635 - Two new environment variable switches .. | |
636 - EXPAT_ACCOUNTING_DEBUG=(0|1|2|3) and | |
637 - EXPAT_ENTITY_DEBUG=(0|1) | |
638 .. for runtime debugging of accounting and entity processing. | |
639 Specific behavior of these values may change in the future. | |
640 - Two new command line arguments "-a FACTOR" and "-b BYTES" | |
641 for xmlwf to further tighten billion laughs protection | |
642 parameters when desired. | |
643 If you ever need to increase the defaults for non-attack XML | |
644 payload, please file a bug report with libexpat. | |
645 | |
646 Bug fixes: | |
647 #332 #470 For (non-default) compilation with -DEXPAT_MIN_SIZE=ON (CMake) | |
648 or CPPFLAGS=-DXML_MIN_SIZE (GNU Autotools): Fix segfault | |
649 for UTF-16 payloads containing CDATA sections. | |
650 #485 #486 Autotools: Fix generated CMake files for non-64bit and | |
651 non-Linux platforms (e.g. macOS and MinGW in particular) | |
652 that were introduced with release 2.3.0 | |
653 | |
654 Other changes: | |
655 #468 #469 xmlwf: Improve help output and the xmlwf man page | |
656 #463 xmlwf: Improve maintainability through some refactoring | |
657 #477 xmlwf: Fix man page DocBook validity | |
658 #456 Autotools: Sync CMake templates with CMake 3.18 | |
659 #458 #459 CMake: Support absolute paths for both CMAKE_INSTALL_LIBDIR | |
660 and CMAKE_INSTALL_INCLUDEDIR | |
661 #471 #481 CMake: Add support for standard variable BUILD_SHARED_LIBS | |
662 #457 Unexpose symbol _INTERNAL_trim_to_complete_utf8_characters | |
663 #467 Resolve macro HAVE_EXPAT_CONFIG_H | |
664 #472 Delete unused legacy helper file "conftools/PrintPath" | |
665 #473 #483 Improve attribution | |
666 #464 #465 #477 doc/reference.html: Fix XHTML validity | |
667 #475 #478 doc/reference.html: Replace the 90s look by OK.css | |
668 #479 Version info bumped from 8:0:7 to 9:0:8 | |
669 due to addition of new symbols and error codes; | |
670 see https://verbump.de/ for what these numbers do | |
671 | |
672 Infrastructure: | |
673 #456 CI: Enable periodic runs | |
674 #457 CI: Start covering the list of exported symbols | |
675 #474 CI: Isolate coverage task | |
676 #476 #482 CI: Adapt to breaking changes in image "ubuntu-18.04" | |
677 #477 CI: Cover well-formedness and DocBook/XHTML validity | |
678 of doc/reference.html and doc/xmlwf.xml | |
679 | |
680 Special thanks to: | |
681 Dimitry Andric | |
682 Eero Helenius | |
683 Nick Wellnhofer | |
684 Rhodri James | |
685 Tomas Korbar | |
686 Yury Gribov | |
687 and | |
688 Clang LeakSan | |
689 JetBrains | |
690 OSS-Fuzz | |
691 | |
692 Release 2.3.0 Thu March 25 2021 | |
693 Bug fixes: | |
694 #438 When calling XML_ParseBuffer without a prior successful call to | |
695 XML_GetBuffer as a user, no longer trigger undefined behavior | |
696 (by adding an integer to a NULL pointer) but rather return | |
697 XML_STATUS_ERROR and set the error code to (new) code | |
698 XML_ERROR_NO_BUFFER. Found by UBSan (UndefinedBehaviorSanitizer) | |
699 of Clang 11 (but not Clang 9). | |
700 #444 xmlwf: Exit status 2 was used for both: | |
701 - malformed input files (documented) and | |
702 - invalid command-line arguments (undocumented). | |
703 The case of invalid command-line arguments now | |
704 has its own exit status 4, resolving the ambiguity. | |
705 | |
706 Other changes: | |
707 #439 xmlwf: Add argument -k to allow continuing after | |
708 non-fatal errors | |
709 #439 xmlwf: Add section about exit status to the -h help output | |
710 #422 #426 #447 Windows: Drop support for Visual Studio <=14.0/2015 | |
711 #434 Windows: CMake: Detect unsupported Visual Studio at | |
712 configure time (rather than at compile time) | |
713 #382 #428 testrunner: Make verbose mode (argument "-v") report | |
714 about passed tests, and make default mode report about | |
715 failures, as well. | |
716 #442 CMake: Call "enable_language(CXX)" prior to tinkering | |
717 with CMAKE_CXX_* variables | |
718 #448 Document use of libexpat from a CMake-based project | |
719 #451 Autotools: Install CMake files as generated by CMake 3.19.6 | |
720 so that users with "find_package(expat [..] CONFIG [..])" | |
721 are served on distributions that are *not* using the CMake | |
722 build system inside for libexpat packaging | |
723 #436 #437 Autotools: Drop obsolescent macro AC_HEADER_STDC | |
724 #450 #452 Autotools: Resolve use of obsolete macro AC_CONFIG_HEADER | |
725 #441 Address compiler warnings | |
726 #443 Version info bumped from 7:12:6 to 8:0:7 | |
727 due to addition of error code XML_ERROR_NO_BUFFER | |
728 (see https://verbump.de/ for what these numbers do) | |
729 | |
730 Infrastructure: | |
731 #435 #446 Replace Travis CI by GitHub Actions | |
732 | |
733 Special thanks to: | |
734 Alexander Richardson | |
735 Oleksandr Popovych | |
736 Thomas Beutlich | |
737 Tim Bray | |
738 and | |
739 Clang LeakSan, Clang 11 UBSan and the Clang team | |
740 | |
741 Release 2.2.10 Sat October 3 2020 | |
742 Bug fixes: | |
743 #390 #395 #398 Fix undefined behavior during parsing caused by | |
744 pointer arithmetic with NULL pointers | |
745 #404 #405 Fix reading uninitialized variable during parsing | |
746 #406 xmlwf: Add missing check for malloc NULL return | |
747 | |
748 Other changes: | |
749 #396 Windows: Drop support for Visual Studio <=8.0/2005 | |
750 #409 Windows: Add missing file "Changes" to the installer | |
751 to fix compilation with CMake from installed sources | |
752 #403 xmlwf: Document exit codes in xmlwf manpage and | |
753 exit with code 3 (rather than code 1) for output errors | |
754 when used with "-d DIRECTORY" | |
755 #356 #359 MinGW: Provide declaration of rand_s for mingwrt <5.3.0 | |
756 #383 #392 Autotools: Use -Werror while configure tests the compiler | |
757 for supported compile flags to avoid false positives | |
758 #383 #393 #394 Autotools: Improve handling of user (C|CPP|CXX|LD)FLAGS, | |
759 e.g. ensure that they have the last word over flags added | |
760 while running ./configure | |
761 #360 CMake: Create libexpatw.{dll,so} and expatw.pc (with emphasis | |
762 on suffix "w") with -DEXPAT_CHAR_TYPE=(ushort|wchar_t) | |
763 #360 CMake: Detect and deny unsupported build combinations | |
764 involving -DEXPAT_CHAR_TYPE=(ushort|wchar_t) | |
765 #360 CMake: Install pre-compiled shipped xmlwf.1 manpage in case | |
766 of -DEXPAT_BUILD_DOCS=OFF | |
767 #375 #380 #419 CMake: Fix use of Expat by means of add_subdirectory | |
768 #407 #408 CMake: Keep expat target name constant at "expat" | |
769 (i.e. refrain from using the target name to control | |
770 build artifact filenames) | |
771 #385 CMake: Fix compilation with -DEXPAT_SHARED_LIBS=OFF for | |
772 Windows | |
773 CMake: Expose man page compilation as target "xmlwf-manpage" | |
774 #413 #414 CMake: Introduce option EXPAT_BUILD_PKGCONFIG | |
775 to control generation of pkg-config file "expat.pc" | |
776 #424 CMake: Add minimalistic support for building binary packages | |
777 with CMake target "package"; based on CPack | |
778 #366 CMake: Add option -DEXPAT_OSSFUZZ_BUILD=(ON|OFF) with | |
779 default OFF to build fuzzer code against OSS-Fuzz and | |
780 related environment variable LIB_FUZZING_ENGINE | |
781 #354 Fix testsuite for -DEXPAT_DTD=OFF and -DEXPAT_NS=OFF, each | |
782 #354 #355 .. | |
783 #356 #412 Address compiler warnings | |
784 #368 #369 Address pngcheck warnings with doc/*.png images | |
785 #425 Version info bumped from 7:11:6 to 7:12:6 | |
786 | |
787 Special thanks to: | |
788 asavah | |
789 Ben Wagner | |
790 Bhargava Shastry | |
791 Frank Landgraf | |
792 Jeffrey Walton | |
793 Joe Orton | |
794 Kleber Tarcísio | |
795 Ma Lin | |
796 Maciej Sroczyński | |
797 Mohammed Khajapasha | |
798 Vadim Zeitlin | |
799 and | |
800 Cppcheck 2.0 and the Cppcheck team | |
801 | |
802 Release 2.2.9 Wed September 25 2019 | |
803 Other changes: | |
804 examples: Drop executable bits from elements.c | |
805 #349 Windows: Change the name of the Windows DLLs from expat*.dll | |
806 to libexpat*.dll once more (regression from 2.2.8, first | |
807 fixed in 1.95.3, issue #61 on SourceForge today, | |
808 was issue #432456 back then); needs a fix due | |
809 case-insensitive file systems on Windows and the fact that | |
810 Perl's XML::Parser::Expat compiles into Expat.dll. | |
811 #347 Windows: Only define _CRT_RAND_S if not defined | |
812 Version info bumped from 7:10:6 to 7:11:6 | |
813 | |
814 Special thanks to: | |
815 Ben Wagner | |
816 | |
817 Release 2.2.8 Fri September 13 2019 | |
818 Security fixes: | |
819 #317 #318 CVE-2019-15903 -- Fix heap overflow triggered by | |
820 XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber), | |
821 and deny internal entities closing the doctype; | |
822 fixed in commit c20b758c332d9a13afbbb276d30db1d183a85d43 | |
823 | |
824 Bug fixes: | |
825 #240 Fix cases where XML_StopParser did not have any effect | |
826 when called from inside of an end element handler | |
827 #341 xmlwf: Fix exit code for operation without "-d DIRECTORY"; | |
828 previously, only "-d DIRECTORY" would give you a proper | |
829 exit code: | |
830 # xmlwf -d . <<<'<not well-formed>' 2>/dev/null ; echo $? | |
831 2 | |
832 # xmlwf <<<'<not well-formed>' 2>/dev/null ; echo $? | |
833 0 | |
834 Now both cases return exit code 2. | |
835 | |
836 Other changes: | |
837 #299 #302 Windows: Replace LoadLibrary hack to access | |
838 unofficial API function SystemFunction036 (RtlGenRandom) | |
839 by using official API function rand_s (needs WinXP+) | |
840 #325 Windows: Drop support for Visual Studio <=7.1/2003 | |
841 and document supported compilers in README.md | |
842 #286 Windows: Remove COM code from xmlwf; in case it turns | |
843 out needed later, there will be a dedicated repository | |
844 below https://github.com/libexpat/ for that code | |
845 #322 Windows: Remove explicit MSVC solution and project files. | |
846 You can generate Visual Studio solution files through | |
847 CMake, e.g.: cmake -G"Visual Studio 15 2017" . | |
848 #338 xmlwf: Make "xmlwf -h" help output more friendly | |
849 #339 examples: Improve elements.c | |
850 #244 #264 Autotools: Add argument --enable-xml-attr-info | |
851 #239 #301 Autotools: Add arguments | |
852 --with-getrandom | |
853 --without-getrandom | |
854 --with-sys-getrandom | |
855 --without-sys-getrandom | |
856 #312 #343 Autotools: Fix linking issues with "./configure LD=clang" | |
857 Autotools: Fix "make run-xmltest" for out-of-source builds | |
858 #329 #336 CMake: Pull all options from Expat <=2.2.7 into namespace | |
859 prefix EXPAT_ with the exception of DOCBOOK_TO_MAN: | |
860 - BUILD_doc -> EXPAT_BUILD_DOCS (plural) | |
861 - BUILD_examples -> EXPAT_BUILD_EXAMPLES | |
862 - BUILD_shared -> EXPAT_SHARED_LIBS | |
863 - BUILD_tests -> EXPAT_BUILD_TESTS | |
864 - BUILD_tools -> EXPAT_BUILD_TOOLS | |
865 - DOCBOOK_TO_MAN -> DOCBOOK_TO_MAN (unchanged) | |
866 - INSTALL -> EXPAT_ENABLE_INSTALL | |
867 - MSVC_USE_STATIC_CRT -> EXPAT_MSVC_STATIC_CRT | |
868 - USE_libbsd -> EXPAT_WITH_LIBBSD | |
869 - WARNINGS_AS_ERRORS -> EXPAT_WARNINGS_AS_ERRORS | |
870 - XML_CONTEXT_BYTES -> EXPAT_CONTEXT_BYTES | |
871 - XML_DEV_URANDOM -> EXPAT_DEV_URANDOM | |
872 - XML_DTD -> EXPAT_DTD | |
873 - XML_NS -> EXPAT_NS | |
874 - XML_UNICODE -> EXPAT_CHAR_TYPE=ushort (!) | |
875 - XML_UNICODE_WCHAR_T -> EXPAT_CHAR_TYPE=wchar_t (!) | |
876 #244 #264 CMake: Add argument -DEXPAT_ATTR_INFO=(ON|OFF), | |
877 default OFF | |
878 #326 CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF), | |
879 default OFF | |
880 #328 CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF), | |
881 default OFF | |
882 #239 #277 CMake: Add arguments | |
883 -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO | |
884 -DEXPAT_WITH_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO | |
885 #326 CMake: Install expat_config.h to include directory | |
886 #326 CMake: Generate and install configuration files for | |
887 future find_package(expat [..] CONFIG [..]) | |
888 CMake: Now produces a summary of applied configuration | |
889 CMake: Require C++ compiler only when tests are enabled | |
890 #330 CMake: Fix compilation for 16bit character types, | |
891 i.e. ex -DXML_UNICODE=ON (and ex -DXML_UNICODE_WCHAR_T=ON) | |
892 #265 CMake: Fix linking with MinGW | |
893 #330 CMake: Add full support for MinGW; to enable, use | |
894 -DCMAKE_TOOLCHAIN_FILE=[expat]/cmake/mingw-toolchain.cmake | |
895 #330 CMake: Port "make run-xmltest" from GNU Autotools to CMake | |
896 #316 CMake: Windows: Make binary postfix match MSVC | |
897 Old: expat[d].lib | |
898 New: expat[w][d][MD|MT].lib | |
899 CMake: Migrate files from Windows to Unix line endings | |
900 #308 CMake: Integrate OSS-Fuzz fuzzers, option | |
901 -DEXPAT_BUILD_FUZZERS=(ON|OFF), default OFF | |
902 #14 Drop an OpenVMS support leftover | |
903 #235 #268 .. | |
904 #270 #310 .. | |
905 #313 #331 #333 Address compiler warnings | |
906 #282 #283 .. | |
907 #284 #285 Address cppcheck warnings | |
908 #294 #295 Address Clang Static Analyzer warnings | |
909 #24 #293 Mass-apply clang-format 9 (and ensure conformance during CI) | |
910 Version info bumped from 7:9:6 to 7:10:6 | |
911 | |
912 Special thanks to: | |
913 David Loffredo | |
914 Joonun Jang | |
915 Kishore Kunche | |
916 Marco Maggi | |
917 Mitch Phillips | |
918 Mohammed Khajapasha | |
919 Rolf Ade | |
920 xantares | |
921 Zhongyuan Zhou | |
922 | |
923 Release 2.2.7 Wed June 19 2019 | |
924 Security fixes: | |
925 #186 #262 CVE-2018-20843 -- Fix extraction of namespace prefixes from | |
926 XML names; XML names with multiple colons could end up in | |
927 the wrong namespace, and take a high amount of RAM and CPU | |
928 resources while processing, opening the door to | |
929 use for denial-of-service attacks | |
930 | |
931 Other changes: | |
932 #195 #197 Autotools/CMake: Utilize -fvisibility=hidden to stop | |
933 exporting non-API symbols | |
934 #227 Autotools: Add --without-examples and --without-tests | |
935 #228 Autotools: Modernize configure.ac | |
936 #245 #246 Autotools: Fix check for -fvisibility=hidden for Clang | |
937 #247 #248 Autotools: Fix compilation for lack of docbook2x-man | |
938 #236 #258 Autotools: Produce .tar.{gz,lz,xz} release archives | |
939 #212 CMake: Make libdir of pkgconfig expat.pc support multilib | |
940 #158 #263 CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR | |
941 #219 Remove fallback to bcopy, assume that memmove(3) exists | |
942 #257 Use portable "/usr/bin/env bash" shebang (e.g. for OpenBSD) | |
943 #243 Windows: Fix syntax of .def module definition files | |
944 Version info bumped from 7:8:6 to 7:9:6 | |
945 | |
946 Special thanks to: | |
947 Benjamin Peterson | |
948 Caolán McNamara | |
949 Hanno Böck | |
950 KangLin | |
951 Kishore Kunche | |
952 Marco Maggi | |
953 Rhodri James | |
954 Sebastian Dröge | |
955 userwithuid | |
956 Yury Gribov | |
957 | |
958 Release 2.2.6 Sun August 12 2018 | |
959 Bug fixes: | |
960 #170 #206 Avoid doing arithmetic with NULL pointers in XML_GetBuffer | |
961 #204 #205 Fix 2.2.5 regression with suspend-resume while parsing | |
962 a document like '<root/>' | |
963 | |
964 Other changes: | |
965 #165 #168 Autotools: Fix docbook-related configure syntax error | |
966 #166 Autotools: Avoid grep option `-q` for Solaris | |
967 #167 Autotools: Support | |
968 ./configure DOCBOOK_TO_MAN="xmlto man --skip-validation" | |
969 #159 #167 Autotools: Support DOCBOOK_TO_MAN command which produces | |
970 xmlwf.1 rather than XMLWF.1; also covers case insensitive | |
971 file systems | |
972 #181 Autotools: Drop -rpath option passed to libtool | |
973 #188 Autotools: Detect and deny SGML docbook2man as ours is XML | |
974 #188 Autotools/CMake: Support command db2x_docbook2man as well | |
975 #174 CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF | |
976 #184 #185 CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF | |
977 #207 #208 CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T, | |
978 both defaulting to OFF | |
979 #175 CMake: Prefer check_symbol_exists over check_function_exists | |
980 #176 CMake: Create the same pkg-config file as with GNU Autotools | |
981 #178 #179 CMake: Use GNUInstallDirs module to set proper defaults for | |
982 install directories | |
983 #208 CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM | |
984 #180 Windows: Fix compilation of test suite for Visual Studio 2008 | |
985 #131 #173 #202 Address compiler warnings | |
986 #187 #190 #200 Fix miscellaneous typos | |
987 Version info bumped from 7:7:6 to 7:8:6 | |
988 | |
989 Special thanks to: | |
990 Anton Maklakov | |
991 Benjamin Peterson | |
992 Brad King | |
993 Franek Korta | |
994 Frank Rast | |
995 Joe Orton | |
996 luzpaz | |
997 Pedro Vicente | |
998 Rainer Jung | |
999 Rhodri James | |
1000 Rolf Ade | |
1001 Rolf Eike Beer | |
1002 Thomas Beutlich | |
1003 Tomasz Kłoczko | |
1004 | |
1005 Release 2.2.5 Tue October 31 2017 | |
1006 Bug fixes: | |
1007 #8 If the parser runs out of memory, make sure its internal | |
1008 state reflects the memory it actually has, not the memory | |
1009 it wanted to have. | |
1010 #11 The default handler wasn't being called when it should for | |
1011 a SYSTEM or PUBLIC doctype if an entity declaration handler | |
1012 was registered. | |
1013 #137 #138 Fix a case of mistakenly reported parsing success where | |
1014 XML_StopParser was called from an element handler | |
1015 #162 Function XML_ErrorString was returning NULL rather than | |
1016 a message for code XML_ERROR_INVALID_ARGUMENT | |
1017 introduced with release 2.2.1 | |
1018 | |
1019 Other changes: | |
1020 #106 xmlwf: Add argument -N adding notation declarations | |
1021 #75 #106 Test suite: Resolve expected failure cases where xmlwf | |
1022 output was incomplete | |
1023 #127 Windows: Fix test suite compilation | |
1024 #126 #127 Windows: Fix compilation for Visual Studio 2012 | |
1025 Windows: Upgrade shipped project files to Visual Studio 2017 | |
1026 #33 #132 tests: Mass-fix compilation for XML_UNICODE_WCHAR_T | |
1027 #129 examples: Fix compilation for XML_UNICODE_WCHAR_T | |
1028 #130 benchmark: Fix compilation for XML_UNICODE_WCHAR_T | |
1029 #144 xmlwf: Fix compilation for XML_UNICODE_WCHAR_T; still needs | |
1030 Windows or MinGW for 2-byte wchar_t | |
1031 #9 Address two Clang Static Analyzer false positives | |
1032 #59 Resolve troublesome macros hiding parser struct membership | |
1033 and dereferencing that pointer | |
1034 #6 Resolve superfluous internal malloc/realloc switch | |
1035 #153 #155 Improve docbook2x-man detection | |
1036 #160 Undefine NDEBUG in the test suite (rather than rejecting it) | |
1037 #161 Address compiler warnings | |
1038 Version info bumped from 7:6:6 to 7:7:6 | |
1039 | |
1040 Special thanks to: | |
1041 Benbuck Nason | |
1042 Hans Wennborg | |
1043 José Gutiérrez de la Concha | |
1044 Pedro Monreal Gonzalez | |
1045 Rhodri James | |
1046 Rolf Ade | |
1047 Stephen Groat | |
1048 and | |
1049 Core Infrastructure Initiative | |
1050 | |
1051 Release 2.2.4 Sat August 19 2017 | |
1052 Bug fixes: | |
1053 #115 Fix copying of partial characters for UTF-8 input | |
1054 | |
1055 Other changes: | |
1056 #109 Fix "make check" for non-x86 architectures that default | |
1057 to unsigned type char (-128..127 rather than 0..255) | |
1058 #109 coverage.sh: Cover -funsigned-char | |
1059 Autotools: Introduce --without-xmlwf argument | |
1060 #65 Autotools: Replace handwritten Makefile with GNU Automake | |
1061 #43 CMake: Auto-detect high quality entropy extractors, add new | |
1062 option USE_libbsd=ON to use arc4random_buf of libbsd | |
1063 #74 CMake: Add -fno-strict-aliasing only where supported | |
1064 #114 CMake: Always honor manually set BUILD_* options | |
1065 #114 CMake: Compile man page if docbook2x-man is available, only | |
1066 #117 Include file tests/xmltest.log.expected in source tarball | |
1067 (required for "make run-xmltest") | |
1068 #117 Include (existing) Visual Studio 2013 files in source tarball | |
1069 Improve test suite error output | |
1070 #111 Fix some typos in documentation | |
1071 Version info bumped from 7:5:6 to 7:6:6 | |
1072 | |
1073 Special thanks to: | |
1074 Jakub Wilk | |
1075 Joe Orton | |
1076 Lin Tian | |
1077 Rolf Eike Beer | |
1078 | |
1079 Release 2.2.3 Wed August 2 2017 | |
1080 Security fixes: | |
1081 #82 CVE-2017-11742 -- Windows: Fix DLL hijacking vulnerability | |
1082 using Steve Holme's LoadLibrary wrapper for/of cURL | |
1083 | |
1084 Bug fixes: | |
1085 #85 Fix a dangling pointer issue related to realloc | |
1086 | |
1087 Other changes: | |
1088 Increase code coverage | |
1089 #91 Linux: Allow getrandom to fail if nonblocking pool has not | |
1090 yet been initialized and read /dev/urandom then, instead. | |
1091 This is in line with what recent Python does. | |
1092 #81 Pre-10.7/Lion macOS: Support entropy from arc4random | |
1093 #86 Check that a UTF-16 encoding in an XML declaration has the | |
1094 right endianness | |
1095 #4 #5 #7 Recover correctly when some reallocations fail | |
1096 Repair "./configure && make" for systems without any | |
1097 provider of high quality entropy | |
1098 and try reading /dev/urandom on those | |
1099 Ensure that user-defined character encodings have converter | |
1100 functions when they are needed | |
1101 Fix mis-leading description of argument -c in xmlwf.1 | |
1102 Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__) | |
1103 for CloudABI | |
1104 #100 Fix use of SIPHASH_MAIN in siphash.h | |
1105 #23 Test suite: Fix memory leaks | |
1106 Version info bumped from 7:4:6 to 7:5:6 | |
1107 | |
1108 Special thanks to: | |
1109 Chanho Park | |
1110 Joe Orton | |
1111 Pascal Cuoq | |
1112 Rhodri James | |
1113 Simon McVittie | |
1114 Vadim Zeitlin | |
1115 Viktor Szakats | |
1116 and | |
1117 Core Infrastructure Initiative | |
1118 | |
1119 Release 2.2.2 Wed July 12 2017 | |
1120 Security fixes: | |
1121 #43 Protect against compilation without any source of high | |
1122 quality entropy enabled, e.g. with CMake build system; | |
1123 commit ff0207e6076e9828e536b8d9cd45c9c92069b895 | |
1124 #60 Windows with _UNICODE: | |
1125 Unintended use of LoadLibraryW with a non-wide string | |
1126 resulted in failure to load advapi32.dll and degradation | |
1127 in quality of used entropy when compiled with _UNICODE for | |
1128 Windows; you can launch existing binaries with | |
1129 EXPAT_ENTROPY_DEBUG=1 in the environment to inspect the | |
1130 quality of entropy used during runtime; commits | |
1131 * 95b95032f907ef1cd17ee7a9a1768010a825d61d | |
1132 * 73a5a2e9c081f49f2d775cf7ced864158b68dc80 | |
1133 [MOX-006] Fix non-NULL parser parameter validation in XML_Parse; | |
1134 resulted in NULL dereference, previously; | |
1135 commit ac256dafdffc9622ab0dc2c62fcecb0dfcfa71fe | |
1136 | |
1137 Bug fixes: | |
1138 #69 Fix improper use of unsigned long long integer literals | |
1139 | |
1140 Other changes: | |
1141 #73 Start requiring a C99 compiler | |
1142 #49 Fix "==" Bashism in configure script | |
1143 #50 Fix too eager getrandom detection for Debian GNU/kFreeBSD | |
1144 #52 and macOS | |
1145 #51 Address lack of stdint.h in Visual Studio 2003 to 2008 | |
1146 #58 Address compile warnings | |
1147 #68 Fix "./buildconf.sh && ./configure" for some versions | |
1148 of Dash for /bin/sh | |
1149 #72 CMake: Ease use of Expat in context of a parent project | |
1150 with multiple CMakeLists.txt files | |
1151 #72 CMake: Resolve mistaken executable permissions | |
1152 #76 Address compile warning with -DNDEBUG (not recommended!) | |
1153 #77 Address compile warning about macro redefinition | |
1154 | |
1155 Special thanks to: | |
1156 Alexander Bluhm | |
1157 Ben Boeckel | |
1158 Cătălin Răceanu | |
1159 Kerin Millar | |
1160 László Böszörményi | |
1161 S. P. Zeidler | |
1162 Segev Finer | |
1163 Václav Slavík | |
1164 Victor Stinner | |
1165 Viktor Szakats | |
1166 and | |
1167 Radically Open Security | |
1168 | |
1169 Release 2.2.1 Sat June 17 2017 | |
1170 Security fixes: | |
1171 CVE-2017-9233 -- External entity infinite loop DoS | |
1172 Details: https://libexpat.github.io/doc/cve-2017-9233/ | |
1173 Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f | |
1174 [MOX-002] CVE-2016-9063 -- Detect integer overflow; commit | |
1175 d4f735b88d9932bd5039df2335eefdd0723dbe20 | |
1176 (Fixed version of existing downstream patches!) | |
1177 (SF.net) #539 Fix regression from fix to CVE-2016-0718 cutting off | |
1178 longer tag names; commits | |
1179 * 896b6c1fd3b842f377d1b62135dccf0a579cf65d | |
1180 * af507cef2c93cb8d40062a0abe43a4f4e9158fb2 | |
1181 #16 * 0dbbf43fdb20f593ddf4fa1ff67288000dd4a7fd | |
1182 #25 More integer overflow detection (function poolGrow); commits | |
1183 * 810b74e4703dcfdd8f404e3cb177d44684775143 | |
1184 * 44178553f3539ce69d34abee77a05e879a7982ac | |
1185 [MOX-002] Detect overflow from len=INT_MAX call to XML_Parse; commits | |
1186 * 4be2cb5afcc018d996f34bbbce6374b7befad47f | |
1187 * 7e5b71b748491b6e459e5c9a1d090820f94544d8 | |
1188 [MOX-005] #30 Use high quality entropy for hash initialization: | |
1189 * arc4random_buf on BSD, systems with libbsd | |
1190 (when configured with --with-libbsd), CloudABI | |
1191 * RtlGenRandom on Windows XP / Server 2003 and later | |
1192 * getrandom on Linux 3.17+ | |
1193 In a way, that's still part of CVE-2016-5300. | |
1194 https://github.com/libexpat/libexpat/pull/30/commits | |
1195 [MOX-005] For the low quality entropy extraction fallback code, | |
1196 the parser instance address can no longer leak, commit | |
1197 04ad658bd3079dd15cb60fc67087900f0ff4b083 | |
1198 [MOX-003] Prevent use of uninitialised variable; commit | |
1199 [MOX-004] a4dc944f37b664a3ca7199c624a98ee37babdb4b | |
1200 Add missing parameter validation to public API functions | |
1201 and dedicated error code XML_ERROR_INVALID_ARGUMENT: | |
1202 [MOX-006] * NULL checks; commits | |
1203 * d37f74b2b7149a3a95a680c4c4cd2a451a51d60a (merge/many) | |
1204 * 9ed727064b675b7180c98cb3d4f75efba6966681 | |
1205 * 6a747c837c50114dfa413994e07c0ba477be4534 | |
1206 * Negative length (XML_Parse); commit | |
1207 [MOX-002] 70db8d2538a10f4c022655d6895e4c3e78692e7f | |
1208 [MOX-001] #35 Change hash algorithm to William Ahern's version of SipHash | |
1209 to go further with fixing CVE-2012-0876. | |
1210 https://github.com/libexpat/libexpat/pull/39/commits | |
1211 | |
1212 Bug fixes: | |
1213 #32 Fix sharing of hash salt across parsers; | |
1214 relevant where XML_ExternalEntityParserCreate is called | |
1215 prior to XML_Parse, in particular (e.g. FBReader) | |
1216 #28 xmlwf: Auto-disable use of memory-mapping (and parsing | |
1217 as a single chunk) for files larger than ~1 GB (2^30 bytes) | |
1218 rather than failing with error "out of memory" | |
1219 #3 Fix double free after malloc failure in DTD code; commit | |
1220 7ae9c3d3af433cd4defe95234eae7dc8ed15637f | |
1221 #17 Fix memory leak on parser error for unbound XML attribute | |
1222 prefix with new namespaces defined in the same tag; | |
1223 found by Google's OSS-Fuzz; commits | |
1224 * 16f87daae5a16132e479e4f71862128c7a915c73 | |
1225 * b47dbc9745932c160893d433220e462bd605f8cd | |
1226 xmlwf on Windows: Add missing calls to CloseHandle | |
1227 | |
1228 New features: | |
1229 #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1 | |
1230 for runtime debugging of entropy extraction | |
1231 | |
1232 Other changes: | |
1233 Increase code coverage | |
1234 #33 Reject use of XML_UNICODE_WCHAR_T with sizeof(wchar_t) != 2; | |
1235 XML_UNICODE_WCHAR_T was never meant to be used outside | |
1236 of Windows; 4-byte wchar_t is common on Linux | |
1237 (SF.net) #538 Start using -fno-strict-aliasing | |
1238 (SF.net) #540 Support compilation against cloudlibc of CloudABI | |
1239 Allow MinGW cross-compilation | |
1240 (SF.net) #534 CMake: Introduce option "BUILD_doc" (enabled by default) | |
1241 to bypass compilation of the xmlwf.1 man page | |
1242 (SF.net) pr2 CMake: Introduce option "INSTALL" (enabled by default) | |
1243 to bypass installation of expat files | |
1244 CMake: Fix ninja support | |
1245 Autotools: Add parameters --enable-xml-context [COUNT] | |
1246 and --disable-xml-context; default of context of 1024 | |
1247 bytes enabled unchanged | |
1248 #14 Drop AmigaOS 4.x code and includes | |
1249 #14 Drop ancient build systems: | |
1250 * Borland C++ Builder | |
1251 * OpenVMS | |
1252 * Open Watcom | |
1253 * Visual Studio 6.0 | |
1254 * Pre-X Mac OS (MPW Makefile) | |
1255 If you happen to rely on some of these, please get in | |
1256 touch for joining with maintenance. | |
1257 #10 Move from WIN32 to _WIN32 | |
1258 #13 Fix "make run-xmltest" order instability | |
1259 Address compile warnings | |
1260 Bump version info from 7:2:6 to 7:3:6 | |
1261 Add AUTHORS file | |
1262 | |
1263 Infrastructure: | |
1264 #1 Migrate from SourceForge to GitHub (except downloads): | |
1265 https://github.com/libexpat/ | |
1266 #1 Re-create http://libexpat.org/ project website | |
1267 Start utilizing Travis CI | |
1268 | |
1269 Special thanks to: | |
1270 Andy Wang | |
1271 Don Lewis | |
1272 Ed Schouten | |
1273 Karl Waclawek | |
1274 Pascal Cuoq | |
1275 Rhodri James | |
1276 Sergei Nikulov | |
1277 Tobias Taschner | |
1278 Viktor Szakats | |
1279 and | |
1280 Core Infrastructure Initiative | |
1281 Mozilla Foundation (MOSS Track 3: Secure Open Source) | |
1282 Radically Open Security | |
1283 | |
1284 Release 2.2.0 Tue June 21 2016 | |
1285 Security fixes: | |
1286 #537 CVE-2016-0718 -- Fix crash on malformed input | |
1287 CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 / | |
1288 CVE-2015-2716 introduced with Expat 2.1.1 | |
1289 #499 CVE-2016-5300 -- Use more entropy for hash initialization | |
1290 than the original fix to CVE-2012-0876 | |
1291 #519 CVE-2012-6702 -- Resolve troublesome internal call to srand | |
1292 that was introduced with Expat 2.1.0 | |
1293 when addressing CVE-2012-0876 (issue #496) | |
1294 | |
1295 Bug fixes: | |
1296 Fix uninitialized reads of size 1 | |
1297 (e.g. in little2_updatePosition) | |
1298 Fix detection of UTF-8 character boundaries | |
1299 | |
1300 Other changes: | |
1301 #532 Fix compilation for Visual Studio 2010 (keyword "C99") | |
1302 Autotools: Resolve use of "$<" to better support bmake | |
1303 Autotools: Add QA script "qa.sh" (and make target "qa") | |
1304 Autotools: Respect CXXFLAGS if given | |
1305 Autotools: Fix "make run-xmltest" | |
1306 Autotools: Have "make run-xmltest" check for expected output | |
1307 p90 CMake: Fix static build (BUILD_shared=OFF) on Windows | |
1308 #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass | |
1309 #323 CMake: Add suffix "d" to differentiate debug from release | |
1310 CMake: Define WIN32 with CMake on Windows | |
1311 Annotate memory allocators for GCC | |
1312 Address all currently known compile warnings | |
1313 Make sure that API symbols remain visible despite | |
1314 -fvisibility=hidden | |
1315 Remove executable flag from source files | |
1316 Resolve COMPILED_FROM_DSP in favor of WIN32 | |
1317 | |
1318 Special thanks to: | |
1319 Björn Lindahl | |
1320 Christian Heimes | |
1321 Cristian Rodríguez | |
1322 Daniel Krügler | |
1323 Gustavo Grieco | |
1324 Karl Waclawek | |
1325 László Böszörményi | |
1326 Marco Grassi | |
1327 Pascal Cuoq | |
1328 Sergei Nikulov | |
1329 Thomas Beutlich | |
1330 Warren Young | |
1331 Yann Droneaud | |
1332 | |
1333 Release 2.1.1 Sat March 12 2016 | |
1334 Security fixes: | |
1335 #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer | |
1336 | |
1337 Bug fixes: | |
1338 #502: Fix potential null pointer dereference | |
1339 #520: Symbol XML_SetHashSalt was not exported | |
1340 Output of "xmlwf -h" was incomplete | |
1341 | |
1342 Other changes: | |
1343 #503: Document behavior of calling XML_SetHashSalt with salt 0 | |
1344 Minor improvements to man page xmlwf(1) | |
1345 Improvements to the experimental CMake build system | |
1346 libtool now invoked with --verbose | |
1347 | |
1348 Release 2.1.0 Sat March 24 2012 | |
1349 - Security fixes: | |
1350 #2958794: CVE-2012-1148 - Memory leak in poolGrow. | |
1351 #2895533: CVE-2012-1147 - Resource leak in readfilemap.c. | |
1352 #3496608: CVE-2012-0876 - Hash DOS attack. | |
1353 #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8(). | |
1354 #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences. | |
1355 - Bug Fixes: | |
1356 #1742315: Harmful XML_ParserCreateNS suggestion. | |
1357 #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3. | |
1358 #1983953, 2517952, 2517962, 2649838: | |
1359 Build modifications using autoreconf instead of buildconf.sh. | |
1360 #2815947, #2884086: OBJEXT and EXEEXT support while building. | |
1361 #2517938: xmlwf should return non-zero exit status if not well-formed. | |
1362 #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml. | |
1363 #2855609: Dangling positionPtr after error. | |
1364 #2990652: CMake support. | |
1365 #3010819: UNEXPECTED_STATE with a trailing "%" in entity value. | |
1366 #3206497: Uninitialized memory returned from XML_Parse. | |
1367 #3287849: make check fails on mingw-w64. | |
1368 - Patches: | |
1369 #1749198: pkg-config support. | |
1370 #3010222: Fix for bug #3010819. | |
1371 #3312568: CMake support. | |
1372 #3446384: Report byte offsets for attr names and values. | |
1373 - New Features / API changes: | |
1374 Added new API member XML_SetHashSalt() that allows setting an initial | |
1375 value (salt) for hash calculations. This is part of the fix for | |
1376 bug #3496608 to randomize hash parameters. | |
1377 When compiled with XML_ATTR_INFO defined, adds new API member | |
1378 XML_GetAttributeInfo() that allows retrieving the byte | |
1379 offsets for attribute names and values (patch #3446384). | |
1380 Added CMake build system. | |
1381 See bug #2990652 and patch #3312568. | |
1382 Added run-benchmark target to Makefile.in - relies on testdata module | |
1383 present in the same relative location as in the repository. | |
1384 | |
1385 Release 2.0.1 Tue June 5 2007 | |
1386 - Fixed bugs #1515266, #1515600: The character data handler's calling | |
1387 of XML_StopParser() was not handled properly; if the parser was | |
1388 stopped and the handler set to NULL, the parser would segfault. | |
1389 - Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed | |
1390 some character constants to be ASCII encoded. | |
1391 - Minor cleanups of the test harness. | |
1392 - Fixed xmlwf bug #1513566: "out of memory" error on file size zero. | |
1393 - Fixed outline.c bug #1543233: missing a final XML_ParserFree() call. | |
1394 - Fixes and improvements for Windows platform: | |
1395 bugs #1409451, #1476160, #1548182, #1602769, #1717322. | |
1396 - Build fixes for various platforms: | |
1397 HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180. | |
1398 All Unix: #1554618 (refreshed config.sub/config.guess). | |
1399 #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT, | |
1400 without relying on GNU-Make specific features. | |
1401 #1647805: Patched configure.in to work better with Intel compiler. | |
1402 - Fixes to Makefile.in to have make check work correctly: | |
1403 bugs #1408143, #1535603, #1536684. | |
1404 - Added Open Watcom support: patch #1523242. | |
1405 | |
1406 Release 2.0.0 Wed Jan 11 2006 | |
1407 - We no longer use the "check" library for C unit testing; we | |
1408 always use the (partial) internal implementation of the API. | |
1409 - Report XML_NS setting via XML_GetFeatureList(). | |
1410 - Fixed headers for use from C++. | |
1411 - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber() | |
1412 now return unsigned integers. | |
1413 - Added XML_LARGE_SIZE switch to enable 64-bit integers for | |
1414 byte indexes and line/column numbers. | |
1415 - Updated to use libtool 1.5.22 (the most recent). | |
1416 - Added support for AmigaOS. | |
1417 - Some mostly minor bug fixes. SF issues include: #1006708, | |
1418 #1021776, #1023646, #1114960, #1156398, #1221160, #1271642. | |
1419 | |
1420 Release 1.95.8 Fri Jul 23 2004 | |
1421 - Major new feature: suspend/resume. Handlers can now request | |
1422 that a parse be suspended for later resumption or aborted | |
1423 altogether. See "Temporarily Stopping Parsing" in the | |
1424 documentation for more details. | |
1425 - Some mostly minor bug fixes, but compilation should no | |
1426 longer generate warnings on most platforms. SF issues | |
1427 include: #827319, #840173, #846309, #888329, #896188, #923913, | |
1428 #928113, #961698, #985192. | |
1429 | |
1430 Release 1.95.7 Mon Oct 20 2003 | |
1431 - Fixed enum XML_Status issue (reported on SourceForge many | |
1432 times), so compilers that are properly picky will be happy. | |
1433 - Introduced an XMLCALL macro to control the calling | |
1434 convention used by the Expat API; this macro should be used | |
1435 to annotate prototypes and definitions of callback | |
1436 implementations in code compiled with a calling convention | |
1437 other than the default convention for the host platform. | |
1438 - Improved ability to build without the configure-generated | |
1439 expat_config.h header. This is useful for applications | |
1440 which embed Expat rather than linking in the library. | |
1441 - Fixed a variety of bugs: see SF issues #458907, #609603, | |
1442 #676844, #679754, #692878, #692964, #695401, #699323, #699487, | |
1443 #820946. | |
1444 - Improved hash table lookups. | |
1445 - Added more regression tests and improved documentation. | |
1446 | |
1447 Release 1.95.6 Tue Jan 28 2003 | |
1448 - Added XML_FreeContentModel(). | |
1449 - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree(). | |
1450 - Fixed a variety of bugs: see SF issues #615606, #616863, | |
1451 #618199, #653180, #673791. | |
1452 - Enhanced the regression test suite. | |
1453 - Man page improvements: includes SF issue #632146. | |
1454 | |
1455 Release 1.95.5 Fri Sep 6 2002 | |
1456 - Added XML_UseForeignDTD() for improved SAX2 support. | |
1457 - Added XML_GetFeatureList(). | |
1458 - Defined XML_Bool type and the values XML_TRUE and XML_FALSE. | |
1459 - Use an incomplete struct instead of a void* for the parser | |
1460 (may not retain). | |
1461 - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected. | |
1462 - Finally fixed bug where default handler would report DTD | |
1463 events that were already handled by another handler. | |
1464 Initial patch contributed by Darryl Miles. | |
1465 - Removed unnecessary DllMain() function that caused static | |
1466 linking into a DLL to be difficult. | |
1467 - Added VC++ projects for building static libraries. | |
1468 - Reduced line-length for all source code and headers to be | |
1469 no longer than 80 characters, to help with AS/400 support. | |
1470 - Reduced memory copying during parsing (SF patch #600964). | |
1471 - Fixed a variety of bugs: see SF issues #580793, #434664, | |
1472 #483514, #580503, #581069, #584041, #584183, #584832, #585537, | |
1473 #596555, #596678, #598352, #598944, #599715, #600479, #600971. | |
1474 | |
1475 Release 1.95.4 Fri Jul 12 2002 | |
1476 - Added support for VMS, contributed by Craig Berry. See | |
1477 vms/README.vms for more information. | |
1478 - Added Mac OS (classic) support, with a makefile for MPW, | |
1479 contributed by Thomas Wegner and Daryle Walker. | |
1480 - Added Borland C++ Builder 5 / BCC 5.5 support, contributed | |
1481 by Patrick McConnell (SF patch #538032). | |
1482 - Fixed a variety of bugs: see SF issues #441449, #563184, | |
1483 #564342, #566334, #566901, #569461, #570263, #575168, #579196. | |
1484 - Made skippedEntityHandler conform to SAX2 (see source comment) | |
1485 - Re-implemented WFC: Entity Declared from XML 1.0 spec and | |
1486 added a new error "entity declared in parameter entity": | |
1487 see SF bug report #569461 and SF patch #578161 | |
1488 - Re-implemented section 5.1 from XML 1.0 spec: | |
1489 see SF bug report #570263 and SF patch #578161 | |
1490 | |
1491 Release 1.95.3 Mon Jun 3 2002 | |
1492 - Added a project to the MSVC workspace to create a wchar_t | |
1493 version of the library; the DLLs are named libexpatw.dll. | |
1494 - Changed the name of the Windows DLLs from expat.dll to | |
1495 libexpat.dll; this fixes SF bug #432456. | |
1496 - Added the XML_ParserReset() API function. | |
1497 - Fixed XML_SetReturnNSTriplet() to work for element names. | |
1498 - Made the XML_UNICODE builds usable (thanks, Karl!). | |
1499 - Allow xmlwf to read from standard input. | |
1500 - Install a man page for xmlwf on Unix systems. | |
1501 - Fixed many bugs; see SF bug reports #231864, #461380, #464837, | |
1502 #466885, #469226, #477667, #484419, #487840, #494749, #496505, | |
1503 #547350. Other bugs which we can't test as easily may also | |
1504 have been fixed, especially in the area of build support. | |
1505 | |
1506 Release 1.95.2 Fri Jul 27 2001 | |
1507 - More changes to make MSVC happy with the build; add a single | |
1508 workspace to support both the library and xmlwf application. | |
1509 - Added a Windows installer for Windows users; includes | |
1510 xmlwf.exe. | |
1511 - Added compile-time constants that can be used to determine the | |
1512 Expat version | |
1513 - Removed a lot of GNU-specific dependencies to aide portability | |
1514 among the various Unix flavors. | |
1515 - Fix the UTF-8 BOM bug. | |
1516 - Cleaned up warning messages for several compilers. | |
1517 - Added the -Wall, -Wstrict-prototypes options for GCC. | |
1518 | |
1519 Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000 | |
1520 - Changes to get expat to build under Microsoft compiler | |
1521 - Removed all aborts and instead return an UNEXPECTED_STATE error. | |
1522 - Fixed a bug where a stray '%' in an entity value would cause an | |
1523 abort. | |
1524 - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for | |
1525 finding this oversight. | |
1526 - Changed default patterns in lib/Makefile.in to fit non-GNU makes | |
1527 Thanks to robin@unrated.net for reporting and providing an | |
1528 account to test on. | |
1529 - The reference had the wrong label for XML_SetStartNamespaceDecl. | |
1530 Reported by an anonymous user. | |
1531 | |
1532 Release 1.95.0 Fri Sep 29 2000 | |
1533 - XML_ParserCreate_MM | |
1534 Allows you to set a memory management suite to replace the | |
1535 standard malloc,realloc, and free. | |
1536 - XML_SetReturnNSTriplet | |
1537 If you turn this feature on when namespace processing is in | |
1538 effect, then qualified, prefixed element and attribute names | |
1539 are returned as "uri|name|prefix" where '|' is whatever | |
1540 separator character is used in namespace processing. | |
1541 - Merged in features from perl-expat | |
1542 o XML_SetElementDeclHandler | |
1543 o XML_SetAttlistDeclHandler | |
1544 o XML_SetXmlDeclHandler | |
1545 o XML_SetEntityDeclHandler | |
1546 o StartDoctypeDeclHandler takes 3 additional parameters: | |
1547 sysid, pubid, has_internal_subset | |
1548 o Many paired handler setters (like XML_SetElementHandler) | |
1549 now have corresponding individual handler setters | |
1550 o XML_GetInputContext for getting the input context of | |
1551 the current parse position. | |
1552 - Added reference material | |
1553 - Packaged into a distribution that builds a sharable library |