Releases: taoensso/truss
v2.0.0 (2025-02-27)
- 📦 Dependency: on Clojars
- Versioning: Break Versioning
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 🙏
CHANGES since v1.x
Deprecated assertion API
set-error-fn!
andwith-error-fn
have been deprecated. Please use*failed-assertion-handler*
instead.get-data
andwith-data
have been deprecated. Please use*ctx*
instead.
Changes to assertion ex-data
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)
- You can customise ex-data by modifying
*failed-assertion-handler*
. - You can keep the old ex-data by setting the
taoensso.truss.legacy-assertion-ex-data
JVM property totrue
.
New since v1.x
-
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
,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!
1.11.0 (2023-07-31)
1.10.1 (2023-07-15)
This is a hotfix release, please upgrade if you're using 1.10.0
.
Fixes since 1.10.0
- 46b2f69 [fix] Prevent
get-source
from throwing for JAR resources
1.10.0 (2023-07-07)
This is a minor feature release, and should be a non-breaking upgrade.
New since 1.9.0
1.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.
Since 1.8.0
v1.8.0 - 2022 Dec 13
[com.taoensso/truss "1.8.0"]
This is a maintenance release. Should be non-breaking.
See here for a tip re: general recommended steps when updating any Clojure/Script dependencies.
Since v1.7.2
v1.7.2 - 2022 Nov 20
[com.taoensso/truss "1.7.2"]
This is a maintenance release. Changes may be BREAKING for some users, see relevant commits referenced below for details.
See here for a tip re: general recommended steps when updating any Clojure/Script dependencies.
Changes since v1.6.0
v1.6.0 - 2020 Aug 29
[com.taoensso/truss "1.6.0"]
Minor feature release. Should be non-breaking.
See here for a tip re: general recommended steps when updating any Clojure/Script dependencies.
Identical to 1.6.0-RC1
.
New since 1.5.0
- [New] Add special cardinality predicates:
:n=
,:n>=
,:n<=
Changes since 1.5.0
- [#9] Return verbatim input/s on successful :in
- Micro optimization: avoid unnecessary vector creation for multi-x
have?
Fixes since 1.5.0
have?
should return true during elision
v1.6.0-RC1 - 2019 Mar 22
[com.taoensso/truss "1.6.0-RC1"]
- [New] Add special cardinality predicates:
:n=
,:n>=
,:n<=
- [Change] [#9] Return verbatim input/s on successful :in
- [Fix]
have?
should return true during elision - [Implementation] Micro optimization: avoid unnecessary vector creation for multi-x
have?