Skip to content

Commit 5b9ebd1

Browse files
committed
Merge branch 'master' into 1.13-doc-updates
2 parents a4c7b78 + cd4bec5 commit 5b9ebd1

12 files changed

Lines changed: 248 additions & 11 deletions

content/community/books.adoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ July 29, 2021
5757
by Joseph Fahey, Thomas Haratyk, Scott McCaughie, Yehonathan Sharvit, Konrad Szydlo +
5858
Jan 29, 2020
5959

60+
61+
| image::https://images-na.ssl-images-amazon.com/images/I/71FicSOofEL._SL160.jpg[Programação Funcional: Uma introdução em Clojure,link="https://www.amazon.com/dp/B07PFFQ7NL",width="130"]
62+
| https://www.amazon.com/dp/B07PFFQ7NL[Programação Funcional: Uma introdução em Clojure] +
63+
by Gregório Melo +
64+
Mar 1, 2019
65+
6066
| image::https://images-na.ssl-images-amazon.com/images/I/51UNlhb3nmL._SL160.jpg[Hands-On Reactive Programming with Clojure,link="https://amzn.com/B07N7525GX",width="130"]
6167
| https://amzn.com/B07N7525GX[Reactive Programming with Clojure] +
6268
by Konrad Szydlo, Leonardo Borges +

content/dev/contributor_agreement.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ See the full <<contributors#,list of contributors>> that have signed the Clojure
100100
* Federico Brubacher
101101
* Frank Yin
102102
* Frantisek Sodomka
103+
* Fredrik Vaeng Røtnes
103104
* Gabriel Horner
104105
* Gary Fredericks
105106
* George Jahad
@@ -141,6 +142,7 @@ See the full <<contributors#,list of contributors>> that have signed the Clojure
141142
* Luke VanderHart
142143
* Marc O'Morain
143144
* Mark Simpson
145+
* Matheus Francisco Batista Machado
144146
* Matt Revelle
145147
* Matthew Boston
146148
* Matthew Gilliard

