Skip to content

Releases: catchorg/Catch2

v1.11.0

31 Oct 13:00
Compare
Choose a tag to compare

1.11.0

Fixes

  • The original expression in REQUIRE_FALSE( expr ) is now reporter properly as !( expr ) (#1051)
    • Previously the parentheses were missing and x != y would be expanded as !x != x
  • Approx::Margin is now inclusive (#952)
    • Previously it was meant and documented as inclusive, but the check itself wasn't
    • This means that REQUIRE( 0.25f == Approx( 0.0f ).margin( 0.25f ) ) passes, instead of fails
  • RandomNumberGenerator::result_type is now unsigned (#1050)

Improvements

  • __JETBRAINS_IDE__ macro handling is now CLion version specific (#1017)
    • When CLion 2017.3 or newer is detected, __COUNTER__ is used instead of
  • TeamCity reporter now explicitly flushes output stream after each report (#1057)
    • On some platforms, output from redirected streams would show up only after the tests finished running
  • ParseAndAddCatchTests now can add test files as dependency to CMake configuration
    • This means you do not have to manually rerun CMake configuration step to detect new tests

V2.0.0-develop.6

31 Oct 14:19
Compare
Choose a tag to compare
V2.0.0-develop.6 Pre-release
Pre-release

Improvements

  • Add pkg-config support to CMake install

Fixes

  • More usages of min and max are enclosed in parentheses to solve MFC macro issues (#1034)
  • Bitfield capture now compiles (#1027)
  • Expansion of *_FALSE now properly parenthesises original expression
  • Removed mismatch between pragma warning(push) and pragma warning(pop) in single include
  • Suppressed C4601 inside Catch
  • We now check if WINAPI_FAMILY is defined before using it to detect UWP build
  • Paths prefixed with '/' are parsed properly

V2.0.0-develop.5

12 Oct 12:08
Compare
Choose a tag to compare
V2.0.0-develop.5 Pre-release
Pre-release

Improvements

  • Added stringification for std::chrono::{duration,time_point}

Fixes

  • fixed benchmarks when using multiple reporters (which happens when you register a listener).
  • fixed command line parser (Clara) to report unrecognised options again
  • fixed single include for MSVC (#1020)
  • (partial) workaround for long-standing bug in some compilers' support for uncaught_exception() (#1028)

v2.0.0-develop.4

19 Sep 16:44
Compare
Choose a tag to compare

Improvements

  • More warnings are silenced
  • Don't use console colour if running in XCode
  • More compile time optimisations

Fixes

  • CATCH_CONFIG_FAST_COMPILE now now builds again
  • explicit constructor in reporter base class
  • Many fixes for building in Objective-C context
  • Fixed text formatting with multiple consecutive newlines (from Clara)

Breaking changes

  • Removed deprecated matcher utility functions Not, AllOf and AnyOf.
    • They are superseded by operators !, && and ||, which are natural and do not have limited arity
  • No longer accept non-const comparison operators

v2.0.0-develop.3

30 Aug 10:27
Compare
Choose a tag to compare

Fixes

  • Fixed compilation error when comparing a pointer to long NULL
  • Fixed missing platform detection when CATCH_CONFIG_FAST_COMPILE was used
  • Silenced unused return value warning in wait-for-keypress option
  • Enabled workaround for VS2017 issue with raw string literals in assertions

Improvements

  • Added CATCH_CONFIG_DISABLE compile-time toggle inspired by Doctest
    • Assertions are turned into no-ops
    • TEST_CASEs are not registered
    • Exception translators are not registered
    • Reporters are not registered
    • Listeners are not registered
    • Further improvements are coming
  • REGISTER_TEST_CASE can be now used in global scope to provide automatic registration of test function

Breaking changes

  • Removed legacy [hide] tag
    • [!hide], [.] and [.foo] are kept

v1.10.0

26 Aug 13:35
Compare
Choose a tag to compare

1.10.0

Fixes

  • Evaluation layer has been rewritten (backported from Catch 2)
    • The new layer is much simpler and fixes some issues (#981)
  • Implemented workaround for VS 2017 raw string literal stringification bug (#995)
  • Fixed interaction between [!shouldfail] and [!mayfail] tags and sections
    • Previously sections with failing assertions would be marked as failed, not failed-but-ok

Improvements

  • Added libidentify support
  • Added "wait-for-keypress" option

v2.0.0-develop.2

18 Aug 15:04
Compare
Choose a tag to compare
v2.0.0-develop.2 Pre-release
Pre-release

Fixes

  • fixed issue when comparing non-copyable values
  • fixed issue with exception message checking with matchers

Features

  • introduced CATCH_CONFIG_EXTERNAL_INTERFACES so that, e.g., reporters can be implemented outside the main file.

Breaking changes

  • reverted -d syntax to previous behaviour (so it takes an argument again, yes or no).
  • removed deprecated INTERNAL_CATCH_REGISTER_LISTENER (use CATCH_REGISTER_LISTENER)

v2.0.0-develop.1

17 Aug 08:15
Compare
Choose a tag to compare
v2.0.0-develop.1 Pre-release
Pre-release

2.0.0-develop.1

This is the first beta release of Catch2, which rebases on C++11.

It includes many changes - some breaking - including:

Internal

  • Migrated lots of code to C++11 and removed most compatibility workarounds
  • Reworked expression decomposition layer - now much simpler and less code
  • Added, and started using in some places, a StringRef, which is similar to C++17's string_view
  • Use new, rewritten, version of Clara (for command line parsing)
  • Use new, rewritten, text formatting sub-lib, TextFlow.
  • Full project now has .cpp files instead of headers with implementation - still merged down to a single header.
  • Lots of other fixes and tweaks

Features

  • Can now use commas in assertion macros (e.g. when using template argument lists)
  • Command line can now be easily extended (as Clara has a composable interface)
  • Experimental micro-benchmarking support added

Breaking

  • Removed Catch::toString() - you must now specialise Catch::StringMaker<> instead
  • -d command line option no longer takes an argument
  • Removed old, experimental, generators support (new version will be coming)
  • Changed interface of Catch::Session as it relates to Clara - in particular removed unusedTokens(), the unusedOptionBehaviour argument from applyCommandLine() and changed the type that cli() returns.
  • Removed redundant SCOPED_MSG and SCOPED_CAPTURE

v1.9.7

10 Aug 22:01
Compare
Choose a tag to compare

1.9.7

Fixes

  • Various warnings from clang-tidy, Resharper-C++ and PVS Studio have been addressed (#957)
  • Dynamically generated sections are now properly reported (#963)
  • Writes to std::clog are redirected for reporters (#989)
    • Previously only std::cerr writes were redirected
    • Interleaved writes to std::cerr and std::clog are combined properly
  • Assertions failed before signals/structured exceptions fails test case are properly reported as failed (#990)

Improvements

  • Catch's runtime overhead has been decreased further (#940)
  • Added support for IBM i ILE c++ compiler (#976)
    • This means that AS/400 is now supported.
  • The default reporter can be configured at compile time (#978)
    • That is, the reporter used if no reporter is explicitly specified

Other

  • ParseAndAddCatchTests cmake script has couple new customization options

v1.9.6

27 Jun 10:27
Compare
Choose a tag to compare

1.9.6

Improvements

  • Catch's runtime overhead has been significantly decreased (#937, #939)
  • Added --list-extra-info cli option (#934).
    • It lists all tests together with extra information, ie filename, line number and description.