Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

build(deps): bump jsonschema from 0.18.0 to 0.29.0 #376

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 10, 2025

Bumps jsonschema from 0.18.0 to 0.29.0.

Release notes

Sourced from jsonschema's releases.

[Python] Release 0.29.0

Added

  • Added Registry class for schema reuse and reference resolution.

Performance

  • Significantly improved validator compilation speed by using pointer-based references to schema fragments instead of cloning them during traversal.

[Rust] Release 0.29.0

Breaking Changes

  • All builder methods on ValidationOptions now take ownership of self instead of &mut self. This change enables better support for non-blocking retrieval of external resources during the process of building a validator. Update your code to chain the builder methods instead of reusing the options instance:

    // Before (0.28.x)
    let mut options = jsonschema::options();
    options.with_draft(Draft::Draft202012);
    options.with_format("custom", my_format);
    let validator = options.build(&schema)?;
    // After (0.29.0)
    let validator = jsonschema::options()
    .with_draft(Draft::Draft202012)
    .with_format("custom", my_format)
    .build(&schema)?;

  • The Retrieve trait's retrieve method now accepts URI references as &Uri<String> instead of &Uri<&str>. This aligns with the async version and simplifies internal URI handling. The behavior and available methods remain the same, this is purely a type-level change.

    // Before
    fn retrieve(&self, uri: &Uri<&str>) -> Result<Value, Box<dyn std::error::Error + Send + Sync>>
    // After
    fn retrieve(&self, uri: &Uri<String>) -> Result<Value, Box<dyn std::error::Error + Send + Sync>>

  • Simplified Registry creation API:

    • Removed RegistryOptions::try_new and RegistryOptions::try_from_resources in favor of Registry::build
    • Removed Registry::try_with_resource_and_retriever - use Registry::options().retriever() instead
    • Registry creation is now consistently done through the builder pattern
    // Before (0.28.x)
    let registry = Registry::options()
        .draft(Draft::Draft7)
        .try_new(

... (truncated)

Changelog

Sourced from jsonschema's changelog.

[0.29.0] - 2025-02-08

Breaking Changes

  • All builder methods on ValidationOptions now take ownership of self instead of &mut self. This change enables better support for non-blocking retrieval of external resources during the process of building a validator. Update your code to chain the builder methods instead of reusing the options instance:

    // Before (0.28.x)
    let mut options = jsonschema::options();
    options.with_draft(Draft::Draft202012);
    options.with_format("custom", my_format);
    let validator = options.build(&schema)?;
    // After (0.29.0)
    let validator = jsonschema::options()
    .with_draft(Draft::Draft202012)
    .with_format("custom", my_format)
    .build(&schema)?;

  • The Retrieve trait's retrieve method now accepts URI references as &Uri<String> instead of &Uri<&str>. This aligns with the async version and simplifies internal URI handling. The behavior and available methods remain the same, this is purely a type-level change.

    // Before
    fn retrieve(&self, uri: &Uri<&str>) -> Result<Value, Box<dyn std::error::Error + Send + Sync>>
    // After
    fn retrieve(&self, uri: &Uri<String>) -> Result<Value, Box<dyn std::error::Error + Send + Sync>>

  • Simplified Registry creation API:

    • Removed RegistryOptions::try_new and RegistryOptions::try_from_resources in favor of Registry::build
    • Removed Registry::try_with_resource_and_retriever - use Registry::options().retriever() instead
    • Registry creation is now consistently done through the builder pattern
    // Before (0.28.x)
    let registry = Registry::options()
        .draft(Draft::Draft7)
        .try_new(
            "http://example.com/schema",
            resource
        )?;
    let registry = Registry::options()
    .draft(Draft::Draft7)
    .try_from_resources([
    ("http://example.com/schema", resource)

... (truncated)

Commits
  • 44e787f chore(rust): Release 0.29.0
  • 620b1b9 docs: Update MIGRATION.md
  • d8df940 docs: Update CHANGELOG.md
  • d69a5d3 feat: Async retriever
  • 6a529dd feat(py): Schema Registry
  • ab71a6d perf: Minor performance improvements
  • 0f72d5c chore: Extend profiler
  • 706c6ac chore: Remove unnecessary clone in ValidationError::to_owned
  • 6a9f3ff perf: Add more benchmarks
  • 0582581 perf: Minor performance improvements
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Feb 10, 2025
Bumps [jsonschema](https://github.com/Stranger6667/jsonschema) from 0.18.0 to 0.29.0.
- [Release notes](https://github.com/Stranger6667/jsonschema/releases)
- [Changelog](https://github.com/Stranger6667/jsonschema/blob/master/CHANGELOG.md)
- [Commits](Stranger6667/jsonschema@rust-v0.18.0...rust-v0.29.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/cargo/jsonschema-0.29.0 branch from d80cda7 to 26fb1cf Compare February 17, 2025 07:55
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants