| Apache Commons CLI |
| Version 1.7.0 |
| Release Notes |
| |
| This document contains the release notes for this version of the Apache Commons |
| CLI Component of the Apache Commons Project. Commons CLI provides a simple API |
| for working with the command line arguments and options. |
| |
| Apache Commons CLI provides a simple API for presenting, processing and validating a Command Line Interface. |
| |
| New features and bug fixes. |
| |
| New Features |
| ------------ |
| |
| * CLI-321: Add and use a Converter interface and implementations without using BeanUtils #216. Thanks to Claude Warren, Gary Gregory. |
| * Add Maven property project.build.outputTimestamp for build reproducibility. Thanks to Gary Gregory. |
| * CLI-322: Add '-' as an option char and implemented extensive tests #217. Thanks to Claude Warren, Gary Gregory. |
| * CLI-324: Make adding OptionGroups and Options to existing Options easier #230. Thanks to Claude Warren, Gary Gregory. |
| * CLI-323: Added Supplier<T> defaults for getParsedOptionValue #229. Thanks to Claude Warren, Gary Gregory. |
| * CLI-326: Make Option.getKey() public #239. Thanks to Claude Warren, Gary Gregory. |
| * Add builder factory CommandLine#builder(). Thanks to Claude Warren, Gary Gregory. |
| |
| Fixed Bugs |
| ---------- |
| |
| * CLI-312: Inconsistent behavior in key/value pairs (Java property style). Thanks to Claude Warren, Gary Gregory. |
| * Avoid NullPointerException in Util.stripLeadingAndTrailingQuotes(String). Thanks to Gary Gregory. |
| * CLI-320: Awkward behavior of Option.builder() for multiple optional args. Thanks to Paul King, Claude Warren. |
| * CLI-325: Properties from multiple arguments with value separator. #237. Thanks to Claude Warren. |
| * CLI-327: Fix for expected textual date values. #244. Thanks to Claude Warren, Gary Gregory. |
| * Option.Builder.option("") should throw IllegalArgumentException instead of ArrayIndexOutOfBoundsException. Thanks to Gary Gregory. |
| * Avoid NullPointerException in CommandLine.getOptionValues(Option|String). Thanks to Gary Gregory. |
| |
| Updates |
| ------- |
| |
| * Bump commons-parent from 64 to 69 #256. Thanks to Gary Gregory. |
| * Update the tests to JUnit 5 #238. Thanks to Elric, Gary Gregory. |
| * Bump tests commons-io:commons-io from 2.16.0 to 2.16.1 #258. Thanks to Dependabot, Gary Gregory. |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-cli/changes-report.html |
| |
| For complete information on Apache 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/proper/commons-cli/ |
| |
| Download page: https://commons.apache.org/proper/commons-cli/download_cli.cgi |
| |
| Have fun! |
| The Apache Commons Team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CLI |
| Version 1.6.0 |
| Release Notes |
| |
| This document contains the release notes for this version of the Apache Commons |
| CLI Component of the Apache Commons Project. Commons CLI provides a simple API |
| for working with the command line arguments and options. |
| |
| Apache Commons CLI provides a simple API for presenting, processing and validating a Command Line Interface. |
| |
| New features and bug fixes |
| |
| Changes in this version include: |
| |
| Fixed Bugs |
| ---------- |
| |
| * [StepSecurity] ci: Harden GitHub Actions #176. Thanks to step-security-bot, Gary Gregory. |
| * CLI-318: Inconsistent date format in changes report. Thanks to Alexander Veit, Gary Gregory. |
| * CLI-283: Fix NPE in CommandLine.resolveOption(String). Thanks to Dilraj Singh, Gary Gregory. |
| * CLI-283: CommandLine.addOption(Option) should not allow a null Option. Thanks to Dilraj Singh, Gary Gregory. |
| * CLI-283: CommandLine.addArgs(String) should not allow a null String. Thanks to Gary Gregory. |
| * CLI-303: Site docs: "Usage Scenarios" refers to deprecated methods. Thanks to Julian Schilling, Gary Gregory. |
| * CLI-317: NullPointerException thrown by CommandLineParser.parse(). Thanks to Philippe Bastiani, Sruteesh Kumar Paramata, Gary Gregory. |
| * CLI-313: StringIndexOutOfBoundsException thrown by CommandLineParser.parse(). Thanks to Dominik Stadler, HUNG LU, Sruteesh Kumar Paramata. |
| |
| Updates |
| ------- |
| |
| * Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 417-423] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION Thanks to Gary Gregory. |
| * Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 446-450] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION Thanks to Gary Gregory. |
| * Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 474-478] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION Thanks to Gary Gregory. |
| * Use EMPTY_STRING_ARRAY constant. #102. Thanks to Ken Dombeck. |
| * Fix site links that are broken #155. Thanks to Arturo Bernal. |
| * Use Math.max() #111. |
| Delete unused assignment #112. Thanks to Arturo Bernal. |
| * Add github/codeql-action. Thanks to Dependabot, Gary Gregory. |
| * Bump Java from 7 to 8. Thanks to Gary Gregory. |
| * Bump actions/cache from 2.1.7 to 3.0.10 #97, #130, #132. Thanks to Dependabot, Gary Gregory. |
| * Bump actions/checkout from 3 to 3.1.0 #133. Thanks to Gary Gregory, Dependabot. |
| * Bump actions/setup-java from 2 to 3.6.0 #136. Thanks to Gary Gregory. |
| * Bump spotbugs from 4.5.3 to 4.7.3 #96, #107, #113, #125, #138. Thanks to Gary Gregory, Dependabot. |
| * Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.3.0 #98, #108, #115, #117, #126, #145. Thanks to Dependabot. |
| * Bump commons-parent from 52 to 64 #100, #128, #151, #158. Thanks to Dependabot, Gary Gregory. |
| * Bump maven-antrun-plugin from 3.0.0 to 3.1.0 #103. Thanks to Dependabot. |
| * Bump maven-javadoc-plugin from 3.3.2 to 3.4.1 #105, #120. Thanks to Dependabot. |
| * Bump maven-pmd-plugin from 3.16.0 to 3.19.0 #110, #124. Thanks to Dependabot. |
| * Bump jacoco-maven-plugin from 0.8.7 to 0.8.8. Thanks to Gary Gregory. |
| * Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #121. Thanks to Gary Gregory. |
| * Bump japicmp-maven-plugin from 0.15.4 to 0.16.0. Thanks to Gary Gregory. |
| * Update JUnit 4 to 5 vintage. Thanks to Gary Gregory. |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-cli/changes-report.html |
| |
| For complete information on Apache 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/proper/commons-cli/ |
| |
| Download page: https://commons.apache.org/proper/commons-cli/download_cli.cgi |
| |
| Have fun! |
| The Apache Commons Team |
| |
| ------------------------------------------------------------------------------ |
| |
| Apache Commons CLI |
| Version 1.5.0 |
| Release Notes |
| |
| |
| This document contains the release notes for this version of the Apache Commons |
| CLI Component of the Apache Commons Project. Commons CLI provides a simple API |
| for working with the command line arguments and options. |
| |
| Apache Commons CLI provides a simple API for presenting, processing and validating a Command Line Interface. |
| |
| New features and bug fixes (Java 7 or above). |
| |
| Changes in this version include: |
| |
| New Features |
| ------------ |
| |
| * CLI-217: Accommodate toggling partial matching in DefaultParser. Thanks to Rubin Simons. |
| * CLI-274: Option parser type EXISTING_FILE_VALUE not check file existing Thanks to Béla Schaum. |
| * CLI-271: CommandLine.getXXX and CommandLine.hasXXX should accept an Option as a parameter Thanks to Christoph Läubrich. |
| * CLI-276: Adjust access-modifier of checkRequiredOptions() to protected. Thanks to Jason Dillon. |
| * CLI-282: TypeHandler should throw ParseException for an unsupported class. Thanks to Alex Nordlund. |
| * Added setter for Builder.option #33. Thanks to Waldemar Sojka, Gary Gregory. |
| * Add Option unit tests #76. Thanks to Waldemar Sojka, Gary Gregory. |
| |
| Fixed Bugs |
| ---------- |
| |
| * Fix NPE in DefaultParser.isLongOption(String). Thanks to Gary Gregory. |
| * CLI-279: @param or @return lines should end with a period in CommandLine.java Thanks to Krishna Mohan Rao Kandunoori. |
| * Replace deprecated FindBugs with SpotBugs. Thanks to Gary Gregory. |
| * Replace CLIRR with JApiCmp. Thanks to Gary Gregory. |
| * Option Javadocs grammar nits #55. Thanks to Elliotte Rusty Harold. |
| * Minor Improvements #57, #61. Thanks to Arturo Bernal, Gary Gregory. |
| * CLI-254: Input "test" gets parsed as test, quotes die #58. Thanks to stoty. |
| * CLI-287: Allow whitespace-only header and footer #26. Thanks to MrQubo, Gary Gregory. |
| |
| Updates |
| ------- |
| |
| * CLI-294: Update Java from version 5 to 7. |
| * Docs: Replace OptionBuilder in usage page #30. Thanks to Mincong Huang. |
| * Remove deprecated sudo setting. #36. Thanks to dengliming. |
| * Bump junit:junit from 4.12 to 4.13.2, #53, #60. Thanks to Gary Gregory, Dependabot. |
| * Bump commons-parent from 48 to 52. Thanks to Dependabot. |
| * Bump maven-pmd-plugin from 3.12.0 to 3.15.0, #44, #54, #67. Thanks to Dependabot. |
| * Bump actions/checkout from v2.3.1 to v2.3.5 #46, #72. Thanks to Dependabot. |
| * Bump actions/setup-java from v1.4.2 to v2 #50. Thanks to Dependabot, Gary Gregory. |
| * Bump maven-antrun-plugin from 1.7 to 3.0.0 #43. Thanks to Dependabot. |
| * Bump maven-checkstyle-plugin from 2.15 to 3.1.2 #41. Thanks to Gary Gregory. |
| * Bump checkstyle to 9.0.1 #68. Thanks to Gary Gregory. |
| * Bump actions/cache from 2 to 2.1.6 #64, #65. Thanks to Dependabot. |
| * Bump commons.animal-sniffer.version 1.19 -> 1.20. Thanks to Gary Gregory. |
| * Bump maven-bundle-plugin 5.1.1 -> 5.1.2. Thanks to Gary Gregory. |
| * Bump biz.aQute.bndlib.version 5.1.2 -> 6.0.0. Thanks to Gary Gregory. |
| * Bump spotbugs from 4.4.1 to 4.4.2 #70. Thanks to Dependabot. |
| * Bump spotbugs-maven-plugin from 4.4.1 to 4.4.2.2 #71. Thanks to Dependabot. |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-cli/changes-report.html |
| |
| For complete information on Apache 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/proper/commons-cli/ |
| |
| Download page: https://commons.apache.org/proper/commons-cli/download_cli.cgi |
| |
| Have fun! |
| The Apache Commons Team |
| |
| ------------------------------------------------------------------------------ |
| |
| 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 |
| ------------ |
| |
| * CLI-269: Introduce CommandLine.Builder |
| * CLI-267: Add an addRequiredOption method to Options. |
| Thanks to Ricardo Ribeiro. |
| |
| BUG FIXES |
| --------- |
| |
| * CLI-265: Optional argument picking up next regular option as its argument. |
| Thanks to Martin Sandiford. |
| * 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 |
| --------- |
| |
| * 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 |
| ------------ |
| |
| * org.apache.commons.cli.BasicParser |
| replaced by org.apache.commons.cli.DefaultParser |
| |
| * org.apache.commons.cli.GnuParser |
| replaced by org.apache.commons.cli.DefaultParser |
| |
| * 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 |
| |
| * org.apache.commons.cli.Parser |
| replaced by org.apache.commons.cli.DefaultParser |
| |
| * org.apache.commons.cli.PosixParser |
| replaced by org.apache.commons.cli.DefaultParser |
| |
| |
| NEW FEATURES |
| ------------ |
| |
| * CLI-161: PosixParser doesn't stop the parsing on "--" tokens following an |
| option with an argument |
| * CLI-167: Support options like Java memory settings (-Xmx512M) |
| * CLI-181: Unified Parser |
| * 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. |
| * CLI-160: PosixParser now supports partial long options (--ver instead of |
| --version). |
| * CLI-169: HelpFormatter now supports setting the displayed separator of long |
| options. Thanks to J. Lewis Muir. |
| * CLI-214: Added new method Options.addOption(String, String). Thanks to |
| Alexandru Mocanu. |
| |
| BUG FIXES |
| --------- |
| |
| * CLI-248: Dead links on doc page. |
| * CLI-234: Fixed code example in javadoc of |
| "Option#Builder#valueSeparator(char)". Thanks to Greg Thomas. |
| * CLI-241: Clarified behavior of "OptionValidator#validateOption(String)" |
| in case of null input. Thanks to Beluga Behr. |
| * CLI-202: Default options will now work correctly with required options that |
| are missing. |
| * CLI-203: Default options will now work correctly together with option groups. |
| * CLI-205: HelpFormatter.setArgName(String) now correctly sets the argument |
| name. |
| * CLI-204: Passing default values for not defined options to a parser will now |
| trigger a ParseException instead of a NullPointerException. |
| * CLI-201: Default properties provided as input to the Parser.parse() methods |
| are now correctly processed. |
| * CLI-215: CommandLine.getParsedOptionValue() now returns a String object if no |
| option type has been explicitly set. Thanks to Manuel Müller. |
| * CLI-212: HelpFormatter now prints command-line options in the same order as |
| they have been added. Thanks to Per Cederberg. |
| * CLI-186: Standard help text now shows mandatory arguments also for the first |
| option. Thanks to Kristoff Kiefer. |
| * CLI-207: HelpFormatter does not strip anymore leading whitespace in the |
| footer text. Thanks to Uri Moszkowicz. |
| * 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. |
| * CLI-184: Negative numerical arguments take precedence over numerical options. |
| * CLI-193: Fix possible StringIndexOutOfBoundsException in HelpFormatter. |
| Thanks to Travis McLeskey. |
| * CLI-183: OptionGroups no longer throw an AlreadySelectedException when reused |
| for several parsings. |
| * CLI-182: OptionGroup now selects properly an option with no short name. |
| |
| CHANGES |
| ------- |
| |
| * CLI-240: Small cleanup of Option class. Thanks to Beluga Behr. |
| * CLI-230: Options.getRequiredOptions() now returns an unmodifiable list. |
| * CLI-218: Clarify javadoc for CommandLine.getOptionValue() that the first |
| specified argument will be returned. Thanks to Sven. |
| * CLI-227: Changed unit tests to junit 4 annotation style. Thanks to |
| Duncan Jones. |
| * CLI-209: The javadoc of OptionBuilder now states that the class is not |
| thread-safe. Thanks to Thomas Herre. |
| * CLI-200: Fixed typo in javadoc of class CommandLine. Thanks to |
| Gerard Weatherby. |
| * CLI-223: Source code now uses generic types instead of raw types where |
| possible. Thanks to Gerard Weatherby. |
| * CLI-220 Corrected javadoc for return type of |
| MissingOptionException.getMissingOptions(). Thanks to Joe Casadonte. |
| * CLI-197: Improve description of parameter "stopAtNonOption" in method |
| CommandLine.parse(Options, String[], boolean). Thanks to |
| Anders Larsson. |
| * CLI-231: Removed DoubleCheckedLocking test from checkstyle configuration. |
| Thanks to Duncan Jones. |
| |
| ------------------------------------------------------------------------------ |
| |
| Release Notes for version 1.2 |
| |
| 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. |
| * CLI-157: GnuParser now supports long options with an '=' sign |
| (ie. --foo=bar and -foo=bar) |
| * CLI-155: The ordering of options can be defined in help messages. |
| |
| BUG FIXES |
| --------- |
| |
| * CLI-137: The number of arguments defined for an option specifies the |
| arguments per occurrence of the option and not for all occurrences. |
| * CLI-164: PosixParser no longer ignores unrecognized short options. |
| * CLI-163: PosixParser no longer stops the bursting process of a token if |
| stopAtNonOption is enabled and a non option character is |
| encountered. |
| * CLI-165: PosixParser no longer keeps processing the tokens after an |
| unrecognized long option when stopAtNonOption is enabled. |
| * CLI-156: Required options are properly checked if an Options instance is used |
| twice to parse a command line. |
| * CLI-151: The line wrapping in HelpFormatter now works properly. |
| |
| CHANGES |
| ------- |
| |
| * CLI-149: The message of MissingOptionException has been improved. |
| * CLI-86: The exceptions have been enhanced with methods to retrieve easily |
| the related options. |
| * CLI-141: Option.toString() now reports arguments properly. |
| * CLI-142: The Parser class has been changed to be more easily extendable. |
| * CLI-140: The following classes are now serializable: Option, OptionGroup, |
| CommandLine and Options. |
| * -- : OptionValidator is no longer public, its methods were all private. |
| |
| ------------------------------------------------------------------------------ |
| |
| Release Notes for version 1.1 |
| |
| NEW FEATURES |
| ------------ |
| |
| * CLI-78: Setting description of a Option. |
| |
| CHANGES |
| ------- |
| |
| * CLI-2: Wrong usage summary. |
| * CLI-5: Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained. |
| * CLI-8: Line separator as first char for helpformatter (footer) throws |
| exception. |
| * CLI-13: CommandLine.getOptionValue() behaves contrary to docs. |
| * CLI-21: clone method in Option should use super.clone(). |
| * CLI-23: Passing properties in Parser does not work for options with a single |
| argument. |
| * CLI-26: Only long options without short option seems to be noticed. |
| * CLI-28: Infinite Loop in Command-Line processing. |
| * CLI-29: Options should not be able to be added more than once. |
| * CLI-35: HelpFormatter doesn't sort options properly. |
| * CLI-38: HelpFormatter doesn't function correctly for options with only |
| LongOpt. |
| * CLI-44: Document enhancement. |
| * CLI-45: Documentation errors. |
| * CLI-51: Parameter value "-something" misinterpreted as a parameter. |
| * CLI-56: clone() method doesn't fully clone contents. |
| * CLI-59: No Javadoc for HelpFormatter!. |
| * CLI-65: Parser breaks up command line parms into single characters. |
| * CLI-67: Missing arguments in HelpFormatter.renderOptions(..). |
| * CLI-69: Error parsing option arguments. |
| * CLI-71: A weakness of parser. |
| * CLI-129: CLI_1_BRANCH build.xml doesn't work. |
| * CLI-130: Remove the Commons Lang dependency. |
| * CLI-131: Options class returns options in random order. |
| * CLI-132: MissingOptionException should contain a useful error message. |
| * CLI-133: NullPointerException in Util.stripLeadingHyphens when passed a null |
| argument. |
| * CLI-134: 1.1 is not backwards compatible because it adds methods to the |
| CommandLineParser interface. |
| * 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 |
| |
| ------------------------------------------------------------------------------ |