Skip to content

Commit

Permalink
1.11.4, 1.12.0-rc1
Browse files Browse the repository at this point in the history
  • Loading branch information
puredanger committed Aug 3, 2024
1 parent 8d2cf26 commit 3c70e0a
Show file tree
Hide file tree
Showing 7 changed files with 104 additions and 9 deletions.
14 changes: 14 additions & 0 deletions content/news/2024/08/03/clojure-1-11-4.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
= Clojure 1.11.4
Alex Miller
2024-08-03
:jbake-type: post

Clojure 1.11.4 is now available with the following fixes:

* https://clojure.atlassian.net/browse/CLJ-2145[CLJ-2145] Fix clearing of closed overs in `^:once` fns
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.

* https://clojure.atlassian.net/browse/CLJ-2865[CLJ-2317] `recur` to head of `:once` fn cancels once
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.
10 changes: 10 additions & 0 deletions content/news/2024/08/03/clojure-1-12-0-rc1.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
= Clojure 1.12.0-rc1
Alex Miller
2024-08-03
:jbake-type: post

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.

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.

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].
59 changes: 59 additions & 0 deletions content/news/2024/08/03/deref.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
= Clojure Deref (Aug 3, 2024)
Alex Miller
2024-08-03
:jbake-type: post

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

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.

== From the core

This week we've released three things:

* https://2024.clojure-conj.org/#/speakers[Clojure/conj 2024 Program]
* https://clojure.org/news/2024/08/03/clojure-1-11-4[Clojure 1.11.4]
* https://clojure.org/news/2024/08/03/clojure-1-12-0-rc1[Clojure 1.12.0-rc1]

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!

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.

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!

== Podcasts and videos

* 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
* https://www.youtube.com/watch?v=N0pxjHgNUxs[Packaging Clojure app for Mac] - Clojure Diary
* https://www.youtube.com/watch?v=N_E-P2Giq1k[Meetup: Collaborative Learning - XTDB 2.0] - Los Angeles Clojure Users Group
* https://www.youtube.com/watch?v=bJCDJnt4lEA[Meetup: Collaborative Learning - XTDB 2.0 (part 2)] - Los Angeles Clojure Users Group

== Blogs, articles, and projects

* https://aiprobook.com/deep-learning-for-programmers/[Deep Learning for Programmers] - Dragan Djuric
* https://gaiwan.co/blog/when-a-plan-comes-together/[When a Plan Comes Together] - Arne Brasseur (Gaiwan)
* https://2024.clojure-conj.org/#/speakers[Speakers] - CLOJURE/CONJ
* https://blog.hughpowell.net/6-months-1-line-of-code.html[6 months, 1 line of code] - Hugh Powell
* https://play.teod.eu/clojure-easy-parallellism-with-pipeline-blocking/[Easy, explicit parallellism with pipeline-blocking] - Ruben S. Sevaldson, Teodor Heggelund
* https://danielsz.github.io/20240718T060528--lisps-grandfather-paradox__clojure_lisp_scheme.html[LISP'S GRANDFATHER PARADOX] - Daniel Szmulewicz
* https://hyperfiddle-docs.notion.site/Electric-progress-update-July-2024-9429836036e4489fb9ce3dc9ddf7faee[Electric Clojure progress update - July 2024] - Dustin Getz
* https://tonitalksdev.com/typed-configuration-files-with-malli-aero[Typed Configuration Files with Malli & Aero] - Toni Väisänen

== Libraries and Tools

New releases and tools this week:

* 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
* 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
* 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
* https://github.com/cljfx/dev[dev] 1.0.39 - Dev tools for cljfx
* https://github.com/dundalek/stratify[stratify] 0.1.0 - Visualize structure and dependencies of Clojure codebases
* 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
* https://github.com/jf/pipeline-notifier[pipeline-notifier] - ready-made notifiers with excellent DX (Developer Experience) for your devops pipelines
* 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
* 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
* 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
* 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
* 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
* 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
* 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
2 changes: 1 addition & 1 deletion content/reference/repl_and_main.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ The simplest way to launch a Clojure _repl_ is to use the <<xref/../../guides/ge
[source,shell]
----
$ clj
Clojure 1.11.3
Clojure 1.11.4
user=>
----

Expand Down
15 changes: 13 additions & 2 deletions content/releases/devchangelog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@ Note: All dev releases are subject to breaking changes for new work since the pr

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

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

* https://clojure.atlassian.net/browse/CLJ-2145[CLJ-2145] Fix clearing of closed overs in `^:once` fns
* https://clojure.atlassian.net/browse/CLJ-2865[CLJ-2317] `recur` to head of `:once` fn cancels once

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

Expand Down Expand Up @@ -211,6 +213,15 @@ Enhancements:

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

== Release 1.11.4

=== 1.11.4 (Aug 3, 2024) [[v1.11.4]]

https://clojure.org/news/2024/08/03/clojure-1-11-4[Release Notes]

* https://clojure.atlassian.net/browse/CLJ-2145[CLJ-2145] Fix clearing of closed overs in `^:once` fns
* https://clojure.atlassian.net/browse/CLJ-2865[CLJ-2317] `recur` to head of `:once` fn cancels once

== Release 1.11.3

=== 1.11.3 (Apr 24, 2024) [[v1.11.3]]
Expand Down
12 changes: 6 additions & 6 deletions content/releases/downloads.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,27 @@ New to Clojure? Head to the <<xref/../../guides/getting_started#,Getting Started
These tools allow you to start a REPL for interactive use, download Clojure libraries (including Clojure itself), and run Clojure programs.
====

== Stable Release: 1.11.3 (Apr 24, 2024)
== Stable Release: 1.11.4 (Aug 3, 2024)

Include the release in your project using the following coordinates:

deps.edn coordinate:

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

Leiningen dependency:

[source,clojure]
----
[org.clojure/clojure "1.11.3"]
[org.clojure/clojure "1.11.4"]
----

=== Dependencies

Clojure 1.11.3 depends on the following core libraries:
Clojure 1.11.4 depends on the following core libraries:

* `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])
* `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])
Expand Down Expand Up @@ -95,7 +95,7 @@ Specify the version of Clojure that you want in your deps.edn:
[source,clojure]
----
{:deps
{org.clojure/clojure {:mvn/version "1.11.3"}}}
{org.clojure/clojure {:mvn/version "1.11.4"}}}
----

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

== Using Clojure SNAPSHOT releases
Expand Down
1 change: 1 addition & 0 deletions content/releases/downloads_older.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ifdef::env-github,env-browser[:outfilesuffix: .adoc]

== Older Clojure Releases

* 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]
* 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]
* 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]
* 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]
Expand Down

0 comments on commit 3c70e0a

Please sign in to comment.