Releases: Stranger6667/jsonschema
Releases · Stranger6667/jsonschema
[Ruby] Release 0.44.1
Fixed
hostnameformat now applies legacy RFC 1034 semantics in Draft 4/6 and keeps IDNA A-label validation in Draft 7+.
[Python] Release 0.44.1
Fixed
hostnameformat now applies legacy RFC 1034 semantics in Draft 4/6 and keeps IDNA A-label validation in Draft 7+.
[Ruby] Release 0.44.0
Added
Canonical::JSON.to_string(object)for canonical JSON serialization (stable key ordering and numeric normalization), useful for deduplicating equivalent JSON Schemas.
Fixed
- Do not produce annotations for non-string instances from
contentMediaType,contentEncoding, andcontentSchemakeywords.
[Rust] Release 0.44.0
Added
canonical::json::to_string(value)for canonical JSON serialization (stable key ordering and numeric normalization), useful for deduplicating equivalent JSON Schemas.
Fixed
- Do not produce annotations for non-string instances from
contentMediaType,contentEncoding, andcontentSchemakeywords.
[Python] Release 0.44.0
Added
canonical.json.to_string(object)for canonical JSON serialization (stable key ordering and numeric normalization), useful for deduplicating equivalent JSON Schemas.
Fixed
- Do not produce annotations for non-string instances from
contentMediaType,contentEncoding, andcontentSchemakeywords. - Crash when serializing strings with invalid UTF-8 (e.g., lone surrogates) during schema/instance conversion.
- Crash when serializing dicts keyed by
strenums whosevaluelookup raises an exception. - Crash when serializing enum instances whose
valuelookup raises an exception. - Reference leak when serializing enum instances repeatedly.
[Rust] Release 0.43.0
Performance
- Optimize
patternandpatternPropertiesfor^(a|b|c)$alternations via linear array scan. - Optimize
^\S*$patterns by replacing regex with a direct ECMA-262 whitespace check.
Fixed
anyOf,format,unevaluatedProperties, andunevaluatedItemsnow correctly collect annotations per spec.
[Ruby] Release 0.43.0
Added
validator_cls_for(schema)function to detect and return the appropriate validator class for a schema.
Fixed
anyOf,format,unevaluatedProperties, andunevaluatedItemsnow correctly collect annotations per spec.
Performance
- Optimize
patternandpatternPropertiesfor^(a|b|c)$alternations via linear array scan. - Optimize
^\S*$patterns by replacing regex with a direct ECMA-262 whitespace check.
[Python] Release 0.43.0
Added
validator_cls_for(schema)function to detect and return the appropriate validator class for a schema.
Fixed
anyOf,format,unevaluatedProperties, andunevaluatedItemsnow correctly collect annotations per spec.
Performance
- Optimize
patternandpatternPropertiesfor^(a|b|c)$alternations via linear array scan. - Optimize
^\S*$patterns by replacing regex with a direct ECMA-262 whitespace check.
[Rust] Release 0.42.2
Fixed
- SWAR digit parser accepted bytes
:–?(0x3A–0x3F) as valid digits duringdate,time, anddate-timeformat validation, potentially allowing malformed values to pass.
Performance
- Extend
patternprefix optimization to handle escaped slashes (^\/) and exact-match patterns (^\$ref$). - Specialize
enumfor cases when all variants are strings.
[Ruby] Release 0.42.2
Changed
- Custom keyword validation exceptions are now chained to the resulting
ValidationErrorviacause, preserving the original exception class and message.
Fixed
- SWAR digit parser accepted bytes
:–?(0x3A–0x3F) as valid digits duringdate,time, anddate-timeformat validation, potentially allowing malformed values to pass.
Performance
- Extend
patternprefix optimization to handle escaped slashes (^\/) and exact-match patterns (^\$ref$). - Specialize
enumfor cases when all variants are strings.