| tag name | v3.16.0 (fd79eadb5bc1760e7cbae12fd45b0d0040d1bb73) |
| tag date | 2026-08-25 09:32:36 +0200 |
| tagged by | Martin Hořeňovský |
| tagged object | commit 317ac1ed4c... |
| download | catch3-3.16.0.tar.gz |
|---|
v3.16.0
=== Fixes ===
* Multiple fixes in `catch_discover_tests`:
* Fixed `<target>_TESTS` variable accumulating JSON fragments alongside test names.
* This was introduced during the refactoring in last release.
* Fixed `<target>_TESTS` variable from `catch_discover_tests` not escaping test names to be properly parsed by CMake.
* This means that e.g. test names with semicolons will not be split into multiple partial test names.
* This bug has existed since the first version of the script.
* Fixed `TEST_PREFIX`/`TEST_SUFFIX` args having leading/trailing whitespace stripped.
* Added workaround for Clang 20-21 compile error with `TEMPLATE_PRODUCT_TEST_CASE` (#3115, #3173)
=== Improvements ===
* Verbosity option is now handled per reporter.
* The standalone `--verbosity` flag is propagated to all reporters as default, just like `--colour-mode`.
* The JSON reporter considers verbosity when listing tests.
* Another set of performance improvements for `catch_discover_tests` performance
* The newest version can register about 3k tests in 1 second, up from 1k previously.
* The initial `TEST_CASE` registration is slightly faster.
* Reduced overhead from first instantiating `BENCHMARK` machinery in a TU.
* Improved compilation speed when multiple templated test case macros use the same types.
* Rewrote implementation of the string matchers
* Case-sensitive matching (the default) is significantly faster.
* Case-insensitive matching is faster in most cases.
* Added optimizer barrier to calls into benchmarks without return values
* This limits the optimizations compiler can perform **between calls** into the benchmarked function, improving the accuracy.
* Added warning that checks for using sharding without deterministic test order (#3186)
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE8QyLZSqAHw/oZQgX3kgwe4sNOBoFAmqNRSkACgkQ3kgwe4sN
OBoe7Q//dq+zN7D7ZJPxZXAO4WQX2q7EKnSAb38nn0Cj4XHHPkiSmBi7JY1gwJcZ
AExIR9QNk+eTYzbRnwj1DdbCaBbDmHHsWfOJwKvwNqT0Go+O3zSVX2FnvRVhZVPx
k+gMxhraeJB+j+SmBlc4t7bO+SHKOqtYH62+QjELVZyXn6E+YzQ+tIzdgDi9TVUf
Q0ENiLVkyoApNy04YsRwncvdI2/cGvyQe5/CXfx5P0ebyGY7lZrPOUWeOBm9zYCx
+oXTzlx+uy1EwRNvgBxu232V6sVMKrgdxgzMKZi6VaeHdLv8KSGPayIjrvDKFeHO
eKGpFms3jv9RPJnL9SwYcd2R0v+IJjd7bGFxCB0fPoRymWKdxk6EP5m+jEuXGkhP
pHL1GxNcfyxmZBy1FNOkuq3o9nph1zXlU8VT59ZlLqE8fv3htbDpeu5X0csqtQnk
ppgEeMBFAoLsrnWkzxVgPYE3p/0OyNk7BHCtHjD6ukWUOyeQ8Pr3+n0xnJ4ETVl6
WEH6m4L18MRoRZYnNdL5uKYqFsjIm2ZM/pzz15CNvD4nRTHwYxiqUFEso6QPniIW
/AFwtQ14k8fFszYIBfkek2ETMsd72WTcxylvslZqt2tpVRrNkIz+wlffBHvvi6/x
k9DBt2pFqtxbpooiMNR101/aFCTDgV+71olcgFF9aFleFubIQLY=
=u9KH
-----END PGP SIGNATURE-----