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

Changelog History
Page 1

  • v3.4.2 Changes

    ๐Ÿ—„ Deprecated

    • TermUi.echo, TermUi.prompt, and TermUi.confirm. Use the equivalent methods on CliktCommand instead. (#344)
  • v3.4.1 Changes

    โž• Added

    • Publish JS artifacts with new IR compiler, in addition to the legacy format

    ๐Ÿ”„ Changed

    • โšก๏ธ Updated Kotlin to 1.6.20
  • v3.4.0 Changes

    ๐Ÿ”„ Changed

    • unique() now works with any option with a list type, not just multiple() options (#332)
    • โšก๏ธ Updated Kotlin to 1.6.10

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed co-occurring option groups returning null when all options in the group are defined in environment variables (#330)
  • v3.3.0 Changes

    โž• Added

    • โž• Added default parameter to argument().multiple() (#305)
    • ๐Ÿ’ป Context.originalArgv that allows you to read the command line arguments from within a command's run (#290)
    • context { envarReader = {...} } to set a custom function to read from environment variables (#299)

    ๐Ÿ”„ Changed

    • 0๏ธโƒฃ defaultLazy values can now reference other parameters, as long the referenced parameters do not also reference other parameters
    • ๐Ÿ— You can now call CliktCommand.context multiple times on the same command, and all builder blocks will be applied
    • Validate values entered to a prompt option, and show another prompt if the validation fails (#288)
    • โšก๏ธ Updated kotlin to 1.5.31

    ๐Ÿ›  Fixed

    • Report error when excess arguments are given to a command with allowMultipleSubcommands=true (#303)
  • v3.2.0 Changes

    2021-05-14

    โž• Added

    • 0๏ธโƒฃ InputStream.isCliktParameterDefaultStdin and OutputStream.isCliktParameterDefaultStdout to check if the streams returned from inputStream/outputStream options are proxying stdin/stdout (#272)

    ๐Ÿ”„ Changed

    • ๐Ÿ‘‰ Make parameters of mutuallyExclusiveOptions covariant to allow validation without explicit type annotations. (#265)
    • โšก๏ธ Updated kotlin to 1.5.0

    ๐Ÿ›  Fixed

    • Reading from an option or argument property on a command that hasn't been invoked will now always throw an IllegalStateException
  • v3.1.0 Changes

    December 12, 2020

    2020-12-12

    โž• Added

    • โž• Added required() and defaultLazy() for nullable flag options like switch(). (#240)
    • โž• Added support for generating autocomplete scripts for Fish shells (#189)
    • โž• Added CompletionCommand and CliktCommand.completionOption() that will print an autocomplete script when invoked, as an alternative to using environment variables.

    ๐Ÿ”„ Changed

    • โšก๏ธ Updated Kotlin to 1.4.21
    • @argfiles now allow line breaks in quoted values, which are included in the value verbatim. You can now end lines with \ to concatenate them with the following line. (#248)
  • v3.0.1 Changes

    September 03, 2020

    2020-09-03

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ Deprecated calling echo with err or lineSeparator but no message.
  • v3.0.0 Changes

    September 02, 2020

    2020-09-02

    โž• Added

    • ๐Ÿ’ป Clikt's JS target now supports both NodeJS and Browsers. (#198)
    • 0๏ธโƒฃ Default values for switch options are now shown in the help. Help text can be customized using the defaultForHelp argument, similar to normal options. (#205)
    • โž• Added FlagOption.convert (#208)
    • โž• Added ability to use unicode NEL character (\u0085) to manually break lines in help output (#214)
    • โž• Added help("") extension to options and arguments as an alternative to passing the help as an argument (#207)
    • โž• Added valueSourceKey parameter to option
    • โž• Added check() extensions to options and arguments as an alternative to validate()
    • โž• Added prompt and confirm functions to CliktCommand that call the TermUi equivalents with the current console.
    • โž• Added echo() overload with no parameters to CliktCommand that prints a newline by itself.
    • โž• Added localization support. You can set an implementation of the Localization interface on your context with your translations. (#227)

    ๐Ÿ›  Fixed

    • Hidden options will no longer be suggested as possible typo corrections. (#202)
    • Options and Arguments with multiple(required=true) will now show as required in help output. (#212)
    • Multiple short lines in a help text paragraph no longer appear dedented (#215)

    ๐Ÿ”„ Changed

    • โšก๏ธ Updated Kotlin to 1.4.0
    • Argument.help and Option.help properties have been renamed to argumentHelp and optionHelp, respectively. The help parameter names to option() and argument() are unchanged.
    • commandHelp and commandHelpEpilog properties on CliktCommand are now open, so you can choose to override them instead of passing help and epilog to the constructor.
    • 0๏ธโƒฃ Replaced MapValueSource.defaultKey with ValueSource.getKey(), which is more customizable.
    • Option.metavar, Option.parameterHelp, OptionGroup.parameterHelp and Argument.parameterHelp properties are now functions.
    • ๐Ÿ”„ Changed constructor parameters of CliktHelpFormatter. Added localization and removed usageTitle, optionsTitle, argumentsTitle, commandsTitle, optionsMetavar, and commandMetavar. Those strings are now defined on equivalently named functions on Localization.

    โœ‚ Removed

    • โœ‚ Removed envvarSplit parameter from option() and convert(). Option values from environment variables are no longer split automatically. (#177)
    • โœ‚ Removed public constructors from the following classes: ProcessedArgument, OptionWithValues, FlagOption, CoOccurringOptionGroup, ChoiceGroup, MutuallyExclusiveOptions.
    • ๐Ÿ‘ป MissingParameter exception replaced with MissingOption and MissingArgument
    • โœ‚ Removed Context.helpOptionMessage. Override Localization.helpOptionMessage and set it on your context instead.

    ๐Ÿ—„ Deprecated

    • @ExperimentalCompletionCandidates and @ExperimentalValueSourceApi annotations. These APIs no longer require an opt-in.
  • v3.0.0-rc

    August 27, 2020
  • v2.8.0 Changes

    June 19, 2020

    2020-06-19

    โž• Added

    • โž• Added error parameter to PrintMessage and PrintHelpMessage. When true, CliktCommand.main will exit with status code 1. (#187)

    ๐Ÿ”„ Changed

    • ๐Ÿ–จ When printHelpOnEmptyArgs is true and no arguments are present, or when invokeWithoutSubcommand is false and no subcommand is present, CliktCommand.main will now exit with status code 1 rather than 0.
    • restrictTo now works with any Comparable value, not just Number.
    • CliktCommand.main now accepts Array<out String>, not just Array<String>. (#196)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed option values being reset when calling multiple subcommands with allowMultipleSubcommands=true (#190)