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,它为序列中的映射解构支持添加了对尾随可连接元素的支持。

vendorization of tools.reader、data.json 和 transit-clj

ClojureScript 是 Clojure 生态系统中最大的库之一。每次必须编译约 20,000 行 Clojure 代码,这对 REPL 启动时间和其他典型任务来说是一个很大的负担。因此 ClojureScript 是提前 (AOT) 编译的。

然而,由于 AOT 的一些微妙方面,这会导致无法解决的依赖冲突。用户在几乎所有声明的依赖项中都遇到了这个问题:transit-clj、data.json 和 tools.reader。

在与 Clojure 团队协商后,我们决定将所有这些依赖项进行 vendorization。这样我们就可以 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