Skip to content
HN On Hacker News ↗

Clojure - Clojure 1.13.0-alpha1

▲ 225 points 47 comments by FelipeCortez 2mo ago HN discussion ↗

Pangram verdict · v3.3

We believe that this document is fully human-written

0 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 1 of 1
SEGMENTS · AI 0 of 1
WORD COUNT 210
PEAK AI % 0% · §1
Analyzed
Jul 6
backend: pangram/v3.3
Segments scanned
1 windows
avg 210 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 210 words · 1 segments analyzed

Human AI-generated
§1 Human · 0%

02 July 2026 Alex Miller

Clojure 1.13.0-alpha1 is now available! Find download and usage information on the Downloads page.

Checked keys

You can now ensure that required keys are bound during map destructuring by using the new checked variants of the :keys/:syms/:strs directives - :keys!/:syms!/:strs!, which will throw if the key is not present. You can also, in all directives, specify keys after & which will not be bound, for documentation or checking purposes.

CLJ-2961 Checked keys

CLJ-2960 Specs for checked keys

CLJ-2949 req! - Variant of get that reports on key not found

CLJ-2954 let/loop/let* - disallow & as local binding

Other changes since Clojure 1.12.5

PersistentArrayMaps of only keyword keys now grow up to size 64 (previously was 8) before transitioning to PersistentHashMaps. PAM identity scans are more efficient than PHM lookups in this range, also makes more usage sites monomorphic and thus easier to optimize.

CLJ-2891 Remove ACC_FINAL designation from static initializer constants. This change was made as a prepatory step towards moving the Java bytecode baseline to address new verifier checks.

Runtime and test dependencies updated to latest versions

Try it out

Update your deps.edn :deps with:

org.clojure/clojure {:mvn/version "1.13.0-alpha1"}

Start a REPL with the Clojure CLI (any version) with:

clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha1"}}}