chore(deps): update rust crate jsonschema to 0.52 - autoclosed - #1955
Closed
renovate[bot] wants to merge 1 commit into
Closed
chore(deps): update rust crate jsonschema to 0.52 - autoclosed#1955renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/jsonschema-0.x
branch
3 times, most recently
from
August 23, 2026 20:41
5c8f075 to
f5995a5
Compare
renovate
Bot
force-pushed
the
renovate/jsonschema-0.x
branch
from
August 27, 2026 00:35
f5995a5 to
50d54c5
Compare
renovate
Bot
force-pushed
the
renovate/jsonschema-0.x
branch
2 times, most recently
from
August 31, 2026 09:05
f84d2a5 to
438fc3c
Compare
renovate
Bot
force-pushed
the
renovate/jsonschema-0.x
branch
from
August 31, 2026 10:42
438fc3c to
e5b5e19
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.49→0.52Release Notes
Stranger6667/jsonschema (jsonschema)
v0.52.1Fixed
multipleOfrejecting valid values like1070468.14for0.01withoutarbitrary-precision.Performance
minLengthandmaxLengthtogether now scan the string once.multipleOfwith a fractional divisor is 8-16x faster.unevaluatedPropertiesis up to 2.9x faster.evaluateis up to 27% faster on reference-heavy schemas.v0.52.0Added
Evaluation::is_valid.Location::is_empty.DisplayforErrorEntry.ValidationOptions::offlineandcanonical::CanonicalizeOptions::offline, refusing to fetch references outside the registry.idnaCargo feature, enabled by default, gating theidn-hostnameandidn-emailformats. #1313--offlineflag ofjsonschema validate,jsonschema bundleandjsonschema dereference.Changed
ValidationErrors'Displaygained the instance path of each error.default-features = false, theidn-hostnameandidn-emailformats now require the newidnafeature. Without it they are unknown formats, which are accepted by default, or rejected at build time undershould_ignore_unknown_formats(false). Addidnato the feature list to keep the previous behavior.Fixed
patternProperties$refmatches a keypropertiesnames.is_validdisagreeing withvalidate,iter_errors, andevaluateon a schema that reaches its own$reftwice, one of them undernot.format: emailandformat: idn-emailrejecting an empty quoted string as the local part (it should be accepted).format: emailandformat: idn-emailrejecting an address literal whoseIPv6:tag is not written in that exact case (the tag is case-insensitive).format: emailaccepting a non-ASCII character in the local part (it should be rejected).ValidationOptions::with_draftgating keywords on the vocabularies of the$schemait overrides, so the validator accepted every instance.Performance
iter_errorscollects into a single buffer instead of allocating and re-boxing an iterator at every schema node.v0.51.0Added
ValidationOptions::with_vocabularyand thevocabulariesattribute onjsonschema::validator, declaring support for a vocabulary this crate does not implement.--vocabularyflag ofjsonschema validate.Changed
Vocabularygained theFormatAssertionvariant, which its Draft 2020-12 URI parses to instead ofVocabulary::Custom, and is markednon_exhaustive.Fixed
uniqueItemslength ceiling not reading anitemsorcontainsschema written as a$ref.formatrejects.formataccepted under a meta-schema requiring the Format-Assertion vocabulary (it should be rejected).trueread as an annotation, so a meta-schema requiring it accepted values itsformatrejects.https://json-schema.org/draft/2020-12/meta/format-assertionmeta-schema not declaring its vocabulary, so a schema written against it annotatedformatinstead of asserting it.$idkeeping its$vocabularyunread, so a schema written against it got every Draft 2020-12 vocabulary.$schemarejected as an unknown meta-schema (it should build).regexformat reading the Rust regex dialect (it should read the ECMA-262 dialect in Unicode mode).uri-templateformat rejecting an apostrophe in a literal (it should accept it, per RFC 6570 errata 6937).durationformat accepting weeks combined with a time part, such asP1WT1H(it should reject it).unevaluatedPropertiesorunevaluatedItemsbeside a$refthat cycles back to the node, written as#, through its$id, or through a chain of definitions.Performance
unevaluatedPropertiesorunevaluatedItemsover a deepallOfor$refchain costs its depth instead of its square.v0.50.1Changed
CanonicalSchema::satisfiabilityanswersYesfor a string whosepatternorformata matching value can be built from.CanonicalSchema::satisfiabilityanswersNowhere aformattakes no string of the length the schema asks for.Fixed
CanonicalSchema::negatetaking apart a union that reads a definition through its ownif, so a schema and its negation shared a value.CanonicalSchema::subtractdropping a Draft 4 array member an element demand partly takes.CanonicalSchema::coversansweringYeswhere a Draft 4 element demand refuses a member.maxLengthis0keeping apattern,format, or content facet unread, so the same constraints written in one object and written as anallOfreached different canonical forms.Performance
notover a wide object schema costs its branch count instead of its square.notover an object schema is linear in its property count, not quadratic.notover an object schema withadditionalProperties: falseno longer costs cubic time in its property count.v0.50.0Added
CanonicalSchema::unionandCanonicalSchema::subtract.CanonicalizationError::UnsupportedResult, reported where the canonical form does not support a set operation's result.OperandMismatch::DocumentRoots, reported where both operands read#and it names a different document on each side.jsonschema validate -i INSTANCEwithout aSCHEMAargument validates each instance against the schema named in its own$schemaproperty. #1470Changed
CanonicalSchema::is_satisfiableis nowCanonicalSchema::satisfiability, answeringYes,No, orUnknown-Yeswherever a value can be exhibited, not only for the forms listing their members.CanonicalSchema::coversdecides through the difference as well:Nowhere the argument keeps values the receiver rejects,Yeswhere nothing is left over.CanonicalSchema::is_subset_ofis nowCanonicalSchema::covers, answeringYes,No, orUnknownfor whether the receiver admits every value the argument admits.CanonicalSchema::negatereturnsResultrather thanOption.CanonicalizationError::UnmodeledOperandis nowCanonicalizationError::UnsupportedOperand, and means only that an operand is aRawpass-through.$reffolds through the body it names, so canonicalizing a document and combining its parts with the set operations reach one form; a document holding a reference cycle keeps the form it had.Fixed
$refto#at the combined result instead of the document it was written in, including one named by a definition the result keeps.$refwhose target istrueorfalse, which panicked.CanonicalSchema::coversansweringUnknownfor a schema against itself, where that schema is a$ref.CanonicalSchema::unionkeeping a$refbeside the schema it names, where the other three operations read through it.CanonicalSchema::coversandCanonicalSchema::subtractcancelling two nodes written the same way whose#names a different document.additionalPropertiesreaching a key the pattern map matches when a finite key constraint closes the map, which dropped values both operands accept.$defsentry read past a wider schema written out at every use, rather than kept as the pointer it was.$refas a pointer instead of reading through it, so a schema written with a$refdid not cancel against the same schema written out.CanonicalSchema::subtractasking for a complement where the difference is one of the operands or empty, declining on schemas it can subtract.$defsentries the result no longer references, which then showed up in the emitted schema.CanonicalSchema::uniondeclining over an approximated intersection, where the union itself is exact.$idcontains one. #1473unevaluatedPropertiesandunevaluatedItemsignoring an$idon a subschema they walk through, so a relative$refinside it resolved against the enclosing resource.Performance
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.