@@ -72,3 +72,254 @@ The Apache Commons Team
7272
7373------------------------------------------------------------------------------
7474
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