All Versions
11
Latest Version
3.0
Avg Release Cycle
75 days
Latest Release
-

Changelog History
Page 1

  • v3.0 Changes

    ๐Ÿ”„ Changed

    • Only search for a C++ compiler in CMakeLists.txt.
    • ๐Ÿ‘ Allow for exceptions to be disabled.
    • ๐Ÿ›  Fix duplicate default options when there is a short and long option.
    • Add CXXOPTS_NO_EXCEPTIONS to disable exceptions.
    • ๐Ÿ›  Fix char parsing for space and check for length.
    • Change argument type in Options::parse from char** to const char**.
    • ๐Ÿ”จ Refactor parser to not change its arguments.
    • ๐Ÿ“œ ParseResult doesn't depend on a reference to the parser.
    • ๐Ÿ›  Fixed several warnings and code quality issues.
    • ๐Ÿ‘Œ Improved formatting for help descriptions.
    • ๐Ÿ‘Œ Improve integer parsing.

    โž• Added

    • ๐Ÿ“œ A list of unmatched arguments is available in ParseResult.
    • ๐Ÿ‘Œ Support single letter options with argument attached.
    • ๐Ÿ‘‰ Use if it is present.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix missing option name in exception.
  • v2.2 Changes

    ๐Ÿ”„ Changed

    • ๐Ÿ‘ Allow integers to have leading zeroes.
    • ๐Ÿ— Build the tests by default.
    • Don't check for container when showing positional help.

    โž• Added

    • ๐Ÿ“œ Iterator inputs to parse_positional.
    • ๐Ÿ“œ Throw an exception if the option in parse_positional doesn't exist.
    • ๐Ÿ“œ Parse a delimited list in a single argument for vector options.
    • โž• Add an option to disable implicit value on booleans.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix a warning about possible loss of data.
    • ๐Ÿ›  Fix version numbering in CMakeLists.txt
    • โœ‚ Remove unused declaration of the undefined ParseResult::get_option.
    • Throw on invalid option syntax when beginning with a -.
    • Throw in as when option wasn't present.
    • ๐Ÿ›  Fix catching exceptions by reference.
    • ๐Ÿ›  Fix out of bounds errors parsing integers.
  • v2.1.2

    January 13, 2019
  • v2.1.1 Changes

    April 11, 2018

    ๐Ÿ› Bug Fixes

    • โช Revert the change adding const type for argv, because most users expect to pass a non-const argv from main.
  • v2.1 Changes

    ๐Ÿ”„ Changed

    • Options with implicit arguments now require the --option=value form if they are to be specified with an option. This is to remove the ambiguity when a positional argument could follow an option with an implicit value. For example, --foo value, where foo has an implicit value, will be parsed as --foo=implicit and a positional argument value.
    • 0๏ธโƒฃ Boolean values are no longer special, but are just an option with a default and implicit value.

    โž• Added

    • โž• Added support for std::optional as a storage type.
    • ๐Ÿ‘ Allow the help string to be customised.
    • ๐Ÿ‘‰ Use const for the type in the argv parameter, since the contents of the arguments is never modified.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ— Building against GCC 4.9 was broken due to overly strict shadow warnings.
    • ๐Ÿ›  Fixed an ambiguous overload in the parse_positional function when an initializer_list was directly passed.
    • ๐Ÿ›  Fixed precedence in the Boolean value regex.
  • v2.0 Changes

    ๐Ÿ”„ Changed

    • ๐Ÿ“œ Options::parse returns a ParseResult rather than storing the parse result internally.
    • 0๏ธโƒฃ Options with default values now get counted as appearing once if they were not specified by the user.

    โž• Added

    • ๐Ÿ“œ A new ParseResult object that is the immutable result of parsing. It responds to the same count and operator[] as Options of 1.x did.
    • ๐Ÿ“œ The function ParseResult::arguments returns a vector of the parsed arguments to iterate through in the order they were provided.
    • The symbol cxxopts::version for the version of the library.
    • Booleans can be specified with various strings and explicitly set false.
  • v1.4.4

    November 01, 2017
  • v1.4.3

    September 04, 2017
  • v1.4.2

    August 29, 2017
  • v1.4.1

    August 17, 2017