Update all non-major dependencies #2

Open
renovatebot wants to merge 1 commit from renovate/all-minor-patch into main
Collaborator

This PR contains the following updates:

Package Type Update Change
anyhow dependencies patch 1.0.1001.0.102
clap dependencies minor 4.5.534.6.0
time (source) dependencies patch 0.3.440.3.47
tokio (source) dependencies minor 1.48.01.50.0

Release Notes

dtolnay/anyhow (anyhow)

v1.0.102

Compare Source

v1.0.101

Compare Source

clap-rs/clap (clap)

v4.6.0

Compare Source

Compatibility
  • Update MSRV to 1.85

v4.5.61

Compare Source

Internal
  • Update dependencies

v4.5.60

Compare Source

Fixes
  • (help) Quote empty default values, possible values

v4.5.59

Compare Source

Fixes
  • Command::ignore_errors no longer masks help/version on subcommands

v4.5.58

Compare Source

v4.5.57

Compare Source

Fixes
  • Regression from 4.5.55 where having an argument with .value_terminator("--") caused problems with an argument with .last(true)

v4.5.56

Compare Source

Fixes
  • On conflict error, don't show conflicting arguments in the usage

v4.5.55

Compare Source

Fixes
  • Fix inconsistency in precedence between positionals with a value_terminator("--") and escapes (--) where ./foo -- bar means the first arg is empty, rather than escaping future args

v4.5.54

Compare Source

Fixes
  • (help) Move [default] to its own paragraph when PossibleValue::help is present in --help
time-rs/time (time)

v0.3.47

Compare Source

Security
  • The possibility of a stack exhaustion denial of service attack when parsing RFC 2822 has been
    eliminated. Previously, it was possible to craft input that would cause unbounded recursion. Now,
    the depth of the recursion is tracked, causing an error to be returned if it exceeds a reasonable
    limit.

    This attack vector requires parsing user-provided input, with any type, using the RFC 2822 format.

Compatibility
  • Attempting to format a value with a well-known format (i.e. RFC 3339, RFC 2822, or ISO 8601) will
    error at compile time if the type being formatted does not provide sufficient information. This
    would previously fail at runtime. Similarly, attempting to format a value with ISO 8601 that is
    only configured for parsing (i.e. Iso8601::PARSING) will error at compile time.
Added
  • Builder methods for format description modifiers, eliminating the need for verbose initialization
    when done manually.
  • date!(2026-W01-2) is now supported. Previously, a space was required between W and 01.
  • [end] now has a trailing_input modifier which can either be prohibit (the default) or
    discard. When it is discard, all remaining input is ignored. Note that if there are components
    after [end], they will still attempt to be parsed, likely resulting in an error.
Changed
  • More performance gains when parsing.
Fixed
  • If manually formatting a value, the number of bytes written was one short for some components.
    This has been fixed such that the number of bytes written is always correct.
  • The possibility of integer overflow when parsing an owned format description has been effectively
    eliminated. This would previously wrap when overflow checks were disabled. Instead of storing the
    depth as u8, it is stored as u32. This would require multiple gigabytes of nested input to
    overflow, at which point we've got other problems and trivial mitigations are available by
    downstream users.

v0.3.46

Compare Source

Added
  • All possible panics are now documented for the relevant methods.

  • The need to use #[serde(default)] when using custom serde formats is documented. This applies
    only when deserializing an Option<T>.

  • Duration::nanoseconds_i128 has been made public, mirroring
    std::time::Duration::from_nanos_u128.

  • Various methods for truncating components have been added, avoiding the need to call the fallible
    replace methods multiple times.

    For PrimitiveDateTime, UtcDateTime, and OffsetDateTime:

    • truncate_to_day

    For Time, PrimitiveDateTime, UtcDateTime, and OffsetDateTime:

    • truncate_to_hour
    • truncate_to_minute
    • truncate_to_second
    • truncate_to_millisecond
    • truncate_to_microsecond
Changed
  • The minimum supported Rust version is now 1.88.0.
  • Significant performance gains in numerous locations. No public APIs were changed or removed as
    part of this.
  • The size of error::ComponentRange, along with types that contain it, has been significantly
    reduced.
