Fork me on GitHub

API Changes

Changes in version 0.8.6

  • change back to Java 6 class file format

Changes in version 0.8.5

  • bug fix for repeatedly specified options, in previous versions all but the last occurence was ignored. Now values are accumulated from every occurence.
  • bug fix for options specified to return a custom subclass of list, only collection types assignable from either List or Set will now be treated as multivalued: this prevents the occurence of a clast cast exception

Changes in version 0.8.3

  • provide the option to display help message in the order that the methods are defined (actually the order that the JVM Java reflection API implementation returns the methods). Please see the CommandLineInterface annotation for more details

Changes in version 0.8.2

  • allow option methods to omit the "get" prefix

Changes in version 0.8.1

  • support hidden options that do not show up in help messages * support minimum, maximum and exact number of values for multivalued options

Changes in version 0.8.0

  • uk.co.flamingpenguin package now deprecated
  • changed package to com.lexicalscope, all further changes are in new package only
  • changed validation exception to runtime exception
  • throws "HelpRequestedException" if help has been requested, this makes it easier to catch help requests and behave differently (like exit without and error code)
  • corrected multiple bugs in the validation error messages and improved handling of pluralisation in the messages
  • fixed bug where excess values on the end of the command line were silently ignored (now they are reported as an error)
  • allowed construction of ArgumentValidationException with message and cause
  • options with default values are show as option in the help

Changes in version 0.7.6

  • empty list can now be specified as a default value for multivalued options by using as the default value
  • fixed bug where optional multivalued option was always incorrectly indicated as specified
  • changed behaviour of "defaultToNull" for multivalued options to allow the default value to be null instead of confusingly being empty list

Changes in version 0.7.5

  • remove accidental dependency on hamcrest, also added packaging integration tests to prevent future packaging problems

Changes in version 0.7.4

  • remove accidental dependency on cglib

Changes in version 0.7.3

  • null default values (for a different style of optional option)
  • multiple long names for an option
  • can now also define options by annotation class setters

Changes in version 0.7.2

  • Non annotated methods now return null rather than throwing an exception.
  • toString of returned implementation has changed slightly.
  • [beta] when using custom types for options, a constructor (java.lang.String, java.lang.reflect.Type) will give you access to the full generic type information of the option.