24 January 2024
ClojureScript Team
We’re happy to announce a new release of ClojureScript. If you’re an existinguser of ClojureScript please read over the following release notes carefully.
This is primarily a bugfix release.
For a complete list of fixes, changes, and enhancements to ClojureScript seehere
This will probably be the last ClojureScript release to support Java 8 as GoogleClosure Compiler now requires Java 11.
Google hasstopped developing Google Closure Library.What does this mean for the future of ClojureScript? Not a whole lot. GoogleClosure Library is a project distinct from the Compiler that provides a largeset of reusable battle-tested libraries that are Closure-compatible. As browsersand the JavaScript ecosystem have evolved, this project has become lessimportant to Google.
Google is not going to remove Google Closure Library (GCL), remove the APIdocs, or doing anything that would be detrimental to ClojureScript. Note thatGoogle stopped providing regular releases many years ago - ClojureScript uses anartifact that we release ourselves. Even if Google did remove GCL from theInternet, we could still continue to provide the artifact and docs ourselves.
The standard library,cljs.core
, uses GCL in relatively simple ways, most ofwhich could be replaced easily. This will likely happen over time and communitycontributions are welcome in this effort.
The various built-in REPLs (Browser, Node) use a bit more GCL functionality andcould also be evolved gradually over time.
None of the above changes that we generate Google Closure Compiler compatibleJavaScript and will continue to do so. Google itself embraced the widerJavaScript ecosystem, but they also transpile everything into Google Closure Compilercompatible JS (viatsickle) before finallyprocessing it with Google Closure Compiler.
As always, we do not believe in creating meaningless churn for users. You can continueto rely on GCL in its current form for years. You can expect various baseGCL namespaces (goog.string
,goog.object
, etc.) to be available as before.
Looking towards the future, it is worth assessing Google’s approach with tsickleto get the benefits of Closure advanced compilation without losing the easeprovided by the JavaScript ecosystem.