CLI11 v1.5 Release Notes
-
๐ This version introduced support for optionals, along with clarification and examples of custom conversion overloads. Enums now have been dropped from the automatic conversion system, allowing explicit protection for out-of-range ints (or a completely custom conversion). This version has some internal cleanup and ๐ improved support for the newest compilers. Several bugs were fixed, as well.
๐ Note: This is the final release with
requires
, please switch toneeds
.- ๐ 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
, andboost::optional
added if__has_include
is supported #95 - All macros/CMake variables now start with
CLI11_
instead of justCLI_
#95 - ๐ The internal stream was not being cleared before use in some cases. Fixed. #95
- Using an enum now requires explicit conversion overload #97
- ๐ The separator
--
now is removed when it ends unlimited arguments #100
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)
- Types now have a specific size, separate from the expected number - cleaner and more powerful internally #92
- โ Examples now run as part of testing #99