Releases: catchorg/Catch2
Releases · catchorg/Catch2
v2.0.0-develop.3
Fixes
- Fixed compilation error when comparing a pointer to long
NULL - Fixed missing platform detection when
CATCH_CONFIG_FAST_COMPILEwas used - Silenced unused return value warning in
wait-for-keypressoption - Enabled workaround for VS2017 issue with raw string literals in assertions
Improvements
- Added
CATCH_CONFIG_DISABLEcompile-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_CASEcan 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_INTERFACESso that, e.g., reporters can be implemented outside the main file.
Breaking changes
- reverted
-dsyntax to previous behaviour (so it takes an argument again,yesorno). - 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 -dcommand line option no longer takes an argument- Removed old, experimental, generators support (new version will be coming)
- Changed interface of
Catch::Sessionas it relates to Clara - in particular removedunusedTokens(), theunusedOptionBehaviourargument fromapplyCommandLine()and changed the type thatcli()returns. - Removed redundant
SCOPED_MSGandSCOPED_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::clogare redirected for reporters (#989)- Previously only
std::cerrwrites were redirected - Interleaved writes to
std::cerrandstd::clogare 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
ParseAndAddCatchTestscmake 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_MAINorCATCH_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_exceptionas 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_FAILmacro no longer causes compilation error without variadic macro supportINFOmessages are no longer cleared after being reported once
Improvements and minor changes
- Catch now uses
wmainwhen compiled under Windows andUNICODEis defined.- Note that Catch still officially supports only ASCII
v1.9.3
Fixes
- Completed the fix for (lack of) uint64_t in earlier Visual Studios
v1.9.2
Improvements and minor changes
- All of
Approx's member functions now accept strong typedefs in C++11 mode (#888)- Previously
Approx::scale,Approx::epsilon,Approx::marginandApprox::operator()didn't.
- Previously
Fixes
- POSIX signals are now disabled by default under QNX (#889)
- QNX does not support current enough (2001) POSIX specification
- JUnit no longer counts exceptions as failures if given test case is marked as ok to fail.
Catch::Optionshould now have its storage properly aligned.- Catch no longer attempts to define
uint64_ton windows (#862)- This was causing trouble when compiled under Cygwin
Other
- Catch is now compiled under MSVC 2017 using
std:c++latest(C++17 mode) in CI - We now provide cmake script that autoregisters Catch tests into ctest.
- See
contribfolder.
- See