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