chore(deps): update all dependencies #1

Merged
kjuulh merged 1 commits from renovate/all into main 2025-07-26 02:42:14 +02:00
Owner

This PR contains the following updates:

Package Type Update Change
anyhow workspace.dependencies patch 1.0.71 -> 1.0.98
clap workspace.dependencies minor 4.3.4 -> 4.5.41
tokio (source) workspace.dependencies minor 1.28.2 -> 1.46.1

⚠️ Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

dtolnay/anyhow (anyhow)

v1.0.98

Compare Source

v1.0.97

Compare Source

  • Documentation improvements

v1.0.96

Compare Source

  • Documentation improvements

v1.0.95

Compare Source

v1.0.94

Compare Source

  • Documentation improvements

v1.0.93

Compare Source

  • Update dev-dependencies to thiserror v2

v1.0.92

Compare Source

  • Support Rust 1.82's &raw const and &raw mut syntax inside ensure! (#​390)

v1.0.91

Compare Source

  • Ensure OUT_DIR is left with deterministic contents after build script execution (#​388)

v1.0.90

Compare Source

  • Documentation improvements

v1.0.89

Compare Source

  • Make anyhow::Error's UnwindSafe and RefUnwindSafe impl consistently available between versions of Rust newer and older than 1.72 (#​386)

v1.0.88

Compare Source

  • Documentation improvements

v1.0.87

Compare Source

  • Support more APIs, including Error::new and Error::chain, in no-std mode on Rust 1.81+ (#​383)

v1.0.86

Compare Source

  • Fix parse error in ensure! with non-literal after minus sign (#​373)

v1.0.85

Compare Source

  • Improve ensure! macro's rules to unblock some rustc pretty-printer improvements (#​368, #​371)

v1.0.84

Compare Source

  • Disallow calling ensure! through a Not impl for a type that is not bool (#​367)

v1.0.83

Compare Source

  • Integrate compile-time checking of cfgs (#​363)

v1.0.82

Compare Source

  • Documentation improvements

v1.0.81

Compare Source

  • Make backtrace support available when using -Dwarnings (#​354)

v1.0.80

Compare Source

  • Fix unused_imports warnings when compiled by rustc 1.78

v1.0.79

Compare Source

  • Work around improperly cached build script result by sccache (#​340)

v1.0.78

Compare Source

  • Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain (#​337)

v1.0.77

Compare Source

v1.0.76

Compare Source

  • Opt in to unsafe_op_in_unsafe_fn lint (#​329)

v1.0.75

Compare Source

v1.0.74

Compare Source

v1.0.73

Compare Source

v1.0.72

Compare Source

  • Documentation improvements
clap-rs/clap (clap)

v4.5.41

Compare Source

Features
  • Add Styles::context and Styles::context_value to customize the styling of [default: value] like notes in the --help

v4.5.40

Compare Source

Features
  • Support quoted ids in arg!() macro (e.g. arg!("check-config": ...))

v4.5.39

Compare Source

Fixes
  • (help) Show short flag aliases before long
  • (help) Merge the short and long flag alias lists

v4.5.38

Compare Source

Fixes
  • (help) When showing aliases, include leading -- or -

v4.5.37

Compare Source

Features
  • Added ArgMatches::try_clear_id()

v4.5.36

Compare Source

Fixes
  • (help) Revert 4.5.35's "Don't leave space for shorts if there are none" for now

v4.5.35

Compare Source

Fixes
  • (help) Align positionals and flags when put in the same help_heading
  • (help) Don't leave space for shorts if there are none

v4.5.34

Compare Source

Fixes
  • (help) Don't add extra blank lines with flatten_help(true) and subcommands without arguments

v4.5.33

Compare Source

Fixes
  • (error) When showing the usage of a suggestion for an unknown argument, don't show the group

v4.5.32

Compare Source

Features
  • Add Error::remove
Documentation
  • (cookbook) Switch from humantime to jiff
  • (tutorial) Better cover required vs optional
Internal
  • Update pulldown-cmark

v4.5.31

Compare Source

Features
  • Add ValueParserFactory for Saturating<T>

v4.5.30

Compare Source

Fixes
  • (assert) Allow num_args(0..=1) to be used with SetTrue
  • (assert) Clean up rendering of takes_values assertions

v4.5.29

Compare Source

Fixes
  • Change ArgMatches::args_present so not-present flags are considered not-present (matching the documentation)

v4.5.28

Compare Source

Features
  • (derive) Unstable support for full markdown syntax for doc comments, enabled with unstable-markdown

v4.5.27

Compare Source

Documentation
  • Iterate on tutorials and reference based on feedback

v4.5.26

Compare Source

Fixes
  • (error) Reduce binary size with the suggestions feature

v4.5.25

Compare Source

Fixes
  • (help) Reduce binary size

v4.5.24

Compare Source

Fixes
  • (parser) Correctly handle defaults with ignore_errors(true) and when a suggestion is provided for an unknown argument

v4.5.23

Compare Source

Fixes
  • (parser) When check allow_negative_numbers, allow E again

v4.5.22

Compare Source

Fixes
  • (assert) Catch bugs with arguments requiring themself

v4.5.21

Compare Source

Fixes
  • (parser) Ensure defaults are filled in on error with ignore_errors(true)

v4.5.20

Compare Source

Features
  • (unstable) Add CommandExt

v4.5.19

Compare Source

Internal
  • Update dependencies

v4.5.18

Compare Source

Features
  • (builder) Expose Arg::get_display_order and Command::get_display_order

v4.5.17

Compare Source

Fixes
  • (help) Style required argument groups
  • (derive) Improve error messages when unsupported fields are used

v4.5.16

Compare Source

Fixes
  • (derive) Improve error messages when derive feature is missing

v4.5.15

Compare Source

Compatiblity
  • (unstable-ext) Arg::remove changed return types
Fixes
  • (unstable-ext) Make Arg::remove return the removed item

v4.5.14

Compare Source

Features
  • (unstable-ext) Added Arg::add for attaching arbitrary state, like completion hints, to Arg without Arg knowing about it

v4.5.13

Compare Source

Fixes
  • (derive) Improve error message when #[flatten]ing an optional #[group(skip)]
  • (help) Properly wrap long subcommand descriptions in help

v4.5.12

Compare Source

v4.5.11

Compare Source

v4.5.10

Compare Source

v4.5.9

Compare Source

Fixes
  • (error) When defining a custom help flag, be sure to suggest it like we do the built-in one

v4.5.8

Compare Source

Fixes
  • Reduce extra flushes

v4.5.7

Compare Source

Fixes
  • Clean up error message when too few arguments for num_args

v4.5.6

Compare Source

v4.5.5

Compare Source

Fixes
  • Allow exclusive to override required_unless_present, required_unless_present_any, required_unless_present_all

v4.5.4

Compare Source

Features
  • Add Styles::context and Styles::context_value to customize the styling of [default: value] like notes in the --help

v4.5.3

Compare Source

Fixes
  • (help) Show short flag aliases before long
  • (help) Merge the short and long flag alias lists

v4.5.2

Compare Source

Fixes
  • Change ArgMatches::args_present so not-present flags are considered not-present (matching the documentation)

v4.5.1

Compare Source

Internal
  • Update dependencies

v4.5.0

Compare Source

Compatibility
  • Update MSRV to 1.74

v4.4.18

Compare Source

Fixes
  • (error) When lacking usage feature, ensure the list of required arguments is unique

v4.4.17

Compare Source

Fixes
  • Fix panic! when mixing args_conflicts_with_subcommands with ArgGroup (which is implicit with derive) introduced in 4.4.15

v4.4.16

Compare Source

Fixes
  • Ensure invalid escape sequences in user-defined strings are correctly stripped when terminal doesn't support color

v4.4.15

Compare Source

Fixes
  • Improve error for args_conflicts_with_subcommands
  • Ensure we error for args_conflicts_with_subcommands when using subcommand short and long flags

v4.4.14

Compare Source

Documentation
  • Fix find cookbook entry to allow repeats of flags/options
Features
  • Allow num_args(0) on options which allows making them emulate being a flag for position-tracking flags

v4.4.13

Compare Source

Documentation
  • Fix link to structopt migration guide

v4.4.12

Compare Source

Performance
  • Only ask TypedValueParser for possible values if needed

v4.4.11

Compare Source

Features
  • Add Command::mut_group

v4.4.10

Compare Source

Documentation
  • Link out to changelog
  • Cross link derive's attribute reference to derive tutorial

v4.4.9

Compare Source

Fixes
  • (help) Show correct Command::about under flattened headings
  • (help) Respect hide when flattening subcommands

v4.4.8

Compare Source

Features
  • Add Command::flatten_help to allow git stash -h like help for subcommands

v4.4.7

Compare Source

Performance
  • Reduced code size

v4.4.6

Compare Source

Internal
  • Upgrade anstream

v4.4.5

Compare Source

Fixes
  • (parser) When inferring subcommand name or long_flag, allow ambiguous-looking matches that unambiguously map back to the same command
  • (parser) When inferring subcommand long_flag, don't panic
  • (assert) Clarify what action is causing a positional that doesn't set values which is especially useful for derive users

v4.4.4

Compare Source

Internal
  • Update terminal_size to 0.3

v4.4.3

Compare Source

Documentation
  • (derive) Clarify use of attributes within the tutorial
  • Split sections in the builder and derive tutorials into separate modules

v4.4.2

Compare Source

Performance
  • Improve build times by removing once_cell dependency

v4.4.1

Compare Source

Fixes
  • (error) When lacking usage feature, ensure the list of required arguments is unique

v4.4.0

Compare Source

compatibility
  • update msrv to 1.70.0

v4.3.24

Compare Source

Fixes
  • Ensure column padding is preserved in --help with custom templates

v4.3.23

Compare Source

Fixes
  • Fixed UnknownArgumentValueParser to not error on flag's absence

v4.3.22

Compare Source

Features
  • Add UnknownArgumentValueParser for injecting errors for improving the experience with errors

v4.3.21

Compare Source

Features
  • Expose TryMapValueParser so the type can be named

v4.3.20

Compare Source

Features
  • Command::mut_args for modifying all arguments en masse

v4.3.19

Compare Source

Fixes
  • (parse) Respect value_terminator even in the presence of later multiple-value positional arguments

v4.3.18

Compare Source

Fixes
  • (parse) Suggest -- in fewer places where it won't work

v4.3.17

Compare Source

Fixes
  • (help) Address a regression in wrapping PossibleValue descriptions in --help

v4.3.16

Compare Source

Fixes
  • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

v4.3.15

Compare Source

Features
  • (unstable-styles) Re-export anstyle
Documentation
  • (unstable-styles) Provide more examples

v4.3.14

Compare Source

Features
  • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display
Fixes
  • Skip [OPTIONS] in usage if a help or version ArgAction is used

v4.3.13

Compare Source

v4.3.12

Compare Source

Fixes
  • (derive) Don't error on enum variant field attributes

v4.3.11

Compare Source

Features
  • (derive) Support fields wrapped in num::Wrapping, Box, or Arc
  • (derive) Support Box<str>, Box<OsStr>, and Box<Path>

v4.3.10

Compare Source

Performance
  • Drop a dependency, reducing binary size by 1.3 KiB

v4.3.9

Compare Source

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

v4.3.8

Compare Source

Fixes
  • Error on ambiguity with infer_long_arg, rather than arbitrarily picking one, matching the documentation and subcommand's behavior

v4.3.7

Compare Source

Documentation
  • Further clarify magic behavior in derive tutorial
  • Further clarify derive API's relationship to builder within the tutorial

v4.3.6

Compare Source

Documentation
  • Suggest clio

v4.3.5

Compare Source

  • ColorChoice::possible_values is added to simplify things for builder users
Fixes
  • ColorChoice::to_possible_value no longer includes descriptions, encouraging shorter help where possible
tokio-rs/tokio (tokio)

v1.46.1: Tokio v1.46.1

Compare Source

1.46.1 (July 4th, 2025)

This release fixes incorrect spawn locations in runtime task hooks for tasks spawned using tokio::spawn rather than Runtime::spawn. This issue only effected the spawn location in TaskMeta::spawned_at, and did not effect task locations in Tracing events.

Unstable

  • runtime: add TaskMeta::spawn_location tracking where a task was spawned (#​7440)

v1.46.0: Tokio v1.46.0

Compare Source

1.46.0 (July 2nd, 2025)

Fixed
  • net: fixed TcpStream::shutdown incorrectly returning an error on macOS (#​7290)

Added

  • sync: mpsc::OwnedPermit::{same_channel, same_channel_as_sender} methods (#​7389)
  • macros: biased option for join! and try_join!, similar to select! (#​7307)
  • net: support for cygwin (#​7393)
  • net: support pope::OpenOptions::read_write on Android (#​7426)
  • net: add Clone implementation for net::unix::SocketAddr (#​7422)

Changed

  • runtime: eliminate unnecessary lfence while operating on queue::Local<T> (#​7340)
  • task: disallow blocking in LocalSet::{poll,drop} (#​7372)

Unstable

  • runtime: add TaskMeta::spawn_location tracking where a task was spawned (#​7417)
  • runtime: removed borrow from LocalOptions parameter to runtime::Builder::build_local (#​7346)

Documented

  • io: clarify behavior of seeking when start_seek is not used (#​7366)
  • io: document cancellation safety of AsyncWriteExt::flush (#​7364)
  • net: fix docs for recv_buffer_size method (#​7336)
  • net: fix broken link of RawFd in TcpSocket docs (#​7416)
  • net: update AsRawFd doc link to current Rust stdlib location (#​7429)
  • readme: fix double period in reactor description (#​7363)
  • runtime: add doc note that on_*_task_poll is unstable (#​7311)
  • sync: update broadcast docs on allocation failure (#​7352)
  • time: add a missing panic scenario of time::advance (#​7394)

v1.45.1: Tokio v1.45.1

Compare Source

1.45.1 (May 24th, 2025)

This fixes a regression on the wasm32-unknown-unknown target, where code that previously did not panic due to calls to Instant::now() started failing. This is due to the stabilization of the first time-based metric.

Fixed
  • Disable time-based metrics on wasm32-unknown-unknown (#​7322)

v1.45.0: Tokio v1.45.0

Compare Source

Added
  • metrics: stabilize worker_total_busy_duration, worker_park_count, and worker_unpark_count (#​6899, #​7276)
  • process: add Command::spawn_with (#​7249)
Changed
  • io: do not require Unpin for some trait impls (#​7204)
  • rt: mark runtime::Handle as unwind safe (#​7230)
  • time: revert internal sharding implementation (#​7226)
Unstable
  • rt: remove alt multi-threaded runtime (#​7275)

v1.44.2: Tokio v1.44.2

Compare Source

This release fixes a soundness issue in the broadcast channel. The channel
accepts values that are Send but !Sync. Previously, the channel called
clone() on these values without synchronizing. This release fixes the channel
by synchronizing calls to .clone() (Thanks Austin Bonander for finding and
reporting the issue).

Fixed
  • sync: synchronize clone() call in broadcast channel (#​7232)

v1.44.1: Tokio v1.44.1

Compare Source

1.44.1 (March 13th, 2025)

Fixed
  • rt: skip defer queue in block_in_place context (#​7216)

v1.44.0: Tokio v1.44.0

Compare Source

1.44.0 (March 7th, 2025)

This release changes the from_std method on sockets to panic if a blocking socket is provided. We determined this change is not a breaking change as Tokio is not intended to operate using blocking sockets. Doing so results in runtime hangs and should be considered a bug. Accidentally passing a blocking socket to Tokio is one of the most common user mistakes. If this change causes an issue for you, please comment on #​7172.

Added
  • coop: add task::coop module (#​7116)
  • process: add Command::get_kill_on_drop() (#​7086)
  • sync: add broadcast::Sender::closed (#​6685, #​7090)
  • sync: add broadcast::WeakSender (#​7100)
  • sync: add oneshot::Receiver::is_empty() (#​7153)
  • sync: add oneshot::Receiver::is_terminated() (#​7152)
Fixed
  • fs: empty reads on File should not start a background read (#​7139)
  • process: calling start_kill on exited child should not fail (#​7160)
  • signal: fix CTRL_CLOSE, CTRL_LOGOFF, CTRL_SHUTDOWN on windows (#​7122)
  • sync: properly handle panic during mpsc drop (#​7094)
Changes
  • runtime: clean up magic number in registration set (#​7112)
  • coop: make coop yield using waker defer strategy (#​7185)
  • macros: make select! budget-aware (#​7164)
  • net: panic when passing a blocking socket to from_std (#​7166)
  • io: clean up buffer casts (#​7142)
Changes to unstable APIs
  • rt: add before and after task poll callbacks (#​7120)
  • tracing: make the task tracing API unstable public (#​6972)
Documented
  • docs: fix nesting of sections in top-level docs (#​7159)
  • fs: rename symlink and hardlink parameter names (#​7143)
  • io: swap reader/writer in simplex doc test (#​7176)
  • macros: docs about select! alternatives (#​7110)
  • net: rename the argument for send_to (#​7146)
  • process: add example for reading Child stdout (#​7141)
  • process: clarify Child::kill behavior (#​7162)
  • process: fix grammar of the ChildStdin struct doc comment (#​7192)
  • runtime: consistently use worker_threads instead of core_threads (#​7186)

v1.43.1

Compare Source

v1.43.0: Tokio v1.43.0

Compare Source

1.43.0 (Jan 8th, 2025)

Added
  • net: add UdpSocket::peek methods (#​7068)
  • net: add support for Haiku OS (#​7042)
  • process: add Command::into_std() (#​7014)
  • signal: add SignalKind::info on illumos (#​6995)
  • signal: add support for realtime signals on illumos (#​7029)
Fixed
  • io: don't call set_len before initializing vector in Blocking (#​7054)
  • macros: suppress clippy::needless_return in #[tokio::main] (#​6874)
  • runtime: fix thread parking on WebAssembly (#​7041)
Changes
  • chore: use unsync loads for unsync_load (#​7073)
  • io: use Buf::put_bytes in Repeat read impl (#​7055)
  • task: drop the join waker of a task eagerly (#​6986)
Changes to unstable APIs
  • metrics: improve flexibility of H2Histogram Configuration (#​6963)
  • taskdump: add accessor methods for backtrace (#​6975)
Documented
  • io: clarify ReadBuf::uninit allows initialized buffers as well (#​7053)
  • net: fix ambiguity in TcpStream::try_write_vectored docs (#​7067)
  • runtime: fix LocalRuntime doc links (#​7074)
  • sync: extend documentation for watch::Receiver::wait_for (#​7038)
  • sync: fix typos in OnceCell docs (#​7047)

v1.42.1: Tokio v1.42.1

Compare Source

This release fixes a soundness issue in the broadcast channel. The channel accepts values that are Send but !Sync. Previously, the channel called clone() on these values without synchronizing. This release fixes the channel by synchronizing calls to .clone() (Thanks Austin Bonander for finding and reporting the issue).

Fixed
  • sync: synchronize clone() call in broadcast channel (#​7232)

v1.42.0: Tokio v1.42.0

Compare Source

1.42.0 (Dec 3rd, 2024)

Added
  • io: add AsyncFd::{try_io, try_io_mut} (#​6967)
Fixed
  • io: avoid ptr->ref->ptr roundtrip in RegistrationSet (#​6929)
  • runtime: do not defer yield_now inside block_in_place (#​6999)
Changes
  • io: simplify io readiness logic (#​6966)
Documented
  • net: fix docs for tokio::net::unix::{pid_t, gid_t, uid_t} (#​6791)
  • time: fix a typo in Instant docs (#​6982)

v1.41.1: Tokio v1.41.1

Compare Source

1.41.1 (Nov 7th, 2024)

Fixed
  • metrics: fix bug with wrong number of buckets for the histogram (#​6957)
  • net: display net requirement for net::UdpSocket in docs (#​6938)
  • net: fix typo in TcpStream internal comment (#​6944)

v1.41.0: Tokio v1.41.0

Compare Source

1.41.0 (Oct 22th, 2024)

Added
Added (unstable)
  • metrics: add H2 Histogram option to improve histogram granularity (#​6897)
  • metrics: rename some histogram apis (#​6924)
  • runtime: add LocalRuntime (#​6808)
Changed
  • runtime: box futures larger than 16k on release mode (#​6826)
  • sync: add #[must_use] to Notified (#​6828)
  • sync: make watch cooperative (#​6846)
  • sync: make broadcast::Receiver cooperative (#​6870)
  • task: add task size to tracing instrumentation (#​6881)
  • wasm: enable cfg_fs for wasi target (#​6822)
Fixed
  • net: fix regression of abstract socket path in unix socket (#​6838)
Documented
  • io: recommend OwnedFd with AsyncFd (#​6821)
  • io: document cancel safety of AsyncFd methods (#​6890)
  • macros: render more comprehensible documentation for join and try_join (#​6814, #​6841)
  • net: fix swapped examples for TcpSocket::set_nodelay and TcpSocket::nodelay (#​6840)
  • sync: document runtime compatibility (#​6833)

v1.40.0: Tokio v1.40.0

Compare Source

1.40.0 (August 30th, 2024)

Added
  • io: add util::SimplexStream (#​6589)
  • process: stabilize Command::process_group (#​6731)
  • sync: add {TrySendError,SendTimeoutError}::into_inner (#​6755)
  • task: add JoinSet::join_all (#​6784)
Added (unstable)
  • runtime: add Builder::{on_task_spawn, on_task_terminate} (#​6742)
Changed
  • io: use vectored io for write_all_buf when possible (#​6724)
  • runtime: prevent niche-optimization to avoid triggering miri (#​6744)
  • sync: mark mpsc types as UnwindSafe (#​6783)
  • sync,time: make Sleep and BatchSemaphore instrumentation explicit roots (#​6727)
  • task: use NonZeroU64 for task::Id (#​6733)
  • task: include panic message when printing JoinError (#​6753)
  • task: add #[must_use] to JoinHandle::abort_handle (#​6762)
  • time: eliminate timer wheel allocations (#​6779)
Documented
  • docs: clarify that [build] section doesn't go in Cargo.toml (#​6728)
  • io: clarify zero remaining capacity case (#​6790)
  • macros: improve documentation for select! (#​6774)
  • sync: document mpsc channel allocation behavior (#​6773)

v1.39.3: Tokio v1.39.3

Compare Source

1.39.3 (August 17th, 2024)

This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. (#​6772)

v1.39.2: Tokio v1.39.2

Compare Source

1.39.2 (July 27th, 2024)

This release fixes a regression where the select! macro stopped accepting expressions that make use of temporary lifetime extension. (#​6722)

v1.39.1: Tokio v1.39.1

Compare Source

1.39.1 (July 23rd, 2024)

This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. (#​6715)

v1.39.0: Tokio v1.39.0

Compare Source

1.39.0 (July 23rd, 2024)

  • This release bumps the MSRV to 1.70. (#​6645)
  • This release upgrades to mio v1. (#​6635)
  • This release upgrades to windows-sys v0.52 (#​6154)
Added
  • io: implement AsyncSeek for Empty (#​6663)
  • metrics: stabilize num_alive_tasks (#​6619, #​6667)
  • process: add Command::as_std_mut (#​6608)
  • sync: add watch::Sender::same_channel (#​6637)
  • sync: add {Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count} (#​6661)
  • sync: implement Default for watch::Sender (#​6626)
  • task: implement Clone for AbortHandle (#​6621)
  • task: stabilize consume_budget (#​6622)
Changed
  • io: improve panic message of ReadBuf::put_slice() (#​6629)
  • io: read during write in copy_bidirectional and copy (#​6532)
  • runtime: replace num_cpus with available_parallelism (#​6709)
  • task: avoid stack overflow when passing large future to block_on (#​6692)
  • time: avoid traversing entries in the time wheel twice (#​6584)
  • time: support IntoFuture with timeout (#​6666)
  • macros: support IntoFuture with join! and select! (#​6710)
Fixed
  • docs: fix docsrs builds with the fs feature enabled (#​6585)
  • io: only use short-read optimization on known-to-be-compatible platforms (#​6668)
  • time: fix overflow panic when using large durations with Interval (#​6612)
Added (unstable)
  • macros: allow unhandled_panic behavior for #[tokio::main] and #[tokio::test] (#​6593)
  • metrics: add spawned_tasks_count (#​6114)
  • metrics: add worker_park_unpark_count (#​6696)
  • metrics: add worker thread id (#​6695)
Documented
  • io: update tokio::io::stdout documentation (#​6674)
  • macros: typo fix in join.rs and try_join.rs (#​6641)
  • runtime: fix typo in unhandled_panic (#​6660)
  • task: document behavior of JoinSet::try_join_next when all tasks are running (#​6671)

v1.38.2: Tokio v1.38.2

Compare Source

This release fixes a soundness issue in the broadcast channel. The channel accepts values that are Send but !Sync. Previously, the channel called clone() on these values without synchronizing. This release fixes the channel by synchronizing calls to .clone() (Thanks Austin Bonander for finding and reporting the issue).

Fixed
  • sync: synchronize clone() call in broadcast channel (#​7232)

v1.38.1: Tokio v1.38.1

Compare Source

1.38.1 (July 16th, 2024)

This release fixes the bug identified as (#​6682), which caused timers not
to fire when they should.

Fixed
  • time: update wake_up while holding all the locks of sharded time wheels (#​6683)

v1.38.0: Tokio v1.38.0

Compare Source

This release marks the beginning of stabilization for runtime metrics. It
stabilizes RuntimeMetrics::worker_count. Future releases will continue to
stabilize more metrics.

Added
  • fs: add File::create_new (#​6573)
  • io: add copy_bidirectional_with_sizes (#​6500)
  • io: implement AsyncBufRead for Join (#​6449)
  • net: add Apple visionOS support (#​6465)
  • net: implement Clone for NamedPipeInfo (#​6586)
  • net: support QNX OS (#​6421)
  • sync: add Notify::notify_last (#​6520)
  • sync: add mpsc::Receiver::{capacity,max_capacity} (#​6511)
  • sync: add split method to the semaphore permit (#​6472, #​6478)
  • task: add tokio::task::join_set::Builder::spawn_blocking (#​6578)
  • wasm: support rt-multi-thread with wasm32-wasi-preview1-threads (#​6510)
Changed
  • macros: make #[tokio::test] append #[test] at the end of the attribute list (#​6497)
  • metrics: fix blocking_threads count (#​6551)
  • metrics: stabilize RuntimeMetrics::worker_count (#​6556)
  • runtime: move task out of the lifo_slot in block_in_place (#​6596)
  • runtime: panic if global_queue_interval is zero (#​6445)
  • sync: always drop message in destructor for oneshot receiver (#​6558)
  • sync: instrument Semaphore for task dumps (#​6499)
  • sync: use FIFO ordering when waking batches of wakers (#​6521)
  • task: make LocalKey::get work with Clone types (#​6433)
  • tests: update nix and mio-aio dev-dependencies (#​6552)
  • time: clean up implementation (#​6517)
  • time: lazily init timers on first poll (#​6512)
  • time: remove the true_when field in TimerShared (#​6563)
  • time: use sharding for timer implementation (#​6534)
Fixed
  • taskdump: allow building taskdump docs on non-unix machines (#​6564)
  • time: check for overflow in Interval::poll_tick (#​6487)
  • sync: fix incorrect is_empty on mpsc block boundaries (#​6603)
Documented
  • fs: rewrite file system docs (#​6467)
  • io: fix stdin documentation (#​6581)
  • io: fix obsolete reference in ReadHalf::unsplit() documentation (#​6498)
  • macros: render more comprehensible documentation for select! (#​6468)
  • net: add missing types to module docs (#​6482)
  • net: fix misleading NamedPipeServer example (#​6590)
  • sync: add examples for SemaphorePermit, OwnedSemaphorePermit (#​6477)
  • sync: document that Barrier::wait is not cancel safe (#​6494)
  • sync: explain relation between watch::Sender::{subscribe,closed} (#​6490)
  • task: clarify that you can't abort spawn_blocking tasks (#​6571)
  • task: fix a typo in doc of LocalSet::run_until (#​6599)
  • time: fix test-util requirement for pause and resume in docs (#​6503)

v1.37.0: Tokio v1.37.0

Compare Source

1.37.0 (March 28th, 2024)

Added
  • fs: add set_max_buf_size to tokio::fs::File (#​6411)
  • io: add try_new and try_with_interest to AsyncFd (#​6345)
  • sync: add forget_permits method to semaphore (#​6331)
  • sync: add is_closed, is_empty, and len to mpsc receivers (#​6348)
  • sync: add a rwlock() method to owned RwLock guards (#​6418)
  • sync: expose strong and weak counts of mpsc sender handles (#​6405)
  • sync: implement Clone for watch::Sender (#​6388)
  • task: add TaskLocalFuture::take_value (#​6340)
  • task: implement FromIterator for JoinSet (#​6300)
Changed
  • io: make io::split use a mutex instead of a spinlock (#​6403)
Fixed
  • docs: fix docsrs build without net feature (#​6360)
  • macros: allow select with only else branch (#​6339)
  • runtime: fix leaking registration entries when os registration fails (#​6329)
Documented
  • io: document cancel safety of AsyncBufReadExt::fill_buf (#​6431)
  • io: document cancel safety of AsyncReadExt's primitive read functions (#​6337)
  • runtime: add doc link from Runtime to #[tokio::main] (#​6366)
  • runtime: make the enter example deterministic (#​6351)
  • sync: add Semaphore example for limiting the number of outgoing requests (#​6419)
  • sync: fix missing period in broadcast docs (#​6377)
  • sync: mark mpsc::Sender::downgrade with #[must_use] (#​6326)
  • sync: reorder const_new before new_with (#​6392)
  • sync: update watch channel docs (#​6395)
  • task: fix documentation links (#​6336)
Changed (unstable)
  • runtime: include task Id in taskdumps (#​6328)
  • runtime: panic if unhandled_panic is enabled when not supported (#​6410)

v1.36.0: Tokio v1.36.0

Compare Source

1.36.0 (February 2nd, 2024)

Added
  • io: add tokio::io::Join (#​6220)
  • io: implement AsyncWrite for Empty (#​6235)
  • net: add support for anonymous unix pipes (#​6127)
  • net: add UnixSocket (#​6290)
  • net: expose keepalive option on TcpSocket (#​6311)
  • sync: add {Receiver,UnboundedReceiver}::poll_recv_many (#​6236)
  • sync: add Sender::{try_,}reserve_many (#​6205)
  • sync: add watch::Receiver::mark_unchanged (#​6252)
  • task: add JoinSet::try_join_next (#​6280)
Changed
  • io: make copy cooperative (#​6265)
  • io: make repeat and sink cooperative (#​6254)
  • io: simplify check for empty slice (#​6293)
  • process: use pidfd on Linux when available (#​6152)
  • sync: use AtomicBool in broadcast channel future (#​6298)
Documented
  • io: clarify clear_ready docs (#​6304)
  • net: document that *Fd traits on TcpSocket are unix-only (#​6294)
  • sync: document FIFO behavior of tokio::sync::Mutex (#​6279)
  • chore: typographic improvements (#​6262)
  • runtime: remove obsolete comment (#​6303)
  • task: fix typo (#​6261)

v1.35.1: Tokio v1.35.1

Compare Source

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 (#​6221)

v1.35.0: Tokio v1.35.0

Compare Source

1.35.0 (December 8th, 2023)

Added
  • net: add Apple watchOS support (#​6176)
Changed
  • io: drop the Sized requirements from AsyncReadExt.read_buf (#​6169)
  • runtime: make Runtime unwind safe (#​6189)
  • runtime: reduce the lock contention in task spawn (#​6001)
  • tokio: update nix dependency to 0.27.1 (#​6190)
Fixed
  • chore: make --cfg docsrs work without net feature (#​6166)
  • chore: use relaxed load for unsync_load on miri (#​6179)
  • runtime: handle missing context on wake (#​6148)
  • taskdump: fix taskdump cargo config example (#​6150)
  • taskdump: skip notified tasks during taskdumps (#​6194)
  • tracing: avoid creating resource spans with current parent, use a None parent instead (#​6107)
  • tracing: make task span explicit root (#​6158)
Documented
  • io: flush in AsyncWriteExt examples (#​6149)
  • runtime: document fairness guarantees and current behavior (#​6145)
  • task: document cancel safety of LocalSet::run_until (#​6147)

v1.34.0: Tokio v1.34.0

Compare Source

Fixed
  • io: allow clear_readiness after io driver shutdown (#​6067)
  • io: fix integer overflow in take (#​6080)
  • io: fix I/O resource hang (#​6134)
  • sync: fix broadcast::channel link (#​6100)
Changed
  • macros: use ::core qualified imports instead of ::std inside tokio::test macro (#​5973)
Added
  • fs: update cfg attr in fs::read_dir to include aix (#​6075)
  • sync: add mpsc::Receiver::recv_many (#​6010)
  • tokio: added vita target support (#​6094)

v1.33.0: Tokio v1.33.0

Compare Source

1.33.0 (October 9, 2023)

Fixed
  • io: mark Interest::add with #[must_use] (#​6037)
  • runtime: fix cache line size for RISC-V (#​5994)
  • sync: prevent lock poisoning in watch::Receiver::wait_for (#​6021)
  • task: fix spawn_local source location (#​5984)
Changed
  • sync: use Acquire/Release orderings instead of SeqCst in watch (#​6018)
Added
  • fs: add vectored writes to tokio::fs::File (#​5958)
  • io: add Interest::remove method (#​5906)
  • io: add vectored writes to DuplexStream (#​5985)
  • net: add Apple tvOS support (#​6045)
  • sync: add ?Sized bound to {MutexGuard,OwnedMutexGuard}::map (#​5997)
  • sync: add watch::Receiver::mark_unseen (#​5962, #​6014, #​6017)
  • sync: add watch::Sender::new (#​5998)
  • sync: add const fn OnceCell::from_value (#​5903)
Removed
  • remove unused stats feature (#​5952)
Documented
Unstable
  • taskdump: fix potential deadlock (#​6036)

v1.32.1: Tokio v1.32.1

Compare Source

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 (#​6221)

v1.32.0: Tokio v1.32.0

Compare Source

Fixed
  • sync: fix potential quadratic behavior in broadcast::Receiver (#​5925)
Added
  • process: stabilize Command::raw_arg (#​5930)
  • io: enable awaiting error readiness (#​5781)
Unstable
  • rt(alt): improve the scalability of alt runtime as the number of cores grows (#​5935)

v1.31.0: Tokio v1.31.0

Compare Source

Fixed
  • io: delegate WriteHalf::poll_write_vectored (#​5914)
Unstable
  • rt(unstable): fix memory leak in unstable next-gen scheduler prototype (#​5911)
  • rt: expose mean task poll time metric (#​5927)

v1.30.0: Tokio v1.30.0

Compare Source

1.30.0 (August 9, 2023)

This release bumps the MSRV of Tokio to 1.63. (#​5887)

Changed
  • tokio: reduce LLVM code generation (#​5859)
  • io: support --cfg mio_unsupported_force_poll_poll flag (#​5881)
  • sync: make const_new methods always available (#​5885)
  • sync: avoid false sharing in mpsc channel (#​5829)
  • rt: pop at least one task from inject queue (#​5908)
Added
  • sync: add broadcast::Sender::new (#​5824)
  • net: implement UCred for espidf (#​5868)
  • fs: add File::options() (#​5869)
  • time: implement extra reset variants for Interval (#​5878)
  • process: add {ChildStd*}::into_owned_{fd, handle} (#​5899)
Removed
  • tokio: removed unused tokio_* cfgs (#​5890)
  • remove build script to speed up compilation (#​5887)
Documented
  • sync: mention lagging in docs for broadcast::send (#​5820)
  • runtime: expand on sharing runtime docs (#​5858)
  • io: use vec in example for AsyncReadExt::read_exact (#​5863)
  • time: mark Sleep as !Unpin in docs (#​5916)
  • process: fix raw_arg not showing up in docs (#​5865)
Unstable
  • rt: add runtime ID (#​5864)
  • rt: initial implementation of new threaded runtime (#​5823)

v1.29.1: Tokio v1.29.1

Compare Source

Fixed
  • rt: fix nesting two block_in_place with a block_on between (#​5837)

v1.29.0: Tokio v1.29.0

Compare Source

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 (#​5766)
Fixed
  • fs: reduce blocking ops in fs::read_dir (#​5653)
  • rt: fix possible starvation (#​5686, #​5712)
  • rt: fix stacked borrows issue in JoinSet (#​5693)
  • rt: panic if EnterGuard dropped incorrect order (#​5772)
  • time: do not overflow to signal value (#​5710)
  • fs: wait for in-flight ops before cloning File (#​5803)
Changed
  • rt: reduce time to poll tasks scheduled from outside the runtime (#​5705, #​5720)
Added
  • net: add uds doc alias for unix sockets (#​5659)
  • rt: add metric for number of tasks (#​5628)
  • sync: implement more traits for channel errors (#​5666)
  • net: add nodelay methods on TcpSocket (#​5672)
  • sync: add broadcast::Receiver::blocking_recv (#​5690)
  • process: add raw_arg method to Command (#​5704)
  • io: support PRIORITY epoll events (#​5566)
  • task: add JoinSet::poll_join_next (#​5721)
  • net: add support for Redox OS (#​5790)
Unstable

Configuration

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

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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) | workspace.dependencies | patch | `1.0.71` -> `1.0.98` | | [clap](https://github.com/clap-rs/clap) | workspace.dependencies | minor | `4.3.4` -> `4.5.41` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.28.2` -> `1.46.1` | --- > ⚠️ **Warning** > > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.98`](https://github.com/dtolnay/anyhow/releases/tag/1.0.98) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.97...1.0.98) - Add [`self.into_boxed_dyn_error()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.into_boxed_dyn_error) and [`self.reallocate_into_boxed_dyn_error_without_backtrace()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.reallocate_into_boxed_dyn_error_without_backtrace) methods for anyhow::Error ([#&#8203;415](https://github.com/dtolnay/anyhow/issues/415)) ### [`v1.0.97`](https://github.com/dtolnay/anyhow/releases/tag/1.0.97) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.96...1.0.97) - Documentation improvements ### [`v1.0.96`](https://github.com/dtolnay/anyhow/releases/tag/1.0.96) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.95...1.0.96) - Documentation improvements ### [`v1.0.95`](https://github.com/dtolnay/anyhow/releases/tag/1.0.95) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.94...1.0.95) - Add [`Error::from_boxed`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.from_boxed) ([#&#8203;401](https://github.com/dtolnay/anyhow/issues/401), [#&#8203;402](https://github.com/dtolnay/anyhow/issues/402)) ### [`v1.0.94`](https://github.com/dtolnay/anyhow/releases/tag/1.0.94) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.93...1.0.94) - Documentation improvements ### [`v1.0.93`](https://github.com/dtolnay/anyhow/releases/tag/1.0.93) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.92...1.0.93) - Update dev-dependencies to `thiserror` v2 ### [`v1.0.92`](https://github.com/dtolnay/anyhow/releases/tag/1.0.92) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.91...1.0.92) - Support Rust 1.82's `&raw const` and `&raw mut` syntax inside `ensure!` ([#&#8203;390](https://github.com/dtolnay/anyhow/issues/390)) ### [`v1.0.91`](https://github.com/dtolnay/anyhow/releases/tag/1.0.91) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.90...1.0.91) - Ensure OUT_DIR is left with deterministic contents after build script execution ([#&#8203;388](https://github.com/dtolnay/anyhow/issues/388)) ### [`v1.0.90`](https://github.com/dtolnay/anyhow/releases/tag/1.0.90) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.89...1.0.90) - Documentation improvements ### [`v1.0.89`](https://github.com/dtolnay/anyhow/releases/tag/1.0.89) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.88...1.0.89) - Make anyhow::Error's `UnwindSafe` and `RefUnwindSafe` impl consistently available between versions of Rust newer and older than 1.72 ([#&#8203;386](https://github.com/dtolnay/anyhow/issues/386)) ### [`v1.0.88`](https://github.com/dtolnay/anyhow/releases/tag/1.0.88) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.87...1.0.88) - Documentation improvements ### [`v1.0.87`](https://github.com/dtolnay/anyhow/releases/tag/1.0.87) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.86...1.0.87) - Support more APIs, including `Error::new` and `Error::chain`, in no-std mode on Rust 1.81+ ([#&#8203;383](https://github.com/dtolnay/anyhow/issues/383)) ### [`v1.0.86`](https://github.com/dtolnay/anyhow/releases/tag/1.0.86) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.85...1.0.86) - Fix parse error in `ensure!` with non-literal after minus sign ([#&#8203;373](https://github.com/dtolnay/anyhow/issues/373)) ### [`v1.0.85`](https://github.com/dtolnay/anyhow/releases/tag/1.0.85) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.84...1.0.85) - Improve `ensure!` macro's rules to unblock some rustc pretty-printer improvements ([#&#8203;368](https://github.com/dtolnay/anyhow/issues/368), [#&#8203;371](https://github.com/dtolnay/anyhow/issues/371)) ### [`v1.0.84`](https://github.com/dtolnay/anyhow/releases/tag/1.0.84) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.83...1.0.84) - Disallow calling `ensure!` through a `Not` impl for a type that is not `bool` ([#&#8203;367](https://github.com/dtolnay/anyhow/issues/367)) ### [`v1.0.83`](https://github.com/dtolnay/anyhow/releases/tag/1.0.83) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.82...1.0.83) - Integrate compile-time checking of cfgs ([#&#8203;363](https://github.com/dtolnay/anyhow/issues/363)) ### [`v1.0.82`](https://github.com/dtolnay/anyhow/releases/tag/1.0.82) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.81...1.0.82) - Documentation improvements ### [`v1.0.81`](https://github.com/dtolnay/anyhow/releases/tag/1.0.81) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.80...1.0.81) - Make backtrace support available when using -Dwarnings ([#&#8203;354](https://github.com/dtolnay/anyhow/issues/354)) ### [`v1.0.80`](https://github.com/dtolnay/anyhow/releases/tag/1.0.80) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.79...1.0.80) - Fix unused_imports warnings when compiled by rustc 1.78 ### [`v1.0.79`](https://github.com/dtolnay/anyhow/releases/tag/1.0.79) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.78...1.0.79) - Work around improperly cached build script result by sccache ([#&#8203;340](https://github.com/dtolnay/anyhow/issues/340)) ### [`v1.0.78`](https://github.com/dtolnay/anyhow/releases/tag/1.0.78) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.77...1.0.78) - Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain ([#&#8203;337](https://github.com/dtolnay/anyhow/issues/337)) ### [`v1.0.77`](https://github.com/dtolnay/anyhow/releases/tag/1.0.77) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.76...1.0.77) - Make `anyhow::Error::backtrace` available on stable Rust compilers 1.65+ ([#&#8203;293](https://github.com/dtolnay/anyhow/issues/293), thanks [@&#8203;LukasKalbertodt](https://github.com/LukasKalbertodt)) ### [`v1.0.76`](https://github.com/dtolnay/anyhow/releases/tag/1.0.76) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.75...1.0.76) - Opt in to `unsafe_op_in_unsafe_fn` lint ([#&#8203;329](https://github.com/dtolnay/anyhow/issues/329)) ### [`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>clap-rs/clap (clap)</summary> ### [`v4.5.41`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4541---2025-07-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.40...v4.5.41) ##### Features - Add `Styles::context` and `Styles::context_value` to customize the styling of `[default: value]` like notes in the `--help` ### [`v4.5.40`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4540---2025-06-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.39...v4.5.40) ##### Features - Support quoted ids in `arg!()` macro (e.g. `arg!("check-config": ...)`) ### [`v4.5.39`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4539---2025-05-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.38...v4.5.39) ##### Fixes - *(help)* Show short flag aliases before long - *(help)* Merge the short and long flag alias lists ### [`v4.5.38`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4538---2025-05-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.37...v4.5.38) ##### Fixes - *(help)* When showing aliases, include leading `--` or `-` ### [`v4.5.37`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4537---2025-04-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.36...v4.5.37) ##### Features - Added `ArgMatches::try_clear_id()` ### [`v4.5.36`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4536---2025-04-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.35...v4.5.36) ##### Fixes - *(help)* Revert 4.5.35's "Don't leave space for shorts if there are none" for now ### [`v4.5.35`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4535---2025-04-01) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.34...v4.5.35) ##### Fixes - *(help)* Align positionals and flags when put in the same `help_heading` - *(help)* Don't leave space for shorts if there are none ### [`v4.5.34`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4534---2025-03-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.33...v4.5.34) ##### Fixes - *(help)* Don't add extra blank lines with `flatten_help(true)` and subcommands without arguments ### [`v4.5.33`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4533---2025-03-26) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.32...v4.5.33) ##### Fixes - *(error)* When showing the usage of a suggestion for an unknown argument, don't show the group ### [`v4.5.32`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4532---2025-03-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.31...v4.5.32) ##### Features - Add `Error::remove` ##### Documentation - *(cookbook)* Switch from `humantime` to `jiff` - *(tutorial)* Better cover required vs optional ##### Internal - Update `pulldown-cmark` ### [`v4.5.31`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4531---2025-02-24) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.30...v4.5.31) ##### Features - Add `ValueParserFactory` for `Saturating<T>` ### [`v4.5.30`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4530---2025-02-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.29...v4.5.30) ##### Fixes - *(assert)* Allow `num_args(0..=1)` to be used with `SetTrue` - *(assert)* Clean up rendering of `takes_values` assertions ### [`v4.5.29`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4529---2025-02-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.28...v4.5.29) ##### Fixes - Change `ArgMatches::args_present` so not-present flags are considered not-present (matching the documentation) ### [`v4.5.28`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4528---2025-02-03) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.27...v4.5.28) ##### Features - *(derive)* Unstable support for full markdown syntax for doc comments, enabled with `unstable-markdown` ### [`v4.5.27`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4527---2025-01-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.26...v4.5.27) ##### Documentation - Iterate on tutorials and reference based on feedback ### [`v4.5.26`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4526---2025-01-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.25...v4.5.26) ##### Fixes - *(error)* Reduce binary size with the `suggestions` feature ### [`v4.5.25`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4525---2025-01-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.24...v4.5.25) ##### Fixes - *(help)* Reduce binary size ### [`v4.5.24`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4524---2025-01-07) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.23...v4.5.24) ##### Fixes - *(parser)* Correctly handle defaults with `ignore_errors(true)` and when a suggestion is provided for an unknown argument ### [`v4.5.23`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4523---2024-12-05) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.22...v4.5.23) ##### Fixes - *(parser)* When check `allow_negative_numbers`, allow `E` again ### [`v4.5.22`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4522---2024-12-03) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.21...v4.5.22) ##### Fixes - *(assert)* Catch bugs with arguments requiring themself ### [`v4.5.21`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4521---2024-11-13) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.20...v4.5.21) ##### Fixes - *(parser)* Ensure defaults are filled in on error with `ignore_errors(true)` ### [`v4.5.20`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4520---2024-10-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.19...v4.5.20) ##### Features - *(unstable)* Add `CommandExt` ### [`v4.5.19`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4519---2024-10-01) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.18...v4.5.19) ##### Internal - Update dependencies ### [`v4.5.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4518---2024-09-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.17...v4.5.18) ##### Features - *(builder)* Expose `Arg::get_display_order` and `Command::get_display_order` ### [`v4.5.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4517---2024-09-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.16...v4.5.17) ##### Fixes - *(help)* Style required argument groups - *(derive)* Improve error messages when unsupported fields are used ### [`v4.5.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4516---2024-08-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.15...v4.5.16) ##### Fixes - *(derive)* Improve error messages when `derive` feature is missing ### [`v4.5.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4515---2024-08-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.14...v4.5.15) ##### Compatiblity - *(unstable-ext)* `Arg::remove` changed return types ##### Fixes - *(unstable-ext)* Make `Arg::remove` return the removed item ### [`v4.5.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4514---2024-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.13...v4.5.14) ##### Features - *(unstable-ext)* Added `Arg::add` for attaching arbitrary state, like completion hints, to `Arg` without `Arg` knowing about it ### [`v4.5.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4513---2024-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.12...v4.5.13) ##### Fixes - *(derive)* Improve error message when `#[flatten]`ing an optional `#[group(skip)]` - *(help)* Properly wrap long subcommand descriptions in help ### [`v4.5.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4512---2024-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.11...v4.5.12) ### [`v4.5.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4511---2024-07-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.10...v4.5.11) ### [`v4.5.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4510---2024-07-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.9...v4.5.10) ### [`v4.5.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#459---2024-07-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.8...v4.5.9) ##### Fixes - *(error)* When defining a custom help flag, be sure to suggest it like we do the built-in one ### [`v4.5.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#458---2024-06-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.7...v4.5.8) ##### Fixes - Reduce extra flushes ### [`v4.5.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#457---2024-06-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.6...v4.5.7) ##### Fixes - Clean up error message when too few arguments for `num_args` ### [`v4.5.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#456---2024-06-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.5...v4.5.6) ### [`v4.5.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#455---2024-06-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.4...v4.5.5) ##### Fixes - Allow `exclusive` to override `required_unless_present`, `required_unless_present_any`, `required_unless_present_all` ### [`v4.5.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4541---2025-07-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.3...v4.5.4) ##### Features - Add `Styles::context` and `Styles::context_value` to customize the styling of `[default: value]` like notes in the `--help` ### [`v4.5.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4539---2025-05-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.2...v4.5.3) ##### Fixes - *(help)* Show short flag aliases before long - *(help)* Merge the short and long flag alias lists ### [`v4.5.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4529---2025-02-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.1...v4.5.2) ##### Fixes - Change `ArgMatches::args_present` so not-present flags are considered not-present (matching the documentation) ### [`v4.5.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4519---2024-10-01) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.0...v4.5.1) ##### Internal - Update dependencies ### [`v4.5.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#450---2024-02-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.18...v4.5.0) ##### Compatibility - Update MSRV to 1.74 ### [`v4.4.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4418---2024-01-16) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.17...v4.4.18) ##### Fixes - *(error)* When lacking `usage` feature, ensure the list of required arguments is unique ### [`v4.4.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4417---2024-01-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.16...v4.4.17) ##### Fixes - Fix `panic!` when mixing `args_conflicts_with_subcommands` with `ArgGroup` (which is implicit with `derive`) introduced in 4.4.15 ### [`v4.4.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4416---2024-01-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.15...v4.4.16) ##### Fixes - Ensure invalid escape sequences in user-defined strings are correctly stripped when terminal doesn't support color ### [`v4.4.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4415---2024-01-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.15) ##### Fixes - Improve error for `args_conflicts_with_subcommands` - Ensure we error for `args_conflicts_with_subcommands` when using subcommand short and long flags ### [`v4.4.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4414---2024-01-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.13...v4.4.14) ##### Documentation - Fix `find` cookbook entry to allow repeats of flags/options ##### Features - Allow `num_args(0)` on options which allows making them emulate being a flag for position-tracking flags ### [`v4.4.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4413---2024-01-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.12...v4.4.13) ##### Documentation - Fix link to structopt migration guide ### [`v4.4.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4412---2023-12-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.11...v4.4.12) ##### Performance - Only ask `TypedValueParser` for possible values if needed ### [`v4.4.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4411---2023-12-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.10...v4.4.11) ##### Features - Add `Command::mut_group` ### [`v4.4.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4410---2023-11-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.9...v4.4.10) ##### Documentation - Link out to changelog - Cross link derive's attribute reference to derive tutorial ### [`v4.4.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#449---2023-11-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.8...v4.4.9) ##### Fixes - *(help)* Show correct `Command::about` under flattened headings - *(help)* Respect `hide` when flattening subcommands ### [`v4.4.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#448---2023-11-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.7...v4.4.8) ##### Features - Add `Command::flatten_help` to allow `git stash -h` like help for subcommands ### [`v4.4.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#447---2023-10-24) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.7) ##### Performance - Reduced code size ### [`v4.4.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#446---2023-09-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.5...v4.4.6) ##### Internal - Upgrade `anstream` ### [`v4.4.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#445---2023-09-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.4...v4.4.5) ##### Fixes - *(parser)* When inferring subcommand `name` or `long_flag`, allow ambiguous-looking matches that unambiguously map back to the same command - *(parser)* When inferring subcommand `long_flag`, don't panic - *(assert)* Clarify what action is causing a positional that doesn't set values which is especially useful for derive users ### [`v4.4.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#444---2023-09-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.3...v4.4.4) ##### Internal - Update `terminal_size` to 0.3 ### [`v4.4.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#443---2023-09-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.2...v4.4.3) ##### Documentation - *(derive)* Clarify use of attributes within the tutorial - Split sections in the builder and derive tutorials into separate modules ### [`v4.4.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#442---2023-08-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.1...v4.4.2) ##### Performance - Improve build times by removing `once_cell` dependency ### [`v4.4.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4418---2024-01-16) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.0...v4.4.1) ##### Fixes - *(error)* When lacking `usage` feature, ensure the list of required arguments is unique ### [`v4.4.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#440---2023-08-24) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.24...v4.4.0) ##### compatibility - update msrv to 1.70.0 ### [`v4.3.24`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4324---2023-08-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.23...v4.3.24) ##### Fixes - Ensure column padding is preserved in `--help` with custom templates ### [`v4.3.23`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4323---2023-08-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.22...v4.3.23) ##### Fixes - Fixed `UnknownArgumentValueParser` to not error on flag's absence ### [`v4.3.22`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4322---2023-08-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.21...v4.3.22) ##### Features - Add `UnknownArgumentValueParser` for injecting errors for improving the experience with errors ### [`v4.3.21`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4321---2023-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.20...v4.3.21) ##### Features - Expose `TryMapValueParser` so the type can be named ### [`v4.3.20`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4320---2023-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.19...v4.3.20) ##### Features - `Command::mut_args` for modifying all arguments en masse ### [`v4.3.19`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4319---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.18...v4.3.19) ##### Fixes - *(parse)* Respect `value_terminator` even in the presence of later multiple-value positional arguments ### [`v4.3.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4318---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.17...v4.3.18) ##### Fixes - *(parse)* Suggest `--` in fewer places where it won't work ### [`v4.3.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4317---2023-07-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.16...v4.3.17) ##### Fixes - *(help)* Address a regression in wrapping `PossibleValue` descriptions in `--help` ### [`v4.3.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4316---2023-07-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.15...v4.3.16) ##### Fixes - Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists) ### [`v4.3.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4315---2023-07-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.14...v4.3.15) ##### Features - *(unstable-styles)* Re-export `anstyle` ##### Documentation - *(unstable-styles)* Provide more examples ### [`v4.3.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4314---2023-07-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.13...v4.3.14) ##### Features - `ArgAction::HelpShort` and `ArgAction::HelpLong` for explicitly specifying which style of help to display ##### Fixes - Skip `[OPTIONS]` in usage if a help or version `ArgAction` is used ### [`v4.3.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4313---2023-07-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.12...v4.3.13) ### [`v4.3.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4312---2023-07-14) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.11...v4.3.12) ##### Fixes - *(derive)* Don't error on enum variant field attributes ### [`v4.3.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4311---2023-07-05) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.10...v4.3.11) ##### Features - *(derive)* Support fields wrapped in `num::Wrapping`, `Box`, or `Arc` - *(derive)* Support `Box<str>`, `Box<OsStr>`, and `Box<Path>` ### [`v4.3.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4310---2023-06-30) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.9...v4.3.10) ##### Performance - Drop a dependency, reducing binary size by 1.3 KiB ### [`v4.3.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#439---2023-06-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.8...v4.3.9) ##### Fixes - `Command::ignore_errors` no longer masks help/version ### [`v4.3.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#438---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.7...v4.3.8) ##### Fixes - Error on ambiguity with `infer_long_arg`, rather than arbitrarily picking one, matching the documentation and subcommand's behavior ### [`v4.3.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#437---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.6...v4.3.7) ##### Documentation - Further clarify magic behavior in derive tutorial - Further clarify derive API's relationship to builder within the tutorial ### [`v4.3.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#436---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.5...v4.3.6) ##### Documentation - Suggest `clio` ### [`v4.3.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#435---2023-06-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.4...v4.3.5) - `ColorChoice::possible_values` is added to simplify things for builder users ##### Fixes - `ColorChoice::to_possible_value` no longer includes descriptions, encouraging shorter help where possible </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.46.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.46.1): Tokio v1.46.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.46.0...tokio-1.46.1) ### 1.46.1 (July 4th, 2025) This release fixes incorrect spawn locations in runtime task hooks for tasks spawned using `tokio::spawn` rather than `Runtime::spawn`. This issue only effected the spawn location in `TaskMeta::spawned_at`, and did not effect task locations in Tracing events. #### Unstable - runtime: add `TaskMeta::spawn_location` tracking where a task was spawned ([#&#8203;7440]) [#&#8203;7440]: https://github.com/tokio-rs/tokio/pull/7440 ### [`v1.46.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.46.0): Tokio v1.46.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.45.1...tokio-1.46.0) ### 1.46.0 (July 2nd, 2025) ##### Fixed - net: fixed `TcpStream::shutdown` incorrectly returning an error on macOS ([#&#8203;7290]) #### Added - sync: `mpsc::OwnedPermit::{same_channel, same_channel_as_sender}` methods ([#&#8203;7389]) - macros: `biased` option for `join!` and `try_join!`, similar to `select!` ([#&#8203;7307]) - net: support for cygwin ([#&#8203;7393]) - net: support `pope::OpenOptions::read_write` on Android ([#&#8203;7426]) - net: add `Clone` implementation for `net::unix::SocketAddr` ([#&#8203;7422]) #### Changed - runtime: eliminate unnecessary lfence while operating on `queue::Local<T>` ([#&#8203;7340]) - task: disallow blocking in `LocalSet::{poll,drop}` ([#&#8203;7372]) #### Unstable - runtime: add `TaskMeta::spawn_location` tracking where a task was spawned ([#&#8203;7417]) - runtime: removed borrow from `LocalOptions` parameter to `runtime::Builder::build_local` ([#&#8203;7346]) #### Documented - io: clarify behavior of seeking when `start_seek` is not used ([#&#8203;7366]) - io: document cancellation safety of `AsyncWriteExt::flush` ([#&#8203;7364]) - net: fix docs for `recv_buffer_size` method ([#&#8203;7336]) - net: fix broken link of `RawFd` in `TcpSocket` docs ([#&#8203;7416]) - net: update `AsRawFd` doc link to current Rust stdlib location ([#&#8203;7429]) - readme: fix double period in reactor description ([#&#8203;7363]) - runtime: add doc note that `on_*_task_poll` is unstable ([#&#8203;7311]) - sync: update broadcast docs on allocation failure ([#&#8203;7352]) - time: add a missing panic scenario of `time::advance` ([#&#8203;7394]) [#&#8203;7290]: https://github.com/tokio-rs/tokio/pull/7290 [#&#8203;7307]: https://github.com/tokio-rs/tokio/pull/7307 [#&#8203;7311]: https://github.com/tokio-rs/tokio/pull/7311 [#&#8203;7336]: https://github.com/tokio-rs/tokio/pull/7336 [#&#8203;7340]: https://github.com/tokio-rs/tokio/pull/7340 [#&#8203;7346]: https://github.com/tokio-rs/tokio/pull/7346 [#&#8203;7352]: https://github.com/tokio-rs/tokio/pull/7352 [#&#8203;7363]: https://github.com/tokio-rs/tokio/pull/7363 [#&#8203;7364]: https://github.com/tokio-rs/tokio/pull/7364 [#&#8203;7366]: https://github.com/tokio-rs/tokio/pull/7366 [#&#8203;7372]: https://github.com/tokio-rs/tokio/pull/7372 [#&#8203;7389]: https://github.com/tokio-rs/tokio/pull/7389 [#&#8203;7393]: https://github.com/tokio-rs/tokio/pull/7393 [#&#8203;7394]: https://github.com/tokio-rs/tokio/pull/7394 [#&#8203;7416]: https://github.com/tokio-rs/tokio/pull/7416 [#&#8203;7422]: https://github.com/tokio-rs/tokio/pull/7422 [#&#8203;7426]: https://github.com/tokio-rs/tokio/pull/7426 [#&#8203;7429]: https://github.com/tokio-rs/tokio/pull/7429 [#&#8203;7417]: https://github.com/tokio-rs/tokio/pull/7417 ### [`v1.45.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.45.1): Tokio v1.45.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.45.0...tokio-1.45.1) ### 1.45.1 (May 24th, 2025) This fixes a regression on the wasm32-unknown-unknown target, where code that previously did not panic due to calls to `Instant::now()` started failing. This is due to the stabilization of the first time-based metric. ##### Fixed - Disable time-based metrics on wasm32-unknown-unknown ([#&#8203;7322]) [#&#8203;7322]: https://github.com/tokio-rs/tokio/pull/7322 ### [`v1.45.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.45.0): Tokio v1.45.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.45.0) ##### Added - metrics: stabilize `worker_total_busy_duration`, `worker_park_count`, and `worker_unpark_count` ([#&#8203;6899], [#&#8203;7276]) - process: add `Command::spawn_with` ([#&#8203;7249]) ##### Changed - io: do not require `Unpin` for some trait impls ([#&#8203;7204]) - rt: mark `runtime::Handle` as unwind safe ([#&#8203;7230]) - time: revert internal sharding implementation ([#&#8203;7226]) ##### Unstable - rt: remove alt multi-threaded runtime ([#&#8203;7275]) [#&#8203;6899]: https://github.com/tokio-rs/tokio/pull/6899 [#&#8203;7276]: https://github.com/tokio-rs/tokio/pull/7276 [#&#8203;7249]: https://github.com/tokio-rs/tokio/pull/7249 [#&#8203;7204]: https://github.com/tokio-rs/tokio/pull/7204 [#&#8203;7230]: https://github.com/tokio-rs/tokio/pull/7230 [#&#8203;7226]: https://github.com/tokio-rs/tokio/pull/7226 [#&#8203;7275]: https://github.com/tokio-rs/tokio/pull/7275 ### [`v1.44.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.2): Tokio v1.44.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://github.com/tokio-rs/tokio/pull/7232 ### [`v1.44.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.1): Tokio v1.44.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.44.0...tokio-1.44.1) ### 1.44.1 (March 13th, 2025) ##### Fixed - rt: skip defer queue in `block_in_place` context ([#&#8203;7216]) [#&#8203;7216]: https://github.com/tokio-rs/tokio/pull/7216 ### [`v1.44.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.0): Tokio v1.44.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.43.1...tokio-1.44.0) ### 1.44.0 (March 7th, 2025) This release changes the `from_std` method on sockets to panic if a blocking socket is provided. We determined this change is not a breaking change as Tokio is not intended to operate using blocking sockets. Doing so results in runtime hangs and should be considered a bug. Accidentally passing a blocking socket to Tokio is one of the most common user mistakes. If this change causes an issue for you, please comment on [#&#8203;7172]. ##### Added - coop: add `task::coop` module ([#&#8203;7116]) - process: add `Command::get_kill_on_drop()` ([#&#8203;7086]) - sync: add `broadcast::Sender::closed` ([#&#8203;6685], [#&#8203;7090]) - sync: add `broadcast::WeakSender` ([#&#8203;7100]) - sync: add `oneshot::Receiver::is_empty()` ([#&#8203;7153]) - sync: add `oneshot::Receiver::is_terminated()` ([#&#8203;7152]) ##### Fixed - fs: empty reads on `File` should not start a background read ([#&#8203;7139]) - process: calling `start_kill` on exited child should not fail ([#&#8203;7160]) - signal: fix `CTRL_CLOSE`, `CTRL_LOGOFF`, `CTRL_SHUTDOWN` on windows ([#&#8203;7122]) - sync: properly handle panic during mpsc drop ([#&#8203;7094]) ##### Changes - runtime: clean up magic number in registration set ([#&#8203;7112]) - coop: make coop yield using waker defer strategy ([#&#8203;7185]) - macros: make `select!` budget-aware ([#&#8203;7164]) - net: panic when passing a blocking socket to `from_std` ([#&#8203;7166]) - io: clean up buffer casts ([#&#8203;7142]) ##### Changes to unstable APIs - rt: add before and after task poll callbacks ([#&#8203;7120]) - tracing: make the task tracing API unstable public ([#&#8203;6972]) ##### Documented - docs: fix nesting of sections in top-level docs ([#&#8203;7159]) - fs: rename symlink and hardlink parameter names ([#&#8203;7143]) - io: swap reader/writer in simplex doc test ([#&#8203;7176]) - macros: docs about `select!` alternatives ([#&#8203;7110]) - net: rename the argument for `send_to` ([#&#8203;7146]) - process: add example for reading `Child` stdout ([#&#8203;7141]) - process: clarify `Child::kill` behavior ([#&#8203;7162]) - process: fix grammar of the `ChildStdin` struct doc comment ([#&#8203;7192]) - runtime: consistently use `worker_threads` instead of `core_threads` ([#&#8203;7186]) [#&#8203;6685]: https://github.com/tokio-rs/tokio/pull/6685 [#&#8203;6972]: https://github.com/tokio-rs/tokio/pull/6972 [#&#8203;7086]: https://github.com/tokio-rs/tokio/pull/7086 [#&#8203;7090]: https://github.com/tokio-rs/tokio/pull/7090 [#&#8203;7094]: https://github.com/tokio-rs/tokio/pull/7094 [#&#8203;7100]: https://github.com/tokio-rs/tokio/pull/7100 [#&#8203;7110]: https://github.com/tokio-rs/tokio/pull/7110 [#&#8203;7112]: https://github.com/tokio-rs/tokio/pull/7112 [#&#8203;7116]: https://github.com/tokio-rs/tokio/pull/7116 [#&#8203;7120]: https://github.com/tokio-rs/tokio/pull/7120 [#&#8203;7122]: https://github.com/tokio-rs/tokio/pull/7122 [#&#8203;7139]: https://github.com/tokio-rs/tokio/pull/7139 [#&#8203;7141]: https://github.com/tokio-rs/tokio/pull/7141 [#&#8203;7142]: https://github.com/tokio-rs/tokio/pull/7142 [#&#8203;7143]: https://github.com/tokio-rs/tokio/pull/7143 [#&#8203;7146]: https://github.com/tokio-rs/tokio/pull/7146 [#&#8203;7152]: https://github.com/tokio-rs/tokio/pull/7152 [#&#8203;7153]: https://github.com/tokio-rs/tokio/pull/7153 [#&#8203;7159]: https://github.com/tokio-rs/tokio/pull/7159 [#&#8203;7160]: https://github.com/tokio-rs/tokio/pull/7160 [#&#8203;7162]: https://github.com/tokio-rs/tokio/pull/7162 [#&#8203;7164]: https://github.com/tokio-rs/tokio/pull/7164 [#&#8203;7166]: https://github.com/tokio-rs/tokio/pull/7166 [#&#8203;7172]: https://github.com/tokio-rs/tokio/pull/7172 [#&#8203;7176]: https://github.com/tokio-rs/tokio/pull/7176 [#&#8203;7185]: https://github.com/tokio-rs/tokio/pull/7185 [#&#8203;7186]: https://github.com/tokio-rs/tokio/pull/7186 [#&#8203;7192]: https://github.com/tokio-rs/tokio/pull/7192 ### [`v1.43.1`](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.43.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.43.1) ### [`v1.43.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.43.0): Tokio v1.43.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.42.1...tokio-1.43.0) ### 1.43.0 (Jan 8th, 2025) ##### Added - net: add `UdpSocket::peek` methods ([#&#8203;7068]) - net: add support for Haiku OS ([#&#8203;7042]) - process: add `Command::into_std()` ([#&#8203;7014]) - signal: add `SignalKind::info` on illumos ([#&#8203;6995]) - signal: add support for realtime signals on illumos ([#&#8203;7029]) ##### Fixed - io: don't call `set_len` before initializing vector in `Blocking` ([#&#8203;7054]) - macros: suppress `clippy::needless_return` in `#[tokio::main]` ([#&#8203;6874]) - runtime: fix thread parking on WebAssembly ([#&#8203;7041]) ##### Changes - chore: use unsync loads for `unsync_load` ([#&#8203;7073]) - io: use `Buf::put_bytes` in `Repeat` read impl ([#&#8203;7055]) - task: drop the join waker of a task eagerly ([#&#8203;6986]) ##### Changes to unstable APIs - metrics: improve flexibility of H2Histogram Configuration ([#&#8203;6963]) - taskdump: add accessor methods for backtrace ([#&#8203;6975]) ##### Documented - io: clarify `ReadBuf::uninit` allows initialized buffers as well ([#&#8203;7053]) - net: fix ambiguity in `TcpStream::try_write_vectored` docs ([#&#8203;7067]) - runtime: fix `LocalRuntime` doc links ([#&#8203;7074]) - sync: extend documentation for `watch::Receiver::wait_for` ([#&#8203;7038]) - sync: fix typos in `OnceCell` docs ([#&#8203;7047]) [#&#8203;6874]: https://github.com/tokio-rs/tokio/pull/6874 [#&#8203;6963]: https://github.com/tokio-rs/tokio/pull/6963 [#&#8203;6975]: https://github.com/tokio-rs/tokio/pull/6975 [#&#8203;6986]: https://github.com/tokio-rs/tokio/pull/6986 [#&#8203;6995]: https://github.com/tokio-rs/tokio/pull/6995 [#&#8203;7014]: https://github.com/tokio-rs/tokio/pull/7014 [#&#8203;7029]: https://github.com/tokio-rs/tokio/pull/7029 [#&#8203;7038]: https://github.com/tokio-rs/tokio/pull/7038 [#&#8203;7041]: https://github.com/tokio-rs/tokio/pull/7041 [#&#8203;7042]: https://github.com/tokio-rs/tokio/pull/7042 [#&#8203;7047]: https://github.com/tokio-rs/tokio/pull/7047 [#&#8203;7053]: https://github.com/tokio-rs/tokio/pull/7053 [#&#8203;7054]: https://github.com/tokio-rs/tokio/pull/7054 [#&#8203;7055]: https://github.com/tokio-rs/tokio/pull/7055 [#&#8203;7067]: https://github.com/tokio-rs/tokio/pull/7067 [#&#8203;7068]: https://github.com/tokio-rs/tokio/pull/7068 [#&#8203;7073]: https://github.com/tokio-rs/tokio/pull/7073 [#&#8203;7074]: https://github.com/tokio-rs/tokio/pull/7074 ### [`v1.42.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.42.1): Tokio v1.42.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.42.0...tokio-1.42.1) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://github.com/tokio-rs/tokio/pull/7232 ### [`v1.42.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.42.0): Tokio v1.42.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.41.1...tokio-1.42.0) ### 1.42.0 (Dec 3rd, 2024) ##### Added - io: add `AsyncFd::{try_io, try_io_mut}` ([#&#8203;6967]) ##### Fixed - io: avoid `ptr->ref->ptr` roundtrip in RegistrationSet ([#&#8203;6929]) - runtime: do not defer `yield_now` inside `block_in_place` ([#&#8203;6999]) ##### Changes - io: simplify io readiness logic ([#&#8203;6966]) ##### Documented - net: fix docs for `tokio::net::unix::{pid_t, gid_t, uid_t}` ([#&#8203;6791]) - time: fix a typo in `Instant` docs ([#&#8203;6982]) [#&#8203;6791]: https://github.com/tokio-rs/tokio/pull/6791 [#&#8203;6929]: https://github.com/tokio-rs/tokio/pull/6929 [#&#8203;6966]: https://github.com/tokio-rs/tokio/pull/6966 [#&#8203;6967]: https://github.com/tokio-rs/tokio/pull/6967 [#&#8203;6982]: https://github.com/tokio-rs/tokio/pull/6982 [#&#8203;6999]: https://github.com/tokio-rs/tokio/pull/6999 ### [`v1.41.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.41.1): Tokio v1.41.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.41.0...tokio-1.41.1) ### 1.41.1 (Nov 7th, 2024) ##### Fixed - metrics: fix bug with wrong number of buckets for the histogram ([#&#8203;6957]) - net: display `net` requirement for `net::UdpSocket` in docs ([#&#8203;6938]) - net: fix typo in `TcpStream` internal comment ([#&#8203;6944]) [#&#8203;6957]: https://github.com/tokio-rs/tokio/pull/6957 [#&#8203;6938]: https://github.com/tokio-rs/tokio/pull/6938 [#&#8203;6944]: https://github.com/tokio-rs/tokio/pull/6944 ### [`v1.41.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.41.0): Tokio v1.41.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.0) ### 1.41.0 (Oct 22th, 2024) ##### Added - metrics: stabilize `global_queue_depth` ([#&#8203;6854], [#&#8203;6918]) - net: add conversions for unix `SocketAddr` ([#&#8203;6868]) - sync: add `watch::Sender::sender_count` ([#&#8203;6836]) - sync: add `mpsc::Receiver::blocking_recv_many` ([#&#8203;6867]) - task: stabilize `Id` apis ([#&#8203;6793], [#&#8203;6891]) ##### Added (unstable) - metrics: add H2 Histogram option to improve histogram granularity ([#&#8203;6897]) - metrics: rename some histogram apis ([#&#8203;6924]) - runtime: add `LocalRuntime` ([#&#8203;6808]) ##### Changed - runtime: box futures larger than 16k on release mode ([#&#8203;6826]) - sync: add `#[must_use]` to `Notified` ([#&#8203;6828]) - sync: make `watch` cooperative ([#&#8203;6846]) - sync: make `broadcast::Receiver` cooperative ([#&#8203;6870]) - task: add task size to tracing instrumentation ([#&#8203;6881]) - wasm: enable `cfg_fs` for `wasi` target ([#&#8203;6822]) ##### Fixed - net: fix regression of abstract socket path in unix socket ([#&#8203;6838]) ##### Documented - io: recommend `OwnedFd` with `AsyncFd` ([#&#8203;6821]) - io: document cancel safety of `AsyncFd` methods ([#&#8203;6890]) - macros: render more comprehensible documentation for `join` and `try_join` ([#&#8203;6814], [#&#8203;6841]) - net: fix swapped examples for `TcpSocket::set_nodelay` and `TcpSocket::nodelay` ([#&#8203;6840]) - sync: document runtime compatibility ([#&#8203;6833]) [#&#8203;6793]: https://github.com/tokio-rs/tokio/pull/6793 [#&#8203;6808]: https://github.com/tokio-rs/tokio/pull/6808 [#&#8203;6810]: https://github.com/tokio-rs/tokio/pull/6810 [#&#8203;6814]: https://github.com/tokio-rs/tokio/pull/6814 [#&#8203;6821]: https://github.com/tokio-rs/tokio/pull/6821 [#&#8203;6822]: https://github.com/tokio-rs/tokio/pull/6822 [#&#8203;6826]: https://github.com/tokio-rs/tokio/pull/6826 [#&#8203;6828]: https://github.com/tokio-rs/tokio/pull/6828 [#&#8203;6833]: https://github.com/tokio-rs/tokio/pull/6833 [#&#8203;6836]: https://github.com/tokio-rs/tokio/pull/6836 [#&#8203;6838]: https://github.com/tokio-rs/tokio/pull/6838 [#&#8203;6840]: https://github.com/tokio-rs/tokio/pull/6840 [#&#8203;6841]: https://github.com/tokio-rs/tokio/pull/6841 [#&#8203;6846]: https://github.com/tokio-rs/tokio/pull/6846 [#&#8203;6854]: https://github.com/tokio-rs/tokio/pull/6854 [#&#8203;6867]: https://github.com/tokio-rs/tokio/pull/6867 [#&#8203;6868]: https://github.com/tokio-rs/tokio/pull/6868 [#&#8203;6870]: https://github.com/tokio-rs/tokio/pull/6870 [#&#8203;6881]: https://github.com/tokio-rs/tokio/pull/6881 [#&#8203;6890]: https://github.com/tokio-rs/tokio/pull/6890 [#&#8203;6891]: https://github.com/tokio-rs/tokio/pull/6891 [#&#8203;6897]: https://github.com/tokio-rs/tokio/pull/6897 [#&#8203;6918]: https://github.com/tokio-rs/tokio/pull/6918 [#&#8203;6924]: https://github.com/tokio-rs/tokio/pull/6924 ### [`v1.40.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.40.0): Tokio v1.40.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.3...tokio-1.40.0) ### 1.40.0 (August 30th, 2024) ##### Added - io: add `util::SimplexStream` ([#&#8203;6589]) - process: stabilize `Command::process_group` ([#&#8203;6731]) - sync: add `{TrySendError,SendTimeoutError}::into_inner` ([#&#8203;6755]) - task: add `JoinSet::join_all` ([#&#8203;6784]) ##### Added (unstable) - runtime: add `Builder::{on_task_spawn, on_task_terminate}` ([#&#8203;6742]) ##### Changed - io: use vectored io for `write_all_buf` when possible ([#&#8203;6724]) - runtime: prevent niche-optimization to avoid triggering miri ([#&#8203;6744]) - sync: mark mpsc types as `UnwindSafe` ([#&#8203;6783]) - sync,time: make `Sleep` and `BatchSemaphore` instrumentation explicit roots ([#&#8203;6727]) - task: use `NonZeroU64` for `task::Id` ([#&#8203;6733]) - task: include panic message when printing `JoinError` ([#&#8203;6753]) - task: add `#[must_use]` to `JoinHandle::abort_handle` ([#&#8203;6762]) - time: eliminate timer wheel allocations ([#&#8203;6779]) ##### Documented - docs: clarify that `[build]` section doesn't go in Cargo.toml ([#&#8203;6728]) - io: clarify zero remaining capacity case ([#&#8203;6790]) - macros: improve documentation for `select!` ([#&#8203;6774]) - sync: document mpsc channel allocation behavior ([#&#8203;6773]) [#&#8203;6589]: https://github.com/tokio-rs/tokio/pull/6589 [#&#8203;6724]: https://github.com/tokio-rs/tokio/pull/6724 [#&#8203;6727]: https://github.com/tokio-rs/tokio/pull/6727 [#&#8203;6728]: https://github.com/tokio-rs/tokio/pull/6728 [#&#8203;6731]: https://github.com/tokio-rs/tokio/pull/6731 [#&#8203;6733]: https://github.com/tokio-rs/tokio/pull/6733 [#&#8203;6742]: https://github.com/tokio-rs/tokio/pull/6742 [#&#8203;6744]: https://github.com/tokio-rs/tokio/pull/6744 [#&#8203;6753]: https://github.com/tokio-rs/tokio/pull/6753 [#&#8203;6755]: https://github.com/tokio-rs/tokio/pull/6755 [#&#8203;6762]: https://github.com/tokio-rs/tokio/pull/6762 [#&#8203;6773]: https://github.com/tokio-rs/tokio/pull/6773 [#&#8203;6774]: https://github.com/tokio-rs/tokio/pull/6774 [#&#8203;6779]: https://github.com/tokio-rs/tokio/pull/6779 [#&#8203;6783]: https://github.com/tokio-rs/tokio/pull/6783 [#&#8203;6784]: https://github.com/tokio-rs/tokio/pull/6784 [#&#8203;6790]: https://github.com/tokio-rs/tokio/pull/6790 ### [`v1.39.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.3): Tokio v1.39.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.2...tokio-1.39.3) ### 1.39.3 (August 17th, 2024) This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. ([#&#8203;6772]) [#&#8203;6772]: https://github.com/tokio-rs/tokio/pull/6772 ### [`v1.39.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.2): Tokio v1.39.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.1...tokio-1.39.2) ### 1.39.2 (July 27th, 2024) This release fixes a regression where the `select!` macro stopped accepting expressions that make use of temporary lifetime extension. ([#&#8203;6722]) [#&#8203;6722]: https://github.com/tokio-rs/tokio/pull/6722 ### [`v1.39.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.1): Tokio v1.39.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.0...tokio-1.39.1) ### 1.39.1 (July 23rd, 2024) This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. ([#&#8203;6715]) [#&#8203;6715]: https://github.com/tokio-rs/tokio/pull/6715 ### [`v1.39.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.0): Tokio v1.39.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.2...tokio-1.39.0) ### 1.39.0 (July 23rd, 2024) - This release bumps the MSRV to 1.70. ([#&#8203;6645]) - This release upgrades to mio v1. ([#&#8203;6635]) - This release upgrades to windows-sys v0.52 ([#&#8203;6154]) ##### Added - io: implement `AsyncSeek` for `Empty` ([#&#8203;6663]) - metrics: stabilize `num_alive_tasks` ([#&#8203;6619], [#&#8203;6667]) - process: add `Command::as_std_mut` ([#&#8203;6608]) - sync: add `watch::Sender::same_channel` ([#&#8203;6637]) - sync: add `{Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count}` ([#&#8203;6661]) - sync: implement `Default` for `watch::Sender` ([#&#8203;6626]) - task: implement `Clone` for `AbortHandle` ([#&#8203;6621]) - task: stabilize `consume_budget` ([#&#8203;6622]) ##### Changed - io: improve panic message of `ReadBuf::put_slice()` ([#&#8203;6629]) - io: read during write in `copy_bidirectional` and `copy` ([#&#8203;6532]) - runtime: replace `num_cpus` with `available_parallelism` ([#&#8203;6709]) - task: avoid stack overflow when passing large future to `block_on` ([#&#8203;6692]) - time: avoid traversing entries in the time wheel twice ([#&#8203;6584]) - time: support `IntoFuture` with `timeout` ([#&#8203;6666]) - macros: support `IntoFuture` with `join!` and `select!` ([#&#8203;6710]) ##### Fixed - docs: fix docsrs builds with the fs feature enabled ([#&#8203;6585]) - io: only use short-read optimization on known-to-be-compatible platforms ([#&#8203;6668]) - time: fix overflow panic when using large durations with `Interval` ([#&#8203;6612]) ##### Added (unstable) - macros: allow `unhandled_panic` behavior for `#[tokio::main]` and `#[tokio::test]` ([#&#8203;6593]) - metrics: add `spawned_tasks_count` ([#&#8203;6114]) - metrics: add `worker_park_unpark_count` ([#&#8203;6696]) - metrics: add worker thread id ([#&#8203;6695]) ##### Documented - io: update `tokio::io::stdout` documentation ([#&#8203;6674]) - macros: typo fix in `join.rs` and `try_join.rs` ([#&#8203;6641]) - runtime: fix typo in `unhandled_panic` ([#&#8203;6660]) - task: document behavior of `JoinSet::try_join_next` when all tasks are running ([#&#8203;6671]) [#&#8203;6114]: https://github.com/tokio-rs/tokio/pull/6114 [#&#8203;6154]: https://github.com/tokio-rs/tokio/pull/6154 [#&#8203;6532]: https://github.com/tokio-rs/tokio/pull/6532 [#&#8203;6584]: https://github.com/tokio-rs/tokio/pull/6584 [#&#8203;6585]: https://github.com/tokio-rs/tokio/pull/6585 [#&#8203;6593]: https://github.com/tokio-rs/tokio/pull/6593 [#&#8203;6608]: https://github.com/tokio-rs/tokio/pull/6608 [#&#8203;6612]: https://github.com/tokio-rs/tokio/pull/6612 [#&#8203;6619]: https://github.com/tokio-rs/tokio/pull/6619 [#&#8203;6621]: https://github.com/tokio-rs/tokio/pull/6621 [#&#8203;6622]: https://github.com/tokio-rs/tokio/pull/6622 [#&#8203;6626]: https://github.com/tokio-rs/tokio/pull/6626 [#&#8203;6629]: https://github.com/tokio-rs/tokio/pull/6629 [#&#8203;6635]: https://github.com/tokio-rs/tokio/pull/6635 [#&#8203;6637]: https://github.com/tokio-rs/tokio/pull/6637 [#&#8203;6641]: https://github.com/tokio-rs/tokio/pull/6641 [#&#8203;6645]: https://github.com/tokio-rs/tokio/pull/6645 [#&#8203;6660]: https://github.com/tokio-rs/tokio/pull/6660 [#&#8203;6661]: https://github.com/tokio-rs/tokio/pull/6661 [#&#8203;6663]: https://github.com/tokio-rs/tokio/pull/6663 [#&#8203;6666]: https://github.com/tokio-rs/tokio/pull/6666 [#&#8203;6667]: https://github.com/tokio-rs/tokio/pull/6667 [#&#8203;6668]: https://github.com/tokio-rs/tokio/pull/6668 [#&#8203;6671]: https://github.com/tokio-rs/tokio/pull/6671 [#&#8203;6674]: https://github.com/tokio-rs/tokio/pull/6674 [#&#8203;6692]: https://github.com/tokio-rs/tokio/pull/6692 [#&#8203;6695]: https://github.com/tokio-rs/tokio/pull/6695 [#&#8203;6696]: https://github.com/tokio-rs/tokio/pull/6696 [#&#8203;6709]: https://github.com/tokio-rs/tokio/pull/6709 [#&#8203;6710]: https://github.com/tokio-rs/tokio/pull/6710 ### [`v1.38.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.2): Tokio v1.38.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.1...tokio-1.38.2) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://github.com/tokio-rs/tokio/pull/7232 ### [`v1.38.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.1): Tokio v1.38.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.0...tokio-1.38.1) ### 1.38.1 (July 16th, 2024) This release fixes the bug identified as ([#&#8203;6682]), which caused timers not to fire when they should. ##### Fixed - time: update `wake_up` while holding all the locks of sharded time wheels ([#&#8203;6683]) [#&#8203;6682]: https://github.com/tokio-rs/tokio/pull/6682 [#&#8203;6683]: https://github.com/tokio-rs/tokio/pull/6683 ### [`v1.38.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.0): Tokio v1.38.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.37.0...tokio-1.38.0) This release marks the beginning of stabilization for runtime metrics. It stabilizes `RuntimeMetrics::worker_count`. Future releases will continue to stabilize more metrics. ##### Added - fs: add `File::create_new` ([#&#8203;6573]) - io: add `copy_bidirectional_with_sizes` ([#&#8203;6500]) - io: implement `AsyncBufRead` for `Join` ([#&#8203;6449]) - net: add Apple visionOS support ([#&#8203;6465]) - net: implement `Clone` for `NamedPipeInfo` ([#&#8203;6586]) - net: support QNX OS ([#&#8203;6421]) - sync: add `Notify::notify_last` ([#&#8203;6520]) - sync: add `mpsc::Receiver::{capacity,max_capacity}` ([#&#8203;6511]) - sync: add `split` method to the semaphore permit ([#&#8203;6472], [#&#8203;6478]) - task: add `tokio::task::join_set::Builder::spawn_blocking` ([#&#8203;6578]) - wasm: support rt-multi-thread with wasm32-wasi-preview1-threads ([#&#8203;6510]) ##### Changed - macros: make `#[tokio::test]` append `#[test]` at the end of the attribute list ([#&#8203;6497]) - metrics: fix `blocking_threads` count ([#&#8203;6551]) - metrics: stabilize `RuntimeMetrics::worker_count` ([#&#8203;6556]) - runtime: move task out of the `lifo_slot` in `block_in_place` ([#&#8203;6596]) - runtime: panic if `global_queue_interval` is zero ([#&#8203;6445]) - sync: always drop message in destructor for oneshot receiver ([#&#8203;6558]) - sync: instrument `Semaphore` for task dumps ([#&#8203;6499]) - sync: use FIFO ordering when waking batches of wakers ([#&#8203;6521]) - task: make `LocalKey::get` work with Clone types ([#&#8203;6433]) - tests: update nix and mio-aio dev-dependencies ([#&#8203;6552]) - time: clean up implementation ([#&#8203;6517]) - time: lazily init timers on first poll ([#&#8203;6512]) - time: remove the `true_when` field in `TimerShared` ([#&#8203;6563]) - time: use sharding for timer implementation ([#&#8203;6534]) ##### Fixed - taskdump: allow building taskdump docs on non-unix machines ([#&#8203;6564]) - time: check for overflow in `Interval::poll_tick` ([#&#8203;6487]) - sync: fix incorrect `is_empty` on mpsc block boundaries ([#&#8203;6603]) ##### Documented - fs: rewrite file system docs ([#&#8203;6467]) - io: fix `stdin` documentation ([#&#8203;6581]) - io: fix obsolete reference in `ReadHalf::unsplit()` documentation ([#&#8203;6498]) - macros: render more comprehensible documentation for `select!` ([#&#8203;6468]) - net: add missing types to module docs ([#&#8203;6482]) - net: fix misleading `NamedPipeServer` example ([#&#8203;6590]) - sync: add examples for `SemaphorePermit`, `OwnedSemaphorePermit` ([#&#8203;6477]) - sync: document that `Barrier::wait` is not cancel safe ([#&#8203;6494]) - sync: explain relation between `watch::Sender::{subscribe,closed}` ([#&#8203;6490]) - task: clarify that you can't abort `spawn_blocking` tasks ([#&#8203;6571]) - task: fix a typo in doc of `LocalSet::run_until` ([#&#8203;6599]) - time: fix test-util requirement for pause and resume in docs ([#&#8203;6503]) [#&#8203;6421]: https://github.com/tokio-rs/tokio/pull/6421 [#&#8203;6433]: https://github.com/tokio-rs/tokio/pull/6433 [#&#8203;6445]: https://github.com/tokio-rs/tokio/pull/6445 [#&#8203;6449]: https://github.com/tokio-rs/tokio/pull/6449 [#&#8203;6465]: https://github.com/tokio-rs/tokio/pull/6465 [#&#8203;6467]: https://github.com/tokio-rs/tokio/pull/6467 [#&#8203;6468]: https://github.com/tokio-rs/tokio/pull/6468 [#&#8203;6472]: https://github.com/tokio-rs/tokio/pull/6472 [#&#8203;6477]: https://github.com/tokio-rs/tokio/pull/6477 [#&#8203;6478]: https://github.com/tokio-rs/tokio/pull/6478 [#&#8203;6482]: https://github.com/tokio-rs/tokio/pull/6482 [#&#8203;6487]: https://github.com/tokio-rs/tokio/pull/6487 [#&#8203;6490]: https://github.com/tokio-rs/tokio/pull/6490 [#&#8203;6494]: https://github.com/tokio-rs/tokio/pull/6494 [#&#8203;6497]: https://github.com/tokio-rs/tokio/pull/6497 [#&#8203;6498]: https://github.com/tokio-rs/tokio/pull/6498 [#&#8203;6499]: https://github.com/tokio-rs/tokio/pull/6499 [#&#8203;6500]: https://github.com/tokio-rs/tokio/pull/6500 [#&#8203;6503]: https://github.com/tokio-rs/tokio/pull/6503 [#&#8203;6510]: https://github.com/tokio-rs/tokio/pull/6510 [#&#8203;6511]: https://github.com/tokio-rs/tokio/pull/6511 [#&#8203;6512]: https://github.com/tokio-rs/tokio/pull/6512 [#&#8203;6517]: https://github.com/tokio-rs/tokio/pull/6517 [#&#8203;6520]: https://github.com/tokio-rs/tokio/pull/6520 [#&#8203;6521]: https://github.com/tokio-rs/tokio/pull/6521 [#&#8203;6534]: https://github.com/tokio-rs/tokio/pull/6534 [#&#8203;6551]: https://github.com/tokio-rs/tokio/pull/6551 [#&#8203;6552]: https://github.com/tokio-rs/tokio/pull/6552 [#&#8203;6556]: https://github.com/tokio-rs/tokio/pull/6556 [#&#8203;6558]: https://github.com/tokio-rs/tokio/pull/6558 [#&#8203;6563]: https://github.com/tokio-rs/tokio/pull/6563 [#&#8203;6564]: https://github.com/tokio-rs/tokio/pull/6564 [#&#8203;6571]: https://github.com/tokio-rs/tokio/pull/6571 [#&#8203;6573]: https://github.com/tokio-rs/tokio/pull/6573 [#&#8203;6578]: https://github.com/tokio-rs/tokio/pull/6578 [#&#8203;6581]: https://github.com/tokio-rs/tokio/pull/6581 [#&#8203;6586]: https://github.com/tokio-rs/tokio/pull/6586 [#&#8203;6590]: https://github.com/tokio-rs/tokio/pull/6590 [#&#8203;6596]: https://github.com/tokio-rs/tokio/pull/6596 [#&#8203;6599]: https://github.com/tokio-rs/tokio/pull/6599 [#&#8203;6603]: https://github.com/tokio-rs/tokio/pull/6603 ### [`v1.37.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.37.0): Tokio v1.37.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0) ### 1.37.0 (March 28th, 2024) ##### Added - fs: add `set_max_buf_size` to `tokio::fs::File` ([#&#8203;6411]) - io: add `try_new` and `try_with_interest` to `AsyncFd` ([#&#8203;6345]) - sync: add `forget_permits` method to semaphore ([#&#8203;6331]) - sync: add `is_closed`, `is_empty`, and `len` to mpsc receivers ([#&#8203;6348]) - sync: add a `rwlock()` method to owned `RwLock` guards ([#&#8203;6418]) - sync: expose strong and weak counts of mpsc sender handles ([#&#8203;6405]) - sync: implement `Clone` for `watch::Sender` ([#&#8203;6388]) - task: add `TaskLocalFuture::take_value` ([#&#8203;6340]) - task: implement `FromIterator` for `JoinSet` ([#&#8203;6300]) ##### Changed - io: make `io::split` use a mutex instead of a spinlock ([#&#8203;6403]) ##### Fixed - docs: fix docsrs build without net feature ([#&#8203;6360]) - macros: allow select with only else branch ([#&#8203;6339]) - runtime: fix leaking registration entries when os registration fails ([#&#8203;6329]) ##### Documented - io: document cancel safety of `AsyncBufReadExt::fill_buf` ([#&#8203;6431]) - io: document cancel safety of `AsyncReadExt`'s primitive read functions ([#&#8203;6337]) - runtime: add doc link from `Runtime` to `#[tokio::main]` ([#&#8203;6366]) - runtime: make the `enter` example deterministic ([#&#8203;6351]) - sync: add Semaphore example for limiting the number of outgoing requests ([#&#8203;6419]) - sync: fix missing period in broadcast docs ([#&#8203;6377]) - sync: mark `mpsc::Sender::downgrade` with `#[must_use]` ([#&#8203;6326]) - sync: reorder `const_new` before `new_with` ([#&#8203;6392]) - sync: update watch channel docs ([#&#8203;6395]) - task: fix documentation links ([#&#8203;6336]) ##### Changed (unstable) - runtime: include task `Id` in taskdumps ([#&#8203;6328]) - runtime: panic if `unhandled_panic` is enabled when not supported ([#&#8203;6410]) [#&#8203;6300]: https://github.com/tokio-rs/tokio/pull/6300 [#&#8203;6326]: https://github.com/tokio-rs/tokio/pull/6326 [#&#8203;6328]: https://github.com/tokio-rs/tokio/pull/6328 [#&#8203;6329]: https://github.com/tokio-rs/tokio/pull/6329 [#&#8203;6331]: https://github.com/tokio-rs/tokio/pull/6331 [#&#8203;6336]: https://github.com/tokio-rs/tokio/pull/6336 [#&#8203;6337]: https://github.com/tokio-rs/tokio/pull/6337 [#&#8203;6339]: https://github.com/tokio-rs/tokio/pull/6339 [#&#8203;6340]: https://github.com/tokio-rs/tokio/pull/6340 [#&#8203;6345]: https://github.com/tokio-rs/tokio/pull/6345 [#&#8203;6348]: https://github.com/tokio-rs/tokio/pull/6348 [#&#8203;6351]: https://github.com/tokio-rs/tokio/pull/6351 [#&#8203;6360]: https://github.com/tokio-rs/tokio/pull/6360 [#&#8203;6366]: https://github.com/tokio-rs/tokio/pull/6366 [#&#8203;6377]: https://github.com/tokio-rs/tokio/pull/6377 [#&#8203;6388]: https://github.com/tokio-rs/tokio/pull/6388 [#&#8203;6392]: https://github.com/tokio-rs/tokio/pull/6392 [#&#8203;6395]: https://github.com/tokio-rs/tokio/pull/6395 [#&#8203;6403]: https://github.com/tokio-rs/tokio/pull/6403 [#&#8203;6405]: https://github.com/tokio-rs/tokio/pull/6405 [#&#8203;6410]: https://github.com/tokio-rs/tokio/pull/6410 [#&#8203;6411]: https://github.com/tokio-rs/tokio/pull/6411 [#&#8203;6418]: https://github.com/tokio-rs/tokio/pull/6418 [#&#8203;6419]: https://github.com/tokio-rs/tokio/pull/6419 [#&#8203;6431]: https://github.com/tokio-rs/tokio/pull/6431 ### [`v1.36.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.36.0): Tokio v1.36.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.35.1...tokio-1.36.0) ### 1.36.0 (February 2nd, 2024) ##### Added - io: add `tokio::io::Join` ([#&#8203;6220]) - io: implement `AsyncWrite` for `Empty` ([#&#8203;6235]) - net: add support for anonymous unix pipes ([#&#8203;6127]) - net: add `UnixSocket` ([#&#8203;6290]) - net: expose keepalive option on `TcpSocket` ([#&#8203;6311]) - sync: add `{Receiver,UnboundedReceiver}::poll_recv_many` ([#&#8203;6236]) - sync: add `Sender::{try_,}reserve_many` ([#&#8203;6205]) - sync: add `watch::Receiver::mark_unchanged` ([#&#8203;6252]) - task: add `JoinSet::try_join_next` ([#&#8203;6280]) ##### Changed - io: make `copy` cooperative ([#&#8203;6265]) - io: make `repeat` and `sink` cooperative ([#&#8203;6254]) - io: simplify check for empty slice ([#&#8203;6293]) - process: use pidfd on Linux when available ([#&#8203;6152]) - sync: use AtomicBool in broadcast channel future ([#&#8203;6298]) ##### Documented - io: clarify `clear_ready` docs ([#&#8203;6304]) - net: document that `*Fd` traits on `TcpSocket` are unix-only ([#&#8203;6294]) - sync: document FIFO behavior of `tokio::sync::Mutex` ([#&#8203;6279]) - chore: typographic improvements ([#&#8203;6262]) - runtime: remove obsolete comment ([#&#8203;6303]) - task: fix typo ([#&#8203;6261]) [#&#8203;6220]: https://github.com/tokio-rs/tokio/pull/6220 [#&#8203;6235]: https://github.com/tokio-rs/tokio/pull/6235 [#&#8203;6127]: https://github.com/tokio-rs/tokio/pull/6127 [#&#8203;6290]: https://github.com/tokio-rs/tokio/pull/6290 [#&#8203;6311]: https://github.com/tokio-rs/tokio/pull/6311 [#&#8203;6236]: https://github.com/tokio-rs/tokio/pull/6236 [#&#8203;6205]: https://github.com/tokio-rs/tokio/pull/6205 [#&#8203;6252]: https://github.com/tokio-rs/tokio/pull/6252 [#&#8203;6280]: https://github.com/tokio-rs/tokio/pull/6280 [#&#8203;6265]: https://github.com/tokio-rs/tokio/pull/6265 [#&#8203;6254]: https://github.com/tokio-rs/tokio/pull/6254 [#&#8203;6293]: https://github.com/tokio-rs/tokio/pull/6293 [#&#8203;6238]: https://github.com/tokio-rs/tokio/pull/6238 [#&#8203;6152]: https://github.com/tokio-rs/tokio/pull/6152 [#&#8203;6298]: https://github.com/tokio-rs/tokio/pull/6298 [#&#8203;6262]: https://github.com/tokio-rs/tokio/pull/6262 [#&#8203;6303]: https://github.com/tokio-rs/tokio/pull/6303 [#&#8203;6261]: https://github.com/tokio-rs/tokio/pull/6261 [#&#8203;6304]: https://github.com/tokio-rs/tokio/pull/6304 [#&#8203;6294]: https://github.com/tokio-rs/tokio/pull/6294 [#&#8203;6279]: https://github.com/tokio-rs/tokio/pull/6279 ### [`v1.35.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.35.1): Tokio v1.35.1 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/6221 ### [`v1.35.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.35.0): Tokio v1.35.0 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/6001 [#&#8203;6107]: https://github.com/tokio-rs/tokio/pull/6107 [#&#8203;6144]: https://github.com/tokio-rs/tokio/pull/6144 [#&#8203;6145]: https://github.com/tokio-rs/tokio/pull/6145 [#&#8203;6147]: https://github.com/tokio-rs/tokio/pull/6147 [#&#8203;6148]: https://github.com/tokio-rs/tokio/pull/6148 [#&#8203;6149]: https://github.com/tokio-rs/tokio/pull/6149 [#&#8203;6150]: https://github.com/tokio-rs/tokio/pull/6150 [#&#8203;6158]: https://github.com/tokio-rs/tokio/pull/6158 [#&#8203;6166]: https://github.com/tokio-rs/tokio/pull/6166 [#&#8203;6169]: https://github.com/tokio-rs/tokio/pull/6169 [#&#8203;6176]: https://github.com/tokio-rs/tokio/pull/6176 [#&#8203;6179]: https://github.com/tokio-rs/tokio/pull/6179 [#&#8203;6189]: https://github.com/tokio-rs/tokio/pull/6189 [#&#8203;6190]: https://github.com/tokio-rs/tokio/pull/6190 [#&#8203;6194]: https://github.com/tokio-rs/tokio/pull/6194 ### [`v1.34.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.34.0): Tokio v1.34.0 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/5973 [#&#8203;6067]: https://github.com/tokio-rs/tokio/pull/6067 [#&#8203;6080]: https://github.com/tokio-rs/tokio/pull/6080 [#&#8203;6134]: https://github.com/tokio-rs/tokio/pull/6134 [#&#8203;6100]: https://github.com/tokio-rs/tokio/pull/6100 [#&#8203;6075]: https://github.com/tokio-rs/tokio/pull/6075 [#&#8203;6010]: https://github.com/tokio-rs/tokio/pull/6010 [#&#8203;6094]: https://github.com/tokio-rs/tokio/pull/6094 ### [`v1.33.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.33.0): Tokio v1.33.0 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/5903 [#&#8203;5906]: https://github.com/tokio-rs/tokio/pull/5906 [#&#8203;5938]: https://github.com/tokio-rs/tokio/pull/5938 [#&#8203;5939]: https://github.com/tokio-rs/tokio/pull/5939 [#&#8203;5947]: https://github.com/tokio-rs/tokio/pull/5947 [#&#8203;5952]: https://github.com/tokio-rs/tokio/pull/5952 [#&#8203;5954]: https://github.com/tokio-rs/tokio/pull/5954 [#&#8203;5956]: https://github.com/tokio-rs/tokio/pull/5956 [#&#8203;5958]: https://github.com/tokio-rs/tokio/pull/5958 [#&#8203;5960]: https://github.com/tokio-rs/tokio/pull/5960 [#&#8203;5962]: https://github.com/tokio-rs/tokio/pull/5962 [#&#8203;5971]: https://github.com/tokio-rs/tokio/pull/5971 [#&#8203;5972]: https://github.com/tokio-rs/tokio/pull/5972 [#&#8203;5977]: https://github.com/tokio-rs/tokio/pull/5977 [#&#8203;5978]: https://github.com/tokio-rs/tokio/pull/5978 [#&#8203;5984]: https://github.com/tokio-rs/tokio/pull/5984 [#&#8203;5985]: https://github.com/tokio-rs/tokio/pull/5985 [#&#8203;5988]: https://github.com/tokio-rs/tokio/pull/5988 [#&#8203;5994]: https://github.com/tokio-rs/tokio/pull/5994 [#&#8203;5997]: https://github.com/tokio-rs/tokio/pull/5997 [#&#8203;5998]: https://github.com/tokio-rs/tokio/pull/5998 [#&#8203;6002]: https://github.com/tokio-rs/tokio/pull/6002 [#&#8203;6014]: https://github.com/tokio-rs/tokio/pull/6014 [#&#8203;6017]: https://github.com/tokio-rs/tokio/pull/6017 [#&#8203;6018]: https://github.com/tokio-rs/tokio/pull/6018 [#&#8203;6021]: https://github.com/tokio-rs/tokio/pull/6021 [#&#8203;6030]: https://github.com/tokio-rs/tokio/pull/6030 [#&#8203;6031]: https://github.com/tokio-rs/tokio/pull/6031 [#&#8203;6032]: https://github.com/tokio-rs/tokio/pull/6032 [#&#8203;6036]: https://github.com/tokio-rs/tokio/pull/6036 [#&#8203;6037]: https://github.com/tokio-rs/tokio/pull/6037 [#&#8203;6042]: https://github.com/tokio-rs/tokio/pull/6042 [#&#8203;6045]: https://github.com/tokio-rs/tokio/pull/6045 [#&#8203;6050]: https://github.com/tokio-rs/tokio/pull/6050 [#&#8203;6056]: https://github.com/tokio-rs/tokio/pull/6056 [#&#8203;6058]: https://github.com/tokio-rs/tokio/pull/6058 ### [`v1.32.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.32.1): Tokio v1.32.1 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/6221 ### [`v1.32.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.32.0): Tokio v1.32.0 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/5925 [#&#8203;5930]: https://github.com/tokio-rs/tokio/pull/5930 [#&#8203;5781]: https://github.com/tokio-rs/tokio/pull/5781 [#&#8203;5935]: https://github.com/tokio-rs/tokio/pull/5935 ### [`v1.31.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.31.0): Tokio v1.31.0 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/5914 [#&#8203;5911]: https://github.com/tokio-rs/tokio/pull/5911 [#&#8203;5927]: https://github.com/tokio-rs/tokio/pull/5927 ### [`v1.30.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.30.0): Tokio v1.30.0 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/5820 [#&#8203;5823]: https://github.com/tokio-rs/tokio/pull/5823 [#&#8203;5824]: https://github.com/tokio-rs/tokio/pull/5824 [#&#8203;5829]: https://github.com/tokio-rs/tokio/pull/5829 [#&#8203;5858]: https://github.com/tokio-rs/tokio/pull/5858 [#&#8203;5859]: https://github.com/tokio-rs/tokio/pull/5859 [#&#8203;5863]: https://github.com/tokio-rs/tokio/pull/5863 [#&#8203;5864]: https://github.com/tokio-rs/tokio/pull/5864 [#&#8203;5865]: https://github.com/tokio-rs/tokio/pull/5865 [#&#8203;5868]: https://github.com/tokio-rs/tokio/pull/5868 [#&#8203;5869]: https://github.com/tokio-rs/tokio/pull/5869 [#&#8203;5878]: https://github.com/tokio-rs/tokio/pull/5878 [#&#8203;5881]: https://github.com/tokio-rs/tokio/pull/5881 [#&#8203;5885]: https://github.com/tokio-rs/tokio/pull/5885 [#&#8203;5887]: https://github.com/tokio-rs/tokio/pull/5887 [#&#8203;5890]: https://github.com/tokio-rs/tokio/pull/5890 [#&#8203;5899]: https://github.com/tokio-rs/tokio/pull/5899 [#&#8203;5908]: https://github.com/tokio-rs/tokio/pull/5908 [#&#8203;5916]: https://github.com/tokio-rs/tokio/pull/5916 ### [`v1.29.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.29.1): Tokio v1.29.1 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/5837 ### [`v1.29.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.29.0): Tokio v1.29.0 [Compare Source](https://github.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://github.com/tokio-rs/tokio/pull/5766 [#&#8203;5653]: https://github.com/tokio-rs/tokio/pull/5653 [#&#8203;5686]: https://github.com/tokio-rs/tokio/pull/5686 [#&#8203;5712]: https://github.com/tokio-rs/tokio/pull/5712 [#&#8203;5693]: https://github.com/tokio-rs/tokio/pull/5693 [#&#8203;5772]: https://github.com/tokio-rs/tokio/pull/5772 [#&#8203;5710]: https://github.com/tokio-rs/tokio/pull/5710 [#&#8203;5803]: https://github.com/tokio-rs/tokio/pull/5803 [#&#8203;5705]: https://github.com/tokio-rs/tokio/pull/5705 [#&#8203;5720]: https://github.com/tokio-rs/tokio/pull/5720 [#&#8203;5659]: https://github.com/tokio-rs/tokio/pull/5659 [#&#8203;5628]: https://github.com/tokio-rs/tokio/pull/5628 [#&#8203;5666]: https://github.com/tokio-rs/tokio/pull/5666 [#&#8203;5672]: https://github.com/tokio-rs/tokio/pull/5672 [#&#8203;5690]: https://github.com/tokio-rs/tokio/pull/5690 [#&#8203;5704]: https://github.com/tokio-rs/tokio/pull/5704 [#&#8203;5566]: https://github.com/tokio-rs/tokio/pull/5566 [#&#8203;5721]: https://github.com/tokio-rs/tokio/pull/5721 [#&#8203;5790]: https://github.com/tokio-rs/tokio/pull/5790 [#&#8203;5608]: https://github.com/tokio-rs/tokio/pull/5608 [#&#8203;5676]: https://github.com/tokio-rs/tokio/pull/5676 [#&#8203;5708]: https://github.com/tokio-rs/tokio/pull/5708 [#&#8203;5717]: https://github.com/tokio-rs/tokio/pull/5717 [#&#8203;5685]: https://github.com/tokio-rs/tokio/pull/5685 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
kjuulh added 1 commit 2025-07-26 02:42:12 +02:00
kjuulh scheduled this pull request to auto merge when all checks succeed 2025-07-26 02:42:12 +02:00
kjuulh merged commit 335c5d9439 into main 2025-07-26 02:42:14 +02:00
kjuulh deleted branch renovate/all 2025-07-26 02:42:14 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kjuulh/noil#1
No description provided.