From bc4e3ad44a7c4db1895eedc136c19da6f615c3e5 Mon Sep 17 00:00:00 2001 From: David Nolen Date: Thu, 7 May 2026 12:17:43 +0200 Subject: [PATCH 1/3] first draft of release notes --- content/news/2026-05-07-release.adoc | 60 ++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 content/news/2026-05-07-release.adoc diff --git a/content/news/2026-05-07-release.adoc b/content/news/2026-05-07-release.adoc new file mode 100644 index 0000000..3b312e8 --- /dev/null +++ b/content/news/2026-05-07-release.adoc @@ -0,0 +1,60 @@ += 1.12.144 Release +ClojureScript Team +2026-05-07 12:00:00 +:jbake-type: post + +ifdef::env-github,env-browser[:outfilesuffix: .adoc] + +We'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 Functions + +Now that ClojureScript targets +https://clojurescript.org/news/2025-11-24[ECMAScript 2016] we can +carefully choose new areas of enhanced interop. Starting with this +release hinting a function as `^:async` will make ClojureScript +compiler emit +https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function[JavaScript +async functions]: + +[source,clojure] +``` +(defn ^:async foo [n] + (let [x (await (Promise/resolve 10)) + y (let [y (await (Promise/resolve 20))] + (inc y)) + ;; not async + + (+ n x y (f)))) +``` + +This also works for tests: + +[source,clojure] +``` +(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 enhancements for JavaScript interop. This enhancement +greatly simplifies interacting with modern Browser APIs and popular +libraries, eliminating the need for additional dependencies in the +most typical scenarios. + +For a complete list of fixes, changes, and enhancements to +ClojureScript see +https://github.com/clojure/clojurescript/blob/master/changes.md#1.12.144[here] + +## Contributors + +Thanks to all of the community members who contributed to ClojureScript 1.12.134 + +* Michiel Borkent From 0a9fb79645c0cd869b95f7925faf8ee1b83be8d6 Mon Sep 17 00:00:00 2001 From: David Nolen Date: Thu, 7 May 2026 12:22:21 +0200 Subject: [PATCH 2/3] typos --- content/news/2026-05-07-release.adoc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/news/2026-05-07-release.adoc b/content/news/2026-05-07-release.adoc index 3b312e8..cc52180 100644 --- a/content/news/2026-05-07-release.adoc +++ b/content/news/2026-05-07-release.adoc @@ -15,9 +15,9 @@ Now that ClojureScript targets https://clojurescript.org/news/2025-11-24[ECMAScript 2016] we can carefully choose new areas of enhanced interop. Starting with this release hinting a function as `^:async` will make ClojureScript -compiler emit +compiler emit an https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function[JavaScript -async functions]: +async function]: [source,clojure] ``` @@ -26,7 +26,7 @@ async functions]: y (let [y (await (Promise/resolve 20))] (inc y)) ;; not async - + f (fn [] 20)] (+ n x y (f)))) ``` @@ -44,10 +44,10 @@ This also works for tests: ``` In the last Clojure survey, support for async functions dominated the -list of desired enhancements for JavaScript interop. This enhancement -greatly simplifies interacting with modern Browser APIs and popular -libraries, eliminating the need for additional dependencies in the -most typical scenarios. +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 @@ -55,6 +55,6 @@ https://github.com/clojure/clojurescript/blob/master/changes.md#1.12.144[here] ## Contributors -Thanks to all of the community members who contributed to ClojureScript 1.12.134 +Thanks to all of the community members who contributed to ClojureScript 1.12.144 * Michiel Borkent From 4939f72d91657169bf663b9b2901ddd3840bd519 Mon Sep 17 00:00:00 2001 From: David Nolen Date: Thu, 7 May 2026 12:24:13 +0200 Subject: [PATCH 3/3] missing comma --- content/news/2026-05-07-release.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/2026-05-07-release.adoc b/content/news/2026-05-07-release.adoc index cc52180..41f55b6 100644 --- a/content/news/2026-05-07-release.adoc +++ b/content/news/2026-05-07-release.adoc @@ -14,7 +14,7 @@ notes carefully. Now that ClojureScript targets https://clojurescript.org/news/2025-11-24[ECMAScript 2016] we can carefully choose new areas of enhanced interop. Starting with this -release hinting a function as `^:async` will make ClojureScript +release, hinting a function as `^:async` will make ClojureScript compiler emit an https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function[JavaScript async function]: