All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
0.9.0 - 2022-01-13
- Ability to reuse messages by defining specs in terms of other specs. See "Adding error messages" in the README for examples. Thanks
@mpenet
for the implementation! - New
undefmsg
function
0.8.10 - 2021-09-06
- Bug with displaying errors when
*print-length*
or*print-level*
is very small. Thanks@vemv
for the fix! - Bug with finding specs for unqualified keywords in
keys
spec
0.8.9 - 2021-02-11
0.8.8 - 2021-02-11
- Warnings when Expound is required in Babashka
0.8.7 - 2020-12-05
0.8.6 - 2020-10-01
0.8.5 - 2020-06-17
0.8.4 - 2019-12-31
0.8.3 - 2019-12-29
- Several boxed math warnings. Thanks
@vemv
for the fix!
- Instructions on how to handle instrumentation exceptions in the browser. Thanks
@mhuebert
for the example code!
0.8.2 - 2019-12-11
This release was made possible by Clojurists Together
- Bug with printing failures for
multi-spec
s. Unfortunately, I had to remove some output that was useful but not reliable in all cases - Bug with registering message for set-based specs
- Bug with duplicate custom messages in
alt
oror
specs
0.8.1 - 2019-11-30
- New documentation comparing
clojure.spec
messages to Expound messages
0.8.0 - 2019-11-24
- Bug printing specs with several
or
branches - Bug with over-expanding spec forms inside a table of keys
- Bug with incorrectly grouping independent problems in a
keys
spec. Thanks@kelvinqian00
for the fix!
expound
andexpound-str
now (optionally) accept the same options ascustom-printer
(e.g.(expound int? "" {:theme :figwheel-theme})
)
- New format for table of missing keys
0.7.2 - 2018-12-18
- Bugs with exceptions on specs that conform e.g.
s/keys*
ands/and
. Expound also now print messages for specs that useconform
for coercion. - ClassCastException when checking spec against sorted map
- Incompatibilities with the new
explain-data
format introduced in ClojureScript 1.10.439 andclojure.spec.alpha
0.2.176
- Replaced Codox docs with cljdoc for API docs
clojure.spec
dependency updated to 0.2.168- Dropped support for ClojureScript 1.9.562 and 1.9.946
- Deprecated
def
macro (usedefmsg
function instead)
0.7.1 - 2018-06-25
- If a problem has a value for
:expound.spec.problem/type
key,expound.alpha/problem-group-str
must be implemented for that value or Expound will throw an error.
0.7.0 - 2018-05-28
- Specs and docstrings for public API
- Codox site for documentation
- 3rd-party libraries can extend Expound by setting
:expound.spec.problem/type
on eachclojure.spec
problem and declaring adefmethod
to implement custom printing
0.6.0 - 2018-04-26
- Bug with extra whitespace when "Revelant specs" are not printed
- Optional colorized output i.e. "themes"
explain-results
andexplain-results-str
functions print human-optimized output forclojure.spec.test.alpha/check
results
0.5.0 - 2018-02-06
- Bug with displaying errors for
s/or
specs - Bug where "should be one of..." values didn't display correctly
- Optional error messages for predicates
0.4.0 - 2017-12-16
- Table of keywords and specs for missing keys
- Better error message for compound key clauses like
:req-un [(or ::foo ::bar)]
- Better error message for failures in
cat
specs
0.3.4 - 2017-11-19
- Bug with composing multi-specs in other specs
- Bug with explaining failures with NaN values
- Bug with printing specs which are anonymous functions
- Bug with set predicates on different branches of 'alt' or 'or' specs
0.3.3 - 2017-11-02
- Bug with non-function values that can be treated as functions
- Multiple bugs when reporting assertion failures
0.3.2 - 2017-10-29
- Bug where duplicate predicates were printed twice
- Bug with
fspec
specs
0.3.1 - 2017-09-26
0.3.0 - 2017-09-05
- Configurable printers
0.2.1 - 2017-08-16
0.2.0 - 2017-08-14
- Support for Orchestra instrumentation
- Pretty-print predicates
- Omit
clojure.core
andcljs.core
prefix when printing predicates
- Append newline to expound output
0.1.2 - 2017-07-22
0.1.1 - 2017-07-17
expound
andexpound-str
functions.