@@ -33,86 +33,119 @@ This document contains the release notes for this version of the Commons CLI
3333package. Commons CLI provides a simple API for working with the command line
3434arguments and options.
3535
36- Commons CLI 1.3 is a bugfix release and binary compatible with the previous versions,
37- except for the OptionValidator class that is no longer public (change introduced in v1.2).
38-
39- More information can be found on the project site at http://commons.apache.org/cli
40-
41-
42- NEW FEATURES:
43-
44- * A new parser is available: DefaultParser. It combines the features of the GnuParser and the PosixParser.
45- It also provides additional features like partial matching for the long options, and long options without
46- separator (i.e like the JVM memory settings: -Xmx512m). This new parser deprecates the previous ones.
47- (CLI-161, CLI-167, CLI-181)
48-
49- * Added new fluent API to create Option instances via builder class Option.Builder.
50- This replaces the now deprecated OptionBuilder. Thanks to Duncan Jones, Brian Blount. (CLI-224)
51-
52- * PosixParser now supports partial long options (--ver instead of --version). (CLI-160)
53-
54- * HelpFormatter now supports setting the displayed separator of long options. Thanks to J. Lewis Muir. (CLI-169)
55-
56- * Added new method Options.addOption(String, String). Thanks to Alexandru Mocanu. (CLI-214)
57-
58-
59- BUG FIXES:
60-
61- * Default options will now work correctly with required options that are missing. (CLI-202)
62-
63- * Default options will now work correctly together with option groups. (CLI-203)
64-
65- * HelpFormatter.setArgName(String) now correctly sets the argument name. (CLI-205)
66-
67- * Passing default values for not defined options to a parser will now trigger
68- a ParseException instead of a NullPointerException. (CLI-204)
69-
70- * Default properties provided as input to the Parser.parse() methods are now
71- correctly processed. (CLI-201)
72-
73- * CommandLine.getParsedOptionValue() now returns a String object if no
74- option type has been explicitly set. Thanks to Manuel Müller. (CLI-215)
75-
76- * HelpFormatter now prints command-line options in the same order as they
77- have been added. Thanks to Per Cederberg. (CLI-212)
78-
79- * Standard help text now shows mandatory arguments also for the first option. Thanks to Kristoff Kiefer. (CLI-186)
80-
81- * HelpFormatter does not strip anymore leading whitespace in the footer text. Thanks to Uri Moszkowicz. (CLI-207)
82-
83- * Strip quotes contained in argument values only if there is exactly one at the
84- beginning and one at the end. Thanks to Einar M R Rosenvinge. (CLI-185)
85-
86- * Negative numerical arguments take precedence over numerical options. (CLI-184)
87-
88- * Fix possible StringIndexOutOfBoundsException in HelpFormatter. Thanks to Travis McLeskey. (CLI-193)
89-
90- * OptionGroups no longer throw an AlreadySelectedException when reused for several parsings. (CLI-183)
91-
92- * OptionGroup now selects properly an option with no short name. (CLI-182)
93-
94-
95- CHANGES:
96-
97- * Options.getRequiredOptions() now returns an unmodifiable list. (CLI-230)
98-
99- * Clarify javadoc for CommandLine.getOptionValue() that the first specified
100- argument will be returned. Thanks to Sven. (CLI-218)
101-
102- * Changed unit tests to junit 4 annotation style. Thanks to Duncan Jones. (CLI-227)
103-
104- * The javadoc of OptionBuilder now states that the class is not thread-safe. Thanks to Thomas Herre. (CLI-209)
105-
106- * Fixed typo in javadoc of class CommandLine. Thanks to Gerard Weatherby. (CLI-200)
107-
108- * Source code now uses generic types instead of raw types where possible. Thanks to Gerard Weatherby. (CLI-223)
109-
110- * Corrected javadoc for return type of MissingOptionException.getMissingOptions(). Thanks to Joe Casadonte. (CLI-220)
111-
112- * Improve description of parameter "stopAtNonOption" in method
113- CommandLine.parse(Options, String[], boolean). Thanks to Anders Larsson. (CLI-197)
114-
115- * Removed DoubleCheckedLocking test from checkstyle configuration. Thanks to Duncan Jones. (CLI-231)
36+ Commons CLI 1.3 is a bugfix and feature release and binary compatible with the
37+ previous versions, except for the OptionValidator class that is no longer public
38+ (change introduced in v1.2). Commons CLI 1.3 at least requires Java 5.0.
39+
40+ More information can be found on the project site at
41+ http://commons.apache.org/cli.
42+
43+ NOTES
44+ =====
45+
46+ A new parser is available: DefaultParser. It combines the features of the
47+ GnuParser and the PosixParser. It also provides additional features like
48+ partial matching for the long options, and long options without
49+ separator (i.e like the JVM memory settings: -Xmx512m). This new parser
50+ deprecates the previous ones.
51+
52+ DEPRECATIONS
53+ ============
54+
55+ o org.apache.commons.cli.BasicParser
56+ replaced by org.apache.commons.cli.DefaultParser
57+
58+ o org.apache.commons.cli.GnuParser
59+ replaced by org.apache.commons.cli.DefaultParser
60+
61+ o org.apache.commons.cli.OptionBuilder
62+ replaced by org.apache.commons.cli.Option.builder()
63+ org.apache.commons.cli.Option.builder(String)
64+ org.apache.commons.cli.Option.Builder
65+
66+ o org.apache.commons.cli.Parser
67+ replaced by org.apache.commons.cli.DefaultParser
68+
69+ o org.apache.commons.cli.PosixParser
70+ replaced by org.apache.commons.cli.DefaultParser
71+
72+
73+ NEW FEATURES
74+ ============
75+
76+ o CLI-161: PosixParser doesn't stop the parsing on "--" tokens following an
77+ option with an argument
78+ o CLI-167: Support options like Java memory settings (-Xmx512M)
79+ o CLI-181: Unified Parser
80+ o CLI-224: Added new fluent API to create Option instances via builder class
81+ Option.Builder. This replaces the now deprecated OptionBuilder.
82+ Thanks to Duncan Jones, Brian Blount.
83+ o CLI-160: PosixParser now supports partial long options (--ver instead of
84+ --version).
85+ o CLI-169: HelpFormatter now supports setting the displayed separator of long
86+ options. Thanks to J. Lewis Muir.
87+ o CLI-214: Added new method Options.addOption(String, String). Thanks to
88+ Alexandru Mocanu.
89+
90+
91+ BUG FIXES
92+ =========
93+
94+ o CLI-248: Dead links on doc page.
95+ o CLI-234: Fixed code example in javadoc of
96+ "Option#Builder#valueSeparator(char)". Thanks to Greg Thomas.
97+ o CLI-241: Clarified behavior of "OptionValidator#validateOption(String)"
98+ in case of null input. Thanks to Beluga Behr.
99+ o CLI-202: Default options will now work correctly with required options that
100+ are missing.
101+ o CLI-203: Default options will now work correctly together with option groups.
102+ o CLI-205: HelpFormatter.setArgName(String) now correctly sets the argument
103+ name.
104+ o CLI-204: Passing default values for not defined options to a parser will now
105+ trigger a ParseException instead of a NullPointerException.
106+ o CLI-201: Default properties provided as input to the Parser.parse() methods
107+ are now correctly processed.
108+ o CLI-215: CommandLine.getParsedOptionValue() now returns a String object if no
109+ option type has been explicitly set. Thanks to Manuel Müller.
110+ o CLI-212: HelpFormatter now prints command-line options in the same order as
111+ they have been added. Thanks to Per Cederberg.
112+ o CLI-186: Standard help text now shows mandatory arguments also for the first
113+ option. Thanks to Kristoff Kiefer.
114+ o CLI-207: HelpFormatter does not strip anymore leading whitespace in the
115+ footer text. Thanks to Uri Moszkowicz.
116+ o CLI-185: Strip quotes contained in argument values only if there is exactly
117+ one at the beginning and one at the end. Thanks to
118+ Einar M. R. Rosenvinge.
119+ o CLI-184: Negative numerical arguments take precedence over numerical options.
120+ o CLI-193: Fix possible StringIndexOutOfBoundsException in HelpFormatter.
121+ Thanks to Travis McLeskey.
122+ o CLI-183: OptionGroups no longer throw an AlreadySelectedException when reused
123+ for several parsings.
124+ o CLI-182: OptionGroup now selects properly an option with no short name.
125+
126+
127+ CHANGES
128+ =======
129+
130+ o CLI-240: Small cleanup of Option class. Thanks to Beluga Behr.
131+ o CLI-230: Options.getRequiredOptions() now returns an unmodifiable list.
132+ o CLI-218: Clarify javadoc for CommandLine.getOptionValue() that the first
133+ specified argument will be returned. Thanks to Sven.
134+ o CLI-227: Changed unit tests to junit 4 annotation style. Thanks to
135+ Duncan Jones.
136+ o CLI-209: The javadoc of OptionBuilder now states that the class is not
137+ thread-safe. Thanks to Thomas Herre.
138+ o CLI-200: Fixed typo in javadoc of class CommandLine. Thanks to
139+ Gerard Weatherby.
140+ o CLI-223: Source code now uses generic types instead of raw types where
141+ possible. Thanks to Gerard Weatherby.
142+ o CLI-220 Corrected javadoc for return type of
143+ MissingOptionException.getMissingOptions(). Thanks to Joe Casadonte.
144+ o CLI-197: Improve description of parameter "stopAtNonOption" in method
145+ CommandLine.parse(Options, String[], boolean). Thanks to
146+ Anders Larsson.
147+ o CLI-231: Removed DoubleCheckedLocking test from checkstyle configuration.
148+ Thanks to Duncan Jones.
116149</source >
117150
118151</section >
0 commit comments