Releases: metosin/malli
Releases · metosin/malli
0.19.1
0.19.0
0.19.0 (2025-06-09)
- BREAKING FIX:
json-transformer
is now better at inferring en/decoders for:enum
and:=
. #1205- For example
[:enum 1 2 3]
gets encoded as a JSON number, not a string. - If you need the old behaviour, you can override the en/decoders using properties. See docs.
- For example
- Value generation:
:+
and:*
now support generator directives:gen/min
,:gen/max
as well as:min
and:max
schema directives #1208 - CLJS bundle size reduced #1211
- FIX:
:default/fn
now works in map entry properties in addition to schema properties #1209
0.18.0
0.18.0 (2025-05-12)
- BREAKING Output of
parse
now uses newmalli.core.Tag
andmalli.core.Tags
records for:orn
,:multi
,:altn
,:catn
etc. #1123 #1153 - BREAKING Swagger and JSON-Schema outputs now use
.
instead of/
(encoded as~1
) as the separator. #1183- This will only affect you if you rely on the exact name of the schema
- Docs: elaborate optional-keys and required-keys #1117
- JSON Schema for
:tuple
now uses"prefixItems"
#1151 - FIX:
:path
when explaining:ref
errors #1106 - FIX: don't instrument functions with primitive type hints (like
^double
), instead, emit a warning #1176 - FIX:
:map-of
and:map
decode now retain the input map type (eg.sorted-map
) #1189 - FIX: schemas and into-schemas are printed to the console and the REPL in CLJS the same way as they are in CLJ. #1186
- FIX:
:merge
and:union
now work with 1 child. With no children, throw a clearer error. #1147 - FIX:
default-value-transformer
for:ref
s inside:map
s #1145 - FIX: generator for
empty?
schema #1196
0.18.0-alpha1
This is a test release to test our release automation.
0.17.0
0.17.0 (8.12.2024)
- Don't output
:definitions nil
in swagger. #1134 - BREAKING:
:gen/fmap
property requires its schema to create a generator.- previous behavior defaulted to a
nil
-returning generator, even if the schema doesn't acceptnil
- use
:gen/return nil
property to restore this behavior
- previous behavior defaulted to a
- Support decoding map keys into keywords for
[:map
schemas injson-transformer
#1135 :not
humanizer #1138- FIX:
:seqable
generatesnil
when:min
is greater than 0 #1121 - FIX:
malli.registry/{mode,type}
not respected in Babashka #1124 - FIX:
:float
accepts doubles but never generates them #1132 - FIX:
:float
missing humanizer #1122 - Updated dependencies:
fipp/fipp '0.6.26' to '0.6.27'
0.16.3
0.16.3 (2024-08-05)
:->
added to default registry, see documentation.- New
:sequable
and:every
schemas #1041, see docs - Fix OOM error with infinitely expanding schema #1069
- Correctly form prop-less schemas that have map/nil as first child #1071
- Support min/max on uncountables like eductions #1075
- Fix clj-kondo can't parse config.edn written by
(malli.dev/start!)
#1083 - unstrument before instrumenting #1081
- Replace
.entryAt
with.valAt
during validation #1079 - Corrected DEPRECATED warning for
m/-simple-schema
#1077
0.16.2
0.16.2 (2024-06-30)
- Experimental
:->
for simpler function defintions (not available on default schema registry) #1027
[:-> :any] ; [:=> :cat :any]
[:-> :int :any] ; [:=> [:cat :int] :any]
[:-> [:cat :int] :any] ; [:=> [:cat [:cat :int]] :any]
[:-> a b c d :any] ; [:=> [:cat a b c d] :any]
;; guard property
[:-> {:guard (fn [[[arg] ret]] ...)} :string :boolean]
; [:=> [:cat :string] :boolean [:fn (fn [[[arg] ret]] ...)]]
0.16.1
0.16.0
0.16.0 (2024-04-20)
- BREAKING: minimum Java-version is now Java11
- allow changing prefix of json-schema $refs via option
:malli.json-schema/definitions-path
#1045 - Inline refs in non-
:body
swagger parameters #1044 - Fix flaky test #1040
- Utility to update entry properties:
mu/update-entry-properties
#1037 - Fix actions cache #1036
- Only humanize one of
:min
/:max
when different #1032 - Distinguish between symbols and strings in humanize #1031
- Fix
:map-of
:min
and unreachable generator, explain such-that failures #1029
0.14.0
- Better development-time tooling
- New
m/deref-recursive
to recursive deref all schemas (not:ref
s) - FIX: Malli generates incorrect clj-kondo spec for :fn schemas #836 via #987
- Support for Var references #985, see guide for details.
- BREAKING:
m/coerce
andm/coercer
throw::m/coercion
instead of::m/invalid-input
- New Guide for Reusable Schemas
- Less printing of Var instumentation
- BREAKING: qualified symbols are valid reference types #984
- Fixing
mt/strip-extra-keys-transformer
for recursive map encoding #963 - Support passing custom
:type
in into-schema opt for:map
and:map-of
#968 mu/path->in
works with:orn
,:catn
and:altn
.