Clojure
Clojure Deref (Nov 19, 2021)

Clojure Deref (Nov 19, 2021)

19 November 2021
Alex Miller

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

Highlights

I was glad to see an initial release of clj-holmes, a static application security testing tool to look for vulnerabilities in Clojure code. clj-holmes is an extensible framework and has some initial rules but is open to extension for more. I am pretty regularly asked for a tool in this area similar to Fortify or static scanners in other languages - lots of companies have regulatory requirements to proactively scan code in this way and this is a great start. Check it out if you’re interested!

In the core

We have been moving a bunch of jiras (some new stuff, some bug fixes) through the pipeline and are hoping to get the next 1.11 alpha out early next week with all of that stuff. The 1.11 Targeted list shows everything that’s currently open for 1.11. Everything with Approval=Ok there will be in the next alpha plus probably a few more that make it through. (And of course, none of the others are guaranteed to end up in 1.11, that’s just what we have in flight at the moment). Likely this will also include a spec release to pick up CLJ-2606 which relates to the trailing map support added in 1.11.0-alpha1.

I’ve spent a fair amount of time on core.async this week, initially focused on ASYNC-204 which is being screened right now, but also I’ve cleaned up some "won’t fix" stuff and fixed some other minor things. Planning to release core.async early next week with those updates. In the process of all that I recalled that I was working on a set of docs for core.async and was shocked to discover it had been two years since I had last touched it. I dusted that off and am almost done with those, better 8 years late than never right?

At the end of last week I made several enhancements to the compile-clj task - this will now automatically use the @classpath-file feature on Windows when needed and available (feature was added in Java 9), and you can pass several additional options through compile-clj to the compilation task if needed (like :java-opts). Also, I created a git-process task that takes care of all the tedium around shelling out to git. Some examples in the docs. The uber docs were improved as well.

Fogus has been doing some ongoing maintenance in the Cognitect aws-api and transit-clj this week too.

Upcoming Events

Libraries and Tools

New releases and tools this week:

  • tools.build v0.6.6 - A library for building artifacts in Clojure projects

  • eui-cljs 41.1.0 - A Clojurescript wrapper around the venerable Elastic UI Component library

  • omni-trace 0.1.0 - Omnipotent/omniscient tracing core for debugging clojure(script)

  • trunk - Language learning application

  • remote-repl 1.2.12 - Remote repl for Clojure

  • fulcro-rad 1.1.0-RC3 - Fulcro Rapid Application Development

  • re-statecharts - re-frame integration for clj-statecharts

  • antq 1.3.0 - Point out your outdated dependencies

  • pathom3 2021.11.16-alpha - Logic programming via semantic attribute

  • neil v0.0.17 - A CLI to add common aliases and features to deps.edn-based projects

  • clj-concordion 2.1.2 - Developer-friendly, simple BDD tests using Clojure and clojure.test, based on Concordion.org

  • clj-http-lite 0.4.384 - A lite version of clj-http that uses the JRE’s HttpURLConnection

  • kee-frame 1.3.2 - re-frame with batteries included

  • glimt 0.2.2 - HTTP FSM for re-frame

  • double-dispatch-lite - Lightweight JIT friendly multimethods

  • fs 0.1.1 - File system utility library

  • babashka.curl 0.1.0 - A tiny curl wrapper via idiomatic Clojure, inspired by clj-http, Ring and friends

  • timbre-json-appender 0.2.5 - JSON appender for Timbre

  • babashka 0.6.5 - Native, fast starting Clojure interpreter for scripting

  • carve 0.1.0 - Carve out the essentials of your Clojure app