Skip to content

Update dependency jsonschema-rs to ^0.46.0#80

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

Update dependency jsonschema-rs to ^0.46.0#80
renovate[bot] wants to merge 1 commit intomainfrom
renovate/jsonschema-rs-0.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 16, 2025

This PR contains the following updates:

Package Change Age Confidence
jsonschema-rs (changelog) ^0.29.0^0.46.0 age confidence

Release Notes

Stranger6667/jsonschema (jsonschema-rs)

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

v0.37.4

Fixed
  • Stack overflow during validation of schemas with circular $ref chains (e.g., a -> b -> a).
  • Local $ref resolution within fragment-extracted external resources. #​892
Removed
  • Deprecated PrimitiveType & PrimitiveTypesBitMap.

v0.37.3

Fixed
  • External resources not discovered within subresources of local $ref targets. #​892

v0.37.2

Added
  • JsonTypeSet::len() and JsonTypeSet::remove() helpers for managing type sets.
Fixed
  • External resources not discovered through chained local $ref references. #​892

v0.37.1

Fixed
  • Stack overflow on empty $ref value. #​886

v0.37.0

Added
  • evaluate() top-level function for convenient access to structured validation output.
  • CLI: Schema-only validation now also validates all referenced schemas. #​804
  • Support for additional contentEncoding values per RFC 4648: base64url, base32, base32hex, and base16. These encodings are now validated alongside the existing base64 support in Draft 6 and 7. #​26
  • validator.iter_errors(instance).into_errors(). It returns a ValidationErrors type that collects validation errors and implements std::error::Error. #​451
Changed
  • BREAKING: ValidationError fields are private; use instance(), kind(), instance_path(), and schema_path() instead of accessing struct fields directly.
  • BREAKING: ErrorIterator is now a newtype wrapper instead of Box<dyn ValidationErrorIterator>.
Performance
  • validate and other APIs returning Result<_, ValidationError> are 5–10% faster in some workloads due to the smaller error handle.
  • evaluate: Avoiding deep clones of unmatched keyword values (e.g., title, description, examples) on every schema node evaluation by using Arc internally. Can be multiple times faster for schemas with large annotations.

v0.36.0

Added
  • CLI: Structured --output flag|list|hierarchical modes now stream newline-delimited JSON records with schema/instance metadata plus JSON Schema Output v1 payloads (default text output remains human-readable).
  • CLI: --errors-only flag to suppress successful validation output and only show failures.
  • CLI: When invoked with only a schema file (no instances), validates the schema against its meta-schema. #​804
  • New Validator::evaluate() API exposes JSON Schema Output v1 (flag/list/hierarchical) reports along with iterator helpers for annotations and errors.
  • meta::validator_for() function to build validators for meta-schema validation with full Validator API access.
  • Validator now implements Clone. #​809
Removed
  • Validator::apply(), Output, and BasicOutput types have been removed in favor of the richer evaluate() API.

v0.35.0

