announcements 2026-09-30

Alex Miller (Clojure team) 2026-09-30T12:59:05.007149Z

https://clojure.org/news/2026/09/30/clojure-1-13-alpha8 is now available! Details in 🧡 . If you have follow up questions or concerns, please open a new thread in #C06E3HYPR so we can keep the conversation for each question independent.

16
πŸ‘€ 7
15
πŸŽ‰ 9
Alex Miller (Clojure team) 2026-09-30T12:59:59.696389Z

Selectors A developer may need to apply the same key-selection logic embedded in a map destructuring form (as directives, :keys!/:syms!/:strs!/etc., nesting, etc.) against multiple maps, or want to hand that selection logic to another part of the program. Currently that logic is oriented around binding in destructuring and not for programmatic use. This release adds a new selector macro that takes a destructuring form and returns a function that can be applied to maps:

(selector [m])

  Builds a selecting-fn from m, a map destructuring form that must
  include one or more of the :select, :all, :missing, and :excess
  directives. The return function takes a collection, destructures it
  per m, and returns a map of the result(s).

  If m has exactly one directive, the result is the value that
  directive would yield. If m has more than one directive, then it
  returns a map of directives to values.

  As in destructuring, :missing controls whether missing required keys
  throw or are collected.

  While a map destructuring form may and sometimes must include
  bindings, selector doesn't produce bindings, thus ignoring the
  associated directive names.

  Throws an exception if the argument is not a map.
β€’ https://clojure.atlassian.net/browse/CLJ-2979 selector Transient map performance This release contains many performance improvements around the use of maps, particularly transient maps, and functions like into, merge, and merge-with. Transient array maps now grow larger before transitioning to transient hash maps (similar to recent persistent array map changes), and can be loaded significantly faster. The increased use of persistent and transient array maps will also make many more call sites inside the Clojure runtime monomorphic, encouraging greater JVM inlining. For more info see https://clojure.atlassian.net/browse/CLJ-2980. Improvements and bug fixes β€’ https://clojure.atlassian.net/browse/CLJ-2939 QualifiedMethodExpr field overload does not propagate field type - fixed β€’ https://clojure.atlassian.net/browse/CLJ-1468 merge-deep, merge-deep-with - added recursive merge fns β€’ https://clojure.atlassian.net/browse/CLJ-2981 merge - added tests β€’ https://clojure.atlassian.net/browse/CLJ-2623 tagged literals and Java constructors - allow full unicode for first char β€’ https://clojure.atlassian.net/browse/CLJ-2623 tagged-literal equality - check tag before form for performance β€’ https://clojure.atlassian.net/browse/CLJ-2842 defn - does not needlessly initialize class when defn returns class β€’ https://clojure.atlassian.net/browse/CLJ-2896 clojure.zip/next - only call zip/up once (not 3x) β€’ https://clojure.atlassian.net/browse/CLJ-2915 ExceptionInfo - added to default imports, so no import or qualification needed

πŸ‘€ 2
2
πŸŽ‰ 8

ayyyy you included clj-2623 and clj-2896! my patches!!!!

πŸ’ͺ 8
πŸ’ͺ🏻 1
πŸ’ͺ🏼 1
πŸ’ͺ🏽 2
πŸŽ‰ 20

Highlights from this release: Interactive Repl Launcher - Add more dialects (total of 20) with in-1 installer http://github.com/paintparty/jus/issues/21 - Navigate user back to just after repl session http://github.com/paintparty/jus/issues/17 - Hand off missing REPL installation to copyable in-1 snippets. New Project Wizard - Auto-navigate user to newly created project dir after successful New Project Wizard flow exits TUI http://github.com/paintparty/jus/issues/19 - Show composite path for new project location below menu list http://github.com/paintparty/jus/issues/22 Community Resources - Add official clj Cheatsheat to community resourceshttp://github.com/paintparty/jus/issues/25 - Add various jolt and jank commons links to resources http://github.com/paintparty/jus/issues/18 UI - Add padding block + inline padding start to all menu lists by default. http://github.com/paintparty/jus/issues/26 - Fix β€œdown more / up more” scrolling http://github.com/paintparty/jus/issues/14 CLI - Add --version option http://github.com/paintparty/jus/issues/14 Deps - Bump deps-new to 0.14.1. Minimum bb version for generated projects is 1.13.222. http://github.com/paintparty/jus/issues/24 Misc - Add β€œAbout” page http://github.com/paintparty/jus/issues/11 - Extract the interactive Babashka task picker into the independently installable bbtl application. http://github.com/paintparty/jus/issues/23. <br>Running jus tasks now directs the user to install bbtl:

To list and run bb.edn tasks, install bbtl:
bbin install io.github.paintparty/bbtl

Clojurists Together Foundation is pleased to announce the recipients of our Q3 2026 funding: https://www.clojuriststogether.org/news/q3-2026-funding-announcement/. $9,000 USD β€’ Jeremiah Coyle: Documentation and Design Services for Key Community Projects: Malli, Squint, Flowstorm, ECA β€’ Ethan Miller: Tablecloth $2,000 USD β€’ John Newman: EVE (Extended Value Encoding) β€’ Peter Toausannis: Finish Carmine 4 Congratulations all! We're looking forward to your project updates!

πŸ”’ 1
9
4
6
2
❀️ 2
5
4
πŸŽ‰ 26