Skip to content

Commit 3c70e0a

Browse files
committed
1.11.4, 1.12.0-rc1
1 parent 8d2cf26 commit 3c70e0a

File tree

7 files changed

+104
-9
lines changed

7 files changed

+104
-9
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
= Clojure 1.11.4
2+
Alex Miller
3+
2024-08-03
4+
:jbake-type: post
5+
6+
Clojure 1.11.4 is now available with the following fixes:
7+
8+
* https://clojure.atlassian.net/browse/CLJ-2145[CLJ-2145] Fix clearing of closed overs in `^:once` fns
9+
10+
In some cases (see the ticket for details), functions that closed-over bindings in the outer scope were not clearing the use of those bindings in the inner function scope, which could potentially cause head-holding. These closed-overs are now clearable for garbage collection.
11+
12+
* https://clojure.atlassian.net/browse/CLJ-2865[CLJ-2317] `recur` to head of `:once` fn cancels once
13+
14+
The `:once` function metadata is a hint to the compiler that a function will only be run once, and thus closed-over fields may be cleared. It is nonsensical to `recur` to the head of a `:once` fn (as that implies running it more than once), but this situation can arise through the use of macros that apply wrap arbitrary bodies in `:once` fns. In this case closed-over fields would sometimes be cleared prior to the recur. Now, use of `recur` to the head of a `:once` fn will ignore the `:once` flag and closed-over fields will not be cleared in the fn. Clearing of other local fields (not closed-over) is unchanged.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
= Clojure 1.12.0-rc1
2+
Alex Miller
3+
2024-08-03
4+
:jbake-type: post
5+
6+
Clojure 1.12.0-rc1 is now available! At this point we consider Clojure 1.12.0 to be complete. Please test this release and provide any feedback prior to release.
7+
8+
The changes in this release since 1.12.0-beta2 are the same fixes also released in <<clojure-1-11-4#,Clojure 1.11.4>>, see there for details.
9+
10+
For a complete list of 1.12.0 features and fixes, see the https://github.com/clojure/clojure/blob/master/changes.md#changes-to-clojure-in-version-1120[official changelog].

