Showing content from https://github.com/CLIUtils/CLI11/releases below:
Releases · CLIUtils/CLI11 · GitHub
Releases: CLIUtils/CLI11
Releases · CLIUtils/CLI11
Version 2.5.0: Formatter
This version add a new formatter with improved control capabilities and output aligned with standards for help output. It also add a modifier to enable use of non-standard option names. Along with several bug fixes for edge cases in string and config file parsing.
- Better help formatter #866, this better aligns the help generation with UNIX standard and allows use in help2man. #1093
- Add mechanism to allow option groups to be hidden and all options be considered part of the parent for help display #1039
- Add a modifier to allow non-standard single flag option names such as
-option
. #1078
- Add modifier for subcommands to disable fallthrough which can resolve some issues with positional arguments #1073
- Add some polish to config file output removing some unnecessary output and add modifier to control output of default values #1075
- Add the ability to specify pair/tuple defaults and improved parsing #1081
- Bugfix: Take the configurability of an option name into account when determining naming conflicts #1049
- Bugfix: Fix an issue where an extra subcommand header was being printed in the output #1058
- Bugfix: Add additional fuzzing tests and fixes for a bug in escape string processing, and resolve inconsistencies in the handing of
{}
between command line parsing and config file parsing. #1060
- Bugfix: Improve handling of some ambiguities in vector input processing for config files, specifically in the case of vector of vector inputs. #1069
- Bugfix: Fix an issue in the handling of uint8_t enums, and some issues related to single element tuples #1087
- Bugfix: Fix an issue with binary strings containing a
\x
#1097
- Bugfix: Move the help generation priority so it triggers before config file processing #1106
- Bugfix: Fixed an issue where max/min on positionals was not being respected and optional positionals were being ignored #1108
- Bugfix: Fix an issue with strings which started and ended with brackets being misinterpreted as vectors. The parsing now has special handling of strings which start with
[[
#1110
- Bugfix: Fix some macros for support in C++26 related to wide string parsing #1113
- Bugfix: Allow trailing spaces on numeric string conversions #1115
- Docs: Update pymod.find_installation to find python in meson.build #1076
- Docs: Add example for transform validators #689
- Docs: Fix several spelling mistakes #1101
- Backend: Update copyright dates to 2025 #1112
- Backend: Update CMake minimum version to 3.10 #1084
New Contributors
Full Changelog: v2.4.2...v2.5.0
Version 2.4.2: Build systems
This version improves support for alternative build systems, like Meson and Bazel. The single-include file now is in its own subdirectory. Several smaller fixes as well.
What's Changed
- Meson: fixes, cleanups, and modernizations #1024 & #1025
- Support building with Bazel #1033
- Restore non-arch dependent path for the pkgconfig file #1012
- Add
get_subcommand_no_throw
#1016
- Move single file to
single-include
folder #1030 & #1036
- Fixed
app.set_failure_message(...)
-> app.failure_message(...)
#1018
- Add IWYU pragmas #1008
- Fix internal header include paths #1011
- Improved clarity in
RequiredError
#1029
- Added ability to use lexical_cast overloads constrained with enable_if #1021
- Bug fixes in latest release related to environmental variable parsing from option groups and unrecognized fields in a config file #1005
New Contributors
Full Changelog: v2.4.1...v2.4.2
Version 2.4.1
A transitive include that might be present in some standard libraries is now included directly. Also fixes a test on architectures that need libatomic linked and fixes an inadvertent breaking change regarding unused defaults for config files.
- Bugfix: Include cstdint #996
- Bugfix: Fix change in operation of config_ptr with unused default in the count method #1003
- Tests: Include libatomic if required for fuzzing test #1000
Full Changelog: v2.4.0...v2.4.1
Version 2.4.0
This version adds Unicode support, support for TOML standard including multiline strings, digit separators, string escape sequences,and dot notation. An initial round of a fuzzer was added to testing which has caught several bugs related to config file processing, and a few other edge cases not previously observed.
- Add Unicode support and bug fixes #804, #923, #876, #848, #832, #987
- Match TOML standard for string and numerical entries, multiline strings #968, #967,#964, #935
- Add validation for environmental variables #926
- Add an escape string transform #970
- Add A REVERSE multi-option policy to support multiple config files and other applications #918
- Add usage message replacement #768
- Allow using dot notation for subcommand arguments such as
--sub1.field
#789
- Bugfix: Fuzzing tests and fixes #930, #905, #874, #846
- Bugfix: Missing coverage tests #928
- Bugfix: CMake package and package config tests and fixes #916
- Bugfix: Support for Windows ARM compilation and tests #913, #914
- Bugfix: Environmental variable checks in non-triggered subcommands #904
- Bugfix: Environmental variables were not being correctly process by config pointer #891
- Bugfix: Undefined behavior in
sum_string_vector
#893
- Bugfix: Warnings and updates for CUDA 11 support #851
- Backend: Add tests for newer compilers (lost with Travis CI) #972
- Backend: Increase minimum CMake to 3.5 #898
- Backend: Remove integrated Conan support (provided now by Conan center) #853
- Tests: Support Catch2 Version 3 #896, #980
New Contributors
Full Changelog: v2.3.2...v2.4.0
Version 2.3.2: Minor maintenance
This version provides a few fixes collected over the last three months before adding features for 2.4.
- Bugfix: Consistently use ADL for
lexical_cast
, making it easier to extend for custom template types #820
- Bugfix: Tweak the parsing of files for flags with
disable_flag_override
#800]
- Bugfix: Handle out of bounds long long #807
- Bugfix: Spacing of
make_description
min option output #808
- Bugfix: Print last parsed subcommand's help message #822
- Bugfix: Avoid floating point warning in GCC 12 #803
- Bugfix: Fix a few gcc warnings #813
- Backend: Max CMake tested 3.22 -> 3.24 #823
New Contributors
Full Changelog: v2.3.1...v2.3.2
Version 2.3.1: Missing function implementation
A function implementation was missing after the pre-compile move, missed due to the fact we lost 100% after losing coverage checking. We are working on filling out 100% coverage again to ensure this doesn't happen again!
- Bugfix:
App::get_option_group
implementation missing #793
- Bugfix: Fix spacing when setting an empty footer #796
- Bugfix: Address Klocwork static analysis checking issues #785
Version 2.3: Precompilation Support
This version adds a pre-compiled mode to CLI11, which allows you to precompile the library, saving time on incremental rebuilds, making CLI11 more competitive on compile time with classic compiled CLI libraries. The header-only mode is still default, and is not yet distributed via binaries.
- Add
CLI11_PRECOMPILED
as an option. #762
- Bugfix: Include
<functional>
in FormatterFwd
#727
- Bugfix: Add missing
Macros.hpp
to Error.hpp
#755
- Bugfix: Fix subcommand callback trigger #733
- Bugfix: Variable rename to avoid warning #734
- Bugfix:
split_program_name
single file name error #740
- Bugfix: Better support for min/max overrides on MSVC #741
- Bugfix: Support MSVC 2022 #748
- Bugfix: Support negated flag in config file #775
- Bugfix: Better errors for some confusing config file situations #781
- Backend: Restore coverage testing (lost with Travis CI) #747
New Contributors
Full Changelog: v2.2.0...v2.3.0
Version 2.2: Option and Configuration Flexibility
New features include support for output of an empty vector, a summing option policy that can be applied more broadly, and an option to validate optional arguments to discriminate from positional arguments. A new validator to check for files on a default path is included to allow one or more default paths for configuration files or other file arguments. A number of bug fixes and code cleanup for various build configurations. Clean up of some error outputs and extension of existing capability to new types or situations.
There is a possible minor breaking change in behavior of certain types which wrapped an integer, such as std::atomic<int>
or std::optional<int>
when used in a flag. The default behavior is now as a single argument value vs. summing all the arguments. The default summing behavior is now restricted to pure integral types, int64_t, int, uint32_t, etc. Use the new sum
multi option policy to revert to the older behavior. The summing behavior on wrapper types was not originally intended.
- Add
MultiOptionPolicy::Sum
and refactor the add_flag
to fix a bug when using std::optional<bool>
as type. #709
- Add support for an empty vector result in TOML and as a default string. #660
- Add
.validate_optional_arguments()
to support discriminating positional arguments from vector option arguments. #668
- Add
CLI::FileOnDefaultPath
to check for files on a specified default path. #698
- Change default value display in help messages from
=XXXX
to [XXXXX]
to make it clearer. #666
- Modify the Range Validator to support additional types and clean up the error output. #690
- Bugfix: The trigger on parse modifier did not work on positional arguments. #713
- Bugfix: The single header file generation was missing custom namespace generation. #707
- Bugfix: Clean up File Error handling in the argument processing. #678
- Bugfix: Fix a stack overflow error if nameless commands had fallthrough. #665
- Bugfix: A subcommand callback could be executed multiple times if it was a member of an option group. #666
- Bugfix: Fix an issue with vectors of multi argument types where partial argument sets did not result in an error. #661
- Bugfix: Fix an issue with type the template matching on C++20 and add some CI builds for C++20. #663
- Bugfix: Fix typo in C++20 detection on MSVC. #706
- Bugfix: An issue where the detection of RTTI being disabled on certain MSVC platforms did not disable the use of dynamic cast calls. #666
- Bugfix: Resolve strict-overflow warning on some GCC compilers. #666
- Backend: Add additional tests concerning the use of aliases for option groups in config files. #666
- Build: Add support for testing in meson and cleanup symbolic link generation. #701, #697
- Build: Support building in WebAssembly. #679
Version 2.1.2: Better subproject builds
- Use
main
for the main branch of the repository #657
- Bugfix(cmake): Enforce at least C++11 when using CMake target #656
- Build: Don't run doxygen and CTest includes if a submodule #656
- Build: Avoid a warning on CMake 3.22 #656
- Build: Support compiling the tests with an external copy of Catch2 #653
Version 2.1.1: Quick Windows fix
- A collision with
min
/max
macros on Windows has been fixed. #642
- Tests pass with Boost again #646
- Running the pre-commit hooks in development no longer requires docker for clang-format #647
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4