Skip to content

Commit 2233860

Browse files
committed
Prepare for a release candidate.
1 parent cc37692 commit 2233860

5 files changed

Lines changed: 200 additions & 249 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Apache Commons CLI
4747
[![GitHub Actions Status](https://github.com/apache/commons-cli/workflows/Java%20CI/badge.svg)](https://github.com/apache/commons-cli/actions)
4848
[![Coverage Status](https://coveralls.io/repos/apache/commons-cli/badge.svg)](https://coveralls.io/r/apache/commons-cli)
4949
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/commons-cli/commons-cli/badge.svg)](https://maven-badges.herokuapp.com/maven-central/commons-cli/commons-cli/)
50-
[![Javadocs](https://javadoc.io/badge/commons-cli/commons-cli/1.5.svg)](https://javadoc.io/doc/commons-cli/commons-cli/1.5)
50+
[![Javadocs](https://javadoc.io/badge/commons-cli/commons-cli/1.5.0.svg)](https://javadoc.io/doc/commons-cli/commons-cli/1.5.0)
5151

5252
Apache Commons CLI provides a simple API for presenting, processing and validating a Command Line Interface.
5353

@@ -68,7 +68,7 @@ Alternatively you can pull it from the central Maven repositories:
6868
<dependency>
6969
<groupId>commons-cli</groupId>
7070
<artifactId>commons-cli</artifactId>
71-
<version>1.5</version>
71+
<version>1.5.0</version>
7272
</dependency>
7373
```
7474

RELEASE-NOTES.txt

Lines changed: 56 additions & 233 deletions
Original file line numberDiff line numberDiff line change
@@ -1,251 +1,74 @@
1-
Apache Commons CLI
2-
Version 1.4
3-
Release Notes
1+
Apache Commons CLI
2+
Version 1.5.0-SNAPSHOT
3+
Release Notes
44

55

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.
79

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.
1111

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).
1513

16-
More information can be found on the project site at
17-
https://commons.apache.org/cli.
14+
Changes in this version include:
1815

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
5717
============
5818

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
13240
=======
13341

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.
16659

16760

168-
BUG FIXES
169-
=========
61+
Historical list of changes: https://commons.apache.org/proper/commons-cli/changes-report.html
17062

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:
18265

66+
https://commons.apache.org/proper/commons-cli/
18367

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
19569

70+
Have fun!
71+
The Apache Commons Team
19672

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+
------------------------------------------------------------------------------
24974

250-
Have fun!
251-
-Apache Commons CLI team

src/changes/changes.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<title>Apache Commons CLI Release Notes</title>
2121
</properties>
2222
<body>
23-
<release version="1.5.0" date="tba" description="New features and bug fixes (Java 7)">
23+
<release version="1.5.0" date="tba" description="New features and bug fixes (Java 7).">
2424
<!-- FIX -->
2525
<action type="fix" dev="ggregory" due-to="Gary Gregory">
2626
Fix NPE in DefaultParser.isLongOption(String).

0 commit comments

Comments
 (0)