https://clojure.org/news/2022/03/22/clojure-1-11-0 Clojure logo Clojure OverviewReferenceAPIReleasesGuidesCommunityDevNews Share your thoughts in the 2022 State of Clojure Survey! [ ] [Search] Clojure 1.11.0 release Clojure Deref (Mar 20, 2022) Clojure Deref (Mar 11, 2022) Clojure Deref (Mar 4, 2022) Clojure Deref (Feb 28, 2022) State of Clojure 2022 Survey Clojure Deref (Feb 18, 2022) Clojure Deref (Feb 14, 2022) Clojure Deref (Feb 4, 2022) Clojure Deref (Jan 28, 2022) Clojure Deref (Jan 21, 2022) Clojure Deref (Jan 14, 2022) Clojure Deref (Jan 7, 2022) Clojure Deref (Dec 23, 2021) Clojure Deref (Dec 17, 2021) Clojure Deref (Dec 10, 2021) Clojure Deref (Dec 2, 2021) Clojure Deref (Nov 24, 2021) Clojure Deref (Nov 19, 2021) Clojure Deref (Nov 12, 2021) Clojure Deref (Nov 5, 2021) Clojure Deref (Oct 29, 2021) Clojure Deref (Oct 22, 2021) Clojure Deref (Oct 14, 2021) Clojure Deref (Oct 8, 2021) Clojure Deref (Sept 24, 2021) Clojure Deref (Sept 17, 2021) Clojure Deref (Sept 10, 2021) Clojure Deref (Sept 3, 2021) Clojure Deref (Aug 27, 2021) Clojure Deref (Aug 20, 2021) Clojure Deref (Aug 13, 2021) Clojure Deref (July 30, 2021) Clojure Deref (July 23, 2021) Clojure Deref (July 16, 2021) Source Libs and Builds Clojure Deref (July 9, 2021) Clojure Deref (July 2, 2021) Clojure Deref (June 25, 2021) Clojure Deref (June 18, 2021) Clojure Deref (June 11, 2021) Clojure Deref (June 4, 2021) State of Clojure 2021 Results Keyword argument functions now also accept maps Clojure 1.10.3 release Clojure 1.10.2 release State of Clojure 2021 Survey Cognitect Joins Nubank! Clojure Homebrew Tap State of Clojure 2020 Results State of Clojure 2020 Survey Clojure Forum Clojure 1.10.1 release JIRA Migration State of Clojure 2019 Results State of Clojure 2019 Survey Clojure 1.10 release State of Clojure 2018 Results Git Deps for Clojure Clojure 1.9 is now available State of Clojure 2016 Results Introducing clojure.spec State of Clojure 2015 survey results Clojure 1.8 is now available Welcome to the new clojure.org! Clojure 1.7 is now available Transducers are Coming Clojure core.async Channels Anatomy of a Reducer Reducers - A Library and Model for Collection Processing Clojure Governance and How It Got That Way Introducing ClojureScript Clojure 1.11.0 release Clojure 1.11.0 release 22 March 2022 Alex Miller Clojure 1.11 provides new syntax for keyword argument invocation, namespace aliasing without loading, a new clojure.math namespace, and many additional bug fixes and enhancements. Keyword arguments are optional trailing variadic arguments of the form (f akey aval bkey bval ... ). Invoking functions with keyword arguments is convenient for people to write, but keyword args are not collections so they are hard to flow between functions. In Clojure 1.11, functions taking keyword arguments can now be passed a trailing map instead of or in addition to and following the key/value pairs. When a lone map is passed, it is used for destructuring, else the trailing map is added to the key/value pair map by conj. This change makes keyword arg functions more convenient for programmatic use. Spec (and other libs) rely on qualified keywords as spec names. Namespace aliasing in ns makes long names shorter but required namespaces to exist and be loaded. In Clojure 1.11, require adds a new option :as-alias, which is like :as but does not require the namespace to exist or load. The JDK package java.lang.Math provides access to many useful math functions. Clojure previously relied on using these via interop, but this had issues with discoverability, primitive performance, higher order application, and portability. The new clojure.math namespace provides wrapper functions for the methods available in java.lang.Math for long and double overloads with fast primitive invocation. Additionally, a number of functions have been added to clojure.core: abs NaN? infinite? parse-double parse-long parse-boolean parse-uuid random-uuid update-keys update-vals and iteration. Detailed changelog See the change log for a complete list of all changes in Clojure 1.11.0. Contributors Thanks to all the community members who contributed patches to Clojure 1.11: * Alexander Yakushev * Ambrose Bonnaire-Sergeant * Arne Brasseur * Ghadi Shayban * Howard Lewis Ship * Hugo Duncan * Jonathan Johnston * Keyhan Vakil * Marc O'Morain * Michiel Borkent * Nikita Prokopov * Paula Gearon * Steve Miner Community Resources Contributing Companies Site Legal License Privacy Policy Documentation Overview Reference API Guides Libraries & Tools Updates News Events ETC ClojureTV Books Swag Code Releases Source ClojureScript ClojureCLR Copyright 2008-2021 Rich Hickey | Privacy Policy Logo & site design by Tom Hickey Published 2022-03-22 Update this page