|
| 1 | +Apache Commons CLI |
| 2 | +Version 1.5.0 |
| 3 | +Release Notes |
| 4 | + |
| 5 | + |
| 6 | +This document contains the release notes for this version of the Apache Commons |
| 7 | +CLI Component of the Apache Commons Project. Commons CLI provides a simple API |
| 8 | +for working with the command line arguments and options. |
| 9 | + |
| 10 | +Apache Commons CLI provides a simple API for presenting, processing and validating a Command Line Interface. |
| 11 | + |
| 12 | +New features and bug fixes (Java 7). |
| 13 | + |
| 14 | +Changes in this version include: |
| 15 | + |
| 16 | +New Features |
| 17 | +============ |
| 18 | + |
| 19 | +o CLI-217: Accommodate toggling partial matching in DefaultParser. Thanks to Rubin Simons. |
| 20 | +o CLI-274: Option parser type EXISTING_FILE_VALUE not check file existing Thanks to Béla Schaum. |
| 21 | +o CLI-271: CommandLine.getXXX and CommandLine.hasXXX should accept an Option as a parameter Thanks to Christoph Läubrich. |
| 22 | +o CLI-276: Adjust access-modifier of checkRequiredOptions() to protected. Thanks to Jason Dillon. |
| 23 | +o CLI-282: TypeHandler should throw ParseException for an unsupported class. Thanks to Alex Nordlund. |
| 24 | +o Added setter for Builder.option #33. Thanks to Waldemar Sojka, Gary Gregory. |
| 25 | +o Add Option unit tests #76. Thanks to Waldemar Sojka, Gary Gregory. |
| 26 | + |
| 27 | +Fixed Bugs |
| 28 | +========== |
| 29 | + |
| 30 | +o Fix NPE in DefaultParser.isLongOption(String). Thanks to Gary Gregory. |
| 31 | +o CLI-279: @param or @return lines should end with a period in CommandLine.java Thanks to Krishna Mohan Rao Kandunoori. |
| 32 | +o Replace deprecated FindBugs with SpotBugs. Thanks to Gary Gregory. |
| 33 | +o Replace CLIRR with JApiCmp. Thanks to Gary Gregory. |
| 34 | +o Option Javadocs grammar nits #55. Thanks to Elliotte Rusty Harold. |
| 35 | +o Minor Improvements #57, #61. Thanks to Arturo Bernal, Gary Gregory. |
| 36 | +o CLI-254: Input "test" gets parsed as test, quotes die #58. Thanks to stoty. |
| 37 | +o CLI-287: Allow whitespace-only header and footer #26. Thanks to MrQubo, Gary Gregory. |
| 38 | + |
| 39 | +Updates |
| 40 | +======= |
| 41 | + |
| 42 | +o CLI-294: Update Java from version 5 to 7. |
| 43 | +o Docs: Replace OptionBuilder in usage page #30. Thanks to Mincong Huang. |
| 44 | +o Remove deprecated sudo setting. #36. Thanks to dengliming. |
| 45 | +o Bump junit:junit from 4.12 to 4.13.2, #53, #60. Thanks to Gary Gregory, Dependabot. |
| 46 | +o Bump commons-parent from 48 to 52. Thanks to Dependabot. |
| 47 | +o Bump maven-pmd-plugin from 3.12.0 to 3.15.0, #44, #54, #67. Thanks to Dependabot. |
| 48 | +o Bump actions/checkout from v2.3.1 to v2.3.5 #46, #72. Thanks to Dependabot. |
| 49 | +o Bump actions/setup-java from v1.4.2 to v2 #50. Thanks to Dependabot, Gary Gregory. |
| 50 | +o Bump maven-antrun-plugin from 1.7 to 3.0.0 #43. Thanks to Dependabot. |
| 51 | +o Bump maven-checkstyle-plugin from 2.15 to 3.1.2 #41. Thanks to Gary Gregory. |
| 52 | +o Bump checkstyle to 9.0.1 #68. Thanks to Gary Gregory. |
| 53 | +o Bump actions/cache from 2 to 2.1.6 #64, #65. Thanks to Dependabot. |
| 54 | +o Bump commons.animal-sniffer.version 1.19 -> 1.20. Thanks to Gary Gregory. |
| 55 | +o Bump maven-bundle-plugin 5.1.1 -> 5.1.2. Thanks to Gary Gregory. |
| 56 | +o Bump biz.aQute.bndlib.version 5.1.2 -> 6.0.0. Thanks to Gary Gregory. |
| 57 | +o Bump spotbugs from 4.4.1 to 4.4.2 #70. Thanks to Dependabot. |
| 58 | +o Bump spotbugs-maven-plugin from 4.4.1 to 4.4.2.2 #71. Thanks to Dependabot. |
| 59 | + |
| 60 | + |
| 61 | +Historical list of changes: https://commons.apache.org/proper/commons-cli/changes-report.html |
| 62 | + |
| 63 | +For complete information on Apache Commons CLI, including instructions on how to submit bug reports, |
| 64 | +patches, or suggestions for improvement, see the Apache Apache Commons CLI website: |
| 65 | + |
| 66 | +https://commons.apache.org/proper/commons-cli/ |
| 67 | + |
| 68 | +Download page: https://commons.apache.org/proper/commons-cli/download_cli.cgi |
| 69 | + |
| 70 | +Have fun! |
| 71 | +The Apache Commons Team |
| 72 | + |
| 73 | +------------------------------------------------------------------------------ |
| 74 | + |
| 75 | + Apache Commons CLI |
| 76 | + Version 1.4 |
| 77 | + Release Notes |
| 78 | + |
| 79 | + |
| 80 | +INTRODUCTION: |
| 81 | + |
| 82 | +This document contains the release notes for this version of the Commons CLI |
| 83 | +package. Commons CLI provides a simple API for working with the command line |
| 84 | +arguments and options. |
| 85 | + |
| 86 | +Commons CLI 1.4 is a feature release and binary compatible with the |
| 87 | +previous versions, except for the OptionValidator class that is no longer public |
| 88 | +(change introduced in v1.2). Commons CLI 1.4 at least requires Java 5.0. |
| 89 | + |
| 90 | +More information can be found on the project site at |
| 91 | +https://commons.apache.org/cli. |
| 92 | + |
| 93 | + |
| 94 | +NEW FEATURES |
| 95 | +============ |
| 96 | + |
| 97 | +o CLI-269: Introduce CommandLine.Builder |
| 98 | +o CLI-267: Add an addRequiredOption method to Options. |
| 99 | + Thanks to Ricardo Ribeiro. |
| 100 | + |
| 101 | + |
| 102 | +BUG FIXES |
| 103 | +========= |
| 104 | + |
| 105 | +o CLI-265: Optional argument picking up next regular option as its argument. |
| 106 | + Thanks to Martin Sandiford. |
| 107 | +o CLI-266: HelpFormatter.setOptionComparator(null) doesn't display the values |
| 108 | + in inserted order. Thanks to Ravi Teja. |
| 109 | + |
| 110 | + |
| 111 | + Release Notes for version 1.3.1 |
| 112 | + |
| 113 | +BUG FIXES |
| 114 | +========= |
| 115 | + |
| 116 | +o CLI-252: LongOpt falsely detected as ambiguous. Thanks to Simon Harrer. |
| 117 | + |
| 118 | + |
| 119 | + Release Notes for version 1.3 |
| 120 | + |
| 121 | +NOTES |
| 122 | +===== |
| 123 | + |
| 124 | +A new parser is available: DefaultParser. It combines the features of the |
| 125 | +GnuParser and the PosixParser. It also provides additional features like |
| 126 | +partial matching for the long options, and long options without |
| 127 | +separator (i.e like the JVM memory settings: -Xmx512m). This new parser |
| 128 | +deprecates the previous ones. |
| 129 | + |
| 130 | +DEPRECATIONS |
| 131 | +============ |
| 132 | + |
| 133 | +o org.apache.commons.cli.BasicParser |
| 134 | + replaced by org.apache.commons.cli.DefaultParser |
| 135 | + |
| 136 | +o org.apache.commons.cli.GnuParser |
| 137 | + replaced by org.apache.commons.cli.DefaultParser |
| 138 | + |
| 139 | +o org.apache.commons.cli.OptionBuilder |
| 140 | + replaced by org.apache.commons.cli.Option.builder() |
| 141 | + org.apache.commons.cli.Option.builder(String) |
| 142 | + org.apache.commons.cli.Option.Builder |
| 143 | + |
| 144 | +o org.apache.commons.cli.Parser |
| 145 | + replaced by org.apache.commons.cli.DefaultParser |
| 146 | + |
| 147 | +o org.apache.commons.cli.PosixParser |
| 148 | + replaced by org.apache.commons.cli.DefaultParser |
| 149 | + |
| 150 | + |
| 151 | +NEW FEATURES |
| 152 | +============ |
| 153 | + |
| 154 | +o CLI-161: PosixParser doesn't stop the parsing on "--" tokens following an |
| 155 | + option with an argument |
| 156 | +o CLI-167: Support options like Java memory settings (-Xmx512M) |
| 157 | +o CLI-181: Unified Parser |
| 158 | +o CLI-224: Added new fluent API to create Option instances via builder class |
| 159 | + Option.Builder. This replaces the now deprecated OptionBuilder. |
| 160 | + Thanks to Duncan Jones, Brian Blount. |
| 161 | +o CLI-160: PosixParser now supports partial long options (--ver instead of |
| 162 | + --version). |
| 163 | +o CLI-169: HelpFormatter now supports setting the displayed separator of long |
| 164 | + options. Thanks to J. Lewis Muir. |
| 165 | +o CLI-214: Added new method Options.addOption(String, String). Thanks to |
| 166 | + Alexandru Mocanu. |
| 167 | + |
| 168 | + |
| 169 | +BUG FIXES |
| 170 | +========= |
| 171 | + |
| 172 | +o CLI-248: Dead links on doc page. |
| 173 | +o CLI-234: Fixed code example in javadoc of |
| 174 | + "Option#Builder#valueSeparator(char)". Thanks to Greg Thomas. |
| 175 | +o CLI-241: Clarified behavior of "OptionValidator#validateOption(String)" |
| 176 | + in case of null input. Thanks to Beluga Behr. |
| 177 | +o CLI-202: Default options will now work correctly with required options that |
| 178 | + are missing. |
| 179 | +o CLI-203: Default options will now work correctly together with option groups. |
| 180 | +o CLI-205: HelpFormatter.setArgName(String) now correctly sets the argument |
| 181 | + name. |
| 182 | +o CLI-204: Passing default values for not defined options to a parser will now |
| 183 | + trigger a ParseException instead of a NullPointerException. |
| 184 | +o CLI-201: Default properties provided as input to the Parser.parse() methods |
| 185 | + are now correctly processed. |
| 186 | +o CLI-215: CommandLine.getParsedOptionValue() now returns a String object if no |
| 187 | + option type has been explicitly set. Thanks to Manuel Müller. |
| 188 | +o CLI-212: HelpFormatter now prints command-line options in the same order as |
| 189 | + they have been added. Thanks to Per Cederberg. |
| 190 | +o CLI-186: Standard help text now shows mandatory arguments also for the first |
| 191 | + option. Thanks to Kristoff Kiefer. |
| 192 | +o CLI-207: HelpFormatter does not strip anymore leading whitespace in the |
| 193 | + footer text. Thanks to Uri Moszkowicz. |
| 194 | +o CLI-185: Strip quotes contained in argument values only if there is exactly |
| 195 | + one at the beginning and one at the end. Thanks to |
| 196 | + Einar M. R. Rosenvinge. |
| 197 | +o CLI-184: Negative numerical arguments take precedence over numerical options. |
| 198 | +o CLI-193: Fix possible StringIndexOutOfBoundsException in HelpFormatter. |
| 199 | + Thanks to Travis McLeskey. |
| 200 | +o CLI-183: OptionGroups no longer throw an AlreadySelectedException when reused |
| 201 | + for several parsings. |
| 202 | +o CLI-182: OptionGroup now selects properly an option with no short name. |
| 203 | + |
| 204 | + |
| 205 | +CHANGES |
| 206 | +======= |
| 207 | + |
| 208 | +o CLI-240: Small cleanup of Option class. Thanks to Beluga Behr. |
| 209 | +o CLI-230: Options.getRequiredOptions() now returns an unmodifiable list. |
| 210 | +o CLI-218: Clarify javadoc for CommandLine.getOptionValue() that the first |
| 211 | + specified argument will be returned. Thanks to Sven. |
| 212 | +o CLI-227: Changed unit tests to junit 4 annotation style. Thanks to |
| 213 | + Duncan Jones. |
| 214 | +o CLI-209: The javadoc of OptionBuilder now states that the class is not |
| 215 | + thread-safe. Thanks to Thomas Herre. |
| 216 | +o CLI-200: Fixed typo in javadoc of class CommandLine. Thanks to |
| 217 | + Gerard Weatherby. |
| 218 | +o CLI-223: Source code now uses generic types instead of raw types where |
| 219 | + possible. Thanks to Gerard Weatherby. |
| 220 | +o CLI-220 Corrected javadoc for return type of |
| 221 | + MissingOptionException.getMissingOptions(). Thanks to Joe Casadonte. |
| 222 | +o CLI-197: Improve description of parameter "stopAtNonOption" in method |
| 223 | + CommandLine.parse(Options, String[], boolean). Thanks to |
| 224 | + Anders Larsson. |
| 225 | +o CLI-231: Removed DoubleCheckedLocking test from checkstyle configuration. |
| 226 | + Thanks to Duncan Jones. |
| 227 | + |
| 228 | + |
| 229 | + Release Notes for version 1.2 |
| 230 | + |
| 231 | +NEW FEATURES |
| 232 | +============ |
| 233 | + |
| 234 | +o -- : The method getOptionProperties() in the CommandLine class was added |
| 235 | + to retrieve easily the key/value pairs specified with options like |
| 236 | + -Dkey1=value1 -Dkey2=value2. |
| 237 | +o CLI-157: GnuParser now supports long options with an '=' sign |
| 238 | + (ie. --foo=bar and -foo=bar) |
| 239 | +o CLI-155: The ordering of options can be defined in help messages. |
| 240 | + |
| 241 | + |
| 242 | +BUG FIXES |
| 243 | +========= |
| 244 | + |
| 245 | +o CLI-137: The number of arguments defined for an option specifies the |
| 246 | + arguments per occurence of the option and not for all occurences. |
| 247 | +o CLI-164: PosixParser no longer ignores unrecognized short options. |
| 248 | +o CLI-163: PosixParser no longer stops the bursting process of a token if |
| 249 | + stopAtNonOption is enabled and a non option character is |
| 250 | + encountered. |
| 251 | +o CLI-165: PosixParser no longer keeps processing the tokens after an |
| 252 | + unrecognized long option when stopAtNonOption is enabled. |
| 253 | +o CLI-156: Required options are properly checked if an Options instance is used |
| 254 | + twice to parse a command line. |
| 255 | +o CLI-151: The line wrapping in HelpFormatter now works properly. |
| 256 | + |
| 257 | + |
| 258 | +CHANGES |
| 259 | +======= |
| 260 | + |
| 261 | +o CLI-149: The message of MissingOptionException has been improved. |
| 262 | +o CLI-86: The exceptions have been enhanced with methods to retrieve easily |
| 263 | + the related options. |
| 264 | +o CLI-141: Option.toString() now reports arguments properly. |
| 265 | +o CLI-142: The Parser class has been changed to be more easily extendable. |
| 266 | +o CLI-140: The following classes are now serializable: Option, OptionGroup, |
| 267 | + CommandLine and Options. |
| 268 | +o -- : OptionValidator is no longer public, its methods were all private. |
| 269 | + |
| 270 | + |
| 271 | + Release Notes for version 1.1 |
| 272 | + |
| 273 | +NEW FEATURES |
| 274 | +============ |
| 275 | + |
| 276 | +o CLI-78: Setting description of a Option. |
| 277 | + |
| 278 | +CHANGES |
| 279 | +======= |
| 280 | + |
| 281 | +o CLI-2: Wrong usage summary. |
| 282 | +o CLI-5: Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained. |
| 283 | +o CLI-8: Line separator as first char for helpformatter (footer) throws |
| 284 | + exception. |
| 285 | +o CLI-13: CommandLine.getOptionValue() behaves contrary to docs. |
| 286 | +o CLI-21: clone method in Option should use super.clone(). |
| 287 | +o CLI-23: Passing properties in Parser does not work for options with a single |
| 288 | + argument. |
| 289 | +o CLI-26: Only long options without short option seems to be noticed. |
| 290 | +o CLI-28: Infinite Loop in Command-Line processing. |
| 291 | +o CLI-29: Options should not be able to be added more than once. |
| 292 | +o CLI-35: HelpFormatter doesn't sort options properly. |
| 293 | +o CLI-38: HelpFormatter doesn't function correctly for options with only |
| 294 | + LongOpt. |
| 295 | +o CLI-44: Document enhancement. |
| 296 | +o CLI-45: Documentation errors. |
| 297 | +o CLI-51: Parameter value "-something" misinterpreted as a parameter. |
| 298 | +o CLI-56: clone() method doesn't fully clone contents. |
| 299 | +o CLI-59: No Javadoc for HelpFormatter!. |
| 300 | +o CLI-65: Parser breaks up command line parms into single characters. |
| 301 | +o CLI-67: Missing arguments in HelpFormatter.renderOptions(..). |
| 302 | +o CLI-69: Error parsing option arguments. |
| 303 | +o CLI-71: A weakness of parser. |
| 304 | +o CLI-129: CLI_1_BRANCH build.xml doesn't work. |
| 305 | +o CLI-130: Remove the Commons Lang dependency. |
| 306 | +o CLI-131: Options class returns options in random order. |
| 307 | +o CLI-132: MissingOptionException should contain a useful error message. |
| 308 | +o CLI-133: NullPointerException in Util.stripLeadingHyphens when passed a null |
| 309 | + argument. |
| 310 | +o CLI-134: 1.1 is not backwards compatible because it adds methods to the |
| 311 | + CommandLineParser interface. |
| 312 | +o CLI-135: Backwards compatibility between 1.1 and 1.0 broken due to |
| 313 | + Option.addValue removal. |
| 314 | + |
| 315 | + |
| 316 | +Historical list of changes: https://commons.apache.org/cli/changes-report.html |
| 317 | + |
| 318 | +For complete information on Commons CLI, including instructions on how to |
| 319 | +submit bug reports, patches, or suggestions for improvement, see the |
| 320 | +Apache Commons CLI website: |
| 321 | + |
| 322 | +https://commons.apache.org/cli/ |
| 323 | + |
| 324 | +Have fun! |
| 325 | +-Apache Commons CLI team |
0 commit comments