<?xml version="1.0"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<document> | |
<properties> | |
<title>Apache Commons CLI Release Notes</title> | |
</properties> | |
<body> | |
<release version="1.6" date="tbd" description="New features and bug fixes"> | |
<!-- FIX --> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 417-423] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 446-450] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 474-478] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION | |
</action> | |
<action type="update" dev="ggregory" due-to="Arturo Bernal"> | |
Use EMPTY_STRING_ARRAY constant. #102. | |
</action> | |
<!-- ADD --> | |
<action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> | |
Add github/codeql-action. | |
</action> | |
<!-- UPDATES --> | |
<action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> | |
Bump actions/cache from 2.1.7 to 3.0.8 #97. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump actions/setup-java from 2 to 3. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> | |
Bump spotbugs from 4.5.3 to 4.7.1 #96, #107, #113. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.1.1 #98, #108, #115, #117. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump commons-parent from 52 to 53 #100. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump maven-antrun-plugin from 3.0.0 to 3.1.0 #103. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump maven-javadoc-plugin from 3.3.2 to 3.4.1 #105, #120. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump maven-pmd-plugin from 3.16.0 to 3.17.0 #110. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump jacoco-maven-plugin from 0.8.7 to 0.8.8. | |
</action> | |
</release> | |
<release version="1.5.0" date="10-23-2021" description="New features and bug fixes (Java 7)."> | |
<!-- FIX --> | |
<action type="fix" dev="ggregory" due-to="Gary Gregory"> | |
Fix NPE in DefaultParser.isLongOption(String). | |
</action> | |
<action type="fix" dev="britter" due-to="Krishna Mohan Rao Kandunoori" issue="CLI-279"> | |
@param or @return lines should end with a period in CommandLine.java | |
</action> | |
<action type="fix" dev="ggregory" due-to="Gary Gregory"> | |
Replace deprecated FindBugs with SpotBugs. | |
</action> | |
<action type="fix" dev="ggregory" due-to="Gary Gregory"> | |
Replace CLIRR with JApiCmp. | |
</action> | |
<action type="fix" dev="ggregory" due-to="Elliotte Rusty Harold"> | |
Option Javadocs grammar nits #55. | |
</action> | |
<action type="fix" dev="ggregory" due-to="Arturo Bernal, Gary Gregory"> | |
Minor Improvements #57, #61. | |
</action> | |
<action type="fix" dev="ggregory" due-to="stoty" issue="CLI-254"> | |
Input "test" gets parsed as test, quotes die #58. | |
</action> | |
<action type="fix" dev="ggregory" due-to="MrQubo, Gary Gregory" issue="CLI-287"> | |
Allow whitespace-only header and footer #26. | |
</action> | |
<!-- ADD --> | |
<action type="add" dev="chtompki" due-to="Rubin Simons" issue="CLI-217"> | |
Accommodate toggling partial matching in DefaultParser. | |
</action> | |
<action type="add" dev="britter" due-to="Béla Schaum" issue="CLI-274"> | |
Option parser type EXISTING_FILE_VALUE not check file existing | |
</action> | |
<action type="add" dev="britter" due-to="Christoph Läubrich" issue="CLI-271"> | |
CommandLine.getXXX and CommandLine.hasXXX should accept an Option as a parameter | |
</action> | |
<action type="add" dev="ggregory" due-to="Jason Dillon" issue="CLI-276"> | |
Adjust access-modifier of checkRequiredOptions() to protected. | |
</action> | |
<action type="add" dev="ggregory" due-to="Alex Nordlund" issue="CLI-282"> | |
TypeHandler should throw ParseException for an unsupported class. | |
</action> | |
<action type="add" dev="ggregory" due-to="Waldemar Sojka, Gary Gregory"> | |
Added setter for Builder.option #33. | |
</action> | |
<action type="add" dev="ggregory" due-to="Waldemar Sojka, Gary Gregory"> | |
Add Option unit tests #76. | |
</action> | |
<!-- UPDATE --> | |
<action type="update" dev="ggregory" issue="CLI-294"> | |
Update Java from version 5 to 7. | |
</action> | |
<action type="update" dev="ggregory" due-to="Mincong Huang"> | |
Docs: Replace OptionBuilder in usage page #30. | |
</action> | |
<action type="update" dev="ggregory" due-to="dengliming"> | |
Remove deprecated sudo setting. #36. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> | |
Bump junit:junit from 4.12 to 4.13.2, #53, #60. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump commons-parent from 48 to 52. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump maven-pmd-plugin from 3.12.0 to 3.16.0, #44, #54, #67, #92. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump actions/checkout from 2.3.1 to 3 #46, #72, #78, #93. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> | |
Bump actions/setup-java from v1.4.2 to v2 #50. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump maven-antrun-plugin from 1.7 to 3.0.0 #43. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump maven-checkstyle-plugin from 2.15 to 3.1.2 #41. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump checkstyle to 9.3 #68, #86, #90. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump actions/cache from 2 to 2.1.7 #64, #65, #81. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump commons.animal-sniffer.version 1.19 -> 1.20. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump maven-bundle-plugin 5.1.1 -> 5.1.2. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump biz.aQute.bndlib.version 5.1.2 -> 6.0.0. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump spotbugs from 4.4.1 to 4.5.3 #70, #88. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump spotbugs-maven-plugin from 4.4.1 to 4.5.3.0 #71, #85, #87. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump maven-javadoc-plugin from 3.3.1 to 3.3.2, #91. | |
</action> | |
</release> | |
<release version="1.4" date="2017-03-09" description="New features and bug fixes"> | |
<action type="add" dev="rfscholte" issue="CLI-269"> | |
Introduce CommandLine.Builder | |
</action> | |
<action type="fix" dev="britter" issue="CLI-265" due-to="Martin Sandiford"> | |
Optional argument picking up next regular option as its argument | |
</action> | |
<action type="add" dev="britter" issue="CLI-267" due-to="Ricardo Ribeiro"> | |
Add an addRequiredOption method to Options | |
</action> | |
<action type="fix" dev="britter" issue="CLI-266" due-to="Ravi Teja"> | |
HelpFormatter.setOptionComparator(null) doesn't display the values in inserted order | |
</action> | |
</release> | |
<release version="1.3.1" date="2015-06-17" description="Bug fix release for 1.3"> | |
<action type="fix" dev="britter" issue="CLI-252" due-to="Simon Harrer"> | |
LongOpt falsely detected as ambiguous | |
</action> | |
</release> | |
<release version="1.3" date="2015-05-09" description="This is a feature and maintenance bug fix release."> | |
<action type="fix" dev="djones" issue="CLI-248"> | |
Fixed broken Javadoc links on Introduction page. | |
</action> | |
<action type="fix" dev="tn" issue="CLI-234" due-to="Greg Thomas"> | |
Fixed code example in javadoc of "Option#Builder#valueSeparator(char)". | |
</action> | |
<action type="fix" dev="tn" issue="CLI-241" due-to="Beluga Behr"> | |
Clarified behavior of "OptionValidator#validateOption(String)" in case of null input. | |
</action> | |
<action type="update" dev="tn" issue="CLI-240" due-to="Beluga Behr"> | |
Small cleanup of Option class. | |
</action> | |
<action type="update" dev="tn" issue="CLI-231" due-to="Duncan Jones"> | |
Removed DoubleCheckedLocking test from checkstyle configuration. | |
</action> | |
<action type="update" dev="tn" issue="CLI-230"> | |
Options.getRequiredOptions() now returns an unmodifiable list. | |
</action> | |
<action type="add" dev="tn" issue="CLI-224" due-to="Duncan Jones, Brian Blount"> | |
Added new fluent API to create Option instances via builder class Option.Builder. | |
This replaces the now deprecated OptionBuilder. | |
</action> | |
<action type="update" dev="tn" issue="CLI-218" due-to="Sven"> | |
Clarify javadoc for CommandLine.getOptionValue() that the first specified | |
argument will be returned. | |
</action> | |
<action type="add" dev="tn" issue="CLI-214" due-to="Alexandru Mocanu"> | |
Added new method Options.addOption(String, String). | |
</action> | |
<action type="update" dev="tn" issue="CLI-227" due-to="Duncan Jones"> | |
Changed unit tests to junit 4 annotation style. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-202"> | |
Default options will now work correctly with required options that are missing. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-203"> | |
Default options will now work correctly together with option groups. | |
</action> | |
<action type="update" dev="ebourg" issue="CLI-209" due-to="Thomas Herre"> | |
The javadoc of OptionBuilder now states that the class is not thread-safe. | |
</action> | |
<action type="add" dev="ebourg" issue="CLI-169" due-to="J. Lewis Muir"> | |
HelpFormatter now supports setting the displayed separator of long options. | |
</action> | |
<action type="update" dev="ebourg" issue="CLI-197" due-to="Anders Larsson"> | |
Improve description of parameter "stopAtNonOption" in method | |
CommandLine.parse(Options, String[], boolean). | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-204"> | |
Passing default values for not defined options to a parser will now trigger | |
a ParseException instead of a NullPointerException. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-205"> | |
HelpFormatter.setArgName(String) now correctly sets the argument name. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-201"> | |
Default properties provided as input to the Parser.parse() methods are now | |
correctly processed. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-215" due-to="Manuel Müller"> | |
CommandLine.getParsedOptionValue() now returns a String object if no | |
option type has been explicitly set. | |
</action> | |
<action type="update" dev="ggregory" issue="CLI-200" due-to="Gerard Weatherby"> | |
Fixed typo in javadoc of class CommandLine. | |
</action> | |
<action type="update" dev="ebourg" issue="CLI-223" due-to="Gerard Weatherby"> | |
Source code now uses generic types instead of raw types where possible. | |
</action> | |
<action type="update" dev="ebourg" issue="CLI-220" due-to="Joe Casadonte"> | |
Corrected javadoc for return type of MissingOptionException.getMissingOptions(). | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-212" due-to="Per Cederberg"> | |
HelpFormatter now prints command-line options in the same order as they | |
have been added. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-186" due-to="Kristoff Kiefer"> | |
Standard help text now shows mandatory arguments also for the first option. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-207" due-to="Uri Moszkowicz"> | |
HelpFormatter does not strip anymore leading whitespace in the footer text. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-185" due-to="Einar M R Rosenvinge"> | |
Strip quotes contained in argument values only if there is exactly one at the | |
beginning and one at the end. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-184"> | |
Negative numerical arguments take precedence over numerical options (only supported | |
by the new DefaultParser). | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-193" due-to="Travis McLeskey"> | |
Fix possible StringIndexOutOfBoundsException in HelpFormatter. | |
</action> | |
<action type="add" dev="ebourg" issue="CLI-161,CLI-167,CLI-181"> | |
A new parser is available: DefaultParser. It combines the features of the GnuParser and the PosixParser. | |
It also provides additional features like partial matching for the long options, and long options without | |
separator (i.e like the JVM memory settings: -Xmx512m). This new parser deprecates the previous ones. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-183"> | |
OptionGroups no longer throw an AlreadySelectedException when reused for several parsings. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-182"> | |
OptionGroup now selects properly an option with no short name. | |
</action> | |
<action type="add" dev="ebourg" issue="CLI-160"> | |
PosixParser now supports partial long options (--ver instead of --version). | |
</action> | |
</release> | |
<release version="1.2" date="2009-03-19" description="This is a maintenance release containing bug fixes."> | |
<action type="fix" dev="joehni" issue="CLI-177"> | |
OptionBuilder is now reseted if an IllegalArgumentException occurs in create(). | |
</action> | |
<action type="remove" dev="bayard"> | |
Ant build system removed. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-154"> | |
Incomplete usage documentation about Java property option. | |
</action> | |
<action type="fix" dev="bayard" issue="CLI-170"> | |
TypeHandler prints messages to stderr. | |
</action> | |
<action type="fix" dev="bayard" issue="CLI-162"> | |
Infinite loop in the wrapping code of HelpFormatter. | |
</action> | |
<action type="fix" dev="sgoeschl"> | |
Fixing some minor javadoc issues. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-137"> | |
The number of arguments defined for an option specifies the arguments per occurrence of the option | |
and not for all occurrences. This was a major regression in CLI 1.1 which prevented the use of repeated options. | |
</action> | |
<action type="add" dev="ebourg"> | |
Added a getOptionProperties() method in the CommandLine class to retrieve easily the key/value pairs | |
specified with options like -Dkey1=value1 -Dkey2=value2. | |
</action> | |
<action type="update" dev="ebourg" issue="CLI-157"> | |
GnuParser now supports long options with an '=' sign (ie. --foo=bar and -foo=bar) | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-164"> | |
PosixParser no longer ignores unrecognized short options. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-163"> | |
PosixParser no longer stops the bursting process of a token if stopAtNonOption is enabled and a non option | |
character is encountered. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-165"> | |
PosixParser no longer keeps processing the tokens after an unrecognized long option | |
when stopAtNonOption is enabled. | |
</action> | |
<action type="fix" dev="ebourg" issue="CLI-156"> | |
Required options are properly checked if an Options instance is used twice to parse a command line. | |
</action> | |
<action type="update" dev="bayard" issue="CLI-155"> | |
The ordering of options can be defined in help messages. | |
</action> | |
<action type="fix" dev="bayard" issue="CLI-151" due-to="Dan Armbrust"> | |
The line wrapping in HelpFormatter now works properly. This caused CLI-162, and thus there was a feature change | |
for the HelpFormatter in that it is strict on width now rather than what seemed to be lenience before. Text without | |
whitespace will be cut off to fit in the spacing, and an IllegalStateException will be thrown if it is impossible | |
to output the information due to spacing constraints. | |
</action> | |
<action type="fix" dev="bayard" issue="CLI-149"> | |
The message of MissingOptionException has been improved. | |
</action> | |
<action type="update" dev="ebourg" issue="CLI-86"> | |
The exceptions have been enhanced with methods to retrieve easily the related options. | |
</action> | |
<action type="fix" dev="bayard" issue="CLI-141" due-to="Henning Schmiedehausen, Bjorn Townsend"> | |
Option.toString() now reports arguments properly. | |
</action> | |
<action type="update" dev="bayard" issue="CLI-142" due-to="Henning Schmiedehausen"> | |
The Parser class has been changed to be more easily extendable. | |
</action> | |
<action type="update" dev="bayard" issue="CLI-140"> | |
The following classes are now serializable: Option, OptionGroup, CommandLine and Options. | |
</action> | |
<action type="remove" dev="ebourg"> | |
OptionValidator is no longer public, its methods were all private. | |
</action> | |
</release> | |
<release version="1.1" date="2007-07-08" description="This is a maintenance release containing bug fixes."> | |
<action type="fix" issue="CLI-2">Wrong usage summary. </action> | |
<action type="fix" issue="CLI-5">Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained. </action> | |
<action type="fix" issue="CLI-8">Line separator as first char for helpformatter (footer) throws exception. </action> | |
<action type="fix" issue="CLI-13">CommandLine.getOptionValue() behaves contrary to docs. </action> | |
<action type="fix" issue="CLI-21">clone method in Option should use super.clone(). </action> | |
<action type="fix" issue="CLI-23">Passing properties in Parser does not work for options with a single argument. </action> | |
<action type="fix" issue="CLI-26">Only long options without short option seems to be noticed. </action> | |
<action type="fix" issue="CLI-28">Infinite Loop in Command-Line processing. </action> | |
<action type="fix" issue="CLI-29">Options should not be able to be added more than once. </action> | |
<action type="fix" issue="CLI-35">HelpFormatter doesn't sort options properly. </action> | |
<action type="fix" issue="CLI-38">HelpFormatter doesn't function correctly for options with only LongOpt. </action> | |
<action type="fix" issue="CLI-44">Document enhancement. </action> | |
<action type="fix" issue="CLI-45">Documentation errors. </action> | |
<action type="fix" issue="CLI-51">Parameter value "-something" misinterpreted as a parameter. </action> | |
<action type="fix" issue="CLI-56">clone() method doesn't fully clone contents. </action> | |
<action type="fix" issue="CLI-59">No Javadoc for HelpFormatter!. </action> | |
<action type="fix" issue="CLI-65">Parser breaks up command line parms into single characters. </action> | |
<action type="fix" issue="CLI-67">Missing arguments in HelpFormatter.renderOptions(..). </action> | |
<action type="fix" issue="CLI-69">Error parsing option arguments. </action> | |
<action type="fix" issue="CLI-71">A weakness of parser. </action> | |
<action type="add" issue="CLI-78">Setting description of a Option. </action> | |
<action type="fix" issue="CLI-129">CLI_1_BRANCH build.xml doesn't work. </action> | |
<action type="fix" issue="CLI-130">Remove the Commons Lang dependency. </action> | |
<action type="fix" issue="CLI-131">Options class returns options in random order. </action> | |
<action type="fix" issue="CLI-132">MissingOptionException should contain a useful error message. </action> | |
<action type="fix" issue="CLI-133">NullPointerException in Util.stripLeadingHyphens when passed a null argument. </action> | |
<action type="fix" issue="CLI-134">1.1 is not backwards compatible because it adds methods to the CommandLineParser interface. </action> | |
<action type="fix" issue="CLI-135">Backwards compatibility between 1.1 and 1.0 broken due to Option.addValue removal. </action> | |
</release> | |
<release version="1.0" date="2002-11-06" description="Initial release"/> | |
</body> | |
</document> |