content/news/2024/08/03/deref.adoc

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
= Clojure Deref (Aug 3, 2024)
2+
Alex Miller
3+
2024-08-03
4+
:jbake-type: post
5+
6+
ifdef::env-github,env-browser[:outfilesuffix: .adoc]
7+
8+
Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: https://clojure.org/feed.xml[RSS]). Thanks to Anton Fonarev for link aggregation.
9+
10+
== From the core
11+
12+
This week we've released three things:
13+
14+
* https://2024.clojure-conj.org/#/speakers[Clojure/conj 2024 Program]
15+
* https://clojure.org/news/2024/08/03/clojure-1-11-4[Clojure 1.11.4]
16+
* https://clojure.org/news/2024/08/03/clojure-1-12-0-rc1[Clojure 1.12.0-rc1]
17+
18+
The final program for the Conj is still a work in progress and we hope to have a full schedule available in the next week or two. https://ti.to/nubank/clojureconj-2024[Register now] to be there in Alexandria, Virginia Oct 23-25th to talk about all things Clojure!
19+
20+
This week we've been focused on some issues with locals clearing of closed-over fields and that work has been released in 1.12.0-rc1 and backported to 1.11.4. See the 1.11.4 release notes for the details.
21+
22+
At this point we consider 1.12.0 to be complete pending feedback from the community. This is your last chance to try the new version before the official release - we welcome your feedback!
23+
24+
== Podcasts and videos
25+
26+
* https://podcasters.spotify.com/pod/show/lostinlambduhhs/episodes/first-conj-clojure-camp-raf-dittwald-recia-roopnarine-e2mjtmd/a-abf646a[((first (conj [:clojure-camp] :raf-dittwald :recia-roopnarine))] - Jordan Miller
27+
* https://www.youtube.com/watch?v=N0pxjHgNUxs[Packaging Clojure app for Mac] - Clojure Diary
28+
* https://www.youtube.com/watch?v=N_E-P2Giq1k[Meetup: Collaborative Learning - XTDB 2.0] - Los Angeles Clojure Users Group
29+
* https://www.youtube.com/watch?v=bJCDJnt4lEA[Meetup: Collaborative Learning - XTDB 2.0 (part 2)] - Los Angeles Clojure Users Group
30+
31+
== Blogs, articles, and projects
32+
33+
* https://aiprobook.com/deep-learning-for-programmers/[Deep Learning for Programmers] - Dragan Djuric
34+
* https://gaiwan.co/blog/when-a-plan-comes-together/[When a Plan Comes Together] - Arne Brasseur (Gaiwan)
35+
* https://2024.clojure-conj.org/#/speakers[Speakers] - CLOJURE/CONJ
36+
* https://blog.hughpowell.net/6-months-1-line-of-code.html[6 months, 1 line of code] - Hugh Powell
37+
* https://play.teod.eu/clojure-easy-parallellism-with-pipeline-blocking/[Easy, explicit parallellism with pipeline-blocking] - Ruben S. Sevaldson, Teodor Heggelund
38+
* https://danielsz.github.io/20240718T060528--lisps-grandfather-paradox__clojure_lisp_scheme.html[LISP'S GRANDFATHER PARADOX] - Daniel Szmulewicz
39+
* https://hyperfiddle-docs.notion.site/Electric-progress-update-July-2024-9429836036e4489fb9ce3dc9ddf7faee[Electric Clojure progress update - July 2024] - Dustin Getz
40+
* https://tonitalksdev.com/typed-configuration-files-with-malli-aero[Typed Configuration Files with Malli & Aero] - Toni Väisänen
41+
42+
== Libraries and Tools
43+
44+
New releases and tools this week:
45+
46+
* https://github.com/clojure/clojure[clojure] https://clojure.org/releases/devchangelog#v1.12.0-rc1[1.12.0-rc1] and https://clojure.org/releases/devchangelog#v1.11.4[1.11.4] - The Clojure programming language
47+
* https://github.com/scicloj/kind-pyplot[kind-pyplot] https://github.com/scicloj/kind-pyplot/blob/main/CHANGELOG.md[1-beta1] - Visualizing python plots with the Clojure Kindly convention
48+
* https://github.com/cljfx/cljfx[cljfx] https://github.com/cljfx/cljfx/blob/master/CHANGELOG.md[1.9.1] - Declarative, functional and extensible wrapper of JavaFX inspired by better parts of react and re-frame
49+
* https://github.com/cljfx/dev[dev] 1.0.39 - Dev tools for cljfx
50+
* https://github.com/dundalek/stratify[stratify] 0.1.0 - Visualize structure and dependencies of Clojure codebases
51+
* https://codeberg.org/mitch-kyle/integrant.monkey[integrant.monkey] https://codeberg.org/mitch-kyle/integrant.monkey/src/branch/main/CHANGELOG.md[0.2.0] - Monkey around with your integrant system
52+
* https://github.com/jf/pipeline-notifier[pipeline-notifier] - ready-made notifiers with excellent DX (Developer Experience) for your devops pipelines
53+
* https://github.com/clj-kondo/clj-kondo[clj-kondo] https://github.com/clj-kondo/clj-kondo/blob/master/CHANGELOG.md[2024.08.01] - Static analyzer and linter for Clojure code that sparks joy
54+
* https://github.com/ikappaki/basilisp-kernel[basilisp-kernel] https://github.com/ikappaki/basilisp-kernel/blob/main/CHANGELOG.md[1.1.0] - A Jupyter kernel for Basilisp, a Clojure compatible dialect implemented in Python
55+
* https://github.com/flow-storm/clofidence[clofidence] https://github.com/flow-storm/clofidence/blob/master/CHANGELOG.md[0.3.1] - Bolster your Clojure test suite confidence
56+
* https://github.com/scicloj/clay[clay] https://github.com/scicloj/clay/blob/main/CHANGELOG.md[2-beta15] - A tiny Clojure tool for dynamic workflow of data visualization and literate programming
57+
* https://github.com/scicloj/cmdstan-clj[cmdstan-clj] https://github.com/scicloj/cmdstan-clj/blob/main/CHANGELOG.md[1-alpha2] - Using the Stan statistical modelling language from Clojure using the CmdStan CLI
58+
* https://github.com/clojure-goes-fast/clj-java-decompiler[clj-java-decompiler] https://github.com/clojure-goes-fast/clj-java-decompiler/blob/master/CHANGELOG.md[0.3.6] - REPL-integrated Clojure-to-Java decompiler
59+
* https://github.com/soulspace-org/overarch[overarch] https://github.com/soulspace-org/overarch/blob/main/Changelog.md[0.29.1] - A data driven description of software architecture based on UML and the C4 model

content/reference/repl_and_main.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ The simplest way to launch a Clojure _repl_ is to use the <<xref/../../guides/ge
5454
[source,shell]
5555
----
5656
$ clj
57-
Clojure 1.11.3
57+
Clojure 1.11.4
5858
user=>
5959
----
6060

content/releases/devchangelog.adoc

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ Note: All dev releases are subject to breaking changes for new work since the pr
2121

2222
=== 1.12.0-rc1 (Aug 3, 2024) [[v1.12.0-rc1]]
2323

