lang/babashka: Update to 1.13.219
Changes since 1.12.218:
1.13.219 (2026-07-27)
Highlights:
- Tasks get automatic --help and shell completions, through the new :exec-fn and :cmd keys. See the blog post: https://blog.michielborkent.nl/babashka-tasks-cli.html These task keys should be considered experimental and may change in a future version of babashka, depending on feedback from the community
- Clojure 1.13 map destructuring with :keys! etc.
Other changes:
- Tasks: :exec-fn (a function) or :cmd (a command tree) on a task routes it through babashka.cli/dispatch, giving it --help, shell completion and subcommands. Options, docstring and :enum come from the function's :org.babashka/cli metadata, like bb -x
- Tasks: :cli on a task holds babashka.cli options that have no function to live on, such as an :epilog on a command group. A map, or a symbol naming a var of one for options that include functions, such as an :error-fn. At the :tasks level the same entry applies to every CLI task
- Tasks: :doc may be a vector of lines
- Tasks: bb <task> --help no longer runs the task's :depends, except under bb run --parallel
- Tasks: bb tasks separates names and docs with two spaces, like babashka.cli's help output
- Clojure 1.13 map destructuring: :keys!, :syms!, :strs!, & inside a directive, :select, :all and :defaults. Adds req! and some-vals to clojure.core
- Bump JLine to 4.3.1
- #2003: add org.jsoup.select.Elements for Element.select (@christoph-frick)
- #1994: fix :eval and :print options of clojure.main/repl being ignored in the interactive REPL (@jeroenvandijk)
- #1918: fall back to $HOME when the OS does not supply a home directory, e.g. for LDAP users in the static binary
- fix *1, *2 and *3 being overwritten by Ctrl+C and :repl/help in the interactive REPL
- #1979: fix with-redefs on copied vars (e.g. org.httpkit.client/get) incorrectly treated as inlined
- nREPL: lock output stream to prevent interleaved bencode frames from concurrent writes
- Add org.jline.keymap.BindingReader for reading key bindings in terminal applications
- #1982: Add the following to :instance-checks in babashka.impl.classes/classes (@paintparty)
- clojure.lang.ChunkedCons
- clojure.lang.APersistentVector$SubVector
- clojure.lang.ArraySeq
- clojure.lang.PersistentVector$ChunkedSeq
- java.util.AbstractCollection
- java.util.Queue
- #1985: Add the following classes to babashka.impl.classes/classes (@weavejester)
- java.util.concurrent.locks.Condition
- java.util.concurrent.locks.Lock
- java.util.concurrent.locks.LockSupport
- #1986: Add the following classes to babashka.impl.classes/classes (@weavejester)
- java.net.StandardSocketOptions
- java.nio.channels.CancelledKeyException
- java.nio.channels.Selector
- java.nio.channels.SelectionKey
- #1987: Allow the remove method to be used on Iterator (@weavejester)
- #1988: Allow java.io.Closeable and java.lang.AutoCloseable to be reified (@weavejester)
- Bump babashka.cli to 0.12.85: dispatch auto-help and shell completions, tree format, :enum; *exit-fn* rebindable from scripts
- Bump http-client to 0.4.24: :proxy accepts a function of the request URI to select a proxy per request (@jeeger)
- Bump fs to 0.5.34, plus zip accepting absolute source paths mapped to relative entries
- Bump edamame to 1.6.42
- Bump rewrite-clj to 1.2.55
- Bump insn to 0.5.4
- Bump Clojure to 1.12.5
- #1977: update usage link in README to point to the discussion page (@verberktstan)
- Add FreeBSD installation instructions to the README (@fraggerfox)
- Publish macOS aarch64 dev builds from GitHub Actions