| ---------- |
| Change Log |
| ---------- |
| |
| Changes in version 5.0.3 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/96} gh-96}} so that |
| options that take an argument but don't change the argument type from |
| <<<String>>> still show a <<<String>>> type indicator in the default |
| option help. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/104} gh-104}} so |
| that <<<EnumConverter>>> performs case-insensitive matching against arguments |
| of options. Thanks to Martin Paljak for this. |
| |
| Changes in version 5.0.2 |
| |
| * Made some package-private abstract classes become public classes |
| with package-private constructors. This makes it possible to call some methods |
| from Kotlin that were previously inaccessible. Thanks to Mirko Friedenhagen |
| for this. |
| |
| Changes in version 5.0.1 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/92} gh-92}} so that |
| in the event that <<<printHelpOn()>>> is called more than once, the output |
| is not duplicated. |
| |
| Changes in version 5.0 |
| |
| * Abandoning JDKs prior to 7. All source is Java 7-compatible, and bytecode is compiled to 1.7 |
| version. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/51} gh-51}} by adding |
| <<<OptionSpecBuilder.availableIf()>>> and <<<OptionSpecBuilder.availableUnless()>>>. Thanks |
| to Christian Ohr for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/70} gh-70}} by adding |
| <<<EnumConverter>>> and <<<PathConverter>>>. Thanks to Christian Ohr for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/88} gh-88}} by adding |
| an <<<OptionParser>>> constructor to allow suppression of option abbreviations. |
| Thanks to Louis Bergelson for this. |
| |
| Changes in version 4.10 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/85} gh-85}} |
| by correcting the description column width consumption of the built-in |
| help formatter. |
| |
| Changes in version 4.9 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/79} gh-79}} |
| by correcting the behavior of <<<OptionException.multipleOptionString>>> |
| when handling options with synonyms. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/72} gh-72}} |
| by externalizing some of the literal strings in <<<BuiltinHelpFormatter>>> |
| into resource bundles. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/76} gh-76}} |
| by modifying the behavior of <<<OptionalArgumentOptionSpec>>> so that if |
| the argument following the option does not "look like" an option but can |
| be converted to the option argument's type, treat the argument as the argument |
| of the option. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/68} gh-68}} |
| by modifying <<<BuiltinHelpFormatter>>> to be more extensible and documenting |
| the behavior of the newly accessible methods. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/73} gh-73}} |
| by correcting the behavior of <<<OptionSet.specs()>>> to remove all instances |
| of the non-option argument spec. |
| |
| Changes in version 4.8 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/65} gh-65}} |
| by modifying the build file to create a JAR with OSGi metadata. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/63} gh-63}} |
| by externalizing exception messages into resource bundles. |
| Currently, we ship only with messages for locale "en_US". |
| Translations for other locales are more than welcome. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/58} gh-58}} by |
| rewriting exception messaging to clarify synonymous options. |
| Synonyms are be separated by slashes (/); lists of distinct options will |
| be separated by commas (,) in square brackets ([]). |
| |
| Changes in version 4.7 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/57} gh-57}} by admitting |
| the underscore as a legal option character. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/53} gh-53}} by correcting |
| <<<OptionSet.hasOptions()>>> to answer correctly for no switches. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/56} gh-56}} by correcting |
| the default help formatting not to use a <<<Set>>> for rows of output, |
| but <<<List>>>. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/59} gh-59}} by relaxing |
| the return type of <<<ValueConverter.valueType()>>>. |
| |
| Changes in version 4.6 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/31} gh-31}} by offering |
| <<<OptionSpecBuilder.requiredUnless()>>>. Thanks to Christian Ohr for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/38} gh-38}} by offering |
| <<<OptionParser.recognizedOptions()>>>. Thanks to Antoine Neveux for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/35} gh-35}} by offering |
| <<<OptionSet.asMap()>>>. Thanks to Brian Oxley for this. |
| |
| Changes in version 4.5 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/17} gh-17}} by offering |
| <<<OptionParser.nonOptions()>>> and <<<NonOptionArgumentSpec>>>. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/pull/27} gh-27}} by offering |
| <<<OptionParser.allowsUnrecognizedOptions()>>>. Thanks to Erik Broes for this. |
| |
| Changes in version 4.4 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/16} gh-16}} by offering |
| <<<BuiltinHelpFormatter>>> that allows configuration of overall row width and |
| column separator width. Thanks to Ryan Breidenbach for contributing code to this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/12} gh-12}} by offering |
| <<<OptionSpecBuilder.requiredIf()>>>. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/22} gh-22}}. Thanks to |
| El Kodus for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/19} gh-19}}. Thanks to |
| El Kodus for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/14} gh-14}} by offering |
| <<<AbstractOptionSpec.forHelp()>>>. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/13} gh-13}} by offering |
| <<<ArgumentAcceptingOptionSpec.withValuesSeparatedBy(String)>>>. |
| |
| * Added <<<InetAddressValueConverter>>>. Thanks to Raymund F\u00FCl\u00F6p for this. |
| |
| Changes in version 4.3 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/9} gh-9}} by offering |
| <<<OptionSet.specs()>>>, which gives a list of the specs corresponding to the |
| options detected on a parse, in the order in which the options occurred on the |
| command line. |
| |
| Changes in version 4.2 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/8} gh-8}} by offering |
| <<<ArgumentAcceptingOptionSpec.defaultsTo(V[])>>> in addition to |
| <<<ArgumentAcceptingOptionSpec.defaultsTo(V, V...)>>>. |
| |
| * Removing some internal unused classes and methods. |
| |
| Changes in version 4.1 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/7} gh-7}} by allowing short option |
| clusters to contain options which can accept arguments. When such an option is encountered, |
| the remaining characters in the cluster are treated as the argument to the option. Thanks to |
| Alan van Dam for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/6} gh-6}} with general improvements |
| to the project's site. Thanks to Michael Osipov for this. |
| |
| Changes in version 4.0 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/4} gh-4}} by adding method |
| <<<OptionParser.formatHelpWith(HelpFormatter)>>> to allow programmers to influence what |
| help is printed with <<<OptionParser.printHelpOn()>>>. A <<<HelpFormatter>>> is handed a |
| map, keyed by option text, whose values are <<<OptionDescriptor>>>s that describe the |
| options the parser has been configured with. |
| |
| * Added method <<<OptionSet.hasOptions()>>>. Thanks to Michael Osipov for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/pull/3} gh-3}} by using |
| <<<SimpleDateFormat.toPattern()>>> rather than <<<SimpleDateFormat.toLocalizedPattern()>>> |
| in <<<DateConverter>>>. Thanks to Michael Osipov for this. |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/issues/5} gh-5}} by allowing primitive |
| <<<Class>>> objects whose wrapper types are considered "value types" for purposes of |
| <<<ArgumentAcceptingOptionSpec.ofType()>>> in place of the wrapper classes. Thanks to |
| Daniel Yokomizo for suggesting this. |
| |
| Changes in version 3.3 |
| |
| * Resolved {{{https://github.com/pholser/jopt-simple/pull/1} gh-1}} by adding method |
| <<<required()>>> to class <<<ArgumentAcceptingOptionSpec>>>, to allow callers to indicate |
| that a given option must be present on the command line. Thanks to Emils Solmanis for |
| adding this. |
| |
| Changes in version 3.2 |
| |
| * Added method <<<defaultsTo()>>> to class <<<ArgumentAcceptingOptionSpec>>>, to allow |
| callers to specify default values for arguments of options. These influence the return |
| values of <<<OptionSpec.value(s)()>>> and <<<OptionSet.value(s)Of()>>>. Default values |
| also show up in the help screen entries for their options. This serves to resolve |
| {{{https://sourceforge.net/tracker/?func=detail&aid=2484524&group_id=125731&atid=703508} feature |
| request 2484524}}. |
| |
| * Fixed a problem whereby the empty string, a string consisting solely of whitespace, or a |
| string with embedded whitespace weren't being properly recognized as arguments of options |
| when they should have. |
| |
| * Resolved {{{https://sourceforge.net/tracker/?func=detail&aid=2793762&group_id=125731&atid=703508} feature |
| request 2793762}}, having to do with improving the behavior of embedded newlines in option |
| descriptions in help screens. |
| |
| Changes in version 3.1 |
| |
| * Added method <<<withValuesConvertedBy()>>> to class <<<ArgumentAcceptingOptionSpec>>>, |
| to allow callers to specify converters or validators that transform arguments of |
| options into instances of specific Java types. This is useful for types which do not |
| meet the requirements of <<<ofType()>>>. |
| |
| * Added classes <<<DateConverter>>> and <<<RegexMatcher>>> as examples of useful |
| argument converters. |
| |
| Changes in version 3.0.1 |
| |
| * Dependency on {{{http://ant.apache.org} Ant}} more appropriately test-scoped in the |
| {{{http://maven.apache.org} Maven}} POM. That way, if you use JOpt Simple with Maven, |
| you don't download Ant unnecessarily. |
| |
| Changes in version 3.0 |
| |
| * Version 3.0 supports Java 5 and greater only. If you need to use JOpt Simple in a |
| pre-Java-5 environment, use the latest 2.x release. |
| |
| * Where appropriate, existing API calls have been updated to use Java generics. |
| |
| * Extracted and surfaced interface <<<OptionSpec>>>. <<<OptionSpec>>>s returned by |
| the fluent interface methods can be used to retrieve arguments of the options they |
| represent in a type-safe manner. |
| |
| * Removed all previously deprecated methods. |
| |
| * Added methods to <<<OptionSet>>> to allow detection of options and retrieval of |
| option arguments using instances of <<<OptionSpec>>>. |
| |
| * Converted tests to JUnit 4. |
| |
| * Switched to MIT License. |
| |
| * Relaxing some <<<List>>> parameter types and return types of methods to |
| <<<Collection>>>. |
| |
| * <<<OptionArgumentConversionException>>> no longer drops the original cause on the |
| floor; hence <<<OptionException>>> can now be created with a cause. |
| |
| * {{{http://maven.apache.org} Maven}}-ized the project web site. |
| |
| * Overhauled the examples page. |
| |
| Changes in version 2.4.1 |
| |
| * Fixed {{{https://sourceforge.net/tracker/index.php?func=detail&aid=2018262&group_id=125731&atid=703505} bug 2018262}}. |
| |
| Changes in version 2.4 |
| |
| * Added the <<<acceptsAll()>>> method to class <<<OptionParser>>>. Options passed to |
| a given invocation of this method are treated as synonymous, so that each gives the |
| same answer when given as the argument to the methods <<<has()>>>, <<<valuesOf()>>>, |
| etc. on <<<OptionSet>>>. |
| |
| * Surfaced the class <<<KeyValuePair>>>. This class can be very handy as a value |
| type for arguments whose values take on the form <<<key=value>>>, such as the <<<-D>>> |
| arguments to JVMs. |
| |
| * Fixed {{{https://sourceforge.net/tracker/index.php?func=detail&aid=1932577&group_id=125731&atid=703505} bug 1932577}}. |
| |
| * Added method <<<withValuesSeparatedBy()>>> to class <<<ArgumentAcceptingOptionSpec>>>, |
| to allow callers to specify multiple values for an option as a single argument with |
| values separated by a given character. |
| |
| * Method <<<ofType()>>> on class <<<ArgumentAcceptingOptionSpec>>> now returns self |
| rather than <<<void>>>. |
| |
| * Deprecated another "get for get's sake": <<<OptionParser.setPosixlyCorrect()>>> |
| It is replaced with a less Java-beany-looking method. |
| |
| * Cleaned up the help screens produced by <<<OptionParser.printHelpOn()>>> so they are |
| rendered as two 40-character columns, with long space-broken values split across lines |
| as needed. |
| |
| * Fixed {{{https://sourceforge.net/tracker/index.php?func=detail&aid=1956418&group_id=125731&atid=703505} bug 1956418}}. |
| |
| Changes in version 2.3.6 |
| |
| * No changes to code; just getting {{{http://maven.apache.org} Maven}} to do releases |
| with its plugins. |
| |
| Changes in version 2.3.3 |
| |
| * Deprecated method <<<OptionSet.wasDetected()>>> in favor of <<<OptionSet.has()>>> -- |
| the new name seems to read better. |
| |
| * <<<OptionException>>>s now override <<<getMessage()>>> sensibly, so that if a caller |
| wants to handle the exception by catching it and displaying a message from the |
| exception, she can do so and get satisfactory results. |
| |
| * {{{http://maven.apache.org} Maven}}-ized project's build. |
| |
| * Minor internal changes. |
| |
| Changes in version 2.3.2 |
| |
| * Minor internal changes. |
| |
| Changes in version 2.3.1 |
| |
| * Fixed a bug with POSIX-ly correct parsers. It was previously thought that POSIX-ly |
| correct parsers should signal end of options when they detect an argument that does |
| not lexically look like an option and could not be an argument of a previous option, |
| required or optional. Such parsers now signal end of options when they detect an |
| argument that does not lexically look like an option, and is not an argument of a |
| previous option with a required argument. If you want such an argument to be treated |
| as the argument of a preceding option whose argument is optional, you can still get |
| this behavior by appending the argument to the option, either with abutting syntax |
| (<<<-d/tmp>>>) or key-value syntax (<<<-d=/tmp>>>). |
| |
| Changes in version 2.3 |
| |
| * No feature changes in this release; but this release can now be used with JDK 1.3. |
| Previous releases could be used only with JDK 1.4 or newer. |
| |
| Changes in version 2.2 |
| |
| * Removed all previously deprecated methods. |
| |
| * Re-clarified the contract of the one-arg <<<String>>> constructor of |
| <<<OptionParser>>>: the constructor now raises <<<NullPointerException>>> if its |
| argument is <<<null>>>. This is the convention for Java library methods which receive |
| illegal <<<null>>> parameters. |
| |
| Changes in version 2.1 |
| |
| * Introduced a facility for <<<OptionParser>>>s to print a help screen, which |
| describes the options they accept. |
| |
| * Added the ability to provide descriptions of options and their arguments when |
| configuring an <<<OptionParser>>>. These descriptions are printed in the |
| aforementioned help screens. |
| |
| * Clarified the contract of the one-arg <<<String>>> constructor of <<<OptionParser>>>: |
| the constructor raises <<<IllegalArgumentException>>> if its argument is <<<null>>>. |
| |
| * Deprecated <<<OptionParser.noArg()>>>, <<<OptionParser.requiredArg()>>>, and |
| <<<OptionParser.optionalArg()>>>. |
| |
| * Deprecated some "gets for gets' sake": <<<OptionException.getOption()>>>, |
| <<<OptionSet.getNonOptionArguments()>>>. They are replaced with less |
| Java-beany-looking methods. |
| |
| Changes in version 2.0 |
| |
| * Introduced a "fluent interface" API for specifying options for an <<<OptionParser>>> |
| to recognize. The old methods for option specification still work--you need not |
| convert to the new methods. |
| |
| * Added the ability to specify that option arguments should be converted to specific |
| types. You can do this either with the old option specification methods or with the |
| new fluent interface API. |
| |
| * Deprecated <<<OptionParser.requiresArg()>>> in favor of |
| <<<OptionParser.requiredArg()>>> -- the new name seems to read better. |
| |
| Version 1.0 |
| |
| * First major release. |
| |
| * Includes concrete classes <<<OptionParser>>> and <<<OptionSet>>>. |
| |
| * Supports POSIX <<<getopt()>>> and GNU <<<getopt_long()>>> command line syntax. |
| |
| * No type conversion on option arguments, they are all treated as <<<String>>>s. |
| |
| * Methods <<<noArg()>>>, <<<requiredArg()>>>, and <<<optionalArg()>>> tell an |
| <<<OptionParser>>> what options to recognize. |