diff --git a/CMakeLists.txt b/CMakeLists.txt
index f42f57e0..46dfd735 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,7 @@ if(NOT DEFINED PROJECT_NAME)
set(NOT_SUBPROJECT ON)
endif()
-project(Catch2 LANGUAGES CXX VERSION 2.2.0)
+project(Catch2 LANGUAGES CXX VERSION 2.2.1)
include(GNUInstallDirs)
diff --git a/README.md b/README.md
index e07f26e7..8aae143c 100644
--- a/README.md
+++ b/README.md
@@ -5,9 +5,9 @@
[![Build Status](https://travis-ci.org/catchorg/Catch2.svg?branch=master)](https://travis-ci.org/catchorg/Catch2)
[![Build status](https://ci.appveyor.com/api/projects/status/github/catchorg/Catch2?svg=true)](https://ci.appveyor.com/project/catchorg/catch2)
[![codecov](https://codecov.io/gh/catchorg/Catch2/branch/master/graph/badge.svg)](https://codecov.io/gh/catchorg/Catch2)
-[![Try online](https://img.shields.io/badge/try-online-blue.svg)](https://wandbox.org/permlink/vOtfjd7LKmcj4JqD)
+[![Try online](https://img.shields.io/badge/try-online-blue.svg)](https://wandbox.org/permlink/zDKMK3eGMC9IP2jy)
-The latest version of the single header can be downloaded directly using this link
+The latest version of the single header can be downloaded directly using this link
## Catch2 is released!
diff --git a/conanfile.py b/conanfile.py
index 6d24a73c..212da6a9 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -4,7 +4,7 @@ from conans import ConanFile
class CatchConan(ConanFile):
name = "Catch"
- version = "2.2.0"
+ version = "2.2.1"
description = "A modern, C++-native, header-only, framework for unit-tests, TDD and BDD"
author = "philsquared"
generators = "cmake"
diff --git a/docs/release-notes.md b/docs/release-notes.md
index ca9330db..13ee3593 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -1,5 +1,14 @@
+# 2.2.1
+
+## Fixes
+* Fixed compilation error when compiling Catch2 with `std=c++17` against libc++ (#1214)
+ * Clara (Catch2's CLI parsing library) used `std::optional` without including it explicitly
+* Fixed Catch2 return code always being 0 (#1215)
+ * In the words of STL, "We feel superbad about letting this in"
+
+
# 2.2.0
## Fixes
diff --git a/include/catch.hpp b/include/catch.hpp
index ebad166e..9ea776de 100644
--- a/include/catch.hpp
+++ b/include/catch.hpp
@@ -11,7 +11,7 @@
#define CATCH_VERSION_MAJOR 2
#define CATCH_VERSION_MINOR 2
-#define CATCH_VERSION_PATCH 0
+#define CATCH_VERSION_PATCH 1
#ifdef __clang__
# pragma clang system_header
diff --git a/include/internal/catch_version.cpp b/include/internal/catch_version.cpp
index aab90cf0..91a1e3bf 100644
--- a/include/internal/catch_version.cpp
+++ b/include/internal/catch_version.cpp
@@ -37,7 +37,7 @@ namespace Catch {
}
Version const& libraryVersion() {
- static Version version( 2, 2, 0, "", 0 );
+ static Version version( 2, 2, 1, "", 0 );
return version;
}
diff --git a/single_include/catch.hpp b/single_include/catch.hpp
index c36a9878..081cb41d 100644
--- a/single_include/catch.hpp
+++ b/single_include/catch.hpp
@@ -1,6 +1,6 @@
/*
- * Catch v2.2.0
- * Generated: 2018-03-07 10:56:32.217228
+ * Catch v2.2.1
+ * Generated: 2018-03-11 12:01:31.654719
* ----------------------------------------------------------
* This file has been merged from multiple headers. Please don't edit it directly
* Copyright (c) 2018 Two Blue Cubes Ltd. All rights reserved.
@@ -15,7 +15,7 @@
#define CATCH_VERSION_MAJOR 2
#define CATCH_VERSION_MINOR 2
-#define CATCH_VERSION_PATCH 0
+#define CATCH_VERSION_PATCH 1
#ifdef __clang__
# pragma clang system_header
@@ -5134,7 +5134,7 @@ namespace Catch {
//
// See https://github.com/philsquared/Clara for more details
-// Clara v1.1.3
+// Clara v1.1.4
#ifndef CATCH_CLARA_CONFIG_CONSOLE_WIDTH
@@ -5148,6 +5148,7 @@ namespace Catch {
#ifndef CLARA_CONFIG_OPTIONAL_TYPE
#ifdef __has_include
#if __has_include() && __cplusplus >= 201703L
+#include
#define CLARA_CONFIG_OPTIONAL_TYPE std::optional
#endif
#endif
@@ -5784,11 +5785,11 @@ namespace detail {
}
#ifdef CLARA_CONFIG_OPTIONAL_TYPE
template
- inline auto convertInto( std::string const &source, std::optional& target ) -> ParserResult {
+ inline auto convertInto( std::string const &source, CLARA_CONFIG_OPTIONAL_TYPE& target ) -> ParserResult {
T temp;
auto result = convertInto( source, temp );
if( result )
- target = temp;
+ target = std::move(temp);
return result;
}
#endif // CLARA_CONFIG_OPTIONAL_TYPE
@@ -9237,7 +9238,7 @@ namespace Catch {
// Note that on unices only the lower 8 bits are usually used, clamping
// the return value to 255 prevents false negative when some multiple
// of 256 tests has failed
- return (std::min)( { MaxExitCode, totals.error, static_cast( totals.assertions.failed ) } );
+ return (std::min) (MaxExitCode, (std::max) (totals.error, static_cast(totals.assertions.failed)));
}
catch( std::exception& ex ) {
Catch::cerr() << ex.what() << std::endl;
@@ -10806,7 +10807,7 @@ namespace Catch {
}
Version const& libraryVersion() {
- static Version version( 2, 2, 0, "", 0 );
+ static Version version( 2, 2, 1, "", 0 );
return version;
}
diff --git a/test_package/conanfile.py b/test_package/conanfile.py
index f47fd11d..3861db63 100644
--- a/test_package/conanfile.py
+++ b/test_package/conanfile.py
@@ -10,7 +10,7 @@ class CatchConanTest(ConanFile):
settings = "os", "compiler", "arch", "build_type"
username = getenv("CONAN_USERNAME", "philsquared")
channel = getenv("CONAN_CHANNEL", "testing")
- requires = "Catch/2.2.0@%s/%s" % (username, channel)
+ requires = "Catch/2.2.1@%s/%s" % (username, channel)
def build(self):
cmake = CMake(self)