Repository navigation
[Python] Release 0.60.0
·
20 commits
to master
since this release
Added
- Support for Python 3.15.
Changed
- Update
pyo3to0.30. canonicalizeandcanonical.find_unsatisfiabletakeschemapositionally only, likebundleanddereference.
Fixed
- Type stubs rejecting valid usage:
dict | boolschemas,ReferencingErrorinexcept,matchon error kinds. import jsonschema_rs.canonical.jsonandimport jsonschema_rs.canonical.schemaraisingModuleNotFoundError.inspect.signatureof validator andEvaluationmethods missingself.ValidationErrorKindreportingbuiltinsas its module.validator_forreturning instances that failisinstancechecks againstValidatorand 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
itemsandadditionalPropertieslooking up a single-keyword subschema once per array or object instead of once per value.is_validandvalidatereading fewer cache lines per subschema, by keeping error locations apart from validators.is_validon recursive schemas caching only$refresults that took many steps to compute, instead of every one.- Error evaluation paths taking memory linear in the
$refnesting depth, not quadratic. #1778