Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

core/any: remove Provider trait, rename Demand to Request #113464

Merged
merged 1 commit into from
Aug 14, 2023

Conversation

waynr
Copy link
Contributor

@waynr waynr commented Jul 7, 2023

This touches on two WIP features:

The changes in this PR are intended to address libs meeting feedback summarized by @Amanieu in #96024 (comment)

The specific items this PR addresses so far are:

We feel that the names "demand" and "request" are somewhat synonymous and would like only one of those to be used for better consistency.

I went with Request here since it sounds nicer, but I'm mildly concerned that at first glance it could be confused with the use of the word in networking context.

The Provider trait should be deleted and its functionality should be merged into Error. We are happy to only provide an API that is only usable with Error. If there is demand for other uses then this can be provided through an external crate.

The net impact this PR has is that examples which previously looked like

    core::any::request_ref::<String>(&err).unwramp()

now look like

    (&err as &dyn core::error::Error).request_value::<String>().unwrap()

These are methods that based on the type hint when called return an Option<T> of that type. I'll admit I don't fully understand how that's done, but it involves core::any::tags::Type and core::any::TaggedOption, neither of which are exposed in the public API, to construct a Request which is then passed to the Error.provide method.

Something that I'm curious about is whether or not they are essential to the use of Request types (prior to this PR referred to as Demand) and if so does the fact that they are kept private imply that Requests are only meant to be constructed privately within the standard library? That's what it looks like to me.

These methods ultimately call into code that looks like:

/// Request a specific value by tag from the `Error`.
fn request_by_type_tag<'a, I>(err: &'a (impl Error + ?Sized)) -> Option<I::Reified>
where
    I: tags::Type<'a>,
{
    let mut tagged = core::any::TaggedOption::<'a, I>(None);
    err.provide(tagged.as_request());
    tagged.0
}

As far as the Request API is concerned, one suggestion I would like to make is that the previous example should look more like this:

/// Request a specific value by tag from the `Error`.
fn request_by_type_tag<'a, I>(err: &'a (impl Error + ?Sized)) -> Option<I::Reified>
where
    I: tags::Type<'a>,
{
    let tagged_request = core::any::Request<I>::new_tagged();
    err.provide(tagged_request);
    tagged.0
}

This makes it possible for anyone to construct a Request for use in their own projects without exposing an implementation detail like TaggedOption in the API surface.

Otherwise noteworthy is that I had to add pub(crate) on both core::any::TaggedOption and core::any::tags since Requests now need to be constructed in the core::error module. I considered moving TaggedOption into the core::error module but again I figured it's an implementation detail of Request and belongs closer to that.

At the time I am opening this PR, I have not yet looked into the following bit of feedback:

We took a look at the generated code and found that LLVM is unable to optimize multiple .provide_* calls into a switch table because each call fetches the type id from Erased::type_id separately each time and the compiler doesn't know that these calls all return the same value. This should be fixed.

This is what I'll focus on next while waiting for feedback on the progress so far. I suspect that learning more about the type IDs will help me understand the need for TaggedOption a little better.

@rustbot
Copy link
Collaborator

rustbot commented Jul 7, 2023

r? @cuviper

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jul 7, 2023
@rust-log-analyzer

This comment has been minimized.

@waynr
Copy link
Contributor Author

waynr commented Jul 7, 2023

One problem I'm currently running into when attempting to reproduce the failed test by running x doc is that there are rust tools (rustfmt and rust-analyzer that depend on thiserror which in turn actually depends on the unstable features my PR deals with):

Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
   Compiling cfg-if v1.0.0
   Compiling stable_deref_trait v1.2.0
   Compiling once_cell v1.18.0
   Compiling smallvec v1.10.0
   Compiling scopeguard v1.1.0
   Compiling log v0.4.19
   Compiling pin-project-lite v0.2.10
   Compiling libc v0.2.147
   Compiling memchr v2.5.0
   Compiling rustc-hash v1.1.0
   Compiling bitflags v1.3.2
   Compiling typenum v1.16.0
   Compiling zerofrom v0.1.2
   Compiling equivalent v1.0.0
   Compiling hashbrown v0.14.0
   Compiling thin-vec v0.2.12
   Compiling instant v0.1.12
   Compiling lock_api v0.4.10
   Compiling linux-raw-sys v0.3.8
   Compiling psm v0.1.21
   Compiling fastrand v1.9.0
   Compiling arrayvec v0.7.4
   Compiling either v1.8.1
   Compiling elsa v1.7.1
   Compiling yoke v0.7.1
   Compiling rustc_graphviz v0.0.0 (/home/wayne/projects/rust-lang/rust/compiler/rustc_graphviz)
   Compiling tracing-core v0.1.30
   Compiling itertools v0.10.5
   Compiling rustc_arena v0.0.0 (/home/wayne/projects/rust-lang/rust/compiler/rustc_arena)
   Compiling ena v0.14.2
   Compiling ppv-lite86 v0.2.17
   Compiling thiserror v1.0.40
   Compiling zerovec v0.9.4
error[E0432]: unresolved imports `std::any::Demand`, `std::any::Provider`
 --> /home/wayne/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-1.0.40/src/provide.rs:1:16
  |
1 | use std::any::{Demand, Provider};
  |                ^^^^^^  ^^^^^^^^ no `Provider` in `any`
  |                |
  |                no `Demand` in `any`

For more information about this error, try `rustc --explain E0432`.
error: could not compile `thiserror` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
Build completed unsuccessfully in 0:01:39

Does this mean I'll have to update thiserror to reflect the new API changes and include updating that to a new version in this PR? I was already considering that since the behavior I want is to enable automatic backtrace capture by thiserror.

@cuviper
Copy link
Member

cuviper commented Jul 7, 2023

This is a big change that I don't have any context on, so I'm reassigning based on the prior feedback.

r? @Amanieu

@rustbot rustbot assigned Amanieu and unassigned cuviper Jul 7, 2023
@thomcc
Copy link
Member

thomcc commented Jul 8, 2023

Can you write up new API somewhere (or at least the changes)? It's hard to get the full picture from the diff.

@the8472
Copy link
Member

the8472 commented Jul 8, 2023

One problem I'm currently running into when attempting to reproduce the failed test by running x doc is that there are rust tools (rustfmt and rust-analyzer that depend on thiserror which in turn actually depends on the unstable features my PR deals with):

Are the nightly features of those crates critical or can we disable them?

@waynr
Copy link
Contributor Author

waynr commented Jul 8, 2023

@thomcc Okay here's what I understand of the full API changes for provide_any and error_generic_member_access prior to this PR:

  • new public trait core::any::Provider with one method, fn provide<'a>(&'a self, demand: &mut Demand<'a>)
  • new public type core::any::Demand with several methods related to checking for or retrieving values or references:
    • pub fn provide_value<T>(&mut self, value: T) -> &mut Self
    • pub fn provide_value_with<T>(&mut self, fulfil: impl FnOnce() -> T) -> &mut Self
    • pub fn provide_ref<T: ?Sized + 'static>(&mut self, value: &'a T) -> &mut Self
    • pub fn provide_ref_with<T: ?Sized + 'static>( &mut self, fulfil: impl FnOnce() -> &'a T,) -> &mut Self
    • pub fn would_be_satisfied_by_value_of<T>(&self) -> bool
    • pub fn would_be_satisfied_by_ref_of<T>(&self) -> bool
  • new functions for working with Provider and Demand:
    • pub fn request_value<'a, T>(provider: &'a (impl Provider + ?Sized)) -> Option<T>
    • pub fn request_ref<'a, T>(provider: &'a (impl Provider + ?Sized)) -> Option<&'a T>
  • new public method with default noop implementation for trait core::error::Error: fn provide<'a>(&'a self, demand: &mut Demand<'a>) {}
  • Provider implementation for dyn Error

Again, this is the state of the provide_any and error_generic_member_access prior to this PR. The changes this PR makes is:

  • remove the new public trait core::any::Provider
  • rename core::any::Demand tocore::any::Request
  • remove core::any::request_ref and core::any::request_value functions
    • but it adds analogous request_ref and request_value methods to <dyn Error>
      • this is necessary because the current Request API doesn't allow instances to be constructed; request_ref and request_value internally do the work of constructing the Request instance and returning an Option<T> where T is the type annotation provided when calling request_value or request_ref.
  • remove the impl Provider for <dyn Error> block, but leave the fn provide<'a>(&'a self, demand: &mut Demand<'a>) {} on the Error trait

Not an API change, but this does also enable error_in_core, error_generic_member_access in library/core/tests/lib.rs which if I understand correctly is necessary because tests in library/core/tests/any.rs now need to import core::error::Error for some of their test cases (since Error is the only type that makes use of the new Request type being tested).

Also worth noting is that I had to add trait_upcasting which I don't fully understand but I think is because of test cases that look like this:

@@ -188,18 +196,18 @@ fn test_provider_boxed() {
 fn test_provider_concrete() {
     let obj = SomeConcreteType { some_string: "hello".to_owned() };

-    assert_eq!(&**request_ref::<String>(&obj).unwrap(), "hello");
-    assert_eq!(&*request_value::<String>(&obj).unwrap(), "bye");
-    assert_eq!(request_value::<u8>(&obj), None);
+    assert_eq!(&**(&obj as &dyn std::error::Error).request_ref::<String>().unwrap(), "hello");
+    assert_eq!(&*(&obj as &dyn std::error::Error).request_value::<String>().unwrap(), "bye");
+    assert_eq!((&obj as &dyn std::error::Error).request_value::<u8>(), None);
 }

-trait OtherTrait: Provider {}
+trait OtherTrait: std::error::Error {}

 impl OtherTrait for SomeConcreteType {}

 impl dyn OtherTrait {
     fn get_ref<T: 'static + ?Sized>(&self) -> Option<&T> {
-        request_ref::<T>(self)
+        <dyn core::error::Error>::request_ref_from::<T>(self)
     }
 }

Where OtherTrait requires that any implementing types also implement the dependency trait, in this case trait OtherTrait: std::error::Error. What I don't understand is why that feature wasn't required to be enabled prior to this PR since something similar was going on with OtherTrait: Provider 🤔

@waynr
Copy link
Contributor Author

waynr commented Jul 8, 2023

@thomcc Okay here's what I understand of the full API changes for provide_any and error_generic_member_access prior to this PR

To be absolutely clear, when I say "prior to this PR" I mean that these are unstable features that someone else worked on which are already in master branch. I am coming to these features late in the game picking up where other people left off and attempting to help address feedback in the tracking issues for these features.

@waynr
Copy link
Contributor Author

waynr commented Jul 8, 2023

One problem I'm currently running into when attempting to reproduce the failed test by running x doc is that there are rust tools (rustfmt and rust-analyzer that depend on thiserror which in turn actually depends on the unstable features my PR deals with):

Are the nightly features of those crates critical or can we disable them?

By "those crates" are you referring to the rustfmt and rust-analyzer crates? If so, I'm not sure what I would need to do to disable provide_any or error_generic_member_access for either of them. I tried this:

$ git show stash
commit bd3326d2276a490e6b212e9816f998cc76ecb6dd
Merge: 0c981cdd9cf 45dd2c0a6aa
Author: wayne warren <wayne.warren.s@gmail.com>
Date:   Sat Jul 8 12:11:33 2023 -0600

    WIP on master: 0c981cdd9cf core/any: remove references to Provider, update tests

diff --cc src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
index 5b72d57560b,5b72d57560b..6a0643da4dc
--- a/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
+++ b/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
@@@ -51,7 -51,7 +51,7 @@@ always-assert = "0.1.2
  # These dependencies are unused, but we pin them to a version here to restrict them for our transitive dependencies
  # so that we don't pull in duplicates of their dependencies like windows-sys and syn 1 vs 2
  # these would pull in serde 2
--thiserror = "=1.0.39"
++thiserror = { version = "=1.0.39", features = [] }
  serde_repr = "=0.1.11"
  # these would pull in windows-sys 0.45.0
  mio = "=0.8.5"
diff --cc src/tools/rustfmt/Cargo.toml
index 8c312f47a28,8c312f47a28..a16accc33d7
--- a/src/tools/rustfmt/Cargo.toml
+++ b/src/tools/rustfmt/Cargo.toml
@@@ -50,7 -50,7 +50,7 @@@ regex = "1.5
  serde = { version = "1.0.160", features = ["derive"] }
  serde_json = "1.0"
  term = "0.7"
--thiserror = "1.0.40"
++thiserror = { version = "1.0.40", features = [] }
  toml = "0.7.4"
  unicode-segmentation = "1.9"
  unicode-width = "0.1"

But end up seeing the same error anyway when I run x doc. @the8472 where else might I look to disable them?

@waynr
Copy link
Contributor Author

waynr commented Jul 8, 2023

Are the nightly features of those crates critical or can we disable them?

So my vague understanding is that thiserror bases its usage of the provide_any features on the rust feature flag:

#![cfg_attr(provide_any, feature(provide_any))]

If I understand correctly, then provide_any is enabled on the rustfmt and rust-analyzer crates because when building using x doc they are built with nightly features of the standard library enabled and provide_any is considered a nightly feature (is that right?).

So to be clear I don't think that rustfmt and rust-analyzer are using these features intentionally, they just happen to be enabled when compiling thiserror on nightly.

I can think of three ways to fix the problem for this PR:

  • add thiserror-specific feature flag to thiserror (ie open a PR against that repo) that allows us to explicitly disable usage of provide_any features eg
#![cfg_attr(all(provide_any, enable_provide_any), feature(provide_any))]
  • somehow remove provide_any from the default set of enabled nightly features
  • work on a PR against thiserror in parallel with this PR to keep the changes sync'd

