Clojure
News

Clojure Deref (Nov 24, 2021)

24 November 2021
Alex Miller

Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem. (@ClojureDeref RSS)

Highlights

Welcome to a special mid-week Deref as we will be out in the US this week! But on that note, big thanks to the Clojure community for always be interesting, inventive, and caring. I’m thankful to be a part of it.

Our big news this week is the release of Clojure 1.11.0-alpha3 which wraps up much of the work we’ve done in the last couple months. Probably the most interesting parts are the new things:

If you have questions about these, I would request that you read the ticket first - we’re trying to get thinking and background into the ticket descriptions and it’s important context. We’ve already had a lot of feedback about clojure.java.math re cljs portability and higher-order use so probably more to come on that. If you want to discuss on Clojurians Slack, the #clojure-dev room is the best place.

Docstring updates:

  • CLJ-2666 Make Clojure Java API javadoc text match the example

  • CLJ-1360 Update clojure.string/split docstring regarding trailing empty parts

  • CLJ-2249 Clarify clojure.core/get docstring regarding sets, strings, arrays, ILookup

  • CLJ-2488 Add definition to reify docstring

Perf:

  • CLJ-1808 map-invert should use reduce-kv and transient

Bug fix:

  • CLJ-2065 Support IKVReduce on SubVector

And last but not least, we added support for optional trailing maps to kwarg functions in Clojure 1.11.0-alpha1 but had not yet worked through what this meant for spec. We’ve now released an update to spec.alpha (0.3.214) that is included as a dependency in this release. For the background on this, see CLJ-2606.

Not to be be outshined, we also released an updated version of core.async 1.5.640, which has several important bug fixes, particularly if you are using any of the alt variants, or something that uses alt indirectly like mix or merge.

Libraries and Tools

New releases and tools this week:

  • stub 0.1.1 - Library to generate stubs for other Clojure libraries

  • sicmutils 0.20.0 - A port of the Scmutils computer algebra/mechanics system to Clojure

  • tweet-def - Tweet as a dependency

  • sweet-array 0.1.0 - Array manipulation library for Clojure with "sweet" array type notation and more safety by static types

  • spec.alpha 0.3.214 - Describe the structure of data and functions

  • cljs-macroexpand - clojurescript macroexpand-all macro with meta support

  • secret-keeper 1.0.75 - A Clojure(Script) library for keeping your secrets under control

  • datahike 0.4.0 - A durable Datalog implementation adaptable for distribution

  • Tutkain 0.11.0 (alpha) - A Sublime Text package for interactive Clojure development

  • unminify - unminifies JS stacktrace errors