CARVIEW |
Select Language
HTTP/2 200
date: Wed, 16 Jul 2025 11:06:28 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"1d687aa7a79c3f4fb8c9b6882140ee1a"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=YFayMo7OXxTWtcqeWRuwGhwFRsg0dqyKzdpe0%2F7a9A%2Furyk5K4FB%2FHlI8p64Fk6oBmZRJZjunPUxrOBVW3yaxv3g5eyPJJ1OPYiWoOz6ioPqL%2BbGqv8p7NtmLDkQjGUmTWTIsBh216CKu%2B9jbchxYwwHj%2FQBHFkpEYetaVj2nEdmSuiCft81QmgWvkEiGgL%2FFuHeOyw3zYrJDZgiCyfUOpCciFQ%2FAbM9IOsQ3XTk9VMxlLTBKnCukMcOVGWSdyQ1T%2Bv5gDvK9Ghq3SyMQ%2BMIjQ%3D%3D--8aGvKYHud23zW474--Jso8%2FdJ4lmjAy5U5lw4DDA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.986031025.1752663987; Path=/; Domain=github.com; Expires=Thu, 16 Jul 2026 11:06:27 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 16 Jul 2026 11:06:27 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: A616:19351:9E03C9:BEA0B3:687787B3
Releases · catchorg/Catch2 · GitHub
09 Apr 18:52
ChrisThrasher
Chris Thrasher
ChrisThrasher
Chris Thrasher
05 Jan 23:43
horenmar
Martin Hořeňovský
horenmar
Martin Hořeňovský
Loading
17 Sep 08:50
horenmar
Martin Hořeňovský
horenmar
Martin Hořeňovský
Loading
14 Aug 10:11
horenmar
Martin Hořeňovský
horenmar
Martin Hořeňovský
Loading
05 May 19:10
horenmar
Martin Hořeňovský
horenmar
Martin Hořeňovský
Loading
10 Apr 10:23
horenmar
Martin Hořeňovský
horenmar
Martin Hořeňovský
Loading
01 Mar 21:16
horenmar
Martin Hořeňovský
horenmar
Martin Hořeňovský
Loading
31 Dec 14:18
horenmar
Martin Hořeňovský
horenmar
Martin Hořeňovský
Loading
10 Dec 23:57
horenmar
Martin Hořeňovský
horenmar
Martin Hořeňovský
Loading
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Releases: catchorg/Catch2
Releases · catchorg/Catch2
v3.8.1
v3.8.1
This tag was signed with the committer’s verified signature.
2b60af8
This commit was signed with the committer’s verified signature.
Compare
v3.8.0
v3.8.0
This tag was signed with the committer’s verified signature.
The key has expired.
914aeec
This commit was signed with the committer’s verified signature.
The key has expired.
Compare
Improvements
- Added
std::initializer_list
overloads for(Unordered)RangeEquals
matcher (#2915, #2919) - Added explicit casts to silence GCC's
Wconversion
(#2875) - Made the use of
builtin_constant_p
tricks in assertion macros configurable (#2925)- It is used to prod GCC-like compilers into providing warnings for the asserted expressions, but the compilers miscompile it annoyingly often.
- Cleaned out Clang-Tidy's
performance-enum-size
warnings - Added support for using
from_range
generator with iterators withvalue_type = const T
(#2926)- This is not correct
value_type
typedef, but it is used in the wild and the change does not make the code meaningfully worse.
- This is not correct
Fixes
- Fixed crash when stringifying pre-1970 (epoch) dates on Windows (#2944)
Miscellaneous
- Fixes and improvements for
catch_discover_tests
CMake helper- Removed redundant
CTEST_FILE
param when creating the indirection file forPRE_TEST
discovery mode (#2936) - Rewrote the test discovery logic to use output from the JSON reporter
- This means that
catch_discover_tests
now requires CMake 3.19 or newer
- This means that
- Added
ADD_TAGS_AS_LABELS
option. If specified, each CTest test will be labeled with corrensponding Catch2's test tag
- Removed redundant
- Bumped up the minimum required CMake version to build Catch2 to 3.16
- Meson build now provides option to avoid installing Catch2
- Bazel build is moved to Bzlmod.
Assets 6
10 people reacted
v3.7.1
v3.7.1
This tag was signed with the committer’s verified signature.
The key has expired.
fa43b77
This commit was signed with the committer’s verified signature.
The key has expired.
Compare
Improvements
- Applied the JUnit reporter's optimization from last release to the SonarQube reporter
- Suppressed
-Wuseless-cast
inCHECK_THROWS_MATCHES
(#2904) - Standardize exit codes for various failures
- Running no tests is now guaranteed to exit with 2 (without the
--allow-running-no-tests
flag) - All tests skipped is now always 4 (...)
- Assertion failures are now always 42
- and so on
- Running no tests is now guaranteed to exit with 2 (without the
Fixes
- Fixed out-of-bounds access when the arg parser encounters single
-
as an argument (#2905)
Miscellaneous
Assets 6
17 people reacted
v3.7.0
v3.7.0
This tag was signed with the committer’s verified signature.
The key has expired.
31588bb
This commit was signed with the committer’s verified signature.
The key has expired.
Compare
Improvements
- Slightly improved compile times of benchmarks
- Made the resolution estimation in benchmarks slightly more precise
- Added new test case macro,
TEST_CASE_PERSISTENT_FIXTURE
(#2885, #1602)- Unlike
TEST_CASE_METHOD
, the same underlying instance is used for all partial runs of that test case
- Unlike
- MASSIVELY improved performance of the JUnit reporter when handling successful assertions (#2897)
- For 1 test case and 10M assertions, the new reporter runs 3x faster and uses up only 8 MB of memory, while the old one needs 7 GB of memory.
- Reworked how output redirects works.
- Combining a reporter writing to stdout with capturing reporter no longer leads to the capturing reporter seeing all of the other reporter's output.
- The file based redirect no longer opens up a new temporary file for each partial test case run, so it will not run out of temporary files when running many tests in single process.
Miscellaneous
- Better documentation for matchers on thrown exceptions (
REQUIRE_THROWS_MATCHES
) - Improved
catch_discover_tests
's handling of environment paths (#2878)- It won't reorder paths in
DL_PATHS
orDYLD_FRAMEWORK_PATHS
args - It won't overwrite the environment paths for test discovery
- It won't reorder paths in
Assets 6
25 people reacted
v3.6.0
v3.6.0
This tag was signed with the committer’s verified signature.
The key has expired.
4e8d92b
This commit was signed with the committer’s verified signature.
The key has expired.
Compare
Fixes
- Fixed Windows ARM64 build by fixing the preprocessor condition guarding use
_umul128
intrinsic. - Fixed Windows ARM64EC build by removing intrinsic pragma it does not understand. (#2858)
- Why doesn't the x64-emulation build mode understand x64 pragmas? Don't ask me, ask the MSVC guys.
- Fixed the JUnit reporter sometimes crashing when reporting a fatal error. (#1210, #2855)
- The binary will still exit, but through the original error, rather than secondary error inside the reporter.
- The underlying fix applies to all reporters, not just the JUnit one, but only JUnit was currently causing troubles.
Improvements
- Disable
-Wnon-virtual-dtor
in Decomposer and Matchers (#2854) precision
in floating point stringmakers defaults tomax_digits10
.- This means that floating point values will be printed with enough precision to disambiguate any two floats.
- Column wrapping ignores ansi colour codes when calculating string width (#2833, #2849)
- This makes the output much more readable when the provided messages contain colour codes.
Miscellaneous
- Conan support improvements
SelfTest
target can be built through Bazel (#2857)
Assets 6
15 people reacted
v3.5.4
v3.5.4
This tag was signed with the committer’s verified signature.
The key has expired.
b5373da
This commit was signed with the committer’s verified signature.
The key has expired.
Compare
Fixes
- Fixed potential compilation error when asked to generate random integers whose type did not match
std::(u)int*_t
.- This manifested itself when generating random
size_t
s on MacOS
- This manifested itself when generating random
- Added missing outlined destructor causing
Wdelete-incomplete
when compiling against libstdc++ in C++23 mode (#2852) - Fixed regression where decomposing assertion with const instance of
std::foo_ordering
would not compile
Improvements
- Reintroduced support for GCC 5 and 6 (#2836)
- As with VS2017, if they start causing trouble again, they will be dropped again.
- Added workaround for targetting newest MacOS (Sonoma) using GCC (#2837, #2839)
CATCH_CONFIG_DEFAULT_REPORTER
can now be an arbitrary reporter spec- Previously it could only be a plain reporter name, so it was impossible to compile in custom arguments to the reporter.
- Improved performance of generating 64bit random integers by 20+%
Miscellaneous
- Significantly improved Conan in-tree recipe (#2831)
DL_PATHS
incatch_discover_tests
now supports multiple arguments (#2852, #2736)- Fixed preprocessor logic for checking whether we expect reproducible floating point results in tests.
- Improved the floating point tests structure to avoid
Wunused
when the reproducibility tests are disabled (#2845)
Assets 6
11 people reacted
v3.5.3
v3.5.3
This tag was signed with the committer’s verified signature.
The key has expired.
8ac8190
This commit was signed with the committer’s verified signature.
The key has expired.
Compare
Fixes
- Fixed OOB access when computing filename tag (from the
-#
flag) for file without extension (#2798) - Fixed the linking against
log
on Android to bePRIVATE
(#2815) - Fixed
Wuseless-cast
in benchmarking internals (#2823)
Improvements
- Restored compatibility with VS2017 (#2792, #2822)
- The baseline for Catch2 is still C++14 with some reasonable workarounds for specific compilers, so if VS2017 starts acting up again, the support will be dropped again.
- Suppressed clang-tidy's
bugprone-chained-comparison
in assertions (#2801) - Improved the static analysis mode to evaluate arguments to
TEST_CASE
andSECTION
(#2817)- Clang-tidy should no longer warn about runtime arguments to these macros being unused in static analysis mode.
- Clang-tidy can warn on issues involved arguments to these macros.
- Added support for literal-zero detectors based on
consteval
constructors- This is required for compiling
REQUIRE((a <=> b) == 0)
against MSVC's stdlib. - Sadly, MSVC still cannot compile this assertion as it does not implement C++20 correctly.
- You can use
clang-cl
with MSVC's stdlib instead. - If for some godforsaken reasons you want to understand this better, read the two relevant commits:
dc51386b9fd61f99ea9c660d01867e6ad489b403
, and0787132fc82a75e3fb255aa9484ca1dc1eff2a30
.
- This is required for compiling
Miscellaneous
Assets 6
6 people reacted
v3.5.2
v3.5.1
v3.5.1
This tag was signed with the committer’s verified signature.
The key has expired.
f981c9c
This commit was signed with the committer’s verified signature.
The key has expired.
Compare
Improvements
- Significantly improved performance of the CLI parsing.
- This includes the cost of preparing the CLI parser, so Catch2's binaries start much faster.
Miscellaneous
Assets 6
12 people reacted
v3.5.0
v3.5.0
This tag was signed with the committer’s verified signature.
The key has expired.
53d0d91
This commit was signed with the committer’s verified signature.
The key has expired.
Compare
Improvements
- Introduced
CATCH_CONFIG_PREFIX_MESSAGES
to prefix only logging macros (#2544)- This means
INFO
,UNSCOPED_INFO
,WARN
andCAPTURE
.
- This means
- Section hints in static analysis mode are now
const
- This prevents Clang-Tidy from complaining about
misc-const-correctness
.
- This prevents Clang-Tidy from complaining about
from_range
generator supports C arrays and ranges that require ADL (#2737)- Stringification support for
std::optional
now also includesstd::nullopt
(#2740) - The Console reporter flushes output after writing benchmark runtime estimate.
- This means that you can immediately see for how long the benchmark is expected to run.
- Added workaround to enable compilation with ICC 19.1 (#2551, #2766)
- Compiling Catch2 for XBox should work out of the box (#2772)
- Catch2 should automatically disable getenv when compiled for XBox.
- Compiling Catch2 with exceptions disabled no longer triggers
Wunused-function
(#2726) random
Generators for integral types are now reproducible across different platforms- Unlike
<random>
, Catch2's generators also support 1 byte integral types (char
,bool
, ...)
- Unlike
random
Generators forfloat
anddouble
are now reproducible across different platformslong double
varies across different platforms too much to be reproducible- This guarantee applies only to platforms with IEEE 754 floats.
Fixes
- UDL declaration inside Catch2 are now strictly conforming to the standard
operator "" _a
is UB,operator ""_a
is fine. Seriously.
- Fixed
CAPTURE
tests failing to compile in C++23 mode (#2744) - Fixed missing include in
catch_message.hpp
(#2758) - Fixed
CHECK_ELSE
suppressing failure from uncaught exceptions(#2723)
Miscellaneous
- The documentation for specifying which tests to run through commandline has been completely rewritten (#2738)
- Fixed installation when building Catch2 with meson (#2722, #2742)
- Fixed
catch_discover_tests
when using custom reporter andPRE_TEST
discovery mode (#2747) catch_discover_tests
supports multi-config CMake generator inPRE_TEST
discovery mode (#2739, #2746)
Assets 6
13 people reacted
Previous Next
You can’t perform that action at this time.