content/dev/contributors.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1426,6 +1426,7 @@ Collin Rogowski,qollin
14261426
Allen Rohner,arohner
14271427
Marco Rolappe,mrolappe
14281428
Christian Romney,christianromney
1429+
Fredrik Vaeng Røntes,frwdrik
14291430
Andrew Rosa,andrewhr
14301431
Jeff Rose,rosejn
14311432
Sean Ross,
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
= Clojure real-world-data 65
2+
2026-07-17
3+
:jbake-type: event
4+
:jbake-edition:
5+
:jbake-link: https://clojureverse.org/t/clojure-real-world-data-65/14957
6+
:jbake-location: online
7+
:jbake-start: 2026-07-17
8+
:jbake-end: 2026-07-17
9+
10+
== Clojure real-world-data 65
11+
12+
On Friday, we&rsquo;ll have the usual weekly meeting of the real-world-data group. +
13+
As usual, we will focus on community projects, library development, and documentation, but people are invited to propose additional topics to discuss and share. +
14+
The main topics for the coming meetings will be documentation and additional updates. +
15+
Updates about the agenda will be shared in the group chat: the real-world-data channel at the Zulip chat (requires login). +
16+
If you wish to join the group, please reach out beforehand, and we&rsquo;ll add you to the calendar event. +
17+
parens1920&times;1440 98.2 KB +
18+
+
19+
Zulip: https://clojurians.zulipchat.com/#narrow/stream/262224-events/near/610062558 +
20+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
= Los Angeles Clojure Meetup: rewrite-clj
2+
2026-07-09
3+
:jbake-type: event
4+
:jbake-edition:
5+
:jbake-link: https://www.meetup.com/los-angeles-clojure-users-group/events/315564983/
6+
:jbake-location: online
7+
:jbake-start: 2026-07-09
8+
:jbake-end: 2026-07-09
9+
10+
== Los Angeles Clojure Meetup: rewrite-clj
11+
12+
This month, we will collaboratively look at rewrite-clj, a library that reads and writes Clojure and EDN in a whitespace and comment preserving way. +
13+
+
14+
As usual, we will start off the meetup discussing recent releases and developments of note in the Clojure ecosystem. +
15+
+
16+
The meeting will be recorded. +
17+
+
18+
We will continue with an online virtual meeting until further notice. +
19+
+
20+
Zulip: https://clojurians.zulipchat.com/#narrow/stream/262224-events/near/608488949 +
21+
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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+
== Checked keys
9+
10+
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.
11+
12+
* https://clojure.atlassian.net/browse/CLJ-2961[CLJ-2961] Checked keys
13+
* https://clojure.atlassian.net/browse/CLJ-2960[CLJ-2960] Specs for checked keys
14+
* https://clojure.atlassian.net/browse/CLJ-2949[CLJ-2949] req! - Variant of get that reports on key not found
15+
* https://clojure.atlassian.net/browse/CLJ-2954[CLJ-2954] let/loop/let* - disallow & as local binding
16+
17+
== Other changes since Clojure 1.12.5
18+
19+
* 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.
20+
* 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.
21+
* Runtime and test dependencies updated to latest versions
22+
23+
== Try it out
24+
25+
Update your deps.edn :deps with:
26+
27+
[source]
28+
----
29+
org.clojure/clojure {:mvn/version "1.13.0-alpha1"}
30+
----
31+
32+
Start a REPL with the Clojure CLI (any version) with:
33+
34+
[source]
35+
----
36+
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha1"}}}
37+
----
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
= Clojure 1.13.0-alpha2
2+
Alex Miller
3+
2026-07-02
4+
:jbake-type: post
5+
6+
Clojure 1.13.0-alpha2 is now available! Find download and usage information on the <<xref/../../../../../releases/downloads#,Downloads>> page.
7+
8+
* Fixes a build problem from new Maven plugins by reverting the change
9+
10+
== Try it out
11+
12+
Update your deps.edn :deps with:
13+
14+
[source]
15+
----
16+
org.clojure/clojure {:mvn/version "1.13.0-alpha2"}
17+
----
18+
19+
Start a REPL with the Clojure CLI (any version) with:
20+
21+
[source]
22+
----
23+
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha2"}}}
24+
----
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
= Clojure 1.13.0-alpha3
2+
Alex Miller
3+
2026-07-07
4+
:jbake-type: post
5+
6+
Clojure 1.13.0-alpha3 is now available! Find download and usage information on the <<xref/../../../../../releases/downloads#,Downloads>> page.
7+
8+
== :select directive in map destructuring
9+
10+
The :select directive binds a name to a subset of the map being destructured containing only the keys mentioned (anywhere) in the binding form.
11+
12+
* https://clojure.atlassian.net/browse/CLJ-2964[CLJ-2964] :select directive in map destructuring
13+
* https://clojure.atlassian.net/browse/CLJ-2963[CLJ-2963] Update specs for :select in destructuring
14+
15+
== Other changes since Clojure 1.13.0-alpha2
16+
17+
* RT.map, and thus reader, tracks new PAM thresholds
18+
* https://clojure.atlassian.net/browse/CLJ-1789[CLJ-1789] select-keys - improve performance (transients, etc)
19+
* https://clojure.atlassian.net/browse/CLJ-2958[CLJ-2958] ILookup on sets
20+
* https://clojure.atlassian.net/browse/CLJ-2902[CLJ-2902] pprint - prints arbitary objects in unreadable form
21+
* https://clojure.atlassian.net/browse/CLJ-2801[CLJ-2801] TaggedLiteral - doesn't define print-dup
22+
* https://clojure.atlassian.net/browse/CLJ-2269[CLJ-2269] definterface - does not resolve parameter type hints
23+
* https://clojure.atlassian.net/browse/CLJ-2781[CLJ-2781] clojure.test/report - docstring has broken references
24+
* https://clojure.atlassian.net/browse/CLJ-2929[CLJ-2929] zipper - docstring typo
25+
* https://clojure.atlassian.net/browse/CLJ-2901[CLJ-2901] bytes, shorts, chars - docstring typos
26+
* https://clojure.atlassian.net/browse/CLJ-2811[CLJ-2811] scalb - docstring links to the documentation for nextDown
27+
* https://clojure.atlassian.net/browse/CLJ-2809[CLJ-2809] clojure.math/floor - docstring has line that should be on ceil docstring
28+
29+
== Try it out
30+
31+
Update your deps.edn :deps with:
32+
33+
[source]
34+
----
35+
org.clojure/clojure {:mvn/version "1.13.0-alpha3"}
36+
----
37+
38+
Start a REPL with the Clojure CLI (any version) with:
39+
40+
[source]
41+
----
42+
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha3"}}}
43+
----
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
= Clojure 1.13.0-alpha4
2+
Alex Miller
3+
2026-07-14
4+
:jbake-type: post
5+
6+
Clojure 1.13.0-alpha4 is now available! Find download and usage information on the <<xref/../../../../../releases/downloads#,Downloads>> page.
7+
8+
== Destructuring changes and additions
9+
10+
Idents after `&` in :keys!/syms!/strs!/:keys/syms/strs must now be actual keys, not binding symbols. This is a change in syntax since alpha3. Note that symbol keys should be quoted as unadorned symbols are binding symbols.
11+
12+
`:or` now accepts key->val mappings in addition to binding->val.
13+
14+
Added a new `:defaults name` directive at top level to bind name to a map of defaults, key->val. Binding symbols in the `:or` map are transformed to the key value in the `:defaults` map. `:defaults` without `:or` is an error.
15+
16+
`:select name`, introduced in alpha3, now selects deeply, through nested maps, and fills in values for missing keys from `:or`. The `:select` map contains all keys mentioned anywhere in the binding form.
17+
18+
* https://clojure.atlassian.net/browse/CLJ-2964[CLJ-2964] :select directive in map destructuring
19+
* https://clojure.atlassian.net/browse/CLJ-2966[CLJ-2966] :defaults directive in map destructuring
20+
* https://clojure.atlassian.net/browse/CLJ-2967[CLJ-2967] tests for nested destructuring
21+
22+
== Other changes since Clojure 1.13.0-alpha3
23+
24+
* https://clojure.atlassian.net/browse/CLJ-2870[CLJ-2870] Exception phase during top-level eval is miscategorized
25+
26+
== Try it out
27+
28+
Update your deps.edn :deps with:
29+
30+
[source]
31+
----
32+
org.clojure/clojure {:mvn/version "1.13.0-alpha4"}
33+
----
34+
35+
Start a REPL with the Clojure CLI (any version) with:
36+
37+
[source]
38+
----
39+
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha4"}}}
40+
----

content/reference/special_forms.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ In all of the sequential cases the __binding-form__s in the destructure binding
286286
[[associative-destructuring]]
287287
=== Associative destructuring
288288

289-
Map __binding-form__s create bindings by looking up values in collections like maps, sets, vectors, strings, and arrays (the latter three have integer keys). It consists of a map of __binding-form->key__ pairs, each __binding-form__ bound to the value in the _init-expr_ at the key provided. In addition, and optionally, an `:as` key in the binding form followed by a symbol binds that symbol to the entire __init-expr__. Also optionally, an `:or` key in the binding form followed by another map may be used to supply default values for some or all of the keys if they are not found in the __init-expr__:
289+
Map __binding-form__s create bindings by looking up values in collections like maps, sets, vectors, strings, and arrays (the latter three have integer keys). It consists of a map of __binding-form->key__ pairs, each __binding-form__ bound to the value in the _init-expr_ at the key provided. In addition, and optionally, an `:as` key in the binding form followed by a symbol binds that symbol to the entire __init-expr__. Also optionally, an `:or` key in the binding form followed by another map may be used to supply default values for some or all of the bindings if their keys are not found in the __init-expr__:
290290

291291
[source,clojure]
292292
----

0 commit comments

Comments
 (0)