This project uses Break Versioning.
v2.0.0
(2025-02-27)This is a major rewrite of Truss that expands the library's scope, and modernises its implementation. There are breaking changes to the ex-data produced by the 4x assertion macros (have
, have?
, have!
, have!?
) in Truss and Encore.
This is a non-breaking update for folks not using assertion ex-data.
Apologies for any inconvenience! - Peter Taoussanis 🙏
set-error-fn!
and with-error-fn
have been deprecated. Please use *failed-assertion-handler*
instead.get-data
and with-data
have been deprecated. Please use *ctx*
instead.The ex-data included in assertion failures has changed!
Old ex-data:
:pred ------ (Unchanged) Predicate form
:arg ------- (Unchanged) {:keys [form value type]}
:dt -------- `js/Error` or `java.util.Date`
:loc ------- {:keys [ns line column]}
:data ------ {:keys [arg dynamic]}
:env ------- {:keys [elidable? *assert*]}
:msg ------- String
:err ------- Error thrown during pred check
New ex-data:
:pred ------ (Unchanged) Predicate form
:arg ------- (Unchanged) {:keys [form value type]}
:inst ------ `js/Error` or `java.time.Instant`
:ns -------- Namespace string
:coords ---- [line column]
:data ------ Optional `:data` value (replaces :data/arg)
:truss/ctx - `truss/*ctx*` value (replaces :data/dynamic)
:msg ------- REMOVED (use `ex-message` instead)
:error ----- REMOVED (use `ex-cause` instead)
*failed-assertion-handler*
.taoensso.truss.legacy-assertion-ex-data
JVM property to true
.Significant performance and expansion size improvements to the assertions API (have
, have?
, have!
, have!?
). Esp. useful for ClojureScript codebases that use many assertions.
Added new contextual exceptions API: ex-info
, *ctx*
, set-ctx!
, with-ctx
, with-ctx+
.
Added new Error utils imported (moved) from Encore: error?
, try*
, catching
, matching-error
, throws
, throws?
, catching-rf
, catching-xform
, unexpected-arg!
.
v1.12.0
(2024-09-07)📦 Available on Clojars, uses Break Versioning.
This is a non-breaking minor maintenance release that improves some docstrings and updates some internal code. Thank you!
v1.11.0
(2023-07-31)This is a maintenance + feature release, and should be a non-breaking upgrade.
v1.10.1
(2023-07-15)cljdoc.edn
config (improve cljdoc output)v1.10.1
(2023-07-15)v1.10.1
(2023-07-15)This is a hotfix release, please upgrade if you're using v1.10.0
.
v1.10.0
(2023-07-07)get-source
from throwing for JAR resourcesv1.10.0
(2023-07-07)This is a minor feature release, and should be a non-breaking upgrade.
v1.9.0
(2023-03-15):column
and :file
to :loc
data for invariant violationsv1.9.0
(2023-03-15)[com.taoensso/truss "1.9.0"]
This is a feature release. Should be non-breaking. See here for a tip re: general recommended steps when updating any Clojure/Script dependencies.
v1.8.0
(2022-12-13):form
info to invariant violations:instance?
, :satisfies?
special predicate formsSee here for earlier releases.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close