= Clojure Downloads
Rich Hickey
2015-01-01
:jbake-type: releases
:toc: macro
:icons: font

ifdef::env-github,env-browser[:outfilesuffix: .adoc]

[NOTE]
====
New to Clojure? Head to the <<xref/../../guides/getting_started#,Getting Started>> guide instead for information on how to install the Clojure tools!

These tools allow you to start a REPL for interactive use, download Clojure libraries (including Clojure itself), and run Clojure programs.
====

[[stable]]
== Stable Release: 1.12.0 (Sep 5, 2024)

Include the release in your project using the following coordinates:

deps.edn coordinate:

[source,clojure]
----
org.clojure/clojure {:mvn/version "1.12.0"}
----

Leiningen dependency:

[source,clojure]
----
[org.clojure/clojure "1.12.0"]
----

=== Dependencies

Clojure 1.12.0 depends on the following core libraries:

 * `org.clojure/spec.alpha {:mvn/version "0.5.238"}` (https://repo1.maven.org/maven2/org/clojure/spec.alpha/0.5.238/spec.alpha-0.5.238.jar[jar])
 * `org.clojure/core.specs.alpha {:mvn/version "0.4.74"}` (https://repo1.maven.org/maven2/org/clojure/core.specs.alpha/0.4.74/core.specs.alpha-0.4.74.jar[jar])

Using Clojure with a tool like the Clojure CLI or Leiningen will automatically include these libraries as transitive dependencies.

=== Java compatibility

Clojure depends on Java and all Clojure code is compiled to Java 8 compatible bytecode (newer versions of Java can load this as well).

* Minimum runtime dependency: Java 8
* Supported: LTS (long term support) releases, currently Java 8, Java 11, Java 17, Java 21
* Others: likely work, but not officially supported

=== Changelog

Read the https://github.com/clojure/clojure/blob/master/changes.md[Changelog] for detailed release information.

[[dev]]
== Development Release: none

////
Include the release in your project using the following coordinates:

deps.edn coordinate:

[source,clojure]
----
org.clojure/clojure {:mvn/version "1.12.0-rc2"}
----

Leiningen dependency:

[source,clojure]
----
[org.clojure/clojure "1.12.0-rc2"]
----

* https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.clojure%22%20AND%20a%3A%22clojure%22%20AND%20v%3A1.12.0*[Clojure 1.12.0 pre-release builds]
* <<devchangelog#,Dev changelog>>
* Dependencies:
** `org.clojure/spec.alpha {:mvn/version "0.5.238"}`
** `org.clojure/core.specs.alpha {:mvn/version "0.4.74"}`
* Requirements: Java 8 or higher (recommended: Java 8, Java 11, Java 17, Java 21)
////

== Older Releases

* For older releases, see <<downloads_older#,Older Releases>>

== Clojure Source

Clojure source code is hosted at https://github.com/clojure/clojure[github.com/clojure/clojure]. Builds of the very latest version of Clojure's master branch are available at https://oss.sonatype.org/content/repositories/snapshots/org/clojure/clojure/1.13.0-master-SNAPSHOT/[oss.sonatype.org].

== Get Clojure

=== Via deps.edn

Specify the version of Clojure that you want in your deps.edn:

[source,clojure]
----
{:deps
 {org.clojure/clojure {:mvn/version "1.12.0"}}}
----

=== Via Leiningen

Modify the dependencies and repositories sections of your https://leiningen.org/[Leiningen] project.clj file, specifying the version of Clojure that you want:
[source,clojure]
----
; under dependencies, select the release of clojure that you want
:dependencies [[org.clojure/clojure "1.12.0"]]
----

== Using Clojure SNAPSHOT releases

Most tools do not automatically include the sonatype snapshot repositories. To use SNAPSHOT releases, you must add this to your configuration:

=== In deps.edn

Add an additional repository in deps.edn:

[source,clojure]
----
{:mvn/repos
 {"sonatype-oss-public" {:url "https://oss.sonatype.org/content/groups/public/"}}}
----

=== In Leiningen

Add a snapshot repository in Leiningen in project.clj:

[source,clojure]
----
:repositories {"sonatype-oss-public" "https://oss.sonatype.org/content/groups/public/"}
----

=== In Maven

In pom.xml:

[source,xml]
----
<repositories>
  <repository>
    <id>sonatype-oss-public</id>
    <url>https://oss.sonatype.org/content/groups/public/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>
----

== Download verification

See the <<download_key#,download key>> page for more on verifying Maven downloads against the Clojure public key.
