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.