Changes for version 0.600 - 2025-01-31
- BREAKING CHANGES: OpenAPI::Modern must be updated to 0.079 after installing this version.
- the specification version can now be overridden when constructing Documents directly (rather than via the evaluator), if not specified by the "$schema" keyword
- some fixes for $id handling in earlier drafts
- rework of document management and URI resolution: $jsm->add_schema($uri, $schema) no longer sets the $uri in the document object, allowing the document to be added to the index under multiple URIs. Instead, we resolve the document's indexed resources against the base URI and only store the resolved form in the evaluator itself. This allows the same document to be reused with different base URIs if it only contains relative $ids internally. add_document($uri, $document) now resolves all URI resources against the provided URI, rather than adding document resources as-is and adding $uri as one more resource URI.
- further restructuring of internal resource indexes, anchor management, and traversal of subschemas from embedded non-JSON Schema documents (e.g. OpenAPI documents)
Documentation
A command-line interface to JSON::Schema::Modern::evaluate()
Modules
Validate data against a schema using a JSON Schema
Contains a single annotation from a JSON Schema evaluation
One JSON Schema document
Contains a single error from a JSON Schema evaluation
Contains the result of a JSON Schema evaluation
Common code for nodes of a JSON::Schema::Modern::Result
Internal utilities for JSON::Schema::Modern
Base role for JSON Schema vocabulary classes
Implementation of the JSON Schema Applicator vocabulary
Implementation of the JSON Schema Content vocabulary
Implementation of the JSON Schema Core vocabulary
Implementation of the JSON Schema Format-Annotation vocabulary
Implementation of the JSON Schema Format-Assertion vocabulary
Implementation of the JSON Schema Meta-Data vocabulary
Implementation of the JSON Schema Unevaluated vocabulary
Implementation of the JSON Schema Validation vocabulary