Releases: Stranger6667/jsonschema
Releases · Stranger6667/jsonschema
[Rust] Release 0.37.4
Fixed
- Stack overflow during validation of schemas with circular
$refchains (e.g.,a->b->a). - Local
$refresolution within fragment-extracted external resources. #892
Removed
- Deprecated
PrimitiveType&PrimitiveTypesBitMap.
[Python] Release 0.37.4
Fixed
- Stack overflow during validation of schemas with circular
$refchains (e.g.,a->b->a). - Local
$refresolution within fragment-extracted external resources. #892
[Rust] Release 0.37.3
Fixed
- External resources not discovered within subresources of local
$reftargets. #892
[Python] Release 0.37.3
Fixed
- External resources not discovered within subresources of local
$reftargets. #892
[Rust] Release 0.37.2
Added
JsonTypeSet::len()andJsonTypeSet::remove()helpers for managing type sets.
Fixed
- External resources not discovered through chained local
$refreferences. #892
[Python] Release 0.37.2
Fixed
- External resources not discovered through chained local
$refreferences. #892
[Rust] Release 0.37.1
Fixed
- Stack overflow on empty
$refvalue. #886
[Rust] Release 0.37.0
Added
evaluate()top-level function for convenient access to structured validation output.- CLI: Schema-only validation now also validates all referenced schemas. #804
- Support for additional
contentEncodingvalues per RFC 4648:base64url,base32,base32hex, andbase16. These encodings are now validated alongside the existingbase64support in Draft 6 and 7. #26 validator.iter_errors(instance).into_errors(). It returns aValidationErrorstype that collects validation errors and implementsstd::error::Error. #451
Changed
- BREAKING:
ValidationErrorfields are private; useinstance(),kind(),instance_path(), andschema_path()instead of accessing struct fields directly. - BREAKING:
ErrorIteratoris now a newtype wrapper instead ofBox<dyn ValidationErrorIterator>.
Performance
validateand other APIs returningResult<_, ValidationError>are 5–10% faster in some workloads due to the smaller error handle.evaluate: Eliminated deep clones of unmatched keyword values (e.g.,title,description,examples) on every schema node evaluation by usingArcinternally. It can be multiple times faster for schemas with large annotations.
[Python] Release 0.37.1
Fixed
- Stack overflow on empty
$refvalue. #886
[Python] Release 0.37.0
Added
- Support for
decimal.Decimaltype in both schemas and instances. #319 - Support for additional
contentEncodingvalues per RFC 4648:base64url,base32,base32hex, andbase16. These encodings are now validated alongside the existingbase64support in Draft 6 and 7. #26
Performance
jsonschema_rs.validate()andValidator.validate()run 5–10% faster in some workloads.evaluate(): Avoiding deep clones of unmatched keyword values (e.g.,title,description,examples) on every schema node evaluation. It can be multiple times faster for schemas with large annotations.