Skip to content

Releases: catchorg/Catch2

v1.7.1

07 Feb 09:07
Compare
Choose a tag to compare

Fixes:

  • Fixed inconsistency in defining NOMINMAX and WIN32_LEAN_AND_MEAN inside catch.hpp.
  • Fixed SEH-related compilation error under older MinGW compilers, by making Windows SEH handling opt-in for compilers other than MSVC.
  • Fixed compilation error under MinGW caused by improper compiler detection.
  • Fixed XML reporter sometimes leaving an empty output file when a test ends with signal/structured exception.
  • Fixed XML reporter not reporting captured stdout/stderr.
  • Fixed possible infinite recursion in Windows SEH.
  • Fixed possible compilation error caused by Catch's operator overloads being ambiguous in regards to user-defined templated operators.

v1.7.0

01 Feb 20:49
Compare
Choose a tag to compare

Features/ Changes:

  • Catch now runs significantly faster for passing tests
    • Microbenchmark focused on Catch's overhead went from ~3.4s to ~0.7s.
    • Real world test using JSON for Modern C++'s test suite went from ~6m 25s to ~4m 14s.
  • Catch can now run specific sections within test cases.
    • For now the support is only basic (no wildcards or tags), for details see the documentation.
  • Catch now supports SEH on Windows as well as signals on Linux.
    • After receiving a signal, Catch reports failing assertion and then passes the signal onto the previous handler.
  • Approx can be used to compare values against strong typedefs (available in C++11 mode only).
    • Strong typedefs mean types that are explicitly convertible to double.
  • CHECK macro no longer stops executing section if an exception happens.
  • Certain characters (space, tab, etc) are now pretty printed.
    • This means that a char c = ' '; REQUIRE(c == '\t'); would be printed as ' ' == '\t', instead of == 9.

Fixes:

  • Text formatting no longer attempts to access out-of-bounds characters under certain conditions.
  • THROW family of assertions no longer trigger -Wunused-value on expressions containing explicit cast.
  • Breaking into debugger under OS X works again and no longer requires DEBUG to be defined.
  • Compilation no longer breaks under certain compiler if a lambda is used inside assertion macro.

Other:

  • Catch's CMakeLists now defines install command.
  • Catch's CMakeLists now generates projects with warnings enabled.

v1.6.1

20 Jan 11:51
Compare
Choose a tag to compare

Features/ Changes:

  • Catch now supports breaking into debugger on Linux

Fixes:

  • Generators no longer leak memory (generators are still unsupported in general)
  • JUnit reporter now reports UTC timestamps, instead of "tbd"
  • CHECK_THAT macro is now properly defined as CATCH_CHECK_THAT when using CATCH_ prefixed macros

Other:

  • Types with overloaded && operator are no longer evaluated twice when used in an assertion macro.
  • The use of __COUNTER__ is supressed when Catch is parsed by CLion
    • This change is not active when compiling a binary
  • Approval tests can now be run on Windows
  • CMake will now warn if a file is present in the include folder but not is not enumerated as part of the project
  • Catch now defines NOMINMAX and WIN32_LEAN_AND_MEAN before including windows.h

v1.6.0

11 Jan 16:48
Compare
Choose a tag to compare

Cmake/ projects:

  • Moved CMakeLists.txt to root, made it friendlier for CLion and generating XCode and VS projects, and removed the manually maintained XCode and VS projects.

Features/ Changes:

  • Approx now supports >= and <=
  • Can now use \ to escape chars in test names on command line
  • Standardize C++11 feature toggles

Fixes:

  • Blue shell colour
  • Missing argument to CATCH_CHECK_THROWS
  • Don't encode extended ASCII in XML
  • use std::shuffle on more compilers (fixes deprecation warning/error)
  • Use __COUNTER__ more consistently (where available)

Other:

  • Tweaks and changes to scripts - particularly for Approval test - to make them more portable

V1.5.0

25 Apr 18:10
Compare
Choose a tag to compare

Now uses Clara 0.0.2.3 - which has a new parser and now supports forward slash introduced short opts on Windows.

v1.4.0

25 Apr 18:03
Compare
Choose a tag to compare

Unique names are generated using COUNTER, where possible, to make them unique even across translation units.
The --use-colour command line argument has been added to given finer control over how colour is used

  • various other bug fixes and documentation corrections.

v1.3.0

15 Dec 18:36
Compare
Choose a tag to compare

Release notes:

Can manually register test functions (as discussed in #421).

Exception translators considered even for types deriving from std::exception (#498)

Added &&, || and ! operator overloads for matchers

Not matcher #482

New section tracker (mostly for internal reasons - but also fixes #519)

Fix infinite loop/ uncaught_exception issue #495, #271 (and possibly #352)

Added Listeners (programatically provided extra reporters) #475

Set group name to -n parameter (or exe name) - as discussed in #469

long long support #97

_THROWS_WITH macros - with matchers #394

Reseeds rng before each test case and provides access to seed through Catch::rngSeed() function #453

v1.2.1

30 Jun 17:33
Compare
Choose a tag to compare

This patch release includes a (potential) fix for use of incomplete type (TrackedSection) #450 and an extension of the compiler feature toggles to allow suppression with NO forms.

First tagged, semantically versioned, release

30 Jun 17:44
Compare
Choose a tag to compare

Going forward releases should follow the GitHub approach. Release commits will be tagged and the versioning is now following proper Semantic Versioning.
I'll try and write release notes too.