24-
* https://clojure.atlassian.net/browse/CLJ-2145[CLJ-2145] Fix clearing of closed overs in ^:once fns
25-
* https://clojure.atlassian.net/browse/CLJ-2865[CLJ-2317] `recur` to head of :once fn cancels once
24+
https://clojure.org/news/2024/08/03/clojure-1-12-0-rc1[Release Notes]
25+
26+
* https://clojure.atlassian.net/browse/CLJ-2145[CLJ-2145] Fix clearing of closed overs in `^:once` fns
27+
* https://clojure.atlassian.net/browse/CLJ-2865[CLJ-2317] `recur` to head of `:once` fn cancels once
2628

2729
=== 1.12.0-beta2 (Jul 29, 2024) [[v1.12.0-beta2]]
2830

@@ -211,6 +213,15 @@ Enhancements:
211213

212214
* https://clojure.atlassian.net/browse/CLJ-1872[CLJ-1872] Extend `empty?` to `counted?` colls that aren't seqable, such as transients
213215

216+
== Release 1.11.4
217+
218+
=== 1.11.4 (Aug 3, 2024) [[v1.11.4]]
219+
220+
https://clojure.org/news/2024/08/03/clojure-1-11-4[Release Notes]
221+
222+
* https://clojure.atlassian.net/browse/CLJ-2145[CLJ-2145] Fix clearing of closed overs in `^:once` fns
223+
* https://clojure.atlassian.net/browse/CLJ-2865[CLJ-2317] `recur` to head of `:once` fn cancels once
224+
214225
== Release 1.11.3
215226

216227
=== 1.11.3 (Apr 24, 2024) [[v1.11.3]]

content/releases/downloads.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@ New to Clojure? Head to the <<xref/../../guides/getting_started#,Getting Started
1414
These tools allow you to start a REPL for interactive use, download Clojure libraries (including Clojure itself), and run Clojure programs.
1515
====
1616

17-
== Stable Release: 1.11.3 (Apr 24, 2024)
17+
== Stable Release: 1.11.4 (Aug 3, 2024)
1818

1919
Include the release in your project using the following coordinates:
2020

2121
deps.edn coordinate:
2222

2323
[source,clojure]
2424
----
25-
org.clojure/clojure {:mvn/version "1.11.3"}
25+
org.clojure/clojure {:mvn/version "1.11.4"}
2626
----
2727

2828
Leiningen dependency:
2929

3030
[source,clojure]
3131
----
32-
[org.clojure/clojure "1.11.3"]
32+
[org.clojure/clojure "1.11.4"]
3333
----
3434

3535
=== Dependencies
3636

37-
Clojure 1.11.3 depends on the following core libraries:
37+
Clojure 1.11.4 depends on the following core libraries:
3838

3939
* `org.clojure/spec.alpha {:mvn/version "0.3.218"}` (https://repo1.maven.org/maven2/org/clojure/spec.alpha/0.3.218/spec.alpha-0.3.218.jar[jar])
4040
* `org.clojure/core.specs.alpha {:mvn/version "0.2.62"}` (https://repo1.maven.org/maven2/org/clojure/core.specs.alpha/0.2.62/core.specs.alpha-0.2.62.jar[jar])
@@ -95,7 +95,7 @@ Specify the version of Clojure that you want in your deps.edn:
9595
[source,clojure]
9696
----
9797
{:deps
98-
{org.clojure/clojure {:mvn/version "1.11.3"}}}
98+
{org.clojure/clojure {:mvn/version "1.11.4"}}}
9999
----
100100

101101
=== Via Leiningen
@@ -104,7 +104,7 @@ Modify the dependencies and repositories sections of your https://leiningen.org/
104104
[source,clojure]
105105
----
106106
; under dependencies, select the release of clojure that you want
107-
:dependencies [[org.clojure/clojure "1.11.3"]]
107+
:dependencies [[org.clojure/clojure "1.11.4"]]
108108
----
109109

110110
== Using Clojure SNAPSHOT releases

content/releases/downloads_older.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ ifdef::env-github,env-browser[:outfilesuffix: .adoc]
99

1010
== Older Clojure Releases
1111

12+
* https://repo1.maven.org/maven2/org/clojure/clojure/1.11.4/[Clojure 1.11.4] (Aug, 2024) - https://clojure.org/news/2024/08/03/clojure-1-11-4[release notes]
1213
* https://repo1.maven.org/maven2/org/clojure/clojure/1.11.3/[Clojure 1.11.3] (Apr, 2024) - https://clojure.org/news/2024/04/24/clojure-1-11-3[release notes]
1314
* https://repo1.maven.org/maven2/org/clojure/clojure/1.11.2/[Clojure 1.11.2] (Mar, 2024) - https://clojure.org/news/2024/03/08/clojure-1-11-2[release notes]
1415
* https://repo1.maven.org/maven2/org/clojure/clojure/1.11.1/[Clojure 1.11.1] (Apr, 2022) - https://clojure.org/news/2022/04/05/clojure-1-11-1[release notes]

0 commit comments

Comments
 (0)