Skip to content
HN On Hacker News ↗

ClojureScript - 1.12.145 Release

▲ 279 points 73 comments by Borkdude 2w 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 190
PEAK AI % 0% · §1
Analyzed
May 8
backend: pangram/v3.3
Segments scanned
1 windows
avg 190 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 190 words · 1 segments analyzed

Human AI-generated
§1 Human · 0%

07 May 2026 ClojureScript TeamWe’re happy to announce a new release of ClojureScript. If you’re an existing user of ClojureScript please read over the following release notes carefully.Async FunctionsNow that ClojureScript targets ECMAScript 2016 we can carefully choose new areas of enhanced interop. Starting with this release, hinting a function as ^:async will make the ClojureScript compiler emit an JavaScript async function:(refer-global :only '[Promise])

(defn ^:async foo [n] (let [x (await (Promise/resolve 10)) y (let [y (await (Promise/resolve 20))] (inc y)) ;; not async f (fn [] 20)] (+ n x y (f))))This also works for tests:(deftest ^:async defn-test (try (let [v (await (foo 10))] (is (= 61 v))) (let [v (await (apply foo [10]))] (is (= 61 v))) (catch :default _ (is false))))In the last Clojure survey support for async functions dominated the list of desired ClojureScript enhancements for JavaScript interop. This enhancement eliminates the need to take on additional dependencies for the common cases of interacting with modern Browser APIs and popular libraries.For a complete list of fixes, changes, and enhancements to ClojureScript see hereContributorsThanks to all of the community members who contributed to ClojureScript 1.12.145

Michiel Borkent