Skip to content

Releases: Stranger6667/jsonschema-rs

[Rust] Release 0.22.2

04 Oct 14:28
rust-v0.22.2
f3cd6fe
Compare
Choose a tag to compare

Fixed

  • ECMAScript 262 regex support.

Performance

  • Speedup json-pointer and relative-json-pointer formats validation.

[Python] Release 0.22.2

04 Oct 14:38
python-v0.22.2
c9eac5c
Compare
Choose a tag to compare

Fixed

  • ECMAScript 262 regex support.

Performance

  • Speedup json-pointer and relative-json-pointer formats validation.

[Rust] Release 0.22.1

04 Oct 14:24
rust-v0.22.1
aa1540a
Compare
Choose a tag to compare

Fixed

  • Removed dbg! macro.

[Rust] Release 0.22.0

03 Oct 17:44
rust-v0.22.0
489a683
Compare
Choose a tag to compare

Changed

  • Extend email validation. #471
  • BREAKING: Custom retrievers now receive &Uri<&str> instead of &UriRef<&str>
  • Bump once_cell to 1.20.
  • Bump regex to 1.11.

Fixed

  • time format validation (leap seconds and second fractions).
  • duration format validation.
  • Panic on root $id without base. #547
  • hostname format validation (double dot).
  • idn-hostname format validation. #101

Performance

  • Faster building of a validator.
  • hostname, date, time, date-time, and duration formats validation.
  • Cache regular expressions for pattern. #417

[Python] Release 0.22.1

04 Oct 14:24
python-v0.22.1
ff196ed
Compare
Choose a tag to compare

Fixed

  • Removed dbg! macro.

[Python] Release 0.22.0

03 Oct 17:47
python-v0.22.0
eaebd88
Compare
Choose a tag to compare

Changed

  • Extend email validation. #471

Fixed

  • time format validation (leap seconds and second fractions).
  • duration format validation.
  • Panic on the root $id without a base. #547
  • hostname format validation (double dot).
  • idn-hostname format validation. #101

Performance

  • Faster building of a validator.
  • hostname, date, time, date-time, and duration formats validation.
  • Cache regular expressions for pattern. #417

[Python] Release 0.21.0

30 Sep 12:40
python-v0.21.0
b13fabb
Compare
Choose a tag to compare

Added

  • $anchor support.
  • $recursiveRef & $recursiveAnchor support in Draft 2019-09.
  • $dynamicRef & $dynamicAnchor support in Draft 2020-12.

Changed

  • BREAKING: Treat $ref as URI, not URL and additionally normalize them. #454
  • BREAKING: Resolve all non-recursive references eagerly.
  • BREAKING: Disallow use of fragments in $id. #264

Fixed

  • Infinite recursion in unevaluatedProperties. #420
  • Cross-draft validation from newer to older ones.
  • Changing base URI in folder.
  • Location-independent identifier in remote resource.
  • Missing some format validation for Draft 2020-12.
  • Incomplete iri & iri-reference validation.

Performance

  • Faster validation for uri, iri, uri-reference, and iri-reference formats.

[Rust] Release 0.21.0

29 Sep 14:37
rust-v0.21.0
c4d5505
Compare
Choose a tag to compare

Important: This release brings a complete rework of reference resolving which deprecates some older APIs.
While backward compatibility is maintained for now, users are encouraged to update their code. See the Migration Guide for details on transitioning to the new API.

Added

  • $anchor support.
  • $recursiveRef & $recursiveAnchor support in Draft 2019-09.
  • $dynamicRef & $dynamicAnchor support in Draft 2020-12.

Changed

  • BREAKING: Treat $ref as URI, not URL and additionally normalize them. #454
  • BREAKING: Resolve all non-recursive references eagerly.
  • BREAKING: Disallow use of fragments in $id. #264

Deprecated

  • SchemaResolver trait and SchemaResolverError in favor of a simpler Retrieve that works with Box<dyn std::error::Error>.
    In turn, it also deprecates ValidationOptions::with_resolver in favor of ValidationOptions::with_retriever
  • ValidationOptions::with_document in favor of ValidationOptions::with_resource.

Fixed

  • Infinite recursion in unevaluatedProperties. #420
  • Cross-draft validation from newer to older ones.
  • Changing base URI in folder.
  • Location-independent identifier in remote resource.
  • Missing some format validation for Draft 2020-12.
  • Incomplete iri & iri-reference validation.

Performance

  • Faster validation for uri, iri, uri-reference, and iri-reference formats.

[Rust] Release 0.20.0

18 Sep 20:56
rust-v0.20.0
81b9da3
Compare
Choose a tag to compare

Important: This release includes several deprecations and renames. While backward compatibility is maintained for now, users are encouraged to update their code. See the Migration Guide for details on transitioning to the new API.

Added

  • New draft-specific modules for easier version-targeted validation:
    • jsonschema::draft4
    • jsonschema::draft6
    • jsonschema::draft7
    • jsonschema::draft201909
    • jsonschema::draft202012
      Each module provides new(), is_valid(), and options() functions.
  • jsonschema::options() function as a shortcut for jsonschema::Validator::options(), that allows for customization of the validation process.

Changed

  • Make Debug implementation for SchemaNode opaque.
  • Make jsonschema::validator_for and related functions return ValidationError<'static> in their Err variant.
    This change makes possible to use the ? operator to return errors from functions where the input schema is defined.

Deprecated

  • Rename CompilationOptions to ValidationOptions for clarity.
  • Rename JSONSchema to Validator for clarity. #424
  • Rename JSONPointer to JsonPointer for consistency with naming conventions. #424
  • Rename jsonschema::compile to jsonschema::validator_for.
  • Rename CompilationOptions::compile to ValidationOptions::build.

Old names are retained for backward compatibility but will be removed in a future release.

Fixed

  • Location-independent references in remote schemas on drafts 4, 6, and 7.

[Python] Release 0.20.0

18 Sep 21:07
python-v0.20.0
3c84921
Compare
Choose a tag to compare

Added

  • New draft-specific validator classes: Draft4Validator, Draft6Validator, Draft7Validator, Draft201909Validator, and Draft202012Validator.
  • validator_for function for automatic draft detection.

Changed

  • The JSONSchema class has been renamed to Validator. The old name is retained for backward compatibility but will be removed in a future release.

Deprecated

  • The JSONSchema class is deprecated. Use the validator_for function or draft-specific validators instead.
    You can use validator_for instead of JSONSchema.from_str.
  • Constants jsonschema_rs.DRAFT4, jsonschema_rs.DRAFT6, jsonschema_rs.DRAFT7, jsonschema_rs.DRAFT201909, and jsonschema_rs.DRAFT202012 are deprecated in favor of draft-specific validator classes.

Fixed

  • Location-independent references in remote schemas on drafts 4, 6, and 7.