3.4 KiB
		
	
	
	
	
	
			
		
		
	
	
			3.4 KiB
		
	
	
	
	
	
Changelog
This is the changelog for cxxopts, a C++11 library for parsing command line
options. The project adheres to semantic versioning.
3.0
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_EXCEPTIONSto disable exceptions. - Fix char parsing for space and check for length.
 - Change argument type in 
Options::parsefromchar**toconst char**. - Refactor parser to not change its arguments.
 ParseResultdoesn't depend on a reference to the parser.
Added
- A list of unmatched arguments is available in 
ParseResult. 
2.2
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_positionaldoesn'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 
aswhen option wasn't present. - Fix catching exceptions by reference.
 - Fix out of bounds errors parsing integers.
 
2.1.1
Bug Fixes
- Revert the change adding 
consttype forargv, because most users expect to pass a non-constargvfrommain. 
2.1
Changed
- Options with implicit arguments now require the 
--option=valueform 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, wherefoohas an implicit value, will be parsed as--foo=implicitand a positional argumentvalue. - Boolean values are no longer special, but are just an option with a default and implicit value.
 
Added
- Added support for 
std::optionalas a storage type. - Allow the help string to be customised.
 - Use 
constfor the type in theargvparameter, 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_positionalfunction when aninitializer_listwas directly passed. - Fixed precedence in the Boolean value regex.
 
2.0
Changed
Options::parsereturns 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 
ParseResultobject that is the immutable result of parsing. It responds to the samecountandoperator[]asOptionsof 1.x did. - The function 
ParseResult::argumentsreturns a vector of the parsed arguments to iterate through in the order they were provided. - The symbol 
cxxopts::versionfor 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.