Fixed
  • The PartialOrd and Ord implementations of UtcOffset now return the expected result.

v0.3.45

Compare Source

Added
  • time::format_description::StaticFormatDescription type alias for &'static [BorrowedFormatItem<'static>]. This is the type returned by the
    time::macros::format_description! macro.
Changed
  • The minimum supported Rust version is now 1.83.0.
  • All floating point methods on Duration are now const fn.
  • All setters on Parsed are now const fn.
  • The serde dependency has been replaced with serde_core, This reduces compile times by not
    including unused parts of serde.
  • Date::from_julian_day uses a new algorithm, resulting in an approximately 16% performance
    improvement. This method is used internally by numerous other methods.
  • util::is_leap_year uses a new algorithm, resulting in an approximately 8% performance
    improvement.
tokio-rs/tokio (tokio)

v1.50.0: Tokio v1.50.0

Compare Source

1.50.0 (Mar 3rd, 2026)

Added
  • net: add TcpStream::set_zero_linger (#​7837)
  • rt: add is_rt_shutdown_err (#​7771)
Changed
  • io: add optimizer hint that memchr returns in-bounds pointer (#​7792)
  • io: implement vectored writes for write_buf (#​7871)
  • runtime: panic when event_interval is set to 0 (#​7838)
  • runtime: shorten default thread name to fit in Linux limit (#​7880)
  • signal: remember the result of SetConsoleCtrlHandler (#​7833)
  • signal: specialize windows Registry (#​7885)
Fixed
  • io: always cleanup AsyncFd registration list on deregister (#​7773)
  • macros: remove (most) local use declarations in tokio::select! (#​7929)
  • net: fix GET_BUF_SIZE constant for target_os = "android" (#​7889)
  • runtime: avoid redundant unpark in current_thread scheduler (#​7834)
  • runtime: don't park in current_thread if before_park defers waker (#​7835)
  • io: fix write readiness on ESP32 on short writes (#​7872)
  • runtime: wake deferred tasks before entering block_in_place (#​7879)
  • sync: drop rx waker when oneshot receiver is dropped (#​7886)
  • runtime: fix double increment of num_idle_threads on shutdown (#​7910, #​7918, #​7922)
Unstable
  • fs: check for io-uring opcode support (#​7815)
  • runtime: avoid lock acquisition after uring init (#​7850)
Documented
  • docs: update outdated unstable features section (#​7839)
  • io: clarify the behavior of AsyncWriteExt::shutdown() (#​7908)
  • io: explain how to flush stdout/stderr (#​7904)
  • io: fix incorrect and confusing AsyncWrite documentation (#​7875)
  • rt: clarify the documentation of Runtime::spawn (#​7803)
  • rt: fix missing quotation in docs (#​7925)
  • runtime: correct the default thread name in docs (#​7896)
  • runtime: fix event_interval doc (#​7932)
  • sync: clarify RwLock fairness documentation (#​7919)
  • sync: clarify that recv returns None once closed and no more messages (#​7920)
  • task: clarify when to use spawn_blocking vs dedicated threads (#​7923)
  • task: doc that task drops before JoinHandle completion (#​7825)
  • signal: guarantee that listeners never return None (#​7869)
  • task: fix task module feature flags in docs (#​7891)
  • task: fix two typos (#​7913)
  • task: improve the docs of Builder::spawn_local (#​7828)
  • time: add docs about auto-advance and when to use sleep (#​7858)
  • util: fix typo in docs (#​7926)

v1.49.0: Tokio v1.49.0

Compare Source

1.49.0 (January 3rd, 2026)

Added
  • net: add support for TCLASS option on IPv6 (#​7781)
  • runtime: stabilize runtime::id::Id (#​7125)
  • task: implement Extend for JoinSet (#​7195)
  • task: stabilize the LocalSet::id() (#​7776)
Changed
  • net: deprecate {TcpStream,TcpSocket}::set_linger (#​7752)
Fixed
  • macros: fix the hygiene issue of join! and try_join! (#​7766)
  • runtime: revert "replace manual vtable definitions with Wake" (#​7699)
  • sync: return TryRecvError::Disconnected from Receiver::try_recv after Receiver::close (#​7686)
  • task: remove unnecessary trait bounds on the Debug implementation (#​7720)
Unstable
  • fs: handle EINTR in fs::write for io-uring (#​7786)
  • fs: support io-uring with tokio::fs::read (#​7696)
  • runtime: disable io-uring on EPERM (#​7724)
  • time: add alternative timer for better multicore scalability (#​7467)
Documented
  • docs: fix a typos in bounded.rs and park.rs (#​7817)
  • io: add SyncIoBridge cross-references to copy and copy_buf (#​7798)
  • io: doc that AsyncWrite does not inherit from std::io::Write (#​7705)
  • metrics: clarify that num_alive_tasks is not strongly consistent (#​7614)
  • net: clarify the cancellation safety of the TcpStream::peek (#​7305)
  • net: clarify the drop behavior of unix::OwnedWriteHalf (#​7742)
  • net: clarify the platform-dependent backlog in TcpSocket docs (#​7738)
  • runtime: mention LocalRuntime in new_current_thread docs (#​7820)
  • sync: add missing period to mpsc::Sender::try_send docs (#​7721)
  • sync: clarify the cancellation safety of oneshot::Receiver (#​7780)
  • sync: improve the docs for the errors of mpsc (#​7722)
  • task: add example for spawn_local usage on local runtime (#​7689)

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 if that's undesired.


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

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://github.com/dtolnay/anyhow) | dependencies | patch | `1.0.100` → `1.0.102` | | [clap](https://github.com/clap-rs/clap) | dependencies | minor | `4.5.53` → `4.6.0` | | [time](https://time-rs.github.io) ([source](https://github.com/time-rs/time)) | dependencies | patch | `0.3.44` → `0.3.47` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.48.0` → `1.50.0` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.102`](https://github.com/dtolnay/anyhow/releases/tag/1.0.102) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.101...1.0.102) - Remove backtrace dependency ([#&#8203;438](https://github.com/dtolnay/anyhow/issues/438), [#&#8203;439](https://github.com/dtolnay/anyhow/issues/439), [#&#8203;440](https://github.com/dtolnay/anyhow/issues/440), [#&#8203;441](https://github.com/dtolnay/anyhow/issues/441), [#&#8203;442](https://github.com/dtolnay/anyhow/issues/442)) ### [`v1.0.101`](https://github.com/dtolnay/anyhow/releases/tag/1.0.101) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.100...1.0.101) - Add #\[inline] to anyhow::Ok helper ([#&#8203;437](https://github.com/dtolnay/anyhow/issues/437), thanks [@&#8203;Ibitier](https://github.com/Ibitier)) </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.6.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#460---2026-03-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.61...v4.6.0) ##### Compatibility - Update MSRV to 1.85 ### [`v4.5.61`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4561---2026-03-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.60...v4.5.61) ##### Internal - Update dependencies ### [`v4.5.60`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4560---2026-02-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.59...v4.5.60) ##### Fixes - *(help)* Quote empty default values, possible values ### [`v4.5.59`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4559---2026-02-16) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.58...v4.5.59) ##### Fixes - `Command::ignore_errors` no longer masks help/version on subcommands ### [`v4.5.58`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4558---2026-02-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.57...v4.5.58) ### [`v4.5.57`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4557---2026-02-03) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.56...v4.5.57) ##### Fixes - Regression from 4.5.55 where having an argument with `.value_terminator("--")` caused problems with an argument with `.last(true)` ### [`v4.5.56`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4556---2026-01-29) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.55...v4.5.56) ##### Fixes - On conflict error, don't show conflicting arguments in the usage ### [`v4.5.55`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4555---2026-01-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.54...v4.5.55) ##### Fixes - Fix inconsistency in precedence between positionals with a `value_terminator("--")` and escapes (`--`) where `./foo -- bar` means the first arg is empty, rather than escaping future args ### [`v4.5.54`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4554---2026-01-02) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.53...v4.5.54) ##### Fixes - *(help)* Move `[default]` to its own paragraph when `PossibleValue::help` is present in `--help` </details> <details> <summary>time-rs/time (time)</summary> ### [`v0.3.47`](https://github.com/time-rs/time/blob/HEAD/CHANGELOG.md#0347-2026-02-05) [Compare Source](https://github.com/time-rs/time/compare/v0.3.46...v0.3.47) ##### Security - The possibility of a stack exhaustion denial of service attack when parsing RFC 2822 has been eliminated. Previously, it was possible to craft input that would cause unbounded recursion. Now, the depth of the recursion is tracked, causing an error to be returned if it exceeds a reasonable limit. This attack vector requires parsing user-provided input, with any type, using the RFC 2822 format. ##### Compatibility - Attempting to format a value with a well-known format (i.e. RFC 3339, RFC 2822, or ISO 8601) will error at compile time if the type being formatted does not provide sufficient information. This would previously fail at runtime. Similarly, attempting to format a value with ISO 8601 that is only configured for parsing (i.e. `Iso8601::PARSING`) will error at compile time. ##### Added - Builder methods for format description modifiers, eliminating the need for verbose initialization when done manually. - `date!(2026-W01-2)` is now supported. Previously, a space was required between `W` and `01`. - `[end]` now has a `trailing_input` modifier which can either be `prohibit` (the default) or `discard`. When it is `discard`, all remaining input is ignored. Note that if there are components after `[end]`, they will still attempt to be parsed, likely resulting in an error. ##### Changed - More performance gains when parsing. ##### Fixed - If manually formatting a value, the number of bytes written was one short for some components. This has been fixed such that the number of bytes written is always correct. - The possibility of integer overflow when parsing an owned format description has been effectively eliminated. This would previously wrap when overflow checks were disabled. Instead of storing the depth as `u8`, it is stored as `u32`. This would require multiple gigabytes of nested input to overflow, at which point we've got other problems and trivial mitigations are available by downstream users. ### [`v0.3.46`](https://github.com/time-rs/time/blob/HEAD/CHANGELOG.md#0346-2026-01-23) [Compare Source](https://github.com/time-rs/time/compare/v0.3.45...v0.3.46) ##### Added - All possible panics are now documented for the relevant methods. - The need to use `#[serde(default)]` when using custom `serde` formats is documented. This applies only when deserializing an `Option<T>`. - `Duration::nanoseconds_i128` has been made public, mirroring `std::time::Duration::from_nanos_u128`. - Various methods for truncating components have been added, avoiding the need to call the fallible `replace` methods multiple times. For `PrimitiveDateTime`, `UtcDateTime`, and `OffsetDateTime`: - `truncate_to_day` For `Time`, `PrimitiveDateTime`, `UtcDateTime`, and `OffsetDateTime`: - `truncate_to_hour` - `truncate_to_minute` - `truncate_to_second` - `truncate_to_millisecond` - `truncate_to_microsecond` ##### Changed - The minimum supported Rust version is now 1.88.0. - Significant performance gains in numerous locations. No public APIs were changed or removed as part of this. - The size of `error::ComponentRange`, along with types that contain it, has been significantly reduced. ##### Fixed - The `PartialOrd` and `Ord` implementations of `UtcOffset` now return the expected result. ### [`v0.3.45`](https://github.com/time-rs/time/blob/HEAD/CHANGELOG.md#0345-2026-01-13) [Compare Source](https://github.com/time-rs/time/compare/v0.3.44...v0.3.45) ##### Added - `time::format_description::StaticFormatDescription` type alias for `&'static [BorrowedFormatItem<'static>]`. This is the type returned by the `time::macros::format_description!` macro. ##### Changed - The minimum supported Rust version is now 1.83.0. - All floating point methods on `Duration` are now `const fn`. - All setters on `Parsed` are now `const fn`. - The `serde` dependency has been replaced with `serde_core`, This reduces compile times by not including unused parts of `serde`. - `Date::from_julian_day` uses a new algorithm, resulting in an approximately 16% performance improvement. This method is used internally by numerous other methods. - `util::is_leap_year` uses a new algorithm, resulting in an approximately 8% performance improvement. </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.50.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.50.0): Tokio v1.50.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.49.0...tokio-1.50.0) ### 1.50.0 (Mar 3rd, 2026) ##### Added - net: add `TcpStream::set_zero_linger` ([#&#8203;7837]) - rt: add `is_rt_shutdown_err` ([#&#8203;7771]) ##### Changed - io: add optimizer hint that `memchr` returns in-bounds pointer ([#&#8203;7792]) - io: implement vectored writes for `write_buf` ([#&#8203;7871]) - runtime: panic when `event_interval` is set to 0 ([#&#8203;7838]) - runtime: shorten default thread name to fit in Linux limit ([#&#8203;7880]) - signal: remember the result of `SetConsoleCtrlHandler` ([#&#8203;7833]) - signal: specialize windows `Registry` ([#&#8203;7885]) ##### Fixed - io: always cleanup `AsyncFd` registration list on deregister ([#&#8203;7773]) - macros: remove (most) local `use` declarations in `tokio::select!` ([#&#8203;7929]) - net: fix `GET_BUF_SIZE` constant for `target_os = "android"` ([#&#8203;7889]) - runtime: avoid redundant unpark in current\_thread scheduler ([#&#8203;7834]) - runtime: don't park in `current_thread` if `before_park` defers waker ([#&#8203;7835]) - io: fix write readiness on ESP32 on short writes ([#&#8203;7872]) - runtime: wake deferred tasks before entering `block_in_place` ([#&#8203;7879]) - sync: drop rx waker when oneshot receiver is dropped ([#&#8203;7886]) - runtime: fix double increment of `num_idle_threads` on shutdown ([#&#8203;7910], [#&#8203;7918], [#&#8203;7922]) ##### Unstable - fs: check for io-uring opcode support ([#&#8203;7815]) - runtime: avoid lock acquisition after uring init ([#&#8203;7850]) ##### Documented - docs: update outdated unstable features section ([#&#8203;7839]) - io: clarify the behavior of `AsyncWriteExt::shutdown()` ([#&#8203;7908]) - io: explain how to flush stdout/stderr ([#&#8203;7904]) - io: fix incorrect and confusing `AsyncWrite` documentation ([#&#8203;7875]) - rt: clarify the documentation of `Runtime::spawn` ([#&#8203;7803]) - rt: fix missing quotation in docs ([#&#8203;7925]) - runtime: correct the default thread name in docs ([#&#8203;7896]) - runtime: fix `event_interval` doc ([#&#8203;7932]) - sync: clarify RwLock fairness documentation ([#&#8203;7919]) - sync: clarify that `recv` returns `None` once closed and no more messages ([#&#8203;7920]) - task: clarify when to use `spawn_blocking` vs dedicated threads ([#&#8203;7923]) - task: doc that task drops before `JoinHandle` completion ([#&#8203;7825]) - signal: guarantee that listeners never return `None` ([#&#8203;7869]) - task: fix task module feature flags in docs ([#&#8203;7891]) - task: fix two typos ([#&#8203;7913]) - task: improve the docs of `Builder::spawn_local` ([#&#8203;7828]) - time: add docs about auto-advance and when to use sleep ([#&#8203;7858]) - util: fix typo in docs ([#&#8203;7926]) [#&#8203;7771]: https://github.com/tokio-rs/tokio/pull/7771 [#&#8203;7773]: https://github.com/tokio-rs/tokio/pull/7773 [#&#8203;7792]: https://github.com/tokio-rs/tokio/pull/7792 [#&#8203;7803]: https://github.com/tokio-rs/tokio/pull/7803 [#&#8203;7815]: https://github.com/tokio-rs/tokio/pull/7815 [#&#8203;7825]: https://github.com/tokio-rs/tokio/pull/7825 [#&#8203;7828]: https://github.com/tokio-rs/tokio/pull/7828 [#&#8203;7833]: https://github.com/tokio-rs/tokio/pull/7833 [#&#8203;7834]: https://github.com/tokio-rs/tokio/pull/7834 [#&#8203;7835]: https://github.com/tokio-rs/tokio/pull/7835 [#&#8203;7837]: https://github.com/tokio-rs/tokio/pull/7837 [#&#8203;7838]: https://github.com/tokio-rs/tokio/pull/7838 [#&#8203;7839]: https://github.com/tokio-rs/tokio/pull/7839 [#&#8203;7850]: https://github.com/tokio-rs/tokio/pull/7850 [#&#8203;7858]: https://github.com/tokio-rs/tokio/pull/7858 [#&#8203;7869]: https://github.com/tokio-rs/tokio/pull/7869 [#&#8203;7871]: https://github.com/tokio-rs/tokio/pull/7871 [#&#8203;7872]: https://github.com/tokio-rs/tokio/pull/7872 [#&#8203;7875]: https://github.com/tokio-rs/tokio/pull/7875 [#&#8203;7879]: https://github.com/tokio-rs/tokio/pull/7879 [#&#8203;7880]: https://github.com/tokio-rs/tokio/pull/7880 [#&#8203;7885]: https://github.com/tokio-rs/tokio/pull/7885 [#&#8203;7886]: https://github.com/tokio-rs/tokio/pull/7886 [#&#8203;7889]: https://github.com/tokio-rs/tokio/pull/7889 [#&#8203;7891]: https://github.com/tokio-rs/tokio/pull/7891 [#&#8203;7896]: https://github.com/tokio-rs/tokio/pull/7896 [#&#8203;7904]: https://github.com/tokio-rs/tokio/pull/7904 [#&#8203;7908]: https://github.com/tokio-rs/tokio/pull/7908 [#&#8203;7910]: https://github.com/tokio-rs/tokio/pull/7910 [#&#8203;7913]: https://github.com/tokio-rs/tokio/pull/7913 [#&#8203;7918]: https://github.com/tokio-rs/tokio/pull/7918 [#&#8203;7919]: https://github.com/tokio-rs/tokio/pull/7919 [#&#8203;7920]: https://github.com/tokio-rs/tokio/pull/7920 [#&#8203;7922]: https://github.com/tokio-rs/tokio/pull/7922 [#&#8203;7923]: https://github.com/tokio-rs/tokio/pull/7923 [#&#8203;7925]: https://github.com/tokio-rs/tokio/pull/7925 [#&#8203;7926]: https://github.com/tokio-rs/tokio/pull/7926 [#&#8203;7929]: https://github.com/tokio-rs/tokio/pull/7929 [#&#8203;7932]: https://github.com/tokio-rs/tokio/pull/7932 ### [`v1.49.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.49.0): Tokio v1.49.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.48.0...tokio-1.49.0) ### 1.49.0 (January 3rd, 2026) ##### Added - net: add support for `TCLASS` option on IPv6 ([#&#8203;7781]) - runtime: stabilize `runtime::id::Id` ([#&#8203;7125]) - task: implement `Extend` for `JoinSet` ([#&#8203;7195]) - task: stabilize the `LocalSet::id()` ([#&#8203;7776]) ##### Changed - net: deprecate `{TcpStream,TcpSocket}::set_linger` ([#&#8203;7752]) ##### Fixed - macros: fix the hygiene issue of `join!` and `try_join!` ([#&#8203;7766]) - runtime: revert "replace manual vtable definitions with Wake" ([#&#8203;7699]) - sync: return `TryRecvError::Disconnected` from `Receiver::try_recv` after `Receiver::close` ([#&#8203;7686]) - task: remove unnecessary trait bounds on the `Debug` implementation ([#&#8203;7720]) ##### Unstable - fs: handle `EINTR` in `fs::write` for io-uring ([#&#8203;7786]) - fs: support io-uring with `tokio::fs::read` ([#&#8203;7696]) - runtime: disable io-uring on `EPERM` ([#&#8203;7724]) - time: add alternative timer for better multicore scalability ([#&#8203;7467]) ##### Documented - docs: fix a typos in `bounded.rs` and `park.rs` ([#&#8203;7817]) - io: add `SyncIoBridge` cross-references to `copy` and `copy_buf` ([#&#8203;7798]) - io: doc that `AsyncWrite` does not inherit from `std::io::Write` ([#&#8203;7705]) - metrics: clarify that `num_alive_tasks` is not strongly consistent ([#&#8203;7614]) - net: clarify the cancellation safety of the `TcpStream::peek` ([#&#8203;7305]) - net: clarify the drop behavior of `unix::OwnedWriteHalf` ([#&#8203;7742]) - net: clarify the platform-dependent backlog in `TcpSocket` docs ([#&#8203;7738]) - runtime: mention `LocalRuntime` in `new_current_thread` docs ([#&#8203;7820]) - sync: add missing period to `mpsc::Sender::try_send` docs ([#&#8203;7721]) - sync: clarify the cancellation safety of `oneshot::Receiver` ([#&#8203;7780]) - sync: improve the docs for the `errors` of mpsc ([#&#8203;7722]) - task: add example for `spawn_local` usage on local runtime ([#&#8203;7689]) [#&#8203;7125]: https://github.com/tokio-rs/tokio/pull/7125 [#&#8203;7195]: https://github.com/tokio-rs/tokio/pull/7195 [#&#8203;7305]: https://github.com/tokio-rs/tokio/pull/7305 [#&#8203;7467]: https://github.com/tokio-rs/tokio/pull/7467 [#&#8203;7614]: https://github.com/tokio-rs/tokio/pull/7614 [#&#8203;7686]: https://github.com/tokio-rs/tokio/pull/7686 [#&#8203;7689]: https://github.com/tokio-rs/tokio/pull/7689 [#&#8203;7696]: https://github.com/tokio-rs/tokio/pull/7696 [#&#8203;7699]: https://github.com/tokio-rs/tokio/pull/7699 [#&#8203;7705]: https://github.com/tokio-rs/tokio/pull/7705 [#&#8203;7720]: https://github.com/tokio-rs/tokio/pull/7720 [#&#8203;7721]: https://github.com/tokio-rs/tokio/pull/7721 [#&#8203;7722]: https://github.com/tokio-rs/tokio/pull/7722 [#&#8203;7724]: https://github.com/tokio-rs/tokio/pull/7724 [#&#8203;7738]: https://github.com/tokio-rs/tokio/pull/7738 [#&#8203;7742]: https://github.com/tokio-rs/tokio/pull/7742 [#&#8203;7752]: https://github.com/tokio-rs/tokio/pull/7752 [#&#8203;7766]: https://github.com/tokio-rs/tokio/pull/7766 [#&#8203;7776]: https://github.com/tokio-rs/tokio/pull/7776 [#&#8203;7780]: https://github.com/tokio-rs/tokio/pull/7780 [#&#8203;7781]: https://github.com/tokio-rs/tokio/pull/7781 [#&#8203;7786]: https://github.com/tokio-rs/tokio/pull/7786 [#&#8203;7798]: https://github.com/tokio-rs/tokio/pull/7798 [#&#8203;7817]: https://github.com/tokio-rs/tokio/pull/7817 [#&#8203;7820]: https://github.com/tokio-rs/tokio/pull/7820 </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://github.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 [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40Ni41IiwidXBkYXRlZEluVmVyIjoiNDMuNjkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
renovatebot force-pushed renovate/all-minor-patch from 9c5c8448d6 to b5bc42f235 2026-03-03 11:01:16 +01:00 Compare
renovatebot force-pushed renovate/all-minor-patch from b5bc42f235 to 3729b86e4c 2026-03-12 18:17:00 +01:00 Compare
renovatebot force-pushed renovate/all-minor-patch from 3729b86e4c to dc5c8ef2ce 2026-03-12 20:16:20 +01:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/all-minor-patch:renovate/all-minor-patch
git switch renovate/all-minor-patch

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/all-minor-patch
git switch renovate/all-minor-patch
git rebase main
git switch main
git merge --ff-only renovate/all-minor-patch
git switch renovate/all-minor-patch
git rebase main
git switch main
git merge --no-ff renovate/all-minor-patch
git switch main
git merge --squash renovate/all-minor-patch
git switch main
git merge --ff-only renovate/all-minor-patch
git switch main
git merge renovate/all-minor-patch
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lilly/cookied!2
No description provided.