Skip to content

Commit d021081

Browse files
committed
1.13.0-alpha1
1 parent cf5240f commit d021081

3 files changed

Lines changed: 49 additions & 10 deletions

File tree

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
= Clojure 1.13.0-alpha1
2+
Alex Miller
3+
2026-07-02
4+
:jbake-type: post
5+
6+
Clojure 1.13.0-alpha1 is now available! Find download and usage information on the <<xref/../../../../../releases/downloads#,Downloads>> page.
7+
8+
Update your deps.edn :deps with:
9+
10+
```org.clojure/clojure {:mvn/version "1.13.0-alpha1"}```
11+
12+
Start a REPL with the Clojure CLI (any version) with:
13+
14+
```clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha1"}}}```
15+
16+
== Checked keys
17+
18+
You can now ensure that required keys are bound during map destructuring by using the new checked variants of the :keys/:syms/:strs directives - :keys!/:syms!/:strs!, which will throw if the key is not present. You can also, in all directives, specify keys after & which will not be bound, for documentation or checking purposes.
19+
20+
* https://clojure.atlassian.net/browse/CLJ-2961[CLJ-2961] Checked keys
21+
* https://clojure.atlassian.net/browse/CLJ-2960[CLJ-2960] Specs for checked keys
22+
* https://clojure.atlassian.net/browse/CLJ-2949[CLJ-2949] req! - Variant of get that reports on key not found
23+
* https://clojure.atlassian.net/browse/CLJ-2954[CLJ-2954] let/loop/let* - disallow & as local binding
24+
25+
== Other changes since Clojure 1.12.5
26+
27+
* PersistentArrayMaps of only keyword keys now grow up to size 64 (previously was 8) before transitioning to PersistentHashMaps. PAM identity scans are more efficient than PHM lookups in this range, also makes more usage sites monomorphic and thus easier to optimize.
28+
* https://clojure.atlassian.net/browse/CLJ-2891[CLJ-2891] Remove ACC_FINAL designation from static initializer constants. This change was made as a prepatory step towards moving the Java bytecode baseline to address new verifier checks.
29+
* Runtime and test dependencies updated to latest versions

content/releases/devchangelog.adoc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,20 @@ The official https://github.com/clojure/clojure/blob/master/changes.md[changelog
1717

1818
Note: All dev releases are subject to breaking changes for new work since the prior release.
1919

20+
== Release 1.13.x
21+
22+
=== 1.13.0-alpha1 (July 2, 2026) [[v1.13.0-alpha1]]
23+
24+
https://clojure.org/news/2026/07/02/clojure-1-13-alpha1[Release Notes]
25+
26+
* https://clojure.atlassian.net/browse/CLJ-2961[CLJ-2961] Checked keys
27+
* https://clojure.atlassian.net/browse/CLJ-2960[CLJ-2960] Specs for checked keys
28+
* https://clojure.atlassian.net/browse/CLJ-2949[CLJ-2949] req! - Variant of get that reports on key not found
29+
* https://clojure.atlassian.net/browse/CLJ-2954[CLJ-2954] let/loop/let* - disallow & as local binding
30+
* https://clojure.atlassian.net/browse/CLJ-2891[CLJ-2891] Remove ACC_FINAL designation from static initializer constants.
31+
* PersistentArrayMaps of only keyword keys now grow up to size 64 (previously was 8) before transitioning to PersistentHashMaps
32+
* Runtime, test, plugin dependencies updated to latest versions, including org.clojure/core.specs.alpha 0.6.87-alpha1
33+
2034
== Release 1.12.x
2135

2236
=== 1.12.5 (May 12, 2026) [[v1.12.5]]

content/releases/downloads.adoc

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,35 +54,31 @@ Clojure depends on Java and all Clojure code is compiled to Java 8 compatible by
5454
Read the https://github.com/clojure/clojure/blob/master/changes.md[Changelog] for detailed release information.
5555

5656
[[dev]]
57-
== Development Release: none
58-
59-
////
57+
== Development Release: 1.13.0-alpha1
6058

6159
Include the release in your project using the following coordinates:
6260

6361
deps.edn coordinate:
6462

6563
[source,clojure]
6664
----
67-
org.clojure/clojure {:mvn/version "1.12.5-rc1"}
65+
org.clojure/clojure {:mvn/version "1.13.0-alpha1"}
6866
----
6967

7068
Leiningen dependency:
7169

7270
[source,clojure]
7371
----
74-
[org.clojure/clojure "1.12.5-rc1"]
72+
[org.clojure/clojure "1.13.0-alpha1"]
7573
----
7674

77-
* https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.clojure%22%20AND%20a%3A%22clojure%22%20AND%20v%3A1.12.5*[Clojure 1.12.5 pre-release builds]
75+
* https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.clojure%22%20AND%20a%3A%22clojure%22%20AND%20v%3A1.13*[Clojure 1.13 pre-release builds]
7876
* <<devchangelog#,Dev changelog>>
7977
* Dependencies:
80-
** `org.clojure/spec.alpha {:mvn/version "0.5.238"}`
81-
** `org.clojure/core.specs.alpha {:mvn/version "0.4.74"}`
78+
** `org.clojure/spec.alpha {:mvn/version "0.6.249"}`
79+
** `org.clojure/core.specs.alpha {:mvn/version "0.6.87-alpha1"}`
8280
* Requirements: Java 8 or higher (recommended: Java 25)
8381

84-
////
85-
8682
== Older Releases
8783

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

0 commit comments

Comments
 (0)