Expand description
Backward-compatibility checks for evolving JSON Schema documents and OpenAPI 3.1 contracts.
Build input documents with SchemaDocument::from_json, then call
check_compat with a Role. This crate intentionally exposes only the
document-level JSON Schema compatibility API; lower-level resolved IR types
live in json_schema_ast. OpenAPI validation and lowering live in the
sibling jsoncompat_openapi crate; this crate layers compatibility reports
over those lowered request and response schemas.
Structs§
- Analysis
Options - Deterministic counterexample search bounds. Static proofs and explicit schema literals are checked even when the generated-candidate budget is zero.
- Open
ApiCompatibility Issue - Open
ApiCompatibility Report - Open
ApiDocument - Schema
Document - Fully resolved JSON Schema document.
- Schema
History - Schema
Options - Resource retrieval is explicit and offline. Format assertions default to the
vocabulary selected by
$schema; standard Draft 2020-12 formats annotate. - Schema
Version Entry - Stamp
Bundle - Stamp
Manifest - Stamp
Result
Enums§
- Compatibility
Error - Compatibility-check failures that are distinct from a proven incompatibility.
- Compatibility
Result - Open
ApiCompatibility Error - Open
ApiCompatibility Issue Kind - Removed operations are structural breaks; schema breaks carry a validated value. An unsuccessful inclusion proof alone is explicitly unknown.
- Open
ApiCompatibility Surface - Open
ApiError - Open
ApiLowering Error - Role
- The role under which a compatibility check is performed.
- Stamp
Error - Stamp
Status
Constants§
Functions§
- analyze_
compat - Prove compatibility or find a concrete counterexample. Failure to do either is explicitly unknown, including unsupported structural expansions.
- analyze_
compat_ with_ options - canonical_
schema_ hash - check_
compat - Return whether
newis backward-compatible witholdunderrole. - check_
openapi_ compat - explain_
compat_ failure - Return a best-effort static explanation for the first incompatibility under
role, orOk(None)when the checker finds no incompatibility to explain. - stamp_
schema - validate_
compatibility_ input - Return whether this schema can participate in compatibility checks.
- validate_
openapi_ compatibility_ input - Return whether an OpenAPI document is fully supported by the compatibility layer.
- write_
stamp_ manifest_ atomic
Type Aliases§
- Schema
Build Error - Public schema-build error name used by
SchemaDocument::from_json.