Apache Commons logo Apache Commons CLI

Release notes

These are the release notes for Commons CLI 1.2.

INTRODUCTION:

This document contains the release notes for this version of the Commons CLI
package. Commons CLI provides a simple API for working with the command line
arguments and options.

Commons CLI 1.2 is a bugfix release. The following notable changes were made:

 * A major regression introduced in CLI 1.1 that prevented the usage of repeated options has been fixed.
 * Several parser issues have been fixed, especially with the PosixParser.
 * HelpFormatter now wraps the lines properly
 * The ordering of the option in the help message can now be defined.
 * Various API enhancements (improved exceptions, serializable classes)

Commons CLI 1.2 is binary compatible with the previous versions, except for
the OptionValidator class that is no longer public.

More information can be found on the project site at https://commons.apache.org/cli


NEW FEATURES:

  * The method getOptionProperties() in the CommandLine class was added
    to retrieve easily the key/value pairs specified with options like
    -Dkey1=value1 -Dkey2=value2.

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

  * The ordering of options can be defined in help messages. (CLI-155)


BUG FIXES:

  * The number of arguments defined for an option specifies the arguments
    per occurrence of the option and not for all occurrences. (CLI-137)

  * PosixParser no longer ignores unrecognized short options. (CLI-164)

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

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

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

  * The line wrapping in HelpFormatter now works properly. (CLI-151)


CHANGES:

  * The message of MissingOptionException has been improved. (CLI-149)

  * The exceptions have been enhanced with methods to retrieve easily
    the related options. (CLI-86)

  * Option.toString() now reports arguments properly. (CLI-141)

  * The Parser class has been changed to be more easily extendable. (CLI-142)

  * The following classes are now serializable: Option, OptionGroup,
    CommandLine and Options. (CLI-140)

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