Repository navigation
v0.4.0
Pre-release
Pre-release
🚀 Features
- downgrader: Turn a propertyNames enum into one property per name in 3.1 to 3.0 - by @dinwwwh in #100 (b4505)
🐞 Bug Fixes
- downgrader:
- Keep a single schema type where it was written in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #67 (f18e8)
- Loosen a
$refkept in 3.0 whose target lost a restriction - by @dinwwwh and Claude Opus 5.5 in #69 (2cad8) - Mark Zod base64 strings with
format: "byte"in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #71 (6a1d8) - Keep null-only schemas nullable in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #72 (de08c)
- Drop Zod's multi-mime file
anyOfin 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #73 (b9173) - Type a typeless
constfrom its value in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #74 (e8550) - Leave a const of a non-plain object untyped in 3.0 - by @dinwwwh and Claude Opus 5.5 in #77 (a5d6c)
- Give null its own anyOf branch for several types in 3.0 - by @dinwwwh and Claude Opus 5.5 in #78 (f9427)
- Ignore keys holding undefined in 3.0 media type and propertyNames checks - by @dinwwwh and Claude Opus 5.5 in #80 (7cd17)
- Merge an anyOf of one type and null into nullable in 3.1 to 3.0 - by @dinwwwh in #87 (30a42)
- Make an anyOf of a null-rejecting branch and null a oneOf in 3.1 to 3.0 - by @dinwwwh in #88 (0321f)
- Keep a nullable anyOf that a $ref points into in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #92 (d14fb)
- Stop recursive $refs into part of an inlined target from making circular output - by @dinwwwh and Claude Opus 5.5 in #93 (c2c70)
- Clear the 3.1 to 3.0 nullable-merge lists when conversion throws - by @dinwwwh and Claude Opus 5.5 in #99 (ba103)
- Merge an anyOf with null twice, as Effect writes nullish, in 3.1 to 3.0 - by @dinwwwh in #102 (38195)
- Give patternProperties schemas additionalProperties: true in 3.0 - by @dinwwwh in #101 (7475a)
- Merge a oneOf with null, as typia and Litestar write it, in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #105 (8cdcd)
- Give a tuple with an any-item rest
items: {}in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #107 (d7d47) - Keep a null pair when properties and additionalProperties split across it in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #109 (d287f)
- Keep a boolean exclusive bound beside a numeric one in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #110 (8f340)
- Remove an anyOf of null and an accept-all branch in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #111 (f0a9a)
- Merge a nullable nullish value into one schema in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #112 (131f6)
- Keep only the $ref of an anyOf with null when its target admits null in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #113 (2b8c5)
- Remove an anyOf of null and a described unknown in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #114 (6c84e)
- Give a union of literals the type of its branches in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #115 (b3c01)
- Give a typeless enum the type its values share in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #116 (8a172)
- Merge a union of literals into one enum in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #117 (344ca)
- Merge a described nullable whose branches repeat the description in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #119 (19338)
- Write a union of scalar types as oneOf in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #120 (8025c)
- Write tuple item unions and Effect numbers as oneOf in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #121 (88468)
- Join a nested scalar oneOf into the outer one in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #124 (6f60e)
- Join a scalar oneOf with annotations into the outer one in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #125 (40947)
- Make a nullable $ref with siblings a oneOf in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #126 (35d50)
- Turn a union of scalars and an array into oneOf in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #127 (87dc6)
- Keep one null branch in a scalar oneOf in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #128 (4a2f8)
- Merge the literals of each type in a mixed-type union in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #135 (b10f7)
- Keep a oneOf whose branches cannot overlap in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #139 (bb667)
- Remove a discriminator over
$refs into$defsin 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #140 (0c541)
- types:
🏎 Performance
- downgrader:
- Serialize a const once when checking it against its enum - by @dinwwwh in #63 (88dc4)
- Skip decoding and unescaping plain
$refs, fast path plain objects - by @dinwwwh and Claude Opus 5.5 in #85 (70e28) - Look up a kept $ref's target only for a null anyOf pair in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #89 (8ad56)
- Build map output directly instead of via Object.fromEntries - by @dinwwwh and Claude Opus 5.5 in #94 (ee6d2)
- Walk object keys without Object.entries - by @dinwwwh and Claude Opus 5.5 in #106 (0b191)
- Read anyOf and oneOf by name when queuing unions in 3.1 to 3.0 - by @dinwwwh and Claude Opus 5.5 in #123 (67695)