It's important to note that any version of the Clojure CLI can use any version of the Clojure language - these are not actually tied together as much as you might assume at first. So Clojure CLI 1.10.3.949 can use Clojure 1.0.0 or Clojure CLI 1.9.0.273 can use Clojure 1.10.3.
There are two ties however from the Clojure CLI to Clojure itself:
- the version of Clojure used to build classpaths prior to running your program (this is bundled up into the clojure-tools uber jar inside the CLI)
- the default version of Clojure you will get if you don't specify one (either because you don't have a deps.edn or if your deps.edn doesn't specify one)
When we release a new version of Clojure, we also bump the Clojure CLI version up to use the latest Clojure by default and change the version at that point. So the CLI version does follow along closely behind the language. The last component of the CLI version number is a monotonically increasing commit count on the brew-install repo.
Neither the Clojure CLI or Clojure itself use semantic versioning.