jsonschema-rs/CHANGELOG.md

3.2 KiB

Changelog

Unreleased

0.3.0 - 2020-06-08

Added

  • JSONSchema Draft 4 support (except one optional case). #34
  • CI builds. #35 and #36
  • Implement specialized is_valid methods for all keywords.
  • Use rayon in items keyword validation.
  • Various clippy lints. #66
  • Debug implementation for JSONSchema and Resolver. #97
  • Default implementation for Draft.

Changed

  • Do not pin dependencies. #90
  • Use to_string instead of format!. #85
  • Cache compiled validators in $ref keyword. #83
  • Use bitmap for validation of multiple types in type keyword implementation. #78
  • Return errors instead of unwrap in various locations. #73
  • Improve debug representation of validators. #70
  • Reduce the number of match statements during compilation functions resolving.
  • Use expect instead of unwrap for known cases when it is known that the code won't panic.
  • Add specialized validators for all format cases.
  • Reuse DEFAULT_SCOPE during reference resolving.
  • Replace some Value::as_* calls with if let.
  • Inline all compile functions.
  • Optimize format keyword compilation by using static strings.
  • Optimize compilation of true, false and $ref validators.
  • Reuse parsed DEFAULT_ROOT_URL in JSONSchema::compile.
  • Avoid string allocation during scope parsing in JSONSchema::compile.
  • Refactor benchmark suite
  • Use BTreeSet in additionalProperties keyword during compilation to reduce the amount of copied data. #91

Fixed

  • Wrong implementation of is_valid for additionalProperties: false keyword case. #61
  • Possible panic due to type conversion in some numeric validators. #72
  • Precision loss in minimum, maximum, exclusiveMinimum and exclusiveMaximum validators. #84

0.2.0 - 2020-03-30

Added

  • Implement is_valid for various validators.
  • Implement Error and Display for CompilationError

Changed

  • Debug representation & error messages in various validators.
  • Make ErrorIterator Sync and Send.

Fixed

  • Return CompilationError on invalid input schemas instead of panic.

0.1.0 - 2020-03-29

  • Initial public release