| <?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 |
| |
| https://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 xmlns="http://maven.apache.org/changes/2.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/changes/2.0.0 https://maven.apache.org/xsd/changes-2.0.0.xsd"> |
| <properties> |
| <title>Apache Commons CLI Release Notes</title> |
| </properties> |
| <body> |
| <release version="1.11.0" date="2025-11-08" description="This is a feature and maintenance release. Java 8 or later is required."> |
| <!-- FIX --> |
| <action type="fix" issue="CLI-351" dev="ggregory" due-to="Damien Carbonne, Claude Warren, Gary Gregory">Multiple trailing BREAK_CHAR_SET characters cause infinite loop in HelpFormatter.</action> |
| <action type="fix" issue="CLI-351" dev="ggregory" due-to="Damien Carbonne, Claude Warren, Gary Gregory">Fix issue with groups not being reported in help output. #411.</action> |
| <!-- ADD --> |
| <action type="add" dev="ggregory" due-to="David Larochette, Gary Gregory">Add CommandLine.getOptionCount() to measure option repetition #396.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 85 to 91 #393.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-io:commons-io from 2.20.0 to 2.21.0.</action> |
| </release> |
| <release version="1.10.0" date="2025-07-30" description="This is a feature and maintenance release. Java 8 or later is required."> |
| <!-- FIX --> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate CommandLine.Builder() in favor of CommandLine.builder().</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate DeprecatedAttributes.Builder() in favor of DeprecatedAttributes.builder().</action> |
| <action type="fix" dev="ggregory" due-to="Dávid Szigecsán">Refactor default parser test #294.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Port to JUnit 5.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Generics for Converter should use Exception not Throwable.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Pick up maven-antrun-plugin version from parent POM org.apache:apache.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Javadoc is missing its Overview page.</action> |
| <action type="fix" dev="ggregory" due-to="Arnout Engelen">Get mockito version from parent pom (#351).</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80).</action> |
| <action type="fix" dev="ggregory" due-to="Arnout Engelen">Deprecate PatternOptionBuilder.PatternOptionBuilder().</action> |
| <action type="fix" issue="CLI-341" dev="ggregory" due-to="Ruiqi Dong, Gary Gregory">HelpFormatter infinite loop with 0 width input.</action> |
| <action type="fix" issue="CLI-349" dev="ggregory" due-to="Leo Fernandes, Gary Gregory">Fail faster with a more precise NullPointerException: Option.processValue() throws NullPointerException when passed null value with value separator configured.</action> |
| <action type="fix" issue="CLI-344" dev="ggregory" due-to="Ruiqi Dong, Gary Gregory">Fail faster with a more precise NullPointerException: DefaultParser.parse() throws NullPointerException when options parameter is null.</action> |
| <action type="fix" issue="CLI-347" dev="ggregory" due-to="Ruiqi Dong, Gary Gregory">Options.addOptionGroup(OptionGroup) does not remove required options from requiredOpts list.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.commons.cli.Option.Builder.get() should throw IllegalStateException instead of IllegalArgumentException.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.commons.cli.Option.processValue(String) should throw IllegalStateException instead of IllegalArgumentException.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.commons.cli.OptionBuilder.create() should throw IllegalStateException instead of IllegalArgumentException.</action> |
| <!-- ADD --> |
| <action type="add" issue="CLI-339" dev="ggregory" due-to="Claude Warren, Gary Gregory">Help formatter extension in the new package #314.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">CommandLine.Builder implements Supplier<CommandLine>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">DefaultParser.Builder implements Supplier<DefaultParser>.</action> |
| <action type="add" issue="CLI-340" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add CommandLine.getParsedOptionValues() #334.</action> |
| <action type="add" issue="CLI-333" dev="ggregory" due-to="Claude Warren, Gary Gregory">org.apache.commons.cli.Option.Builder implements Supplier<Option>.</action> |
| <action type="add" dev="ggregory" due-to="Tamás Cservenák">Add new options for parsing: ignore and skip.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 72 to 85 #302, #304, #310, #315, #320, #327, #371.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">[test] Bump commons-io:commons-io from 2.16.1 to 2.20.0 #309, #337.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">[test] Bump org.apache.commons:commons-text from 1.12.0 to 1.14.0 #344.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update site documentation to https://maven.apache.org/xsd/xdoc-2.0.xsd.</action> |
| </release> |
| <release version="1.9.0" date="2024-08-10" description="This release contains new features and bug fixes and requires Java 8 or above."> |
| <!-- ADD --> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add OptionGroup.isSelected().</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">You can now extend HelpFormatter.Builder.</action> |
| <action type="add" dev="ggregory" due-to="Claude Warren">Add 'since' attribute to Option to track when an Option was introduced #292</action> |
| <!-- FIX --> |
| <action type="fix" issue="CLI-334" dev="ggregory" due-to="Eric Pugh">Fix Javadoc pathing #280.</action> |
| <action type="fix" issue="CLI-335" dev="ggregory" due-to="Claude Warren">Updated properties documentation #285.</action> |
| <action type="fix" issue="CLI-336" dev="ggregory" due-to="Claude Warren, Gary Gregory">Deprecation not always reported #284.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Replace internal StringBuffer with StringBuilder.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 70 to 72 #283.</action> |
| </release> |
| <release version="1.8.0" date="2024-05-18" description="This release contains new features and bug fixes and requires Java 8 or above."> |
| <!-- ADD --> |
| <action type="add" issue="CLI-332" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add optional HelpFormatter Function to document Deprecated options #271.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add PMD check to default Maven goal.</action> |
| <!-- FIX --> |
| <action type="fix" issue="CLI-331" dev="ggregory" due-to="Claude Warren, Gary Gregory">Handle reporting of deprecated options when parameters are not String type. #270.</action> |
| <action type="fix" dev="ggregory" due-to="Claude Warren, Gary Gregory">Avoid throwing NullPointerException when calling CommandLineParser will null array elements.</action> |
| <action type="fix" dev="ggregory" due-to="Claude Warren">Cleanup deprecation issues #272.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD UnnecessaryFullyQualifiedName issues.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 69 to 70.</action> |
| </release> |
| <release version="1.7.0" date="2024-04-13" description="This release contains new features and bug fixes and requires Java 8 or above."> |
| <!-- FIX --> |
| <action type="fix" issue="CLI-312" dev="ggregory" due-to="Claude Warren, Gary Gregory">Inconsistent behavior in key/value pairs (Java property style).</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in Util.stripLeadingAndTrailingQuotes(String).</action> |
| <action type="fix" issue="CLI-320" dev="ggregory" due-to="Paul King, Claude Warren">Awkward behavior of Option.builder() for multiple optional args.</action> |
| <action type="fix" issue="CLI-325" dev="ggregory" due-to="Claude Warren">Properties from multiple arguments with value separator. #237.</action> |
| <action type="fix" issue="CLI-327" dev="ggregory" due-to="Claude Warren, Gary Gregory">Fix for expected textual date values. #244.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Option.Builder.option("") should throw IllegalArgumentException instead of ArrayIndexOutOfBoundsException.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in CommandLine.getOptionValues(Option|String).</action> |
| <!-- ADD --> |
| <action type="add" issue="CLI-321" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add and use a Converter interface and implementations without using BeanUtils #216.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Maven property project.build.outputTimestamp for build reproducibility.</action> |
| <action type="add" issue="CLI-322" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add '-' as an option char and implemented extensive tests #217.</action> |
| <action type="add" issue="CLI-324" dev="ggregory" due-to="Claude Warren, Gary Gregory">Make adding OptionGroups and Options to existing Options easier #230.</action> |
| <action type="add" issue="CLI-323" dev="ggregory" due-to="Claude Warren, Gary Gregory">Added Supplier<T> defaults for getParsedOptionValue #229.</action> |
| <action type="add" issue="CLI-326" dev="ggregory" due-to="Claude Warren, Gary Gregory">Make Option.getKey() public #239.</action> |
| <action type="add" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add builder factory CommandLine#builder().</action> |
| <action type="add" issue="CLI-329" dev="ggregory" due-to="Eric Pugh, Gary Gregory">Support "Deprecated" CLI Options #252.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 64 to 69 #256.</action> |
| <action type="update" dev="ggregory" due-to="Elric, Gary Gregory">Update the tests to JUnit 5 #238.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump tests commons-io:commons-io from 2.16.0 to 2.16.1 #258.</action> |
| </release> |
| <release version="1.6.0" date="2023-10-23" description="This release contains new features and bug fixes and requires Java 8 or above."> |
| <!-- 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="Ken Dombeck"> |
| Use EMPTY_STRING_ARRAY constant. #102. |
| </action> |
| <action type="update" dev="ggregory" due-to="Arturo Bernal"> |
| Fix site links that are broken #155. |
| </action> |
| <action type="update" dev="ggregory" due-to="Arturo Bernal"> |
| Use Math.max() #111. Delete unused assignment #112. |
| </action> |
| <action dev="ggregory" type="fix" due-to="step-security-bot, Gary Gregory"> |
| [StepSecurity] ci: Harden GitHub Actions #176. |
| </action> |
| <action dev="ggregory" type="fix" due-to="Alexander Veit, Gary Gregory" issue="CLI-318"> |
| Inconsistent date format in changes report. |
| </action> |
| <action dev="ggregory" type="fix" due-to="Dilraj Singh, Gary Gregory" issue="CLI-283"> |
| Fix NPE in CommandLine.resolveOption(String). |
| </action> |
| <action dev="ggregory" type="fix" due-to="Dilraj Singh, Gary Gregory" issue="CLI-283"> |
| CommandLine.addOption(Option) should not allow a null Option. |
| </action> |
| <action dev="ggregory" type="fix" due-to="Gary Gregory" issue="CLI-283"> |
| CommandLine.addArgs(String) should not allow a null String. |
| </action> |
| <action dev="ggregory" type="fix" due-to="Julian Schilling, Gary Gregory" issue="CLI-303"> |
| Site docs: "Usage Scenarios" refers to deprecated methods. |
| </action> |
| <action dev="ggregory" type="fix" due-to="Philippe Bastiani, Sruteesh Kumar Paramata, Gary Gregory" issue="CLI-317"> |
| NullPointerException thrown by CommandLineParser.parse(). |
| </action> |
| <action dev="ggregory" type="fix" due-to="Dominik Stadler, HUNG LU, Sruteesh Kumar Paramata" issue="CLI-313"> |
| StringIndexOutOfBoundsException thrown by CommandLineParser.parse(). |
| </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="Gary Gregory"> |
| Bump Java from 7 to 8. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump actions/cache from 2.1.7 to 3.0.10 #97, #130, #132. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> |
| Bump actions/checkout from 3 to 3.1.0 #133. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump actions/setup-java from 2 to 3.6.0 #136. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> |
| Bump spotbugs from 4.5.3 to 4.7.3 #96, #107, #113, #125, #138. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot"> |
| Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.3.0 #98, #108, #115, #117, #126, #145. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump commons-parent from 52 to 64 #100, #128, #151, #158. |
| </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.19.0 #110, #124. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump jacoco-maven-plugin from 0.8.7 to 0.8.8. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #121. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump japicmp-maven-plugin from 0.15.4 to 0.16.0. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Update JUnit 4 to 5 vintage. |
| </action> |
| </release> |
| <release version="1.5.0" date="2021-10-23" description="This release contains new features and bug fixes and requires Java 7 or above."> |
| <!-- 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="This release contains new features and bug fixes and requires Java 5 or above."> |
| <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="This release contains bug fixes and requires Java 5 or above."> |
| <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 release contains new features and bug fixes and requires Java 5 or above.."> |
| <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 release contains new features and bug fixes and requires Java 5 or above."> |
| <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> |