From 9c700eca3e151376b7df8f51b4e1133c2fcae2e3 Mon Sep 17 00:00:00 2001 From: Henry Fredrick Schreiner Date: Wed, 4 Apr 2018 17:19:22 +0200 Subject: [PATCH] Adding changelog and readme mention --- CHANGELOG.md | 17 +++++++++++++++++ README.md | 3 +++ 2 files changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a62cb6bc..bab4cbcf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,27 @@ ## In progress +This version has some internal cleanup and improved support for the newest compilers. + +Note: This is the final release with `requires`, please switch to `needs`. + * Fix unlimited short options eating two values before checking for positionals when no space present [#90] * Symmetric exclude text when excluding options, exclude can be called multiple times [#64] +* Support for `std::optional`, `std::experimental::optional`, and `boost::optional` added if `__has_include` is supported [#95] +* All macros/CMake variables now start with `CLI11_` instead of just `CLI_` [#95] +* The internal stream was not being cleared before use in some cases. Fixed. [#95] + +Other, non-user facing changes: + +* Added `Macros.hpp` with better C++ mode discovery [#95] +* Deprecated macros added for all platforms +* C++17 is now tested on supported platforms [#95] +* Informational printout now added to CTest [#95] +* Better single file generation [#95] +* Added support for GTest on MSVC 2017 (but not in C++17 mode, will need next version of GTest) [#64]: https://github.com/CLIUtils/CLI11/issues/64 [#90]: https://github.com/CLIUtils/CLI11/issues/90 +[#95]: https://github.com/CLIUtils/CLI11/pull/95 ## Version 1.4: More feedback diff --git a/README.md b/README.md index 7a8862b3..b5a3b320 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,8 @@ An option name must start with a alphabetic character or underscore. For long op On a C++14 compiler, you can pass a callback function directly to `.add_flag`, while in C++11 mode you'll need to use `.add_flag_function` if you want a callback function. The function will be given the number of times the flag was passed. You can throw a relevant `CLI::ParseError` to signal a failure. +On a compiler that supports C++17's `__has_include`, you can also use `std::optional`, `std::experimental::optional`, and `boost::optional` directly in an `add_option` call. See [CLI11 Internals] for information on how this was done and how you can add your own converters. + ### Example * `"one,-o,--one"`: Valid as long as not a flag, would create an option that can be specified positionally, or with `-o` or `--one` @@ -421,6 +423,7 @@ CLI11 was developed at the [University of Cincinnati] to support of the [GooFit] [NSF Award 1414736]: https://nsf.gov/awardsearch/showAward?AWD_ID=1414736 [University of Cincinnati]: http://www.uc.edu [GitBook]: https://cliutils.gitlab.io/CLI11Tutorial +[CLI11 Internals]: https://cliutils.gitlab.io/CLI11Tutorial/chapters/internals.html [ProgramOptions.hxx]: https://github.com/Fytch/ProgramOptions.hxx [Argument Aggregator]: https://github.com/vietjtnguyen/argagg [Args]: https://github.com/Taywee/args