Download Latest Version v3.15.0 source code.tar.gz (1.2 MB)
Email in envelope

Get an email when there's a new version of Catch2

Home / v3.15.0
Name Modified Size InfoDownloads / Week
Parent folder
catch_amalgamated.cpp.asc 2026-05-12 833 Bytes
catch_amalgamated.hpp.asc 2026-05-12 833 Bytes
catch_amalgamated.hpp 2026-05-12 547.4 kB
catch_amalgamated.cpp 2026-05-12 447.8 kB
README.md 2026-05-12 734 Bytes
v3.15.0 source code.tar.gz 2026-05-12 1.2 MB
v3.15.0 source code.zip 2026-05-12 1.5 MB
Totals: 7 Items   3.7 MB 1

Fixes

  • Fixed ambiguous overload issue with std::optional<T> in C++26. (#3095)
  • Since std::optional was turned into a range, the partial specialization of StringMaker for range-like types and for std::optional<T> were in conflict.

Improvements

  • Simplified CATCH_REGISTER_ENUM internals for faster compilation and retrieval.
  • Successful assertion are slightly (1-2%) faster.
  • Generic (new-style) matchers support constexpr matching in C++20.
  • Combining matchers requires C++26.
  • Catch2-provided generic matchers are all constexpr enabled.
  • Added STATIC_REQUIRE_THAT for compile-time matcher assertions.
  • This requires the compiler to support enough constexpr for matchers, see above.
Source: README.md, updated 2026-05-12