Skip to content

v3.0.0-preview1

Pre-release
Pre-release
Compare
Choose a tag to compare
@horenmar horenmar released this 28 Dec 20:02
4005d87

This is a preview release for the changes in the next (v3) major version. The biggest change is that Catch2 is now primarily provided as a static library. Use Catch2Main or Catch2 CMake targets to link against it.

(Potentially) Breaking changes

  • ANON_TEST_CASE has been removed, use TEST_CASE with no arguments instead (#1220)
  • --list* commands no longer have non-zero return code (#1410)
  • --list-test-names-only has been removed (#1190)
    • You should use verbosity-modifiers for --list-tests instead
  • --list* commands are now piped through the reporters
    • The top-level reporter interface provides default implementation that works just as the old one
    • XmlReporter outputs a machine-parseable XML
  • TEST_CASE description support has been removed
    • If the second argument has text outside tags, the text will be ignored.
  • Hidden test cases are no longer included just because they don't match an exclusion tag
    • Previously, a TEST_CASE("A", "[.foo]") would be included by asking for ~[bar].
  • PredicateMatcher is no longer type erased.
    • This means that the type of the provided predicate is part of the PredicateMatcher's type
  • SectionInfo no longer contains section description as a member (#1319)
    • You can still write SECTION("ShortName", "Long and wordy description"), but the description is thrown away
    • The description type now must be a const char* or implicitly convertible to it

Fixes

  • The INFO macro no longer contains superfluous semicolon (#1456)
  • The --list* family of command line flags now return 0 on success (#1410, #1146)