You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Canonicalization of a recursive schema with no finite witness, which now folds to false.
Canonicalization of $dynamicRef and $recursiveRef, which resolve through the dynamic scope and stay symbolic like any other reference. A dangling $dynamicRef errors rather than staying Raw.
Canonicalization of minContains under uniqueItems, where a demand asking for more matches than its own schema has distinct values now folds to false.
Canonicalization of a Draft 4 patternProperties coverage closed by additionalProperties: false, spelled as the closed map it was parsed from.
Canonicalization of a oneOf whose branches repeat, where a repeated branch can never contribute exactly one match.
Canonicalization of a $ref whose target is an empty schema, which now folds to false.
Canonicalization of unevaluatedItems beside allOf, where every branch must pass and so the indexes they evaluate are known without the instance.
Canonicalization of unevaluatedProperties beside allOf, where every branch must pass and so what they evaluate is known without the instance.
Canonicalization of a Draft 4 type list holding integer beside other types with enum, which previously modeled only when spelled as an allOf.
Canonicalization of patternProperties patterns matching finitely many keys, such as ^a$ and ^(a|b)$.
Canonicalization of unevaluatedProperties and unevaluatedItems when no in-place applicator sits beside them.
Fixed
additionalItems values that are not schemas silently ignored beside an array-form items (they should fail the build like additionalProperties).
additionalItems beside a boolean items rejecting every instance, such as {"additionalItems": false, "items": false}.
additionalItems beside a non-array items value failing schema compilation with an error blaming additionalItems (the keyword should be ignored).
Draft 4 rejecting a size bound at or past 2^64, such as {"maxItems": 18446744073709551616}.
An integer past the f64 range admitted by a fractional bound it exceeds, such as 1e400 under {"exclusiveMaximum": 0.1}.
A $ref at the root of an $id-bearing subresource dropped as a self-reference when its pointer matched the one that reached that subresource.
Canonicalization reusing one definition's body for a same-named definition in another resource, when the name spells a canonical URI.
unevaluatedItems counting prefixItems as evaluating elements before Draft 2020-12, where it is not a keyword.
Performance
Up to 70% faster evaluate by building each location in a single allocation instead of two, reusing the instance location a node already built, and caching evaluation paths across instance nodes.