23 June 2026
Christoph Neumann
Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS).
Ring released v1.15.5 which contains a security fix for a regular expression denial of service (ReDoS) attack.
SCI released v0.13.53 to fix a sandbox escape. SCI is the Small Clojure Interpreter used in babashka, nbb, clerk, joyride and other projects.
If you like Reagami, but you want even more pure data in your lightweight ClojureScript UIs, look no further. Team Replicant combined powers with Team Squint to bring your data-driven UIs into focus by squinting, of course.
And speaking of Squint, as of v0.13.194, lazy seqs got a big performance boost,
and you can specify dependencies with :git/sha and :local/root. See
all the
details.
Not to be outdone, thanks to a team assist, Replicant released v2026.06.1 to fix a long standing annoyance with tidying DOM nodes. Another team score for Christian Johansen and Michiel Borkent.
Perhaps you’re not fond of web UIs because your heart’s been stolen by the CLI. Now you can tell your CLI, "you complete me." Quite literally! Babashka CLI added shell completions and automatic help. It’s like Cupid fired a ClojureDart right through the heart. Oh yes, Babashka CLI added support for that too. See all the details.
Sometimes, you just don’t want to talk. (It’s not you, it’s me!) In the spirit of rejection, Sente v1.22 added a flexible connection rejection hook. Try again later. Maybe.
If you want to talk, NATS style, but you’ve been flummoxed by all that complicated stateful interop. No one saying what they really mean in plain data. Oh! Why do we play these games? Agonize no longer. Claxon is here to cut the drama and simplify your NATS messaging through a minimal, data-driven API with only one dependency. If only it could bring such simplicity and clarity to the complicated matters of the heart.
Maybe you didn’t say what you really meant? Perhaps it could be even better? Say it again, even faster with rewrite-clj v1.2.55. It’s the latest in a series of performance improvements. See the changes.
And if you want to go even faster, take a look at Raster: fast numerical computing for Clojure that compiles down to JVM bytecode or Web Assembly (WASM). For some fun, play Astroids or Valley. For something serious, look at Uniform Manifold Approximation and Projection or Embedding Vector Oriented Clustering.
And speaking of WASM, what if your Clojure host was WASM itself? What if WASM was the lingua franca to let you call functions from Rust, Go, Zig, C or any other language that can target WASM? ClojureWasm is an experimental dialect to explore that future.
Also on the young dialect front, Jolt has pivoted, yet again, to target Chez Scheme. Goodbye Janet. The heart is fickle. Chez is faster, with true threading, and easy access to native code, while still starting a lightweight runtime instantly.
On the tried-and-true dialect front, if you’re using Calva for ClojureScript via shadow-cljs, Calva v2.0.592 has improved support for working with simultaneous runtimes. It’s particularly helpful when working with multiple devices at once.
If you like to use Calva for AI-assisted coding, Calva Backseat Driver added support for Cursor with zero config.
Clojure is taking on Electronic Health Records (EHR). Have you suffered through EHR integrations? Have you told yourself, "There must be an easier way!" Look no further than the ehr-adapter.
Do you use libpython-clj as a bridge to PyTorch? Would you like to cut down on the boilerplate? Take a look at clj-pytorch to see how it can help.
With all that important work getting done, don’t forget to have a little fun with Clojure too. Arne Brasseur started a list for Awesome Creative Clojure projects. Take a look. Better yet, go make something delightful and share it with the community. Perhaps you’ll find yourself in the Deref too.
Wednesday, September 30 is Workshop Day.
This year, as a gift to the community, the full day of workshops are included at one low price starting at just $42!
One morning + one afternoon session of your choice: Babashka, Datomic, Calva, AI tooling, and more.
Get your Workshop Day pass before the price goes up.
Also, the room block at the conference hotel is available now! The group rate expires August 31.
Jeaye Wilkerson would like to get jank into your hands as soon as possible. How does that involve you? Help Jeaye by taking a short survey.
Clojure BR: Introduzindo programação funcional na Carteira Digital de Trânsito: Jun 25
Clojure real-world-data 63: Jun 26. Note: different time than usual.
Clojure/Conj 2026: Sep 30-Oct 2. Charlotte, NC, USA. Early Bird tickets.
EuroClojure 2027: May 19-21, 2027. Prague, Czech Republic. Join the mailing list
HeartConf 2027: Aug 18-19, 2027, in Mechelen, Belgium. Save the date.
Clojure Cond Case Else - Mike Møller Nielsen
Clojure Exception Handling - Mike Møller Nielsen
June 2026 Short Term Project Updates - Kathy Davis
Gloat Q2 Grant Halfway Report - GloatHub - Ingy dot Net
The Hidden Elegance of Gradient Noise - Dmitri Sotnikov
Bowling Kata - Steve Miner
Automatic help and completions in Babashka CLI - Michiel Borkent
Cartels of Mediocrity - Taylor Wood
A Survival Themed Probability Cheatsheet Zine – Clojure Civitas - Timothy Pratley
Debut release
awesome-creative-clojure - A list of creative coding resources for Clojure and its dialects
umap-rstr - UMAP (Uniform Manifold Approximation and Projection) for Clojure — a port of umap-learn on the raster typed-dispatch compiler.
evoc-rstr - EVoC (Embedding Vector Oriented Clustering) for Clojure — a port of the Tutte Institute’s evoc on raster + umap-rstr.
codetutor - An AI Pair Programmer, that teaches you to code as you write, for Emacs
claxon - Minimal, pure clojure, data-driven NATS client
ehr-adapter - Simplify EHR integrations by defining and validating your entire provider connection pipeline using native Clojure data structures.
clj-pytorch - A Clojure wrapper around PyTorch with libpython-clj
huffman-tree - A small Huffman tree implementation in Clojure
fol - A Clojure dialect that combines persistent data structures (from Clojure), CLOS-style object orientation with persistent objects, and array programming capabilities (inspired by Q/APL).
Updates
partial-cps 0.1.58 - A lean and efficient continuation passing style transform, includes async-await support.
ziggurat 4.12.1 - A stream processing framework to build stateless applications on Kafka
hikari-cp 4.1.0 - A Clojure wrapper to HikariCP JDBC connection pool
json-schema 0.4.8 - Clojure library JSON Schema validation and generation - Draft-07 compatible
hawk 1.0.15 - It watches your code like a hawk! You like tests, right? Then run them with our state-of-the-art Clojure test runner.
clojuressh 1.0.0 - A Clojure library for using SSH in Clojure that is API compatible with bbssh
sente 1.22.0-RC1 - Realtime web comms library for Clojure/Script
dda-tara 3.0.2 - Threat modeling toolkit based on threagile
rewrite-clj 1.2.55 - Rewrite Clojure code and edn
clj-tg-bot-api 1.2.271 - 🤖 The latest Telegram Bot API spec and client lib for Clojure-based apps
teensyp 0.7.2 - A small, zero-dependency Clojure TCP server that uses Java NIO
sci 0.13.53 - Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
phel-lang 0.45.1 - A functional, Lisp-inspired language that compiles to PHP. Inspired by Clojure, Phel brings macros, persistent data structures, and expressive functional idioms to the PHP ecosystem.
next-jdbc 1.3.1118 - A modern low-level Clojure wrapper for JDBC-based access to databases.
temporal-clojure-sdk 2.1.0 - A Temporal SDK for Clojure
replicant 2026.06.1 - A data-driven rendering library for Clojure(Script) that renders hiccup to DOM or to strings.
raster 0.1.15 - Fast, functional numerical computing for Clojure/JVM.
mcp-server 0.3.50 - MCP Server library
ClojureWasm 1.0.0-alpha.1 - A lightweight Clojure runtime in Zig — call WebAssembly from Clojure to tap libraries written in any language.
calva-backseat-driver 0.0.37 - VS Code AI Agent Interactive Programming. Tools for CoPIlot and other assistants. Can also be used as an MCP server.
nexus 2026.06.2 - Data-driven action dispatch for Clojure(Script): Build systems that are easier to test, observe, and extend
calva 2.0.593 - Clojure & ClojureScript Interactive Programming for VS Code
persistent-sorted-set 0.4.124 - Fast B-tree based persistent sorted set for Clojure/Script
plumcp 0.2.2 - Clojure/ClojureScript library for making MCP server and client
yamlstar 0.1.9 - A YAML framework for all programming languages
mranderson 0.6.0 - Dependency inlining and shadowing
svar 0.7.33 - Type‑safe LLM output for Clojure. Works with any text‑only model.
ansatz 0.1.64 - Dependently typed Clojure DSL with a Lean4 compatible kernel.
clj-midas 1.0.0 - Clojure client library for the California Energy Commission’s MIDAS API