Commons CLI Release Notes

Release History

VersionDateDescription
1.3in SVNThis is a maintenance release containing bug fixes.
1.22009-03-19This is a maintenance release containing bug fixes.
1.12007-07-08This is a maintenance release containing bug fixes.
1.02002-11-06Initial release

Release 1.3 - in SVN

TypeChangesBy

update

Removed DoubleCheckedLocking test from checkstyle configuration. Fixes CLI-231. Thanks to Duncan Jones.tn

update

Options.getRequiredOptions() now returns an unmodifiable list. Fixes CLI-230.tn

add

Added new fluent API to create Option instances via builder class Option.Builder. This replaces the now deprecated OptionBuilder. Fixes CLI-224. Thanks to Duncan Jones, Brian Blount.tn

update

Clarify javadoc for CommandLine.getOptionValue() that the first specified argument will be returned. Fixes CLI-218. Thanks to Sven.tn

add

Added new method Options.addOption(String, String). Fixes CLI-214. Thanks to Alexandru Mocanu.tn

update

Changed unit tests to junit 4 annotation style. Fixes CLI-227. Thanks to Duncan Jones.tn

fix

Default options will now work correctly with required options that are missing. Fixes CLI-202.ebourg

fix

Default options will now work correctly together with option groups. Fixes CLI-203.ebourg

update

The javadoc of OptionBuilder now states that the class is not thread-safe. Fixes CLI-209. Thanks to Thomas Herre.ebourg

add

HelpFormatter now supports setting the displayed separator of long options. Fixes CLI-169. Thanks to J. Lewis Muir.ebourg

update

Improve description of parameter "stopAtNonOption" in method CommandLine.parse(Options, String[], boolean). Fixes CLI-197. Thanks to Anders Larsson.ebourg

fix

Passing default values for not defined options to a parser will now trigger a ParseException instead of a NullPointerException. Fixes CLI-204.ebourg

fix

HelpFormatter.setArgName(String) now correctly sets the argument name. Fixes CLI-205.ebourg

fix

Default properties provided as input to the Parser.parse() methods are now correctly processed. Fixes CLI-201.ebourg

fix

CommandLine.getParsedOptionValue() now returns a String object if no option type has been explicitly set. Fixes CLI-215. Thanks to Manuel Müller.ebourg

update

Fixed typo in javadoc of class CommandLine. Fixes CLI-200. Thanks to Gerard Weatherby.ggregory

update

Source code now uses generic types instead of raw types where possible. Fixes CLI-223. Thanks to Gerard Weatherby.ebourg

update

Corrected javadoc for return type of MissingOptionException.getMissingOptions(). Fixes CLI-220. Thanks to Joe Casadonte.ebourg

fix

HelpFormatter now prints command-line options in the same order as they have been added. Fixes CLI-212. Thanks to Per Cederberg.ebourg

fix

Standard help text now shows mandatory arguments also for the first option. Fixes CLI-186. Thanks to Kristoff Kiefer.ebourg

fix

HelpFormatter does not strip anymore leading whitespace in the footer text. Fixes CLI-207. Thanks to Uri Moszkowicz.ebourg

fix

Strip quotes contained in argument values only if there is exactly one at the beginning and one at the end. Fixes CLI-185. Thanks to Einar M R Rosenvinge.ebourg

fix

Negative numerical arguments take precedence over numerical options (only supported by the new DefaultParser). Fixes CLI-184.ebourg

fix

Fix possible StringIndexOutOfBoundsException in HelpFormatter. Fixes CLI-193. Thanks to Travis McLeskey.ebourg

add

A new parser is available: DefaultParser. It combines the features of the GnuParser and the PosixParser. It also provides additional features like partial matching for the long options, and long options without separator (i.e like the JVM memory settings: -Xmx512m). This new parser deprecates the previous ones. Fixes CLI-161,CLI-167,CLI-181.ebourg

fix

OptionGroups no longer throw an AlreadySelectedException when reused for several parsings. Fixes CLI-183.ebourg

fix

OptionGroup now selects properly an option with no short name. Fixes CLI-182.ebourg

add

PosixParser now supports partial long options (--ver instead of --version). Fixes CLI-160.ebourg

Release 1.2 - 2009-03-19

TypeChangesBy

fix

OptionBuilder is now reseted if an IllegalArgumentException occurs in create(). Fixes CLI-177.joehni

remove

Ant build system removed.bayard

fix

Incomplete usage documentation about Java property option. Fixes CLI-154.ebourg

fix

TypeHandler prints messages to stderr. Fixes CLI-170.bayard

