@@ -10,6 +10,76 @@ listed here.
1010Version 10.47 xx-xxx-2025
1111-------------------------
1212
13+ 1. (#660, #655, #663) Expanded platforms tested by CI: FreeBSD, Solaris,
14+ MSYS (Cygwin), S390x, PPC64le, ARMv7, AARCH64, RiscV.
15+
16+ 2. (#655) Made build clean of `/W3` warnings on MSVC. Further suppression of
17+ minor build warnings on other platforms (various commits).
18+
19+ 3. (#651) Added `--enable-Werror` flag to `./configure` to treat warnings as
20+ errors (or `--enable-errwarn` for Solaris cc). Previously, you had to hackily
21+ override the CPPFLAGS when calling make since you can't pass `-Werror` as a
22+ CFLAG into `./configure` (it breaks compiler feature detection).
23+
24+ 4. (#682) Added AM_MAINTAINER_MODE for Git tag releases. Users building with
25+ the `./configure` script can check out the release tag using Git, which assigns
26+ the current time as the modification time to each checked-out file. This caused
27+ Autoconf to attempt to regenerate the configure script.
28+
29+ 5. (#692) Add LICENSE file for sljit to the tarball release, to clarify that the
30+ sljit code is governed separately by the 2-clause BSD license.
31+
32+ 6. (#656, #695) Add full support for z/OS and native EBCDIC support. The z/OS
33+ support is tested nightly using the XLC and IBM-Clang compilers, with Autoconf
34+ and CMake. In addition, for test purposes, the EBCDIC support can now be enabled
35+ on any platform using the new Autoconf `--enable-ebcdic-ignoring-compiler` and
36+ CMake `-DPCRE2_EBCDIC_IGNORING_COMPILER` options.
37+
38+ 7. (#700) Faster lookup of named capture groups during pattern compilation using
39+ a hash table.
40+
41+ 8. (#697, #756, #778) Improvements to pcre2test to increase code coverage:
42+ -malloc argument; more detailed test assertions.
43+
44+ 9. (#705, #710, #737, #738) Powerful new feature: pattern recursion of
45+ the form "(?1(GROUP_NAME_OR_NUM,...))" acts as a subroutine call which
46+ additionally returns the listed capturing groups to the calling context.
47+
48+ 10. (#721) Add linker scripts to enable symbol version for the PCRE2 dynamic
49+ libraries. Downstream Linux distributions may make use of this, or disable it
50+ with the new Autoconf `--disable-symvers` and CMake `-DPCRE2_SYMVERS` options.
51+ Currently, Linux, Solaris, and FreeBSD are tested and supported.
52+
53+ 11. (#733) New API function: pcre2_next_match(). This function makes it both
54+ simpler and safer for clients to iterate over all matches in a subject. The
55+ documentation in `pcre2api` also provides improved guidance in the section
56+ "Iterating over all matches".
57+
58+ 12. (#739, #744, #753) Modernize the CMake build files, to use standard
59+ commands to export the PCRE2 targets. This makes use of the
60+ "$<BUILD_INTERFACE:...>" and "$<INSTALL_INTERFACE:...>" expressions alongside
61+ the built-in "install(EXPORT...)" command. This brings the CMake files in line
62+ with the patches used by vcpkg to distribute PCRE2. The minimum CMake version
63+ remains 3.15.
64+
65+ 13. (#756) Improved error offsets and diagnostics for syntax errors during
66+ pattern compilation.
67+
68+ 14. (#708, #729, #724, #731, #777) Various updates to Bazel and Zig
69+ build support.
70+
71+ 15. (#775) Added PCRE2_CONFIG_EFFECTIVE_LINKSIZE option to pcre2_config(), to
72+ report the actual number of code units used in compiled patterns for recording
73+ string lengths and offsets.
74+
75+ 16. (#801) Significant bugfix: Fix a crash in pcre2_callout_enumerate() which is
76+ easily reachable on any pattern that contains a Unicode character class. If your
77+ application uses this function, please read the details for this change and
78+ evaluate its severity for your application.
79+
80+ 17. (#806, #807) Improved input validation for pcre2_substitute() used with
81+ PCRE2_SUBSTITUTE_MATCHED.
82+
1383
1484Version 10.46 27-August-2025
1585----------------------------
0 commit comments