Skip to content

Releases: metosin/malli

0.20.1

06 Mar 11:18
1365619

Choose a tag to compare

0.20.1 (2026-03-06)

  • FIX: don't throw in cljs-collect! on clojurescript 1.12 #1263
  • Experimental :validate schema for outputting custom errors #975
  • Documentation improvements:
    • Document mutable registry caveats #1244
    • Document that malli.json-schema complies with JSON Schema draft 2020-12 #1248
  • Performance improvements:
    • Optimize -map-schema #1242
    • Compile recursive functions for recursive validators #1245
    • Reuse recursive ref-transformers #1250
  • Updated dependencies:
Upgraded borkdude/edamame '1.4.32' to '1.5.37' in deps.edn.
Upgraded org.clojure/test.check '1.1.1' to '1.1.3' in deps.edn.

0.20.0 (2025-11-17)

17 Nov 07:57

Choose a tag to compare

  • Optimize -parent-child-transformer #1239
  • Robust :and parser, add :andn #1182
    • Correctly handle recursive schemas #1234
  • Add JDK 25 to CI #1233
  • Don't encode nil as "" for malli.experimental.time schemas #1221

0.20.0-alpha3 (2025-10-31)

31 Oct 10:37

Choose a tag to compare

Pre-release

Applies a fix to 0.20.0-alpha2 which caused a stack overflow in some cases

  • Robust :and parser, add :andn #1182
    • Correctly handle recursive schemas #1234
  • Add JDK 25 to CI #1233

0.20.0-alpha2 (2025-10-14)

14 Oct 05:28

Choose a tag to compare

Pre-release

This is a pre-release to gather feedback for a potentially breaking change. The unspecified behavior of transforming parsing and unparsing has been specified which may affect users' workflows. See more details in:

  • Robust :and parser, add :andn #1182

0.20.0-alpha1 (2025-10-14)

14 Oct 05:15

Choose a tag to compare

Pre-release
Update changelog

0.19.2

06 Oct 05:58

Choose a tag to compare

0.19.2 (2025-10-06)

  • Performance improvements in malli.transform/transformer #1220 and malli.core/-intercepting #1219
  • malli.clj-kondo/emit! saves to .clj-kondo/imports now as recommended by clj-kondo. #1216
  • malli.clj-kondo/emit! no longer deletes anything automatically. Use malli.clj-kondo/clean! to clean up.
  • Add malli.core/old-parse-format for converting output of parse to the pre-0.18.0 format. #1223
  • FIX: Malli dev-mode no longer throws java.lang.UnsupportedOperationException when printing out an #inst of type java.sql.Date #1214
  • Updated dependencies:
borkdude/edamame '1.4.30' to '1.4.32'
fipp '0.6.27' to '0.6.29'

0.19.1

09 Jun 09:11

Choose a tag to compare

0.19.1 (2025-06-09)

  • Technical release

0.19.0

09 Jun 08:57

Choose a tag to compare

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.
  • 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

12 May 10:59

Choose a tag to compare

0.18.0 (2025-05-12)

  • BREAKING Output of parse now uses new malli.core.Tag and malli.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 :refs inside :maps #1145
  • FIX: generator for empty? schema #1196

0.18.0-alpha1

12 May 10:53
c5d1963

Choose a tag to compare

0.18.0-alpha1 Pre-release
Pre-release

This is a test release to test our release automation.