210 lines
8.1 KiB
Markdown
210 lines
8.1 KiB
Markdown
## Changelog
|
|
|
|
### Current
|
|
2017-03-05
|
|
|
|
* Fixed: '--' handling, #296
|
|
* Added: Add `getProgramName` to `JCommander`, #247
|
|
* Added: Documentation for `listConverter` and `splitter`, #253, (@jeremysolarz)
|
|
* Fixed: Return right parameter name in exception, #227, (@jeremysolarz)
|
|
* Fixed: `JCommander#getParameters` returning nothing, #315, (@simon04)
|
|
* Fixed: Allow empty string (e.g. `java -jar jcommander-program.jar param1 ""`) as part of main parameter, #306 (@jeremysolarz)
|
|
* Fixed: Default value for `@Parameter(help=true)` parameter is not displayed in output of `JCommander.usage()`, #305 (@jeremysolarz)
|
|
* Fixed: When providing two names in `@Parameter` always first name is given to `IValueValidator`, #309 (@jeremysolarz)
|
|
|
|
### 1.58
|
|
2016-09-29
|
|
|
|
* Added: `IStringConverterInstanceFactory` to create converter instances, #279 (@simon04)
|
|
* Added: Allow to specify the `@file` charset, #286 (@simon04)
|
|
* Added: Converters `InetAddressConverter` (#288), `CharArrayConverter` (#289; @garydgregory)
|
|
* Fixed: When using `parseWithoutValidation()`, JCommander uses 'parse()' on child commanders, #267 (@simon04)
|
|
* Fixed: Share all options (such as column size, allow abbreviated options, case sensitivity) with sub commands, see `JCommander.Options` class, #280 (fixes #155, #244, #261, #274; @simon04)
|
|
* Fixed: Thread-safe and non-shared converter factories, #284 (@simon04)
|
|
* Fixed: Skip `Path` converter when class is not available (Android), #287 (@JesusFreke)
|
|
* Added: JCommander now requires Java 8
|
|
|
|
### 1.56
|
|
2016-08-05
|
|
|
|
* Added: Allow user to retrieve unknown command, #275
|
|
|
|
### 1.55
|
|
2016-02-28
|
|
|
|
* Added: Support for disabling the `@file` expansion, #156
|
|
* Fixed: Wrap usage for commands and main parameters, #258
|
|
* Added: Read parameters from interfaces, #252
|
|
* Added: Refuse to write to final fields, #243
|
|
* Added: Access private fields/methods, #236
|
|
* Fixed: Fix description line wrapping, #239
|
|
* Fixed: Prioritize registered converters for enums over generic enum conversion, #179
|
|
* Added: Travis CI support, https://travis-ci.org/cbeust/jcommander
|
|
* Added: Gradle build support
|
|
* Fixed: Better error message when there's a visibility problem.
|
|
* Require Java 7
|
|
|
|
### 1.48
|
|
2015-04-11
|
|
|
|
* Added: Added support for URL, URI, Java NIO paths parameters, #189, #219
|
|
* Fixed: Incorrect usage formatting with single long options, #200
|
|
|
|
### 1.37
|
|
2014-10-05
|
|
|
|
* Added: Support for `hidden` commands (`Parameters`), #191
|
|
* Added: parameter overwriting (and even disallowing it for certain parameters)
|
|
* Added: `#` mark comments in a `@file`, #199
|
|
* Added: Support for "--"
|
|
* Fixed: Bug in enum parsing, #184
|
|
|
|
### 1.34
|
|
2014-02-22
|
|
|
|
* Fixed problem whereby Parameters returning Lists and with alternate names were being reset on the first use of an alternate name, #182
|
|
|
|
### 1.32
|
|
2013-09-09
|
|
|
|
* Fixed: Main parameters with a default value should be overridden if a main parameter is specified, #137
|
|
* Fixed: Allow enum values without converting them to uppercase, #107
|
|
|
|
### 1.30
|
|
2012/10/27
|
|
|
|
* Added: JCommander#acceptUnknownOption and JCommander#getUnknownArgs
|
|
* Added: JCommander#allowAbbreviatedOptions (default: false)
|
|
* Added: JCommander#setCaseSensitiveOptions (default: true)
|
|
* Added: Support for enums (Scott M Stark)
|
|
* Fixed: Missing new lines in usage (styurin)
|
|
* Fixed: The description of commands is now displayed on the next line and indented.
|
|
|
|
### 1.29
|
|
2012/07/28
|
|
|
|
* Fixed: Empty string defaults now displayed as "<empty string>" in the usage
|
|
* Fixed: Bugs with the PositiveInteger validator
|
|
* Fixed: Parameters with a single double quote were not working properly
|
|
|
|
### 1.27
|
|
2012/07/05
|
|
|
|
* Added: IValueValidator to validate parameter values (typed) as opposed to IParameterValidator which validates strings
|
|
* Added: echoInput, used when password=true to echo the characters (Jason Wheeler)
|
|
* Added: @Parameter(help = true)
|
|
* Fixed: wasn't handling parameters that start with " but don't end with one correctly
|
|
* Fixed: if using a different option prefix, unknown option are mistakenly reported as "no main parameter defined" (kurmasz)
|
|
* Fixed: 113: getCommandDescription() returns the description of the main parameter instead of that of the command
|
|
* Fixed: bug with several multiple arity parameters (VariableArityTest)
|
|
* Fixed: variable arities not working when same parameter appears multiple times.
|
|
|
|
### 1.25
|
|
2012/04/26
|
|
|
|
* Added: Default passwords are no longer displayed in the usage (Paul Mendelson)
|
|
* Added: Variable arities now work magically, no need for IVariableArity any more
|
|
* Fixed: Commands using @Parameters(resourceBundle) were not i18n'ed properly in the usage()
|
|
* Fixed: StringIndexOutOfBoundsException if passing an empty parameter (bomanz)
|
|
* Fixed: #105: If no description is given for an enum, use that enum's value (Adrian Muraru)
|
|
* Fixed: #108: Dynamic parameters with "=" in them are not parsed correctly (szhem)
|
|
* Fixed: Commands with same prefix as options were not working properly.
|
|
* Fixed: #97: Required password always complains that it is not specified (timoteoponce)
|
|
|
|
### 1.23
|
|
2012/01/12
|
|
|
|
* Added: @DynamicParameter
|
|
* Fixed: Use JDK 6 Console() when available to improve support of non ascii chars (Julien Henry)
|
|
|
|
### 1.20
|
|
2011/11/24
|
|
|
|
* Added: Support for delegating parameter definitions to child classes (rodionmoiseev)
|
|
* Added: @Parameter(commandNames) so that command names can be specified with annotations
|
|
* Added: Support for enums (Adrian Muraru)
|
|
* Fixed: Throw if an unknown option is found
|
|
* Fixed: Main parameters are now validated as well (Connor Mullen)
|
|
|
|
### 1.19
|
|
2011/10/10
|
|
|
|
* Added: commandDescriptionKey to @Parameters, to allow internationalized command descriptions
|
|
* Added: JCommander#setParameterDescriptionComparator for better control over usage()
|
|
* Fixed: Fields of type Set (HashSet and SortedSet) are now supported
|
|
* Fixed: defaults for commands were not properly applied (Stevo Slavic)
|
|
* Fixed: "-args=a=b,b=c" was not being parsed correctly (Michael Lancaster)
|
|
* Fixed: #73: descriptionKey was being ignored on main parameters
|
|
|
|
### 1.18
|
|
2011/07/20
|
|
|
|
* Added: Default converter factories can be overridden (Scott Clasen)
|
|
* Added: IParameterValidator
|
|
* Added: Don't display "Options:" if none were defined
|
|
* Added: Enforce that the type of the main parameter is a List
|
|
* Added: usage() now displays the options for each command as well
|
|
* Fixed: Default values with a validator were being validate at parse() time instead of creation time.
|
|
* Fixed: Exception when using an @ file with empty lines between options
|
|
* Fixed: OOM when parsing certain descriptions with long URL's in them
|
|
|
|
### 1.15
|
|
2011/01/24
|
|
|
|
* Added: Added a constructor that takes a Bundle only, #47 (Russell Egan)
|
|
* Fixed: NPE with calling getCommandDescription() of an unknown command
|
|
|
|
### 1.13
|
|
2010/12/15
|
|
|
|
* Added: Boolean parameters with arity 0 (e.g. "foo -debug")
|
|
* Fixed: JCommander would sometimes just print a stack trace and continue, now rethrowing.
|
|
|
|
### 1.7
|
|
2010/09/06
|
|
|
|
* Added: Command usages are now shown in the order they were added to the JCommander object
|
|
* Fixed: JCommander now compatible with Java 5
|
|
* Fixed: Minor bug in the command display (Marc Ende)
|
|
|
|
### 1.6
|
|
2010/08/28
|
|
|
|
* Added: @Parameters(commandDescription = "command description")
|
|
* Added: now throwing an exception if required main parameters are not supplied
|
|
* Fixed: usage() was changing default values after two runs (jstrachan)
|
|
|
|
### 1.5
|
|
2010/08/15
|
|
|
|
* Added: overloaded versions of usage() with StringBuilders
|
|
* Added: inheritance support (Guillaume Sauthier)
|
|
* Added: support for commands (e.g. "main add --author=cbeust Foo.java")
|
|
* Added: support for converters for main parameters (e.g. List<HostPort>).
|
|
|
|
### 1.4
|
|
2010/07/28
|
|
|
|
* Added: string converter factories
|
|
* Added: IDefaultProvider
|
|
* Added: PropertyFileDefaultProvider
|
|
* Added: Usage is now showing required parameters and default value
|
|
* Added: Support for values that look like parameters ("-integer -3", "/file /tmp/a")
|
|
* Added: @Parameters(optionPrefixes) to allow for different prefixes than "-"
|
|
|
|
### 1.2
|
|
2010/07/25
|
|
|
|
* Usage is now aligned and alphabetically sorted
|
|
* Added the hidden attribute
|
|
* Added support for different separators than " " (e.g. "=").
|
|
* Deprecated @ResourceBundle, replaced with @Parameters
|
|
|
|
### 1.1
|
|
2010/08/15
|
|
|
|
* Better internationalization
|
|
* Password support
|
|
* Type converters
|
|
|