Skip to content

Update Rust crate jsonschema to 0.46#24

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/jsonschema-0.x
Open

Update Rust crate jsonschema to 0.46#24
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/jsonschema-0.x

Conversation

@renovate

@renovate renovate Bot commented Dec 24, 2025

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
jsonschema dependencies minor 0.370.46

Release Notes

Stranger6667/jsonschema (jsonschema)

v0.46.5

Fixed
  • Percent-encoded characters in $ref URI fragments (e.g. #/$defs/Request%20class) are now decoded when stored as schema_path.

v0.46.4

Fixed
  • Panic in the regex engine when matching against patterns with very large {0,N} quantifiers.

v0.46.3

Fixed
  • Memory not reclaimed when a Validator for a schema with recursive $ref or $dynamicRef is dropped. #​1125
  • Compilation failure on wasm32-wasip1 and wasm32-unknown-emscripten targets.

v0.46.2

Fixed
  • required not enforced when additionalProperties is a schema object and required lists exactly 2 keys.

v0.46.1

Fixed
  • required not enforced when properties has 15 or more entries and required lists exactly 2 keys.

v0.46.0

Added
  • ValidatorMap for validating instances against subschemas identified by URI-fragment JSON pointer. #​1075
  • CLI: Accept multiple values after -i/--instance (e.g. jsonschema validate schema.json -i *.json). #​1085
  • dereference function to recursively inline $ref references. #​422
  • CLI: jsonschema dereference subcommand to dereference a schema from the command line.
Breaking Changes
  • Registry construction now uses an explicit prepare step, and with_registry now borrows the prepared registry. ValidationOptions::with_resource and ValidationOptions::with_resources were removed in favor of building a Registry first. See the Migration Guide for the details.
Performance
  • Avoid registry clones and document clones during validator construction. This improves real-world schema compilation by roughly 10-20% in internal benchmarks.

v0.45.1

Fixed
  • Incorrect handling of multipleOf validation for negative numeric instances.
  • Incorrect handling of duration format when hours and seconds appear without minutes, or years and days without months.

v0.45.0

Added
  • bundle(schema) / async_bundle(schema) / ValidationOptions::bundle: produce a Compound Schema Document with external $ref targets embedded in a draft-appropriate container (definitions for Draft 4/6/7, $defs for Draft 2019-09/2020-12) while preserving $ref values. #​791.
  • CLI: jsonschema validate and jsonschema bundle subcommands. Flat invocation (jsonschema schema.json -i …) is deprecated — use jsonschema validate instead. #​791.
  • ValidationError::absolute_keyword_location() to get the absolute keyword location URI of the schema node that produced the error. #​737.
Changed
  • ValidationError::into_parts() now returns ValidationErrorParts instead of a tuple.

v0.44.1

Fixed
  • hostname format now applies legacy RFC 1034 semantics in Draft 4/6 and keeps IDNA A-label validation in Draft 7+.

v0.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, and contentSchema keywords.

v0.43.0

Performance
  • Optimize pattern and patternProperties for ^(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, and unevaluatedItems now correctly collect annotations per spec.

v0.42.2

Fixed
  • SWAR digit parser accepted bytes :? (0x3A–0x3F) as valid digits during date, time, and date-time format validation, potentially allowing malformed values to pass.
Performance
  • Extend pattern prefix optimization to handle escaped slashes (^\/) and exact-match patterns (^\$ref$).
  • Specialize enum for cases when all variants are strings.

v0.42.1

Performance
  • Reduce dynamic dispatch overhead for non-recursive $ref resolution.
  • Cache ECMA regex transformations during format: "regex" validation.

v0.42.0

Added
  • JsonType::as_str method for zero-allocation type name access.
  • ValidationErrorKind::keyword is now public.
  • tls-ring feature flag to opt into using ring as the TLS crypto provider instead of the default aws-lc-rs. #​997
  • CLI: Support YAML (.yaml/.yml) instance files in text output mode. #​988
Changed
  • BREAKING: Default TLS crypto provider switched back to aws-lc-rs. Users who need ring can opt in via the tls-ring feature flag. This resolves potential conflicts with other libraries using aws-lc-rs. #​997
Fixed
  • Panic when validating $ref targets that resolve to boolean schemas.
Performance
  • Cache formatted schema locations with OnceLock to avoid repeated formatting during evaluate().

v0.41.0

Performance
  • Replace regex-based uri-template format validation with a hand-rolled RFC 6570 parser.
  • Specialize items keyword for simple type schemas ({"type": "string"}, {"type": "number"}, etc.) to eliminate dynamic dispatch overhead.
  • Precompute regex matches on known properties.
  • Faster unevaluatedProperties validation via O(1) property lookup and short-circuit oneOf evaluation.
  • Use HashMap for large set of properties.
  • Lower HashMap threshold from 40 to 15 properties for faster property lookups.

v0.40.2

Changed
  • Exclude internal tracker field from ValidationError Debug output.
  • Switch HTTP client TLS crypto backend from aws-lc-rs to ring to simplify building from source on some Linux distributions. #​957
Fixed
  • type: integer validation in Draft 4 now correctly accepts large integers outside the i64/u64 range when arbitrary-precision feature is enabled.

v0.40.1

Changed
  • ValidationErrorKind::Custom now includes a keyword field containing the custom keyword name.
Performance
  • Faster validation via cost-based keyword ordering.
  • Faster patternProperties for simple prefix patterns (e.g., ^x-).

v0.40.0

Added
  • HttpOptions and ValidationOptions::with_http_options() for configuring HTTP client behavior (timeouts, TLS verification, custom CA certificates) when fetching external schemas.
  • CLI: --timeout, --connect-timeout, --insecure, and --cacert flags for HTTP configuration.

v0.39.0

Added
  • ValidationError::evaluation_path() for the dynamic path including $ref traversals.
Changed
  • BREAKING: Simplified custom keyword API - Keyword::validate no longer receives path parameters, and ValidationError::custom only takes a message.
Fixed
  • schemaLocation in evaluation output now excludes $ref/$dynamicRef/$recursiveRef per JSON Schema spec.
Performance
  • evaluate(): 4.5-30x faster on complex schemas, 12-89% faster overall.
  • Recursive schemas with oneOf/anyOf: ~4000x faster via memoization. #​930

v0.38.1

Fixed
  • multipleOf validation for integer values between 2^53 and i64::MAX with arbitrary-precision feature.

v0.38.0

Added
  • EmailOptions for configuring email format validation. #​903
Fixed
  • Use-after-free in async $ref resolution when multiple refs target the same external URL with different fragments. #​906
  • multipleOf validation for large u64 values beyond i64::MAX with arbitrary-precision feature.
  • Validator not being Send + Sync on WASM targets. #​915

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title Update Rust crate jsonschema to 0.38 Update Rust crate jsonschema to 0.39 Jan 16, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-0.x branch from ed3595d to f5cf82c Compare January 16, 2026 15:54
@renovate renovate Bot changed the title Update Rust crate jsonschema to 0.39 Update Rust crate jsonschema to 0.40 Jan 18, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-0.x branch from f5cf82c to 78bacd6 Compare January 18, 2026 02:27
@renovate renovate Bot changed the title Update Rust crate jsonschema to 0.40 Update Rust crate jsonschema to 0.41 Feb 4, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-0.x branch from 78bacd6 to 65ceb21 Compare February 4, 2026 18:35
@renovate renovate Bot changed the title Update Rust crate jsonschema to 0.41 Update Rust crate jsonschema to 0.42 Feb 14, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-0.x branch from 65ceb21 to e45b301 Compare February 14, 2026 21:06
@renovate renovate Bot force-pushed the renovate/jsonschema-0.x branch from e45b301 to c6e3844 Compare February 28, 2026 16:34
@renovate renovate Bot changed the title Update Rust crate jsonschema to 0.42 Update Rust crate jsonschema to 0.43 Feb 28, 2026
@renovate renovate Bot changed the title Update Rust crate jsonschema to 0.43 Update Rust crate jsonschema to 0.44 Mar 2, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-0.x branch 2 times, most recently from 8c74d74 to c0d6e78 Compare March 8, 2026 21:32
@renovate renovate Bot changed the title Update Rust crate jsonschema to 0.44 Update Rust crate jsonschema to 0.45 Mar 8, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-0.x branch from c0d6e78 to 0a1a09b Compare April 11, 2026 01:41
@renovate renovate Bot changed the title Update Rust crate jsonschema to 0.45 Update Rust crate jsonschema to 0.46 Apr 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants