Commit 1a1cde98f5e8868ca2f17707ab84dcae5718110e

Authored by Henry Fredrick Schreiner
1 parent 6c645b55

Updates to changelog

[skip ci]
Showing 1 changed file with 16 additions and 4 deletions
CHANGELOG.md
1 1 ## Version 1.8: Sets and Flags
2 2  
3   -Set handling has been completely replaced by a new backend that works as a Validator. This provides a single interface instead of the 16 different functions in App. It also allows ordered collections to be used, custom functions for filtering, and better help and error messages. Also new are inverted flags, which can cancel or reduce the count of flags, and can also support basic number assignment. A new `add_option_fn` lets you more easily program CLI11 options with the types you choose. Vector options now support a custom separator. Apps can now be composed with unnamed subcommand support.
  3 +Set handling has been completely replaced by a new backend that works as a Validator. This provides a single interface instead of the 16 different functions in App. It also allows ordered collections to be used, custom functions for filtering, and better help and error messages. You can also use a collection of pairs (like `std::map`) to transform the match into an output. Also new are inverted flags, which can cancel or reduce the count of flags, and can also support basic number assignment. A new `add_option_fn` lets you more easily program CLI11 options with the types you choose. Vector options now support a custom separator. Apps can now be composed with unnamed subcommand support.
4 4  
5   -* New `CL::IsMember` validator replaces set validation [#222]
  5 +* New `CLI::IsMember` validator replaces set validation [#222]
  6 +* IsMember also supports container of pairs, transform allows modification of result [#228]
6 7 * Much more powerful flags with different values [#211]
7 8 * `add_option` now supports bool due to unified bool handling [#211]
8 9 * Support for composable unnamed subcommands [#216]
9 10 * Custom vector separator [#209], [#221]
10 11 * Validators added for IP4 addresses and positive numbers [#210]
11   -* Minimum required Boost for optional Optionals has been corrected to 1.61
  12 +* Minimum required Boost for optional Optionals has been corrected to 1.61 [#226]
  13 +* Positionals can stop options from being parsed with `app.positionals_at_end()` [#223]
  14 +* Validators can be negated with `!` [#230], and now handle tname functions [#228]
  15 +* Better enum support and streaming helper [#233] and [#228]
  16 +* Cleanup for shadow warnings [#232]
12 17  
13 18 > ### Converting from CLI11 1.7:
14 19 >
15 20 > * `app.add_set("--name", value, {"choice1", "choice2"})` should become `app.add_option("--name", value)->check(CLI::IsMember({"choice1", "choice2"}))`
16   -> * The `_mutable` versions of this can be replaced by passing a pointer or shared pointer into `IsMember`
17 21 > * The `_ignore_case` version of this can be replaced by adding `CLI::ignore_case` to the argument list in `IsMember`
18 22 > * The `_ignore_underscore` version of this can be replaced by adding `CLI::ignore_underscore` to the argument list in `IsMember`
19 23 > * The `_ignore_case_underscore` version of this can be replaced by adding both functions listed above to the argument list in `IsMember`
  24 +> * If you want an exact match to the original choice after one of the modifier functions matches, use `->transform` instead of `->check`
  25 +> * The `_mutable` versions of this can be replaced by passing a pointer or shared pointer into `IsMember`
20 26 > * An error with sets now produces a `ValidationError` instead of a `ConversionError`
21 27  
22 28 [#209]: https://github.com/CLIUtils/CLI11/pull/209
... ... @@ -25,6 +31,12 @@ Set handling has been completely replaced by a new backend that works as a Valid
25 31 [#216]: https://github.com/CLIUtils/CLI11/pull/216
26 32 [#221]: https://github.com/CLIUtils/CLI11/pull/221
27 33 [#222]: https://github.com/CLIUtils/CLI11/pull/222
  34 +[#223]: https://github.com/CLIUtils/CLI11/pull/223
  35 +[#226]: https://github.com/CLIUtils/CLI11/pull/226
  36 +[#228]: https://github.com/CLIUtils/CLI11/pull/228
  37 +[#230]: https://github.com/CLIUtils/CLI11/pull/230
  38 +[#232]: https://github.com/CLIUtils/CLI11/pull/232
  39 +[#233]: https://github.com/CLIUtils/CLI11/pull/233
28 40  
29 41  
30 42 ## Version 1.7.1: Quick patch
... ...