1 | | === Major changes |
2 | | |
3 | | About 40 memory errors in code paths handling malloc failures have been fixed. |
4 | | While these issues shouldn't impact security, this improves robustness under |
5 | | memory pressure. |
6 | | |
7 | | The result of generate-id() is now deterministic across multiple |
8 | | transformations fixing many issues with reproducible builds. |
9 | | |
10 | | Most of the test suite has been ported to C. |
11 | | |
12 | | === Bug fixes |
13 | | |
14 | | - Fix memory errors in code handling malloc failures |
15 | | - imports: Fix import/include cycle check |
16 | | - xsltlocale: Fix xsltNewLocale on macOS |
17 | | - Make xsl:sort thread-safe |
18 | | - Make generate-id() deterministic |
19 | | |
20 | | === Improvements |
21 | | |
22 | | - Stop using xmlStringCurrentChar |
23 | | - attributes.h needs to include xsltInternals.h (David Kilzer) |
24 | | - transform: Avoid null deref on documents without root node |
25 | | - numbers: Fix floating point overflows |
26 | | - date: Fix integer overflow in exsltDateFormatDuration |
27 | | - numbers: Fix harmless integer sign change |
28 | | - date: Add more overflow checks to formatting code (David Kilzer) |
29 | | - date: Fix rounding to make Windows tests pass |
30 | | - date: Rewrite duration and seconds formatting |
31 | | - xsltlocale: Make API platform-independent |
32 | | - Also accept application/xslt+xml media type in stylesheet PIs |
33 | | - warnings: Fix strict prototypes warning |
34 | | - xsltEvalUserParams() and xsltQuoteUserParams() are susceptible to integer |
35 | | overflow when iterating through const char** array (David Kilzer) |
36 | | - xslt: Return NULL stylesheet on attribute set errors |
37 | | - xsltproc: Fix unused variable warning |
38 | | - xslt: Remove declaration for old libxml2 |
39 | | - Fix various compiler warnings |
40 | | - Fix compiler warnings in xsltGenerateIdFunction |
41 | | - Disable Python bindings for debugger |
42 | | - Don't declare disabled functions |
43 | | - Migrate from PyEval_ to PyObject_ |
44 | | |
45 | | === Build system |
46 | | |
47 | | - cmake: Use version script |
48 | | - autotools: Link with --undefined-version |
49 | | - win32: Remove broken libxslt.def.src |
50 | | - Stop updating version script |
51 | | - add support for Windows time functions (Rosen Penev) |
52 | | - cmake: link against libm on UNIX systems (Alex Richardson) |
53 | | - build: Add a distutils-based build system for the Python bits (Chun-wei Fan) |
54 | | - CMake: Relax check for Python 3.x support on Windows (Chun-wei Fan) |
55 | | - python/types.c: Fix building against older libxml2 (Chun-wei Fan) |
56 | | - python/libxslt.c: Replace ssize_t with Py_ssize_t (Chun-wei Fan) |
57 | | - cmake: Fix build with libxslt and libxml2 as subprojects |
58 | | - cmake: Set SOVERSION |
59 | | - cmake: Extract version from configure.ac |
60 | | - Fix classic Windows configuration for libexslt (Christoph M. Becker) |
61 | | - autotools: Fix Python tests in VPATH builds |
62 | | - autotools: Disable parallel Python build |
63 | | - autotools: Use AM_CFLAGS consistently |
64 | | - autotools: Link with -no-undefined |
65 | | - cmake: Fix Python installation |
66 | | - cmake: Don't check for Python 2 |
67 | | - python: Don't output missing generators during build |
68 | | - python: Create .pyd on Windows |
69 | | - python: Fix build on Windows |
70 | | - python: Support Python 3 on Windows |
71 | | - cmake: Enable GCC compiler warnings |
72 | | - Update GCC compiler warnings |
73 | | |
74 | | === Tests |
75 | | |
76 | | - python: Remove temp file when running tests/basic.py |
77 | | - fuzz: Improve fuzzers |
78 | | - xsltlocale: Add test |
79 | | - gitlab-ci: Reenable MSan and LeakSanitizer |
80 | | - tests: Remove unused files |
81 | | - tests: Enable runtest.exe under MSVC |
82 | | - tests: Fix LIBXSLT_PLUGINS_PATH for multi-config CMake |
83 | | - tests: Remove unused leak statistics |
84 | | - tests: Skip some tests if iconv/ICU is disabled |
85 | | - gitlab-ci: Run Autotools tests with out-of-tree (VPATH) builds |
86 | | - tests: Port most of the test suite to C |
87 | | - tests: Fix out-of-tree Python tests |
88 | | - tests: Fix source directory for reports tests |
89 | | - gitlab-ci: Consolidate CMake test scripts |
90 | | - gitlab-ci: Only install cmake MinGW package if needed |
91 | | - gitlab-ci: Install 7-Zip using the .msi |
92 | | - gitlab-ci: Add CI job for MinGW/Autotools |
93 | | - gitlab-ci: Disable MSan for now |
94 | | - Run CI tests with -fsanitize=integer |
95 | | - Fix EXSLT functions tests when libxml2 is built --without-debug |
96 | | - Make CI tests exit on failure |
97 | | - Run Python 3 CI job with minimal configuration |
98 | | - Set library path when running Python tests |
99 | | |
100 | | === Documentation |
101 | | |
102 | | - doc: Remove unused cross-reference data |
103 | | - doc: Update apibuild.py |
| 1 | [Wrong comment removed] |