All Versions
24
Latest Version
Avg Release Cycle
46 days
Latest Release
-

Changelog History
Page 2

  • v2.5.0 Changes

    February 22, 2020

    2020-02-22

    โž• Added

    • ๐ŸŽ Clikt is now available as a Kotlin Multiplatform Project, supporting JVM, NodeJS, and native Windows, Linux, and macOS.
    • eagerOption {} function to more easily register eager options.
    • Eager options can now be added to option groups in help out by passing a value for groupName when creating them.
    • canBeSymlink parameter to file() and path() conversions that can be used to disallow symlinks
    • CliktCommand.eagerOption to simplify creating custom eager options

    ๐Ÿ”„ Changed

    • ๐Ÿšš The parameter names of file() and path() conversions have changed. The existing names are deprecated, and can be converted to the new usages with an IntelliJ inspection. Note that if you are calling these functions with unnamed arguments (e.g. file(true, false)), you'll need to add argument names in order to remove the deprecation warning.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ The CliktCommand.context property has been deprecated in favor of the new name, currentContext, to avoid confusion with the CliktCommand.context{} method.
    • ๐Ÿ—„ NoRunCliktCommand was renamed to NoOpCliktCommand. The existing class is deprecated. (#130)

    ๐Ÿ›  Fixed

    • file() and path() conversions will now properly expand leading ~ in paths to the home directory for mustExist, canBeFile, and canBeDir checks. The property value is unchanged, and can still begin with a ~. (#131)
  • v2.5.0-beta1

    February 13, 2020
  • v2.4.0 Changes

    January 25, 2020

    โž• Added

    • ๐Ÿ›  CompletionCandidates.Fixed now has a secondary convenience constructor that take a vararg of Strings
    • CompletionCadidates.Custom, which allows you to call other binaries or write a script to generate completions. This class is currently experimental. (#79)
    • Option.wrapValue and Argument.wrapValue to make it easier to reuse existing conversion functions.
    • ignoreCase parameter to choice() and enum() conversion functions.

    ๐Ÿ”„ Changed

    • 0๏ธโƒฃ option() and argument() now take optional completionCandidates parameters to override how completion is generated. The constructor and copy functions of OptionsWithValues and ProcessedArgument have changed to support default values.
    • ๐Ÿ—„ The overloads of findObject (1 2) that take a default value have been renamed findOrSetObject. The existing names are marked with @Deprecated, and IntelliJ can convert your callsites automatically. (#110)
    • 0๏ธโƒฃ enum() parameters now accept case-insensitive values by default. You change this behavior by passing ignoreCase = false to enum() (#115)

    ๐Ÿ›  Fixed

    • groupChoice help output now includes the choices in the help output metavar
    • TermUi.edit* functions could freeze on certain editors (#99, thanks @iampravikant and @sebokopter)
    • Shell completion can now handle command names with dashes. (#104)
    • Arguments with = in them could be incorrectly interpreted as options (#106)
  • v2.3.0 Changes

    November 07, 2019

    2019-11-07

    โž• Added

    • option().groupSwitch(), which works like groupChoice(), but uses a switch() option rather than a choice() option.
    • 0๏ธโƒฃ UsageError now has a statusCode parameter (which defaults to 1). If you're using ClicktCommand.main, the value of statusCode will be passed to exitProcess.

    ๐Ÿ”„ Changed

    • ๐Ÿ–จ Shell completion code is now printed by throwing a PrintCompletionMessage (a subclass of PrintMessage) rather than calling echo directly.
  • v2.2.0 Changes

    September 25, 2019

    2019-09-25

    โž• Added

    ๐Ÿ”„ Changed

    ๐Ÿ›  Fixed

    • Help output missing items when no help text is specified. (#85)
    • Help output not grouping options in groups passed to groupChoice. (#88)
  • v2.1.0 Changes

    May 23, 2019

    2019-05-23

    โž• Added

    • Ability to prevent rewrapping individual paragraphs in help output.
    • โž• Added parameter required to Option.multiple() to require at least one instance of the option on the command line.

    ๐Ÿ”„ Changed

    • CliktCommand.toString() now includes the names and values of all parameters and subcommands.

    ๐Ÿ›  Fixed

    • Create subcommand context when helpOptionNames is empty. (#64)
  • v2.0.0 Changes

    May 12, 2019

    2019-05-12

    โž• Added

    ๐Ÿ”„ Changed

    • ๐Ÿ“œ If multiple -- tokens are present on the command line, all subsequent occurrences after the first are now parsed as positional arguments. Previously, subsequent -- tokens were skipped.
    • ๐Ÿ‘€ The PlaintextHelpFormatter has been replaced with CliktHelpFormatter, which is more customizable. See the docs for more info, or the new sample for an example of customizing help output to use ANSI colors.
    • Some of the properties and constructor parameters for OptionWithValues and ProcessedArgument have changed.
    • The OptionDelegate interface has changed, and GroupableOption and ParameterHolder interfaces have been added to work with option groups.
    • Parameter validation now occurs after all parameter delegates have set their values, so the lambdas passed to validate may reference other parameters.
  • v1.7.0 Changes

    March 23, 2019

    2019-03-23

    โž• Added

    • ๐Ÿ–จ printHelpOnEmptyArgs parameter to CliktCommand constructor. (#41)

    ๐Ÿ›  Fixed

    • ๐Ÿ–จ Usage errors now correctly print subcommand names. (#47)
    • ๐Ÿ’ป Arguments with multiple(required=true) now report an error if no argument is given on the command line. (#36)
  • v1.6.0 Changes

    December 02, 2018

    2018-12-02

    โž• Added

    • .multiple().unique() modifier for options and arguments.

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Support multi-line input when redirecting stdin
  • v1.5.0 Changes

    August 26, 2018

    2018-08-26

    โž• Added

    • Ability to use alternate output streams rather than stdin and stdout by setting Context.console or by passing a console to TermUI functions.