Catch v3.0.0-preview1 Release Notes

Release Date: 2019-12-28 // over 4 years ago
  • ๐Ÿš€ 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)