From 66124d9e38f23762542be86bf26a5f5a56fbda4b Mon Sep 17 00:00:00 2001 From: Martin Moene Date: Mon, 28 Aug 2017 22:20:33 +0200 Subject: [PATCH] Make Current, Older releases sections, add subsections for each minor release --- docs/release-notes.md | 107 +++++++++++++++++++++++------------------- 1 file changed, 59 insertions(+), 48 deletions(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index d076c8b3..c7d47983 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -53,18 +53,23 @@ * New library (TextFlow) is used for formatting text to output -# 1.9.6 -### Improvements +# Older versions + +## 1.9.x + +### 1.9.6 + +#### Improvements * Catch's runtime overhead has been significantly decreased (#937, #939) * Added `--list-extra-info` cli option (#934). * It lists all tests together with extra information, ie filename, line number and description. -# 1.9.5 +### 1.9.5 -### Fixes +#### 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 define `CATCH_CONFIG_MAIN` or `CATCH_CONFIG_RUNNER`) (#871) * Catch no longer fails to link when main is compiled as C++, but linked against Objective-C (#855) @@ -72,35 +77,35 @@ * Previously any GCC with minor version less than 3 would be incorrectly classified as not supporting `__COUNTER__`. * Suppressed C4996 warning caused by upcoming updated to MSVC 2017, marking `std::uncaught_exception` as deprecated. (#927) -### Improvements +#### Improvements * CMake integration script now incorporates debug messages and registers tests in an improved way (#911) * Various documentation improvements -# 1.9.4 +### 1.9.4 -### Fixes +#### Fixes * `CATCH_FAIL` macro no longer causes compilation error without variadic macro support * `INFO` messages are no longer cleared after being reported once -### Improvements and minor changes +#### Improvements and minor changes * Catch now uses `wmain` when compiled under Windows and `UNICODE` is defined. * Note that Catch still officially supports only ASCII -# 1.9.3 +### 1.9.3 -### Fixes +#### Fixes * Completed the fix for (lack of) uint64_t in earlier Visual Studios -# 1.9.2 +### 1.9.2 -### Improvements and minor changes +#### 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::margin` and `Approx::operator()` didn't. -### Fixes +#### 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. @@ -108,22 +113,22 @@ * Catch no longer attempts to define `uint64_t` on windows (#862) * This was causing trouble when compiled under Cygwin -### Other +#### 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 `contrib` folder. -# 1.9.1 +### 1.9.1 -### Fixes +#### Fixes * Unexpected exceptions are no longer ignored by default (#885, #887) -# 1.9.0 +### 1.9.0 -### Improvements and minor changes +#### Improvements and minor changes * Catch no longer attempts to ensure the exception type passed by user in `REQUIRE_THROWS_AS` is a constant reference. * It was causing trouble when `REQUIRE_THROWS_AS` was used inside templated functions * This actually reverts changes made in v1.7.2 @@ -137,7 +142,7 @@ * When Catch is compiled using C++11, `Approx` is now constructible with anything that can be explicitly converted to `double`. * Captured messages are now printed on unexpected exceptions -### Fixes: +#### Fixes: * Clang's `-Wexit-time-destructors` should be suppressed for Catch's internals * GCC's `-Wparentheses` is now suppressed for all TU's that include `catch.hpp`. * This is functionally a revert of changes made in 1.8.0, where we tried using `_Pragma` based suppression. This should have kept the suppression local to Catch's assertions, but bugs in GCC's handling of `_Pragma`s in C++ mode meant that it did not always work. @@ -146,16 +151,18 @@ * [Details can be found in documentation](configuration.md#catch_config_cpp11_stream_insertable_check) -### Other notes: +#### Other notes: * We have added VS 2017 to our CI * Work on Catch 2 should start soon -# 1.8.2 +## 1.8.x + +### 1.8.2 -### Improvements and minor changes +#### Improvements and minor changes * TAP reporter now behaves as if `-s` was always set * This should be more consistent with the protocol desired behaviour. * Compact reporter now obeys `-d yes` argument (#780) @@ -169,7 +176,7 @@ * Listeners provide a way to hook into events generated by running your tests, including start and end of run, every test case, every section and every assertion. -### Fixes: +#### Fixes: * Catch no longer attempts to reconstruct expression that led to a fatal error (#810) * This fixes possible signal/SEH loop when processing expressions, where the signal was triggered by expression decomposition. * Fixed (C4265) missing virtual destructor warning in Matchers (#844) @@ -186,21 +193,21 @@ * Regression in Objective-C bindings (Matchers) fixed (#854) -### Other notes: +#### Other notes: * We have added VS 2013 and 2015 to our CI * Catch Classic (1.x.x) now contains its own, forked, version of Clara (the argument parser). -# 1.8.1 +### 1.8.1 -### Fixes +#### Fixes Cygwin issue with `gettimeofday` - `#define` was not early enough -# 1.8.0 +### 1.8.0 -### New features/ minor changes +#### New features/ minor changes * Matchers have new, simpler (and documented) interface. * Catch provides string and vector matchers. @@ -220,7 +227,7 @@ Cygwin issue with `gettimeofday` - `#define` was not early enough * `Approx` now supports an optional margin of absolute error * It has also received [new documentation](assertions.md#top). -### Fixes +#### Fixes * Silenced C4312 ("conversion from int to 'ClassName *") warnings in the evaluate layer. * Fixed C4512 ("assignment operator could not be generated") warnings under VS2013. * Cygwin compatibility fixes @@ -231,13 +238,15 @@ Cygwin issue with `gettimeofday` - `#define` was not early enough * Otherwise it is supressed for the whole TU * Fixed test spec parser issue (with escapes in multiple names) -### Other +#### Other * Various documentation fixes and improvements -# 1.7.2 +## 1.7.x -### Fixes and minor improvements +### 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) @@ -256,9 +265,9 @@ Other: * Silenced a few more warnings in different circumstances * Travis improvements -# 1.7.1 +### 1.7.1 -### Fixes: +#### Fixes: * Fixed inconsistency in defining `NOMINMAX` and `WIN32_LEAN_AND_MEAN` inside `catch.hpp`. * Fixed SEH-related compilation error under older MinGW compilers, by making Windows SEH handling opt-in for compilers other than MSVC. * For specifics, look into the [documentation](configuration.md#top). @@ -268,9 +277,9 @@ Other: * Fixed possible infinite recursion in Windows SEH. * Fixed possible compilation error caused by Catch's operator overloads being ambiguous in regards to user-defined templated operators. -## 1.7.0 +### 1.7.0 -### Features/ Changes: +#### Features/ Changes: * Catch now runs significantly faster for passing tests * Microbenchmark focused on Catch's overhead went from ~3.4s to ~0.7s. * Real world test using [JSON for Modern C++](https://github.com/nlohmann/json)'s test suite went from ~6m 25s to ~4m 14s. @@ -284,28 +293,30 @@ Other: * Certain characters (space, tab, etc) are now pretty printed. * This means that a `char c = ' '; REQUIRE(c == '\t');` would be printed as `' ' == '\t'`, instead of ` == 9`. -### Fixes: +#### Fixes: * Text formatting no longer attempts to access out-of-bounds characters under certain conditions. * THROW family of assertions no longer trigger `-Wunused-value` on expressions containing explicit cast. * Breaking into debugger under OS X works again and no longer required `DEBUG` to be defined. * Compilation no longer breaks under certain compiler if a lambda is used inside assertion macro. -### Other: +#### Other: * Catch's CMakeLists now defines install command. * Catch's CMakeLists now generates projects with warnings enabled. -## 1.6.1 +## 1.6.x -### Features/ Changes: +### 1.6.1 + +#### Features/ Changes: * Catch now supports breaking into debugger on Linux -### Fixes: +#### Fixes: * Generators no longer leak memory (generators are still unsupported in general) * JUnit reporter now reports UTC timestamps, instead of "tbd" * `CHECK_THAT` macro is now properly defined as `CATCH_CHECK_THAT` when using `CATCH_` prefixed macros -### Other: +#### Other: * Types with overloaded `&&` operator are no longer evaluated twice when used in an assertion macro. * The use of `__COUNTER__` is supressed when Catch is parsed by CLion * This change is not active when compiling a binary @@ -315,28 +326,28 @@ Other: * This can be disabled if needed, see [documentation](configuration.md#top) for details. -## 1.6.0 +### 1.6.0 -### Cmake/ projects: +#### Cmake/ projects: * Moved CMakeLists.txt to root, made it friendlier for CLion and generating XCode and VS projects, and removed the manually maintained XCode and VS projects. -### Features/ Changes: +#### Features/ Changes: * Approx now supports `>=` and `<=` * Can now use `\` to escape chars in test names on command line * Standardize C++11 feature toggles -### Fixes: +#### Fixes: * Blue shell colour * Missing argument to `CATCH_CHECK_THROWS` * Don't encode extended ASCII in XML * use `std::shuffle` on more compilers (fixes deprecation warning/error) * Use `__COUNTER__` more consistently (where available) -### Other: +#### Other: * Tweaks and changes to scripts - particularly for Approval test - to make them more portable -# Older versions +# 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 ---