My preference would be the last option. I will test the thiserror branch I work on builds using a toolchain that i build from the rust repo. For the sake of getting CI to pass on this PR I think I would need to pin that version to a branch in the cargo.toml of rustfmt and rust-analyzer (I'm still a little fuzzy on how the compilation stages/steps work)

One problem I can anticipate with this approach is the need to work out a merge strategy between rust maintainers and thiserror maintainers since there is kind of a chicken-and-egg problem here:

  • would we merge into thiserror first, leaving its master/main branch broken until this PR merges into rust master?
    • I would think not because this would break anyone using thiserror on nightly.
  • or would we merge into rust first? but could we if tools aren't building?

One way to resolve the issue might be to merge this PR with a git-pinned version, for which there seems to be precedent:

./compiler/rustc_codegen_gcc/Cargo.toml
25:gccjit = { git = "https://github.com/antoyo/gccjit.rs" }

Then we would merge the thiserror PR, get a release for it, and update the rustfmt and rust-analyzer crates with the new thiserror version. At this point users who haven't updated their old nightly would just need to update it to keep building their project on nightly.

I'm probably overthinking this. If nightly is temporarily broken for a particular crate users can just hold off on updating until there is a good nightly build of the toolchain.

I hope none of this sounds crazy, I'm just trying to be thorough in my response!

@workingjubilee
Copy link
Member

bikesheddy/nonblocking comment: I agree that Demand makes this API look a lot different from "some networking thing", whereas the "nicer" sounding Request is indeed a bit confusing, and thus would indeed slightly prefer the meaner type. 😈

It wouldn't be the first overloaded name in std, though, if the consensus was otherwise, so it's not the end of the world either way.

@waynr
Copy link
Contributor Author

waynr commented Jul 28, 2023

bikesheddy/nonblocking comment: I agree that Demand makes this API look a lot different from "some networking thing", whereas the "nicer" sounding Request is indeed a bit confusing, and thus would indeed slightly prefer the meaner type.

Since we're getting bike-sheddy...

In addition to the lack of manners, I also don't like Demand because the word implies a sense of intolerance for not getting what is being demanded whereas the value/reference being returned here is wrapped in an Option<T> which implies the expectation that it may not be fulfilled. Therefore, for Demand to be semantically correct shouldn't we return a Result?

So instead of Demand or Request, what do you think about Query? I feel like this is better-aligned with returning an Option<T> than Demand and possibly even better than Request.

@workingjubilee
Copy link
Member

clearly, if we want to be that polite, we should make it an Invitation! /silly

@waynr
Copy link
Contributor Author

waynr commented Jul 29, 2023

@Amanieu gentle ping for review, or suggestions as to who might have bandwidth to review in the near future. I'll also ping the t-release/triage channel in zulip as suggested in the dev guide.

@thomcc did my comment satisfy your request for a summary of changes?

@the8472 regarding my previous report of x doc failing -- I can no longer reproduce that issue locally since I removed the provide_any flag in my latest commit but did see a suggestion from dtolany that it may have been some kind of bug in the bootstrap tooling related to unexpected standard lib used for build scripts:

That error is caused by a bug in rustc's bootstrap where, in some stages, the standard library that gets picked up if $RUSTC is run from a build script is not the standard library that the rest of the crate will get built against.

I don't fully understand this yet. It seems strange to me that it was happening at all given that the thiserror build script performs a trybuild-based probe to detect the availability of the Provider feature: https://github.com/dtolnay/thiserror/blob/543e1237d600949398a7c2e301722ce63cabbd95/build.rs#L22

I guess if the nightly toolchain automatically enables provide_any than the build script is kind of a noop?

Anyway, to answer your original question again more concisely:

Are the nightly features of those crates critical or can we disable them?

They are effectively disabled with the latest changes in this PR (ie removing the provide_any feature flag entirely).

@waynr waynr marked this pull request as ready for review July 29, 2023 22:31
library/core/src/any.rs Outdated Show resolved Hide resolved
library/core/src/any.rs Outdated Show resolved Hide resolved
library/core/src/error.rs Show resolved Hide resolved
library/core/src/error.rs Outdated Show resolved Hide resolved
library/core/src/error.rs Outdated Show resolved Hide resolved
library/core/tests/any.rs Outdated Show resolved Hide resolved
library/core/tests/any.rs Outdated Show resolved Hide resolved
@waynr
Copy link
Contributor Author

waynr commented Aug 10, 2023

@Amanieu I believe I have addressed all your feedback. I also moved some tests from library/core/tests/any.rs into a newly-created file library/core/tests/error.rs since even though they are making use of core::any::Request in some of the test helper code, the tests themselves actually exercise core::error::request_{ref,value}. But I added this as the last commit in my series of changes so if that reasoning doesn't jive with you it's easy to revert.

I mentioned this in a comment on #104485, but I am curious what makes the addition of ?Sized as a bound to generic type parameter a backwards incompatible/breaking change (this claim was made on #104485). Doesn't ?Sized merely relax/remove the implicit Sized bound on type parameters? With the addition of ?Sized to a type parameter, types that are Sized should still be valid if I understand correctly (and I often don't 🙂). If we could relax that Sized requirement on Box<dyn Error> then we could keep the test I commented out with a NOTE attempting to explain this situation in my recent updates. I think I just realized the issue here -- it's the downstream usages of Box<dyn Error> (ie contexts receiving and using Box<dyn Error> such as an error-reporting library like anyhow that rely on it having a size known at compile time) that potentially rely on the Sized bound which would be broken if it's removed, not the Box<dyn Error> itself.

Anyway, thanks again for your patience and quick responses to my questions!

library/core/src/error.rs Outdated Show resolved Hide resolved
library/core/src/any.rs Outdated Show resolved Hide resolved
library/core/src/any.rs Outdated Show resolved Hide resolved
library/core/src/any.rs Outdated Show resolved Hide resolved
github-merge-queue bot referenced this pull request in knope-dev/knope Aug 15, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies |
patch | `1.0.44` -> `1.0.45` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

###
[`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

- Update backtrace support to nightly's new Error::provide API
([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464),
[#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/knope-dev/knope).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot pushed a commit to pdylanross/fatigue that referenced this pull request Aug 15, 2023
Bumps thiserror from 1.0.44 to 1.0.45.

Release notes
Sourced from thiserror's releases.

1.0.45

Update backtrace support to nightly's new Error::provide API (rust-lang/rust#113464, #246)




Commits

06f1895 Release 1.0.45
a11330f Merge pull request #246 from dtolnay/errorprovide
8a95c25 Update to nightly's new Error::provide API
543e123 Revert "Temporarily disable -Zrandomize-layout due to rustc ICE"
41b23f2 Temporarily disable -Zrandomize-layout due to rustc ICE
See full diff in compare view




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)
kodiakhq bot referenced this pull request in YoloDev/cargo-featurex Aug 15, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies |
patch | `1.0.44` -> `1.0.45` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

###
[`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

- Update backtrace support to nightly's new Error::provide API
([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464),
[#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### 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 this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/YoloDev/cargo-featurex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tyranron pushed a commit to JelteF/derive_more that referenced this pull request Aug 15, 2023
… nightly APIs (#294)

## Synopsis

Update derive and tests to work on the latest nightly with the changes
in [this PR](rust-lang/rust#113464).


## Solution

Use `error::{Request, request_ref, request_value}` instead of
`any::{Demand, request_ref, request_value}`.

Currently, `request_value` is not re-exported from `core::error` in
`std::error`, which means backtrace tests require
`#![feature(error_in_core)]`.

Presumably this is a bug, and will be fixed later.
shepmaster added a commit to shepmaster/rust that referenced this pull request Aug 18, 2023
I think this was simply forgotten in rust-lang#113464.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Aug 19, 2023
…anieu

Expose core::error::request_value in std

I think this was simply forgotten in rust-lang#113464.

/cc `@waynr`

r? `@Amanieu`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Aug 19, 2023
…anieu

Expose core::error::request_value in std

I think this was simply forgotten in rust-lang#113464.

/cc ``@waynr``

r? ``@Amanieu``
Isawan referenced this pull request in Isawan/terrashine Aug 24, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch |
`^1.0.69` -> `^1.0.75` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

- Partially work around rust-analyzer bug
([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

- Add bootstrap workaround to allow rustc to depend on anyhow
([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks
[@&#8203;RalfJung](https://togithub.com/RalfJung))

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

- Update backtrace support to nightly's new Error::provide API
([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464),
[#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

### [`v1.0.71`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.71)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.70...1.0.71)

-   Documentation improvements

### [`v1.0.70`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.70)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.69...1.0.70)

-   Update syn dependency to 2.x

</details>

---

### 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 this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Isawan/terrashine).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
youngsofun added a commit to youngsofun/bendsql that referenced this pull request Aug 29, 2023
Update backtrace support to nightly's new Error::provide API (rust-lang/rust#113464, databendlabs#319)
youngsofun added a commit to youngsofun/bendsql that referenced this pull request Aug 29, 2023
Update backtrace support to nightly's new Error::provide API (rust-lang/rust#113464, databendlabs#319)
bors referenced this pull request in rust-lang/cargo Sep 1, 2023
chore(deps): update compatible

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.72` -> `1.0.75` |
| [base64](https://togithub.com/marshallpierce/rust-base64) | workspace.dependencies | patch | `0.21.2` -> `0.21.3` |
| [bytesize](https://togithub.com/hyunsik/bytesize) | workspace.dependencies | minor | `1.2` -> `1.3` |
| [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | minor | `4.3.23` -> `4.4.2` |
| [filetime](https://togithub.com/alexcrichton/filetime) | workspace.dependencies | patch | `0.2.21` -> `0.2.22` |
| [flate2](https://togithub.com/rust-lang/flate2-rs) | workspace.dependencies | patch | `1.0.26` -> `1.0.27` |
| [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | minor | `2.5.0` -> `2.6.2` |
| [openssl](https://togithub.com/sfackler/rust-openssl) | workspace.dependencies | patch | `0.10.55` -> `0.10.57` |
| [serde-untagged](https://togithub.com/dtolnay/serde-untagged) | workspace.dependencies | patch | `0.1.0` -> `0.1.1` |
| [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.104` -> `1.0.105` |
| [snapbox](https://togithub.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://togithub.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.4.11` -> `0.4.12` |
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.28` -> `2.0.29` |
| [tar](https://togithub.com/alexcrichton/tar-rs) | workspace.dependencies | patch | `0.4.39` -> `0.4.40` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://togithub.com/Stebalien/tempfile)) | workspace.dependencies | minor | `3.7.0` -> `3.8.0` |
| [thiserror](https://togithub.com/dtolnay/thiserror) | workspace.dependencies | patch | `1.0.44` -> `1.0.47` |
| [unicase](https://togithub.com/seanmonstar/unicase) | workspace.dependencies | minor | `2.6.0` -> `2.7.0` |
| [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.4.0` -> `2.4.1` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

</details>

<details>
<summary>marshallpierce/rust-base64 (base64)</summary>

### [`v0.21.3`](https://togithub.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0213)

[Compare Source](https://togithub.com/marshallpierce/rust-base64/compare/v0.21.2...v0.21.3)

-   Implement `source` instead of `cause` on Error types
-   Roll back MSRV to 1.48.0 so Debian can continue to live in a time warp
-   Slightly faster chunked encoding for short inputs
-   Decrease binary size

</details>

<details>
<summary>hyunsik/bytesize (bytesize)</summary>

### [`v1.3.0`](https://togithub.com/hyunsik/bytesize/releases/tag/v1.3.0): Release 1.3.0

[Compare Source](https://togithub.com/hyunsik/bytesize/compare/v1.2.0...v1.3.0)

#### Changes

-   Improved performance by eliminating String creation by utilizing the original \&str slice [#&#8203;31](https://togithub.com/hyunsik/bytesize/issues/31) ([`@&#8203;ChanTsune](https://togithub.com/ChanTsune))`

</details>

<details>
<summary>clap-rs/clap (clap)</summary>

### [`v4.4.2`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#442---2023-08-31)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.1...v4.4.2)

##### Performance

-   Improve build times by removing `once_cell` dependency

### [`v4.4.1`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#441---2023-08-28)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.0...v4.4.1)

##### Features

-   Stabilize `Command::styles`

### [`v4.4.0`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#440---2023-08-24)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.3.24...v4.4.0)

##### Compatibility

-   Update MSRV to 1.70.0

### [`v4.3.24`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4324---2023-08-23)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.3.23...v4.3.24)

##### Fixes

-   Ensure column padding is preserved in `--help` with custom templates

</details>

<details>
<summary>alexcrichton/filetime (filetime)</summary>

### [`v0.2.22`](https://togithub.com/alexcrichton/filetime/compare/0.2.21...0.2.22)

[Compare Source](https://togithub.com/alexcrichton/filetime/compare/0.2.21...0.2.22)

</details>

<details>
<summary>rust-lang/flate2-rs (flate2)</summary>

### [`v1.0.27`](https://togithub.com/rust-lang/flate2-rs/releases/tag/1.0.27)

[Compare Source](https://togithub.com/rust-lang/flate2-rs/compare/1.0.26...1.0.27)

#### What's Changed

-   Move GzHeader into GzState by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [https://github.com/rust-lang/flate2-rs/pull/344](https://togithub.com/rust-lang/flate2-rs/pull/344)
-   Move blocked_partial_header_read test to read module by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [https://github.com/rust-lang/flate2-rs/pull/345](https://togithub.com/rust-lang/flate2-rs/pull/345)
-   Move gzip header parsing out of bufread module by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [https://github.com/rust-lang/flate2-rs/pull/346](https://togithub.com/rust-lang/flate2-rs/pull/346)
-   Fix a comment on the `Compression` struct by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/flate2-rs/pull/351](https://togithub.com/rust-lang/flate2-rs/pull/351)
-   Add notes about multiple streams to `GzDecoder` by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/flate2-rs/pull/347](https://togithub.com/rust-lang/flate2-rs/pull/347)
-   better error message when compiling with `--no-default-features` or `default-features = false` by [`@&#8203;Byron](https://togithub.com/Byron)` in [https://github.com/rust-lang/flate2-rs/pull/360](https://togithub.com/rust-lang/flate2-rs/pull/360)
-   Fix Read encoder examples by [`@&#8203;markgoddard](https://togithub.com/markgoddard)` in [https://github.com/rust-lang/flate2-rs/pull/356](https://togithub.com/rust-lang/flate2-rs/pull/356)
-   Add CIFuzz Github action by [`@&#8203;DavidKorczynski](https://togithub.com/DavidKorczynski)` in [https://github.com/rust-lang/flate2-rs/pull/326](https://togithub.com/rust-lang/flate2-rs/pull/326)
-   Fix GzDecoder Write partial filenames and comments by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [https://github.com/rust-lang/flate2-rs/pull/323](https://togithub.com/rust-lang/flate2-rs/pull/323)
-   Fix header CRC calculation of trailing zeros by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [https://github.com/rust-lang/flate2-rs/pull/363](https://togithub.com/rust-lang/flate2-rs/pull/363)
-   Fix broken link on README.md by [`@&#8203;wcampbell0x2a](https://togithub.com/wcampbell0x2a)` in [https://github.com/rust-lang/flate2-rs/pull/366](https://togithub.com/rust-lang/flate2-rs/pull/366)
-   Recommend MultiGzDecoder over GzDecoder in docs by [`@&#8203;jsha](https://togithub.com/jsha)` in [https://github.com/rust-lang/flate2-rs/pull/324](https://togithub.com/rust-lang/flate2-rs/pull/324)
-   Add functionality for custom (de)compress instances by [`@&#8203;PierreV23](https://togithub.com/PierreV23)` in [https://github.com/rust-lang/flate2-rs/pull/361](https://togithub.com/rust-lang/flate2-rs/pull/361)
-   Add maintenance document by [`@&#8203;Byron](https://togithub.com/Byron)` in [https://github.com/rust-lang/flate2-rs/pull/362](https://togithub.com/rust-lang/flate2-rs/pull/362)
-   Document that `read::GzDecoder` consumes bytes after end of gzip by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [https://github.com/rust-lang/flate2-rs/pull/367](https://togithub.com/rust-lang/flate2-rs/pull/367)
-   prepare 1.0.27 release by [`@&#8203;Byron](https://togithub.com/Byron)` in [https://github.com/rust-lang/flate2-rs/pull/369](https://togithub.com/rust-lang/flate2-rs/pull/369)

#### New Contributors

-   [`@&#8203;Byron](https://togithub.com/Byron)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/360](https://togithub.com/rust-lang/flate2-rs/pull/360)
-   [`@&#8203;markgoddard](https://togithub.com/markgoddard)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/356](https://togithub.com/rust-lang/flate2-rs/pull/356)
-   [`@&#8203;jsha](https://togithub.com/jsha)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/324](https://togithub.com/rust-lang/flate2-rs/pull/324)
-   [`@&#8203;PierreV23](https://togithub.com/PierreV23)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/361](https://togithub.com/rust-lang/flate2-rs/pull/361)

**Full Changelog**: rust-lang/flate2-rs@1.0.26...1.0.27

</details>

<details>
<summary>BurntSushi/memchr (memchr)</summary>

### [`v2.6.2`](https://togithub.com/BurntSushi/memchr/compare/2.6.1...2.6.2)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.6.1...2.6.2)

### [`v2.6.1`](https://togithub.com/BurntSushi/memchr/compare/2.6.0...2.6.1)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.6.0...2.6.1)

### [`v2.6.0`](https://togithub.com/BurntSushi/memchr/compare/2.5.0...2.6.0)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.5.0...2.6.0)

</details>

<details>
<summary>sfackler/rust-openssl (openssl)</summary>

### [`v0.10.57`](https://togithub.com/sfackler/rust-openssl/releases/tag/openssl-v0.10.57)

[Compare Source](https://togithub.com/sfackler/rust-openssl/compare/openssl-v0.10.56...openssl-v0.10.57)

#### What's Changed

-   Expose chacha20\_poly1305 on LibreSSL by [`@&#8203;alex](https://togithub.com/alex)` in [https://github.com/sfackler/rust-openssl/pull/2011](https://togithub.com/sfackler/rust-openssl/pull/2011)
-   Add openssl::cipher_ctx::CipherCtx::clone by [`@&#8203;johntyner](https://togithub.com/johntyner)` in [https://github.com/sfackler/rust-openssl/pull/2017](https://togithub.com/sfackler/rust-openssl/pull/2017)
-   Add X509VerifyParam::set_email by [`@&#8203;dhouck](https://togithub.com/dhouck)` in [https://github.com/sfackler/rust-openssl/pull/2018](https://togithub.com/sfackler/rust-openssl/pull/2018)
-   Add perl-FindBin dep for fedora by [`@&#8203;JadedBlueEyes](https://togithub.com/JadedBlueEyes)` in [https://github.com/sfackler/rust-openssl/pull/2023](https://togithub.com/sfackler/rust-openssl/pull/2023)
-   Update to bitflags 2.2.1. by [`@&#8203;qwandor](https://togithub.com/qwandor)` in [https://github.com/sfackler/rust-openssl/pull/1906](https://togithub.com/sfackler/rust-openssl/pull/1906)
-   Release openssl v0.10.57 and openssl-sys v0.9.92 by [`@&#8203;alex](https://togithub.com/alex)` in [https://github.com/sfackler/rust-openssl/pull/2025](https://togithub.com/sfackler/rust-openssl/pull/2025)

#### New Contributors

-   [`@&#8203;johntyner](https://togithub.com/johntyner)` made their first contribution in [https://github.com/sfackler/rust-openssl/pull/2017](https://togithub.com/sfackler/rust-openssl/pull/2017)
-   [`@&#8203;dhouck](https://togithub.com/dhouck)` made their first contribution in [https://github.com/sfackler/rust-openssl/pull/2018](https://togithub.com/sfackler/rust-openssl/pull/2018)
-   [`@&#8203;JadedBlueEyes](https://togithub.com/JadedBlueEyes)` made their first contribution in [https://github.com/sfackler/rust-openssl/pull/2023](https://togithub.com/sfackler/rust-openssl/pull/2023)
-   [`@&#8203;qwandor](https://togithub.com/qwandor)` made their first contribution in [https://github.com/sfackler/rust-openssl/pull/1906](https://togithub.com/sfackler/rust-openssl/pull/1906)

**Full Changelog**: sfackler/rust-openssl@openssl-v0.10.56...openssl-v0.10.57

### [`v0.10.56`](https://togithub.com/sfackler/rust-openssl/releases/tag/openssl-v0.10.56): openssl v0.10.56

[Compare Source](https://togithub.com/sfackler/rust-openssl/compare/openssl-v0.10.55...openssl-v0.10.56)

</details>

<details>
<summary>dtolnay/serde-untagged (serde-untagged)</summary>

### [`v0.1.1`](https://togithub.com/dtolnay/serde-untagged/compare/0.1.0...0.1.1)

[Compare Source](https://togithub.com/dtolnay/serde-untagged/compare/0.1.0...0.1.1)

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

### [`v1.0.105`](https://togithub.com/serde-rs/json/releases/tag/v1.0.105)

[Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.104...v1.0.105)

-   Support bool in map keys ([#&#8203;1054](https://togithub.com/serde-rs/json/issues/1054))

</details>

<details>
<summary>assert-rs/trycmd (snapbox)</summary>

### [`v0.4.12`](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.4.11...snapbox-v0.4.12)

[Compare Source](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.4.11...snapbox-v0.4.12)

</details>

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.29`](https://togithub.com/dtolnay/syn/releases/tag/2.0.29)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.28...2.0.29)

-   Partially work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

</details>

<details>
<summary>alexcrichton/tar-rs (tar)</summary>

### [`v0.4.40`](https://togithub.com/alexcrichton/tar-rs/compare/0.4.39...0.4.40)

[Compare Source](https://togithub.com/alexcrichton/tar-rs/compare/0.4.39...0.4.40)

</details>

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

### [`v3.8.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#380)

[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.7.1...v3.8.0)

-   Added `with_prefix` and `with_prefix_in` to `TempDir` and `NamedTempFile` to make it easier to create temporary files/directories with nice prefixes.
-   Misc cleanups.

### [`v3.7.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#371)

[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.7.0...v3.7.1)

-   Tempfile builds on haiku again.
-   Under the hood, we've switched from the unlinkat/linkat syscalls to the regular unlink/link syscalls where possible.

</details>

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

<details>
<summary>seanmonstar/unicase (unicase)</summary>

### [`v2.7.0`](https://togithub.com/seanmonstar/unicase/releases/tag/v2.7.0)

[Compare Source](https://togithub.com/seanmonstar/unicase/compare/v2.6.0...v2.7.0)

#### What's Changed

-   Update to Unicode 15.0.0 by [`@&#8203;seanmonstar](https://togithub.com/seanmonstar)` in [https://github.com/seanmonstar/unicase/pull/59](https://togithub.com/seanmonstar/unicase/pull/59)

</details>

<details>
<summary>servo/rust-url (url)</summary>

### [`v2.4.1`](https://togithub.com/servo/rust-url/releases/tag/v2.4.1)

[Compare Source](https://togithub.com/servo/rust-url/compare/v2.4.0...v2.4.1)

##### What's Changed

-   Move debugger_visualizer tests to separate crate by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [https://github.com/servo/rust-url/pull/853](https://togithub.com/servo/rust-url/pull/853)
-   Remove obsolete badge references by [`@&#8203;atouchet](https://togithub.com/atouchet)` in [https://github.com/servo/rust-url/pull/852](https://togithub.com/servo/rust-url/pull/852)
-   Fix trailing spaces in scheme / pathname / search setters by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [https://github.com/servo/rust-url/pull/848](https://togithub.com/servo/rust-url/pull/848)
-   fix: implement std::error::Error for data-url by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [https://github.com/servo/rust-url/pull/698](https://togithub.com/servo/rust-url/pull/698)
-   Enable the GitHub merge queue by [`@&#8203;mrobinson](https://togithub.com/mrobinson)` in [https://github.com/servo/rust-url/pull/851](https://togithub.com/servo/rust-url/pull/851)
-   Rewrite WPT runner by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [https://github.com/servo/rust-url/pull/857](https://togithub.com/servo/rust-url/pull/857)
-   Implement std::error::Error for InvalidBase64 by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [https://github.com/servo/rust-url/pull/856](https://togithub.com/servo/rust-url/pull/856)
-   Add `--generate-link-to-definition` option when building on docs.rs by [`@&#8203;GuillaumeGomez](https://togithub.com/GuillaumeGomez)` in [https://github.com/servo/rust-url/pull/858](https://togithub.com/servo/rust-url/pull/858)
-   Stabilize debugger_visualizer feature by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [https://github.com/servo/rust-url/pull/855](https://togithub.com/servo/rust-url/pull/855)
-   Update WPT data and expectations by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [https://github.com/servo/rust-url/pull/859](https://togithub.com/servo/rust-url/pull/859)
-   Fix no_std Support for idna by [`@&#8203;domenukk](https://togithub.com/domenukk)` in [https://github.com/servo/rust-url/pull/843](https://togithub.com/servo/rust-url/pull/843)
-   Fix panic in set_path for file URLs  by [`@&#8203;valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/865](https://togithub.com/servo/rust-url/pull/865)

##### New Contributors

-   [`@&#8203;mrobinson](https://togithub.com/mrobinson)` made their first contribution in [https://github.com/servo/rust-url/pull/851](https://togithub.com/servo/rust-url/pull/851)
-   [`@&#8203;GuillaumeGomez](https://togithub.com/GuillaumeGomez)` made their first contribution in [https://github.com/servo/rust-url/pull/858](https://togithub.com/servo/rust-url/pull/858)
-   [`@&#8203;domenukk](https://togithub.com/domenukk)` made their first contribution in [https://github.com/servo/rust-url/pull/843](https://togithub.com/servo/rust-url/pull/843)

**Full Changelog**: servo/rust-url@v2.4.0...v2.4.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), 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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi42OC4xIiwidXBkYXRlZEluVmVyIjoiMzYuNjguMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
bors bot referenced this pull request in evenfurther/hibp-check Sep 11, 2023
385: Update Rust crate anyhow to 1.0.75 r=samueltardieu a=renovate-bot

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch | `1.0.71` -> `1.0.75` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/hibp-check).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: Mend Renovate <bot@renovateapp.com>
kodiakhq bot referenced this pull request in X-oss-byte/Canary-nextjs Sep 19, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch | `1.0.66` -> `1.0.75` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks [@&#8203;RalfJung](https://togithub.com/RalfJung))

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

### [`v1.0.71`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.71)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.70...1.0.71)

-   Documentation improvements

### [`v1.0.70`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.70)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.69...1.0.70)

-   Update syn dependency to 2.x

### [`v1.0.69`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.69)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.68...1.0.69)

-   Documentation improvements

### [`v1.0.68`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.68)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.67...1.0.68)

-   Opt out of `-Zrustdoc-scrape-examples` on docs.rs for now

### [`v1.0.67`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.67)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.66...1.0.67)

-   Improve the backtrace captured when `context()` is used on an `Option` ([#&#8203;280](https://togithub.com/dtolnay/anyhow/issues/280))

</details>

---

### 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 this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/sammyfilly/Canary-nextjs).
kodiakhq bot referenced this pull request in X-oss-byte/Nextjs Sep 21, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch | `1.0.66` -> `1.0.75` |
| [anyhow](https://togithub.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.69` -> `1.0.75` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks [@&#8203;RalfJung](https://togithub.com/RalfJung))

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

### [`v1.0.71`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.71)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.70...1.0.71)

-   Documentation improvements

### [`v1.0.70`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.70)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.69...1.0.70)

-   Update syn dependency to 2.x

### [`v1.0.69`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.69)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.68...1.0.69)

-   Documentation improvements

### [`v1.0.68`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.68)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.67...1.0.68)

-   Opt out of `-Zrustdoc-scrape-examples` on docs.rs for now

### [`v1.0.67`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.67)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.66...1.0.67)

-   Improve the backtrace captured when `context()` is used on an `Option` ([#&#8203;280](https://togithub.com/dtolnay/anyhow/issues/280))

</details>

---

### 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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/sammyfilly/Nextjs).
bors bot referenced this pull request in evenfurther/pathfinding Sep 22, 2023
431: chore(deps): update pre-commit/action action to v2.0.3 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pre-commit/action](https://togithub.com/pre-commit/action) | action | patch | `v2.0.0` -> `v2.0.3` |

---

### Release Notes

<details>
<summary>pre-commit/action (pre-commit/action)</summary>

### [`v2.0.3`](https://togithub.com/pre-commit/action/releases/tag/v2.0.3): pre-commit/action@v2.0.3

[Compare Source](https://togithub.com/pre-commit/action/compare/v2.0.2...v2.0.3)

##### Fixes

-   `push` compatibility with `actions/checkout@v2` which checks out the branch
    -   [#&#8203;97](https://togithub.com/pre-commit/action/issues/97) PR by [`@&#8203;jackton1](https://togithub.com/jackton1).`

### [`v2.0.2`](https://togithub.com/pre-commit/action/releases/tag/v2.0.2): pre-commit/action@v2.0.2

[Compare Source](https://togithub.com/pre-commit/action/compare/v2.0.1...v2.0.2)

retag of 2.0.1 but on the proper branch

### [`v2.0.1`](https://togithub.com/pre-commit/action/releases/tag/v2.0.1): pre-commit/action@v2.0.1

[Compare Source](https://togithub.com/pre-commit/action/compare/v2.0.0...v2.0.1)

##### Fixes

-   Avoid failures if cache saving fails
    -   [#&#8203;54](https://togithub.com/pre-commit/action/issues/54) PR by [`@&#8203;s-weigand](https://togithub.com/s-weigand)`
    -   [#&#8203;53](https://togithub.com/pre-commit/action/issues/53) issue by [`@&#8203;s-weigand](https://togithub.com/s-weigand)`

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


432: chore(deps): update rust crate trybuild to 1.0.85 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [trybuild](https://togithub.com/dtolnay/trybuild) | dev-dependencies | patch | `1.0.82` -> `1.0.85` |

---

### Release Notes

<details>
<summary>dtolnay/trybuild (trybuild)</summary>

### [`v1.0.85`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.85)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.84...1.0.85)

-   Set thread name to produce better message on panic ([#&#8203;243](https://togithub.com/dtolnay/trybuild/issues/243), [#&#8203;244](https://togithub.com/dtolnay/trybuild/issues/244))

### [`v1.0.84`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.84)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.83...1.0.84)

-   Stabilize usage of Cargo's `--keep-going` build mode, which parallelizes test compilation for a significant speedup ([https://github.com/rust-lang/cargo/pull/12568](https://togithub.com/rust-lang/cargo/pull/12568), [#&#8203;240](https://togithub.com/dtolnay/trybuild/issues/240))

### [`v1.0.83`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.83)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.82...1.0.83)

-   Improve normalization of code blocks after 'help:' ([#&#8203;238](https://togithub.com/dtolnay/trybuild/issues/238))

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


434: fix(deps): update rust crate thiserror to 1.0.48 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies | patch | `1.0.44` -> `1.0.48` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


435: chore(deps): update rust crate codspeed-criterion-compat to 2.2.0 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codspeed-criterion-compat](https://codspeed.io) ([source](https://togithub.com/CodSpeedHQ/codspeed-rust)) | dev-dependencies | minor | `2.1.0` -> `2.2.0` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-rust (codspeed-criterion-compat)</summary>

### [`v2.2.0`](https://togithub.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.2.0)

[Compare Source](https://togithub.com/CodSpeedHQ/codspeed-rust/compare/v2.1.0...v2.2.0)

#### What's Changed

It's now possible to disable `codspeed_criterion_compat` default features.

##### Details

-   fix: allow disabling criterion default features by [`@&#8203;art049](https://togithub.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/12](https://togithub.com/CodSpeedHQ/codspeed-rust/pull/12)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.1.0...v2.2.0

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bors bot referenced this pull request in evenfurther/pathfinding Sep 22, 2023
434: fix(deps): update rust crate thiserror to 1.0.48 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies | patch | `1.0.44` -> `1.0.48` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


435: chore(deps): update rust crate codspeed-criterion-compat to 2.2.0 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codspeed-criterion-compat](https://codspeed.io) ([source](https://togithub.com/CodSpeedHQ/codspeed-rust)) | dev-dependencies | minor | `2.1.0` -> `2.2.0` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-rust (codspeed-criterion-compat)</summary>

### [`v2.2.0`](https://togithub.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.2.0)

[Compare Source](https://togithub.com/CodSpeedHQ/codspeed-rust/compare/v2.1.0...v2.2.0)

#### What's Changed

It's now possible to disable `codspeed_criterion_compat` default features.

##### Details

-   fix: allow disabling criterion default features by [`@&#8203;art049](https://togithub.com/art049)` in [https://github.com/CodSpeedHQ/codspeed-rust/pull/12](https://togithub.com/CodSpeedHQ/codspeed-rust/pull/12)

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.1.0...v2.2.0

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bors bot referenced this pull request in evenfurther/pathfinding Sep 22, 2023
434: fix(deps): update rust crate thiserror to 1.0.48 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies | patch | `1.0.44` -> `1.0.48` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bors bot referenced this pull request in evenfurther/pathfinding Sep 22, 2023
432: chore(deps): update rust crate trybuild to 1.0.85 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [trybuild](https://togithub.com/dtolnay/trybuild) | dev-dependencies | patch | `1.0.82` -> `1.0.85` |

---

### Release Notes

<details>
<summary>dtolnay/trybuild (trybuild)</summary>

### [`v1.0.85`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.85)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.84...1.0.85)

-   Set thread name to produce better message on panic ([#&#8203;243](https://togithub.com/dtolnay/trybuild/issues/243), [#&#8203;244](https://togithub.com/dtolnay/trybuild/issues/244))

### [`v1.0.84`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.84)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.83...1.0.84)

-   Stabilize usage of Cargo's `--keep-going` build mode, which parallelizes test compilation for a significant speedup ([https://github.com/rust-lang/cargo/pull/12568](https://togithub.com/rust-lang/cargo/pull/12568), [#&#8203;240](https://togithub.com/dtolnay/trybuild/issues/240))

### [`v1.0.83`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.83)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.82...1.0.83)

-   Improve normalization of code blocks after 'help:' ([#&#8203;238](https://togithub.com/dtolnay/trybuild/issues/238))

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


434: fix(deps): update rust crate thiserror to 1.0.48 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies | patch | `1.0.44` -> `1.0.48` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### 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 this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


437: chore(deps): update actions/checkout action to v4 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://togithub.com/actions/checkout) | action | major | `v3` -> `v4` |
| [actions/checkout](https://togithub.com/actions/checkout) | action | major | `v1` -> `v4` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v4`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v400)

[Compare Source](https://togithub.com/actions/checkout/compare/v3...v4)

-   [Support fetching without the --progress option](https://togithub.com/actions/checkout/pull/1067)
-   [Update to node20](https://togithub.com/actions/checkout/pull/1436)

</details>

---

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kjuulh added a commit to kjuulh/crunch that referenced this pull request Sep 24, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.71` -> `1.0.75` |
| [bytes](https://github.com/tokio-rs/bytes) | workspace.dependencies | major | `0.4` -> `1.5` |
| [capnp](https://github.com/capnproto/capnproto-rust) | dependencies | minor | `0.17.2` -> `0.18.1` |
| [capnpc](https://github.com/capnproto/capnproto-rust) | build-dependencies | minor | `0.17.2` -> `0.18.0` |
| [criterion](https://bheisler.github.io/criterion.rs/book/index.html) ([source](https://github.com/bheisler/criterion.rs)) | dev-dependencies | minor | `0.4` -> `0.5` |
| [prost-build](https://github.com/tokio-rs/prost) | build-dependencies | minor | `0.5` -> `0.12` |
| [prost-build](https://github.com/tokio-rs/prost) | workspace.dependencies | minor | `0.5` -> `0.12` |
| [serde](https://serde.rs) ([source](https://github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.88` -> `1.0.188` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow</summary>

### [`v1.0.75`](https://github.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug (https://github.com/rust-lang/rust-analyzer/issues/9911)

### [`v1.0.74`](https://github.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://github.com/dtolnay/anyhow/issues/320), thanks [@&#8203;RalfJung](https://github.com/RalfJung))

### [`v1.0.73`](https://github.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API (https://github.com/rust-lang/rust/pull/113464, [#&#8203;319](https://github.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://github.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

</details>

<details>
<summary>tokio-rs/bytes</summary>

### [`v1.5.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;150-September-7-2023)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v1.4.0...v1.5.0)

##### Added

-   Add `UninitSlice::{new,uninit}` ([#&#8203;598](https://github.com/tokio-rs/bytes/issues/598), [#&#8203;599](https://github.com/tokio-rs/bytes/issues/599))
-   Implement `BufMut` for `&mut [MaybeUninit<u8>]` ([#&#8203;597](https://github.com/tokio-rs/bytes/issues/597))

##### Changed

-   Mark `BytesMut::extend_from_slice` as inline ([#&#8203;595](https://github.com/tokio-rs/bytes/issues/595))

### [`v1.4.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;140-January-31-2023)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v1.3.0...v1.4.0)

##### Added

-   Make `IntoIter` constructor public ([#&#8203;581](https://github.com/tokio-rs/bytes/issues/581))

##### Fixed

-   Avoid large reallocations when freezing `BytesMut` ([#&#8203;592](https://github.com/tokio-rs/bytes/issues/592))

##### Documented

-   Document which functions require `std` ([#&#8203;591](https://github.com/tokio-rs/bytes/issues/591))
-   Fix duplicate "the the" typos ([#&#8203;585](https://github.com/tokio-rs/bytes/issues/585))

### [`v1.3.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;130-November-20-2022)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v1.2.1...v1.3.0)

##### Added

-   Rename and expose `BytesMut::spare_capacity_mut` ([#&#8203;572](https://github.com/tokio-rs/bytes/issues/572))
-   Implement native-endian get and put functions for `Buf` and `BufMut` ([#&#8203;576](https://github.com/tokio-rs/bytes/issues/576))

##### Fixed

-   Don't have important data in unused capacity when calling reserve ([#&#8203;563](https://github.com/tokio-rs/bytes/issues/563))

##### Documented

-   `Bytes::new` etc should return `Self` not `Bytes` ([#&#8203;568](https://github.com/tokio-rs/bytes/issues/568))

### [`v1.2.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;121-July-30-2022)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v1.2.0...v1.2.1)

##### Fixed

-   Fix unbounded memory growth when using `reserve` ([#&#8203;560](https://github.com/tokio-rs/bytes/issues/560))

### [`v1.2.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;120-July-19-2022)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v1.1.0...v1.2.0)

##### Added

-   Add `BytesMut::zeroed` ([#&#8203;517](https://github.com/tokio-rs/bytes/issues/517))
-   Implement `Extend<Bytes>` for `BytesMut` ([#&#8203;527](https://github.com/tokio-rs/bytes/issues/527))
-   Add conversion from `BytesMut` to `Vec<u8>` ([#&#8203;543](https://github.com/tokio-rs/bytes/issues/543), [#&#8203;554](https://github.com/tokio-rs/bytes/issues/554))
-   Add conversion from `Bytes` to `Vec<u8>` ([#&#8203;547](https://github.com/tokio-rs/bytes/issues/547))
-   Add `UninitSlice::as_uninit_slice_mut()` ([#&#8203;548](https://github.com/tokio-rs/bytes/issues/548))
-   Add const to `Bytes::{len,is_empty}` ([#&#8203;514](https://github.com/tokio-rs/bytes/issues/514))

##### Changed

-   Reuse vector in `BytesMut::reserve` ([#&#8203;539](https://github.com/tokio-rs/bytes/issues/539), [#&#8203;544](https://github.com/tokio-rs/bytes/issues/544))

##### Fixed

-   Make miri happy ([#&#8203;515](https://github.com/tokio-rs/bytes/issues/515), [#&#8203;523](https://github.com/tokio-rs/bytes/issues/523), [#&#8203;542](https://github.com/tokio-rs/bytes/issues/542), [#&#8203;545](https://github.com/tokio-rs/bytes/issues/545), [#&#8203;553](https://github.com/tokio-rs/bytes/issues/553))
-   Make tsan happy ([#&#8203;541](https://github.com/tokio-rs/bytes/issues/541))
-   Fix `remaining_mut()` on chain ([#&#8203;488](https://github.com/tokio-rs/bytes/issues/488))
-   Fix amortized asymptotics of `BytesMut` ([#&#8203;555](https://github.com/tokio-rs/bytes/issues/555))

##### Documented

-   Redraw layout diagram with box drawing characters ([#&#8203;539](https://github.com/tokio-rs/bytes/issues/539))
-   Clarify `BytesMut::unsplit` docs ([#&#8203;535](https://github.com/tokio-rs/bytes/issues/535))

### [`v1.1.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;110-August-25-2021)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v1.0.1...v1.1.0)

##### Added

-   `BufMut::put_bytes(self, val, cnt)` ([#&#8203;487](https://github.com/tokio-rs/bytes/issues/487))
-   Implement `From<Box<[u8]>>` for `Bytes` ([#&#8203;504](https://github.com/tokio-rs/bytes/issues/504))

##### Changed

-   Override `put_slice` for `&mut [u8]` ([#&#8203;483](https://github.com/tokio-rs/bytes/issues/483))
-   Panic on integer overflow in `Chain::remaining` ([#&#8203;482](https://github.com/tokio-rs/bytes/issues/482))
-   Add inline tags to `UninitSlice` methods ([#&#8203;443](https://github.com/tokio-rs/bytes/issues/443))
-   Override `copy_to_bytes` for Chain and Take ([#&#8203;481](https://github.com/tokio-rs/bytes/issues/481))
-   Keep capacity when unsplit on empty other buf ([#&#8203;502](https://github.com/tokio-rs/bytes/issues/502))

##### Documented

-   Clarify `BufMut` allocation guarantees ([#&#8203;501](https://github.com/tokio-rs/bytes/issues/501))
-   Clarify `BufMut::put_int` behavior ([#&#8203;486](https://github.com/tokio-rs/bytes/issues/486))
-   Clarify actions of `clear` and `truncate`. ([#&#8203;508](https://github.com/tokio-rs/bytes/issues/508))

### [`v1.0.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;101-January-11-2021)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v1.0.0...v1.0.1)

##### Changed

-   mark `Vec::put_slice` with `#[inline]` ([#&#8203;459](https://github.com/tokio-rs/bytes/issues/459))

##### Fixed

-   Fix deprecation warning ([#&#8203;457](https://github.com/tokio-rs/bytes/issues/457))
-   use `Box::into_raw` instead of `mem::forget`-in-disguise ([#&#8203;458](https://github.com/tokio-rs/bytes/issues/458))

### [`v1.0.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;100-December-22-2020)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.6.0...v1.0.0)

##### Changed

-   Rename `Buf`/`BufMut` methods `bytes()` and `bytes_mut()` to `chunk()` and `chunk_mut()` ([#&#8203;450](https://github.com/tokio-rs/bytes/issues/450))

##### Removed

-   remove unused Buf implementation. ([#&#8203;449](https://github.com/tokio-rs/bytes/issues/449))

### [`v0.6.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;060-October-21-2020)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.6...v0.6.0)

API polish in preparation for a 1.0 release.

##### Changed

-   `BufMut` is now an `unsafe` trait ([#&#8203;432](https://github.com/tokio-rs/bytes/issues/432)).
-   `BufMut::bytes_mut()` returns `&mut UninitSlice`, a type owned by `bytes` to
    avoid undefined behavior ([#&#8203;433](https://github.com/tokio-rs/bytes/issues/433)).
-   `Buf::copy_to_bytes(len)` replaces `Buf::into_bytes()` ([#&#8203;439](https://github.com/tokio-rs/bytes/issues/439)).
-   `Buf`/`BufMut` utility methods are moved onto the trait and `*Ext` traits are
    removed ([#&#8203;431](https://github.com/tokio-rs/bytes/issues/431)).

##### Removed

-   `BufMut::bytes_vectored_mut()` ([#&#8203;430](https://github.com/tokio-rs/bytes/issues/430)).
-   `new` methods on combinator types ([#&#8203;434](https://github.com/tokio-rs/bytes/issues/434)).

### [`v0.5.6`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;056-July-13-2020)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.5...v0.5.6)

-   Improve `BytesMut` to reuse buffer when fully `advance`d.
-   Mark `BytesMut::{as_mut, set_len}` with `#[inline]`.
-   Relax synchronization when cloning in shared vtable of `Bytes`.
-   Move `loom` to `dev-dependencies`.

### [`v0.5.5`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;055-June-18-2020)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.4...v0.5.5)

##### Added

-   Allow using the `serde` feature in `no_std` environments ([#&#8203;385](https://github.com/tokio-rs/bytes/issues/385)).

##### Fix

-   Fix `BufMut::advance_mut` to panic if advanced passed the capacity ([#&#8203;354](https://github.com/tokio-rs/bytes/issues/354))..
-   Fix `BytesMut::freeze` ignoring amount previously `advance`d ([#&#8203;352](https://github.com/tokio-rs/bytes/issues/352)).

### [`v0.5.4`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;054-January-23-2020)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.3...v0.5.4)

##### Added

-   Make `Bytes::new` a `const fn`.
-   Add `From<BytesMut>` for `Bytes`.

##### Fix

-   Fix reversed arguments in `PartialOrd` for `Bytes`.
-   Fix `Bytes::truncate` losing original capacity when repr is an unshared `Vec`.
-   Fix `Bytes::from(Vec)` when allocator gave `Vec` a pointer with LSB set.
-   Fix panic in `Bytes::slice_ref` if argument is an empty slice.

### [`v0.5.3`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;053-December-12-2019)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.2...v0.5.3)

##### Added

-   `must_use` attributes to `split`, `split_off`, and `split_to` methods ([#&#8203;337](https://github.com/tokio-rs/bytes/issues/337)).

##### Fix

-   Potential freeing of a null pointer in `Bytes` when constructed with an empty `Vec<u8>` ([#&#8203;341](https://github.com/tokio-rs/bytes/issues/341), [#&#8203;342](https://github.com/tokio-rs/bytes/issues/342)).
-   Calling `Bytes::truncate` with a size large than the length will no longer clear the `Bytes` ([#&#8203;333](https://github.com/tokio-rs/bytes/issues/333)).

### [`v0.5.2`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;052-November-27-2019)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.1...v0.5.2)

##### Added

-   `Limit` methods `into_inner`, `get_ref`, `get_mut`, `limit`, and `set_limit` ([#&#8203;325](https://github.com/tokio-rs/bytes/issues/325)).

### [`v0.5.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;051-November-25-2019)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.5.0...v0.5.1)

##### Fix

-   Growth documentation for `BytesMut` ([#&#8203;321](https://github.com/tokio-rs/bytes/issues/321))

### [`v0.5.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;050-November-25-2019)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.12...v0.5.0)

##### Fix

-   Potential overflow in `copy_to_slice`

##### Changed

-   Increased minimum supported Rust version to 1.39.
-   `Bytes` is now a "trait object", allowing for custom allocation strategies ([#&#8203;298](https://github.com/tokio-rs/bytes/issues/298))
-   `BytesMut` implicitly grows internal storage. `remaining_mut()` returns
    `usize::MAX` ([#&#8203;316](https://github.com/tokio-rs/bytes/issues/316)).
-   `BufMut::bytes_mut` returns `&mut [MaybeUninit<u8>]` to reflect the unknown
    initialization state ([#&#8203;305](https://github.com/tokio-rs/bytes/issues/305)).
-   `Buf` / `BufMut` implementations for `&[u8]` and `&mut [u8]`
    respectively ([#&#8203;261](https://github.com/tokio-rs/bytes/issues/261)).
-   Move `Buf` / `BufMut` "extra" functions to an extension trait ([#&#8203;306](https://github.com/tokio-rs/bytes/issues/306)).
-   `BufMutExt::limit` ([#&#8203;309](https://github.com/tokio-rs/bytes/issues/309)).
-   `Bytes::slice` takes a `RangeBounds` argument ([#&#8203;265](https://github.com/tokio-rs/bytes/issues/265)).
-   `Bytes::from_static` is now a `const fn` ([#&#8203;311](https://github.com/tokio-rs/bytes/issues/311)).
-   A multitude of smaller performance optimizations.

##### Added

-   `no_std` support ([#&#8203;281](https://github.com/tokio-rs/bytes/issues/281)).
-   `get_*`, `put_*`, `get_*_le`, and `put_*le` accessors for handling byte order.
-   `BorrowMut` implementation for `BytesMut` ([#&#8203;185](https://github.com/tokio-rs/bytes/issues/185)).

##### Removed

-   `IntoBuf` ([#&#8203;288](https://github.com/tokio-rs/bytes/issues/288)).
-   `Buf` implementation for `&str` ([#&#8203;301](https://github.com/tokio-rs/bytes/issues/301)).
-   `byteorder` dependency ([#&#8203;280](https://github.com/tokio-rs/bytes/issues/280)).
-   `iovec` dependency, use `std::IoSlice` instead ([#&#8203;263](https://github.com/tokio-rs/bytes/issues/263)).
-   optional `either` dependency ([#&#8203;315](https://github.com/tokio-rs/bytes/issues/315)).
-   optional `i128` feature -- now available on stable. ([#&#8203;276](https://github.com/tokio-rs/bytes/issues/276)).

### [`v0.4.12`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;0412-March-6-2019)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.11...v0.4.12)

##### Added

-   Implement `FromIterator<&'a u8>` for `BytesMut`/`Bytes` ([#&#8203;244](https://github.com/tokio-rs/bytes/issues/244)).
-   Implement `Buf` for `VecDeque` ([#&#8203;249](https://github.com/tokio-rs/bytes/issues/249)).

### [`v0.4.11`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;0411-November-17-2018)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.10...v0.4.11)

-   Use raw pointers for potentially racy loads ([#&#8203;233](https://github.com/tokio-rs/bytes/issues/233)).
-   Implement `BufRead` for `buf::Reader` ([#&#8203;232](https://github.com/tokio-rs/bytes/issues/232)).
-   Documentation tweaks ([#&#8203;234](https://github.com/tokio-rs/bytes/issues/234)).

### [`v0.4.10`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;0410-September-4-2018)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.9...v0.4.10)

-   impl `Buf` and `BufMut` for `Either` ([#&#8203;225](https://github.com/tokio-rs/bytes/issues/225)).
-   Add `Bytes::slice_ref` ([#&#8203;208](https://github.com/tokio-rs/bytes/issues/208)).

### [`v0.4.9`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;049-July-12-2018)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.8...v0.4.9)

-   Add 128 bit number support behind a feature flag ([#&#8203;209](https://github.com/tokio-rs/bytes/issues/209)).
-   Implement `IntoBuf` for `&mut [u8]`

### [`v0.4.8`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;048-May-25-2018)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.7...v0.4.8)

-   Fix panic in `BytesMut` `FromIterator` implementation.
-   Bytes: Recycle space when reserving space in vec mode ([#&#8203;197](https://github.com/tokio-rs/bytes/issues/197)).
-   Bytes: Add resize fn ([#&#8203;203](https://github.com/tokio-rs/bytes/issues/203)).

### [`v0.4.7`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;047-April-27-2018)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.6...v0.4.7)

-   Make `Buf` and `BufMut` usable as trait objects ([#&#8203;186](https://github.com/tokio-rs/bytes/issues/186)).
-   impl BorrowMut for BytesMut ([#&#8203;185](https://github.com/tokio-rs/bytes/issues/185)).
-   Improve accessor performance ([#&#8203;195](https://github.com/tokio-rs/bytes/issues/195)).

### [`v0.4.6`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;046-Janary-8-2018)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.5...v0.4.6)

-   Implement FromIterator for Bytes/BytesMut ([#&#8203;148](https://github.com/tokio-rs/bytes/issues/148)).
-   Add `advance` fn to Bytes/BytesMut ([#&#8203;166](https://github.com/tokio-rs/bytes/issues/166)).
-   Add `unsplit` fn to `BytesMut` ([#&#8203;162](https://github.com/tokio-rs/bytes/issues/162), [#&#8203;173](https://github.com/tokio-rs/bytes/issues/173)).
-   Improvements to Bytes split fns ([#&#8203;92](https://github.com/tokio-rs/bytes/issues/92)).

### [`v0.4.5`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;045-August-12-2017)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.4...v0.4.5)

-   Fix range bug in `Take::bytes`
-   Misc performance improvements
-   Add extra `PartialEq` implementations.
-   Add `Bytes::with_capacity`
-   Implement `AsMut[u8]` for `BytesMut`

### [`v0.4.4`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;044-May-26-2017)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.3...v0.4.4)

-   Add serde support behind feature flag
-   Add `extend_from_slice` on `Bytes` and `BytesMut`
-   Add `truncate` and `clear` on `Bytes`
-   Misc additional std trait implementations
-   Misc performance improvements

### [`v0.4.3`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;043-April-30-2017)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.2...v0.4.3)

-   Fix Vec::advance_mut bug
-   Bump minimum Rust version to 1.15
-   Misc performance tweaks

### [`v0.4.2`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;042-April-5-2017)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.1...v0.4.2)

-   Misc performance tweaks
-   Improved `Debug` implementation for `Bytes`
-   Avoid some incorrect assert panics

### [`v0.4.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#&#8203;0412-March-6-2019)

[Compare Source](https://github.com/tokio-rs/bytes/compare/v0.4.0...v0.4.1)

##### Added

-   Implement `FromIterator<&'a u8>` for `BytesMut`/`Bytes` ([#&#8203;244](https://github.com/tokio-rs/bytes/issues/244)).
-   Implement `Buf` for `VecDeque` ([#&#8203;249](https://github.com/tokio-rs/bytes/issues/249)).

</details>

<details>
<summary>capnproto/capnproto-rust</summary>

### [`v0.18.1`](https://github.com/capnproto/capnproto-rust/compare/capnp-v0.18.0...capnp-v0.18.1)

[Compare Source](https://github.com/capnproto/capnproto-rust/compare/capnp-v0.18.0...capnp-v0.18.1)

### [`v0.18.0`](https://github.com/capnproto/capnproto-rust/compare/capnpc-v0.17.2...capnpc-v0.18.0)

[Compare Source](https://github.com/capnproto/capnproto-rust/compare/capnp-v0.17.2...capnp-v0.18.0)

</details>

<details>
<summary>bheisler/criterion.rs</summary>

### [`v0.5.1`](https://github.com/bheisler/criterion.rs/blob/HEAD/CHANGELOG.md#&#8203;051---2023-05-26)

[Compare Source](https://github.com/bheisler/criterion.rs/compare/0.5.0...0.5.1)

##### Fixed

-   Quick mode (--quick) no longer crashes with measured times over 5 seconds when --noplot is not active

### [`v0.5.0`](https://github.com/bheisler/criterion.rs/blob/HEAD/CHANGELOG.md#&#8203;050---2023-05-23)

[Compare Source](https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.0)

##### Changed

-   Replaced lazy_static dependency with once_cell
-   Improved documentation of the `html_reports` feature
-   Replaced atty dependency with is-terminal
-   MSRV bumped to 1.64
-   Upgraded clap dependency to v4
-   Upgraded tempfile dependency to v3.5.0

##### Fixed

-   Quick mode (`--quick`) no longer outputs 1ms for measured times over 5 seconds
-   Documentation updates

</details>

<details>
<summary>tokio-rs/prost</summary>

### [`v0.12.1`](https://github.com/tokio-rs/prost/compare/v0.12.0...v0.12.1)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.12.0...v0.12.1)

### [`v0.12.0`](https://github.com/tokio-rs/prost/releases/tag/v0.12.0)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.9...v0.12.0)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This patch updates brings a few new features and fixes:

-   Bump `syn`  to version 2
-   Bump MSRV to 1.64
-   Added `TryFrom<i32>` for enums
-   Optional debug implementations
-   Initial generic `Any` and `Name` impl/traits.

### [`v0.11.9`](https://github.com/tokio-rs/prost/releases/tag/v0.11.9)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.8...v0.11.9)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This patch updates brings a few new features and fixes:

-   build: Support boxing fields via `Config::boxed` ([#&#8203;802](https://github.com/tokio-rs/prost/pull/802))

### [`v0.11.8`](https://github.com/tokio-rs/prost/releases/tag/v0.11.8)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.7...v0.11.8)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This patch updates brings a few new features and fixes:

-   types: Fix unintentional change in compiler module visibility [#&#8203;824](https://github.com/tokio-rs/prost/pull/824)

`prost-types` 0.11.7 was yanked due to the above unintentional semver breakage.

### [`v0.11.7`](https://github.com/tokio-rs/prost/compare/v0.11.6...v0.11.7)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.6...v0.11.7)

### [`v0.11.6`](https://github.com/tokio-rs/prost/releases/tag/v0.11.6)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.5...v0.11.6)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This patch updates brings a few new features and fixes:

-   build: Add message and enum attributes (https://github.com/tokio-rs/prost/pull/784)

### [`v0.11.5`](https://github.com/tokio-rs/prost/releases/tag/v0.11.5)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.4...v0.11.5)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This patch updates brings a few new features and fixes:

-   build: Allow file descriptor be generated without --include_source_info (https://github.com/tokio-rs/prost/pull/786)
-   build: Expose from_str_name for generated enums (https://github.com/tokio-rs/prost/pull/774)

### [`v0.11.4`](https://github.com/tokio-rs/prost/releases/tag/v0.11.4)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.3...v0.11.4)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This patch updates brings a few new features and fixes:

-   build: Add clippy allow lint to all code generated prost structs

### [`v0.11.3`](https://github.com/tokio-rs/prost/releases/tag/v0.11.3)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.2...v0.11.3)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This patch updates brings a few new features and fixes:

-   build: Use `log` to print error logs.
-   build: Remove accidentally included prints.
-   build: Improve debian error message hint.

### [`v0.11.2`](https://github.com/tokio-rs/prost/releases/tag/v0.11.2)

[Compare Source](https://github.com/tokio-rs/prost/compare/prost-build-0.11.1...v0.11.2)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This patch updates brings a few new features and fixes:

-   build: Improve `protoc` sourcing instructions in error messages.
-   build: Add `Clone` to `Service` types.
-   build: Sort modules to produce deterministic include files.
-   core: Tuple struct support.
-   build: Allow generated code derive path's to be changed.
-   build: Allow changing prost crate path.
-   build: Add code formatting support.

### [`v0.11.1`](https://github.com/tokio-rs/prost/releases/tag/prost-build-0.11.1): prost-build-v0.11.1

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.11.0...prost-build-0.11.1)

-   Removes extra spaces in doc generation

### [`v0.11.0`](https://github.com/tokio-rs/prost/releases/tag/v0.11.0)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.4...v0.11.0)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

Relase 0.11 brings a few breaking changes and changes to how prost sources protoc.

-   `prost-build` now requires `protoc` to be available in the path or set
    via the `PROTOC` env var.
-   `prost-types` now contains new `Timestamp`/`Duration` `FromStr` implementations.
-   MSRV bump to `1.56` and all crates have been moved to edition 2021

Notible changes that are not breaking:

-   `prost-build` now has a `cleanup-markdown` feature for cleaining up
    code blocks from protobuf files so that they work under rustdoc tests.
-   `prost-build` now generates `as_str_name` for message types.

### [`v0.10.4`](https://github.com/tokio-rs/prost/releases/tag/v0.10.4)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.3...v0.10.4)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

Small fix for compiling protoc from source to speed up compile times.

### [`v0.10.3`](https://github.com/tokio-rs/prost/releases/tag/v0.10.3)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.2...v0.10.3)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This release reverts [#&#8203;605](https://github.com/tokio-rs/prost/issues/605) and contains some typo fixes.

(this release is actually the `v0.10.2` release but `prost-build` had to be yanked because of a local publish issue)

### [`v0.10.2`](https://github.com/tokio-rs/prost/releases/tag/v0.10.2)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.1...v0.10.2)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This release reverts [#&#8203;605](https://github.com/tokio-rs/prost/issues/605) and contains some typo fixes.

(this release was yanked due to missing third-party source, `v0.10.3` is now the active release for this)

### [`v0.10.1`](https://github.com/tokio-rs/prost/releases/tag/v0.10.1)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.10.0...v0.10.1)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

This minor release brings no new code changes but symlinks license files in all the crates.

### [`v0.10.0`](https://github.com/tokio-rs/prost/releases/tag/v0.10.0)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.9.0...v0.10.0)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

Release 0.10 brings a few new ....

-   `protoc` is no longer bundled but is now compiled from bundled source
-   Minor performance improvements
-   Methods exposed to allow third party protobuf generation libraries

### [`v0.9.0`](https://github.com/tokio-rs/prost/releases/tag/v0.9.0)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.8.0...v0.9.0)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

Release 0.9.0 brings in many helpful changes and fixes, here are a few highlights:

-   Apple silicon support
-   Improve encode/decode varint performance
-   Support no package declaration
-   Support single include files
-   Fix multiple attribute support

### [`v0.8.0`](https://github.com/tokio-rs/prost/releases/tag/v0.8.0)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.7.0...v0.8.0)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

*NOTE: This version contains a security fix for `prost-types` and is recommend that you upgrade to it from <0.7.*

`prost` 0.8.0 includes breaking changes:

-   `Timestamp`'s `From` implementation for converting into `SystemTime` has been converted to a fallible `TryFrom` implementation.
-   `prost-build`'s `compile_protos` now takes `impl AsRef<Path>` to allow each parameter to use its own generic type.
-   Bundled `protoc` version bumped to `3.15.8`

As well as many new (non-breaking) changes:

-   [@&#8203;pluth](https://github.com/pluth) enabled zero-copy support for `Bytes` based fields.
-   [@&#8203;sfackler](https://github.com/sfackler) for fixing message optionals and oneofs in `prost-build`.
-   [@&#8203;rubdos](https://github.com/rubdos) for adding the ability to encode prost messages directly to a `Vec<u8>`.

and numerous smaller fixes. Many thanks to the generous contributors who have helped out since 0.7:

-   [@&#8203;dfreese](https://github.com/dfreese)
-   [@&#8203;carols10cents](https://github.com/carols10cents)
-   [@&#8203;pluth](https://github.com/pluth)
-   [@&#8203;jfornoff](https://github.com/jfornoff)
-   [@&#8203;sphw](https://github.com/sphw)
-   [@&#8203;bpowers](https://github.com/bpowers)
-   [@&#8203;sfackler](https://github.com/sfackler)
-   [@&#8203;koushiro](https://github.com/koushiro)
-   [@&#8203;dbrgn](https://github.com/dbrgn)
-   [@&#8203;argv-minus-one](https://github.com/argv-minus-one)
-   [@&#8203;nagisa](https://github.com/nagisa)
-   [@&#8203;evanj](https://github.com/evanj)
-   [@&#8203;aquarhead](https://github.com/aquarhead)

### [`v0.7.0`](https://github.com/tokio-rs/prost/releases/tag/v0.7.0)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.6.1...v0.7.0)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

`prost` 0.7.0 includes breaking changes:

-   The minimum-supported Rust version (MSRV) is now 1.46.0.
-   The `bytes` public dependency version is now 1.0.
-   The bundled `protoc` version is now 3.14.0.

As well as many new (non-breaking) features and improvements:

-   [@&#8203;hockeybuggy](https://github.com/hockeybuggy) added support for `deprecated` field annotations.
-   [@&#8203;garbageslam](https://github.com/garbageslam) and [@&#8203;dflemstr](https://github.com/dflemstr) added `no_std` support.
-   [@&#8203;joseph-wakeling-frequenz](https://github.com/joseph-wakeling-frequenz) fixed a bug in Timestamp <-> SystemTime conversions.
-   [@&#8203;rolftimmermans](https://github.com/rolftimmermans) added support for generating Rust `bytes::Bytes` fields from protobuf `bytes` fields. When deserializing from a `Bytes` instance, this enables zero-copy deserialization for `bytes` fields!
-   [@&#8203;olix0r](https://github.com/olix0r) bumped the `bytes` dependency to 0.6, which included most of the heavy lifting for the subsequent move to `bytes` 1.0.
-   [@&#8203;danburkert](https://github.com/danburkert) added support for the experimental proto3 optional field presence feature.

and numerous smaller fixes. Many thanks to the generous contributors who have helped out since 0.6.1:

-   M@ Dunlap
-   [@&#8203;Max-Meldrum](https://github.com/Max-Meldrum)
-   [@&#8203;Veetaha](https://github.com/Veetaha)
-   [@&#8203;dan-fritchman](https://github.com/dan-fritchman)
-   [@&#8203;danburkert](https://github.com/danburkert)
-   [@&#8203;dflemstr](https://github.com/dflemstr)
-   [@&#8203;dfreese](https://github.com/dfreese)
-   [@&#8203;gabrielrussoc](https://github.com/gabrielrussoc)
-   [@&#8203;garbageslam](https://github.com/garbageslam)
-   [@&#8203;hockeybuggy](https://github.com/hockeybuggy)
-   [@&#8203;jen20](https://github.com/jen20)
-   [@&#8203;joseph-wakeling-frequenz](https://github.com/joseph-wakeling-frequenz)
-   [@&#8203;olix0r](https://github.com/olix0r)
-   [@&#8203;oll3](https://github.com/oll3)
-   [@&#8203;repi](https://github.com/repi)
-   [@&#8203;rolftimmermans](https://github.com/rolftimmermans)
-   [@&#8203;vorot93](https://github.com/vorot93)
-   [@&#8203;wchargin](https://github.com/wchargin)

### [`v0.6.1`](https://github.com/tokio-rs/prost/releases/tag/v0.6.1)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.6.0...v0.6.1)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

`prost` 0.6.1 fixes a bug in which decoding untrusted input could overflow the stack. The bug was reported by [@&#8203;dbrgn](https://github.com/dbrgn) in [#&#8203;267](https://github.com/tokio-rs/prost/issues/267) (with an attached repro!), and fixed by [@&#8203;danburkert](https://github.com/danburkert). The fix extended the same recursion limits introduced in [#&#8203;186](https://github.com/tokio-rs/prost/issues/186) by [@&#8203;nrc](https://github.com/nrc) (released in 0.6.0) to the logic which skips unknown fields during decoding, which became recursive when support was added for decoding groups (also released in 0.6.0). The 0.6.0 release of the `prost` crates has been yanked from crates.io.

Additionally, [@&#8203;koushiro](https://github.com/koushiro) updated the private dependencies of all `prost` crates to the latest versions.

Many thanks to the generous contributors who have helped out since 0.6.0:

-   Dan Burkert
-   Danilo Bargen
-   Qinxuan Chen

### [`v0.6.0`](https://github.com/tokio-rs/prost/releases/tag/v0.6.0)

[Compare Source](https://github.com/tokio-rs/prost/compare/v0.5.0...v0.6.0)

*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.

`prost` 0.6.0 includes breaking changes:

-   The minimum-supported Rust version (MSRV) is now 1.39.0.
-   The `bytes` public dependency version is now `0.5`.
-   The prost-types `Timestamp` and `Duration` types now impl `TryFrom` for their
    `std::time` equivalents. The old inherent `try_from` methods have been
    removed.
-   Deeply nested messages now fail decoding with an error, instead of potentially
    resulting in a stack overflow. The limit is set to a nesting depth of 100, and
    the limit can be disabled using a new `no-recursion-limit` Cargo feature.

As well as many new (non-breaking) features and improvements:

-   [@&#8203;hanya](https://github.com/hanya) added support for protobuf Group types.
-   [@&#8203;danburkert](https://github.com/danburkert) improved the benchmark suite, including adding support for the
    full set of upstream message encoding and decoding benchmarks.
-   [@&#8203;nrc](https://github.com/nrc) implemented a series of micro-optimizations which result in faster
    message encoding and decoding.
-   [@&#8203;dunmatt](https://github.com/dunmatt) improved the method docs on generated types.
-   [@&#8203;lukaslueg](https://github.com/lukaslueg) removed the dependency on `byteorder`.
-   [@&#8203;parasyte](https://github.com/parasyte) added the `ServiceGenerator::finalize_package`, which is useful for
    advanced service generators.
-   [@&#8203;joelgallant](https://github.com/joelgallant) improved the error message that occurs when attempting to compile
    .proto files without a package specifier.
-   [@&#8203;LucioFranco](https://github.com/LucioFranco) removed the direct dependency of generated types on the `bytes`
    crate, which means applications which use `prost` code generation are no
    longer required to declare a `bytes` dependency.
-   [@&#8203;ErichDonGubler](https://github.com/ErichDonGubler) and [@&#8203;hobofan](https://github.com/hobofan) bumped the `syn`, `quote`, and `proc-macro2` to stable
    versions.
-   [@&#8203;Timmmm](https://github.com/Timmmm) improved `prost-build` so that it no longer writes .rs files when they
    are unchanged, which improves working with tools like `cargo watch` in
    codebases with `prost` code generation.
-   [@&#8203;Hirevo](https://github.com/Hirevo) replaced usage of `failure` with `anyhow`.
-   [@&#8203;danburkert](https://github.com/danburkert) bumped the packaged `protoc` version to 3.11.2.

Many thanks to the generous contributors who have helped out since 0.5.0:

-   Dan Burkert
-   Erich Gubler
-   FujiApple
-   Hanya
-   Jay Oster
-   Joel Gallant
-   koushiro
-   Lucio Franco
-   Luffbee
-   lukaslueg
-   M@ Dunlap
-   Maximilian Goisser
-   Mikhail Zabaluev
-   Nick Cameron
-   Nicolas Polomack
-   Stephan Wolski
-   Tim Hutt

</details>

<details>
<summary>serde-rs/serde</summary>

### [`v1.0.188`](https://github.com/serde-rs/serde/releases/tag/v1.0.188)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.187...v1.0.188)

-   Fix *"failed to parse manifest"* error when building serde using a Cargo version between 1.45 and 1.50 ([#&#8203;2603](https://github.com/serde-rs/serde/issues/2603))

### [`v1.0.187`](https://github.com/serde-rs/serde/releases/tag/v1.0.187)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.186...v1.0.187)

-   Remove support for Emscripten targets on rustc older than 1.40 ([#&#8203;2600](https://github.com/serde-rs/serde/issues/2600))

### [`v1.0.186`](https://github.com/serde-rs/serde/releases/tag/v1.0.186)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.185...v1.0.186)

-   Disallow incompatible versions of `serde_derive` and `serde` in the dependency graph ([#&#8203;2588](https://github.com/serde-rs/serde/issues/2588), thanks [@&#8203;soqb](https://github.com/soqb))

### [`v1.0.185`](https://github.com/serde-rs/serde/releases/tag/v1.0.185)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.184...v1.0.185)

-   Fix error *"cannot move out of `*self` which is behind a shared reference"* deriving Serialize on a non_exhaustive enum ([#&#8203;2591](https://github.com/serde-rs/serde/issues/2591))

### [`v1.0.184`](https://github.com/serde-rs/serde/releases/tag/v1.0.184)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.183...v1.0.184)

-   Restore from-source `serde_derive` build on all platforms — eventually we'd like to use a first-class precompiled macro if such a thing becomes supported by cargo / crates.io

### [`v1.0.183`](https://github.com/serde-rs/serde/releases/tag/v1.0.183)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.182...v1.0.183)

-   Support deserializing `Box<OsStr>` with an equivalent representation as `OsString` ([#&#8203;2556](https://github.com/serde-rs/serde/issues/2556), thanks [@&#8203;DBLouis](https://github.com/DBLouis))

### [`v1.0.182`](https://github.com/serde-rs/serde/releases/tag/v1.0.182)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.181...v1.0.182)

-   Render field aliases in sorted order in error messages ([#&#8203;2458](https://github.com/serde-rs/serde/issues/2458), thanks [@&#8203;Mingun](https://github.com/Mingun))
-   Support `serde(default)` on tuple structs ([#&#8203;2553](https://github.com/serde-rs/serde/issues/2553), thanks [@&#8203;Mingun](https://github.com/Mingun))

### [`v1.0.181`](https://github.com/serde-rs/serde/releases/tag/v1.0.181)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.180...v1.0.181)

-   Make `serde(alias)` work in combination with `flatten` when using in-place deserialization ([#&#8203;2443](https://github.com/serde-rs/serde/issues/2443), thanks [@&#8203;Mingun](https://github.com/Mingun))
-   Improve the representation of adjacently tagged enums in formats where enum tags are serialized by index, as opposed to by string name ([#&#8203;2505](https://github.com/serde-rs/serde/issues/2505), [#&#8203;2496](https://github.com/serde-rs/serde/issues/2496), thanks [@&#8203;Baptistemontan](https://github.com/Baptistemontan))

### [`v1.0.180`](https://github.com/serde-rs/serde/releases/tag/v1.0.180)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.179...v1.0.180)

-   Update to 2018 edition

### [`v1.0.179`](https://github.com/serde-rs/serde/releases/tag/v1.0.179)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.178...v1.0.179)

-   Support serialization of tuple variants inside a flattened field ([#&#8203;2448](https://github.com/serde-rs/serde/issues/2448), thanks [@&#8203;Mingun](https://github.com/Mingun))

### [`v1.0.178`](https://github.com/serde-rs/serde/releases/tag/v1.0.178)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.177...v1.0.178)

-   Fix build error when using serde with "std" feature turned off and "unstable" feature turned on ([#&#8203;2541](https://github.com/serde-rs/serde/issues/2541))

### [`v1.0.177`](https://github.com/serde-rs/serde/releases/tag/v1.0.177)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.176...v1.0.177)

-   Add `serde(rename_all_fields = "...")` attribute to apply a `rename_all` on every struct variant of an enum ([#&#8203;1695](https://github.com/serde-rs/serde/issues/1695), thanks [@&#8203;jplatte](https://github.com/jplatte))
-   Improve diagnostics for attribute parse errors ([#&#8203;2536](https://github.com/serde-rs/serde/issues/2536), thanks [@&#8203;jplatte](https://github.com/jplatte))

### [`v1.0.176`](https://github.com/serde-rs/serde/releases/tag/v1.0.176)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.175...v1.0.176)

-   Allow tag field of an internally tagged enum to have same name as a field inside a skipped struct variant ([#&#8203;2266](https://github.com/serde-rs/serde/issues/2266), thanks [@&#8203;flisky](https://github.com/flisky))

### [`v1.0.175`](https://github.com/serde-rs/serde/releases/tag/v1.0.175)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.174...v1.0.175)

-   Restore missing LICENSE files in serde_derive crate ([#&#8203;2527](https://github.com/serde-rs/serde/issues/2527), thanks [@&#8203;ankane](https://github.com/ankane))

### [`v1.0.174`](https://github.com/serde-rs/serde/releases/tag/v1.0.174)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.173...v1.0.174)

-   Documentation improvements

### [`v1.0.173`](https://github.com/serde-rs/serde/releases/tag/v1.0.173)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.172...v1.0.173)

-   Fix missing trait implementations when using serde derive macro on a macro-generated data structure, such as via the `bitflags` crate ([#&#8203;2516](https://github.com/serde-rs/serde/issues/2516))

### [`v1.0.172`](https://github.com/serde-rs/serde/releases/tag/v1.0.172)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.171...v1.0.172)

-   Experiment with precompiling the serde_derive macros to reduce build time ([#&#8203;2514](https://github.com/serde-rs/serde/issues/2514))

### [`v1.0.171`](https://github.com/serde-rs/serde/releases/tag/v1.0.171)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.170...v1.0.171)

-   Support `derive(Deserialize)` on unit structs that have const generics ([#&#8203;2500](https://github.com/serde-rs/serde/issues/2500), thanks [@&#8203;Baptistemontan](https://github.com/Baptistemontan))

### [`v1.0.170`](https://github.com/serde-rs/serde/releases/tag/v1.0.170)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.169...v1.0.170)

-   Produce error message on suffixed string literals inside serde attributes ([#&#8203;2242](https://github.com/serde-rs/serde/issues/2242))
-   Support single identifier as unbraced default value for const generic parameter ([#&#8203;2449](https://github.com/serde-rs/serde/issues/2449))

### [`v1.0.169`](https://github.com/serde-rs/serde/releases/tag/v1.0.169)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.168...v1.0.169)

-   Add Deserializer::deserialize_identifier support for adjacently tagged enums ([#&#8203;2475](https://github.com/serde-rs/serde/issues/2475), thanks [@&#8203;Baptistemontan](https://github.com/Baptistemontan))
-   Fix unused_braces lint in generated Deserialize impl that uses braced const generic expressions ([#&#8203;2414](https://github.com/serde-rs/serde/issues/2414))

### [`v1.0.168`](https://github.com/serde-rs/serde/releases/tag/v1.0.168)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.167...v1.0.168)

-   Allow `serde::de::IgnoredAny` to be the type for a `serde(flatten)` field ([#&#8203;2436](https://github.com/serde-rs/serde/issues/2436), thanks [@&#8203;Mingun](https://github.com/Mingun))
-   Allow larger preallocated capacity for smaller elements ([#&#8203;2494](https://github.com/serde-rs/serde/issues/2494))

### [`v1.0.167`](https://github.com/serde-rs/serde/releases/tag/v1.0.167)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.166...v1.0.167)

-   Add serialize and deserialize impls for `RangeFrom` and `RangeTo` ([#&#8203;2471](https://github.com/serde-rs/serde/issues/2471), thanks [@&#8203;tbu-](https://github.com/tbu-))

### [`v1.0.166`](https://github.com/serde-rs/serde/releases/tag/v1.0.166)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.165...v1.0.166)

-   Add `no-alloc` category to crates.io metadata

### [`v1.0.165`](https://github.com/serde-rs/serde/releases/tag/v1.0.165)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.164...v1.0.165)

-   Fix incorrect count of fields passed to tuple deserialization methods when using `serde(skip_deserializing)` attributes ([#&#8203;2466](https://github.com/serde-rs/serde/issues/2466), thanks [@&#8203;Mingun](https://github.com/Mingun))
-   Fix `-Zminimal-versions` build

### [`v1.0.164`](https://github.com/serde-rs/serde/releases/tag/v1.0.164)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.163...v1.0.164)

-   Allowed enum variants to be individually marked as untagged ([#&#8203;2403](https://github.com/serde-rs/serde/issues/2403), thanks [@&#8203;dewert99](https://github.com/dewert99))

### [`v1.0.163`](https://github.com/serde-rs/serde/releases/tag/v1.0.163)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.162...v1.0.163)

-   Eliminate build script from serde_derive crate to slightly reduce build time ([#&#8203;2442](https://github.com/serde-rs/serde/issues/2442), thanks [@&#8203;taiki-e](https://github.com/taiki-e))

### [`v1.0.162`](https://github.com/serde-rs/serde/releases/tag/v1.0.162)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.161...v1.0.162)

-   Support deserializing flattened adjacently tagged enums from data formats which represent fields as bytes, such as the `csv` crate ([#&#8203;2377](https://github.com/serde-rs/serde/issues/2377), thanks [@&#8203;mfro](https://github.com/mfro))

    ```rust
    #[derive(Deserialize)]
    pub struct Record {
        common: u64,
        #[serde(flatten)]
        kind: Kind,
    }

    #[derive(Deserialize)]
    #[serde(tag = "kind", content = "parameter", rename_all = "lowercase")]
    enum Kind {
        Foo(u64),
        Bar(bool),
    }
    ```

    ```csv
    common,kind,parameter
    1,foo,42
    2,bar,true
    ```

### [`v1.0.161`](https://github.com/serde-rs/serde/releases/tag/v1.0.161)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.160...v1.0.161)

-   Improve error messages produced by serde_test on test failure ([#&#8203;2435](https://github.com/serde-rs/serde/issues/2435), thanks [@&#8203;Mingun](https://github.com/Mingun))

### [`v1.0.160`](https://github.com/serde-rs/serde/releases/tag/v1.0.160)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.159...v1.0.160)

-   Make derived serializer/deserializer internals `doc(hidden)` ([#&#8203;2426](https://github.com/serde-rs/serde/issues/2426), thanks [@&#8203;compiler-errors](https://github.com/compiler-errors))

### [`v1.0.159`](https://github.com/serde-rs/serde/releases/tag/v1.0.159)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.158...v1.0.159)

-   Accept empty #\[serde()] attribute ([#&#8203;2422](https://github.com/serde-rs/serde/issues/2422))

### [`v1.0.158`](https://github.com/serde-rs/serde/releases/tag/v1.0.158)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.157...v1.0.158)

-   Fix *"expected serde crate attribute to be a string"* error when using macro_rules metavariable inside of serde attribute: `#[serde(crate = $serde_path)]` ([#&#8203;2409](https://github.com/serde-rs/serde/issues/2409))

### [`v1.0.157`](https://github.com/serde-rs/serde/releases/tag/v1.0.157)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.156...v1.0.157)

-   Update syn dependency to 2.x

### [`v1.0.156`](https://github.com/serde-rs/serde/releases/tag/v1.0.156)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.155...v1.0.156)

-   Documentation improvements

### [`v1.0.155`](https://github.com/serde-rs/serde/releases/tag/v1.0.155)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.154...v1.0.155)

-   Support `Serialize` and `Deserialize` impls for `core::ffi::CStr` and `alloc::ffi::CString` without "std" feature ([#&#8203;2374](https://github.com/serde-rs/serde/issues/2374), thanks [@&#8203;safarir](https://github.com/safarir))

### [`v1.0.154`](https://github.com/serde-rs/serde/releases/tag/v1.0.154)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.153...v1.0.154)

-   Fix "undeclared lifetime" error in generated code when deriving Deserialize for an enum with both `flatten` and `'static` fields ([#&#8203;2383](https://github.com/serde-rs/serde/issues/2383), thanks [@&#8203;Mingun](https://github.com/Mingun))

### [`v1.0.153`](https://github.com/serde-rs/serde/releases/tag/v1.0.153)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.153)

-   Support `serde(alias = "…")` attribute used inside of flattened struct ([#&#8203;2387](https://github.com/serde-rs/serde/issues/2387), thanks [@&#8203;bebecue](https://github.com/bebecue))

### [`v1.0.152`](https://github.com/serde-rs/serde/releases/tag/v1.0.152)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.151...v1.0.152)

-   Documentation improvements

### [`v1.0.151`](https://github.com/serde-rs/serde/releases/tag/v1.0.151)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.150...v1.0.151)

-   Update `serde::`{`ser`,`de`}`::StdError` to re-export `core::error::Error` when serde is built with `feature="std"` **off** and `feature="unstable"` **on** ([#&#8203;2344](https://github.com/serde-rs/serde/issues/2344))

### [`v1.0.150`](https://github.com/serde-rs/serde/releases/tag/v1.0.150)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.149...v1.0.150)

-   Relax some trait bounds from the `Serialize` impl of `HashMap` and `BTreeMap` ([#&#8203;2334](https://github.com/serde-rs/serde/issues/2334))
-   Enable `Serialize` and `Deserialize` impls of `std::sync::atomic` types on more platforms ([#&#8203;2337](https://github.com/serde-rs/serde/issues/2337), thanks [@&#8203;badboy](https://github.com/badboy))

### [`v1.0.149`](https://github.com/serde-rs/serde/releases/tag/v1.0.149)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.149)

-   Relax some trait bounds from the `Serialize` impl of `BinaryHeap`, `BTreeSet`, and `HashSet` ([#&#8203;2333](https://github.com/serde-rs/serde/issues/2333), thanks [@&#8203;jonasbb](https://github.com/jonasbb))

### [`v1.0.148`](https://github.com/serde-rs/serde/releases/tag/v1.0.148)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148)

-   Support `remote` derive for generic types that have private fields ([#&#8203;2327](https://github.com/serde-rs/serde/issues/2327))

### [`v1.0.147`](https://github.com/serde-rs/serde/releases/tag/v1.0.147)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.146...v1.0.147)

-   Add `serde::de::value::EnumAccessDeserializer` which transforms an `EnumAccess` into a `Deserializer` ([#&#8203;2305](https://github.com/serde-rs/serde/issues/2305))

### [`v1.0.146`](https://github.com/serde-rs/serde/releases/tag/v1.0.146)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.145...v1.0.146)

-   Allow internally tagged newtype variant to contain unit ([#&#8203;2303](https://github.com/serde-rs/serde/issues/2303), thanks [@&#8203;tage64](https://github.com/tage64))

### [`v1.0.145`](https://github.com/serde-rs/serde/releases/tag/v1.0.145)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145)

-   Allow RefCell\<T>, Mutex\<T>, and RwLock\<T> to be serialized regardless of whether T is `Sized` ([#&#8203;2282](https://github.com/serde-rs/serde/issues/2282), thanks [@&#8203;ChayimFriedman2](https://github.com/ChayimFriedman2))

### [`v1.0.144`](https://github.com/serde-rs/serde/releases/tag/v1.0.144)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.143...v1.0.144)

-   Change atomic ordering used by Serialize impl of atomic types to match ordering used by Debug impl of those same types ([#&#8203;2263](https://github.com/serde-rs/serde/issues/2263), thanks [@&#8203;taiki-e](https://github.com/taiki-e))

### [`v1.0.143`](https://github.com/serde-rs/serde/releases/tag/v1.0.143)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.142...v1.0.143)

-   Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case ([#&#8203;2253](https://github.com/serde-rs/serde/issues/2253), thanks [@&#8203;taiki-e](https://github.com/taiki-e))

### [`v1.0.142`](https://github.com/serde-rs/serde/releases/tag/v1.0.142)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.141...v1.0.142)

-   Add keywords to crates.io metadata

### [`v1.0.141`](https://github.com/serde-rs/serde/releases/tag/v1.0.141)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.140...v1.0.141)

-   Add `no-std` category to crates.io metadata

### [`v1.0.140`](https://github.com/serde-rs/serde/releases/tag/v1.0.140)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.139...v1.0.140)

-   Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain ([#&#8203;2251](https://github.com/serde-rs/serde/issues/2251), thanks [@&#8203;taiki-e](https://github.com/taiki-e))

### [`v1.0.139`](https://github.com/serde-rs/serde/releases/tag/v1.0.139)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.138...v1.0.139)

-   Add `new` constructor function for all `IntoDeserializer` impls ([#&#8203;2246](https://github.com/serde-rs/serde/issues/2246))

### [`v1.0.138`](https://github.com/serde-rs/serde/releases/tag/v1.0.138)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.137...v1.0.138)

-   Documentation improvements

### [`v1.0.137`](https://github.com/serde-rs/serde/releases/tag/v1.0.137)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.136...v1.0.137)

-   Update documentation links to some data formats whose repos have moved ([#&#8203;2201](https://github.com/serde-rs/serde/issues/2201), thanks [@&#8203;atouchet](https://github.com/atouchet))
-   Fix declared `rust-version` of serde and serde_test ([#&#8203;2168](https://github.com/serde-rs/serde/issues/2168))

### [`v1.0.136`](https://github.com/serde-rs/serde/releases/tag/v1.0.136)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.135...v1.0.136)

-   Improve default error message when `Visitor` fails to deserialize a u128 or i128 ([#&#8203;2167](https://github.com/serde-rs/serde/issues/2167))

### [`v1.0.135`](https://github.com/serde-rs/serde/releases/tag/v1.0.135)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.134...v1.0.135)

-   Update discord channels listed in readme

### [`v1.0.134`](https://github.com/serde-rs/serde/releases/tag/v1.0.134)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.134)

-   Improve error messages on deserializing NonZero integers from a 0 value ([#&#8203;2158](https://github.com/serde-rs/serde/issues/2158))

### [`v1.0.133`](https://github.com/serde-rs/serde/releases/tag/v1.0.133)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.132...v1.0.133)

-   Optimize deserialization of data structures that contain recursive use of `flatten` fields or `tag` or `untagged` enums ([#&#8203;2148](https://github.com/serde-rs/serde/issues/2148))

### [`v1.0.132`](https://github.com/serde-rs/serde/releases/tag/v1.0.132)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.131...v1.0.132)

-   Enable Serialize and Deserialize impls for `std::sync::atomic::{AtomicI64, AtomicU64}` on riscv64 arch ([#&#8203;2141](https://github.com/serde-rs/serde/issues/2141), thanks [@&#8203;Avimitin](https://github.com/Avimitin))

### [`v1.0.131`](https://github.com/serde-rs/serde/releases/tag/v1.0.131)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.130...v1.0.131)

-   Avoid `unused_results` being triggered in generated code for adjacently tagged enum ([#&#8203;2116](https://github.com/serde-rs/serde/issues/2116), thanks [@&#8203;tyranron](https://github.com/tyranron))

### [`v1.0.130`](https://github.com/serde-rs/serde/releases/tag/v1.0.130)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.129...v1.0.130)

-   Provide `MapAccess` and `SeqAccess` impl for reference to a dynamically sized existing impl ([#&#8203;2081](https://github.com/serde-rs/serde/issues/2081))

### [`v1.0.129`](https://github.com/serde-rs/serde/releases/tag/v1.0.129)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.128...v1.0.129)

-   Support deserialization of remote structs that used packed repr ([#&#8203;2078](https://github.com/serde-rs/serde/issues/2078), [#&#8203;2079](https://github.com/serde-rs/serde/issues/2079), [#&#8203;2080](https://github.com/serde-rs/serde/issues/2080))

### [`v1.0.128`](https://github.com/serde-rs/serde/releases/tag/v1.0.128)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.127...v1.0.128)

-   Enable 128-bit integers on emscripten in Rust 1.40+ ([#&#8203;2076](https://github.com/serde-rs/serde/issues/2076), thanks [@&#8203;Manishearth](https://github.com/Manishearth))

### [`v1.0.127`](https://github.com/serde-rs/serde/releases/tag/v1.0.127)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.126...v1.0.127)

-   Resolve warning in rustc nightly-2021-07-31+ compiling serde_test

### [`v1.0.126`](https://github.com/serde-rs/serde/releases/tag/v1.0.126)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.125...v1.0.126)

-   Resolve conflict with `forbid(future_incompatible)` lint setting in generated code ([#&#8203;2026](https://github.com/serde-rs/serde/issues/2026), thanks [@&#8203;hyd-dev](https://github.com/hyd-dev))

### [`v1.0.125`](https://github.com/serde-rs/serde/releases/tag/v1.0.125)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.124...v1.0.125)

-   Improve performance of serializing `Ipv4Addr` ([#&#8203;2001](https://github.com/serde-rs/serde/issues/2001), thanks [@&#8203;saethlin](https://github.com/saethlin))

### [`v1.0.124`](https://github.com/serde-rs/serde/releases/tag/v1.0.124)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.123...v1.0.124)

-   Fix possible panic deserializing invalid data as `SystemTime` ([#&#8203;1997](https://github.com/serde-rs/serde/issues/1997), thanks [@&#8203;cyang1](https://github.com/cyang1))

### [`v1.0.123`](https://github.com/serde-rs/serde/releases/tag/v1.0.123)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.122...v1.0.123)

-   Support `Self` keywords in fields of types that derive Deserialize ([#&#8203;1830](https://github.com/serde-rs/serde/issues/1830), thanks [@&#8203;taiki-e](https://github.com/taiki-e))
-   Allow floats to be deserialized from ints in tagged unions ([#&#8203;1842](https://github.com/serde-rs/serde/issues/1842), thanks [@&#8203;Timmmm](https://github.com/Timmmm))
-   Support `Self` inside fields that use serialize_with ([#&#8203;1970](https://github.com/serde-rs/serde/issues/1970))

### [`v1.0.122`](https://github.com/serde-rs/serde/releases/tag/v1.0.122)

[Compare Source](https://github.com/serde-rs/serde/compare/v1.0.121...v1.0.122)

-   Add IntoDeserializer impl for &\[u8] ([#&#8203;1898](https://github.com/serde-rs/serde/issues/1898), thanks [@&#8203;Mingun](https://github.com/Mingun))

-   Handle unrecognized numeric field keys during deserialization of a field_identifier, equivalently to string field keys ([#&#8203;1914](https://github.com/serde-rs/serde/issues/1914), thanks [@&#8203;Mingun](https://github.com/Mingun))

-   Add attribute to override default deserialization failure expectation message ([#&#8203;1916](https://github.com/serde-rs/serde/issues/1916), thanks [@&#8203;Mingun](https://github.com/Mingun))

    ```rust
    #[derive(Deserialize)]
    #[serde(untagged, expecting = "single version or array of versions")]
    struct VersionSpec {
        One(Version),
        Many(Vec<Version>),
    }
    ```

-   Improve `serde_test` handling of map entries and error message construction ([#&#8203;1918](https://github.com/serde-rs/serde/issues/1918), thanks [@&#8203;Mingun](https://github.com/Mingun))

-   Produce more accurate location information on test failures from `serde_test` crate ([#&#8203;1920](https://github.com/serde-rs/serde/issues/1920), thanks [@&#8203;Mingun](https://github.com/Mingun))

-   Improve diagnostic on failure to parse a `rename_all` attribute ([#&#8203;1960](https://github.com/serde-rs/serde/issues/1960), [#&#8203;1961](https://github.com/serde-rs/serde/issues/1961))

-   Eliminate unnecessary trait bounds on some value Deserializer impls ([#&#8203;1963](https://github.com/serde-rs/serde/issues/1963))

### [`v1.0.121`](https://github.com/serd…
Geal referenced this pull request in apollographql/federation-rs Jan 15, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch |
`1.0.75` -> `1.0.79` |
| [async-channel](https://togithub.com/smol-rs/async-channel) |
dependencies | minor | `1.8.0` -> `1.9.0` |
| [insta](https://insta.rs/)
([source](https://togithub.com/mitsuhiko/insta)) | dev-dependencies |
patch | `1.28.0` -> `1.34.0` |
| [serde](https://serde.rs)
([source](https://togithub.com/serde-rs/serde)) | dependencies | patch |
`1.0.158` -> `1.0.195` |
| [serde_json](https://togithub.com/serde-rs/json) | dependencies |
patch | `1.0.94` -> `1.0.111` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/)
([source](https://togithub.com/Stebalien/tempfile)) | dependencies |
minor | `3.4` -> `3.9` |
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies |
patch | `1.0.40` -> `1.0.56` |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | dependencies | minor |
`1.24.2` -> `1.35.1` |
| [which](https://togithub.com/harryfei/which-rs) | build-dependencies |
patch | `4.4.0` -> `4.4.2` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.79`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.79)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.78...1.0.79)

- Work around improperly cached build script result by sccache
([#&#8203;340](https://togithub.com/dtolnay/anyhow/issues/340))

### [`v1.0.78`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.78)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.77...1.0.78)

- Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain
([#&#8203;337](https://togithub.com/dtolnay/anyhow/issues/337))

### [`v1.0.77`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.77)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.76...1.0.77)

- Make `anyhow::Error::backtrace` available on stable Rust compilers
1.65+ ([#&#8203;293](https://togithub.com/dtolnay/anyhow/issues/293),
thanks [@&#8203;LukasKalbertodt](https://togithub.com/LukasKalbertodt))

### [`v1.0.76`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.76)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.75...1.0.76)

- Opt in to `unsafe_op_in_unsafe_fn` lint
([#&#8203;329](https://togithub.com/dtolnay/anyhow/issues/329))

</details>

<details>
<summary>smol-rs/async-channel (async-channel)</summary>

###
[`v1.9.0`](https://togithub.com/smol-rs/async-channel/blob/HEAD/CHANGELOG.md#Version-190)

[Compare
Source](https://togithub.com/smol-rs/async-channel/compare/v1.8.0...v1.9.0)

- Fix a bug where `WeakSender/WeakReceiver` could incorrectly return
`Some` even if the channel is already closed
([#&#8203;60](https://togithub.com/smol-rs/async-channel/issues/60))
- Remove the unnecessary `T: Clone` bound from
`WeakSender/WeakReceiver`'s `Clone` implementation
([#&#8203;62](https://togithub.com/smol-rs/async-channel/issues/62))

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

###
[`v1.0.195`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.195)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.194...v1.0.195)

- Prevent remote definitions of tuple struct or tuple variant from
triggering dead_code warning
([#&#8203;2671](https://togithub.com/serde-rs/serde/issues/2671))

###
[`v1.0.194`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.194)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.193...v1.0.194)

- Update proc-macro2 to fix caching issue when using a rustc-wrapper
such as sccache

###
[`v1.0.193`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.193)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.192...v1.0.193)

- Fix field names used for the deserialization of `RangeFrom` and
`RangeTo`
([#&#8203;2653](https://togithub.com/serde-rs/serde/issues/2653),
[#&#8203;2654](https://togithub.com/serde-rs/serde/issues/2654),
[#&#8203;2655](https://togithub.com/serde-rs/serde/issues/2655), thanks
[@&#8203;emilbonnek](https://togithub.com/emilbonnek))

###
[`v1.0.192`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.192)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.191...v1.0.192)

- Allow internal tag field in untagged variant
([#&#8203;2646](https://togithub.com/serde-rs/serde/issues/2646), thanks
[@&#8203;robsdedude](https://togithub.com/robsdedude))

###
[`v1.0.191`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.191)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.190...v1.0.191)

-   Documentation improvements

###
[`v1.0.190`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.190)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.189...v1.0.190)

- Preserve NaN sign when deserializing f32 from f64 or vice versa
([#&#8203;2637](https://togithub.com/serde-rs/serde/issues/2637))

###
[`v1.0.189`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.189)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.188...v1.0.189)

- Fix "cannot infer type" error when internally tagged enum contains
untagged variant
([#&#8203;2613](https://togithub.com/serde-rs/serde/issues/2613), thanks
[@&#8203;ahl](https://togithub.com/ahl))

###
[`v1.0.188`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.188)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.187...v1.0.188)

- Fix *"failed to parse manifest"* error when building serde using a
Cargo version between 1.45 and 1.50
([#&#8203;2603](https://togithub.com/serde-rs/serde/issues/2603))

###
[`v1.0.187`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.187)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.186...v1.0.187)

- Remove support for Emscripten targets on rustc older than 1.40
([#&#8203;2600](https://togithub.com/serde-rs/serde/issues/2600))

###
[`v1.0.186`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.186)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.185...v1.0.186)

- Disallow incompatible versions of `serde_derive` and `serde` in the
dependency graph
([#&#8203;2588](https://togithub.com/serde-rs/serde/issues/2588), thanks
[@&#8203;soqb](https://togithub.com/soqb))

###
[`v1.0.185`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.185)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.184...v1.0.185)

- Fix error *"cannot move out of `*self` which is behind a shared
reference"* deriving Serialize on a non_exhaustive enum
([#&#8203;2591](https://togithub.com/serde-rs/serde/issues/2591))

###
[`v1.0.184`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.184)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.183...v1.0.184)

- Restore from-source `serde_derive` build on all platforms — eventually
we'd like to use a first-class precompiled macro if such a thing becomes
supported by cargo / crates.io

###
[`v1.0.183`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.183)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.182...v1.0.183)

- Support deserializing `Box<OsStr>` with an equivalent representation
as `OsString`
([#&#8203;2556](https://togithub.com/serde-rs/serde/issues/2556), thanks
[@&#8203;DBLouis](https://togithub.com/DBLouis))

###
[`v1.0.182`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.182)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.181...v1.0.182)

- Render field aliases in sorted order in error messages
([#&#8203;2458](https://togithub.com/serde-rs/serde/issues/2458), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Support `serde(default)` on tuple structs
([#&#8203;2553](https://togithub.com/serde-rs/serde/issues/2553), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

###
[`v1.0.181`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.181)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.180...v1.0.181)

- Make `serde(alias)` work in combination with `flatten` when using
in-place deserialization
([#&#8203;2443](https://togithub.com/serde-rs/serde/issues/2443), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Improve the representation of adjacently tagged enums in formats where
enum tags are serialized by index, as opposed to by string name
([#&#8203;2505](https://togithub.com/serde-rs/serde/issues/2505),
[#&#8203;2496](https://togithub.com/serde-rs/serde/issues/2496), thanks
[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))

###
[`v1.0.180`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.180)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.179...v1.0.180)

-   Update to 2018 edition

###
[`v1.0.179`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.179)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.178...v1.0.179)

- Support serialization of tuple variants inside a flattened field
([#&#8203;2448](https://togithub.com/serde-rs/serde/issues/2448), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

###
[`v1.0.178`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.178)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.177...v1.0.178)

- Fix build error when using serde with "std" feature turned off and
"unstable" feature turned on
([#&#8203;2541](https://togithub.com/serde-rs/serde/issues/2541))

###
[`v1.0.177`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.177)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.176...v1.0.177)

- Add `serde(rename_all_fields = "...")` attribute to apply a
`rename_all` on every struct variant of an enum
([#&#8203;1695](https://togithub.com/serde-rs/serde/issues/1695), thanks
[@&#8203;jplatte](https://togithub.com/jplatte))
- Improve diagnostics for attribute parse errors
([#&#8203;2536](https://togithub.com/serde-rs/serde/issues/2536), thanks
[@&#8203;jplatte](https://togithub.com/jplatte))

###
[`v1.0.176`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.176)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.175...v1.0.176)

- Allow tag field of an internally tagged enum to have same name as a
field inside a skipped struct variant
([#&#8203;2266](https://togithub.com/serde-rs/serde/issues/2266), thanks
[@&#8203;flisky](https://togithub.com/flisky))

###
[`v1.0.175`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.175)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.174...v1.0.175)

- Restore missing LICENSE files in serde_derive crate
([#&#8203;2527](https://togithub.com/serde-rs/serde/issues/2527), thanks
[@&#8203;ankane](https://togithub.com/ankane))

###
[`v1.0.174`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.174)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.173...v1.0.174)

-   Documentation improvements

###
[`v1.0.173`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.173)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.172...v1.0.173)

- Fix missing trait implementations when using serde derive macro on a
macro-generated data structure, such as via the `bitflags` crate
([#&#8203;2516](https://togithub.com/serde-rs/serde/issues/2516))

###
[`v1.0.172`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.172)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.171...v1.0.172)

- Experiment with precompiling the serde_derive macros to reduce build
time ([#&#8203;2514](https://togithub.com/serde-rs/serde/issues/2514))

###
[`v1.0.171`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.171)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.170...v1.0.171)

- Support `derive(Deserialize)` on unit structs that have const generics
([#&#8203;2500](https://togithub.com/serde-rs/serde/issues/2500), thanks
[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))

###
[`v1.0.170`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.170)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.169...v1.0.170)

- Produce error message on suffixed string literals inside serde
attributes
([#&#8203;2242](https://togithub.com/serde-rs/serde/issues/2242))
- Support single identifier as unbraced default value for const generic
parameter
([#&#8203;2449](https://togithub.com/serde-rs/serde/issues/2449))

###
[`v1.0.169`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.169)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.168...v1.0.169)

- Add Deserializer::deserialize_identifier support for adjacently tagged
enums ([#&#8203;2475](https://togithub.com/serde-rs/serde/issues/2475),
thanks [@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))
- Fix unused_braces lint in generated Deserialize impl that uses braced
const generic expressions
([#&#8203;2414](https://togithub.com/serde-rs/serde/issues/2414))

###
[`v1.0.168`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.168)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.167...v1.0.168)

- Allow `serde::de::IgnoredAny` to be the type for a `serde(flatten)`
field ([#&#8203;2436](https://togithub.com/serde-rs/serde/issues/2436),
thanks [@&#8203;Mingun](https://togithub.com/Mingun))
- Allow larger preallocated capacity for smaller elements
([#&#8203;2494](https://togithub.com/serde-rs/serde/issues/2494))

###
[`v1.0.167`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.167)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.166...v1.0.167)

- Add serialize and deserialize impls for `RangeFrom` and `RangeTo`
([#&#8203;2471](https://togithub.com/serde-rs/serde/issues/2471), thanks
[@&#8203;tbu-](https://togithub.com/tbu-))

###
[`v1.0.166`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.166)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.165...v1.0.166)

-   Add `no-alloc` category to crates.io metadata

###
[`v1.0.165`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.165)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.164...v1.0.165)

- Fix incorrect count of fields passed to tuple deserialization methods
when using `serde(skip_deserializing)` attributes
([#&#8203;2466](https://togithub.com/serde-rs/serde/issues/2466), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
-   Fix `-Zminimal-versions` build

###
[`v1.0.164`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.164)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.163...v1.0.164)

- Allowed enum variants to be individually marked as untagged
([#&#8203;2403](https://togithub.com/serde-rs/serde/issues/2403), thanks
[@&#8203;dewert99](https://togithub.com/dewert99))

###
[`v1.0.163`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.163)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.162...v1.0.163)

- Eliminate build script from serde_derive crate to slightly reduce
build time
([#&#8203;2442](https://togithub.com/serde-rs/serde/issues/2442), thanks
[@&#8203;taiki-e](https://togithub.com/taiki-e))

###
[`v1.0.162`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.162)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.161...v1.0.162)

- Support deserializing flattened adjacently tagged enums from data
formats which represent fields as bytes, such as the `csv` crate
([#&#8203;2377](https://togithub.com/serde-rs/serde/issues/2377), thanks
[@&#8203;mfro](https://togithub.com/mfro))

    ```rust
    #[derive(Deserialize)]
    pub struct Record {
        common: u64,
        #[serde(flatten)]
        kind: Kind,
    }

    #[derive(Deserialize)]
#[serde(tag = "kind", content = "parameter", rename_all = "lowercase")]
    enum Kind {
        Foo(u64),
        Bar(bool),
    }
    ```

    ```csv
    common,kind,parameter
    1,foo,42
    2,bar,true
    ```

###
[`v1.0.161`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.161)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.160...v1.0.161)

- Improve error messages produced by serde_test on test failure
([#&#8203;2435](https://togithub.com/serde-rs/serde/issues/2435), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

###
[`v1.0.160`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.160)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.159...v1.0.160)

- Make derived serializer/deserializer internals `doc(hidden)`
([#&#8203;2426](https://togithub.com/serde-rs/serde/issues/2426), thanks
[@&#8203;compiler-errors](https://togithub.com/compiler-errors))

###
[`v1.0.159`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.159)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.158...v1.0.159)

- Accept empty #\[serde()] attribute
([#&#8203;2422](https://togithub.com/serde-rs/serde/issues/2422))

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

###
[`v1.0.111`](https://togithub.com/serde-rs/json/releases/tag/v1.0.111)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.110...v1.0.111)

- Improve floating point parsing performance on loongarch64
([#&#8203;1100](https://togithub.com/serde-rs/json/issues/1100), thanks
[@&#8203;heiher](https://togithub.com/heiher))

###
[`v1.0.110`](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

###
[`v1.0.109`](https://togithub.com/serde-rs/json/releases/tag/v1.0.109)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.108...v1.0.109)

-   Documentation improvements

###
[`v1.0.108`](https://togithub.com/serde-rs/json/releases/tag/v1.0.108)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.107...v1.0.108)

- Documentation improvements
([#&#8203;1075](https://togithub.com/serde-rs/json/issues/1075),
[#&#8203;1081](https://togithub.com/serde-rs/json/issues/1081),
[#&#8203;1082](https://togithub.com/serde-rs/json/issues/1082), thanks
[@&#8203;dimo414](https://togithub.com/dimo414) and
[@&#8203;fritzrehde](https://togithub.com/fritzrehde))

###
[`v1.0.107`](https://togithub.com/serde-rs/json/releases/tag/v1.0.107)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.106...v1.0.107)

- impl IntoDeserializer for \&RawValue
([#&#8203;1071](https://togithub.com/serde-rs/json/issues/1071))

###
[`v1.0.106`](https://togithub.com/serde-rs/json/releases/tag/v1.0.106)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.105...v1.0.106)

- Add `Value::as_number` accessor
([#&#8203;1069](https://togithub.com/serde-rs/json/issues/1069), thanks
[@&#8203;chanced](https://togithub.com/chanced))
- Add `Number::as_str` accessor under "arbitrary_precision" feature
([#&#8203;1067](https://togithub.com/serde-rs/json/issues/1067), thanks
[@&#8203;chanced](https://togithub.com/chanced))

###
[`v1.0.105`](https://togithub.com/serde-rs/json/releases/tag/v1.0.105)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.104...v1.0.105)

- Support bool in map keys
([#&#8203;1054](https://togithub.com/serde-rs/json/issues/1054))

###
[`v1.0.104`](https://togithub.com/serde-rs/json/releases/tag/v1.0.104)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.103...v1.0.104)

- Provide IntoDeserializer impl for \&serde_json::Value
([#&#8203;1045](https://togithub.com/serde-rs/json/issues/1045), thanks
[@&#8203;ZetaNumbers](https://togithub.com/ZetaNumbers))

###
[`v1.0.103`](https://togithub.com/serde-rs/json/releases/tag/v1.0.103)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.102...v1.0.103)

-   Documentation improvements

###
[`v1.0.102`](https://togithub.com/serde-rs/json/releases/tag/v1.0.102)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.101...v1.0.102)

- Add a way to customize the serialization of byte arrays
([#&#8203;1039](https://togithub.com/serde-rs/json/issues/1039))

###
[`v1.0.101`](https://togithub.com/serde-rs/json/releases/tag/v1.0.101)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.100...v1.0.101)

- Allow f32 and f64 as keys in maps
([#&#8203;1027](https://togithub.com/serde-rs/json/issues/1027), thanks
[@&#8203;overdrivenpotato](https://togithub.com/overdrivenpotato))

###
[`v1.0.100`](https://togithub.com/serde-rs/json/releases/tag/v1.0.100)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.99...v1.0.100)

-   Support `-Z minimal-versions`

### [`v1.0.99`](https://togithub.com/serde-rs/json/releases/tag/v1.0.99)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.98...v1.0.99)

- Support serializing serde's **option** type in a map key
([#&#8203;1030](https://togithub.com/serde-rs/json/issues/1030), thanks
[@&#8203;LPGhatguy](https://togithub.com/LPGhatguy))

### [`v1.0.98`](https://togithub.com/serde-rs/json/releases/tag/v1.0.98)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.97...v1.0.98)

- Update indexmap dependency used by "preserve_order" feature to version
2

### [`v1.0.97`](https://togithub.com/serde-rs/json/releases/tag/v1.0.97)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.96...v1.0.97)

- Add `io_error_kind()` method to serde_json::Error: `fn
io_error_kind(&self) -> Option<std::io::ErrorKind>`
([#&#8203;1026](https://togithub.com/serde-rs/json/issues/1026))

### [`v1.0.96`](https://togithub.com/serde-rs/json/releases/tag/v1.0.96)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.95...v1.0.96)

- Guarantee that `to_writer` only writes valid UTF-8 strings
([#&#8203;1011](https://togithub.com/serde-rs/json/issues/1011), thanks
[@&#8203;stepancheg](https://togithub.com/stepancheg))

### [`v1.0.95`](https://togithub.com/serde-rs/json/releases/tag/v1.0.95)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.94...v1.0.95)

- Preserve f32 precision when serializing f32 -> serde_json::Value ->
JSON string in "arbitrary_precision" mode
([#&#8203;1004](https://togithub.com/serde-rs/json/issues/1004),
[#&#8203;1005](https://togithub.com/serde-rs/json/issues/1005))

</details>

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

###
[`v3.9.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#390)

[Compare
Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0)

-   Updates windows-sys to 0.52
-   Updates minimum rustix version to 0.38.25

###
[`v3.8.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#381)

[Compare
Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.0...v3.8.1)

- Update rustix to fix a potential panic on `persist_noclobber` on
android.
-   Update redox_syscall to 0.4 (on redox).
-   Fix some docs typos.

</details>

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

###
[`v1.0.56`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.56)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.55...1.0.56)

- Update proc-macro2 to fix caching issue when using a rustc-wrapper
such as sccache

###
[`v1.0.55`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.55)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.54...1.0.55)

- Work around improperly cached build script result by sccache – second
attempt
([#&#8203;280](https://togithub.com/dtolnay/thiserror/issues/280))

###
[`v1.0.54`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.54)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.53...1.0.54)

- Work around improperly cached build script result by sccache – first
attempt
([#&#8203;279](https://togithub.com/dtolnay/thiserror/issues/279))

###
[`v1.0.53`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.53)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.52...1.0.53)

- Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain
([#&#8203;270](https://togithub.com/dtolnay/thiserror/issues/270))

###
[`v1.0.52`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.52)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.51...1.0.52)

- Fix interaction with RUSTC_BOOTSTRAP
([#&#8203;269](https://togithub.com/dtolnay/thiserror/issues/269))

###
[`v1.0.51`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.51)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.50...1.0.51)

- Improve diagnostics when an invalid attribute previously caused
thiserror to generate no `Error` impl
([#&#8203;266](https://togithub.com/dtolnay/thiserror/issues/266))

###
[`v1.0.50`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.50)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.49...1.0.50)

- Improve diagnostic when a #\[source], #\[from], or #\[transparant]
attribute refers to a type that has no std::error::Error impl
([#&#8203;258](https://togithub.com/dtolnay/thiserror/issues/258),
thanks [@&#8203;de-vri-es](https://togithub.com/de-vri-es))

###
[`v1.0.49`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.49)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.48...1.0.49)

- Access libcore types through `::core` in generated code
([#&#8203;255](https://togithub.com/dtolnay/thiserror/issues/255),
thanks [@&#8203;mina86](https://togithub.com/mina86))

###
[`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

- Improve implementation of displaying Path values in a generated
Display impl
([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251),
thanks [@&#8203;mina86](https://togithub.com/mina86))

###
[`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

- Work around rust-analyzer bug
([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

###
[`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

- Add bootstrap workaround to allow rustc to depend on thiserror
([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248),
thanks [@&#8203;RalfJung](https://togithub.com/RalfJung))

###
[`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

- Update backtrace support to nightly's new Error::provide API
([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464),
[#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

###
[`v1.0.44`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.44)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.43...1.0.44)

-   Documentation improvements

###
[`v1.0.43`](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)

###
[`v1.0.42`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.42)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.41...1.0.42)

- Fix compile error in derived Display impl if there was a nonstandard
`write!` macro in scope
([#&#8203;239](https://togithub.com/dtolnay/thiserror/issues/239))

###
[`v1.0.41`](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

###
[`v1.35.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.35.1):
Tokio v1.35.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1)

### 1.35.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

##### Fixed

- io: add budgeting to `tokio::runtime::io::registration::async_io`
([#&#8203;6221])

[#&#8203;6221]: https://togithub.com/tokio-rs/tokio/pull/6221

###
[`v1.35.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.35.0):
Tokio v1.35.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.34.0...tokio-1.35.0)

### 1.35.0 (December 8th, 2023)

##### Added

-   net: add Apple watchOS support ([#&#8203;6176])

##### Changed

- io: drop the `Sized` requirements from `AsyncReadExt.read_buf`
([#&#8203;6169])
-   runtime: make `Runtime` unwind safe ([#&#8203;6189])
-   runtime: reduce the lock contention in task spawn ([#&#8203;6001])
-   tokio: update nix dependency to 0.27.1 ([#&#8203;6190])

##### Fixed

-   chore: make `--cfg docsrs` work without net feature ([#&#8203;6166])
-   chore: use relaxed load for `unsync_load` on miri ([#&#8203;6179])
-   runtime: handle missing context on wake ([#&#8203;6148])
-   taskdump: fix taskdump cargo config example ([#&#8203;6150])
-   taskdump: skip notified tasks during taskdumps ([#&#8203;6194])
- tracing: avoid creating resource spans with current parent, use a None
parent instead ([#&#8203;6107])
-   tracing: make task span explicit root ([#&#8203;6158])

##### Documented

-   io: flush in `AsyncWriteExt` examples ([#&#8203;6149])
- runtime: document fairness guarantees and current behavior
([#&#8203;6145])
- task: document cancel safety of `LocalSet::run_until` ([#&#8203;6147])

[#&#8203;6001]: https://togithub.com/tokio-rs/tokio/pull/6001

[#&#8203;6107]: https://togithub.com/tokio-rs/tokio/pull/6107

[#&#8203;6144]: https://togithub.com/tokio-rs/tokio/pull/6144

[#&#8203;6145]: https://togithub.com/tokio-rs/tokio/pull/6145

[#&#8203;6147]: https://togithub.com/tokio-rs/tokio/pull/6147

[#&#8203;6148]: https://togithub.com/tokio-rs/tokio/pull/6148

[#&#8203;6149]: https://togithub.com/tokio-rs/tokio/pull/6149

[#&#8203;6150]: https://togithub.com/tokio-rs/tokio/pull/6150

[#&#8203;6158]: https://togithub.com/tokio-rs/tokio/pull/6158

[#&#8203;6166]: https://togithub.com/tokio-rs/tokio/pull/6166

[#&#8203;6169]: https://togithub.com/tokio-rs/tokio/pull/6169

[#&#8203;6176]: https://togithub.com/tokio-rs/tokio/pull/6176

[#&#8203;6179]: https://togithub.com/tokio-rs/tokio/pull/6179

[#&#8203;6189]: https://togithub.com/tokio-rs/tokio/pull/6189

[#&#8203;6190]: https://togithub.com/tokio-rs/tokio/pull/6190

[#&#8203;6194]: https://togithub.com/tokio-rs/tokio/pull/6194

###
[`v1.34.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.34.0):
Tokio v1.34.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.33.0...tokio-1.34.0)

##### Fixed

- io: allow `clear_readiness` after io driver shutdown ([#&#8203;6067])
-   io: fix integer overflow in `take` ([#&#8203;6080])
-   io: fix I/O resource hang ([#&#8203;6134])
-   sync: fix `broadcast::channel` link ([#&#8203;6100])

##### Changed

- macros: use `::core` qualified imports instead of `::std` inside
`tokio::test` macro ([#&#8203;5973])

##### Added

- fs: update cfg attr in `fs::read_dir` to include `aix`
([#&#8203;6075])
-   sync: add `mpsc::Receiver::recv_many` ([#&#8203;6010])
-   tokio: added vita target support ([#&#8203;6094])

[#&#8203;5973]: https://togithub.com/tokio-rs/tokio/pull/5973

[#&#8203;6067]: https://togithub.com/tokio-rs/tokio/pull/6067

[#&#8203;6080]: https://togithub.com/tokio-rs/tokio/pull/6080

[#&#8203;6134]: https://togithub.com/tokio-rs/tokio/pull/6134

[#&#8203;6100]: https://togithub.com/tokio-rs/tokio/pull/6100

[#&#8203;6075]: https://togithub.com/tokio-rs/tokio/pull/6075

[#&#8203;6010]: https://togithub.com/tokio-rs/tokio/pull/6010

[#&#8203;6094]: https://togithub.com/tokio-rs/tokio/pull/6094

###
[`v1.33.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.33.0):
Tokio v1.33.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.32.1...tokio-1.33.0)

### 1.33.0 (October 9, 2023)

##### Fixed

-   io: mark `Interest::add` with `#[must_use]` ([#&#8203;6037])
-   runtime: fix cache line size for RISC-V ([#&#8203;5994])
- sync: prevent lock poisoning in `watch::Receiver::wait_for`
([#&#8203;6021])
-   task: fix `spawn_local` source location ([#&#8203;5984])

##### Changed

- sync: use Acquire/Release orderings instead of SeqCst in `watch`
([#&#8203;6018])

##### Added

-   fs: add vectored writes to `tokio::fs::File` ([#&#8203;5958])
-   io: add `Interest::remove` method ([#&#8203;5906])
-   io: add vectored writes to `DuplexStream` ([#&#8203;5985])
-   net: add Apple tvOS support ([#&#8203;6045])
- sync: add `?Sized` bound to `{MutexGuard,OwnedMutexGuard}::map`
([#&#8203;5997])
- sync: add `watch::Receiver::mark_unseen` ([#&#8203;5962],
[#&#8203;6014], [#&#8203;6017])
-   sync: add `watch::Sender::new` ([#&#8203;5998])
-   sync: add const fn `OnceCell::from_value` ([#&#8203;5903])

##### Removed

-   remove unused `stats` feature ([#&#8203;5952])

##### Documented

- add missing backticks in code examples ([#&#8203;5938],
[#&#8203;6056])
-   fix typos ([#&#8203;5988], [#&#8203;6030])
-   process: document that `Child::wait` is cancel safe ([#&#8203;5977])
- sync: add examples for `Semaphore` ([#&#8203;5939], [#&#8203;5956],
[#&#8203;5978], [#&#8203;6031], [#&#8203;6032], [#&#8203;6050])
- sync: document that `broadcast` capacity is a lower bound
([#&#8203;6042])
-   sync: document that `const_new` is not instrumented ([#&#8203;6002])
- sync: improve cancel-safety documentation for `mpsc::Sender::send`
([#&#8203;5947])
-   sync: improve docs for `watch` channel ([#&#8203;5954])
-   taskdump: render taskdump documentation on docs.rs ([#&#8203;5972])

##### Unstable

-   taskdump: fix potential deadlock ([#&#8203;6036])

[#&#8203;5903]: https://togithub.com/tokio-rs/tokio/pull/5903

[#&#8203;5906]: https://togithub.com/tokio-rs/tokio/pull/5906

[#&#8203;5938]: https://togithub.com/tokio-rs/tokio/pull/5938

[#&#8203;5939]: https://togithub.com/tokio-rs/tokio/pull/5939

[#&#8203;5947]: https://togithub.com/tokio-rs/tokio/pull/5947

[#&#8203;5952]: https://togithub.com/tokio-rs/tokio/pull/5952

[#&#8203;5954]: https://togithub.com/tokio-rs/tokio/pull/5954

[#&#8203;5956]: https://togithub.com/tokio-rs/tokio/pull/5956

[#&#8203;5958]: https://togithub.com/tokio-rs/tokio/pull/5958

[#&#8203;5960]: https://togithub.com/tokio-rs/tokio/pull/5960

[#&#8203;5962]: https://togithub.com/tokio-rs/tokio/pull/5962

[#&#8203;5971]: https://togithub.com/tokio-rs/tokio/pull/5971

[#&#8203;5972]: https://togithub.com/tokio-rs/tokio/pull/5972

[#&#8203;5977]: https://togithub.com/tokio-rs/tokio/pull/5977

[#&#8203;5978]: https://togithub.com/tokio-rs/tokio/pull/5978

[#&#8203;5984]: https://togithub.com/tokio-rs/tokio/pull/5984

[#&#8203;5985]: https://togithub.com/tokio-rs/tokio/pull/5985

[#&#8203;5988]: https://togithub.com/tokio-rs/tokio/pull/5988

[#&#8203;5994]: https://togithub.com/tokio-rs/tokio/pull/5994

[#&#8203;5997]: https://togithub.com/tokio-rs/tokio/pull/5997

[#&#8203;5998]: https://togithub.com/tokio-rs/tokio/pull/5998

[#&#8203;6002]: https://togithub.com/tokio-rs/tokio/pull/6002

[#&#8203;6014]: https://togithub.com/tokio-rs/tokio/pull/6014

[#&#8203;6017]: https://togithub.com/tokio-rs/tokio/pull/6017

[#&#8203;6018]: https://togithub.com/tokio-rs/tokio/pull/6018

[#&#8203;6021]: https://togithub.com/tokio-rs/tokio/pull/6021

[#&#8203;6030]: https://togithub.com/tokio-rs/tokio/pull/6030

[#&#8203;6031]: https://togithub.com/tokio-rs/tokio/pull/6031

[#&#8203;6032]: https://togithub.com/tokio-rs/tokio/pull/6032

[#&#8203;6036]: https://togithub.com/tokio-rs/tokio/pull/6036

[#&#8203;6037]: https://togithub.com/tokio-rs/tokio/pull/6037

[#&#8203;6042]: https://togithub.com/tokio-rs/tokio/pull/6042

[#&#8203;6045]: https://togithub.com/tokio-rs/tokio/pull/6045

[#&#8203;6050]: https://togithub.com/tokio-rs/tokio/pull/6050

[#&#8203;6056]: https://togithub.com/tokio-rs/tokio/pull/6056

[#&#8203;6058]: https://togithub.com/tokio-rs/tokio/pull/6058

###
[`v1.32.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.32.1):
Tokio v1.32.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.32.1)

### 1.32.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

##### Fixed

- io: add budgeting to `tokio::runtime::io::registration::async_io`
([#&#8203;6221])

[#&#8203;6221]: https://togithub.com/tokio-rs/tokio/pull/6221

###
[`v1.32.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.32.0):
Tokio v1.32.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.31.0...tokio-1.32.0)

##### Fixed

- sync: fix potential quadratic behavior in `broadcast::Receiver`
([#&#8203;5925])

##### Added

-   process: stabilize `Command::raw_arg` ([#&#8203;5930])
-   io: enable awaiting error readiness ([#&#8203;5781])

##### Unstable

- rt(alt): improve the scalability of alt runtime as the number of cores
grows ([#&#8203;5935])

[#&#8203;5925]: https://togithub.com/tokio-rs/tokio/pull/5925

[#&#8203;5930]: https://togithub.com/tokio-rs/tokio/pull/5930

[#&#8203;5781]: https://togithub.com/tokio-rs/tokio/pull/5781

[#&#8203;5935]: https://togithub.com/tokio-rs/tokio/pull/5935

###
[`v1.31.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.31.0):
Tokio v1.31.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.30.0...tokio-1.31.0)

##### Fixed

-   io: delegate `WriteHalf::poll_write_vectored` ([#&#8203;5914])

##### Unstable

- rt(unstable): fix memory leak in unstable next-gen scheduler prototype
([#&#8203;5911])
-   rt: expose mean task poll time metric ([#&#8203;5927])

[#&#8203;5914]: https://togithub.com/tokio-rs/tokio/pull/5914

[#&#8203;5911]: https://togithub.com/tokio-rs/tokio/pull/5911

[#&#8203;5927]: https://togithub.com/tokio-rs/tokio/pull/5927

###
[`v1.30.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.30.0):
Tokio v1.30.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.1...tokio-1.30.0)

### 1.30.0 (August 9, 2023)

This release bumps the MSRV of Tokio to 1.63. ([#&#8203;5887])

##### Changed

-   tokio: reduce LLVM code generation ([#&#8203;5859])
- io: support `--cfg mio_unsupported_force_poll_poll` flag
([#&#8203;5881])
-   sync: make `const_new` methods always available ([#&#8203;5885])
-   sync: avoid false sharing in mpsc channel ([#&#8203;5829])
-   rt: pop at least one task from inject queue ([#&#8203;5908])

##### Added

-   sync: add `broadcast::Sender::new` ([#&#8203;5824])
-   net: implement `UCred` for espidf ([#&#8203;5868])
-   fs: add `File::options()` ([#&#8203;5869])
-   time: implement extra reset variants for `Interval` ([#&#8203;5878])
-   process: add `{ChildStd*}::into_owned_{fd, handle}` ([#&#8203;5899])

##### Removed

-   tokio: removed unused `tokio_*` cfgs ([#&#8203;5890])
-   remove build script to speed up compilation ([#&#8203;5887])

##### Documented

-   sync: mention lagging in docs for `broadcast::send` ([#&#8203;5820])
-   runtime: expand on sharing runtime docs ([#&#8203;5858])
- io: use vec in example for `AsyncReadExt::read_exact` ([#&#8203;5863])
-   time: mark `Sleep` as `!Unpin` in docs ([#&#8203;5916])
-   process: fix `raw_arg` not showing up in docs ([#&#8203;5865])

##### Unstable

-   rt: add runtime ID ([#&#8203;5864])
-   rt: initial implementation of new threaded runtime ([#&#8203;5823])

[#&#8203;5820]: https://togithub.com/tokio-rs/tokio/pull/5820

[#&#8203;5823]: https://togithub.com/tokio-rs/tokio/pull/5823

[#&#8203;5824]: https://togithub.com/tokio-rs/tokio/pull/5824

[#&#8203;5829]: https://togithub.com/tokio-rs/tokio/pull/5829

[#&#8203;5858]: https://togithub.com/tokio-rs/tokio/pull/5858

[#&#8203;5859]: https://togithub.com/tokio-rs/tokio/pull/5859

[#&#8203;5863]: https://togithub.com/tokio-rs/tokio/pull/5863

[#&#8203;5864]: https://togithub.com/tokio-rs/tokio/pull/5864

[#&#8203;5865]: https://togithub.com/tokio-rs/tokio/pull/5865

[#&#8203;5868]: https://togithub.com/tokio-rs/tokio/pull/5868

[#&#8203;5869]: https://togithub.com/tokio-rs/tokio/pull/5869

[#&#8203;5878]: https://togithub.com/tokio-rs/tokio/pull/5878

[#&#8203;5881]: https://togithub.com/tokio-rs/tokio/pull/5881

[#&#8203;5885]: https://togithub.com/tokio-rs/tokio/pull/5885

[#&#8203;5887]: https://togithub.com/tokio-rs/tokio/pull/5887

[#&#8203;5890]: https://togithub.com/tokio-rs/tokio/pull/5890

[#&#8203;5899]: https://togithub.com/tokio-rs/tokio/pull/5899

[#&#8203;5908]: https://togithub.com/tokio-rs/tokio/pull/5908

[#&#8203;5916]: https://togithub.com/tokio-rs/tokio/pull/5916

###
[`v1.29.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.1):
Tokio v1.29.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1)

##### Fixed

- rt: fix nesting two `block_in_place` with a `block_on` between
([#&#8203;5837])

[#&#8203;5837]: https://togithub.com/tokio-rs/tokio/pull/5837

###
[`v1.29.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.0):
Tokio v1.29.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0)

Technically a breaking change, the `Send` implementation is removed from
`runtime::EnterGuard`. This change fixes a bug and should not impact
most users.

##### Breaking

-   rt: `EnterGuard` should not be `Send` ([#&#8203;5766])

##### Fixed

-   fs: reduce blocking ops in `fs::read_dir` ([#&#8203;5653])
-   rt: fix possible starvation ([#&#8203;5686], [#&#8203;5712])
-   rt: fix stacked borrows issue in `JoinSet` ([#&#8203;5693])
-   rt: panic if `EnterGuard` dropped incorrect order ([#&#8203;5772])
-   time: do not overflow to signal value ([#&#8203;5710])
-   fs: wait for in-flight ops before cloning `File` ([#&#8203;5803])

##### Changed

- rt: reduce time to poll tasks scheduled from outside the runtime
([#&#8203;5705], [#&#8203;5720])

##### Added

-   net: add uds doc alias for unix sockets ([#&#8203;5659])
-   rt: add metric for number of tasks ([#&#8203;5628])
-   sync: implement more traits for channel errors ([#&#8203;5666])
-   net: add nodelay methods on TcpSocket ([#&#8203;5672])
-   sync: add `broadcast::Receiver::blocking_recv` ([#&#8203;5690])
-   process: add `raw_arg` method to `Command` ([#&#8203;5704])
-   io: support PRIORITY epoll events ([#&#8203;5566])
-   task: add `JoinSet::poll_join_next` ([#&#8203;5721])
-   net: add support for Redox OS ([#&#8203;5790])

##### Unstable

- rt: add the ability to dump task backtraces ([#&#8203;5608],
[#&#8203;5676], [#&#8203;5708], [#&#8203;5717])
-   rt: instrument task poll times with a histogram ([#&#8203;5685])

[#&#8203;5766]: https://togithub.com/tokio-rs/tokio/pull/5766

[#&#8203;5653]: https://togithub.com/tokio-rs/tokio/pull/5653

[#&#8203;5686]: https://togithub.com/tokio-rs/tokio/pull/5686

[#&#8203;5712]: https://togithub.com/tokio-rs/tokio/pull/5712

[#&#8203;5693]: https://togithub.com/tokio-rs/tokio/pull/5693

[#&#8203;5772]: https://togithub.com/tokio-rs/tokio/pull/5772

[#&#8203;5710]: https://togithub.com/tokio-rs/tokio/pull/5710

[#&#8203;5803]: https://togithub.com/tokio-rs/tokio/pull/5803

[#&#8203;5705]: https://togithub.com/tokio-rs/tokio/pull/5705

[#&#8203;5720]: https://togithub.com/tokio-rs/tokio/pull/5720

[#&#8203;5659]: https://togithub.com/tokio-rs/tokio/pull/5659

[#&#8203;5628]: https://togithub.com/tokio-rs/tokio/pull/5628

[#&#8203;5666]: https://togithub.com/tokio-rs/tokio/pull/5666

[#&#8203;5672]: https://togithub.com/tokio-rs/tokio/pull/5672

[#&#8203;5690]: https://togithub.com/tokio-rs/tokio/pull/5690

[#&#8203;5704]: https://togithub.com/tokio-rs/tokio/pull/5704

[#&#8203;5566]: https://togithub.com/tokio-rs/tokio/pull/5566

[#&#8203;5721]: https://togithub.com/tokio-rs/tokio/pull/5721

[#&#8203;5790]: https://togithub.com/tokio-rs/tokio/pull/5790

[#&#8203;5608]: https://togithub.com/tokio-rs/tokio/pull/5608

[#&#8203;5676]: https://togithub.com/tokio-rs/tokio/pull/5676

[#&#8203;5708]: https://togithub.com/tokio-rs/tokio/pull/5708

[#&#8203;5717]: https://togithub.com/tokio-rs/tokio/pull/5717

[#&#8203;5685]: https://togithub.com/tokio-rs/tokio/pull/5685

###
[`v1.28.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.28.2):
Tokio v1.28.2

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.1...tokio-1.28.2)

### 1.28.2 (May 28, 2023)

Forward ports 1.18.6 changes.

##### Fixed

-   deps: disable default features for mio ([#&#8203;5728])

[#&#8203;5728]: https://togithub.com/tokio-rs/tokio/pull/5728

</details>

---

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/apollographql/federation-rs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNy4xIiwidXBkYXRlZEluVmVyIjoiMzcuMTIxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
trevor-scheer referenced this pull request in apollographql/federation-rs Jan 19, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch |
`1.0.75` -> `1.0.79` |
| [async-channel](https://togithub.com/smol-rs/async-channel) |
dependencies | minor | `1.8.0` -> `1.9.0` |
| [insta](https://insta.rs/)
([source](https://togithub.com/mitsuhiko/insta)) | dev-dependencies |
patch | `1.28.0` -> `1.34.0` |
| [serde](https://serde.rs)
([source](https://togithub.com/serde-rs/serde)) | dependencies | patch |
`1.0.158` -> `1.0.195` |
| [serde_json](https://togithub.com/serde-rs/json) | dependencies |
patch | `1.0.94` -> `1.0.111` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/)
([source](https://togithub.com/Stebalien/tempfile)) | dependencies |
minor | `3.4` -> `3.9` |
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies |
patch | `1.0.40` -> `1.0.56` |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | dependencies | minor |
`1.24.2` -> `1.35.1` |
| [which](https://togithub.com/harryfei/which-rs) | build-dependencies |
patch | `4.4.0` -> `4.4.2` |

---

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.78...1.0.79)

- Work around improperly cached build script result by sccache
([#&#8203;340](https://togithub.com/dtolnay/anyhow/issues/340))

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.77...1.0.78)

- Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain
([#&#8203;337](https://togithub.com/dtolnay/anyhow/issues/337))

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.76...1.0.77)

- Make `anyhow::Error::backtrace` available on stable Rust compilers
1.65+ ([#&#8203;293](https://togithub.com/dtolnay/anyhow/issues/293),
thanks [@&#8203;LukasKalbertodt](https://togithub.com/LukasKalbertodt))

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.75...1.0.76)

- Opt in to `unsafe_op_in_unsafe_fn` lint
([#&#8203;329](https://togithub.com/dtolnay/anyhow/issues/329))

</details>

<details>
<summary>smol-rs/async-channel (async-channel)</summary>

[`v1.9.0`](https://togithub.com/smol-rs/async-channel/blob/HEAD/CHANGELOG.md#Version-190)

[Compare
Source](https://togithub.com/smol-rs/async-channel/compare/v1.8.0...v1.9.0)

- Fix a bug where `WeakSender/WeakReceiver` could incorrectly return
`Some` even if the channel is already closed
([#&#8203;60](https://togithub.com/smol-rs/async-channel/issues/60))
- Remove the unnecessary `T: Clone` bound from
`WeakSender/WeakReceiver`'s `Clone` implementation
([#&#8203;62](https://togithub.com/smol-rs/async-channel/issues/62))

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

[`v1.0.195`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.195)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.194...v1.0.195)

- Prevent remote definitions of tuple struct or tuple variant from
triggering dead_code warning
([#&#8203;2671](https://togithub.com/serde-rs/serde/issues/2671))

[`v1.0.194`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.194)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.193...v1.0.194)

- Update proc-macro2 to fix caching issue when using a rustc-wrapper
such as sccache

[`v1.0.193`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.193)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.192...v1.0.193)

- Fix field names used for the deserialization of `RangeFrom` and
`RangeTo`
([#&#8203;2653](https://togithub.com/serde-rs/serde/issues/2653),
[#&#8203;2654](https://togithub.com/serde-rs/serde/issues/2654),
[#&#8203;2655](https://togithub.com/serde-rs/serde/issues/2655), thanks
[@&#8203;emilbonnek](https://togithub.com/emilbonnek))

[`v1.0.192`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.192)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.191...v1.0.192)

- Allow internal tag field in untagged variant
([#&#8203;2646](https://togithub.com/serde-rs/serde/issues/2646), thanks
[@&#8203;robsdedude](https://togithub.com/robsdedude))

[`v1.0.191`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.191)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.190...v1.0.191)

-   Documentation improvements

[`v1.0.190`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.190)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.189...v1.0.190)

- Preserve NaN sign when deserializing f32 from f64 or vice versa
([#&#8203;2637](https://togithub.com/serde-rs/serde/issues/2637))

[`v1.0.189`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.189)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.188...v1.0.189)

- Fix "cannot infer type" error when internally tagged enum contains
untagged variant
([#&#8203;2613](https://togithub.com/serde-rs/serde/issues/2613), thanks
[@&#8203;ahl](https://togithub.com/ahl))

[`v1.0.188`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.188)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.187...v1.0.188)

- Fix *"failed to parse manifest"* error when building serde using a
Cargo version between 1.45 and 1.50
([#&#8203;2603](https://togithub.com/serde-rs/serde/issues/2603))

[`v1.0.187`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.187)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.186...v1.0.187)

- Remove support for Emscripten targets on rustc older than 1.40
([#&#8203;2600](https://togithub.com/serde-rs/serde/issues/2600))

[`v1.0.186`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.186)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.185...v1.0.186)

- Disallow incompatible versions of `serde_derive` and `serde` in the
dependency graph
([#&#8203;2588](https://togithub.com/serde-rs/serde/issues/2588), thanks
[@&#8203;soqb](https://togithub.com/soqb))

[`v1.0.185`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.185)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.184...v1.0.185)

- Fix error *"cannot move out of `*self` which is behind a shared
reference"* deriving Serialize on a non_exhaustive enum
([#&#8203;2591](https://togithub.com/serde-rs/serde/issues/2591))

[`v1.0.184`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.184)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.183...v1.0.184)

- Restore from-source `serde_derive` build on all platforms — eventually
we'd like to use a first-class precompiled macro if such a thing becomes
supported by cargo / crates.io

[`v1.0.183`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.183)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.182...v1.0.183)

- Support deserializing `Box<OsStr>` with an equivalent representation
as `OsString`
([#&#8203;2556](https://togithub.com/serde-rs/serde/issues/2556), thanks
[@&#8203;DBLouis](https://togithub.com/DBLouis))

[`v1.0.182`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.182)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.181...v1.0.182)

- Render field aliases in sorted order in error messages
([#&#8203;2458](https://togithub.com/serde-rs/serde/issues/2458), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Support `serde(default)` on tuple structs
([#&#8203;2553](https://togithub.com/serde-rs/serde/issues/2553), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

[`v1.0.181`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.181)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.180...v1.0.181)

- Make `serde(alias)` work in combination with `flatten` when using
in-place deserialization
([#&#8203;2443](https://togithub.com/serde-rs/serde/issues/2443), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Improve the representation of adjacently tagged enums in formats where
enum tags are serialized by index, as opposed to by string name
([#&#8203;2505](https://togithub.com/serde-rs/serde/issues/2505),
[#&#8203;2496](https://togithub.com/serde-rs/serde/issues/2496), thanks
[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))

[`v1.0.180`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.180)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.179...v1.0.180)

-   Update to 2018 edition

[`v1.0.179`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.179)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.178...v1.0.179)

- Support serialization of tuple variants inside a flattened field
([#&#8203;2448](https://togithub.com/serde-rs/serde/issues/2448), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

[`v1.0.178`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.178)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.177...v1.0.178)

- Fix build error when using serde with "std" feature turned off and
"unstable" feature turned on
([#&#8203;2541](https://togithub.com/serde-rs/serde/issues/2541))

[`v1.0.177`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.177)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.176...v1.0.177)

- Add `serde(rename_all_fields = "...")` attribute to apply a
`rename_all` on every struct variant of an enum
([#&#8203;1695](https://togithub.com/serde-rs/serde/issues/1695), thanks
[@&#8203;jplatte](https://togithub.com/jplatte))
- Improve diagnostics for attribute parse errors
([#&#8203;2536](https://togithub.com/serde-rs/serde/issues/2536), thanks
[@&#8203;jplatte](https://togithub.com/jplatte))

[`v1.0.176`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.176)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.175...v1.0.176)

- Allow tag field of an internally tagged enum to have same name as a
field inside a skipped struct variant
([#&#8203;2266](https://togithub.com/serde-rs/serde/issues/2266), thanks
[@&#8203;flisky](https://togithub.com/flisky))

[`v1.0.175`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.175)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.174...v1.0.175)

- Restore missing LICENSE files in serde_derive crate
([#&#8203;2527](https://togithub.com/serde-rs/serde/issues/2527), thanks
[@&#8203;ankane](https://togithub.com/ankane))

[`v1.0.174`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.174)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.173...v1.0.174)

-   Documentation improvements

[`v1.0.173`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.173)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.172...v1.0.173)

- Fix missing trait implementations when using serde derive macro on a
macro-generated data structure, such as via the `bitflags` crate
([#&#8203;2516](https://togithub.com/serde-rs/serde/issues/2516))

[`v1.0.172`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.172)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.171...v1.0.172)

- Experiment with precompiling the serde_derive macros to reduce build
time ([#&#8203;2514](https://togithub.com/serde-rs/serde/issues/2514))

[`v1.0.171`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.171)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.170...v1.0.171)

- Support `derive(Deserialize)` on unit structs that have const generics
([#&#8203;2500](https://togithub.com/serde-rs/serde/issues/2500), thanks
[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))

[`v1.0.170`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.170)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.169...v1.0.170)

- Produce error message on suffixed string literals inside serde
attributes
([#&#8203;2242](https://togithub.com/serde-rs/serde/issues/2242))
- Support single identifier as unbraced default value for const generic
parameter
([#&#8203;2449](https://togithub.com/serde-rs/serde/issues/2449))

[`v1.0.169`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.169)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.168...v1.0.169)

- Add Deserializer::deserialize_identifier support for adjacently tagged
enums ([#&#8203;2475](https://togithub.com/serde-rs/serde/issues/2475),
thanks [@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))
- Fix unused_braces lint in generated Deserialize impl that uses braced
const generic expressions
([#&#8203;2414](https://togithub.com/serde-rs/serde/issues/2414))

[`v1.0.168`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.168)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.167...v1.0.168)

- Allow `serde::de::IgnoredAny` to be the type for a `serde(flatten)`
field ([#&#8203;2436](https://togithub.com/serde-rs/serde/issues/2436),
thanks [@&#8203;Mingun](https://togithub.com/Mingun))
- Allow larger preallocated capacity for smaller elements
([#&#8203;2494](https://togithub.com/serde-rs/serde/issues/2494))

[`v1.0.167`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.167)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.166...v1.0.167)

- Add serialize and deserialize impls for `RangeFrom` and `RangeTo`
([#&#8203;2471](https://togithub.com/serde-rs/serde/issues/2471), thanks
[@&#8203;tbu-](https://togithub.com/tbu-))

[`v1.0.166`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.166)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.165...v1.0.166)

-   Add `no-alloc` category to crates.io metadata

[`v1.0.165`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.165)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.164...v1.0.165)

- Fix incorrect count of fields passed to tuple deserialization methods
when using `serde(skip_deserializing)` attributes
([#&#8203;2466](https://togithub.com/serde-rs/serde/issues/2466), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
-   Fix `-Zminimal-versions` build

[`v1.0.164`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.164)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.163...v1.0.164)

- Allowed enum variants to be individually marked as untagged
([#&#8203;2403](https://togithub.com/serde-rs/serde/issues/2403), thanks
[@&#8203;dewert99](https://togithub.com/dewert99))

[`v1.0.163`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.163)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.162...v1.0.163)

- Eliminate build script from serde_derive crate to slightly reduce
build time
([#&#8203;2442](https://togithub.com/serde-rs/serde/issues/2442), thanks
[@&#8203;taiki-e](https://togithub.com/taiki-e))

[`v1.0.162`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.162)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.161...v1.0.162)

- Support deserializing flattened adjacently tagged enums from data
formats which represent fields as bytes, such as the `csv` crate
([#&#8203;2377](https://togithub.com/serde-rs/serde/issues/2377), thanks
[@&#8203;mfro](https://togithub.com/mfro))

    ```rust
    #[derive(Deserialize)]
    pub struct Record {
        common: u64,
        #[serde(flatten)]
        kind: Kind,
    }

    #[derive(Deserialize)]
    enum Kind {
        Foo(u64),
        Bar(bool),
    }
    ```

    ```csv
    common,kind,parameter
    1,foo,42
    2,bar,true
    ```

[`v1.0.161`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.161)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.160...v1.0.161)

- Improve error messages produced by serde_test on test failure
([#&#8203;2435](https://togithub.com/serde-rs/serde/issues/2435), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

[`v1.0.160`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.160)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.159...v1.0.160)

- Make derived serializer/deserializer internals `doc(hidden)`
([#&#8203;2426](https://togithub.com/serde-rs/serde/issues/2426), thanks
[@&#8203;compiler-errors](https://togithub.com/compiler-errors))

[`v1.0.159`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.159)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.158...v1.0.159)

- Accept empty #\[serde()] attribute
([#&#8203;2422](https://togithub.com/serde-rs/serde/issues/2422))

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

[`v1.0.111`](https://togithub.com/serde-rs/json/releases/tag/v1.0.111)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.110...v1.0.111)

- Improve floating point parsing performance on loongarch64
([#&#8203;1100](https://togithub.com/serde-rs/json/issues/1100), thanks
[@&#8203;heiher](https://togithub.com/heiher))

[`v1.0.110`](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

[`v1.0.109`](https://togithub.com/serde-rs/json/releases/tag/v1.0.109)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.108...v1.0.109)

-   Documentation improvements

[`v1.0.108`](https://togithub.com/serde-rs/json/releases/tag/v1.0.108)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.107...v1.0.108)

- Documentation improvements
([#&#8203;1075](https://togithub.com/serde-rs/json/issues/1075),
[#&#8203;1081](https://togithub.com/serde-rs/json/issues/1081),
[#&#8203;1082](https://togithub.com/serde-rs/json/issues/1082), thanks
[@&#8203;dimo414](https://togithub.com/dimo414) and
[@&#8203;fritzrehde](https://togithub.com/fritzrehde))

[`v1.0.107`](https://togithub.com/serde-rs/json/releases/tag/v1.0.107)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.106...v1.0.107)

- impl IntoDeserializer for \&RawValue
([#&#8203;1071](https://togithub.com/serde-rs/json/issues/1071))

[`v1.0.106`](https://togithub.com/serde-rs/json/releases/tag/v1.0.106)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.105...v1.0.106)

- Add `Value::as_number` accessor
([#&#8203;1069](https://togithub.com/serde-rs/json/issues/1069), thanks
[@&#8203;chanced](https://togithub.com/chanced))
- Add `Number::as_str` accessor under "arbitrary_precision" feature
([#&#8203;1067](https://togithub.com/serde-rs/json/issues/1067), thanks
[@&#8203;chanced](https://togithub.com/chanced))

[`v1.0.105`](https://togithub.com/serde-rs/json/releases/tag/v1.0.105)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.104...v1.0.105)

- Support bool in map keys
([#&#8203;1054](https://togithub.com/serde-rs/json/issues/1054))

[`v1.0.104`](https://togithub.com/serde-rs/json/releases/tag/v1.0.104)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.103...v1.0.104)

- Provide IntoDeserializer impl for \&serde_json::Value
([#&#8203;1045](https://togithub.com/serde-rs/json/issues/1045), thanks
[@&#8203;ZetaNumbers](https://togithub.com/ZetaNumbers))

[`v1.0.103`](https://togithub.com/serde-rs/json/releases/tag/v1.0.103)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.102...v1.0.103)

-   Documentation improvements

[`v1.0.102`](https://togithub.com/serde-rs/json/releases/tag/v1.0.102)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.101...v1.0.102)

- Add a way to customize the serialization of byte arrays
([#&#8203;1039](https://togithub.com/serde-rs/json/issues/1039))

[`v1.0.101`](https://togithub.com/serde-rs/json/releases/tag/v1.0.101)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.100...v1.0.101)

- Allow f32 and f64 as keys in maps
([#&#8203;1027](https://togithub.com/serde-rs/json/issues/1027), thanks
[@&#8203;overdrivenpotato](https://togithub.com/overdrivenpotato))

[`v1.0.100`](https://togithub.com/serde-rs/json/releases/tag/v1.0.100)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.99...v1.0.100)

-   Support `-Z minimal-versions`

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.98...v1.0.99)

- Support serializing serde's **option** type in a map key
([#&#8203;1030](https://togithub.com/serde-rs/json/issues/1030), thanks
[@&#8203;LPGhatguy](https://togithub.com/LPGhatguy))

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.97...v1.0.98)

- Update indexmap dependency used by "preserve_order" feature to version
2

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.96...v1.0.97)

- Add `io_error_kind()` method to serde_json::Error: `fn
io_error_kind(&self) -> Option<std::io::ErrorKind>`
([#&#8203;1026](https://togithub.com/serde-rs/json/issues/1026))

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.95...v1.0.96)

- Guarantee that `to_writer` only writes valid UTF-8 strings
([#&#8203;1011](https://togithub.com/serde-rs/json/issues/1011), thanks
[@&#8203;stepancheg](https://togithub.com/stepancheg))

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.94...v1.0.95)

- Preserve f32 precision when serializing f32 -> serde_json::Value ->
JSON string in "arbitrary_precision" mode
([#&#8203;1004](https://togithub.com/serde-rs/json/issues/1004),
[#&#8203;1005](https://togithub.com/serde-rs/json/issues/1005))

</details>

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

[`v3.9.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#390)

[Compare
Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0)

-   Updates windows-sys to 0.52
-   Updates minimum rustix version to 0.38.25

[`v3.8.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#381)

[Compare
Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.0...v3.8.1)

- Update rustix to fix a potential panic on `persist_noclobber` on
android.
-   Update redox_syscall to 0.4 (on redox).
-   Fix some docs typos.

</details>

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

[`v1.0.56`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.56)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.55...1.0.56)

- Update proc-macro2 to fix caching issue when using a rustc-wrapper
such as sccache

[`v1.0.55`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.55)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.54...1.0.55)

- Work around improperly cached build script result by sccache – second
attempt
([#&#8203;280](https://togithub.com/dtolnay/thiserror/issues/280))

[`v1.0.54`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.54)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.53...1.0.54)

- Work around improperly cached build script result by sccache – first
attempt
([#&#8203;279](https://togithub.com/dtolnay/thiserror/issues/279))

[`v1.0.53`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.53)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.52...1.0.53)

- Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain
([#&#8203;270](https://togithub.com/dtolnay/thiserror/issues/270))

[`v1.0.52`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.52)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.51...1.0.52)

- Fix interaction with RUSTC_BOOTSTRAP
([#&#8203;269](https://togithub.com/dtolnay/thiserror/issues/269))

[`v1.0.51`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.51)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.50...1.0.51)

- Improve diagnostics when an invalid attribute previously caused
thiserror to generate no `Error` impl
([#&#8203;266](https://togithub.com/dtolnay/thiserror/issues/266))

[`v1.0.50`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.50)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.49...1.0.50)

- Improve diagnostic when a #\[source], #\[from], or #\[transparant]
attribute refers to a type that has no std::error::Error impl
([#&#8203;258](https://togithub.com/dtolnay/thiserror/issues/258),
thanks [@&#8203;de-vri-es](https://togithub.com/de-vri-es))

[`v1.0.49`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.49)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.48...1.0.49)

- Access libcore types through `::core` in generated code
([#&#8203;255](https://togithub.com/dtolnay/thiserror/issues/255),
thanks [@&#8203;mina86](https://togithub.com/mina86))

[`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

- Improve implementation of displaying Path values in a generated
Display impl
([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251),
thanks [@&#8203;mina86](https://togithub.com/mina86))

[`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

- Work around rust-analyzer bug
([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))

[`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

- Add bootstrap workaround to allow rustc to depend on thiserror
([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248),
thanks [@&#8203;RalfJung](https://togithub.com/RalfJung))

[`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

- Update backtrace support to nightly's new Error::provide API
([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464),
[#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

[`v1.0.44`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.44)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.43...1.0.44)

-   Documentation improvements

[`v1.0.43`](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)

[`v1.0.42`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.42)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.41...1.0.42)

- Fix compile error in derived Display impl if there was a nonstandard
`write!` macro in scope
([#&#8203;239](https://togithub.com/dtolnay/thiserror/issues/239))

[`v1.0.41`](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

[`v1.35.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.35.1):
Tokio v1.35.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1)

This is a forward part of a change that was backported to 1.25.3.

- io: add budgeting to `tokio::runtime::io::registration::async_io`
([#&#8203;6221])

[#&#8203;6221]: https://togithub.com/tokio-rs/tokio/pull/6221

[`v1.35.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.35.0):
Tokio v1.35.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.34.0...tokio-1.35.0)

-   net: add Apple watchOS support ([#&#8203;6176])

- io: drop the `Sized` requirements from `AsyncReadExt.read_buf`
([#&#8203;6169])
-   runtime: make `Runtime` unwind safe ([#&#8203;6189])
-   runtime: reduce the lock contention in task spawn ([#&#8203;6001])
-   tokio: update nix dependency to 0.27.1 ([#&#8203;6190])

-   chore: make `--cfg docsrs` work without net feature ([#&#8203;6166])
-   chore: use relaxed load for `unsync_load` on miri ([#&#8203;6179])
-   runtime: handle missing context on wake ([#&#8203;6148])
-   taskdump: fix taskdump cargo config example ([#&#8203;6150])
-   taskdump: skip notified tasks during taskdumps ([#&#8203;6194])
- tracing: avoid creating resource spans with current parent, use a None
parent instead ([#&#8203;6107])
-   tracing: make task span explicit root ([#&#8203;6158])

-   io: flush in `AsyncWriteExt` examples ([#&#8203;6149])
- runtime: document fairness guarantees and current behavior
([#&#8203;6145])
- task: document cancel safety of `LocalSet::run_until` ([#&#8203;6147])

[#&#8203;6001]: https://togithub.com/tokio-rs/tokio/pull/6001

[#&#8203;6107]: https://togithub.com/tokio-rs/tokio/pull/6107

[#&#8203;6144]: https://togithub.com/tokio-rs/tokio/pull/6144

[#&#8203;6145]: https://togithub.com/tokio-rs/tokio/pull/6145

[#&#8203;6147]: https://togithub.com/tokio-rs/tokio/pull/6147

[#&#8203;6148]: https://togithub.com/tokio-rs/tokio/pull/6148

[#&#8203;6149]: https://togithub.com/tokio-rs/tokio/pull/6149

[#&#8203;6150]: https://togithub.com/tokio-rs/tokio/pull/6150

[#&#8203;6158]: https://togithub.com/tokio-rs/tokio/pull/6158

[#&#8203;6166]: https://togithub.com/tokio-rs/tokio/pull/6166

[#&#8203;6169]: https://togithub.com/tokio-rs/tokio/pull/6169

[#&#8203;6176]: https://togithub.com/tokio-rs/tokio/pull/6176

[#&#8203;6179]: https://togithub.com/tokio-rs/tokio/pull/6179

[#&#8203;6189]: https://togithub.com/tokio-rs/tokio/pull/6189

[#&#8203;6190]: https://togithub.com/tokio-rs/tokio/pull/6190

[#&#8203;6194]: https://togithub.com/tokio-rs/tokio/pull/6194

[`v1.34.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.34.0):
Tokio v1.34.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.33.0...tokio-1.34.0)

- io: allow `clear_readiness` after io driver shutdown ([#&#8203;6067])
-   io: fix integer overflow in `take` ([#&#8203;6080])
-   io: fix I/O resource hang ([#&#8203;6134])
-   sync: fix `broadcast::channel` link ([#&#8203;6100])

- macros: use `::core` qualified imports instead of `::std` inside
`tokio::test` macro ([#&#8203;5973])

- fs: update cfg attr in `fs::read_dir` to include `aix`
([#&#8203;6075])
-   sync: add `mpsc::Receiver::recv_many` ([#&#8203;6010])
-   tokio: added vita target support ([#&#8203;6094])

[#&#8203;5973]: https://togithub.com/tokio-rs/tokio/pull/5973

[#&#8203;6067]: https://togithub.com/tokio-rs/tokio/pull/6067

[#&#8203;6080]: https://togithub.com/tokio-rs/tokio/pull/6080

[#&#8203;6134]: https://togithub.com/tokio-rs/tokio/pull/6134

[#&#8203;6100]: https://togithub.com/tokio-rs/tokio/pull/6100

[#&#8203;6075]: https://togithub.com/tokio-rs/tokio/pull/6075

[#&#8203;6010]: https://togithub.com/tokio-rs/tokio/pull/6010

[#&#8203;6094]: https://togithub.com/tokio-rs/tokio/pull/6094

[`v1.33.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.33.0):
Tokio v1.33.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.32.1...tokio-1.33.0)

-   io: mark `Interest::add` with `#[must_use]` ([#&#8203;6037])
-   runtime: fix cache line size for RISC-V ([#&#8203;5994])
- sync: prevent lock poisoning in `watch::Receiver::wait_for`
([#&#8203;6021])
-   task: fix `spawn_local` source location ([#&#8203;5984])

- sync: use Acquire/Release orderings instead of SeqCst in `watch`
([#&#8203;6018])

-   fs: add vectored writes to `tokio::fs::File` ([#&#8203;5958])
-   io: add `Interest::remove` method ([#&#8203;5906])
-   io: add vectored writes to `DuplexStream` ([#&#8203;5985])
-   net: add Apple tvOS support ([#&#8203;6045])
- sync: add `?Sized` bound to `{MutexGuard,OwnedMutexGuard}::map`
([#&#8203;5997])
- sync: add `watch::Receiver::mark_unseen` ([#&#8203;5962],
[#&#8203;6014], [#&#8203;6017])
-   sync: add `watch::Sender::new` ([#&#8203;5998])
-   sync: add const fn `OnceCell::from_value` ([#&#8203;5903])

-   remove unused `stats` feature ([#&#8203;5952])

- add missing backticks in code examples ([#&#8203;5938],
[#&#8203;6056])
-   fix typos ([#&#8203;5988], [#&#8203;6030])
-   process: document that `Child::wait` is cancel safe ([#&#8203;5977])
- sync: add examples for `Semaphore` ([#&#8203;5939], [#&#8203;5956],
[#&#8203;5978], [#&#8203;6031], [#&#8203;6032], [#&#8203;6050])
- sync: document that `broadcast` capacity is a lower bound
([#&#8203;6042])
-   sync: document that `const_new` is not instrumented ([#&#8203;6002])
- sync: improve cancel-safety documentation for `mpsc::Sender::send`
([#&#8203;5947])
-   sync: improve docs for `watch` channel ([#&#8203;5954])
-   taskdump: render taskdump documentation on docs.rs ([#&#8203;5972])

-   taskdump: fix potential deadlock ([#&#8203;6036])

[#&#8203;5903]: https://togithub.com/tokio-rs/tokio/pull/5903

[#&#8203;5906]: https://togithub.com/tokio-rs/tokio/pull/5906

[#&#8203;5938]: https://togithub.com/tokio-rs/tokio/pull/5938

[#&#8203;5939]: https://togithub.com/tokio-rs/tokio/pull/5939

[#&#8203;5947]: https://togithub.com/tokio-rs/tokio/pull/5947

[#&#8203;5952]: https://togithub.com/tokio-rs/tokio/pull/5952

[#&#8203;5954]: https://togithub.com/tokio-rs/tokio/pull/5954

[#&#8203;5956]: https://togithub.com/tokio-rs/tokio/pull/5956

[#&#8203;5958]: https://togithub.com/tokio-rs/tokio/pull/5958

[#&#8203;5960]: https://togithub.com/tokio-rs/tokio/pull/5960

[#&#8203;5962]: https://togithub.com/tokio-rs/tokio/pull/5962

[#&#8203;5971]: https://togithub.com/tokio-rs/tokio/pull/5971

[#&#8203;5972]: https://togithub.com/tokio-rs/tokio/pull/5972

[#&#8203;5977]: https://togithub.com/tokio-rs/tokio/pull/5977

[#&#8203;5978]: https://togithub.com/tokio-rs/tokio/pull/5978

[#&#8203;5984]: https://togithub.com/tokio-rs/tokio/pull/5984

[#&#8203;5985]: https://togithub.com/tokio-rs/tokio/pull/5985

[#&#8203;5988]: https://togithub.com/tokio-rs/tokio/pull/5988

[#&#8203;5994]: https://togithub.com/tokio-rs/tokio/pull/5994

[#&#8203;5997]: https://togithub.com/tokio-rs/tokio/pull/5997

[#&#8203;5998]: https://togithub.com/tokio-rs/tokio/pull/5998

[#&#8203;6002]: https://togithub.com/tokio-rs/tokio/pull/6002

[#&#8203;6014]: https://togithub.com/tokio-rs/tokio/pull/6014

[#&#8203;6017]: https://togithub.com/tokio-rs/tokio/pull/6017

[#&#8203;6018]: https://togithub.com/tokio-rs/tokio/pull/6018

[#&#8203;6021]: https://togithub.com/tokio-rs/tokio/pull/6021

[#&#8203;6030]: https://togithub.com/tokio-rs/tokio/pull/6030

[#&#8203;6031]: https://togithub.com/tokio-rs/tokio/pull/6031

[#&#8203;6032]: https://togithub.com/tokio-rs/tokio/pull/6032

[#&#8203;6036]: https://togithub.com/tokio-rs/tokio/pull/6036

[#&#8203;6037]: https://togithub.com/tokio-rs/tokio/pull/6037

[#&#8203;6042]: https://togithub.com/tokio-rs/tokio/pull/6042

[#&#8203;6045]: https://togithub.com/tokio-rs/tokio/pull/6045

[#&#8203;6050]: https://togithub.com/tokio-rs/tokio/pull/6050

[#&#8203;6056]: https://togithub.com/tokio-rs/tokio/pull/6056

[#&#8203;6058]: https://togithub.com/tokio-rs/tokio/pull/6058

[`v1.32.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.32.1):
Tokio v1.32.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.32.1)

This is a forward part of a change that was backported to 1.25.3.

- io: add budgeting to `tokio::runtime::io::registration::async_io`
([#&#8203;6221])

[#&#8203;6221]: https://togithub.com/tokio-rs/tokio/pull/6221

[`v1.32.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.32.0):
Tokio v1.32.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.31.0...tokio-1.32.0)

- sync: fix potential quadratic behavior in `broadcast::Receiver`
([#&#8203;5925])

-   process: stabilize `Command::raw_arg` ([#&#8203;5930])
-   io: enable awaiting error readiness ([#&#8203;5781])

- rt(alt): improve the scalability of alt runtime as the number of cores
grows ([#&#8203;5935])

[#&#8203;5925]: https://togithub.com/tokio-rs/tokio/pull/5925

[#&#8203;5930]: https://togithub.com/tokio-rs/tokio/pull/5930

[#&#8203;5781]: https://togithub.com/tokio-rs/tokio/pull/5781

[#&#8203;5935]: https://togithub.com/tokio-rs/tokio/pull/5935

[`v1.31.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.31.0):
Tokio v1.31.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.30.0...tokio-1.31.0)

-   io: delegate `WriteHalf::poll_write_vectored` ([#&#8203;5914])

- rt(unstable): fix memory leak in unstable next-gen scheduler prototype
([#&#8203;5911])
-   rt: expose mean task poll time metric ([#&#8203;5927])

[#&#8203;5914]: https://togithub.com/tokio-rs/tokio/pull/5914

[#&#8203;5911]: https://togithub.com/tokio-rs/tokio/pull/5911

[#&#8203;5927]: https://togithub.com/tokio-rs/tokio/pull/5927

[`v1.30.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.30.0):
Tokio v1.30.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.1...tokio-1.30.0)

This release bumps the MSRV of Tokio to 1.63. ([#&#8203;5887])

-   tokio: reduce LLVM code generation ([#&#8203;5859])
- io: support `--cfg mio_unsupported_force_poll_poll` flag
([#&#8203;5881])
-   sync: make `const_new` methods always available ([#&#8203;5885])
-   sync: avoid false sharing in mpsc channel ([#&#8203;5829])
-   rt: pop at least one task from inject queue ([#&#8203;5908])

-   sync: add `broadcast::Sender::new` ([#&#8203;5824])
-   net: implement `UCred` for espidf ([#&#8203;5868])
-   fs: add `File::options()` ([#&#8203;5869])
-   time: implement extra reset variants for `Interval` ([#&#8203;5878])
-   process: add `{ChildStd*}::into_owned_{fd, handle}` ([#&#8203;5899])

-   tokio: removed unused `tokio_*` cfgs ([#&#8203;5890])
-   remove build script to speed up compilation ([#&#8203;5887])

-   sync: mention lagging in docs for `broadcast::send` ([#&#8203;5820])
-   runtime: expand on sharing runtime docs ([#&#8203;5858])
- io: use vec in example for `AsyncReadExt::read_exact` ([#&#8203;5863])
-   time: mark `Sleep` as `!Unpin` in docs ([#&#8203;5916])
-   process: fix `raw_arg` not showing up in docs ([#&#8203;5865])

-   rt: add runtime ID ([#&#8203;5864])
-   rt: initial implementation of new threaded runtime ([#&#8203;5823])

[#&#8203;5820]: https://togithub.com/tokio-rs/tokio/pull/5820

[#&#8203;5823]: https://togithub.com/tokio-rs/tokio/pull/5823

[#&#8203;5824]: https://togithub.com/tokio-rs/tokio/pull/5824

[#&#8203;5829]: https://togithub.com/tokio-rs/tokio/pull/5829

[#&#8203;5858]: https://togithub.com/tokio-rs/tokio/pull/5858

[#&#8203;5859]: https://togithub.com/tokio-rs/tokio/pull/5859

[#&#8203;5863]: https://togithub.com/tokio-rs/tokio/pull/5863

[#&#8203;5864]: https://togithub.com/tokio-rs/tokio/pull/5864

[#&#8203;5865]: https://togithub.com/tokio-rs/tokio/pull/5865

[#&#8203;5868]: https://togithub.com/tokio-rs/tokio/pull/5868

[#&#8203;5869]: https://togithub.com/tokio-rs/tokio/pull/5869

[#&#8203;5878]: https://togithub.com/tokio-rs/tokio/pull/5878

[#&#8203;5881]: https://togithub.com/tokio-rs/tokio/pull/5881

[#&#8203;5885]: https://togithub.com/tokio-rs/tokio/pull/5885

[#&#8203;5887]: https://togithub.com/tokio-rs/tokio/pull/5887

[#&#8203;5890]: https://togithub.com/tokio-rs/tokio/pull/5890

[#&#8203;5899]: https://togithub.com/tokio-rs/tokio/pull/5899

[#&#8203;5908]: https://togithub.com/tokio-rs/tokio/pull/5908

[#&#8203;5916]: https://togithub.com/tokio-rs/tokio/pull/5916

[`v1.29.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.1):
Tokio v1.29.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1)

- rt: fix nesting two `block_in_place` with a `block_on` between
([#&#8203;5837])

[#&#8203;5837]: https://togithub.com/tokio-rs/tokio/pull/5837

[`v1.29.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.0):
Tokio v1.29.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0)

Technically a breaking change, the `Send` implementation is removed from
`runtime::EnterGuard`. This change fixes a bug and should not impact
most users.

-   rt: `EnterGuard` should not be `Send` ([#&#8203;5766])

-   fs: reduce blocking ops in `fs::read_dir` ([#&#8203;5653])
-   rt: fix possible starvation ([#&#8203;5686], [#&#8203;5712])
-   rt: fix stacked borrows issue in `JoinSet` ([#&#8203;5693])
-   rt: panic if `EnterGuard` dropped incorrect order ([#&#8203;5772])
-   time: do not overflow to signal value ([#&#8203;5710])
-   fs: wait for in-flight ops before cloning `File` ([#&#8203;5803])

- rt: reduce time to poll tasks scheduled from outside the runtime
([#&#8203;5705], [#&#8203;5720])

-   net: add uds doc alias for unix sockets ([#&#8203;5659])
-   rt: add metric for number of tasks ([#&#8203;5628])
-   sync: implement more traits for channel errors ([#&#8203;5666])
-   net: add nodelay methods on TcpSocket ([#&#8203;5672])
-   sync: add `broadcast::Receiver::blocking_recv` ([#&#8203;5690])
-   process: add `raw_arg` method to `Command` ([#&#8203;5704])
-   io: support PRIORITY epoll events ([#&#8203;5566])
-   task: add `JoinSet::poll_join_next` ([#&#8203;5721])
-   net: add support for Redox OS ([#&#8203;5790])

- rt: add the ability to dump task backtraces ([#&#8203;5608],
[#&#8203;5676], [#&#8203;5708], [#&#8203;5717])
-   rt: instrument task poll times with a histogram ([#&#8203;5685])

[#&#8203;5766]: https://togithub.com/tokio-rs/tokio/pull/5766

[#&#8203;5653]: https://togithub.com/tokio-rs/tokio/pull/5653

[#&#8203;5686]: https://togithub.com/tokio-rs/tokio/pull/5686

[#&#8203;5712]: https://togithub.com/tokio-rs/tokio/pull/5712

[#&#8203;5693]: https://togithub.com/tokio-rs/tokio/pull/5693

[#&#8203;5772]: https://togithub.com/tokio-rs/tokio/pull/5772

[#&#8203;5710]: https://togithub.com/tokio-rs/tokio/pull/5710

[#&#8203;5803]: https://togithub.com/tokio-rs/tokio/pull/5803

[#&#8203;5705]: https://togithub.com/tokio-rs/tokio/pull/5705

[#&#8203;5720]: https://togithub.com/tokio-rs/tokio/pull/5720

[#&#8203;5659]: https://togithub.com/tokio-rs/tokio/pull/5659

[#&#8203;5628]: https://togithub.com/tokio-rs/tokio/pull/5628

[#&#8203;5666]: https://togithub.com/tokio-rs/tokio/pull/5666

[#&#8203;5672]: https://togithub.com/tokio-rs/tokio/pull/5672

[#&#8203;5690]: https://togithub.com/tokio-rs/tokio/pull/5690

[#&#8203;5704]: https://togithub.com/tokio-rs/tokio/pull/5704

[#&#8203;5566]: https://togithub.com/tokio-rs/tokio/pull/5566

[#&#8203;5721]: https://togithub.com/tokio-rs/tokio/pull/5721

[#&#8203;5790]: https://togithub.com/tokio-rs/tokio/pull/5790

[#&#8203;5608]: https://togithub.com/tokio-rs/tokio/pull/5608

[#&#8203;5676]: https://togithub.com/tokio-rs/tokio/pull/5676

[#&#8203;5708]: https://togithub.com/tokio-rs/tokio/pull/5708

[#&#8203;5717]: https://togithub.com/tokio-rs/tokio/pull/5717

[#&#8203;5685]: https://togithub.com/tokio-rs/tokio/pull/5685

[`v1.28.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.28.2):
Tokio v1.28.2

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.1...tokio-1.28.2)

Forward ports 1.18.6 changes.

-   deps: disable default features for mio ([#&#8203;5728])

[#&#8203;5728]: https://togithub.com/tokio-rs/tokio/pull/5728

</details>

---

📅 **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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/apollographql/federation-rs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNy4xIiwidXBkYXRlZEluVmVyIjoiMzcuMTIxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
liveseed added a commit to liveseed/derive_more that referenced this pull request Aug 20, 2024
… nightly APIs (#294)

## Synopsis

Update derive and tests to work on the latest nightly with the changes
in [this PR](rust-lang/rust#113464).


## Solution

Use `error::{Request, request_ref, request_value}` instead of
`any::{Demand, request_ref, request_value}`.

Currently, `request_value` is not re-exported from `core::error` in
`std::error`, which means backtrace tests require
`#![feature(error_in_core)]`.

Presumably this is a bug, and will be fixed later.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.