Skip to content

Releases: CLIUtils/CLI11

Version 0.8: CLIUtils

25 Mar 20:59
Compare
Choose a tag to compare

This release moved the repository to the CLIUtils master organization.

  • Moved to CLIUtils on GitHub
  • Fixed docs build and a few links

Version 0.7: Code coverage 100%

23 Mar 19:35
Compare
Choose a tag to compare

Lots of small bugs fixed when adding code coverage, better in edge cases. Much more powerful ini support.

  • Allow comments in ini files (lines starting with ;)
  • Ini files support flags, vectors, subcommands
  • Added CodeCov code coverage reports
  • Lots of small bugfixes related to adding tests to increase coverage to 100%
  • Error handling now uses scoped enum in errors
  • Reparsing rules changed a little to accommodate Ini files. Callbacks are now called when parsing INI, and reset any time results are added.
  • Adding extra utilities in full version only, Timer (not needed for parsing, but useful for general CLI applications).
  • Better support for custom add_options like functions.

Version 0.6: Cleanup

02 Mar 19:44
Compare
Choose a tag to compare

Lots of cleanup and docs additions made it into this release. Parsing is simpler and more robust; fall through option added and works as expected; much more consistent variable names internally.

  • Simplified parsing to use vector<string> only
  • Fixed fallthrough, made it optional as well (default: off): .fallthrough().
  • Added string versions of ->requires() and ->excludes() for consistency.
  • Renamed protected members for internal consistency, grouped docs.
  • Added the ability to add a number to .require_subcommand().

Version 0.5: Windows support

22 Feb 13:33
Compare
Choose a tag to compare
  • Allow Hidden options.
  • Throw OptionAlreadyAdded errors for matching subcommands or options, with ignore-case included, tests
  • ->ignore_case() added to subcommands, options, and add_set_ignore_case. Subcommands inherit setting from parent App on creation.
  • Subcommands now can be "chained", that is, left over arguments can now include subcommands that then get parsed. Subcommands are now a list (get_subcommands). Added got_subcommand(App_or_name) to check for subcommands.
  • Added .allow_extras() to disable error on failure. Parse returns a vector of leftover options. Renamed error to ExtrasError, and now triggers on extra options too.
  • Added require_subcommand to App, to simplify forcing subcommands. Do not do add_subcommand()->require_subcommand, since that is the subcommand, not the master App.
  • Added printout of ini file text given parsed options, skips flags.
  • Support for quotes and spaces in ini files
  • Fixes to allow support for Windows (added Appveyor) (Uses -, not / syntax)

Version 0.4: Ini support

14 Feb 01:56
Compare
Choose a tag to compare
  • Updates to help print
  • Removed run, please use parse unless you subclass and add it
  • Supports ini files mixed with command line, tested
  • Added Range for further Plumbum compatibility
  • Added function to print out ini file

Version 0.3: Plumbum compatibility

12 Feb 23:20
Compare
Choose a tag to compare
  • Added ->requires, ->excludes, and ->envname from [Plumbum](http://plumbum. readthedocs.io/en/latest/)
  • Supports ->mandatory from Plubmum
  • More tests for help strings, improvements in formatting
  • Support type and set syntax in positionals help strings
  • Added help groups, with ->group("name") syntax
  • Added initial support for ini file reading with add_config option.
  • Supports GCC 4.7 again
  • Clang 3.5 now required for tests due to googlemock usage, 3.4 should still work otherwise
  • Changes setup for an explicit help bool in constructor/add_subcommand

Version 0.2: Leaner and meaner

07 Feb 19:22
Compare
Choose a tag to compare
  • Moved to simpler syntax, where Option pointers are returned and operated on
  • Removed make_ style options
  • Simplified Validators, now only requires ->check(function)
  • Removed Combiners
  • Fixed pointers to Options, stored in unique_ptr now
  • Added Option_p and App_p, mostly for internal use
  • Startup sequence, including help flag, can be modified by subclasses

Version 0.1: First release

06 Feb 18:32
Compare
Choose a tag to compare
Pre-release

First release before major cleanup. Still has make syntax and combiners; very clever syntax but not the best or most commonly expected way to work.