Clojure 1.9


Clojure 1.9 is now available! 

Clojure 1.9 introduces two major new features: integration with spec and command line tools.

spec (rationaleguide) is a library for describing the structure of data and functions with support for:

  • Validation
  • Error reporting
  • Destructuring
  • Instrumentation
  • Test-data generation
  • Generative test generation
  • Documentation

Clojure integrates spec via two new libraries (still in alpha):

This modularization facilitates refinement of spec separate from the Clojure release cycle.

The command line tools (getting startedguidereference) provide:

  • Quick and easy install
  • Clojure REPL and runner
  • Use of Maven and local dependencies
  • A functional API for classpath management (tools.deps.alpha)

The installer is available for Mac developers in brew, for Linux users in a script, and for more platforms in the future.

For more information, see the complete list of all changes in Clojure 1.9 for more details.


Thanks to all of the community members who contributed to Clojure 1.9 (first time contributors in bold):

Adam Clements
Andy Fingerhut
Brandon Bloom
Cameron Desautels
Chad Taylor
Chris Houser
David Bürgin
Eli Lindsey
Gerrit Jansen Van Vuuren
Ghadi Shayban
Greg Leppert
Jason Whitlark
Johan Mena
Jozef Wagner
Lee Yen-Chin
Matthew Boston
Michael Blume
Michał Marczyk
Nicola Mometto
Ruslan Al-Fakikh
Steffen Dienst
Steve Miner
Yegor Timoshenko
Zhuang XiaoDan