Skip to content

Releases: Stranger6667/jsonschema

[Ruby] Release 0.42.0

15 Feb 00:35
ruby-v0.42.0
fd3fc53

Choose a tag to compare

Initial public release

[Rust] Release 0.42.0

14 Feb 17:26
rust-v0.42.0

Choose a tag to compare

Added

  • JsonType::as_str method for zero-allocation type name access.
  • ValidationErrorKind::keyword is now public.
  • tls-ring feature flag to opt into using ring as the TLS crypto provider instead of the default aws-lc-rs. #997
  • CLI: Support YAML (.yaml/.yml) instance files. #988

Changed

  • BREAKING: Default TLS crypto provider switched back to aws-lc-rs. Users who need ring can opt in via the tls-ring feature flag. This resolves potential conflicts with other libraries using aws-lc-rs. #997

Fixed

  • Panic when validating $ref targets that resolve to boolean schemas.

Performance

  • Cache formatted schema locations with OnceLock to avoid repeated formatting during evaluate().

[Python] Release 0.42.0

14 Feb 17:54
python-v0.42.0
0e54560

Choose a tag to compare

Fixed

  • Panic when validating $ref targets that resolve to boolean schemas.

Performance

  • Use FFI PyList_New + PyList_SetItem for array conversion to avoid reallocations.
  • Cache ValidationError, ReferencingError, and decimal.Decimal types to avoid repeated module imports.
  • Cache formatted schema locations to avoid repeated formatting during evaluate().
  • Use as_str instead of to_string for type names in validation errors to avoid allocations.

[Rust] Release 0.41.0

04 Feb 17:58
rust-v0.41.0
008405d

Choose a tag to compare

Performance

  • Replace regex-based uri-template format validation with a hand-rolled RFC 6570 parser.
  • Specialize items keyword for simple type schemas ({"type": "string"}, {"type": "number"}, etc.) to eliminate dynamic dispatch overhead.
  • Precompute regex matches on known properties.
  • Faster unevaluatedProperties validation via O(1) property lookup and short-circuit oneOf evaluation.
  • Use HashMap for large set of properties.
  • Lower HashMap threshold from 40 to 15 properties for faster property lookups.

[Python] Release 0.41.0

04 Feb 18:46
python-v0.41.0
9fef326

Choose a tag to compare

Changed

  • Update pyo3 to 0.28.
  • Remove unused pythonize dependency.

Performance

  • Replace regex-based uri-template format validation with a hand-rolled RFC 6570 parser.
  • Specialize items keyword for simple type schemas ({"type": "string"}, {"type": "number"}, etc.) to eliminate dynamic dispatch overhead.
  • Precompute regex matches on known properties.
  • Faster unevaluatedProperties validation via O(1) property lookup and short-circuit oneOf evaluation.
  • Use HashMap for large set of properties.
  • Lower HashMap threshold from 40 to 15 properties for faster property lookups.

[Python] Release 0.40.4

31 Jan 13:43
python-v0.40.4
c07f518

Choose a tag to compare

Added

  • Pre-built wheels for free-threaded Python (3.13t, 3.14t) on Linux, macOS, and Windows.

[Rust] Release 0.40.2

30 Jan 12:46
rust-v0.40.2
e5f0364

Choose a tag to compare

Changed

  • Exclude internal tracker field from ValidationError Debug output.
  • Switch HTTP client TLS crypto backend from aws-lc-rs to ring to simplify building from source on some Linux distributions. #957

Fixed

  • type: integer validation in Draft 4 now correctly accepts large integers outside the i64/u64 range when arbitrary-precision feature is enabled.

[Python] Release 0.40.3

30 Jan 23:14
python-v0.40.3
2d366b0

Choose a tag to compare

Added

  • Pre-built wheels for musllinux (Alpine Linux) on x86_64 and aarch64.

[Python] Release 0.40.2

30 Jan 12:50
python-v0.40.2
31bad1a

Choose a tag to compare

Changed

  • Switch HTTP client TLS crypto backend from aws-lc-rs to ring to fix import errors when building from source on some Linux distributions. #957

Fixed

  • Draft4Validator now correctly validates large Python integers outside the i64/u64 range (e.g., -9223372036854775809, 18446744073709551616) as valid for type: integer.

[Rust] Release 0.40.1

29 Jan 23:07
rust-v0.40.1
9ab113e

Choose a tag to compare

Changed

  • ValidationErrorKind::Custom now includes a keyword field containing the custom keyword name.

Performance

  • Faster validation via cost-based keyword ordering.
  • Faster patternProperties for simple prefix patterns (e.g., ^x-).