Release notes

Contents
3.8.0
3.7.1
3.7.0
3.6.0
3.5.4
3.5.3
3.5.2
3.5.1
3.5.0
3.4.0
3.3.2
3.3.1
3.3.0
3.2.1
3.2.0
3.1.1
3.1.0
3.0.1
2.13.7
2.13.6
2.13.5
2.13.4
2.13.3
2.13.2
2.13.1
2.13.0
2.12.4
2.12.3
2.12.2
2.12.1
2.12.0
2.11.3
2.11.2
2.11.1
2.11.0
2.10.2
2.10.1
2.10.0
2.9.2
2.9.1
2.9.0
2.8.0
2.7.2
2.7.1
2.7.0
2.6.1
2.6.0
2.5.0
2.4.2
2.4.1
2.4.0
2.3.0
2.2.3
2.2.2
2.2.1
2.2.0
2.1.2
2.1.1
2.1.0
2.0.1
Older versions
Even Older versions

3.8.0

Improvements

Fixes

Miscellaneous

3.7.1

Improvements

Fixes

Miscellaneous

3.7.0

Improvements

Miscellaneous

3.6.0

Fixes

Improvements

Miscellaneous

3.5.4

Fixes

Improvements

Miscellaneous

3.5.3

Fixes

Improvements

Miscellaneous

3.5.2

Fixes

3.5.1

Improvements

Miscellaneous

3.5.0

Improvements

Fixes

Miscellaneous

3.4.0

Improvements

Fixes

Miscellaneous

3.3.2

Improvements

Fixes

3.3.1

Improvements

3.3.0

Improvements

Fixes

Miscellaneous

3.2.1

Improvements

3.2.0

Improvements

Fixes

Miscellaneous

3.1.1

Improvements

Fixes

Miscellaneous

3.1.0

Improvements

Fixes

Miscellaneous

3.0.1

Catch2 now uses statically compiled library as its distribution model. This also means that to get all of Catch2’s functionality in a test file, you have to include multiple headers.

You probably want to look into the migration docs, which were written to help people coming from v2.x.x versions to the v3 releases.

FAQ

(Potentially) Breaking changes

Improvements

task debug build release build
Run 1M REQUIRE(true) 1.10 ± 0.01 1.02 ± 0.06
Run 100 tests, 3^3 sections, 1 REQUIRE each 1.27 ± 0.01 1.04 ± 0.01
Run 3k tests, no names, no tags 1.29 ± 0.01 1.05 ± 0.01
Run 3k tests, names, tags 1.49 ± 0.01 1.22 ± 0.01
Run 1 out of 3k tests no names, no tags 1.68 ± 0.02 1.19 ± 0.22
Run 1 out of 3k tests, names, tags 1.79 ± 0.02 2.06 ± 0.23

Fixes

Other changes

2.13.7

Fixes

2.13.6

Fixes

Miscellaneous

2.13.5

Improvements

Fixes

Miscellaneous

2.13.4

Improvements

Miscellaneous

2.13.3

Fixes

Miscellaneous

2.13.2

Improvements

Fixes

Miscellaneous

2.13.1

Improvements

Fixes

2.13.0

Improvements

Fixes

2.12.4

Improvements

2.12.3

Fixes

Improvements

Miscellaneous

2.12.2

Fixes

Improvements

2.12.1

Fixes

Improvements

2.12.0

Improvements

Fixes

Miscellaneous

2.11.3

Fixes

2.11.2

Improvements

Fixes

2.11.1

Improvements

Fixes

2.11.0

Improvements

Fixes

2.10.2

Improvements

Fixes

2.10.1

Improvements

Fixes

Miscellaneous

2.10.0

Fixes

Improvements

Miscellaneous

2.9.2

Fixes

Improvements

Miscellaneous

2.9.1

Fixes

2.9.0

Improvements

2.8.0

Improvements

Fixes

Miscellaneous

2.7.2

Improvements

Fixes

Miscellaneous

2.7.1

Improvements

Fixes

2.7.0

Improvements

Fixes

Contrib

2.6.1

Improvements

Fixes

2.6.0

With this release the data generator feature is now fully supported.

Improvements

Fixes

Contrib

Miscellaneous

2.5.0

Improvements

Fixes

Miscellaneous

2.4.2

Improvements

Fixes

Contrib

2.4.1

Improvements

Fixes

2.4.0

This release brings two new experimental features, generator support and a -fno-exceptions support. Being experimental means that they will not be subject to the usual stability guarantees provided by semver.

Improvements

Fixes

CMake

2.3.0

This release changes the include paths provided by our CMake and pkg-config integration. The proper include path for the single-header when using one of the above is now <catch2/catch.hpp>. This change also necessitated changes to paths inside the repository, so that the single-header version is now at single_include/catch2/catch.hpp, rather than single_include/catch.hpp.

Fixes

Improvements

2.2.3

To fix some of the bugs, some behavior had to change in potentially breaking manner. This means that even though this is a patch release, it might not be a drop-in replacement.

Fixes

Improvements

Miscellaneous

2.2.2

Fixes

Improvements

Others

2.2.1

Fixes

2.2.0

Fixes

Improvements

2.1.2

Fixes

Improvements

Other changes

2.1.1

Improvements

Fixes

Other changes

2.1.0

Improvements

Fixes

New features

Other changes

2.0.1

Breaking changes

Improvements

Fixes

Internal changes

Older versions

1.12.x

1.12.2

Fixes

1.12.1

Fixes

1.12.0

Fixes

1.11.x

1.11.0

Fixes
Improvements

1.10.x

1.10.0

Fixes
Improvements

1.9.x

1.9.6

Improvements

1.9.5

Fixes
Improvements

1.9.4

Fixes
Improvements and minor changes

1.9.3

Fixes

1.9.2

Improvements and minor changes
Fixes
Other

1.9.1

Fixes

1.9.0

Improvements and minor changes
Fixes:
Other notes:

1.8.x

1.8.2

Improvements and minor changes
Fixes:
Other notes:

1.8.1

Fixes

Cygwin issue with gettimeofday - #define was not early enough

1.8.0

New features/ minor changes
Fixes
Other

1.7.x

1.7.2

Fixes and minor improvements

Xml:

(technically the first two are breaking changes but are also fixes and arguably break few if any people) * C-escape control characters instead of XML encoding them (which requires XML 1.1) * Revert XML output to XML 1.0 * Can provide stylesheet references by extending the XML reporter * Added description and tags attributes to XML Reporter * Tags are closed and the stream flushed more eagerly to avoid stdout interpolation

Other: * REQUIRE_THROWS_AS now catches exception by const& and reports expected type * In SECTIONs the file/ line is now of the SECTION. not the TEST_CASE * Added std:: qualification to some functions from C stdlib * Removed use of RTTI (dynamic_cast) that had crept back in * Silenced a few more warnings in different circumstances * Travis improvements

1.7.1

Fixes:

1.7.0

Features/ Changes:
Fixes:
Other:

1.6.x

1.6.1

Features/ Changes:
Fixes:
Other:

1.6.0

Cmake/ projects:
Features/ Changes:
Fixes:
Other:

Even Older versions

Release notes were not maintained prior to v1.6.0, but you should be able to work them out from the Git history


Home