NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1617 most downloaded on PyPI
A high-performance JSON Schema validator for Python
Last release 2 days ago
02 Oct 2026
Ships fairly regularly
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
6 years old
137 releases · first in 2020
One column per quarter.
Support for look-around patterns. #183
email format validation. Relevant test case from the JSONSchema test suite - email.json.The propertyNames validator now contains the parent object in its instance attribute instead of individual properties as strings.
propertyNames validator now contains the parent object in its instance attribute instead of individual properties as strings.additionalProperties validator. After - Additional properties are not allowed ('faz' was unexpected), before - False schema does not allow '"faz"'.additionalProperties validator emits a single error for all unexpected properties instead of separate errors for each unexpected property.ValidationError.instance_path is now a separate struct, that can be transformed to Vec<String> or JSON Pointer of type String.instance_path attributes are pointing to the proper location.Nothing published for this version
Incorrect handling of \w and \W character groups in pattern keywords. #180
\w and \W character groups in pattern keywords. #180\\w) in pattern keywords.Missing validation errors after the 1st one in additionalProperties validators.
additionalProperties validators.rayon in items keyword as it gives significant overhead for a general case.additionalProperties / properties / patternProperties validators. #173with_meta_schemas argument for is_valid and update docstrings.validate function.items and additionalProperties validators.Exclude unnecessary files from source code distribution.
Cache for documents loaded via the $ref keyword. #75
$ref keyword. #75$id values with trailing # symbol. #163-V/--validator options from the CLI. They were no-op and never worked.$ref keyword. #75$id values with trailing # symbol. #163pip install jsonschema_rs on platforms that we don't have wheels for.
#159Make examples in README.md runnable.
cli dependency from the jsonschema crate & update dependencies in Cargo.lock.Move paste to dev dependencies.
Integers not recognized as numbers when the type keyword is a list of multiple values. #147
type keyword is a list of multiple values. #147ToString trait implementation for validators.
ToString trait implementation for validators.JSONSchema::options to customise JSONSchema compilation #131contentEncoding and contentMediaType keywordsidn-hostname is not defined on draft 4 and draft 6)__init__.py file. It improves performance for compiled schemas. #121PyO3 to 0.12. #125idn-hostname is not defined on draft 4 and draft 6)Value instead of using unwrap in JSONSchema::is_valid and JSONSchema::validate. #127items allows the presence of boolean schemas. #115
items allows the presence of boolean schemas. #115### Fixed - Packaging issue.
Enable Link-Time Optimizations and set codegen-units to 1. #104
jsonschema_rs.__build__ which contains useful build information. #111manylinux2014 compatible. Previously they were manylinux2010 compatible. #111JSONSchema Draft 4 support (except one optional case). #34
is_valid methods for all keywords.rayon in items keyword validation.clippy lints. #66Debug implementation for JSONSchema and Resolver. #97Default implementation for Draft.to_string instead of format!. #85$ref keyword. #83type keyword implementation. #78match statements during compilation functions resolving.expect instead of unwrap for known cases when it is known that the code won't panic.format cases.DEFAULT_SCOPE during reference resolving.Value::as_* calls with if let.compile functions.format keyword compilation by using static strings.true, false and $ref validators.DEFAULT_ROOT_URL in JSONSchema::compile.scope parsing in JSONSchema::compile.BTreeSet in additionalProperties keyword during compilation to reduce the amount of copied data. #91Implement is_valid for various validators.
is_valid for various validators.Error and Display for CompilationErrorErrorIterator Sync and Send.CompilationError on invalid input schemas instead of panic.[Unreleased]: https://github.com/Stranger6667/jsonschema/compare/rust-v0.58.5...HEAD [0.58.5]: https://github.com/Stranger6667/jsonschema/compare/rust
Your coding agent can read these notes before it upgrades. Set up the MCP server →