Releases: catchorg/Catch2
Releases · catchorg/Catch2
V2.0.0-develop.5
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
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
andAnyOf
.- They are superseded by operators
!
,&&
and||
, which are natural and do not have limited arity
- They are superseded by operators
- No longer accept non-const comparison operators
v2.0.0-develop.3
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_CASE
s 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
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
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
orno
). - removed deprecated
INTERNAL_CATCH_REGISTER_LISTENER
(useCATCH_REGISTER_LISTENER
)
v2.0.0-develop.1
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'sstring_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 specialiseCatch::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 removedunusedTokens()
, theunusedOptionBehaviour
argument fromapplyCommandLine()
and changed the type thatcli()
returns. - Removed redundant
SCOPED_MSG
andSCOPED_CAPTURE
v1.9.7
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
andstd::clog
are combined properly
- Previously only
- 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
v1.9.5
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 defineCATCH_CONFIG_MAIN
orCATCH_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__
.
- Previously any GCC with minor version less than 3 would be incorrectly classified as not supporting
- 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
Fixes
CATCH_FAIL
macro no longer causes compilation error without variadic macro supportINFO
messages are no longer cleared after being reported once
Improvements and minor changes
- Catch now uses
wmain
when compiled under Windows andUNICODE
is defined.- Note that Catch still officially supports only ASCII