Changelog
Copy MarkdownAll notable changes to this project will be documented in this file.
Unreleased
0.0.8 [2026-06-11]
- Fix bug where properties named
"required"and"dependentRequired"weren't being simplified
0.0.7 [2026-06-07]
- Rename
RockSolid.Traversal.update_in_schema/3toRockSolid.Traversal.put_in_schema!/3and also implementRockSolid.Traversal.put_in_schema/3
0.0.6 [2026-06-07]
- Support JSON Pointers starting without "#" in
RockSolid.Traversal.to_path/1 - Fix
RockSolid.Traversal.update_in_schema/3when last element in path is a list
0.0.5 [2026-05-12]
- Fix
containsnot being generated - Generate only a sublist of
prefixItemswhenminItemsis not specified, or is smaller thanprefixItemslength - Improve
patternwithmaxLengthgenerations
0.0.4 [2026-05-11]
Implements all possible unrecoverable exceptions and adds improved error messages.
0.0.3 [2026-05-07]
This version contains several bug fixes and optimisations, mainly for handling of object types.
Fixes
- Fix
patternPropertiesignoringpropertyNamespattern - Fix
dependentSchemasbeing ignored - Fix
dependentRequiredalgorithm behaving incorrectly when properties depended on each other - Return empty value when a required property is no longer valid after adding a
notclause - Fix edge case when "catch all"
patternPropertiesis the same subschema as the otherpatternProperties - Fix
additionalPropertiesinif/then/elseclauses having the same priority as the base schema - Fix edge cases of
properties,definitions,dependencies,dependentSchemasanddependentRequiredbeing used as keys independencies,dependentSchemasanddependentRequired. For example, when a property calleddependenciesused as a key insidedependentRequiredit was being treated as the keyworddependenciesinstead of the literal key.
Internal/enhancements
- Optimise
oneOfby computing the intersection of the subschema and the negation of the remaining clauses when possible - Optimise adding
notclauses for the common case of object type + present/absent properties - Avoid expanding
$refwhen the other element to intersect is the "any" value
0.0.2 [2026-05-03]
- Fix generation not considering
minItems,minProperties,maxItems,maxPropertieswhen scaling
0.0.1 [2026-05-03]
- Initial demo release