Skip to content

fix(deps): update rust crate thiserror to v2#7288

Merged
goto-bus-stop merged 4 commits intodevfrom
renovate/thiserror-2.x
Apr 28, 2025
Merged

fix(deps): update rust crate thiserror to v2#7288
goto-bus-stop merged 4 commits intodevfrom
renovate/thiserror-2.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Apr 16, 2025

This PR contains the following updates:

Package Type Update Change
thiserror dependencies major 1.0.61 -> 2.0.0
thiserror dependencies major 1.0 -> 2.0

Release Notes

dtolnay/thiserror (thiserror)

v2.0.12

Compare Source

  • Prevent elidable_lifetime_names pedantic clippy lint in generated impl (#​413)

v2.0.11

Compare Source

v2.0.10

Compare Source

  • Support errors containing a generic type parameter's associated type in a field (#​408)

v2.0.9

Compare Source

  • Work around missing_inline_in_public_items clippy restriction being triggered in macro-generated code (#​404)

v2.0.8

Compare Source

  • Improve support for macro-generated derive(Error) call sites (#​399)

v2.0.7

Compare Source

  • Work around conflict with #[deny(clippy::allow_attributes)] (#​397, thanks @​zertosh)

v2.0.6

Compare Source

  • Suppress deprecation warning on generated From impls (#​396)

v2.0.5

Compare Source

  • Prevent deprecation warning on generated impl for deprecated type (#​394)

v2.0.4

Compare Source

v2.0.3

Compare Source

  • Support the same Path field being repeated in both Debug and Display representation in error message (#​383)
  • Improve error message when a format trait used in error message is not implemented by some field (#​384)

v2.0.2

Compare Source

  • Fix hang on invalid input inside #[error(...)] attribute (#​382)

v2.0.1

Compare Source

  • Support errors that contain a dynamically sized final field (#​375)
  • Improve inference of trait bounds for fields that are interpolated multiple times in an error message (#​377)

v2.0.0

Compare Source

Breaking changes
  • Referencing keyword-named fields by a raw identifier like {r#type} inside a format string is no longer accepted; simply use the unraw name like {type} (#​347)

    This aligns thiserror with the standard library's formatting macros, which gained support for implicit argument capture later than the release of this feature in thiserror 1.x.

    #[derive(Error, Debug)]
    #[error("... {type} ...")]  // Before: {r#type}
    pub struct Error {
        pub r#type: Type,
    }
  • Trait bounds are no longer inferred on fields whose value is shadowed by an explicit named argument in a format message (#​345)

    // Before: impl<T: Octal> Display for Error<T>
    // After: impl<T> Display for Error<T>
    #[derive(Error, Debug)]
    #[error("{thing:o}", thing = "...")]
    pub struct Error<T> {
        thing: T,
    }
  • Tuple structs and tuple variants can no longer use numerical {0} {1} access at the same time as supplying extra positional arguments for a format message, as this makes it ambiguous whether the number refers to a tuple field vs a different positional arg (#​354)

    #[derive(Error, Debug)]
    #[error("ambiguous: {0} {}", $N)]
    //                  ^^^ Not allowed, use #[error("... {0} {n}", n = $N)]
    pub struct TupleError(i32);
  • Code containing invocations of thiserror's derive(Error) must now have a direct dependency on the thiserror crate regardless of the error data structure's contents (#​368, #​369, #​370, #​372)

Features
  • Support disabling thiserror's standard library dependency by disabling the default "std" Cargo feature: thiserror = { version = "2", default-features = false } (#​373)

  • Support using r#source as field name to opt out of a field named "source" being treated as an error's Error::source() (#​350)

    #[derive(Error, Debug)]
    #[error("{source} ==> {destination}")]
    pub struct Error {
        r#source: char,
        destination: char,
    }
    
    let error = Error { source: 'S', destination: 'D' };
  • Infinite recursion in a generated Display impl now produces an unconditional_recursion warning (#​359)

    #[derive(Error, Debug)]
    #[error("??? {self}")]
    pub struct Error;
  • A new attribute #[error(fmt = path::to::myfmt)] can be used to write formatting logic for an enum variant out-of-line (#​367)

    #[derive(Error, Debug)]
    pub enum Error {
        #[error(fmt = demo_fmt)]
        Demo { code: u16, message: Option<String> },
    }
    
    fn demo_fmt(code: &u16, message: &Option<String>, formatter: &mut fmt::Formatter) -> fmt::Result {
        write!(formatter, "{code}")?;
        if let Some(msg) = message {
            write!(formatter, " - {msg}")?;
        }
        Ok(())
    }
  • Enums with an enum-level format message are now able to have individual variants that are transparent to supersede the enum-level message (#​366)

    #[derive(Error, Debug)]
    #[error("my error {0}")]
    pub enum Error {
        Json(#[from] serde_json::Error),
        Yaml(#[from] serde_yaml::Error),
        #[error(transparent)]
        Other(#[from] anyhow::Error),
    }

Configuration

📅 Schedule: 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 these updates 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 requested a review from a team April 16, 2025 12:06
@renovate
Copy link
Contributor Author

renovate bot commented Apr 16, 2025

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path apollo-federation/Cargo.toml --package thiserror@1.0.69 --precise 2.0.12
    Updating crates.io index
error: failed to select a version for the requirement `thiserror = "^1.0.31"`
candidate versions found which didn't match: 2.0.12
location searched: crates.io index
required by package `apollo-compiler v1.27.0`
    ... which satisfies dependency `apollo-compiler = "^1.27.0"` (locked to 1.27.0) of package `apollo-router v2.1.2 (/tmp/renovate/repos/github/apollographql/router/apollo-router)`

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path apollo-router/Cargo.toml --package thiserror@1.0.69 --precise 2.0.12
    Updating crates.io index
error: failed to select a version for the requirement `thiserror = "^1.0.31"`
candidate versions found which didn't match: 2.0.12
location searched: crates.io index
required by package `apollo-compiler v1.27.0`
    ... which satisfies dependency `apollo-compiler = "^1.27.0"` (locked to 1.27.0) of package `apollo-router v2.1.2 (/tmp/renovate/repos/github/apollographql/router/apollo-router)`

@renovate renovate bot requested review from a team as code owners April 16, 2025 12:06
@github-actions
Copy link
Contributor

@renovate[bot], please consider creating a changeset entry in /.changesets/. These instructions describe the process and tooling.

@svc-apollo-docs
Copy link
Collaborator

svc-apollo-docs commented Apr 16, 2025

✅ Docs preview has no changes

The preview was not built because there were no changes.

Build ID: 71122602bbeef2e49cc02767

@renovate
Copy link
Contributor Author

renovate bot commented Apr 18, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@goto-bus-stop goto-bus-stop enabled auto-merge (squash) April 28, 2025 08:57
@goto-bus-stop goto-bus-stop merged commit a241404 into dev Apr 28, 2025
15 checks passed
@goto-bus-stop goto-bus-stop deleted the renovate/thiserror-2.x branch April 28, 2025 09:19
Aguilarjaf added a commit to ExpediaGroup/apollo-router that referenced this pull request Jun 9, 2025
* Remove duplicate reqwest (apollographql#7329)

* Port first batch of supgraph validation tests (apollographql#7321)

- Adds a portion of the subgraph validation tests being ported over from the federation repo.
- Exposes error fields on SubgraphError and FederationError for use in the tests.
  - Creates a public getter method for SubgraphError's error field
  - Creates a public getter method returning an array of errors associated with a given FederationError
- Ports over the build_for_errors() test utility.

* chore(deps): update xtask/Cargo.lock h2 dependency (apollographql#7336)

* [docs] Add new page for query planning best practices (apollographql#7263)

Co-authored-by: Lucas Leadbetter <5595530+lleadbet@users.noreply.github.com>
Co-authored-by: Edward Huang <edhuang@gmail.com>

* fix: terminate unused Redis connections on schema update (apollographql#7319)

Co-authored-by: Renée <renee.kooi@apollographql.com>

* test(federation/composition): ported the rest of "@core/@link handling" tests  (apollographql#7335)

* Add code for add_shareable and has_applied_directive (apollographql#7327)

* Basic changes to connect/

* docs: otlp metrics exporters (apollographql#7334)

* Removes redundant clones

* add const fn warning

* Remove const_fn warning

* Apply comments

* Remove todo comment

* Update apollo-federation/src/sources/connect/json_selection/parser.rs

Co-authored-by: Dylan Anthony <dylan@apollographql.com>

* Update apollo-federation/src/sources/connect/json_selection/parser.rs

Co-authored-by: Dylan Anthony <dylan@apollographql.com>

* Reformats code after suggestions

* fix(deps): update rust crate thiserror to v2 (apollographql#7288)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renée Kooi <renee.kooi@apollographql.com>

* deps: update apollo-compiler (apollographql#7338)

* Add _dd.measured to spans when agent sampling is enabled (apollographql#7344)

Co-authored-by: bryn <bryn@apollographql.com>

* Fix metric `apollo.router.operations.batching.size` (apollographql#7306)

Signed-off-by: Benjamin <5719034+bnjjj@users.noreply.github.com>
Co-authored-by: Jesse Rosenberger <git@jro.cc>

* Clarify coprocessor config `context: true` behaviour (apollographql#7349)

* Avoid unnecessary cloning in the deduplication plugin (apollographql#7347)

* expanded supergraph now uses join spec v0.5 so that we don't skip the… (apollographql#7351)

* make use of new build image when building the router (apollographql#7355)

* Move content negotiation to a plugin (apollographql#7316)

Co-authored-by: Iryna Shestak <shestak.irina@gmail.com>

* Port batch of `subgraph_validation_tests` from federation repo (apollographql#7345)

* DOC-391 clarify tracing exporters configs of OTLP

* edit overview

* Add subgraph validation for interface objects (apollographql#7317)

Port `validateKeyOnInterfacesAreAlsoOnAllImplementations()` and `validateInterfaceObjectsAreOnEntities()` from the JS composition code, i.e. the per-subgraph validations for interface objects. Note that as part of this, `printHumanReadableList()` and `joinStrings()`, were also ported.

* rewrite upgrade_subgraphs_if_necessary() to minimize cloning and fix tests. (apollographql#7346)

* Update schema upgrader to use apollo-compiler 1.28 (apollographql#7356)

* test(federation/composition): Port subgraph validation tests (part 2) (apollographql#7343)

Co-authored-by: Taylor Ninesling <taylor.ninesling@apollographql.com>

* Fix clippy when run with `--all-features` (apollographql#7352)

* Move aggressive lints to connectors module

* temporarily ignore failing tests in dev (apollographql#7375)

* fix-less-performant-code

* docs: fix typo in distributed caching (apollographql#7358)

* docs: typo on PQ docs (apollographql#7373)

* Fix router enforcement of connect spec version. (apollographql#7377)

* Add a test in connectors batching for handling gaps (apollographql#7328)

* Remove fed1 links and reexpand after fixing federation arguments (apollographql#7374)

* DOC-448 clarify apollo_router_session_count_active removal

* feat(federation/composition): ported `@external` directive validation (apollographql#7381)

* Remove 0.2 version checks in composition for headers & connect-on-type (apollographql#7387)

* feat(federation/composition): implemented `UNSUPPORTED_ON_INTERFACE` errors (apollographql#7382)

* implement ->joinNotNull method (apollographql#7165)

Co-authored-by: Ben Newman <ben@apollographql.com>

* chore: remove dead code (apollographql#7391)

* Auto-upgrade connect 0.1 subgraphs to 0.2 in composition (apollographql#7388)

* telemetry: remove excessive bool from DisplayRouterResponse(refactoring) (apollographql#7331)

* Simplify condition handling in coprocessor (apollographql#7320)

* Implement demand control directive validations (apollographql#7376)

* Remove aws-lc from dependencies (apollographql#7389)

* Account for spec aliases/imports when auto-injecting `link` spec directives/types (apollographql#7365)

When the `@link` directive definition is missing, we have some logic that automatically adds the `link` spec's type/directive definitions to the schema. We weren't accounting for the link spec's aliases/imports when doing this, while the JS codebase was, so we've ported that logic here. Note that this logic has several bugs, but we're going to port it as-is for now and address the bugs later.

* chore(federation/composition): deleted a duplicate test module `link_handling_tests` (apollographql#7392)

* fix: decrease log level for JWT authentication failure (apollographql#7396)

* fix: make sure all input types end up in the expanded supergraph (apollographql#7383)

* remove apollographql#7383 changeset (apollographql#7401)

* Revert "Add _dd.measured to spans when agent sampling is enabled" (apollographql#7403)

* fix: spans should only include path in `http.route` (apollographql#7390)

* fix: propagate client name and version modifications through telemetry (apollographql#7369)

* Manage all CI versions through mise and use binstall (backport apollographql#7393) (apollographql#7410)

* prep release: v2.2.1-rc.0

* macos specific mise: we need x86_64-apple-darwin + aarch64-apple-darwin

these both need to be installed on our releasing image

* Remove no-longer-necessary installation of `gh` via Orb ✨

This is now accomplished with `gh`

* prep release: v2.2.1-rc.1

* Include inadvertently removed fetch_dependencies

This was inadverently removed in apollographql#7410 but should continue to exist.

* prep release: v2.2.1

---------

Signed-off-by: Benjamin <5719034+bnjjj@users.noreply.github.com>
Co-authored-by: Dylan Anthony <dylan@apollographql.com>
Co-authored-by: Chidimma O <conwuegb@users.noreply.github.com>
Co-authored-by: Jesse Rosenberger <git@jro.cc>
Co-authored-by: Shane Myrick <mail@shanemyrick.com>
Co-authored-by: Lucas Leadbetter <5595530+lleadbet@users.noreply.github.com>
Co-authored-by: Edward Huang <edhuang@gmail.com>
Co-authored-by: Caroline Rodewig <16093297+carodewig@users.noreply.github.com>
Co-authored-by: Renée <renee.kooi@apollographql.com>
Co-authored-by: Duckki Oe <duckki.oe@apollographql.com>
Co-authored-by: Chris Lenfest <clenfest@apollographql.com>
Co-authored-by: Julia Naomi <jnboeira@outlook.com>
Co-authored-by: Edward Huang <edward.huang@apollographql.com>
Co-authored-by: Julia Naomi <naomijub@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bryn Cooke <BrynCooke@gmail.com>
Co-authored-by: bryn <bryn@apollographql.com>
Co-authored-by: Coenen Benjamin <benjamin.coenen@hotmail.com>
Co-authored-by: Gary Pennington <gary@apollographql.com>
Co-authored-by: Lenny Burdette <lenny@apollographql.com>
Co-authored-by: Iryna Shestak <shestak.irina@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Sachin D. Shinde <sachin@apollographql.com>
Co-authored-by: Taylor Ninesling <taylor.ninesling@apollographql.com>
Co-authored-by: Sam Friedman <sam.friedman@apollographql.com>
Co-authored-by: Dale Seo <5466341+DaleSeo@users.noreply.github.com>
Co-authored-by: Ben Newman <ben@apollographql.com>
Co-authored-by: Dariusz Kuc <9501705+dariuszkuc@users.noreply.github.com>
Co-authored-by: Ivan Goncharov <ivan.goncharov.ua@gmail.com>
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.

2 participants

Comments