Skip to content

[Rust] Release 0.52.0

Choose a tag to compare

@github-actions github-actions released this 26 Aug 22:28
· 275 commits to master since this release
c308025

Added

  • Evaluation::is_valid.
  • Location::is_empty.
  • Display for ErrorEntry.
  • ValidationOptions::offline and canonical::CanonicalizeOptions::offline, refusing to fetch references outside the registry.
  • idna Cargo feature, enabled by default, gating the idn-hostname and idn-email formats. #1313
  • CLI: the --offline flag of jsonschema validate, jsonschema bundle and jsonschema dereference.

Changed

  • ValidationErrors' Display gained the instance path of each error.
  • BREAKING: With default-features = false, the idn-hostname and idn-email formats now require the new idna feature. Without it they are unknown formats, which are accepted by default, or rejected at build time under should_ignore_unknown_formats(false). Add idna to the feature list to keep the previous behavior.

Fixed

  • Canonicalization not idempotent where a patternProperties $ref matches a key properties names.
  • is_valid disagreeing with validate, iter_errors, and evaluate on a schema that reaches its own $ref twice, one of them under not.
  • format: email and format: idn-email rejecting an empty quoted string as the local part (it should be accepted).
  • format: email and format: idn-email rejecting an address literal whose IPv6: tag is not written in that exact case (the tag is case-insensitive).
  • format: email accepting a non-ASCII character in the local part (it should be rejected).
  • ValidationOptions::with_draft gating keywords on the vocabularies of the $schema it overrides, so the validator accepted every instance.

Performance

  • iter_errors collects into a single buffer instead of allocating and re-boxing an iterator at every schema node.