Skip to content

Releases: Stranger6667/jsonschema

[Ruby] Release 0.44.1

03 Mar 19:29
ruby-v0.44.1
e06c794

Choose a tag to compare

Fixed

  • hostname format now applies legacy RFC 1034 semantics in Draft 4/6 and keeps IDNA A-label validation in Draft 7+.

[Python] Release 0.44.1

03 Mar 19:10
python-v0.44.1
5020204

Choose a tag to compare

Fixed

  • hostname format now applies legacy RFC 1034 semantics in Draft 4/6 and keeps IDNA A-label validation in Draft 7+.

[Ruby] Release 0.44.0

02 Mar 08:12
ruby-v0.44.0

Choose a tag to compare

Added

  • Canonical::JSON.to_string(object) for canonical JSON serialization (stable key ordering and numeric normalization), useful for deduplicating equivalent JSON Schemas.

Fixed

  • Do not produce annotations for non-string instances from contentMediaType, contentEncoding, and contentSchema keywords.

[Rust] Release 0.44.0

01 Mar 23:31
rust-v0.44.0
5f74106

Choose a tag to compare

Added

  • canonical::json::to_string(value) for canonical JSON serialization (stable key ordering and numeric normalization), useful for deduplicating equivalent JSON Schemas.

Fixed

  • Do not produce annotations for non-string instances from contentMediaType, contentEncoding, and contentSchema keywords.

[Python] Release 0.44.0

02 Mar 07:26
python-v0.44.0
23a9118

Choose a tag to compare

Added

  • canonical.json.to_string(object) for canonical JSON serialization (stable key ordering and numeric normalization), useful for deduplicating equivalent JSON Schemas.

Fixed

  • Do not produce annotations for non-string instances from contentMediaType, contentEncoding, and contentSchema keywords.
  • Crash when serializing strings with invalid UTF-8 (e.g., lone surrogates) during schema/instance conversion.
  • Crash when serializing dicts keyed by str enums whose value lookup raises an exception.
  • Crash when serializing enum instances whose value lookup raises an exception.
  • Reference leak when serializing enum instances repeatedly.

[Rust] Release 0.43.0

28 Feb 13:58
rust-v0.43.0
786fb21

Choose a tag to compare

Performance

  • Optimize pattern and patternProperties for ^(a|b|c)$ alternations via linear array scan.
  • Optimize ^\S*$ patterns by replacing regex with a direct ECMA-262 whitespace check.

Fixed

  • anyOf, format, unevaluatedProperties, and unevaluatedItems now correctly collect annotations per spec.

[Ruby] Release 0.43.0

28 Feb 15:54
ruby-v0.43.0

Choose a tag to compare

Added

  • validator_cls_for(schema) function to detect and return the appropriate validator class for a schema.

Fixed

  • anyOf, format, unevaluatedProperties, and unevaluatedItems now correctly collect annotations per spec.

Performance

  • Optimize pattern and patternProperties for ^(a|b|c)$ alternations via linear array scan.
  • Optimize ^\S*$ patterns by replacing regex with a direct ECMA-262 whitespace check.

[Python] Release 0.43.0

28 Feb 14:37
python-v0.43.0
2d01b4d

Choose a tag to compare

Added

  • validator_cls_for(schema) function to detect and return the appropriate validator class for a schema.

Fixed

  • anyOf, format, unevaluatedProperties, and unevaluatedItems now correctly collect annotations per spec.

Performance

  • Optimize pattern and patternProperties for ^(a|b|c)$ alternations via linear array scan.
  • Optimize ^\S*$ patterns by replacing regex with a direct ECMA-262 whitespace check.

[Rust] Release 0.42.2

26 Feb 14:23
rust-v0.42.2
eb099bb

Choose a tag to compare

Fixed

  • SWAR digit parser accepted bytes :? (0x3A–0x3F) as valid digits during date, time, and date-time format validation, potentially allowing malformed values to pass.

Performance

  • Extend pattern prefix optimization to handle escaped slashes (^\/) and exact-match patterns (^\$ref$).
  • Specialize enum for cases when all variants are strings.

[Ruby] Release 0.42.2

26 Feb 15:48
ruby-v0.42.2
c3aa71c

Choose a tag to compare

Changed

  • Custom keyword validation exceptions are now chained to the resulting ValidationError via cause, preserving the original exception class and message.

Fixed

  • SWAR digit parser accepted bytes :? (0x3A–0x3F) as valid digits during date, time, and date-time format validation, potentially allowing malformed values to pass.

Performance

  • Extend pattern prefix optimization to handle escaped slashes (^\/) and exact-match patterns (^\$ref$).
  • Specialize enum for cases when all variants are strings.