All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.7 - 2026-06-10
- Include the JSON Schema metaschema data files in the packaged gem. 0.2.6 was built without the
data/draft-*submodules checked out, socreate_registrycrashed withSources::Erroron the released gem. (@skryukov)
0.2.6 - 2026-06-10 [YANKED]
- New
:annotatedoutput format interleaves the instance data with annotations collected during evaluation (title/descriptionby default, configurable viakeywords:). Each node becomes{"title" => ..., "value" => ...}, mirroring the shape of the data — handy for rendering values alongside their schema-defined labels. (@skryukov, #13) JSONSkooma::UnexpectedSchemaClassError < RegistryErroris now raised byRegistry#schemawhen the resolved fragment does not match the expected class. Extensions can rescue this specific error instead of matching on message text. (@skryukov)Registry#load_json(uri)is now public so extensions can load a raw document via registered sources. (@skryukov)Keywords::ValueSchemas.default_schema_class=lets extensions set the fallback class used to wrap sub-schemas when a keyword does not specify its ownschema_value_class. (@skryukov)
0.2.5 - 2024-12-25
- Support Ruby 3.4. (@skryukov)
0.2.4 - 2024-10-31
- Improve error messages for missing required keys (@alexkalderimis)
0.2.3 - 2024-04-28
- Fix
JSONSkooma::Sources::Remoteto allow remote refs. (@killondark)
0.2.2 - 2024-04-09
- Fix
$dynamicAnchorboolean evaluation. (@skryukov)
0.2.1 - 2023-12-03
0.2.0 - 2023-10-23
- Add JSON Schema evaluation against a reference. (@skryukov)
- Optimized JSON Schema evaluation. (@skryukov)
- Fix compatibility issues for Ruby < 3.1 and JRuby. (@skryukov)
- Fix Zeitwerk eager loading. (@skryukov)
0.1.0 - 2023-09-27
- Initial implementation. (@skryukov)