Skip to content

[Python] Release 0.60.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 10:29
· 20 commits to master since this release
dd3169e

Added

  • Support for Python 3.15.

Changed

  • Update pyo3 to 0.30.
  • canonicalize and canonical.find_unsatisfiable take schema positionally only, like bundle and dereference.

Fixed

  • Type stubs rejecting valid usage: dict | bool schemas, ReferencingError in except, match on error kinds.
  • import jsonschema_rs.canonical.json and import jsonschema_rs.canonical.schema raising ModuleNotFoundError.
  • inspect.signature of validator and Evaluation methods missing self.
  • ValidationErrorKind reporting builtins as its module.
  • validator_for returning instances that fail isinstance checks against Validator and draft classes.

Performance

  • Validation with unfinished regex matches running each such match once instead of once per run, and comparing errors across runs in linear time instead of quadratic. #1784
  • items and additionalProperties looking up a single-keyword subschema once per array or object instead of once per value.
  • is_valid and validate reading fewer cache lines per subschema, by keeping error locations apart from validators.
  • is_valid on recursive schemas caching only $ref results that took many steps to compute, instead of every one.
  • Error evaluation paths taking memory linear in the $ref nesting depth, not quadratic. #1778