Skip to content

Releases: catchorg/Catch2

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.

v1.9.5

15 Jun 11:08
Compare
Choose a tag to compare

1.9.5

Fixes

  • Truthy expressions are now reconstructed properly, not as booleans (#914)
  • Various warnings are no longer erroneously suppressed in test files (files that include catch.hpp, but do not define CATCH_CONFIG_MAIN or CATCH_CONFIG_RUNNER) (#871)
  • Catch no longer fails to link when main is compiled as C++, but linked against Objective-C (#855)
  • Fixed incorrect gcc version detection when deciding to use __COUNTER__ (#928)
    • Previously any GCC with minor version less than 3 would be incorrectly classified as not supporting __COUNTER__.
  • Suppressed C4996 warning caused by upcoming updated to MSVC 2017, marking std::uncaught_exception as deprecated. (#927)

Improvements

  • CMake integration script now incorporates debug messages and registers tests in an improved way (#911)
  • Various documentation improvements

v1.9.4

16 May 12:01
Compare
Choose a tag to compare

Fixes

  • CATCH_FAIL macro no longer causes compilation error without variadic macro support
  • INFO messages are no longer cleared after being reported once

Improvements and minor changes

  • Catch now uses wmain when compiled under Windows and UNICODE is defined.
    • Note that Catch still officially supports only ASCII