ClojureScript

1.11.51 版本發布

2022 年 5 月 13 日
ClojureScript 團隊

我們很高興宣布 ClojureScript 的新版本。如果您是 ClojureScript 的現有使用者,請仔細閱讀以下發行說明。

Clojure 1.11 對等性

此版本包含對 :as-alias 的支援。它新增了 update-valsupdate-keys。它引入了 cljs.math 命名空間,為使用 clojure.math 的程式碼提供可攜性。還新增了 iterationNaN?parse-longparse-doubleparse-booleanparse-uuid

此版本也移植了 CLJ-2608,為 seqs 的 map-destructuring 新增了對尾隨、可結合元素的支持。

工具 (tools.reader)、data.json 和 transit-clj 的供應商化

ClojureScript 是 Clojure 生態系中最大的函式庫之一。每次都必須編譯約 20,000 多行的 Clojure 程式碼,對 REPL 的啟動時間和其他典型任務來說是一大打擊。因此,ClojureScript 是預先 (AOT) 編譯的。

然而,由於 AOT 的某些細微之處,可能會導致無法解決的相依性衝突。使用者幾乎在所有宣告的相依性中都遇到了這個問題:transit-clj、data.json 和 tools.reader。

在與 Clojure 團隊協商後,我們決定將所有這些相依性供應商化。這樣一來,我們可以 AOT 一切,並確信我們不會產生無法通過一般相依性管理輕鬆修復的衝突。ClojureScript 不再依賴 transit-clj,只依賴 transit-java。已移除對 data.json 的依賴性。ClojureScript 對 tools.reader 的依賴性是用於較不常見的使用案例 - 將編譯器啟動到 JavaScript。

我們仔細確保了向後相容性,並且我們特別關注人們可能遇到的任何問題。

其他變更

ClojureScript 的最低 Clojure 版本現在為 1.10。Google Closure Compiler 已更新至 5 月版本。

如需 ClojureScript 1.11.51 的完整更新清單,請參閱此處

貢獻者

感謝所有為 ClojureScript 1.11.51 做出貢獻的社群成員

  • Tom Connors

  • Roland Thiolliere

  • David Frese

  • Paula Gearon

  • Matthew Huebert

  • Hyun-woo Nam

  • Timothy Pratley

  • Henry Widd