Added
  • Support for custom meta-schemas. Schemas with custom $schema URIs can now be used by registering their meta-schemas in the Registry via jsonschema::options().with_registry(). #​664
  • arbitrary-precision feature for exact numeric validation of large integers and decimals beyond standard floating-point limits. #​103
  • Support for HTTPS $schema URIs for drafts 04, 06, and 07 (e.g., https://json-schema.org/draft-07/schema). #​802
Changed
  • BREAKING: meta::is_valid now panics for unknown $schema values instead of defaulting to Draft 2020-12. meta::validate returns an error for unknown $schema values. Use meta::options().with_registry() to validate schemas against custom meta-schemas.
  • BREAKING: Resource::from_contents no longer returns Result and always succeeds, since draft detection no longer fails for unknown $schema values.
Removed
  • BREAKING: meta::try_is_valid and meta::try_validate. Use meta::is_valid and meta::validate instead.
  • BREAKING: primitive_type module (deprecated since 0.30.0). Use jsonschema::types instead.
Performance
  • required: short-circuit when the instance object has fewer properties than required keys.

v0.34.0

Changed
  • BREAKING: BasicOutput and Annotations no longer have lifetime parameters. Update type annotations from BasicOutput<'a> to BasicOutput and Annotations<'a> to Annotations.
  • referencing: URI caching now avoids hash collisions and reduces lock contention.
  • Update fluent-uri to 0.4.1.
  • Bump MSRV to 1.83.0.
  • Drop the Send + Sync bounds from Retrieve/AsyncRetrieve on wasm32.
  • Use the new draftX::meta::validator() helper so meta-schema validators lazy-init on wasm32 while native targets keep borrowing the cached jsonschema::meta::MetaValidator.
Fixed
  • Hostname and IDN hostname formats now decode xn-- labels, reject leading combining marks/uppercase prefixes, and enforce the latest JSON Schema punycode context rules.
  • Restore wasm32-unknown-unknown support. #​785
Performance
  • apply now reuses cached schema locations, URI fragments, and buffers for up to ~2.5x faster validation.
  • Recursive and regular $ref compilation deduplicates validator nodes, which decreases the memory usage and improves performance.
  • Validator compilation restores the regex cache for faster builds on regex-heavy schemas and precomputes absolute schema locations, trading a bit of compile time for faster apply on location-heavy workloads.
  • Large schema compilation is significantly faster. #​755
  • unevaluatedProperties validation is 25-35% faster through optimized property marking and early-exit paths.
  • unevaluatedProperties memory usage drastically reduced by eliminating redundant registry clones during compilation.
  • unevaluatedItems validation is ~10% faster through early-exit optimizations and eliminating redundant validations in combinators.
Removed
  • BREAKING: Validator::config to reduce the memory footprint.
  • BREAKING: Public DRAFT4_META_VALIDATOR, DRAFT6_META_VALIDATOR, DRAFT7_META_VALIDATOR, DRAFT201909_META_VALIDATOR, and DRAFT202012_META_VALIDATOR statics. Use draftX::meta::validator() helper functions instead (e.g., draft7::meta::validator()).

v0.33.0

Fixed
  • BREAKING: instance_path segments are now unescaped when iterating. LocationSegment::Property now holds Cow<'_, str> and LocationSegment is no longer Copy. #​788

v0.32.1

Changed
  • Bump fancy-regex to 0.16.

v0.32.0

Added
  • Added missing context field to ValidationErrorKind::OneOfMultipleValid.
Changed
  • Improved error message for enum.

v0.31.0

Added
  • CLI: flag -d, --draft <4|6|7|2019|2020> to enforce a specific JSON Schema draft.
  • CLI: flags --assert-format and --no-assert-format to toggle validation of format keywords.
  • Added context for ValidationErrorKind::AnyOf and ValidationErrorKind::OneOfNotValid which contains errors for all subschemas, each inside a separate vector with an index matching subschema ID.
Fixed
  • Improve the precision of multipleOf for float values.
Changed
  • Bump fancy-regex to 0.15.

v0.30.0

Added
  • Support for custom meta-schemas. Schemas with custom $schema URIs can now be used by registering their meta-schemas in the Registry via jsonschema::options().with_registry(). #​664
  • arbitrary-precision feature for exact numeric validation of large integers and decimals beyond standard floating-point limits. #​103
  • Support for HTTPS $schema URIs for drafts 04, 06, and 07 (e.g., https://json-schema.org/draft-07/schema). #​802
Changed
  • BREAKING: meta::is_valid now panics for unknown $schema values instead of defaulting to Draft 2020-12. meta::validate returns an error for unknown $schema values. Use meta::options().with_registry() to validate schemas against custom meta-schemas.
  • BREAKING: Resource::from_contents no longer returns Result and always succeeds, since draft detection no longer fails for unknown $schema values.
Removed
  • BREAKING: meta::try_is_valid and meta::try_validate. Use meta::is_valid and meta::validate instead.
  • BREAKING: primitive_type module (deprecated since 0.30.0). Use jsonschema::types instead.
Performance
  • required: short-circuit when the instance object has fewer properties than required keys.

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.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 16, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.30.0 Update dependency jsonschema-rs to ^0.31.0 Jul 28, 2025
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch 2 times, most recently from 7e64616 to 24c356a Compare July 30, 2025 03:29
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.31.0 Update dependency jsonschema-rs to ^0.32.0 Jul 30, 2025
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 24c356a to 9e33624 Compare August 10, 2025 14:28
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 9e33624 to 79d5e10 Compare August 24, 2025 21:05
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.32.0 Update dependency jsonschema-rs to ^0.33.0 Aug 24, 2025
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 79d5e10 to e8919b3 Compare November 14, 2025 18:29
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.33.0 Update dependency jsonschema-rs to ^0.34.0 Nov 14, 2025
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from e8919b3 to 94f307d Compare November 16, 2025 17:01
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.34.0 Update dependency jsonschema-rs to ^0.35.0 Nov 16, 2025
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 94f307d to 880f702 Compare November 18, 2025 05:50
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.35.0 Update dependency jsonschema-rs to ^0.36.0 Nov 18, 2025
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.36.0 Update dependency jsonschema-rs to ^0.37.0 Nov 19, 2025
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 880f702 to 3d3cc36 Compare November 19, 2025 10:40
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 3d3cc36 to 8320c66 Compare December 24, 2025 21:02
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.37.0 Update dependency jsonschema-rs to ^0.38.0 Dec 24, 2025
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.38.0 Update dependency jsonschema-rs to ^0.39.0 Jan 16, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch 2 times, most recently from ff7a442 to 03a0fde Compare January 18, 2026 13:37
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.39.0 Update dependency jsonschema-rs to ^0.40.0 Jan 18, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 03a0fde to d067a62 Compare February 4, 2026 20:57
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.40.0 Update dependency jsonschema-rs to ^0.41.0 Feb 4, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from d067a62 to ce4c32b Compare February 14, 2026 22:09
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.41.0 Update dependency jsonschema-rs to ^0.42.0 Feb 14, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from ce4c32b to 75d3732 Compare February 28, 2026 21:05
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.42.0 Update dependency jsonschema-rs to ^0.43.0 Feb 28, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 75d3732 to 2a32c8e Compare March 2, 2026 01:17
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.43.0 Update dependency jsonschema-rs to ^0.44.0 Mar 2, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 2a32c8e to 0c4674b Compare March 8, 2026 21:21
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.44.0 Update dependency jsonschema-rs to ^0.45.0 Mar 8, 2026
@renovate renovate Bot force-pushed the renovate/jsonschema-rs-0.x branch from 0c4674b to f03183c Compare April 10, 2026 22:13
@renovate renovate Bot changed the title Update dependency jsonschema-rs to ^0.45.0 Update dependency jsonschema-rs to ^0.46.0 Apr 10, 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