# Changelog This is the changelog for `cxxopts`, a C++11 library for parsing command line options. The project adheres to semantic versioning. ## 2.1 ### 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`. * Fixed an ambiguous overload in the `parse_positional` function when an `initializer_list` was directly passed. ### Bug Fixes * Building against GCC 4.9 was broken due to overly strict shadow warnings. ## 2.0 ### Changed * `Options::parse` returns a ParseResult rather than storing the parse result internally. * 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. ## 1.x The 1.x series was the first major version of the library, with release numbers starting to follow semantic versioning, after 0.x being unstable. It never had a changelog maintained for it. Releases mostly contained bug fixes, with the occasional feature added.