fix

Infinite loop in the wrapping code of HelpFormatter. Fixes CLI-162.bayard

fix

Fixing some minor javadoc issues.sgoeschl

fix

The number of arguments defined for an option specifies the arguments per occurrence of the option and not for all occurrences. This was a major regression in CLI 1.1 which prevented the use of repeated options. Fixes CLI-137.ebourg

add

Added a getOptionProperties() method in the CommandLine class to retrieve easily the key/value pairs specified with options like -Dkey1=value1 -Dkey2=value2.ebourg

update

GnuParser now supports long options with an '=' sign (ie. --foo=bar and -foo=bar) Fixes CLI-157.ebourg

fix

PosixParser no longer ignores unrecognized short options. Fixes CLI-164.ebourg

fix

PosixParser no longer stops the bursting process of a token if stopAtNonOption is enabled and a non option character is encountered. Fixes CLI-163.ebourg

fix

PosixParser no longer keeps processing the tokens after an unrecognized long option when stopAtNonOption is enabled. Fixes CLI-165.ebourg

fix

Required options are properly checked if an Options instance is used twice to parse a command line. Fixes CLI-156.ebourg

update

The ordering of options can be defined in help messages. Fixes CLI-155.bayard

fix

The line wrapping in HelpFormatter now works properly. This caused CLI-162, and thus there was a feature change for the HelpFormatter in that it is strict on width now rather than what seemed to be lenience before. Text without whitespace will be cut off to fit in the spacing, and an IllegalStateException will be thrown if it is impossible to output the information due to spacing constraints. Fixes CLI-151. Thanks to Dan Armbrust.bayard

fix

The message of MissingOptionException has been improved. Fixes CLI-149.bayard

update

The exceptions have been enhanced with methods to retrieve easily the related options. Fixes CLI-86.ebourg

fix

Option.toString() now reports arguments properly. Fixes CLI-141. Thanks to Henning Schmiedehausen, Bjorn Townsend.bayard

update

The Parser class has been changed to be more easily extendable. Fixes CLI-142. Thanks to Henning Schmiedehausen.bayard

update

The following classes are now serializable: Option, OptionGroup, CommandLine and Options. Fixes CLI-140.bayard

remove

OptionValidator is no longer public, its methods were all private.ebourg

Release 1.1 - 2007-07-08

TypeChangesBy

fix

Wrong usage summary. Fixes CLI-2.

fix

Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained. Fixes CLI-5.

fix

Line separator as first char for helpformatter (footer) throws exception. Fixes CLI-8.

fix

CommandLine.getOptionValue() behaves contrary to docs. Fixes CLI-13.

fix

clone method in Option should use super.clone(). Fixes CLI-21.

fix

Passing properties in Parser does not work for options with a single argument. Fixes CLI-23.

fix

Only long options without short option seems to be noticed. Fixes CLI-26.

fix

Infinite Loop in Command-Line processing. Fixes CLI-28.

fix

Options should not be able to be added more than once. Fixes CLI-29.

fix

HelpFormatter doesn't sort options properly. Fixes CLI-35.

fix

HelpFormatter doesn't function correctly for options with only LongOpt. Fixes CLI-38.

fix

Document enhancement. Fixes CLI-44.

fix

Documentation errors. Fixes CLI-45.

fix

Parameter value "-something" misinterpreted as a parameter. Fixes CLI-51.

fix

clone() method doesn't fully clone contents. Fixes CLI-56.

fix

No Javadoc for HelpFormatter!. Fixes CLI-59.

fix

Parser breaks up command line parms into single characters. Fixes CLI-65.

fix

Missing arguments in HelpFormatter.renderOptions(..). Fixes CLI-67.

fix

Error parsing option arguments. Fixes CLI-69.

fix

A weakness of parser. Fixes CLI-71.

add

Setting description of a Option. Fixes CLI-78.

fix

CLI_1_BRANCH build.xml doesn't work. Fixes CLI-129.

fix

Remove the Commons Lang dependency. Fixes CLI-130.

fix

Options class returns options in random order. Fixes CLI-131.

fix

MissingOptionException should contain a useful error message. Fixes CLI-132.

fix

NullPointerException in Util.stripLeadingHyphens when passed a null argument. Fixes CLI-133.

fix

1.1 is not backwards compatible because it adds methods to the CommandLineParser interface. Fixes CLI-134.

fix

Backwards compatibility between 1.1 and 1.0 broken due to Option.addValue removal. Fixes CLI-135.

Release 1.0 - 2002-11-06

No changes in this release.