New draft-specific validator classes: Draft4Validator, Draft6Validator, Draft7Validator, Draft201909Validator, and Draft202012Validator.
validator_for function for automatic draft detection.
Changed
The JSONSchema class has been renamed to Validator. The old name is retained for backward compatibility but will be removed in a future release.
Deprecated
The JSONSchema class is deprecated. Use the validator_for function or draft-specific validators instead.
You can use validator_for instead of JSONSchema.from_str.
Constants jsonschema_rs.DRAFT4, jsonschema_rs.DRAFT6, jsonschema_rs.DRAFT7, jsonschema_rs.DRAFT201909, and jsonschema_rs.DRAFT202012 are deprecated in favor of draft-specific validator classes.
Fixed
Location-independent references in remote schemas on drafts 4, 6, and 7.
Important: This release includes several deprecations and renames. While backward compatibility is maintained for now, users are encouraged to update their code. See the Migration Guide for details on transitioning to the new API.
Added
New draft-specific modules for easier version-targeted validation:
jsonschema::draft4
jsonschema::draft6
jsonschema::draft7
jsonschema::draft201909
jsonschema::draft202012
Each module provides new(), is_valid(), and options() functions.
jsonschema::options() function as a shortcut for jsonschema::Validator::options(), that allows for customization of the validation process.
Changed
Make Debug implementation for SchemaNode opaque.
Make jsonschema::validator_for and related functions return ValidationError<'static> in their Err variant.
This change makes possible to use the ? operator to return errors from functions where the input schema is defined.
Deprecated
Rename CompilationOptions to ValidationOptions for clarity.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on jsonschema to permit the latest version.
Release notes
Sourced from jsonschema's releases.
Changelog
Sourced from jsonschema's changelog.
... (truncated)
Commits
81b9da3
chore(rust): Release 0.20.06c26605
chore: Make return types more flexible1b6e25a
refactor(python): Rework public APIa0a3578
fix: Location-independent references in remote schemaseba86a2
test: More tests for uniqueItemsd133bdc
test: Add tests for CLI18054da
docs: Cleanup migration guidef3a255b
docs: Update README.md18d01e8
docs: Add migration guide74354df
refactor: Rework public APIDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show