How to get the older API docs versions of Clojure?

The API documentation is here: http://clojure.github.io/

But, how to get the documentation for an specific versions of Clojure?

I do not know your desired use model, but if you are OK with looking through source code, and/or starting up a REPL and evaluating forms like (doc map), then this works using the Clojure CLI tools:

$ clojure -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.8.0"}}}'
Clojure 1.8.0
user=> (doc map)
-------------------------
clojure.core/map
([f] [f coll] [f c1 c2] [f c1 c2 c3] [f c1 c2 c3 & colls])
  Returns a lazy sequence consisting of the result of applying f to
  the set of first items of each coll, followed by applying f to the
  set of second items in each coll, until any one of the colls is
  exhausted.  Any remaining items in other colls are ignored. Function
  f should accept number-of-colls arguments. Returns a transducer when
  no collection is provided.
nil
1 Like

Also note that while I haven’t done the actual counts to see how many of these doc strings have changed in the last 3 or 4 releases of Clojure, I would guess that on average there are 5 to 10 of them that have small clarifications or updates of their doc strings, even though the underlying function did not change behavior at all, and then there are typically 10 to 15 new things added per release, which have brand new doc strings.

Good workaround.

I was expecting to have a kind of permalink for an specific version of the documentation, so I can do proper references to it in documents.

For Clojure itself, we maintain old versions in addition to the “current” docs - see the version links in the bottom left of https://clojure.github.io/clojure.

For example:

Unfortunately there is no permalink for the “current” version (like a 1.10.0 or 1.10.1. The code that generates this stuff is old and weird and it’s one my many nits.

We do not maintain older contrib lib api pages.

1 Like