We just released a change to Clojars: it no longer allows releases to have dependencies with unstable versions. This will only impact releases from now on; any prior existing releases that use unstable version dependencies are not impacted.
What is an unstable version?
An unstable version is a version where the identifier remains stable, but what it points to does not. Examples include:
β’ version ranges (`[1.1,1.2)`)
β’ LATEST & RELEASE, which resolve to the latest release (`RELEASE` excludes SNAPSHOTs)
β’ SNAPSHOT releases
Why make this change?
If a library uses unstable versions, any project that depends on it does not have a stable build, as the transitive dependency tree can change at any time, without any version identifier changes to the project. This also matches the behavior of Maven Central.
SNAPSHOT exception
The one exception to this rule is that SNAPSHOT versions can still rely on other SNAPSHOTS, but can't use version ranges or LATEST/`RELEASE`.
See https://github.com/clojars/clojars-web/wiki/Unstable-Dependency-Versions for details, and please follow-up in #C0H28NMAS if you have any questions or issues.
good change, thank you
My pleasure!
a version like 2026.07.25-20260724.111028-1 created from a SNAPSHOT on clojars is still fine right?
Thanks for this. Now it means deps.edn is effectively pinning (if it is configured for clojars and maven only)
@borkdude Correct. This only checks for explicit -SNAPSHOT versions, not the snapshot timestamped versions, as those are stable
#C0AQSC6C3L0 Is a VS Code extension that provides AI agents with Calvaβs Clojure tools such as the repl and structural editing. It is a native Copilot and Cursor extension, as well as an MCP server, now with zero/auto-config for #C093426FPUG
New release just out: https://github.com/BetterThanTomorrow/calva-backseat-driver/releases/tag/v0.0.39
β’ Auto-register MCP server with https://eca.dev/ (project-local .eca/config.json) when calva-backseat-driver.autoRegisterEcaMcp is enabled (default`true`)
This means that if you use Copilot, Cursor, or ECA, you just install Backseat Driver and the agent can just imediatelly use it.