CLI11 v2.0 Release Notes

  • ๐Ÿ—„ This version focuses on cleaning up deprecated functionality, and some minor 0๏ธโƒฃ default changes. The config processing is TOML compliant now. Atomics and ๐Ÿ‘ complex numbers are directly supported, along with other container improvements. A new version flag option has finally been added. Subcommands are significantly ๐Ÿ‘Œ improved with new features and bugfixes for corner cases. This release contains โœ… a lot of backend cleanup, including a complete overhaul of the testing system and single file generation system.

    • Built-in config format is TOML compliant now #435
      • Support multiline TOML #528
      • Support for configurable quotes #599
      • Support short/positional options in config mode #443
    • ๐Ÿ‘ More powerful containers, support for %% separator #423
    • ๐Ÿ‘Œ Support atomic types #520 and complex types natively #423
    • โž• Add a type validator CLI::TypeValidator<TYPE> #526
    • โž• Add a version flag easily #452, with help message #601
    • ๐Ÿ‘Œ Support ->silent() on subcommands. #529
    • โž• Add alias section to help for subcommands #545
    • ๐Ÿ‘ Allow quotes to specify a program name #605
    • Backend: redesigned MakeSingleFiles to have a higher level of manual control, to support future features. #546
    • ๐Ÿšš Backend: moved testing from GTest to Catch2 #574
    • ๐Ÿ›  Bugfix: avoid duplicated and missed calls to the final callback #584
    • ๐Ÿ›  Bugfix: support embedded newlines in more places #592
    • ๐Ÿ›  Bugfix: avoid listing helpall as a required flag #530
    • ๐Ÿ›  Bugfix: avoid a clash with WINDOWS define #563
    • ๐Ÿ›  Bugfix: the help flag didn't get processed when a config file was required #606
    • ๐Ÿ›  Bugfix: fix description of non-configurable subcommands in config #604
    • ๐Ÿ— Build: support pkg-config #523

    Converting from CLI11 1.9

    ๐Ÿšš > - Removed deprecated set commands, use validators instead. #565 0๏ธโƒฃ > - The final "defaulted" bool has been removed, use ->capture_default_str() 0๏ธโƒฃ > instead. Use app.option_defaults()->always_capture_default() to set this for all future options. #597

    • Use add_option on a complex number instead of add_complex, which has ๐Ÿšš > been removed.