ClojureScript

1.11.132 版本

2024 年 1 月 24 日
ClojureScript 团队

我们很高兴地宣布 ClojureScript 的新版本发布。如果您是 ClojureScript 的现有用户,请仔细阅读以下发布说明。

此版本主要是 bug 修复版本。

有关 ClojureScript 的修复、更改和增强功能的完整列表,请参阅 此处

Google Closure Compiler 和 Java 8

这很可能是最后一个支持 Java 8 的 ClojureScript 版本,因为 Google Closure Compiler 现在需要 Java 11。

Google Closure Library 维护模式和 ClojureScript

Google 已停止开发 Google Closure Library。这对 ClojureScript 的未来意味着什么?影响并不大。Google Closure Library 是一个独立于编译器的项目,它提供了一组庞大的可重用、经过考验的库,这些库与 Closure 兼容。随着浏览器和 JavaScript 生态系统的不断发展,该项目对 Google 变得不那么重要了。

Google 不会删除 Google Closure Library (GCL),也不会删除 API 文档,或者做任何对 ClojureScript 有害的事情。请注意,Google 多年前就停止提供定期发布了 - ClojureScript 使用的是我们自己发布的制品。即使 Google 从互联网上删除了 GCL,我们仍然可以继续自己提供制品和文档。

标准库 cljs.core 以相对简单的方式使用 GCL,其中大多数可以轻松替换。这很可能会随着时间的推移而发生,欢迎社区贡献参与这项工作。

各种内置 REPL(浏览器、Node)使用更多 GCL 功能,并且也可以随着时间的推移逐渐演进。

上述更改都不会影响我们生成的 Google Closure Compiler 兼容的 JavaScript 代码,并且将继续这样做。Google 本身也拥抱了更广泛的 JavaScript 生态系统,但它们也会将所有内容编译成 Google Closure Compiler 兼容的 JS(通过 tsickle)并在最后使用 Google Closure Compiler 处理。

与往常一样,我们不相信为用户创建毫无意义的混乱。您可以继续依赖 GCL 的当前形式多年。您可以预期各种基本 GCL 命名空间(goog.stringgoog.object 等)与以前一样可用。

展望未来,值得评估 Google 使用 tsickle 的方法,以获得 Closure 高级编译带来的好处,而不会失去 JavaScript 生态系统提供的便利。

贡献者

感谢所有为 ClojureScript 1.11.132 做出贡献的社区成员。

  • Will Cohen

  • Michiel Borkent

  • John Newman

  • Enzzo Cavallo

  • Allen Rohner

  • Adam Kalisz

  • Erik Assum

  • Nikita Prokopov