Clojure 1.9.0-alpha16 is now available.
Try it via
- Leiningen: [org.clojure/clojure "1.9.0-alpha16"]
1.9.0-alpha16 includes the following changes since 1.9.0-alpha15:
- The namespaces clojure.spec, clojure.spec.gen, clojure.spec.test have been moved to the external library spec.alpha which Clojure includes via dependency
- These namespaces have been changed and now have an appended ".alpha": clojure.spec.alpha, clojure.spec.gen.alpha, clojure.spec.test.alpha
- All keyword constants in clojure.spec (like :clojure.spec/invalid) follow the same namespace change (now :clojure.spec.alpha/invalid)
- spec-related system properties related to assertions did NOT change
- The specs for clojure.core itself in namespace clojure.core.specs have been moved to the external library core.specs.alpha which Clojure now depends on
- The clojure.core.specs namespace has changed to clojure.core.specs.alpha. All qualified spec names in that namespace follow the same namespace change (most people were not using these directly)
In most cases, you should be able to update your usage of Clojure 1.9.0-alphaX to Clojure 1.9.0-alpha16 by:
1. Updating your Clojure dependency to [org.clojure/clojure "1.9.0-alpha16"] - this will automatically pull in the 2 additional downstream libraries
2. Changing your namespace declarations in namespaces that declare or use specs to:
(:require [clojure.spec.alpha :as s]
[clojure.spec.gen.alpha :as gen]
[clojure.spec.test.alpha :as stest])
Also see the prior announcement related to these changes: