chore(deps): update rust crate jsonschema to 0.49 - #218
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Contributor
|
Release Regent — projected release If this PR is merged now, the next release will be v0.7.0.
Available commands
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #218 +/- ##
=======================================
Coverage 82.54% 82.54%
=======================================
Files 92 92
Lines 22921 22921
Branches 22921 22921
=======================================
Hits 18920 18920
Misses 3799 3799
Partials 202 202 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
renovate
Bot
force-pushed
the
renovate/jsonschema-0.x
branch
3 times, most recently
from
August 9, 2026 01:51
cf87355 to
add8135
Compare
renovate
Bot
force-pushed
the
renovate/jsonschema-0.x
branch
from
August 10, 2026 23:11
add8135 to
875c7d4
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.46→0.49Release Notes
Stranger6667/jsonschema (jsonschema)
v0.49.9Added
oneOfwhose branches name object targets a required constant tells apart, which degrades to a union.Changed
CanonicalSchema::to_json_schemaon a definition emits only the definitions that one names, not the whole document's.Fixed
v0.49.8Performance
oneOfwhose overlapping branches carry many properties, which no longer removes shared regions the exactly-one spelling discards.Fixed
http://json-schema.org/schemameta-schema URI as a custom dialect, where it names the current draft.patternPropertiesentry matching every key leavingadditionalProperties: falsespelled as a key constraint, where it forbids nothing.unevaluatedProperties/unevaluatedItemsset totrueforcing the whole document to stay unmodeled beside an unresolved applicator, where the keyword rejects nothing regardless of the evaluated set.unevaluatedProperties/unevaluatedItemsbeside a$refforcing the whole document to stay unmodeled, where the reference's own evaluated properties or items are known once it is resolved.v0.49.7Added
CanonicalizeOptions::with_retrieverto fetch external resources absent from the registry.CanonicalizeOptions::with_base_urito resolve relative references in the root schema.oneOfwhose branches name disjoint targets, which degrades to a union.patternPropertiesentry beside schema-valuedadditionalProperties, where matching keys escape its value constraint.CanonicalSchema::definitionresolving#to the document the handle was read against.Performance
notover a union of many branches.$defsreferences, which avoid decoding unescaped definition names.oneOfwhose many branches overlap.trueandfalsesubschemas repeatedly.Fixed
CanonicalSchema::definitionandCanonicalSchema::definitionshanding out a target that names the document root without that document, where#points at the target instead.itemstail beyond an array's length ceiling surviving canonicalization, where it governs no element.CanonicalSchema::to_json_schemaleaving the document root out of a node emitted below it, where#points at that node instead.v0.49.6Added
uniqueItems, where the complement demands a repeated element under the length floor two elements imply.containsdemands sharing no value, where their counts add up into a length floor.CanonicalSchema::negatethrough references, where the complement of the resolved target takes the reference's place.propertyNamesandadditionalProperties, where the complement spells the violating-key demand instead of anotresidual.additionalPropertiesunder Draft 4, where the violating-key demand spells the closed property map.nota reference, where the complement of the resolved target takes the pointer's place.oneOf, where the complement spells the values no branch admits beside the values two branches share.itemsunder Draft 4, where the violating-element demand spells the barred element schema.Changed
ArrayViewreports distinctness in three states, so an array demanding a repeated element reads apart from one demanding distinct elements.Fixed
CanonicalSchema::negatekeeping a root self-reference in the complement, where it points at the complement instead of the source.additionalItemsthat tails no tuple keeping the whole document unmodeled under Draft 2020-12.v0.49.5Added
notan integer schema under Draft 4, which the number leaf carries as barred integers.notamultipleOf, which numeric leaves carry as barred divisors.notan integer schema, where a barred divisor of one spells the non-integer numbers.notapattern, which string leaves carry as barred patterns.nota typed value set under Draft 4, such as{"type": "integer", "enum": [1, 2]}.CanonicalSchema::is_subset_of, whether the other schema admits every value this one admits.Fixed
CanonicalSchema::is_subset_offailing to prove a union of array branches a subset of itself.CanonicalSchema::intersectadmitting values one side rejects when itsadditionalPropertiesgoverns the keys the other side'spatternPropertiesmatch.multipleOfschema collapsing to the empty set whenf64rounds its bounds together.arbitrary-precisionwhen the fraction exceeds the expansion cap.multipleOfcomparing values through a lossyf64conversion underarbitrary-precision, such as1e-400passing{"maximum": 0}.v0.49.4Added
nota string format, which the string leaf carries as barred formats.notan existential demand, which an array fails exactly when no element matches.nota string value set, which the string leaf carries as excluded values.unevaluatedItemsbesidecontains, where the elements it matches are evaluated and the tail admits either.unevaluated*besideanyOforoneOf, where every branch evaluating the same keys or indexes pins what is left over.notan array element schema, which an array fails exactly when one element violates it.CanonicalSchema::intersect, the values both schemas admit.CanonicalSchema::negate, the values a schema rejects.CanonicalSchema::definition, one reference target by URI.Fixed
i64admitted by a fractional boundf64rounds it onto, such as-10000000000000000000000000under{"maximum": -10000000000000000000000000.1}.2^53admitted by a boundf64rounds onto it, such as9007199254740992under{"minimum": 9007199254740993}.containssubschema beside bothminContainsandmaxContainsoverwriting a sibling keyword of the same name, such asitems.Performance
CanonicalSchemahashing and equality cost the node instead of the whole document.v0.49.3Added
false.$dynamicRefand$recursiveRef, which resolve through the dynamic scope and stay symbolic like any other reference. A dangling$dynamicReferrors rather than stayingRaw.minContainsunderuniqueItems, where a demand asking for more matches than its own schema has distinct values now folds tofalse.patternPropertiescoverage closed byadditionalProperties: false, spelled as the closed map it was parsed from.oneOfwhose branches repeat, where a repeated branch can never contribute exactly one match.$refwhose target is an empty schema, which now folds tofalse.unevaluatedItemsbesideallOf, where every branch must pass and so the indexes they evaluate are known without the instance.unevaluatedPropertiesbesideallOf, where every branch must pass and so what they evaluate is known without the instance.typelist holdingintegerbeside other types withenum, which previously modeled only when spelled as anallOf.patternPropertiespatterns matching finitely many keys, such as^a$and^(a|b)$.unevaluatedPropertiesandunevaluatedItemswhen no in-place applicator sits beside them.Fixed
additionalItemsvalues that are not schemas silently ignored beside an array-formitems(they should fail the build likeadditionalProperties).additionalItemsbeside a booleanitemsrejecting every instance, such as{"additionalItems": false, "items": false}.additionalItemsbeside a non-arrayitemsvalue failing schema compilation with an error blamingadditionalItems(the keyword should be ignored).2^64, such as{"maxItems": 18446744073709551616}.f64range admitted by a fractional bound it exceeds, such as1e400under{"exclusiveMaximum": 0.1}.$refat the root of an$id-bearing subresource dropped as a self-reference when its pointer matched the one that reached that subresource.unevaluatedItemscountingprefixItemsas evaluating elements before Draft 2020-12, where it is not a keyword.Performance
evaluateby 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.v0.49.2Performance
multipleOfbeside numeric bounds far from zero.v0.49.1Fixed
jsonschema-value: Ruby builds on x64-mingw-ucrt.v0.49.0Added
options_forbuilds a validator over any instance representation implementingjson::Json, so instances validate without conversion toserde_json::Value. #239meta::validate_forandmeta::is_valid_forfor checking a schema document held in any representation implementingjson::Jsonagainst its meta-schema.jsonschema::canonicalize. It reduces a reasonable subset of JSON Schemas to their normal forms.Fixed
multipleOfincorrectly accepted integers pastu64that are not multiples of the divisor.v0.48.5Fixed
v0.48.2Performance
v0.48.1Fixed
requirederrors inevaluate()output for schemas withpropertiesand a two-entryrequiredarray. #1220contentEncodingerrors for invalid UTF-8 after decoding incorrectly had emptyinstance_pathandschema_path.Performance
#[jsonschema::validator](~5% across benchmarked schemas), via aliasing repeated paths in the emitted code.v0.48.0Added
iter_errorsfor#[jsonschema::validator]-generated validators.Fixed
anyOfandoneOfvalidation errors, matching runtime validators.$recursiveRefin generated validators incorrectly resolved to the innermost$recursiveAnchor(it should resolve to the outermost one).i64/u64range incorrectly compared against numeric bounds through lossyf64rounding underarbitrary-precision(e.g.{"minimum": -9223372036854775808}accepted-9223372036854775809).Changed
canonical::json::to_stringunderarbitrary-precision("1e-2"becomes"0.01","1.50"becomes"1.5") and correctly-rounded float parsing (serde_json'sfloat_roundtrip).Performance
multipleOfvalidation for integer instances with integer divisors, via integer arithmetic instead of floating-point modulo.v0.47.0Added
#[jsonschema::validator]attribute macro (behind themacrosfeature) that compiles a JSON Schema intois_validandvalidateimplementations at build time.Keyword::iter_errorsfor reporting multiple validation errors from a single custom keyword. #1071Changed
1.85.0.Performance
macrosfeature, via compile-time meta-schema validators.Fixed
typeunderitemsasserted with the Validation vocabulary disabled.$reftargets without their own$schema(e.g.$defsentries).v0.46.10Fixed
$dynamicRefcombined withunevaluatedPropertiesorunevaluatedItems.unevaluatedPropertiesandunevaluatedItemsresults when a meta-schema disables the Applicator vocabulary.v0.46.9Fixed
multipleOfincorrectly rounds integer instances above 2^53 tof64before the divisibility check on builds without thearbitrary-precisionfeature.v0.46.8Fixed
idn-emailformat rejected non-ASCII characters in quoted local parts (e.g."δοκιμή"@example.com).v0.46.7Fixed
idn-hostnameformat accepted A-labels that decode to a disallowed code point (e.g.xn--7a).v0.46.6Added
IntoRegistryResourceforArc<Value>. #1129Fixed
prefixItemsincorrectly recognised as a known keyword in Draft 2019-09 and earlier (it is 2020-12 only).patternvalidation errors displayed the internally translated regex instead of the original schema pattern. #1149Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.