Skip to content

v0.17.0

Choose a tag to compare

@phcurado phcurado released this 30 Jan 13:56
· 30 commits to main since this release

What's Changed

  • add unrecognized_keys for Zoi.map/2, Zoi.object/2, Zoi.keyword/2, and Zoi.struct/3 by @phcurado in #146 and #147
    this new option supports:
    • :strip (default) - removes unrecognized keys from the output
    • :error - returns an error when unrecognized keys are present
    • :preserve - keeps unrecognized keys in the output without validation (not available for structs)
    • {:preserve, {key_schema, value_schema}} - preserves unrecognized keys and validates them against the given schemas (not available for structs)
  • Add deprecated option fot all types by @phcurado in #146 and #148
  • Zoi.extend/3 now uses options from schema1 instead of merging options from both schemas by @phcurado in #148
  • improve deprecated field stacktrace by @phcurado in #149
  • add deprecation feature in json-schema by @phcurado in #150
  • Improved Zoi.Describe.Encoder output format:
    • Enum now uses | separator instead of "one of"
    • Union now uses | separator instead of "or"
    • Tuple now uses {X, Y} format instead of "tuple of X, Y values"

Full Changelog: v0.16.1...v0.17.0