| Apache Commons CLI |
| Version 1.4 |
| Release Notes |
| |
| |
| 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.4 is a feature release and binary compatible with the |
| previous versions, except for the OptionValidator class that is no longer public |
| (change introduced in v1.2). Commons CLI 1.4 at least requires Java 5.0. |
| |
| More information can be found on the project site at |
| https://commons.apache.org/cli. |
| |
| |
| NEW FEATURES |
| ============ |
| |
| o CLI-269: Introduce CommandLine.Builder |
| o CLI-267: Add an addRequiredOption method to Options. |
| Thanks to Ricardo Ribeiro. |
| |
| |
| BUG FIXES |
| ========= |
| |
| o CLI-265: Optional argument picking up next regular option as its argument. |
| Thanks to Martin Sandiford. |
| o CLI-266: HelpFormatter.setOptionComparator(null) doesn't display the values |
| in inserted order. Thanks to Ravi Teja. |
| |
| |
| Release Notes for version 1.3.1 |
| |
| BUG FIXES |
| ========= |
| |
| o CLI-252: LongOpt falsely detected as ambiguous. Thanks to Simon Harrer. |
| |
| |
| Release Notes for version 1.3 |
| |
| NOTES |
| ===== |
| |
| 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. |
| |
| DEPRECATIONS |
| ============ |
| |
| o org.apache.commons.cli.BasicParser |
| replaced by org.apache.commons.cli.DefaultParser |
| |
| o org.apache.commons.cli.GnuParser |
| replaced by org.apache.commons.cli.DefaultParser |
| |
| o org.apache.commons.cli.OptionBuilder |
| replaced by org.apache.commons.cli.Option.builder() |
| org.apache.commons.cli.Option.builder(String) |
| org.apache.commons.cli.Option.Builder |
| |
| o org.apache.commons.cli.Parser |
| replaced by org.apache.commons.cli.DefaultParser |
| |
| o org.apache.commons.cli.PosixParser |
| replaced by org.apache.commons.cli.DefaultParser |
| |
| |
| NEW FEATURES |
| ============ |
| |
| o CLI-161: PosixParser doesn't stop the parsing on "--" tokens following an |
| option with an argument |
| o CLI-167: Support options like Java memory settings (-Xmx512M) |
| o CLI-181: Unified Parser |
| o CLI-224: Added new fluent API to create Option instances via builder class |
| Option.Builder. This replaces the now deprecated OptionBuilder. |
| Thanks to Duncan Jones, Brian Blount. |
| o CLI-160: PosixParser now supports partial long options (--ver instead of |
| --version). |
| o CLI-169: HelpFormatter now supports setting the displayed separator of long |
| options. Thanks to J. Lewis Muir. |
| o CLI-214: Added new method Options.addOption(String, String). Thanks to |
| Alexandru Mocanu. |
| |
| |
| BUG FIXES |
| ========= |
| |
| o CLI-248: Dead links on doc page. |
| o CLI-234: Fixed code example in javadoc of |
| "Option#Builder#valueSeparator(char)". Thanks to Greg Thomas. |
| o CLI-241: Clarified behavior of "OptionValidator#validateOption(String)" |
| in case of null input. Thanks to Beluga Behr. |
| o CLI-202: Default options will now work correctly with required options that |
| are missing. |
| o CLI-203: Default options will now work correctly together with option groups. |
| o CLI-205: HelpFormatter.setArgName(String) now correctly sets the argument |
| name. |
| o CLI-204: Passing default values for not defined options to a parser will now |
| trigger a ParseException instead of a NullPointerException. |
| o CLI-201: Default properties provided as input to the Parser.parse() methods |
| are now correctly processed. |
| o CLI-215: CommandLine.getParsedOptionValue() now returns a String object if no |
| option type has been explicitly set. Thanks to Manuel Müller. |
| o CLI-212: HelpFormatter now prints command-line options in the same order as |
| they have been added. Thanks to Per Cederberg. |
| o CLI-186: Standard help text now shows mandatory arguments also for the first |
| option. Thanks to Kristoff Kiefer. |
| o CLI-207: HelpFormatter does not strip anymore leading whitespace in the |
| footer text. Thanks to Uri Moszkowicz. |
| o CLI-185: Strip quotes contained in argument values only if there is exactly |
| one at the beginning and one at the end. Thanks to |
| Einar M. R. Rosenvinge. |
| o CLI-184: Negative numerical arguments take precedence over numerical options. |
| o CLI-193: Fix possible StringIndexOutOfBoundsException in HelpFormatter. |
| Thanks to Travis McLeskey. |
| o CLI-183: OptionGroups no longer throw an AlreadySelectedException when reused |
| for several parsings. |
| o CLI-182: OptionGroup now selects properly an option with no short name. |
| |
| |
| CHANGES |
| ======= |
| |
| o CLI-240: Small cleanup of Option class. Thanks to Beluga Behr. |
| o CLI-230: Options.getRequiredOptions() now returns an unmodifiable list. |
| o CLI-218: Clarify javadoc for CommandLine.getOptionValue() that the first |
| specified argument will be returned. Thanks to Sven. |
| o CLI-227: Changed unit tests to junit 4 annotation style. Thanks to |
| Duncan Jones. |
| o CLI-209: The javadoc of OptionBuilder now states that the class is not |
| thread-safe. Thanks to Thomas Herre. |
| o CLI-200: Fixed typo in javadoc of class CommandLine. Thanks to |
| Gerard Weatherby. |
| o CLI-223: Source code now uses generic types instead of raw types where |
| possible. Thanks to Gerard Weatherby. |
| o CLI-220 Corrected javadoc for return type of |
| MissingOptionException.getMissingOptions(). Thanks to Joe Casadonte. |
| o CLI-197: Improve description of parameter "stopAtNonOption" in method |
| CommandLine.parse(Options, String[], boolean). Thanks to |
| Anders Larsson. |
| o CLI-231: Removed DoubleCheckedLocking test from checkstyle configuration. |
| Thanks to Duncan Jones. |
| |
| |
| Release Notes for version 1.2 |
| |
| NEW FEATURES |
| ============ |
| |
| o -- : The method getOptionProperties() in the CommandLine class was added |
| to retrieve easily the key/value pairs specified with options like |
| -Dkey1=value1 -Dkey2=value2. |
| o CLI-157: GnuParser now supports long options with an '=' sign |
| (ie. --foo=bar and -foo=bar) |
| o CLI-155: The ordering of options can be defined in help messages. |
| |
| |
| BUG FIXES |
| ========= |
| |
| o CLI-137: The number of arguments defined for an option specifies the |
| arguments per occurence of the option and not for all occurences. |
| o CLI-164: PosixParser no longer ignores unrecognized short options. |
| o CLI-163: PosixParser no longer stops the bursting process of a token if |
| stopAtNonOption is enabled and a non option character is |
| encountered. |
| o CLI-165: PosixParser no longer keeps processing the tokens after an |
| unrecognized long option when stopAtNonOption is enabled. |
| o CLI-156: Required options are properly checked if an Options instance is used |
| twice to parse a command line. |
| o CLI-151: The line wrapping in HelpFormatter now works properly. |
| |
| |
| CHANGES |
| ======= |
| |
| o CLI-149: The message of MissingOptionException has been improved. |
| o CLI-86: The exceptions have been enhanced with methods to retrieve easily |
| the related options. |
| o CLI-141: Option.toString() now reports arguments properly. |
| o CLI-142: The Parser class has been changed to be more easily extendable. |
| o CLI-140: The following classes are now serializable: Option, OptionGroup, |
| CommandLine and Options. |
| o -- : OptionValidator is no longer public, its methods were all private. |
| |
| |
| Release Notes for version 1.1 |
| |
| NEW FEATURES |
| ============ |
| |
| o CLI-78: Setting description of a Option. |
| |
| CHANGES |
| ======= |
| |
| o CLI-2: Wrong usage summary. |
| o CLI-5: Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained. |
| o CLI-8: Line separator as first char for helpformatter (footer) throws |
| exception. |
| o CLI-13: CommandLine.getOptionValue() behaves contrary to docs. |
| o CLI-21: clone method in Option should use super.clone(). |
| o CLI-23: Passing properties in Parser does not work for options with a single |
| argument. |
| o CLI-26: Only long options without short option seems to be noticed. |
| o CLI-28: Infinite Loop in Command-Line processing. |
| o CLI-29: Options should not be able to be added more than once. |
| o CLI-35: HelpFormatter doesn't sort options properly. |
| o CLI-38: HelpFormatter doesn't function correctly for options with only |
| LongOpt. |
| o CLI-44: Document enhancement. |
| o CLI-45: Documentation errors. |
| o CLI-51: Parameter value "-something" misinterpreted as a parameter. |
| o CLI-56: clone() method doesn't fully clone contents. |
| o CLI-59: No Javadoc for HelpFormatter!. |
| o CLI-65: Parser breaks up command line parms into single characters. |
| o CLI-67: Missing arguments in HelpFormatter.renderOptions(..). |
| o CLI-69: Error parsing option arguments. |
| o CLI-71: A weakness of parser. |
| o CLI-129: CLI_1_BRANCH build.xml doesn't work. |
| o CLI-130: Remove the Commons Lang dependency. |
| o CLI-131: Options class returns options in random order. |
| o CLI-132: MissingOptionException should contain a useful error message. |
| o CLI-133: NullPointerException in Util.stripLeadingHyphens when passed a null |
| argument. |
| o CLI-134: 1.1 is not backwards compatible because it adds methods to the |
| CommandLineParser interface. |
| o CLI-135: Backwards compatibility between 1.1 and 1.0 broken due to |
| Option.addValue removal. |
| |
| |
| Historical list of changes: https://commons.apache.org/cli/changes-report.html |
| |
| For complete information on Commons CLI, including instructions on how to |
| submit bug reports, patches, or suggestions for improvement, see the |
| Apache Commons CLI website: |
| |
| https://commons.apache.org/cli/ |
| |
| Have fun! |
| -Apache Commons CLI team |