-
Release 1.4.256 2026-03-10
- Enhance support for subcommand option parsing: add
:subcommand :explicitand:subcommand :implicitoptions. The former replaces:in-order true(which is deprecated) and the latter expands that parsing to treat an unknown option as starting a new subcommand.
- Enhance support for subcommand option parsing: add
-
Release 1.3.250 2025-12-30
- Update parent pom and Clojure dependency version
-
Release 1.2.245 2025-09-28
- Clarify
:idand:requiredproperties for when long option is omitted. Document:missingoption. This addresses TCLI-106. - Add
deps-clr.ednto be compatible withcljr(ClojureCLR'sdepstool). - Update dependencies to latest versions for testing; add multi-version testing script; drop Clojure 1.8 support.
- Clarify
-
Release 1.1.230 2024-02-19
- Documentation and dev/test/CI infrastructure updates.
-
Release 1.0.219 2023-05-08
-
Release 1.0.214 2022-10-08
- Document
:missing,:multi, and:post-validationin the docstrings and in the README. - In the help summary, display default values for all options that provide them TCLI-100. Previously, only options that had required arguments would have their defaults shown.
- Document
-
Release 1.0.206 2021-02-27
- Allow validation to be performed either after parsing (before option processing) -- current default -- or after option processing, via the
:post-validation trueflag TCLI-98. - Allow validation message to be a function (of the invalid argument) in addition to being a plain string TCLI-97.
- Add
:multi trueto modify behavior of:update-fnTCLI-96.
- Allow validation to be performed either after parsing (before option processing) -- current default -- or after option processing, via the
-
Release 1.0.194 2020-02-20
- Switch to 1.0.x versioning.
- Document the
:missingoption TCLI-95.
-
Release 0.4.2 2019-03-26
-
Release 0.4.1 2018-09-22
- Add
:update-fnas the preferred way to handle non-idempotent options. It is a simpler alternative to using:assoc-fnfor some such options. - Add
:default-fnas a way to compute default option values after parsing. This is particularly useful with:update-fnsince you can use it to override the:defaultvalue if necessary TCLI-90.
- Add
-
Release 0.4.0 on 2018-09-12
- Convert everything to use
.cljcfiles and addclj/deps.ednsupport TCLI-91. This drops support for Clojure 1.7 and earlier but brings full feature parity to ClojureScript. Tests for Clojure can be run withclj -A:test:runnerand for ClojureScript withclj -A:test:cljs-runner. Multi-version testing is possible with aliases:1.8,:1.9, and:master.
- Convert everything to use
-
Release 0.3.7 on 2018-04-25
- Fix NPE from
nillong option TCLI-89 (Peter Schwarz).
- Fix NPE from
-
Release 0.3.6 on 2018-04-11
- Restore support for
--noprefix in long options TCLI-88 (Arne Brasseur).
- Restore support for
-
Release 0.3.5 on 2016-05-04
- Fix
summarizein cljs after renaming during TCLI-36 below TCLI-85.
- Fix
-
Release 0.3.4 on 2016-05-01
- Clarify use of
summarizevia expanded docstring and make both of the functions it calls public so it is easier to build your own:summary-fn. TCLI-36.
- Clarify use of
-
Release 0.3.3 on 2015-08-21
-
Add
:missingto option specification to produce the given error message if the option is not provided (and has no default value). TCLI-12 -
Add
:stricttoparse-opts: If true, treats required option arguments that match other options as a parse error (missing required argument). TCLI-10 -
Release 0.3.2 on 2015-07-28
- Add
:no-defaultstoparse-opts: Returns sequence of options that excludes defaulted ones. This helps support constructing options from multiple sources (command line, config file). - Add
get-default-options: Returns sequence of options that have defaults specified. - Support multiple validations TCLI-9
- Support in-order arguments TCLI-5:
:in-orderprocesses arguments up to the first unknown option; A warning is displayed when unknown options are encountered.
- Add
-
Release 0.3.1 on 2014-01-02
-
Release 0.3.0 on 2013-12-15
- Add public functions
parse-optsandsummarizeto supersedecli, addressing TCLI-3, TCLI-4, and TCLI-6 - Add ClojureScript port of
parse-optsandsummarize, available incljs.tools.cli. - Move extra documentation of
clifunction to https://github.com/clojure/tools.cli/wiki/Documentation-for-0.2.4
- Add public functions
-
Release 0.2.4 on 2013-08-06
- Applying patch for TCLI-2 (support an assoc-fn option)
-
Release 0.2.3 on 2013-08-06
- Add optional description string to prefix the returned banner
-
Release 0.2.2 on 2012-08-09
- Applying patch for TCLI-1 (do not include keys when no value provided by :default)
-
Release 0.2.1 on 2011-11-03
- Removing the :required option. Hangover from when -h and --help were implemented by default, causes problems if you want help and dont provide a :required argument.
-
Release 0.2.0 on 2011-10-31
- Remove calls to System/exit
- Remove built-in help options
-
Release 0.1.0
- Initial import of Clargon codebase