Update all non-major dependencies #13

Open
andras wants to merge 1 commit from renovate/all into main
Owner

This PR contains the following updates:

Package Type Update Change
anyhow dependencies patch 1.0.98 → 1.0.104
chrono dependencies patch 0.4.41 → 0.4.45
clap dependencies minor 4.5.41 → 4.6.7
cron dependencies minor 0.12 → 0.17
public.ecr.aws/docker/library/alpine (source) final minor 3.21.8 → 3.24.3
public.ecr.aws/docker/library/rust (source) stage minor 1.85.1-alpine → 1.99.1-alpine
regex dependencies minor 1.11.1 → 1.13.1
reqwest dependencies minor 0.12 → 0.13
semver dependencies patch 1.0.26 → 1.0.28
serde (source) dependencies patch 1.0.219 → 1.0.229
serde_json dependencies patch 1.0.140 → 1.0.154
tempfile (source) dev-dependencies minor 3.20.0 → 3.27.0
tokio (source) dev-dependencies minor 1.46.1 → 1.54.1
tokio (source) dependencies minor 1.46.1 → 1.54.1
tracing (source) dependencies patch 0.1.41 → 0.1.44
tracing-subscriber (source) dependencies patch 0.3.19 → 0.3.23

Release Notes

dtolnay/anyhow (anyhow)

v1.0.104

Compare Source

  • Update syn dev-dependency to version 3

v1.0.103

Compare Source

  • Fix Stacked Borrows violation (UB) in Error::downcast_mut (#​451, #​452)

v1.0.102

Compare Source

v1.0.101

Compare Source

v1.0.100

Compare Source

  • Teach clippy to lint formatting arguments in bail!, ensure!, anyhow! (#​426)

v1.0.99

Compare Source

  • Allow build-script cleanup failure with NFSv3 output directory to be non-fatal (#​420)
chronotope/chrono (chrono)

v0.4.45: 0.4.45

Compare Source

What's Changed

v0.4.44: 0.4.44

Compare Source

What's Changed

v0.4.43: 0.4.43

Compare Source

What's Changed

v0.4.42: 0.4.42

Compare Source

What's Changed

clap-rs/clap (clap)

v4.6.7

Compare Source

Features
  • (derive) Add #[command(defer = <bool>)] attribute to opt-in to lazy initialisation of subcommands

v4.6.6

Compare Source

Features
  • Add Command::get_overridden_usage

v4.6.5

Compare Source

Fixes
  • (help) Correctly mark which value_names are optional with num_args

v4.6.4

Compare Source

Internal
  • Update to syn v3

v4.6.3

Compare Source

Fixes
  • (derive) Allow "literal".function() as attribute values

v4.6.2

Compare Source

Fixes
  • (help) Say alias when there is only one

v4.6.1

Compare Source

Fixes
  • (derive) Ensure rebuilds happen when an read env variable is changed

v4.6.0

Compare Source

Compatibility
  • Update MSRV to 1.85

v4.5.61

Compare Source

Internal
  • Update dependencies

v4.5.60

Compare Source

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

v4.5.59

Compare Source

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

v4.5.58

Compare Source

v4.5.57

Compare Source

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

v4.5.56

Compare Source

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

v4.5.55

Compare Source

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

v4.5.54

Compare Source

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

v4.5.53

Compare Source

Features
  • Add default_values_if, default_values_ifs

v4.5.52

Compare Source

Fixes
  • Don't panic when args_conflicts_with_subcommands conflicts with an ArgGroup

v4.5.51

Compare Source

Fixes
  • (help) Correctly calculate padding for short flags that take a value
  • (help) Don't panic on short flags using ArgAction::Count

v4.5.50

Compare Source

Features
  • Accept Cow where String and &str are accepted

v4.5.49

Compare Source

Fixes
  • (help) Correctly wrap when ANSI escape codes are present

v4.5.48

Compare Source

Documentation
  • Add a new CLI Concepts document as another way of framing clap
  • Expand the typed_derive cookbook entry

v4.5.47

Compare Source

Features
  • Added impl FromArgMatches for ()
  • Added impl Args for ()
  • Added impl Subcommand for ()
  • Added impl FromArgMatches for Infallible
  • Added impl Subcommand for Infallible
Fixes
  • (derive) Update runtime error text to match clap

v4.5.46

Compare Source

Features
  • Expose StyledStr::push_str

v4.5.45

Compare Source

Fixes
  • (unstable-v5) ValueEnum variants now use the full doc comment, not summary, for PossibleValue::help

v4.5.44

Compare Source

Features
  • Add Command::mut_subcommands

v4.5.43

Compare Source

Fixes
  • (help) In long help, list Possible Values before defaults, rather than after, for a more consistent look

v4.5.42

Compare Source

Fixes
  • Include subcommand visible long aliases in --help
zslayton/cron (cron)

v0.15.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/zslayton/cron/compare/v0.14.0...v0.15.0

v0.14.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/zslayton/cron/compare/v0.13.0...v0.14.0

v0.13.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/zslayton/cron/compare/v0.12.1...v0.13.0

rust-lang/regex (regex)

v1.13.1

Compare Source

===================
This is a release that fixes a bug where incorrect regex match offsets could be
reported. Note that this doesn't impact whether a match occurs or not, just
where it occurs. The match offsets are still valid for slicing, they just may
not refer to the correct leftmost-first match. See
#​1364 for (many) more details.

Bug fixes:

  • #​1354:
    Fixes previously unsound reverse suffix and inner optimizations.

v1.13.0

Compare Source

===================
This release includes a new API, a regex! macro, for lazy compilation of
a regex from a string literal. If you use regexes a lot, it's likely you've
already written one exactly like it. The new macro can be used like this:

use regex::regex;

fn is_match(line: &str) -> bool {
    // The regex will be compiled approximately once and reused automatically.
    // This avoids the footgun of using `Regex::new` here, which would
    // guarantee that it would be compiled every time this routine is called.
    // This would likely make this routine much slower than it needs to be.
    regex!(r"bar|baz").is_match(line)
}

let hay = "\
path/to/foo:54:Blue Harvest
path/to/bar:90:Something, Something, Something, Dark Side
path/to/baz:3:It's a Trap!
";

let matches = hay.lines().filter(|line| is_match(line)).count();
assert_eq!(matches, 2);

Improvements:

  • #​709:
    Add a new regex! macro for efficient and automatic reuse of a compiled regex.

v1.12.4

Compare Source

===================
This release includes a performance optimization for compilation of regexes
with very large character classes.

Improvements:

  • #​1308:
    Avoid re-canonicalizing the entire interval set when pushing new class ranges.

v1.12.3

Compare Source

===================
This release excludes some unnecessary things from the archive published to
crates.io. Specifically, fuzzing data and various shell scripts are now
excluded. If you run into problems, please file an issue.

Improvements:

  • #​1319:
    Switch from a Cargo exclude list to an include list, and exclude some
    unnecessary stuff.

v1.12.2

Compare Source

===================
This release fixes a cargo doc breakage on nightly when --cfg docsrs is
enabled. This caused documentation to fail to build on docs.rs.

Bug fixes:

  • BUG #​1305:
    Switches the doc_auto_cfg feature to doc_cfg on nightly for docs.rs builds.

v1.12.1

Compare Source

===================
This release makes a bug fix in the new regex::Captures::get_match API
introduced in 1.12.0. There was an oversight with the lifetime parameter
for the Match returned. This is technically a breaking change, but given
that it was caught almost immediately and I've yanked the 1.12.0 release,
I think this is fine.

v1.12.0

Compare Source

===================
This release contains a smattering of bug fixes, a fix for excessive memory
consumption in some cases and a new regex::Captures::get_match API.

Improvements:

  • FEATURE #​1146:
    Add Capture::get_match for returning the overall match without unwrap().

Bug fixes:

  • BUG #​1083:
    Fixes a panic in the lazy DFA (can only occur for especially large regexes).
  • BUG #​1116:
    Fixes a memory usage regression for large regexes (introduced in regex 1.9).
  • BUG #​1195:
    Fix universal start states in sparse DFA.
  • BUG #​1295:
    Fixes a panic when deserializing a corrupted dense DFA.
  • BUG 8f5d9479:
    Make regex_automata::meta::Regex::find consistently return None when
    WhichCaptures::None is used.

v1.11.3

Compare Source

===================
This is a small patch release with an improvement in memory usage in some
cases.

Improvements:

  • BUG #​1297:
    Improve memory usage by trimming excess memory capacity in some spots.

v1.11.2

Compare Source

===================
This is a new patch release of regex with some minor fixes. A larger number
of typo or lint fix patches were merged. Also, we now finally recommend using
std::sync::LazyLock.

Improvements:

  • BUG #​1217:
    Switch recommendation from once_cell to std::sync::LazyLock.
  • BUG #​1225:
    Add DFA::set_prefilter to regex-automata.

Bug fixes:

  • BUG #​1165:
    Remove std dependency from perf-literal-multisubstring crate feature.
  • BUG #​1165:
    Clarify the meaning of (?R)$ in the documentation.
  • BUG #​1281:
    Remove fuzz/ and record/ directories from published crate on crates.io.
seanmonstar/reqwest (reqwest)

v0.13.5

Compare Source

  • Add Error::is_dns() to identify errors caused by DNS resolution failures.
  • Add ClientBuilder::http1_max_headers(usize) to configure the maximum number of headers accepted in an HTTP/1 response (default 100).
  • Add TLS version to TlsInfo extension.
  • Fix hickory-dns feature to use Ipv6AndIpv4 strategy to prefer IPv6.
  • Fix sending wrong proxy-auth if multiple proxies intercept a given URL.

v0.13.4

Compare Source

  • Add ClientBuilder::tls_sslkeylogfile(bool) option to allow using the related environment variable.
  • Add ClientBuilder::http2_keep_alive_* options for the blocking client.
  • Add TLS 1.3 support when using native-tls backend.
  • Fix redirect handling to strip sensitive headers when the scheme changes.
  • Fix HTTP/3 happy-eyeball connection creation.
  • Upgrade hickory-resolver to 0.26.

v0.13.3

Compare Source

  • Fix CertificateRevocationList parsing of PEM values.
  • Fix logging in resolver to only show host, not full URL.
  • Fix hickory-dns to fallback to a default if /etc/resolv.conf fails.
  • Fix HTTP/3 to handle STOP_SENDING as not an error.
  • Fix HTTP/3 pool to remove timed out QUIC connections.
  • Fix HTTP/3 connection establishment picking IPv4 and IPv6.
  • Upgrade rustls-platform-verifier.
  • (wasm) Only use wasm-bindgen on unknown-* targets.

v0.13.2

Compare Source

  • Fix HTTP/2 and native-tls ALPN feature combinations.
  • Fix HTTP/3 to send h3 ALPN.
  • (wasm) fix RequestBuilder::json() from override previously set content-type.

v0.13.1

Compare Source

  • Fixes compiling with rustls on Android targets.

v0.13.0

Compare Source

  • Breaking changes:
    • rustls is now the default TLS backend, instead of native-tls.
    • rustls crypto provider defaults to aws-lc instead of ring. (rustls-no-provider exists if you want a different crypto provider)
    • rustls-tls has been renamed to rustls.
    • rustls roots features removed, rustls-platform-verifier is used by default.
      • To use different roots, call tls_certs_only(your_roots).
    • native-tls now includes ALPN. To disable, use native-tls-no-alpn.
    • query and form are now crate features, disabled by default.
    • Long-deprecated methods and crate features have been removed (such as trust-dns, which was renamed hickory-dns a while ago).
  • Many TLS-related methods renamed to improve autocompletion and discovery, but previous name left in place with a "soft" deprecation. (just documented, no warnings)
    • For example, prefer tls_backend_rustls() over use_rustls_tls().

v0.12.28

  • Fix compiling on Windows if TLS and SOCKS features are not enabled.

v0.12.27

  • Add ClientBuilder::windows_named_pipe(name) option that will force all requests over that Windows Named Piper.

v0.12.26

  • Fix sending Accept-Encoding header only with values configured with reqwest, regardless of underlying tower-http config.

v0.12.25

  • Add Error::is_upgrade() to determine if the error was from an HTTP upgrade.
  • Fix sending Proxy-Authorization if only username is configured.
  • Fix sending Proxy-Authorization to HTTPS proxies when the target is HTTP.
  • Refactor internal decompression handling to use tower-http.

v0.12.24

  • Refactor cookie handling to an internal middleware.
  • Refactor internal random generator.
  • Refactor base64 encoding to reduce a copy.
  • Documentation updates.

v0.12.23

  • Add ClientBuilder::unix_socket(path) option that will force all requests over that Unix Domain Socket.
  • Add ClientBuilder::retry(policy) and reqwest::retry::Builder to configure automatic retries.
  • Add ClientBuilder::dns_resolver2() with more ergonomic argument bounds, allowing more resolver implementations.
  • Add http3_* options to blocking::ClientBuilder.
  • Fix default TCP timeout values to enabled and faster.
  • Fix SOCKS proxies to default to port 1080
  • (wasm) Add cache methods to RequestBuilder.

v0.12.22

  • Fix socks proxies when resolving IPv6 destinations.

v0.12.21

  • Fix socks proxy to use socks4a:// instead of socks4h://.
  • Fix Error::is_timeout() to check for hyper and IO timeouts too.
  • Fix request Error to again include URLs when possible.
  • Fix socks connect error to include more context.
  • (wasm) implement Default for Body.

v0.12.20

  • Add ClientBuilder::tcp_user_timeout(Duration) option to set TCP_USER_TIMEOUT.
  • Fix proxy headers only using the first matched proxy.
  • (wasm) Fix re-adding Error::is_status().

v0.12.19

  • Fix redirect that changes the method to GET should remove payload headers.
  • Fix redirect to only check the next scheme if the policy action is to follow.
  • (wasm) Fix compilation error if cookies feature is enabled (by the way, it's a noop feature in wasm).

v0.12.18

  • Fix compilation when socks enabled without TLS.

v0.12.17

  • Fix compilation on macOS.

v0.12.16

  • Add ClientBuilder::http3_congestion_bbr() to enable BBR congestion control.
  • Add ClientBuilder::http3_send_grease() to configure whether to send use QUIC grease.
  • Add ClientBuilder::http3_max_field_section_size() to configure the maximum response headers.
  • Add ClientBuilder::tcp_keepalive_interval() to configure TCP probe interval.
  • Add ClientBuilder::tcp_keepalive_retries() to configure TCP probe count.
  • Add Proxy::headers() to add extra headers that should be sent to a proxy.
  • Fix redirect::Policy::limit() which had an off-by-1 error, allowing 1 more redirect than specified.
  • Fix HTTP/3 to support streaming request bodies.
  • (wasm) Fix null bodies when calling Response::bytes_stream().

v0.12.15

  • Fix Windows to support both ProxyOverride and NO_PROXY.
  • Fix http3 to support streaming response bodies.
  • Fix http3 dependency from public API misuse.

v0.12.14

  • Fix missing fetch_mode_no_cors(), marking as deprecated when not on WASM.

v0.12.13

  • Add Form::into_reader() for blocking multipart forms.
  • Add Form::into_stream() for async multipart forms.
  • Add support for SOCKS4a proxies.
  • Fix decoding responses with multiple zstd frames.
  • Fix RequestBuilder::form() from overwriting a previously set Content-Type header, like the other builder methods.
  • Fix cloning of request timeout in blocking::Request.
  • Fix http3 synchronization of connection creation, reducing unneccesary extra connections.
  • Fix Windows system proxy to use ProxyOverride as a NO_PROXY value.
  • Fix blocking read to correctly reserve and zero read buffer.
  • (wasm) Add support for request timeouts.
  • (wasm) Fix Error::is_timeout() to return true when from a request timeout.

v0.12.12

  • (wasm) Fix compilation by not compiler tokio/time on WASM.

v0.12.11

  • Fix decompression returning an error when HTTP/2 ends with an empty data frame.

v0.12.10

  • Add ClientBuilder::connector_layer() to allow customizing the connector stack.
  • Add ClientBuilder::http2_max_header_list_size() option.
  • Fix propagating body size hint (content-length) information when wrapping bodies.
  • Fix decompression of chunked bodies so the connections can be reused more often.

v0.12.9

  • Add tls::CertificateRevocationLists support.
  • Add crate features to enable webpki roots without selecting a rustls provider.
  • Fix connection_verbose() to output read logs.
  • Fix multipart::Part::file() to automatically include content-length.
  • Fix proxy to internally no longer cache system proxy settings.

v0.12.8

  • Add support for SOCKS4 proxies.
  • Add multipart::Form::file() method for adding files easily.
  • Add Body::wrap() to wrap any http_body::Body type.
  • Fix the pool configuration to use a timer to remove expired connections.

v0.12.7

  • Revert adding impl Service<http::Request<_>> for Client.

v0.12.6

  • Add support for danger_accept_invalid_hostnames for rustls.
  • Add impl Service<http::Request<Body>> for Client and &'_ Client.
  • Add support for !Sync bodies in Body::wrap_stream().
  • Enable happy eyeballs when hickory-dns is used.
  • Fix Proxy so that HTTP(S)_PROXY values take precedence over ALL_PROXY.
  • Fix blocking::RequestBuilder::header() from unsetting sensitive on passed header values.

v0.12.5

  • Add blocking::ClientBuilder::dns_resolver() method to change DNS resolver in blocking client.
  • Add http3 feature back, still requiring reqwest_unstable.
  • Add rustls-tls-no-provider Cargo feature to use rustls without a crypto provider.
  • Fix Accept-Encoding header combinations.
  • Fix http3 resolving IPv6 addresses.
  • Internal: upgrade to rustls 0.23.

v0.12.4

  • Add zstd support, enabled with zstd Cargo feature.
  • Add ClientBuilder::read_timeout(Duration), which applies the duration for each read operation. The timeout resets after a successful read.

v0.12.3

  • Add FromStr for dns::Name.
  • Add ClientBuilder::built_in_webpki_certs(bool) to enable them separately.
  • Add ClientBuilder::built_in_native_certs(bool) to enable them separately.
  • Fix sending content-length: 0 for GET requests.
  • Fix response body content_length() to return value when timeout is configured.
  • Fix ClientBuilder::resolve() to use lowercase domain names.

v0.12.2

  • Fix missing ALPN when connecting to socks5 proxy with rustls.
  • Fix TLS version limits with rustls.
  • Fix not detected ALPN h2 from server with native-tls.

v0.12.1

  • Fix ClientBuilder::interface() when no TLS is enabled.
  • Fix TlsInfo::peer_certificate() being truncated with rustls.
  • Fix panic if http2 feature disabled but TLS negotiated h2 in ALPN.
  • Fix Display for Error to not include its source error.

v0.12.28

Compare Source

  • Fix compiling on Windows if TLS and SOCKS features are not enabled.

v0.12.27

Compare Source

  • Add ClientBuilder::windows_named_pipe(name) option that will force all requests over that Windows Named Piper.

v0.12.26

Compare Source

  • Fix sending Accept-Encoding header only with values configured with reqwest, regardless of underlying tower-http config.

v0.12.25

Compare Source

  • Add Error::is_upgrade() to determine if the error was from an HTTP upgrade.
  • Fix sending Proxy-Authorization if only username is configured.
  • Fix sending Proxy-Authorization to HTTPS proxies when the target is HTTP.
  • Refactor internal decompression handling to use tower-http.

v0.12.24

Compare Source

  • Refactor cookie handling to an internal middleware.
  • Refactor internal random generator.
  • Refactor base64 encoding to reduce a copy.
  • Documentation updates.

v0.12.23

Compare Source

  • Add ClientBuilder::unix_socket(path) option that will force all requests over that Unix Domain Socket.
  • Add ClientBuilder::retry(policy) and reqwest::retry::Builder to configure automatic retries.
  • Add ClientBuilder::dns_resolver2() with more ergonomic argument bounds, allowing more resolver implementations.
  • Add http3_* options to blocking::ClientBuilder.
  • Fix default TCP timeout values to enabled and faster.
  • Fix SOCKS proxies to default to port 1080
  • (wasm) Add cache methods to RequestBuilder.
dtolnay/semver (semver)

v1.0.28

Compare Source

  • Documentation improvements

v1.0.27

Compare Source

  • Switch serde dependency to serde_core (#​333)
serde-rs/serde (serde)

v1.0.229

Compare Source

  • Update to syn 3

v1.0.228

Compare Source

  • Allow building documentation with RUSTDOCFLAGS='--cfg=docsrs' set for the whole dependency graph (#​2995)

v1.0.227

Compare Source

v1.0.226

Compare Source

  • Deduplicate variant matching logic inside generated Deserialize impl for adjacently tagged enums (#​2935, thanks @​Mingun)

v1.0.225

Compare Source

  • Avoid triggering a deprecation warning in derived Serialize and Deserialize impls for a data structure that contains its own deprecations (#​2879, thanks @​rcrisanti)

v1.0.224

Compare Source

  • Remove private types being suggested in rustc diagnostics (#​2979)

v1.0.223

Compare Source

  • Fix serde_core documentation links (#​2978)

v1.0.222

Compare Source

  • Make serialize_with attribute produce code that works if respanned to 2024 edition (#​2950, thanks @​aytey)

v1.0.221

Compare Source

  • Documentation improvements (#​2973)
  • Deprecate serde_if_integer128! macro (#​2975)

v1.0.220

Compare Source

serde-rs/json (serde_json)

v1.0.154

Compare Source

v1.0.153

Compare Source

v1.0.152

Compare Source

v1.0.151

Compare Source

v1.0.150

Compare Source

v1.0.149

Compare Source

  • Align arbitrary_precision number strings with zmij's formatting (#​1306, thanks @​b41sh)

v1.0.148

Compare Source

  • Update zmij dependency to 1.0

v1.0.147

Compare Source

  • Switch float-to-string algorithm from Ryū to Żmij for better f32 and f64 serialization performance (#​1304)

v1.0.146

Compare Source

v1.0.145

Compare Source

  • Raise serde version requirement to >=1.0.220

v1.0.144

Compare Source

  • Switch serde dependency to serde_core (#​1285)

v1.0.143

Compare Source

v1.0.142

Compare Source

v1.0.141

Compare Source

Stebalien/tempfile (tempfile)

v3.27.0

Compare Source

This release adds TempPath::try_from_path and deprecates TempPath::from_path.

Prior to this release, TempPath::from_path made no attempts to convert relative paths into absolute paths. The following code would have deleted the wrong file:

let tmp_path = TempPath::from_path("foo")
std::env::set_current_dir("/some/other/path").unwrap();
drop(tmp_path);

Now:

  1. TempPath::from_path will attempt to convert relative paths into absolute paths. However, this isn't always possible as we need to call std::env::current_dir, which can fail. If we fail to convert the relative path to an absolute path, we simply keep the relative path.
  2. The TempPath::try_from_path behaves exactly like TempPath::from_path, except that it returns an error if we fail to convert a relative path into an absolute path (or if the passed path is empty).

Neither function attempt to verify the existence of the file in question.

Thanks to @​meng-xu-cs for reporting this issue.

v3.26.0

v3.25.0

  • Allow getrandom 0.4.x while retaining support for getrandom 0.3.x.

v3.24.0

Compare Source

  • Actually support WASIp2 without the nightly feature. This library is now feature complete on WASIp2 without any additional feature flags.
  • Exclude CI scripts from the published crate.

v3.23.0

Compare Source

  • Remove need for the "nightly" feature to compile with "wasip2".

v3.22.0

Compare Source

  • Updated windows-sys requirement to allow version 0.61.x
  • Remove unstable-windows-keep-open-tempfile feature.

v3.21.0

Compare Source

  • Updated windows-sys requirement to allow version 0.60.x
tokio-rs/tokio (tokio)

v1.54.1: Tokio v1.54.1

Compare Source

1.54.1 (October 21st, 2026)
Fixed
  • time: revert "remove the runtime handle from timers" (#​8692)

v1.54.0: Tokio v1.54.0

Compare Source

1.54.0 (October 19th, 2026)

The 1.54.0 release includes all changes up to 1.53.3.

The MSRV is increased to 1.85. (#​8514)

Added
  • fs: add File::set_times, File::set_modified, and fs::FileTimes (#​8504)
  • net: implement Default for named_pipe::{ClientOptions, ServerOptions} (#​8378)
  • runtime: add Builder::max_io_events_per_busy_tick (#​8410)
  • runtime: stabilize tokio::runtime::worker_index() (#​8431)
  • sync: add SemaphorePermit::semaphore() (#​8482)
  • sync: add blocking_acquire methods to Semaphore (#​8269)
  • sync: add watch::Receiver::is_closed (#​8481)
  • wasm: support JSPI for Emscripten target (#​8285, #​8627)
  • wasm: support the wasm32-unknown-emscripten target (#​8281, #​8422, #​8528, #​8628)
Changed
  • fs: reject zero in File::set_max_buf_size (#​8449)
  • io: make copy_buf cooperative (#​8459)
  • io: panic when BufReader or BufStream is created with zero capacity (#​8494)
  • io: panic when in-memory pipe is created with zero capacity (#​8397)
  • io: reject zero buffer size in copy_bidirectional_with_sizes (#​8454)
  • io: support vectored writes in Sink (#​8663)
  • net: start UnixStream::pair and UnixDatagram::pair sockets as writable (#​8444)
  • net: start accepted sockets as readable and writable (#​8435)
  • net: support UCred on Fuchsia (#​8257)
  • process: use mio::unix::pipe for Unix child stdio (#​8603)
  • runtime: cache-pad the shared injection queue and idle state (#​8622)
  • runtime: decide auto-boxing of spawned futures at monomorphization time (#​8414)
  • runtime: make enable_io available whenever rt is enabled (#​8387)
  • runtime: move block_in_place setup into a non-generic function (#​8315)
  • runtime: move the multi-thread inject queue to its own mutex (#​8382)
  • runtime: panic when max_io_events_per_tick is zero (#​8476)
  • runtime: suggest .await in nested block_on panic message (#​8501)
  • sync: avoid atomic reader count in broadcast slots (#​8357)
  • sync: use acquire/release orderings in Notify (#​8325)
  • time: remove the runtime handle from timers (#​8458)
Fixed
  • fs: restore File internal state when op fails (#​8291)
  • io: complete zero-length memory stream operations immediately (#​8323)
  • io: flush the writer when the reader stalls in copy_buf (#​8424)
  • io: keep the shutdown bit when clearing readiness (#​8435)
  • io: preserve the full ScheduledIo tick in readiness events (#​8331)
  • io: read lines as bytes so a partial line survives an I/O error (#​8400)
  • io: retry on ErrorKind::Interrupted in more I/O operations (#​8417, #​8432, #​8448, #​8453, #​8455, #​8460)
  • io: use spawn_mandatory_blocking for stdout and stderr (#​8506)
  • io: wait for pending operations before BufReader seeks (#​8599)
  • net: close CreateFileW handle on SetNamedPipeHandleState failure (#​8418)
  • net: fix peer credentials on NetBSD (#​8589)
  • net: saturate TcpSocket and UnixSocket listen backlog (#​8511)
  • net: treat ENOTCONN as success in UnixStream::shutdown (#​8526)
  • runtime: allow building with --all-features without tokio_unstable (#​8401)
  • runtime: avoid overflow in shutdown_timeout() (#​8497)
  • runtime: fix spawn_blocking hang when only scheduler workers exist (#​8408)
  • runtime: fix misleading signal driver panic message (#​8419)
  • sync: preserve FIFO lock order when coop budget is exhausted (#​8371)
  • sync: use usize for permit count in SemaphorePermit (#​8405)
  • time: avoid interval deadline overflow (#​8385)
  • time: handle wrapped top-level timer-wheel slots (#​8334)
Unstable
  • fs: fall back when io_uring has no IO driver (#​8165)
  • metrics: cap log histogram precision (#​8496)
  • runtime: add an opt-in sharded spawn_blocking queue (#​8337)
  • runtime: expose schedule latency in task hooks (#​8282)
  • taskdump: fix idle bookkeeping when a task dump wakes parked workers (#​8372)
  • taskdump: skip non-idle tasks during taskdumps (#​8568)
Documented
  • docs: fix stray braces and broken links in rustdoc (#​8605)
  • fs: document cancellation behavior of tokio::fs (#​8265)
  • net: add Safety docs for named pipe from_raw_handle (#​8378)
  • net: document that TcpStream::connect returns only the last error (#​8421)
  • runtime: add error documentation for runtime::Builder (#​8297)
  • runtime: link available_parallelism in worker count docs (#​8625)
  • sync: clarify panic behavior of broadcast::channel() (#​8420)
  • sync: fix typo in Semaphore documentation (#​8521)

v1.53.3: Tokio v1.53.3

Compare Source

1.53.3 (October 13th, 2026)
Added
  • io: add AsyncFd::register and AsyncFd::register_with_interest (#​8587)
Changed
  • io: deprecate AsyncFd::{new, with_interest, try_new, try_with_interest} (#​8587)
Fixed
  • io: wake and drop DuplexStream wakers outside the lock (#​8618)
  • macros: avoid unreachable_code in join! and try_join! for Infallible (#​8518)
  • runtime: fix paused time auto-advancing when I/O wakes a task on current_thread (#​8595)
  • sync: wake waiters outside the lock when closing a semaphore (#​8529)
  • test: fix several flaky tests (#​8196, #​8427, #​8609)
Fixed (unstable)
  • rt: keep io_uring op alive when submission fails after push (#​8185)

v1.53.2: Tokio v1.53.2

Compare Source

1.53.2 (October 3rd, 2026)
Fixed
  • fs: handle integer overflow in buffered relative seek (#​8574)
  • io: revert "always cleanup AsyncFd registration list on deregister" (#​8540)
  • process: unregister Windows wait before closing child handle (#​8564)
  • rt: drop blocking pool mutex before shutting down rejected task (#​8562)
  • sync: fix mpsc index wraparound in block reclamation (#​8546)
  • sync: forget mpsc Permit before sending value (#​8560)
  • sync: validate MAX_PERMITS in Semaphore::acquire (#​8548)
  • sync: wake broadcast Sender::closed outside mutex (#​8558)
  • task: drop replaced waker outside lock in JoinSet (#​8554)
  • time: drop timer lock before dropping waker in clear_entry (#​8552)
  • time: expire timers directly on shutdown without rotating wheel (#​8570)
Fixed (unstable)
  • fs: clamp io_uring read length to u32::MAX (#​8572)
  • rt: ignore current_thread task dumps from other runtimes (#​8544)
  • rt: preserve io_uring context if a completion waker panics (#​8566)
  • sync: fix semaphore use-after-free and permit leak on tracing panic (#​8542)
  • taskdump: restore deferred leaf wakes during capture (#​8445)
  • time: drop stored waker when cancelling alt timer entry (#​8550)

v1.53.1: Tokio v1.53.1

Compare Source

1.53.1 (July 20th, 2026)
Fixed
  • signal: restore MSRV by removing OnceLock::wait from the Windows handler (#​8300)
Fixed (unstable)
  • time: fix alt timer cancellation and insertion race (#​8252)
Documented
  • runtime: remove dead link definition in Runtime::block_on (#​8301)

v1.53.0: Tokio v1.53.0

Compare Source

1.53.0 (July 17th, 2026)
Added
  • fs: implement From<OwnedFd> and From<OwnedHandle> for File (#​8266)
  • metrics: add task schedule latency metric (#​7986)
  • net: add SocketAddr methods to Unix sockets (#​8144)
Changed
  • io: add #[inline] to IO trait impls for in-memory types (#​8242)
  • net: implement UCred::pid on FreeBSD (#​8086)
  • net: support Nuttx target os (#​8259)
  • signal: refactor global variables on Windows (#​8231)
  • sync: mpsc::{Receiver,UnboundedReceiver} now drops waker on drop, even if there are still senders (#​8095)
  • taskdump: support taskdumps on s390x (#​8192)
  • time: add #[track_caller] to timeout_at() (#​8077)
  • time: consolidate mutex locks on spurious poll (#​8124)
  • time: defer waker clone on spurious poll (#​8107)
  • time: move lazy-registration state into Sleep (#​8132)
  • tracing: remove unnecessary span clone (#​8126)
Fixed
  • io: do not treat zero-length reads as EOF in Chain (#​8251)
  • net: use getpeereid for QNX peer credentials (#​8270)
  • runtime: avoid illegal state in FastRand (#​8078)
  • sync: wake mpsc receiver when a queued reserve[_many] returns permits (#​8260)
  • taskdump: skip double wake on Trace::capture/Trace::trace_with (#​8043)
  • time: avoid stack overflow in runtime constructor (#​8093)
  • time (alt timer): ensure timers stay in the same runtime after .reset() (#​8169)
IO uring (unstable)
  • fs: use io-uring for fs::try_exists (#​8080)
  • fs: use io-uring for renaming files (#​7800)
  • rt: flush io-uring CQE in case of CQE overflow (#​8277)
Documented
  • docs: clarify cancel safety wording (#​8181)
  • fs: clarify create_dir_all succeeds if path exists (#​8149)
  • io: add warning about stdout reordering with multiple handles (#​8276)
  • net: document pipe try_read*/try_write* readiness behavior (#​8032)
  • runtime: document interaction with fork() (#​8202)
  • sync: clarify broadcast lagging semantics (#​8239)
  • sync: document memory ordering guarantees for Semaphore (#​8119)
  • task: explain why yield_now defers its waker (#​8254)
  • time: add panic docs to timeout_at() (#​8077)
  • time: fix reversed poll order in timeout doc (#​8214)

v1.52.4: Tokio v1.52.4

Compare Source

1.52.4 (July 16th, 2026)
Fixed
  • runtime: don't skip the driver when before_park schedules work (#​8222)
Fixed (unstable)
  • taskdump: remove crate disambiguators from output (#​8264)

v1.52.3: Tokio v1.52.3

Compare Source

1.52.3 (May 8th, 2026)
Fixed
  • sync: fix underflow in mpsc channel len() (#​8062)
  • sync: notify receivers in mpsc OwnedPermit::release() method (#​8075)
  • sync: require that an RwLock has max_readers != 0 (#​8076)
  • sync: return Empty from try_recv() when mpsc is closed with outstanding permits (#​8074)

v1.52.2: Tokio v1.52.2

Compare Source

1.52.2 (May 4th, 2026)

This release reverts the LIFO slot stealing change introduced in 1.51.0 (#​7431), due to its performance impact. (#​8100)

v1.52.1: Tokio v1.52.1

Compare Source

1.52.1 (April 16th, 2026)
Fixed

v1.52.0: Tokio v1.52.0

Compare Source

1.52.0 (April 14th, 2026)

Added

  • io: AioSource::register_borrowed for I/O safety support (#​7992)
  • net: add try_io function to unix::pipe sender and receiver types (#​8030)

Added (unstable)

  • runtime: Builder::enable_eager_driver_handoff setting enable eager hand off of the I/O and time drivers before polling tasks (#​8010)
  • taskdump: add trace_with() for customized task dumps (#​8025)
  • taskdump: allow impl FnMut() in trace_with instead of just fn() (#​8040)
  • fs: support io_uring in AsyncRead for File (#​7907)

Changed

  • runtime: improve spawn_blocking scalability with sharded queue (#​7757)
  • runtime: use compare_exchange_weak() in worker queue (#​8028)

Fixed

  • runtime: overflow second half of tasks when local queue is filled instead of first half (#​8029)

Documented

  • docs: fix typo in oneshot::Sender::send docs (#​8026)
  • docs: hide #[tokio::main] attribute in the docs of sync::watch (#​8035)
  • net: add docs on ConnectionRefused errors with UDP sockets (#​7870)

v1.51.6: Tokio v1.51.6

Compare Source

1.51.6 (October 13th, 2026)
Added
  • io: add AsyncFd::register and AsyncFd::register_with_interest (#​8587)
Changed
  • io: deprecate AsyncFd::{new, with_interest, try_new, try_with_interest} (#​8587)
Fixed
  • io: wake and drop DuplexStream wakers outside the lock (#​8618)
  • macros: avoid unreachable_code in join! and try_join! for Infallible (#​8518)
  • runtime: fix paused time auto-advancing when I/O wakes a task on current_thread (#​8595)
  • sync: wake waiters outside the lock when closing a semaphore (#​8529)
  • test: fix several flaky tests (#​8196, #​8427, #​8609)

v1.51.5: Tokio v1.51.5

Compare Source

1.51.5 (October 3rd, 2026)
Fixed
  • fs: handle integer overflow in buffered relative seek (#​8574)
  • io: revert "always cleanup AsyncFd registration list on deregister" (#​8540)
  • process: unregister Windows wait before closing child handle (#​8564)
  • rt: drop blocking pool mutex before shutting down rejected task (#​8562)
  • sync: fix mpsc index wraparound in block reclamation (#​8546)
  • sync: forget mpsc Permit before sending value (#​8560)
  • sync: validate MAX_PERMITS in Semaphore::acquire (#​8548)
  • sync: wake broadcast Sender::closed outside mutex (#​8558)
  • task: drop replaced waker outside lock in JoinSet (#​8554)
  • time: drop timer lock before dropping waker in clear_entry (#​8552)
  • time: expire timers directly on shutdown without rotating wheel (#​8570)
Fixed (unstable)
  • rt: ignore current_thread task dumps from other runtimes (#​8544)
  • rt: preserve io_uring context if a completion waker panics (#​8566)
  • sync: fix semaphore use-after-free and permit leak on tracing panic (#​8542)
  • time: drop stored waker when cancelling alt timer entry (#​8550)

v1.51.4: Tokio v1.51.4

Compare Source

1.51.4 (July 16th, 2026)
Fixed
  • runtime: don't skip the driver when before_park schedules work (#​8222)

v1.51.3: Tokio v1.51.3

Compare Source

1.51.3 (May 8th, 2026)
Fixed
  • sync: fix underflow in mpsc channel len() (#​8062)
  • sync: notify receivers in mpsc OwnedPermit::release() method (#​8075)
  • sync: require that an RwLock has max_readers != 0 (#​8076)
  • sync: return Empty from try_recv() when mpsc is closed with outstanding permits (#​8074)

v1.51.2: Tokio v1.51.1

Compare Source

1.51.2 (May 4th, 2026)

This release reverts the LIFO slot stealing change introduced in 1.51.0 (#​7431), due to its performance impact. (#​8100)

v1.51.1: Tokio v1.51.1

Compare Source

1.51.1 (April 8th, 2026)

Fixed
  • sync: fix semaphore reopens after forget (#​8021)
  • net: surface errors from SO_ERROR on recv for UDP sockets on Linux (#​8001)
Fixed (unstable)
  • metrics: fix worker_local_schedule_count test (#​8008)
  • rt: do not leak fd when cancelling io_uring open operation (#​7983)

v1.51.0: Tokio v1.51.0

Compare Source

1.51.0 (April 3rd, 2026)
Added
  • net: implement get_peer_cred on Hurd (#​7989)
  • runtime: add tokio::runtime::worker_index() (#​7921)
  • runtime: add runtime name (#​7924)
  • runtime: stabilize LocalRuntime (#​7557)
  • wasm: add wasm32-wasip2 networking support (#​7933)
Changed
  • runtime: steal tasks from the LIFO slot (#​7431)
Fixed
  • docs: do not show "Available on non-loom only." doc label (#​7977)
  • macros: improve overall macro hygiene (#​7997)
  • sync: fix notify_waiters priority in Notify (#​7996)
  • sync: fix panic in Chan::recv_many when called with non-empty vector on closed channel (#​7991)

v1.50.0: Tokio v1.50.0

Compare Source

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

v1.49.0: Tokio v1.49.0

Compare Source

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

v1.48.0: Tokio v1.48.0

Compare Source

1.48.0 (October 14th, 2025)

The MSRV is increased to 1.71.

Added
  • fs: add File::max_buf_size (#​7594)
  • io: export Chain of AsyncReadExt::chain (#​7599)
  • net: add SocketAddr::as_abstract_name (#​7491)
  • net: add TcpStream::quickack and TcpStream::set_quickack (#​7490)
  • net: implement AsRef<Self> for TcpStream and UnixStream (#​7573)
  • task: add LocalKey::try_get (#​7666)
  • task: implement Ord for task::Id (#​7530)
Changed
  • deps: bump windows-sys to version 0.61 (#​7645)
  • fs: preserve max_buf_size when cloning a File (#​7593)
  • macros: suppress clippy::unwrap_in_result in #[tokio::main] (#​7651)
  • net: remove PollEvented noise from Debug formats (#​7675)
  • process: upgrade Command::spawn_with to use FnOnce (#​7511)
  • sync: remove inner mutex in SetOnce (#​7554)
  • sync: use UnsafeCell::get_mut in Mutex::get_mut and RwLock::get_mut (#​7569)
  • time: reduce the generated code size of Timeout<T>::poll (#​7535)
Fixed
  • macros: fix hygiene issue in join! and try_join! (#​7638)
  • net: fix copy/paste errors in udp peek methods (#​7604)
  • process: fix error when runtime is shut down on nightly-2025-10-12 (#​7672)
  • runtime: use release ordering in wake_by_ref() even if already woken (#​7622)
  • sync: close the broadcast::Sender in broadcast::Sender::new() (#​7629)
  • sync: fix implementation of unused RwLock::try_* methods (#​7587)
Unstable
  • tokio: use cargo features instead of --cfg flags for taskdump and io_uring (#​7655, #​7621)
  • fs: support io_uring in fs::write (#​7567)
  • fs: support io_uring with File::open() (#​7617)
  • fs: support io_uring with OpenOptions (#​7321)
  • macros: add local runtime flavor (#​7375, #​7597)
Documented
  • io: clarify the zero capacity case of AsyncRead::poll_read (#​7580)
  • io: fix typos in the docs of AsyncFd readiness guards (#​7583)
  • net: clarify socket gets closed on drop (#​7526)
  • net: clarify the behavior of UCred::pid() on Cygwin (#​7611)
  • net: clarify the supported platform of set_reuseport() and reuseport() (#​7628)
  • net: qualify that SO_REUSEADDR is only set on Unix (#​7533)
  • runtime: add guide for choosing between runtime types (#​7635)
  • runtime: clarify the behavior of Handle::block_on (#​7665)
  • runtime: clarify the edge case of Builder::global_queue_interval() (#​7605)
  • sync: clarify bounded channel panic behavior (#​7641)
  • sync: clarify the behavior of tokio::sync::watch::Receiver (#​7584)
  • sync: document cancel safety on SetOnce::wait (#​7506)
  • sync: fix the docs of parking_lot feature flag (#​7663)
  • sync: improve the docs of UnboundedSender::send (#​7661)
  • sync: improve the docs of sync::watch (#​7601)
  • sync: reword allocation failure paragraph in broadcast docs (#​7595)
  • task: clarify the behavior of several spawn_local methods (#​7669)
  • task: clarify the task ID reuse guarantees (#​7577)
  • task: improve the example of poll_proceed (#​7586)

v1.47.5: Tokio v1.47.5

Compare Source

1.47.5 (May 7th, 2026)
Fixed
  • sync: fix underflow in mpsc channel len() (#​8062)
  • sync: notify receivers in mpsc OwnedPermit::release() method (#​8075)
  • sync: require that an RwLock has max_readers != 0 (#​8076)
  • sync: return Empty from try_recv() when mpsc is closed with outstanding permits (#​8074)

v1.47.4: Tokio v1.47.4

Compare Source

1.47.4 (April 2nd, 2026)
Fixed
  • sync: fix panic in Chan::recv_many when called with non-empty vector on closed channel (#​7991)

v1.47.3

Compare Source

v1.47.2

Compare Source

v1.47.1: Tokio v1.47.1

Compare Source

1.47.1 (August 1st, 2025)
Fixed
  • process: fix panic from spurious pidfd wakeup (#​7494)
  • sync: fix broken link of Python asyncio.Event in SetOnce docs (#​7485)

v1.47.0: Tokio v1.47.0

Compare Source

1.47.0 (July 25th, 2025)

This release adds poll_proceed and cooperative to the coop module for
cooperative scheduling, adds SetOnce to the sync module which provides
similar functionality to [std::sync::OnceLock], and adds a new method
sync::Notify::notified_owned() which returns an OwnedNotified without
a lifetime parameter.

Added

  • coop: add cooperative and poll_proceed (#​7405)
  • sync: add SetOnce (#​7418)
  • sync: add sync::Notify::notified_owned() (#​7465)

Changed

  • deps: upgrade windows-sys 0.52 → 0.59 ([#​7117])
  • deps: update to socket2 v0.6 ([#​7443])
  • sync: improve AtomicWaker::wake performance (#​7450)

Documented

  • metrics: fix listed feature requirements for some metrics (#​7449)
  • runtime: improve safety comments of Readiness<'_> (#​7415)
tokio-rs/tracing (tracing)

v0.1.44: tracing 0.1.44

Compare Source

Fixed
Changed
  • tracing-core: updated to 0.1.36 (#​3440)

v0.1.43: tracing 0.1.43

Compare Source

Important

The previous release 0.1.42 was yanked because #​3382 was a breaking change.
See further details in #​3424. This release contains all the changes from that
version, plus a revert for the problematic part of the breaking PR.

Fixed
  • Revert "make valueset macro sanitary" (#​3425)

v0.1.42: tracing 0.1.42

Compare Source

Important

The Span::record_all method has been removed from the documented API. It
was always unsuable via the documented API as it requried a ValueSet which
has no publically documented constructors. The method remains, but should not
be used outside of tracing macros.

Added
  • attributes: Support constant expressions as instrument field names (#​3158)
  • Add record_all! macro for recording multiple values in one call (#​3227)
  • core: Improve code generation at trace points significantly (#​3398)
Changed
  • tracing-core: updated to 0.1.35 (#​3414)
  • tracing-attributes: updated to 0.1.31 (#​3417)
Fixed
  • Fix "name / parent" variant of event! (#​2983)
  • Remove 'r#' prefix from raw identifiers in field names (#​3130)
  • Fix perf regression when release_max_level_* not set (#​3373)
  • Use imported instead of fully qualified path (#​3374)
  • Make valueset macro sanitary (#​3382)
Documented
  • core: Add missing dyn keyword in Visit documentation code sample (#​3387)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://github.com/dtolnay/anyhow) | dependencies | patch | `1.0.98` → `1.0.104` | | [chrono](https://github.com/chronotope/chrono) | dependencies | patch | `0.4.41` → `0.4.45` | | [clap](https://github.com/clap-rs/clap) | dependencies | minor | `4.5.41` → `4.6.7` | | [cron](https://github.com/zslayton/cron) | dependencies | minor | `0.12` → `0.17` | | [public.ecr.aws/docker/library/alpine](https://hub.docker.com/_/alpine) ([source](https://github.com/alpinelinux/docker-alpine)) | final | minor | `3.21.8` → `3.24.3` | | [public.ecr.aws/docker/library/rust](https://hub.docker.com/_/rust) ([source](https://github.com/rust-lang/docker-rust)) | stage | minor | `1.85.1-alpine` → `1.99.1-alpine` | | [regex](https://github.com/rust-lang/regex) | dependencies | minor | `1.11.1` → `1.13.1` | | [reqwest](https://github.com/seanmonstar/reqwest) | dependencies | minor | `0.12` → `0.13` | | [semver](https://github.com/dtolnay/semver) | dependencies | patch | `1.0.26` → `1.0.28` | | [serde](https://serde.rs) ([source](https://github.com/serde-rs/serde)) | dependencies | patch | `1.0.219` → `1.0.229` | | [serde_json](https://github.com/serde-rs/json) | dependencies | patch | `1.0.140` → `1.0.154` | | [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://github.com/Stebalien/tempfile)) | dev-dependencies | minor | `3.20.0` → `3.27.0` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dev-dependencies | minor | `1.46.1` → `1.54.1` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.46.1` → `1.54.1` | | [tracing](https://tokio.rs) ([source](https://github.com/tokio-rs/tracing)) | dependencies | patch | `0.1.41` → `0.1.44` | | [tracing-subscriber](https://tokio.rs) ([source](https://github.com/tokio-rs/tracing)) | dependencies | patch | `0.3.19` → `0.3.23` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.104`](https://github.com/dtolnay/anyhow/releases/tag/1.0.104) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.103...1.0.104) - Update `syn` dev-dependency to version 3 ### [`v1.0.103`](https://github.com/dtolnay/anyhow/releases/tag/1.0.103) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.102...1.0.103) - Fix Stacked Borrows violation (UB) in `Error::downcast_mut` ([#&#8203;451](https://github.com/dtolnay/anyhow/issues/451), [#&#8203;452](https://github.com/dtolnay/anyhow/issues/452)) ### [`v1.0.102`](https://github.com/dtolnay/anyhow/releases/tag/1.0.102) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.101...1.0.102) - Remove backtrace dependency ([#&#8203;438](https://github.com/dtolnay/anyhow/issues/438), [#&#8203;439](https://github.com/dtolnay/anyhow/issues/439), [#&#8203;440](https://github.com/dtolnay/anyhow/issues/440), [#&#8203;441](https://github.com/dtolnay/anyhow/issues/441), [#&#8203;442](https://github.com/dtolnay/anyhow/issues/442)) ### [`v1.0.101`](https://github.com/dtolnay/anyhow/releases/tag/1.0.101) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.100...1.0.101) - Add #\[inline] to anyhow::Ok helper ([#&#8203;437](https://github.com/dtolnay/anyhow/issues/437), thanks [@&#8203;Ibitier](https://github.com/Ibitier)) ### [`v1.0.100`](https://github.com/dtolnay/anyhow/releases/tag/1.0.100) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.99...1.0.100) - Teach clippy to lint formatting arguments in `bail!`, `ensure!`, `anyhow!` ([#&#8203;426](https://github.com/dtolnay/anyhow/issues/426)) ### [`v1.0.99`](https://github.com/dtolnay/anyhow/releases/tag/1.0.99) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.98...1.0.99) - Allow build-script cleanup failure with NFSv3 output directory to be non-fatal ([#&#8203;420](https://github.com/dtolnay/anyhow/issues/420)) </details> <details> <summary>chronotope/chrono (chrono)</summary> ### [`v0.4.45`](https://github.com/chronotope/chrono/releases/tag/v0.4.45): 0.4.45 [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.44...v0.4.45) #### What's Changed - fix(tz): reject TZ offset hour of 24 to avoid FixedOffset overflow by [@&#8203;SAY-5](https://github.com/SAY-5) in [#&#8203;1787](https://github.com/chronotope/chrono/pull/1787) - tz_data: fix tzdata locations on Android by [@&#8203;caruschalalamove](https://github.com/caruschalalamove) in [#&#8203;1789](https://github.com/chronotope/chrono/pull/1789) ### [`v0.4.44`](https://github.com/chronotope/chrono/releases/tag/v0.4.44): 0.4.44 [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.43...v0.4.44) #### What's Changed - docs: match MSRV with `Cargo.toml` contents by [@&#8203;coryan](https://github.com/coryan) in [#&#8203;1772](https://github.com/chronotope/chrono/pull/1772) - Add track_caller to non-deprecated functions by [@&#8203;svix-jplatte](https://github.com/svix-jplatte) in [#&#8203;1774](https://github.com/chronotope/chrono/pull/1774) ### [`v0.4.43`](https://github.com/chronotope/chrono/releases/tag/v0.4.43): 0.4.43 [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.42...v0.4.43) #### What's Changed - Install extra components for lint workflow by [@&#8203;djc](https://github.com/djc) in [#&#8203;1741](https://github.com/chronotope/chrono/pull/1741) - Upgrade windows-bindgen to 0.64 by [@&#8203;djc](https://github.com/djc) in [#&#8203;1742](https://github.com/chronotope/chrono/pull/1742) - Improve windows-bindgen setup by [@&#8203;djc](https://github.com/djc) in [#&#8203;1744](https://github.com/chronotope/chrono/pull/1744) - Drop stabilized feature doc_auto_cfg by [@&#8203;djc](https://github.com/djc) in [#&#8203;1745](https://github.com/chronotope/chrono/pull/1745) - Faster RFC 3339 parsing by [@&#8203;djc](https://github.com/djc) in [#&#8203;1748](https://github.com/chronotope/chrono/pull/1748) - Update windows-bindgen requirement from 0.64 to 0.65 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1751](https://github.com/chronotope/chrono/pull/1751) - add `NaiveDate::abs_diff` by [@&#8203;Kinrany](https://github.com/Kinrany) in [#&#8203;1752](https://github.com/chronotope/chrono/pull/1752) - Add feature gated defmt support. by [@&#8203;pebender](https://github.com/pebender) in [#&#8203;1747](https://github.com/chronotope/chrono/pull/1747) - Drop deny lints, eager Debug impls are a mixed blessing by [@&#8203;djc](https://github.com/djc) in [#&#8203;1753](https://github.com/chronotope/chrono/pull/1753) - chore: minor improvement for docs by [@&#8203;spuradage](https://github.com/spuradage) in [#&#8203;1756](https://github.com/chronotope/chrono/pull/1756) - Added doctest for the NaiveDate years_since function by [@&#8203;LucasBou](https://github.com/LucasBou) in [#&#8203;1755](https://github.com/chronotope/chrono/pull/1755) - Prepare 0.4.43 by [@&#8203;djc](https://github.com/djc) in [#&#8203;1765](https://github.com/chronotope/chrono/pull/1765) - Update copyright year to 2026 in LICENSE.txt by [@&#8203;taozui472](https://github.com/taozui472) in [#&#8203;1767](https://github.com/chronotope/chrono/pull/1767) ### [`v0.4.42`](https://github.com/chronotope/chrono/releases/tag/v0.4.42): 0.4.42 [Compare Source](https://github.com/chronotope/chrono/compare/v0.4.41...v0.4.42) #### What's Changed - Add fuzzer for DateTime::parse_from_str by [@&#8203;tyler92](https://github.com/tyler92) in [#&#8203;1700](https://github.com/chronotope/chrono/pull/1700) - Fix wrong amount of micro/milliseconds by [@&#8203;nmlt](https://github.com/nmlt) in [#&#8203;1703](https://github.com/chronotope/chrono/pull/1703) - Add warning about MappedLocalTime and wasm by [@&#8203;lutzky](https://github.com/lutzky) in [#&#8203;1702](https://github.com/chronotope/chrono/pull/1702) - Fix incorrect parsing of fixed-length second fractions by [@&#8203;chris-leach](https://github.com/chris-leach) in [#&#8203;1705](https://github.com/chronotope/chrono/pull/1705) - Fix cfgs for `wasm32-linux` support by [@&#8203;arjunr2](https://github.com/arjunr2) in [#&#8203;1707](https://github.com/chronotope/chrono/pull/1707) - Fix OpenHarmony's `tzdata` parsing by [@&#8203;ldm0](https://github.com/ldm0) in [#&#8203;1679](https://github.com/chronotope/chrono/pull/1679) - Convert NaiveDate to/from days since unix epoch by [@&#8203;findepi](https://github.com/findepi) in [#&#8203;1715](https://github.com/chronotope/chrono/pull/1715) - Add `?Sized` bound to related methods of `DelayedFormat::write_to` by [@&#8203;Huliiiiii](https://github.com/Huliiiiii) in [#&#8203;1721](https://github.com/chronotope/chrono/pull/1721) - Add `from_timestamp_secs` method to `DateTime` by [@&#8203;jasonaowen](https://github.com/jasonaowen) in [#&#8203;1719](https://github.com/chronotope/chrono/pull/1719) - Migrate to core::error::Error by [@&#8203;benbrittain](https://github.com/benbrittain) in [#&#8203;1704](https://github.com/chronotope/chrono/pull/1704) - Upgrade to windows-bindgen 0.63 by [@&#8203;djc](https://github.com/djc) in [#&#8203;1730](https://github.com/chronotope/chrono/pull/1730) - strftime: simplify error handling by [@&#8203;djc](https://github.com/djc) in [#&#8203;1731](https://github.com/chronotope/chrono/pull/1731) </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.6.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#467---2026-09-14) [Compare Source](https://github.com/clap-rs/clap/compare/v4.6.6...v4.6.7) ##### Features - *(derive)* Add `#[command(defer = <bool>)]` attribute to opt-in to lazy initialisation of subcommands ### [`v4.6.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#466---2026-08-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.6.5...v4.6.6) ##### Features - Add `Command::get_overridden_usage` ### [`v4.6.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#465---2026-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.6.4...v4.6.5) ##### Fixes - *(help)* Correctly mark which `value_names` are optional with `num_args` ### [`v4.6.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#464---2026-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.6.3...v4.6.4) ##### Internal - Update to syn v3 ### [`v4.6.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#463---2026-07-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.6.2...v4.6.3) ##### Fixes - *(derive)* Allow `"literal".function()` as attribute values ### [`v4.6.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#462---2026-07-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.6.1...v4.6.2) ##### Fixes - *(help)* Say `alias` when there is only one ### [`v4.6.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#461---2026-04-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.6.0...v4.6.1) ##### Fixes - *(derive)* Ensure rebuilds happen when an read env variable is changed ### [`v4.6.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#460---2026-03-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.61...v4.6.0) ##### Compatibility - Update MSRV to 1.85 ### [`v4.5.61`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4561---2026-03-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.60...v4.5.61) ##### Internal - Update dependencies ### [`v4.5.60`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4560---2026-02-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.59...v4.5.60) ##### Fixes - *(help)* Quote empty default values, possible values ### [`v4.5.59`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4559---2026-02-16) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.58...v4.5.59) ##### Fixes - `Command::ignore_errors` no longer masks help/version on subcommands ### [`v4.5.58`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4558---2026-02-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.57...v4.5.58) ### [`v4.5.57`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4557---2026-02-03) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.56...v4.5.57) ##### Fixes - Regression from 4.5.55 where having an argument with `.value_terminator("--")` caused problems with an argument with `.last(true)` ### [`v4.5.56`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4556---2026-01-29) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.55...v4.5.56) ##### Fixes - On conflict error, don't show conflicting arguments in the usage ### [`v4.5.55`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4555---2026-01-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.54...v4.5.55) ##### Fixes - Fix inconsistency in precedence between positionals with a `value_terminator("--")` and escapes (`--`) where `./foo -- bar` means the first arg is empty, rather than escaping future args ### [`v4.5.54`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4554---2026-01-02) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.53...v4.5.54) ##### Fixes - *(help)* Move `[default]` to its own paragraph when `PossibleValue::help` is present in `--help` ### [`v4.5.53`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4553---2025-11-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.52...v4.5.53) ##### Features - Add `default_values_if`, `default_values_ifs` ### [`v4.5.52`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4552---2025-11-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.51...v4.5.52) ##### Fixes - Don't panic when `args_conflicts_with_subcommands` conflicts with an `ArgGroup` ### [`v4.5.51`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4551---2025-10-29) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.50...v4.5.51) ##### Fixes - *(help)* Correctly calculate padding for short flags that take a value - *(help)* Don't panic on short flags using `ArgAction::Count` ### [`v4.5.50`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4550---2025-10-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.49...v4.5.50) ##### Features - Accept `Cow` where `String` and `&str` are accepted ### [`v4.5.49`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4549---2025-10-13) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.48...v4.5.49) ##### Fixes - *(help)* Correctly wrap when ANSI escape codes are present ### [`v4.5.48`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4548---2025-09-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.47...v4.5.48) ##### Documentation - Add a new CLI Concepts document as another way of framing clap - Expand the `typed_derive` cookbook entry ### [`v4.5.47`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4547---2025-09-02) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.46...v4.5.47) ##### Features - Added `impl FromArgMatches for ()` - Added `impl Args for ()` - Added `impl Subcommand for ()` - Added `impl FromArgMatches for Infallible` - Added `impl Subcommand for Infallible` ##### Fixes - *(derive)* Update runtime error text to match `clap` ### [`v4.5.46`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4546---2025-08-26) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.45...v4.5.46) ##### Features - Expose `StyledStr::push_str` ### [`v4.5.45`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4545---2025-08-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.44...v4.5.45) ##### Fixes - *(unstable-v5)* `ValueEnum` variants now use the full doc comment, not summary, for `PossibleValue::help` ### [`v4.5.44`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4544---2025-08-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.43...v4.5.44) ##### Features - Add `Command::mut_subcommands` ### [`v4.5.43`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4543---2025-08-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.42...v4.5.43) ##### Fixes - *(help)* In long help, list Possible Values before defaults, rather than after, for a more consistent look ### [`v4.5.42`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4542---2025-07-30) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.41...v4.5.42) ##### Fixes - Include subcommand visible long aliases in `--help` </details> <details> <summary>zslayton/cron (cron)</summary> ### [`v0.15.0`](https://github.com/zslayton/cron/releases/tag/v0.15.0) [Compare Source](https://github.com/zslayton/cron/compare/v0.14.0...v0.15.0) #### What's Changed - feat(parsing): give serviceable parsing error details to users by [@&#8203;AlexTMjugador](https://github.com/AlexTMjugador) in [#&#8203;135](https://github.com/zslayton/cron/pull/135) #### New Contributors - [@&#8203;AlexTMjugador](https://github.com/AlexTMjugador) made their first contribution in [#&#8203;135](https://github.com/zslayton/cron/pull/135) **Full Changelog**: <https://github.com/zslayton/cron/compare/v0.14.0...v0.15.0> ### [`v0.14.0`](https://github.com/zslayton/cron/releases/tag/v0.14.0) [Compare Source](https://github.com/zslayton/cron/compare/v0.13.0...v0.14.0) #### What's Changed - refactor(parser): Port to winnow by [@&#8203;epage](https://github.com/epage) in [#&#8203;134](https://github.com/zslayton/cron/pull/134) - Fix backwards iteration when initial time has nanoseconds by [@&#8203;canac](https://github.com/canac) in [#&#8203;132](https://github.com/zslayton/cron/pull/132) - chore: Add `cargo fmt` and `clippy` checks to GitHub action by [@&#8203;bombsimon](https://github.com/bombsimon) in [#&#8203;133](https://github.com/zslayton/cron/pull/133) #### New Contributors - [@&#8203;epage](https://github.com/epage) made their first contribution in [#&#8203;134](https://github.com/zslayton/cron/pull/134) - [@&#8203;canac](https://github.com/canac) made their first contribution in [#&#8203;132](https://github.com/zslayton/cron/pull/132) **Full Changelog**: <https://github.com/zslayton/cron/compare/v0.13.0...v0.14.0> ### [`v0.13.0`](https://github.com/zslayton/cron/releases/tag/v0.13.0) [Compare Source](https://github.com/zslayton/cron/compare/v0.12.1...v0.13.0) #### What's Changed - feat: implement efficient conversion from String by [@&#8203;LeoniePhiline](https://github.com/LeoniePhiline) in [#&#8203;128](https://github.com/zslayton/cron/pull/128) - Run `cargo fmt` and fix all `clippy` reports by [@&#8203;bombsimon](https://github.com/bombsimon) in [#&#8203;123](https://github.com/zslayton/cron/pull/123) - Fix backwards iteration when inital time has milliseconds by [@&#8203;juancampa](https://github.com/juancampa) in [#&#8203;112](https://github.com/zslayton/cron/pull/112) - Patterns with future years should not limit the day and month range by [@&#8203;AhmedSoliman](https://github.com/AhmedSoliman) in [#&#8203;116](https://github.com/zslayton/cron/pull/116) - feat: implement optimized `Serialize` and `Deserialize` for `Schedule` by [@&#8203;LeoniePhiline](https://github.com/LeoniePhiline) in [#&#8203;129](https://github.com/zslayton/cron/pull/129) - fix: Don't accept invalid step for `Period` by [@&#8203;bombsimon](https://github.com/bombsimon) in [#&#8203;122](https://github.com/zslayton/cron/pull/122) - Iterate over rather than skipping ambigous times by [@&#8203;AldaronLau](https://github.com/AldaronLau) in [#&#8203;115](https://github.com/zslayton/cron/pull/115) #### New Contributors - [@&#8203;LeoniePhiline](https://github.com/LeoniePhiline) made their first contribution in [#&#8203;128](https://github.com/zslayton/cron/pull/128) - [@&#8203;bombsimon](https://github.com/bombsimon) made their first contribution in [#&#8203;123](https://github.com/zslayton/cron/pull/123) - [@&#8203;juancampa](https://github.com/juancampa) made their first contribution in [#&#8203;112](https://github.com/zslayton/cron/pull/112) - [@&#8203;AhmedSoliman](https://github.com/AhmedSoliman) made their first contribution in [#&#8203;116](https://github.com/zslayton/cron/pull/116) **Full Changelog**: <https://github.com/zslayton/cron/compare/v0.12.1...v0.13.0> </details> <details> <summary>rust-lang/regex (regex)</summary> ### [`v1.13.1`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1131-2026-07-15) [Compare Source](https://github.com/rust-lang/regex/compare/1.13.0...1.13.1) \=================== This is a release that fixes a bug where incorrect regex match offsets could be reported. Note that this doesn't impact whether a match occurs or not, just where it occurs. The match offsets are still valid for slicing, they just may not refer to the correct leftmost-first match. See [#&#8203;1364](https://github.com/rust-lang/regex/pull/1364) for (many) more details. Bug fixes: - [#&#8203;1354](https://github.com/rust-lang/regex/issues/1354): Fixes previously unsound reverse suffix and inner optimizations. ### [`v1.13.0`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1130-2026-07-09) [Compare Source](https://github.com/rust-lang/regex/compare/1.12.4...1.13.0) \=================== This release includes a new API, a `regex!` macro, for lazy compilation of a regex from a string literal. If you use regexes a lot, it's likely you've already written one exactly like it. The new macro can be used like this: ```rust use regex::regex; fn is_match(line: &str) -> bool { // The regex will be compiled approximately once and reused automatically. // This avoids the footgun of using `Regex::new` here, which would // guarantee that it would be compiled every time this routine is called. // This would likely make this routine much slower than it needs to be. regex!(r"bar|baz").is_match(line) } let hay = "\ path/to/foo:54:Blue Harvest path/to/bar:90:Something, Something, Something, Dark Side path/to/baz:3:It's a Trap! "; let matches = hay.lines().filter(|line| is_match(line)).count(); assert_eq!(matches, 2); ``` Improvements: - [#&#8203;709](https://github.com/rust-lang/regex/issues/709): Add a new `regex!` macro for efficient and automatic reuse of a compiled regex. ### [`v1.12.4`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1124-2026-06-09) [Compare Source](https://github.com/rust-lang/regex/compare/1.12.3...1.12.4) \=================== This release includes a performance optimization for compilation of regexes with very large character classes. Improvements: - [#&#8203;1308](https://github.com/rust-lang/regex/pull/1308): Avoid re-canonicalizing the entire interval set when pushing new class ranges. ### [`v1.12.3`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1123-2026-02-03) [Compare Source](https://github.com/rust-lang/regex/compare/1.12.2...1.12.3) \=================== This release excludes some unnecessary things from the archive published to crates.io. Specifically, fuzzing data and various shell scripts are now excluded. If you run into problems, please file an issue. Improvements: - [#&#8203;1319](https://github.com/rust-lang/regex/pull/1319): Switch from a Cargo `exclude` list to an `include` list, and exclude some unnecessary stuff. ### [`v1.12.2`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1122-2025-10-13) [Compare Source](https://github.com/rust-lang/regex/compare/1.12.1...1.12.2) \=================== This release fixes a `cargo doc` breakage on nightly when `--cfg docsrs` is enabled. This caused documentation to fail to build on docs.rs. Bug fixes: - [BUG #&#8203;1305](https://github.com/rust-lang/regex/issues/1305): Switches the `doc_auto_cfg` feature to `doc_cfg` on nightly for docs.rs builds. ### [`v1.12.1`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1121-2025-10-10) [Compare Source](https://github.com/rust-lang/regex/compare/1.12.0...1.12.1) \=================== This release makes a bug fix in the new `regex::Captures::get_match` API introduced in `1.12.0`. There was an oversight with the lifetime parameter for the `Match` returned. This is technically a breaking change, but given that it was caught almost immediately and I've yanked the `1.12.0` release, I think this is fine. ### [`v1.12.0`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1120-2025-10-10) [Compare Source](https://github.com/rust-lang/regex/compare/1.11.3...1.12.0) \=================== This release contains a smattering of bug fixes, a fix for excessive memory consumption in some cases and a new `regex::Captures::get_match` API. Improvements: - [FEATURE #&#8203;1146](https://github.com/rust-lang/regex/issues/1146): Add `Capture::get_match` for returning the overall match without `unwrap()`. Bug fixes: - [BUG #&#8203;1083](https://github.com/rust-lang/regex/issues/1083): Fixes a panic in the lazy DFA (can only occur for especially large regexes). - [BUG #&#8203;1116](https://github.com/rust-lang/regex/issues/1116): Fixes a memory usage regression for large regexes (introduced in `regex 1.9`). - [BUG #&#8203;1195](https://github.com/rust-lang/regex/issues/1195): Fix universal start states in sparse DFA. - [BUG #&#8203;1295](https://github.com/rust-lang/regex/pull/1295): Fixes a panic when deserializing a corrupted dense DFA. - [BUG 8f5d9479](https://github.com/rust-lang/regex/commit/8f5d9479d0f1da5726488a530d7fd66a73d05b80): Make `regex_automata::meta::Regex::find` consistently return `None` when `WhichCaptures::None` is used. ### [`v1.11.3`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1113-2025-09-25) [Compare Source](https://github.com/rust-lang/regex/compare/1.11.2...1.11.3) \=================== This is a small patch release with an improvement in memory usage in some cases. Improvements: - [BUG #&#8203;1297](https://github.com/rust-lang/regex/issues/1297): Improve memory usage by trimming excess memory capacity in some spots. ### [`v1.11.2`](https://github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1112-2025-08-24) [Compare Source](https://github.com/rust-lang/regex/compare/1.11.1...1.11.2) \=================== This is a new patch release of `regex` with some minor fixes. A larger number of typo or lint fix patches were merged. Also, we now finally recommend using `std::sync::LazyLock`. Improvements: - [BUG #&#8203;1217](https://github.com/rust-lang/regex/issues/1217): Switch recommendation from `once_cell` to `std::sync::LazyLock`. - [BUG #&#8203;1225](https://github.com/rust-lang/regex/issues/1225): Add `DFA::set_prefilter` to `regex-automata`. Bug fixes: - [BUG #&#8203;1165](https://github.com/rust-lang/regex/pull/1150): Remove `std` dependency from `perf-literal-multisubstring` crate feature. - [BUG #&#8203;1165](https://github.com/rust-lang/regex/pull/1165): Clarify the meaning of `(?R)$` in the documentation. - [BUG #&#8203;1281](https://github.com/rust-lang/regex/pull/1281): Remove `fuzz/` and `record/` directories from published crate on crates.io. </details> <details> <summary>seanmonstar/reqwest (reqwest)</summary> ### [`v0.13.5`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0135) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.4...v0.13.5) - Add `Error::is_dns()` to identify errors caused by DNS resolution failures. - Add `ClientBuilder::http1_max_headers(usize)` to configure the maximum number of headers accepted in an HTTP/1 response (default 100). - Add TLS version to `TlsInfo` extension. - Fix hickory-dns feature to use `Ipv6AndIpv4` strategy to prefer IPv6. - Fix sending wrong proxy-auth if multiple proxies intercept a given URL. ### [`v0.13.4`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0134) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.3...v0.13.4) - Add `ClientBuilder::tls_sslkeylogfile(bool)` option to allow using the related environment variable. - Add `ClientBuilder::http2_keep_alive_*` options for the `blocking` client. - Add TLS 1.3 support when using `native-tls` backend. - Fix redirect handling to strip sensitive headers when the scheme changes. - Fix HTTP/3 happy-eyeball connection creation. - Upgrade hickory-resolver to 0.26. ### [`v0.13.3`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0133) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.2...v0.13.3) - Fix CertificateRevocationList parsing of PEM values. - Fix logging in resolver to only show host, not full URL. - Fix hickory-dns to fallback to a default if `/etc/resolv.conf` fails. - Fix HTTP/3 to handle `STOP_SENDING` as not an error. - Fix HTTP/3 pool to remove timed out QUIC connections. - Fix HTTP/3 connection establishment picking IPv4 and IPv6. - Upgrade rustls-platform-verifier. - (wasm) Only use wasm-bindgen on unknown-\* targets. ### [`v0.13.2`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0132) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.1...v0.13.2) - Fix HTTP/2 and native-tls ALPN feature combinations. - Fix HTTP/3 to send h3 ALPN. - (wasm) fix `RequestBuilder::json()` from override previously set content-type. ### [`v0.13.1`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0131) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.0...v0.13.1) - Fixes compiling with rustls on Android targets. ### [`v0.13.0`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0130) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.28...v0.13.0) - **Breaking changes**: - `rustls` is now the default TLS backend, instead of `native-tls`. - `rustls` crypto provider defaults to aws-lc instead of *ring*. (`rustls-no-provider` exists if you want a different crypto provider) - `rustls-tls` has been renamed to `rustls`. - rustls roots features removed, `rustls-platform-verifier` is used by default. - To use different roots, call `tls_certs_only(your_roots)`. - `native-tls` now includes ALPN. To disable, use `native-tls-no-alpn`. - `query` and `form` are now crate features, disabled by default. - Long-deprecated methods and crate features have been removed (such as `trust-dns`, which was renamed `hickory-dns` a while ago). - Many TLS-related methods renamed to improve autocompletion and discovery, but previous name left in place with a "soft" deprecation. (just documented, no warnings) - For example, prefer `tls_backend_rustls()` over `use_rustls_tls()`. #### v0.12.28 - Fix compiling on Windows if TLS and SOCKS features are not enabled. #### v0.12.27 - Add `ClientBuilder::windows_named_pipe(name)` option that will force all requests over that Windows Named Piper. #### v0.12.26 - Fix sending `Accept-Encoding` header only with values configured with reqwest, regardless of underlying tower-http config. #### v0.12.25 - Add `Error::is_upgrade()` to determine if the error was from an HTTP upgrade. - Fix sending `Proxy-Authorization` if only username is configured. - Fix sending `Proxy-Authorization` to HTTPS proxies when the target is HTTP. - Refactor internal decompression handling to use tower-http. #### v0.12.24 - Refactor cookie handling to an internal middleware. - Refactor internal random generator. - Refactor base64 encoding to reduce a copy. - Documentation updates. #### v0.12.23 - Add `ClientBuilder::unix_socket(path)` option that will force all requests over that Unix Domain Socket. - Add `ClientBuilder::retry(policy)` and `reqwest::retry::Builder` to configure automatic retries. - Add `ClientBuilder::dns_resolver2()` with more ergonomic argument bounds, allowing more resolver implementations. - Add `http3_*` options to `blocking::ClientBuilder`. - Fix default TCP timeout values to enabled and faster. - Fix SOCKS proxies to default to port 1080 - (wasm) Add cache methods to `RequestBuilder`. #### v0.12.22 - Fix socks proxies when resolving IPv6 destinations. #### v0.12.21 - Fix socks proxy to use `socks4a://` instead of `socks4h://`. - Fix `Error::is_timeout()` to check for hyper and IO timeouts too. - Fix request `Error` to again include URLs when possible. - Fix socks connect error to include more context. - (wasm) implement `Default` for `Body`. #### v0.12.20 - Add `ClientBuilder::tcp_user_timeout(Duration)` option to set `TCP_USER_TIMEOUT`. - Fix proxy headers only using the first matched proxy. - (wasm) Fix re-adding `Error::is_status()`. #### v0.12.19 - Fix redirect that changes the method to GET should remove payload headers. - Fix redirect to only check the next scheme if the policy action is to follow. - (wasm) Fix compilation error if `cookies` feature is enabled (by the way, it's a noop feature in wasm). #### v0.12.18 - Fix compilation when `socks` enabled without TLS. #### v0.12.17 - Fix compilation on macOS. #### v0.12.16 - Add `ClientBuilder::http3_congestion_bbr()` to enable BBR congestion control. - Add `ClientBuilder::http3_send_grease()` to configure whether to send use QUIC grease. - Add `ClientBuilder::http3_max_field_section_size()` to configure the maximum response headers. - Add `ClientBuilder::tcp_keepalive_interval()` to configure TCP probe interval. - Add `ClientBuilder::tcp_keepalive_retries()` to configure TCP probe count. - Add `Proxy::headers()` to add extra headers that should be sent to a proxy. - Fix `redirect::Policy::limit()` which had an off-by-1 error, allowing 1 more redirect than specified. - Fix HTTP/3 to support streaming request bodies. - (wasm) Fix null bodies when calling `Response::bytes_stream()`. #### v0.12.15 - Fix Windows to support both `ProxyOverride` and `NO_PROXY`. - Fix http3 to support streaming response bodies. - Fix http3 dependency from public API misuse. #### v0.12.14 - Fix missing `fetch_mode_no_cors()`, marking as deprecated when not on WASM. #### v0.12.13 - Add `Form::into_reader()` for blocking `multipart` forms. - Add `Form::into_stream()` for async `multipart` forms. - Add support for SOCKS4a proxies. - Fix decoding responses with multiple zstd frames. - Fix `RequestBuilder::form()` from overwriting a previously set `Content-Type` header, like the other builder methods. - Fix cloning of request timeout in `blocking::Request`. - Fix http3 synchronization of connection creation, reducing unneccesary extra connections. - Fix Windows system proxy to use `ProxyOverride` as a `NO_PROXY` value. - Fix blocking read to correctly reserve and zero read buffer. - (wasm) Add support for request timeouts. - (wasm) Fix `Error::is_timeout()` to return true when from a request timeout. #### v0.12.12 - (wasm) Fix compilation by not compiler `tokio/time` on WASM. #### v0.12.11 - Fix decompression returning an error when HTTP/2 ends with an empty data frame. #### v0.12.10 - Add `ClientBuilder::connector_layer()` to allow customizing the connector stack. - Add `ClientBuilder::http2_max_header_list_size()` option. - Fix propagating body size hint (`content-length`) information when wrapping bodies. - Fix decompression of chunked bodies so the connections can be reused more often. #### v0.12.9 - Add `tls::CertificateRevocationLists` support. - Add crate features to enable webpki roots without selecting a rustls provider. - Fix `connection_verbose()` to output read logs. - Fix `multipart::Part::file()` to automatically include content-length. - Fix proxy to internally no longer cache system proxy settings. #### v0.12.8 - Add support for SOCKS4 proxies. - Add `multipart::Form::file()` method for adding files easily. - Add `Body::wrap()` to wrap any `http_body::Body` type. - Fix the pool configuration to use a timer to remove expired connections. #### v0.12.7 - Revert adding `impl Service<http::Request<_>>` for `Client`. #### v0.12.6 - Add support for `danger_accept_invalid_hostnames` for `rustls`. - Add `impl Service<http::Request<Body>>` for `Client` and `&'_ Client`. - Add support for `!Sync` bodies in `Body::wrap_stream()`. - Enable happy eyeballs when `hickory-dns` is used. - Fix `Proxy` so that `HTTP(S)_PROXY` values take precedence over `ALL_PROXY`. - Fix `blocking::RequestBuilder::header()` from unsetting `sensitive` on passed header values. #### v0.12.5 - Add `blocking::ClientBuilder::dns_resolver()` method to change DNS resolver in blocking client. - Add `http3` feature back, still requiring `reqwest_unstable`. - Add `rustls-tls-no-provider` Cargo feature to use rustls without a crypto provider. - Fix `Accept-Encoding` header combinations. - Fix http3 resolving IPv6 addresses. - Internal: upgrade to rustls 0.23. #### v0.12.4 - Add `zstd` support, enabled with `zstd` Cargo feature. - Add `ClientBuilder::read_timeout(Duration)`, which applies the duration for each read operation. The timeout resets after a successful read. #### v0.12.3 - Add `FromStr` for `dns::Name`. - Add `ClientBuilder::built_in_webpki_certs(bool)` to enable them separately. - Add `ClientBuilder::built_in_native_certs(bool)` to enable them separately. - Fix sending `content-length: 0` for GET requests. - Fix response body `content_length()` to return value when timeout is configured. - Fix `ClientBuilder::resolve()` to use lowercase domain names. #### v0.12.2 - Fix missing ALPN when connecting to socks5 proxy with rustls. - Fix TLS version limits with rustls. - Fix not detected ALPN h2 from server with native-tls. #### v0.12.1 - Fix `ClientBuilder::interface()` when no TLS is enabled. - Fix `TlsInfo::peer_certificate()` being truncated with rustls. - Fix panic if `http2` feature disabled but TLS negotiated h2 in ALPN. - Fix `Display` for `Error` to not include its source error. ### [`v0.12.28`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01228) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.27...v0.12.28) - Fix compiling on Windows if TLS and SOCKS features are not enabled. ### [`v0.12.27`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01227) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.26...v0.12.27) - Add `ClientBuilder::windows_named_pipe(name)` option that will force all requests over that Windows Named Piper. ### [`v0.12.26`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01226) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.25...v0.12.26) - Fix sending `Accept-Encoding` header only with values configured with reqwest, regardless of underlying tower-http config. ### [`v0.12.25`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01225) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.24...v0.12.25) - Add `Error::is_upgrade()` to determine if the error was from an HTTP upgrade. - Fix sending `Proxy-Authorization` if only username is configured. - Fix sending `Proxy-Authorization` to HTTPS proxies when the target is HTTP. - Refactor internal decompression handling to use tower-http. ### [`v0.12.24`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01224) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24) - Refactor cookie handling to an internal middleware. - Refactor internal random generator. - Refactor base64 encoding to reduce a copy. - Documentation updates. ### [`v0.12.23`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01223) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.22...v0.12.23) - Add `ClientBuilder::unix_socket(path)` option that will force all requests over that Unix Domain Socket. - Add `ClientBuilder::retry(policy)` and `reqwest::retry::Builder` to configure automatic retries. - Add `ClientBuilder::dns_resolver2()` with more ergonomic argument bounds, allowing more resolver implementations. - Add `http3_*` options to `blocking::ClientBuilder`. - Fix default TCP timeout values to enabled and faster. - Fix SOCKS proxies to default to port 1080 - (wasm) Add cache methods to `RequestBuilder`. </details> <details> <summary>dtolnay/semver (semver)</summary> ### [`v1.0.28`](https://github.com/dtolnay/semver/releases/tag/1.0.28) [Compare Source](https://github.com/dtolnay/semver/compare/1.0.27...1.0.28) - Documentation improvements ### [`v1.0.27`](https://github.com/dtolnay/semver/releases/tag/1.0.27) [Compare Source](https://github.com/dtolnay/semver/compare/1.0.26...1.0.27) - Switch serde dependency to serde_core ([#&#8203;333](https://github.com/dtolnay/semver/issues/333)) </details> <details> <summary>serde-rs/serde (serde)</summary> ### [`v1.0.229`](https://github.com/serde-rs/serde/releases/tag/v1.0.229) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.228...v1.0.229) - Update to syn 3 ### [`v1.0.228`](https://github.com/serde-rs/serde/releases/tag/v1.0.228) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.227...v1.0.228) - Allow building documentation with `RUSTDOCFLAGS='--cfg=docsrs'` set for the whole dependency graph ([#&#8203;2995](https://github.com/serde-rs/serde/issues/2995)) ### [`v1.0.227`](https://github.com/serde-rs/serde/releases/tag/v1.0.227) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.227) - Documentation improvements ([#&#8203;2991](https://github.com/serde-rs/serde/issues/2991)) ### [`v1.0.226`](https://github.com/serde-rs/serde/releases/tag/v1.0.226) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.225...v1.0.226) - Deduplicate variant matching logic inside generated Deserialize impl for adjacently tagged enums ([#&#8203;2935](https://github.com/serde-rs/serde/issues/2935), thanks [@&#8203;Mingun](https://github.com/Mingun)) ### [`v1.0.225`](https://github.com/serde-rs/serde/releases/tag/v1.0.225) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.224...v1.0.225) - Avoid triggering a deprecation warning in derived Serialize and Deserialize impls for a data structure that contains its own deprecations ([#&#8203;2879](https://github.com/serde-rs/serde/issues/2879), thanks [@&#8203;rcrisanti](https://github.com/rcrisanti)) ### [`v1.0.224`](https://github.com/serde-rs/serde/releases/tag/v1.0.224) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.223...v1.0.224) - Remove private types being suggested in rustc diagnostics ([#&#8203;2979](https://github.com/serde-rs/serde/issues/2979)) ### [`v1.0.223`](https://github.com/serde-rs/serde/releases/tag/v1.0.223) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.222...v1.0.223) - Fix serde_core documentation links ([#&#8203;2978](https://github.com/serde-rs/serde/issues/2978)) ### [`v1.0.222`](https://github.com/serde-rs/serde/releases/tag/v1.0.222) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.221...v1.0.222) - Make `serialize_with` attribute produce code that works if respanned to 2024 edition ([#&#8203;2950](https://github.com/serde-rs/serde/issues/2950), thanks [@&#8203;aytey](https://github.com/aytey)) ### [`v1.0.221`](https://github.com/serde-rs/serde/releases/tag/v1.0.221) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.220...v1.0.221) - Documentation improvements ([#&#8203;2973](https://github.com/serde-rs/serde/issues/2973)) - Deprecate `serde_if_integer128!` macro ([#&#8203;2975](https://github.com/serde-rs/serde/issues/2975)) ### [`v1.0.220`](https://github.com/serde-rs/serde/releases/tag/v1.0.220) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.219...v1.0.220) - Add a way for data formats to depend on serde traits without waiting for serde_derive compilation: <https://docs.rs/serde_core> ([#&#8203;2608](https://github.com/serde-rs/serde/issues/2608), thanks [@&#8203;osiewicz](https://github.com/osiewicz)) </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.154`](https://github.com/serde-rs/json/releases/tag/v1.0.154) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.153...v1.0.154) - Support preserve_order in no_std builds ([#&#8203;1333](https://github.com/serde-rs/json/issues/1333), thanks [@&#8203;razmser](https://github.com/razmser)) ### [`v1.0.153`](https://github.com/serde-rs/json/releases/tag/v1.0.153) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.152...v1.0.153) - Report invalid UTF-8 at the first bad byte ([#&#8203;1345](https://github.com/serde-rs/json/issues/1345), thanks [@&#8203;00200200](https://github.com/00200200)) ### [`v1.0.152`](https://github.com/serde-rs/json/releases/tag/v1.0.152) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.151...v1.0.152) - Preserve sign of `-0` in arbitrary_precision mode ([#&#8203;1346](https://github.com/serde-rs/json/issues/1346), thanks [@&#8203;yuxi-liu-wired](https://github.com/yuxi-liu-wired)) - Fix comparison of large non-integer values with f32::INFINITY ([#&#8203;1347](https://github.com/serde-rs/json/issues/1347), thanks [@&#8203;yuxi-liu-wired](https://github.com/yuxi-liu-wired)) ### [`v1.0.151`](https://github.com/serde-rs/json/releases/tag/v1.0.151) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.150...v1.0.151) - Add RawValue::from_string_unchecked ([#&#8203;1331](https://github.com/serde-rs/json/issues/1331), thanks [@&#8203;WonderLawrence](https://github.com/WonderLawrence)) ### [`v1.0.150`](https://github.com/serde-rs/json/releases/tag/v1.0.150) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.149...v1.0.150) - Reject non-string enum object keys ([#&#8203;1324](https://github.com/serde-rs/json/issues/1324), thanks [@&#8203;puneetdixit200](https://github.com/puneetdixit200)) ### [`v1.0.149`](https://github.com/serde-rs/json/releases/tag/v1.0.149) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.148...v1.0.149) - Align arbitrary_precision number strings with zmij's formatting ([#&#8203;1306](https://github.com/serde-rs/json/issues/1306), thanks [@&#8203;b41sh](https://github.com/b41sh)) ### [`v1.0.148`](https://github.com/serde-rs/json/releases/tag/v1.0.148) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.147...v1.0.148) - Update `zmij` dependency to 1.0 ### [`v1.0.147`](https://github.com/serde-rs/json/releases/tag/v1.0.147) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.146...v1.0.147) - Switch float-to-string algorithm from Ryū to Żmij for better f32 and f64 serialization performance ([#&#8203;1304](https://github.com/serde-rs/json/issues/1304)) ### [`v1.0.146`](https://github.com/serde-rs/json/releases/tag/v1.0.146) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.145...v1.0.146) - Set fast_arithmetic=64 for riscv64 ([#&#8203;1305](https://github.com/serde-rs/json/issues/1305), thanks [@&#8203;Xeonacid](https://github.com/Xeonacid)) ### [`v1.0.145`](https://github.com/serde-rs/json/releases/tag/v1.0.145) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.144...v1.0.145) - Raise serde version requirement to >=1.0.220 ### [`v1.0.144`](https://github.com/serde-rs/json/releases/tag/v1.0.144) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.143...v1.0.144) - Switch serde dependency to serde_core ([#&#8203;1285](https://github.com/serde-rs/json/issues/1285)) ### [`v1.0.143`](https://github.com/serde-rs/json/releases/tag/v1.0.143) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.142...v1.0.143) - Implement Clone and Debug for serde_json::Map iterators ([#&#8203;1264](https://github.com/serde-rs/json/issues/1264), thanks [@&#8203;xlambein](https://github.com/xlambein)) - Implement Default for CompactFormatter ([#&#8203;1268](https://github.com/serde-rs/json/issues/1268), thanks [@&#8203;SOF3](https://github.com/SOF3)) - Implement FromStr for serde_json::Map ([#&#8203;1271](https://github.com/serde-rs/json/issues/1271), thanks [@&#8203;mickvangelderen](https://github.com/mickvangelderen)) ### [`v1.0.142`](https://github.com/serde-rs/json/releases/tag/v1.0.142) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.141...v1.0.142) - impl Default for \&Value ([#&#8203;1265](https://github.com/serde-rs/json/issues/1265), thanks [@&#8203;aatifsyed](https://github.com/aatifsyed)) ### [`v1.0.141`](https://github.com/serde-rs/json/releases/tag/v1.0.141) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.140...v1.0.141) - Optimize string escaping during serialization ([#&#8203;1273](https://github.com/serde-rs/json/issues/1273), thanks [@&#8203;conradludgate](https://github.com/conradludgate)) </details> <details> <summary>Stebalien/tempfile (tempfile)</summary> ### [`v3.27.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3270) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.26.0...v3.27.0) This release adds `TempPath::try_from_path` and deprecates `TempPath::from_path`. Prior to this release, `TempPath::from_path` made no attempts to convert relative paths into absolute paths. The following code would have deleted the wrong file: ```rust let tmp_path = TempPath::from_path("foo") std::env::set_current_dir("/some/other/path").unwrap(); drop(tmp_path); ``` Now: 1. `TempPath::from_path` will attempt to convert relative paths into absolute paths. However, this isn't always possible as we need to call `std::env::current_dir`, which can fail. If we fail to convert the relative path to an absolute path, we simply keep the relative path. 2. The `TempPath::try_from_path` behaves exactly like `TempPath::from_path`, except that it returns an error if we fail to convert a relative path into an absolute path (or if the passed path is empty). Neither function attempt to verify the existence of the file in question. Thanks to [@&#8203;meng-xu-cs](https://github.com/meng-xu-cs) for reporting this issue. ### [`v3.26.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3260) - Support `NamedTempFile::persist` on RedoxOS ([#&#8203;393](https://github.com/Stebalien/tempfile/issues/393)) (thanks to [@&#8203;Andy-Python-Programmer](https://github.com/Andy-Python-Programmer)). ### [`v3.25.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3250) - Allow `getrandom` 0.4.x while retaining support for `getrandom` 0.3.x. ### [`v3.24.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3240) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.23.0...v3.24.0) - Actually support WASIp2 without the nightly feature. This library is now feature complete on WASIp2 without any additional feature flags. - Exclude CI scripts from the published crate. ### [`v3.23.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3230) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.22.0...v3.23.0) - Remove need for the "nightly" feature to compile with "wasip2". ### [`v3.22.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3220) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.21.0...v3.22.0) - Updated `windows-sys` requirement to allow version 0.61.x - Remove `unstable-windows-keep-open-tempfile` feature. ### [`v3.21.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3210) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.20.0...v3.21.0) - Updated `windows-sys` requirement to allow version 0.60.x </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.54.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.54.1): Tokio v1.54.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.54.0...tokio-1.54.1) ##### 1.54.1 (October 21st, 2026) ##### Fixed - time: revert "remove the runtime handle from timers" ([#&#8203;8692]) [#&#8203;8692]: https://github.com/tokio-rs/tokio/pull/8692 ### [`v1.54.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.54.0): Tokio v1.54.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.53.3...tokio-1.54.0) ##### 1.54.0 (October 19th, 2026) The 1.54.0 release includes all changes up to 1.53.3. The MSRV is increased to 1.85. ([#&#8203;8514]) ##### Added - fs: add `File::set_times`, `File::set_modified`, and `fs::FileTimes` ([#&#8203;8504]) - net: implement `Default` for `named_pipe::{ClientOptions, ServerOptions}` ([#&#8203;8378]) - runtime: add `Builder::max_io_events_per_busy_tick` ([#&#8203;8410]) - runtime: stabilize `tokio::runtime::worker_index()` ([#&#8203;8431]) - sync: add `SemaphorePermit::semaphore()` ([#&#8203;8482]) - sync: add `blocking_acquire` methods to `Semaphore` ([#&#8203;8269]) - sync: add `watch::Receiver::is_closed` ([#&#8203;8481]) - wasm: support JSPI for Emscripten target ([#&#8203;8285], [#&#8203;8627]) - wasm: support the `wasm32-unknown-emscripten` target ([#&#8203;8281], [#&#8203;8422], [#&#8203;8528], [#&#8203;8628]) ##### Changed - fs: reject zero in `File::set_max_buf_size` ([#&#8203;8449]) - io: make `copy_buf` cooperative ([#&#8203;8459]) - io: panic when `BufReader` or `BufStream` is created with zero capacity ([#&#8203;8494]) - io: panic when in-memory pipe is created with zero capacity ([#&#8203;8397]) - io: reject zero buffer size in `copy_bidirectional_with_sizes` ([#&#8203;8454]) - io: support vectored writes in `Sink` ([#&#8203;8663]) - net: start `UnixStream::pair` and `UnixDatagram::pair` sockets as writable ([#&#8203;8444]) - net: start accepted sockets as readable and writable ([#&#8203;8435]) - net: support `UCred` on Fuchsia ([#&#8203;8257]) - process: use `mio::unix::pipe` for Unix child stdio ([#&#8203;8603]) - runtime: cache-pad the shared injection queue and idle state ([#&#8203;8622]) - runtime: decide auto-boxing of spawned futures at monomorphization time ([#&#8203;8414]) - runtime: make `enable_io` available whenever `rt` is enabled ([#&#8203;8387]) - runtime: move `block_in_place` setup into a non-generic function ([#&#8203;8315]) - runtime: move the multi-thread inject queue to its own mutex ([#&#8203;8382]) - runtime: panic when `max_io_events_per_tick` is zero ([#&#8203;8476]) - runtime: suggest `.await` in nested `block_on` panic message ([#&#8203;8501]) - sync: avoid atomic reader count in broadcast slots ([#&#8203;8357]) - sync: use acquire/release orderings in `Notify` ([#&#8203;8325]) - time: remove the runtime handle from timers ([#&#8203;8458]) ##### Fixed - fs: restore `File` internal state when op fails ([#&#8203;8291]) - io: complete zero-length memory stream operations immediately ([#&#8203;8323]) - io: flush the writer when the reader stalls in `copy_buf` ([#&#8203;8424]) - io: keep the shutdown bit when clearing readiness ([#&#8203;8435]) - io: preserve the full `ScheduledIo` tick in readiness events ([#&#8203;8331]) - io: read lines as bytes so a partial line survives an I/O error ([#&#8203;8400]) - io: retry on `ErrorKind::Interrupted` in more I/O operations ([#&#8203;8417], [#&#8203;8432], [#&#8203;8448], [#&#8203;8453], [#&#8203;8455], [#&#8203;8460]) - io: use `spawn_mandatory_blocking` for stdout and stderr ([#&#8203;8506]) - io: wait for pending operations before `BufReader` seeks ([#&#8203;8599]) - net: close `CreateFileW` handle on `SetNamedPipeHandleState` failure ([#&#8203;8418]) - net: fix peer credentials on NetBSD ([#&#8203;8589]) - net: saturate `TcpSocket` and `UnixSocket` listen backlog ([#&#8203;8511]) - net: treat `ENOTCONN` as success in `UnixStream::shutdown` ([#&#8203;8526]) - runtime: allow building with `--all-features` without `tokio_unstable` ([#&#8203;8401]) - runtime: avoid overflow in `shutdown_timeout()` ([#&#8203;8497]) - runtime: fix `spawn_blocking` hang when only scheduler workers exist ([#&#8203;8408]) - runtime: fix misleading signal driver panic message ([#&#8203;8419]) - sync: preserve FIFO lock order when coop budget is exhausted ([#&#8203;8371]) - sync: use `usize` for permit count in `SemaphorePermit` ([#&#8203;8405]) - time: avoid interval deadline overflow ([#&#8203;8385]) - time: handle wrapped top-level timer-wheel slots ([#&#8203;8334]) ##### Unstable - fs: fall back when `io_uring` has no IO driver ([#&#8203;8165]) - metrics: cap log histogram precision ([#&#8203;8496]) - runtime: add an opt-in sharded `spawn_blocking` queue ([#&#8203;8337]) - runtime: expose schedule latency in task hooks ([#&#8203;8282]) - taskdump: fix idle bookkeeping when a task dump wakes parked workers ([#&#8203;8372]) - taskdump: skip non-idle tasks during taskdumps ([#&#8203;8568]) ##### Documented - docs: fix stray braces and broken links in rustdoc ([#&#8203;8605]) - fs: document cancellation behavior of `tokio::fs` ([#&#8203;8265]) - net: add Safety docs for named pipe `from_raw_handle` ([#&#8203;8378]) - net: document that `TcpStream::connect` returns only the last error ([#&#8203;8421]) - runtime: add error documentation for `runtime::Builder` ([#&#8203;8297]) - runtime: link `available_parallelism` in worker count docs ([#&#8203;8625]) - sync: clarify panic behavior of `broadcast::channel()` ([#&#8203;8420]) - sync: fix typo in `Semaphore` documentation ([#&#8203;8521]) [#&#8203;8165]: https://github.com/tokio-rs/tokio/pull/8165 [#&#8203;8257]: https://github.com/tokio-rs/tokio/pull/8257 [#&#8203;8265]: https://github.com/tokio-rs/tokio/pull/8265 [#&#8203;8269]: https://github.com/tokio-rs/tokio/pull/8269 [#&#8203;8281]: https://github.com/tokio-rs/tokio/pull/8281 [#&#8203;8282]: https://github.com/tokio-rs/tokio/pull/8282 [#&#8203;8285]: https://github.com/tokio-rs/tokio/pull/8285 [#&#8203;8291]: https://github.com/tokio-rs/tokio/pull/8291 [#&#8203;8297]: https://github.com/tokio-rs/tokio/pull/8297 [#&#8203;8315]: https://github.com/tokio-rs/tokio/pull/8315 [#&#8203;8323]: https://github.com/tokio-rs/tokio/pull/8323 [#&#8203;8325]: https://github.com/tokio-rs/tokio/pull/8325 [#&#8203;8331]: https://github.com/tokio-rs/tokio/pull/8331 [#&#8203;8334]: https://github.com/tokio-rs/tokio/pull/8334 [#&#8203;8337]: https://github.com/tokio-rs/tokio/pull/8337 [#&#8203;8357]: https://github.com/tokio-rs/tokio/pull/8357 [#&#8203;8371]: https://github.com/tokio-rs/tokio/pull/8371 [#&#8203;8372]: https://github.com/tokio-rs/tokio/pull/8372 [#&#8203;8378]: https://github.com/tokio-rs/tokio/pull/8378 [#&#8203;8382]: https://github.com/tokio-rs/tokio/pull/8382 [#&#8203;8385]: https://github.com/tokio-rs/tokio/pull/8385 [#&#8203;8387]: https://github.com/tokio-rs/tokio/pull/8387 [#&#8203;8397]: https://github.com/tokio-rs/tokio/pull/8397 [#&#8203;8400]: https://github.com/tokio-rs/tokio/pull/8400 [#&#8203;8401]: https://github.com/tokio-rs/tokio/pull/8401 [#&#8203;8405]: https://github.com/tokio-rs/tokio/pull/8405 [#&#8203;8408]: https://github.com/tokio-rs/tokio/pull/8408 [#&#8203;8410]: https://github.com/tokio-rs/tokio/pull/8410 [#&#8203;8414]: https://github.com/tokio-rs/tokio/pull/8414 [#&#8203;8417]: https://github.com/tokio-rs/tokio/pull/8417 [#&#8203;8418]: https://github.com/tokio-rs/tokio/pull/8418 [#&#8203;8419]: https://github.com/tokio-rs/tokio/pull/8419 [#&#8203;8420]: https://github.com/tokio-rs/tokio/pull/8420 [#&#8203;8421]: https://github.com/tokio-rs/tokio/pull/8421 [#&#8203;8422]: https://github.com/tokio-rs/tokio/pull/8422 [#&#8203;8424]: https://github.com/tokio-rs/tokio/pull/8424 [#&#8203;8431]: https://github.com/tokio-rs/tokio/pull/8431 [#&#8203;8432]: https://github.com/tokio-rs/tokio/pull/8432 [#&#8203;8435]: https://github.com/tokio-rs/tokio/pull/8435 [#&#8203;8444]: https://github.com/tokio-rs/tokio/pull/8444 [#&#8203;8448]: https://github.com/tokio-rs/tokio/pull/8448 [#&#8203;8449]: https://github.com/tokio-rs/tokio/pull/8449 [#&#8203;8453]: https://github.com/tokio-rs/tokio/pull/8453 [#&#8203;8454]: https://github.com/tokio-rs/tokio/pull/8454 [#&#8203;8455]: https://github.com/tokio-rs/tokio/pull/8455 [#&#8203;8458]: https://github.com/tokio-rs/tokio/pull/8458 [#&#8203;8459]: https://github.com/tokio-rs/tokio/pull/8459 [#&#8203;8460]: https://github.com/tokio-rs/tokio/pull/8460 [#&#8203;8476]: https://github.com/tokio-rs/tokio/pull/8476 [#&#8203;8481]: https://github.com/tokio-rs/tokio/pull/8481 [#&#8203;8482]: https://github.com/tokio-rs/tokio/pull/8482 [#&#8203;8494]: https://github.com/tokio-rs/tokio/pull/8494 [#&#8203;8496]: https://github.com/tokio-rs/tokio/pull/8496 [#&#8203;8497]: https://github.com/tokio-rs/tokio/pull/8497 [#&#8203;8501]: https://github.com/tokio-rs/tokio/pull/8501 [#&#8203;8504]: https://github.com/tokio-rs/tokio/pull/8504 [#&#8203;8506]: https://github.com/tokio-rs/tokio/pull/8506 [#&#8203;8511]: https://github.com/tokio-rs/tokio/pull/8511 [#&#8203;8514]: https://github.com/tokio-rs/tokio/pull/8514 [#&#8203;8521]: https://github.com/tokio-rs/tokio/pull/8521 [#&#8203;8526]: https://github.com/tokio-rs/tokio/pull/8526 [#&#8203;8528]: https://github.com/tokio-rs/tokio/pull/8528 [#&#8203;8568]: https://github.com/tokio-rs/tokio/pull/8568 [#&#8203;8589]: https://github.com/tokio-rs/tokio/pull/8589 [#&#8203;8599]: https://github.com/tokio-rs/tokio/pull/8599 [#&#8203;8603]: https://github.com/tokio-rs/tokio/pull/8603 [#&#8203;8605]: https://github.com/tokio-rs/tokio/pull/8605 [#&#8203;8622]: https://github.com/tokio-rs/tokio/pull/8622 [#&#8203;8625]: https://github.com/tokio-rs/tokio/pull/8625 [#&#8203;8627]: https://github.com/tokio-rs/tokio/pull/8627 [#&#8203;8628]: https://github.com/tokio-rs/tokio/pull/8628 [#&#8203;8663]: https://github.com/tokio-rs/tokio/pull/8663 ### [`v1.53.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.53.3): Tokio v1.53.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.53.2...tokio-1.53.3) ##### 1.53.3 (October 13th, 2026) ##### Added - io: add `AsyncFd::register` and `AsyncFd::register_with_interest` ([#&#8203;8587]) ##### Changed - io: deprecate `AsyncFd::{new, with_interest, try_new, try_with_interest}` ([#&#8203;8587]) ##### Fixed - io: wake and drop `DuplexStream` wakers outside the lock ([#&#8203;8618]) - macros: avoid `unreachable_code` in `join!` and `try_join!` for `Infallible` ([#&#8203;8518]) - runtime: fix paused time auto-advancing when I/O wakes a task on `current_thread` ([#&#8203;8595]) - sync: wake waiters outside the lock when closing a semaphore ([#&#8203;8529]) - test: fix several flaky tests ([#&#8203;8196], [#&#8203;8427], [#&#8203;8609]) ##### Fixed (unstable) - rt: keep `io_uring` op alive when submission fails after push ([#&#8203;8185]) [#&#8203;8185]: https://github.com/tokio-rs/tokio/pull/8185 [#&#8203;8196]: https://github.com/tokio-rs/tokio/pull/8196 [#&#8203;8427]: https://github.com/tokio-rs/tokio/pull/8427 [#&#8203;8518]: https://github.com/tokio-rs/tokio/pull/8518 [#&#8203;8529]: https://github.com/tokio-rs/tokio/pull/8529 [#&#8203;8587]: https://github.com/tokio-rs/tokio/pull/8587 [#&#8203;8595]: https://github.com/tokio-rs/tokio/pull/8595 [#&#8203;8609]: https://github.com/tokio-rs/tokio/pull/8609 [#&#8203;8618]: https://github.com/tokio-rs/tokio/pull/8618 ### [`v1.53.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.53.2): Tokio v1.53.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.53.1...tokio-1.53.2) ##### 1.53.2 (October 3rd, 2026) ##### Fixed - fs: handle integer overflow in buffered relative seek ([#&#8203;8574]) - io: revert "always cleanup `AsyncFd` registration list on deregister" ([#&#8203;8540]) - process: unregister Windows wait before closing child handle ([#&#8203;8564]) - rt: drop blocking pool mutex before shutting down rejected task ([#&#8203;8562]) - sync: fix mpsc index wraparound in block reclamation ([#&#8203;8546]) - sync: forget mpsc `Permit` before sending value ([#&#8203;8560]) - sync: validate `MAX_PERMITS` in `Semaphore::acquire` ([#&#8203;8548]) - sync: wake broadcast `Sender::closed` outside mutex ([#&#8203;8558]) - task: drop replaced waker outside lock in `JoinSet` ([#&#8203;8554]) - time: drop timer lock before dropping waker in `clear_entry` ([#&#8203;8552]) - time: expire timers directly on shutdown without rotating wheel ([#&#8203;8570]) ##### Fixed (unstable) - fs: clamp `io_uring` read length to `u32::MAX` ([#&#8203;8572]) - rt: ignore `current_thread` task dumps from other runtimes ([#&#8203;8544]) - rt: preserve `io_uring` context if a completion waker panics ([#&#8203;8566]) - sync: fix semaphore use-after-free and permit leak on tracing panic ([#&#8203;8542]) - taskdump: restore deferred leaf wakes during capture ([#&#8203;8445]) - time: drop stored waker when cancelling alt timer entry ([#&#8203;8550]) [#&#8203;8445]: https://github.com/tokio-rs/tokio/pull/8445 [#&#8203;8572]: https://github.com/tokio-rs/tokio/pull/8572 [#&#8203;8540]: https://github.com/tokio-rs/tokio/pull/8540 [#&#8203;8542]: https://github.com/tokio-rs/tokio/pull/8542 [#&#8203;8544]: https://github.com/tokio-rs/tokio/pull/8544 [#&#8203;8546]: https://github.com/tokio-rs/tokio/pull/8546 [#&#8203;8548]: https://github.com/tokio-rs/tokio/pull/8548 [#&#8203;8550]: https://github.com/tokio-rs/tokio/pull/8550 [#&#8203;8552]: https://github.com/tokio-rs/tokio/pull/8552 [#&#8203;8554]: https://github.com/tokio-rs/tokio/pull/8554 [#&#8203;8558]: https://github.com/tokio-rs/tokio/pull/8558 [#&#8203;8560]: https://github.com/tokio-rs/tokio/pull/8560 [#&#8203;8562]: https://github.com/tokio-rs/tokio/pull/8562 [#&#8203;8564]: https://github.com/tokio-rs/tokio/pull/8564 [#&#8203;8566]: https://github.com/tokio-rs/tokio/pull/8566 [#&#8203;8570]: https://github.com/tokio-rs/tokio/pull/8570 [#&#8203;8574]: https://github.com/tokio-rs/tokio/pull/8574 ### [`v1.53.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.53.1): Tokio v1.53.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.53.0...tokio-1.53.1) ##### 1.53.1 (July 20th, 2026) ##### Fixed - signal: restore MSRV by removing `OnceLock::wait` from the Windows handler ([#&#8203;8300]) ##### Fixed (unstable) - time: fix alt timer cancellation and insertion race ([#&#8203;8252]) ##### Documented - runtime: remove dead link definition in Runtime::block_on ([#&#8203;8301]) [#&#8203;8252]: https://github.com/tokio-rs/tokio/pull/8252 [#&#8203;8300]: https://github.com/tokio-rs/tokio/pull/8300 [#&#8203;8301]: https://github.com/tokio-rs/tokio/pull/8301 ### [`v1.53.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.53.0): Tokio v1.53.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.4...tokio-1.53.0) ##### 1.53.0 (July 17th, 2026) ##### Added - fs: implement `From<OwnedFd>` and `From<OwnedHandle>` for `File` ([#&#8203;8266]) - metrics: add task schedule latency metric ([#&#8203;7986]) - net: add `SocketAddr` methods to Unix sockets ([#&#8203;8144]) ##### Changed - io: add `#[inline]` to IO trait impls for in-memory types ([#&#8203;8242]) - net: implement UCred::pid on FreeBSD ([#&#8203;8086]) - net: support Nuttx target os ([#&#8203;8259]) - signal: refactor global variables on Windows ([#&#8203;8231]) - sync: `mpsc::{Receiver,UnboundedReceiver}` now drops waker on drop, even if there are still senders ([#&#8203;8095]) - taskdump: support taskdumps on s390x ([#&#8203;8192]) - time: add `#[track_caller]` to `timeout_at()` ([#&#8203;8077]) - time: consolidate mutex locks on spurious poll ([#&#8203;8124]) - time: defer waker clone on spurious poll ([#&#8203;8107]) - time: move lazy-registration state into `Sleep` ([#&#8203;8132]) - tracing: remove unnecessary span clone ([#&#8203;8126]) ##### Fixed - io: do not treat zero-length reads as EOF in `Chain` ([#&#8203;8251]) - net: use getpeereid for QNX peer credentials ([#&#8203;8270]) - runtime: avoid illegal state in `FastRand` ([#&#8203;8078]) - sync: wake mpsc receiver when a queued `reserve[_many]` returns permits ([#&#8203;8260]) - taskdump: skip double wake on `Trace::capture`/`Trace::trace_with` ([#&#8203;8043]) - time: avoid stack overflow in runtime constructor ([#&#8203;8093]) - time (alt timer): ensure timers stay in the same runtime after `.reset()` ([#&#8203;8169]) ##### IO uring (unstable) - fs: use io-uring for `fs::try_exists` ([#&#8203;8080]) - fs: use io-uring for renaming files ([#&#8203;7800]) - rt: flush io-uring CQE in case of CQE overflow ([#&#8203;8277]) ##### Documented - docs: clarify cancel safety wording ([#&#8203;8181]) - fs: clarify `create_dir_all` succeeds if path exists ([#&#8203;8149]) - io: add warning about stdout reordering with multiple handles ([#&#8203;8276]) - net: document pipe `try_read*`/`try_write*` readiness behavior ([#&#8203;8032]) - runtime: document interaction with fork() ([#&#8203;8202]) - sync: clarify broadcast lagging semantics ([#&#8203;8239]) - sync: document memory ordering guarantees for Semaphore ([#&#8203;8119]) - task: explain why `yield_now` defers its waker ([#&#8203;8254]) - time: add panic docs to `timeout_at()` ([#&#8203;8077]) - time: fix reversed poll order in timeout doc ([#&#8203;8214]) [#&#8203;7800]: https://github.com/tokio-rs/tokio/pull/7800 [#&#8203;7986]: https://github.com/tokio-rs/tokio/pull/7986 [#&#8203;8032]: https://github.com/tokio-rs/tokio/pull/8032 [#&#8203;8043]: https://github.com/tokio-rs/tokio/pull/8043 [#&#8203;8077]: https://github.com/tokio-rs/tokio/pull/8077 [#&#8203;8078]: https://github.com/tokio-rs/tokio/pull/8078 [#&#8203;8080]: https://github.com/tokio-rs/tokio/pull/8080 [#&#8203;8086]: https://github.com/tokio-rs/tokio/pull/8086 [#&#8203;8093]: https://github.com/tokio-rs/tokio/pull/8093 [#&#8203;8095]: https://github.com/tokio-rs/tokio/pull/8095 [#&#8203;8107]: https://github.com/tokio-rs/tokio/pull/8107 [#&#8203;8119]: https://github.com/tokio-rs/tokio/pull/8119 [#&#8203;8124]: https://github.com/tokio-rs/tokio/pull/8124 [#&#8203;8126]: https://github.com/tokio-rs/tokio/pull/8126 [#&#8203;8132]: https://github.com/tokio-rs/tokio/pull/8132 [#&#8203;8144]: https://github.com/tokio-rs/tokio/pull/8144 [#&#8203;8149]: https://github.com/tokio-rs/tokio/pull/8149 [#&#8203;8169]: https://github.com/tokio-rs/tokio/pull/8169 [#&#8203;8181]: https://github.com/tokio-rs/tokio/pull/8181 [#&#8203;8192]: https://github.com/tokio-rs/tokio/pull/8192 [#&#8203;8193]: https://github.com/tokio-rs/tokio/pull/8193 [#&#8203;8202]: https://github.com/tokio-rs/tokio/pull/8202 [#&#8203;8214]: https://github.com/tokio-rs/tokio/pull/8214 [#&#8203;8231]: https://github.com/tokio-rs/tokio/pull/8231 [#&#8203;8239]: https://github.com/tokio-rs/tokio/pull/8239 [#&#8203;8242]: https://github.com/tokio-rs/tokio/pull/8242 [#&#8203;8251]: https://github.com/tokio-rs/tokio/pull/8251 [#&#8203;8254]: https://github.com/tokio-rs/tokio/pull/8254 [#&#8203;8259]: https://github.com/tokio-rs/tokio/pull/8259 [#&#8203;8260]: https://github.com/tokio-rs/tokio/pull/8260 [#&#8203;8266]: https://github.com/tokio-rs/tokio/pull/8266 [#&#8203;8270]: https://github.com/tokio-rs/tokio/pull/8270 [#&#8203;8276]: https://github.com/tokio-rs/tokio/pull/8276 [#&#8203;8277]: https://github.com/tokio-rs/tokio/pull/8277 ### [`v1.52.4`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.4): Tokio v1.52.4 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.3...tokio-1.52.4) ##### 1.52.4 (July 16th, 2026) ##### Fixed - runtime: don't skip the driver when `before_park` schedules work ([#&#8203;8222]) ##### Fixed (unstable) - taskdump: remove crate disambiguators from output ([#&#8203;8264]) [#&#8203;8264]: https://github.com/tokio-rs/tokio/pull/8264 [#&#8203;8222]: https://github.com/tokio-rs/tokio/pull/8222 ### [`v1.52.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.3): Tokio v1.52.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.2...tokio-1.52.3) ##### 1.52.3 (May 8th, 2026) ##### Fixed - sync: fix underflow in mpsc channel `len()` ([#&#8203;8062]) - sync: notify receivers in mpsc `OwnedPermit::release()` method ([#&#8203;8075]) - sync: require that an `RwLock` has `max_readers != 0` ([#&#8203;8076]) - sync: return `Empty` from `try_recv()` when mpsc is closed with outstanding permits ([#&#8203;8074]) [#&#8203;8062]: https://github.com/tokio-rs/tokio/pull/8062 [#&#8203;8074]: https://github.com/tokio-rs/tokio/pull/8074 [#&#8203;8075]: https://github.com/tokio-rs/tokio/pull/8075 [#&#8203;8076]: https://github.com/tokio-rs/tokio/pull/8076 ### [`v1.52.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.2): Tokio v1.52.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.1...tokio-1.52.2) ##### 1.52.2 (May 4th, 2026) This release reverts the LIFO slot stealing change introduced in 1.51.0 ([#&#8203;7431]), due to [its performance impact][#&#8203;8065]. ([#&#8203;8100]) [#&#8203;7431]: https://github.com/tokio-rs/tokio/pull/7431 [#&#8203;8065]: https://github.com/tokio-rs/tokio/pull/8065 [#&#8203;8100]: https://github.com/tokio-rs/tokio/pull/8100 ### [`v1.52.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.1): Tokio v1.52.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.0...tokio-1.52.1) ##### 1.52.1 (April 16th, 2026) ##### Fixed - runtime: revert [#&#8203;7757] to fix [a regression][#&#8203;8056] that causes `spawn_blocking` to hang ([#&#8203;8057]) [#&#8203;7757]: https://github.com/tokio-rs/tokio/pull/7757 [#&#8203;8056]: https://github.com/tokio-rs/tokio/pull/8056 [#&#8203;8057]: https://github.com/tokio-rs/tokio/pull/8057 ### [`v1.52.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.0): Tokio v1.52.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.6...tokio-1.52.0) ### 1.52.0 (April 14th, 2026) #### Added - io: `AioSource::register_borrowed` for I/O safety support ([#&#8203;7992]) - net: add `try_io` function to `unix::pipe` sender and receiver types ([#&#8203;8030]) #### Added (unstable) - runtime: `Builder::enable_eager_driver_handoff` setting enable eager hand off of the I/O and time drivers before polling tasks ([#&#8203;8010]) - taskdump: add `trace_with()` for customized task dumps ([#&#8203;8025]) - taskdump: allow `impl FnMut()` in `trace_with` instead of just `fn()` ([#&#8203;8040]) - fs: support `io_uring` in `AsyncRead` for `File` ([#&#8203;7907]) #### Changed - runtime: improve `spawn_blocking` scalability with sharded queue ([#&#8203;7757]) - runtime: use `compare_exchange_weak()` in worker queue ([#&#8203;8028]) #### Fixed - runtime: overflow second half of tasks when local queue is filled instead of first half ([#&#8203;8029]) #### Documented - docs: fix typo in `oneshot::Sender::send` docs ([#&#8203;8026]) - docs: hide #\[tokio::main] attribute in the docs of `sync::watch` ([#&#8203;8035]) - net: add docs on `ConnectionRefused` errors with UDP sockets ([#&#8203;7870]) [#&#8203;7757]: https://github.com/tokio-rs/tokio/pull/7757 [#&#8203;7870]: https://github.com/tokio-rs/tokio/pull/7870 [#&#8203;7907]: https://github.com/tokio-rs/tokio/pull/7907 [#&#8203;7992]: https://github.com/tokio-rs/tokio/pull/7992 [#&#8203;8010]: https://github.com/tokio-rs/tokio/pull/8010 [#&#8203;8025]: https://github.com/tokio-rs/tokio/pull/8025 [#&#8203;8026]: https://github.com/tokio-rs/tokio/pull/8026 [#&#8203;8028]: https://github.com/tokio-rs/tokio/pull/8028 [#&#8203;8029]: https://github.com/tokio-rs/tokio/pull/8029 [#&#8203;8030]: https://github.com/tokio-rs/tokio/pull/8030 [#&#8203;8035]: https://github.com/tokio-rs/tokio/pull/8035 [#&#8203;8040]: https://github.com/tokio-rs/tokio/pull/8040 ### [`v1.51.6`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.6): Tokio v1.51.6 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.5...tokio-1.51.6) ##### 1.51.6 (October 13th, 2026) ##### Added - io: add `AsyncFd::register` and `AsyncFd::register_with_interest` ([#&#8203;8587]) ##### Changed - io: deprecate `AsyncFd::{new, with_interest, try_new, try_with_interest}` ([#&#8203;8587]) ##### Fixed - io: wake and drop `DuplexStream` wakers outside the lock ([#&#8203;8618]) - macros: avoid `unreachable_code` in `join!` and `try_join!` for `Infallible` ([#&#8203;8518]) - runtime: fix paused time auto-advancing when I/O wakes a task on `current_thread` ([#&#8203;8595]) - sync: wake waiters outside the lock when closing a semaphore ([#&#8203;8529]) - test: fix several flaky tests ([#&#8203;8196], [#&#8203;8427], [#&#8203;8609]) [#&#8203;8196]: https://github.com/tokio-rs/tokio/pull/8196 [#&#8203;8427]: https://github.com/tokio-rs/tokio/pull/8427 [#&#8203;8518]: https://github.com/tokio-rs/tokio/pull/8518 [#&#8203;8529]: https://github.com/tokio-rs/tokio/pull/8529 [#&#8203;8587]: https://github.com/tokio-rs/tokio/pull/8587 [#&#8203;8595]: https://github.com/tokio-rs/tokio/pull/8595 [#&#8203;8609]: https://github.com/tokio-rs/tokio/pull/8609 [#&#8203;8618]: https://github.com/tokio-rs/tokio/pull/8618 ### [`v1.51.5`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.5): Tokio v1.51.5 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.4...tokio-1.51.5) ##### 1.51.5 (October 3rd, 2026) ##### Fixed - fs: handle integer overflow in buffered relative seek ([#&#8203;8574]) - io: revert "always cleanup `AsyncFd` registration list on deregister" ([#&#8203;8540]) - process: unregister Windows wait before closing child handle ([#&#8203;8564]) - rt: drop blocking pool mutex before shutting down rejected task ([#&#8203;8562]) - sync: fix mpsc index wraparound in block reclamation ([#&#8203;8546]) - sync: forget mpsc `Permit` before sending value ([#&#8203;8560]) - sync: validate `MAX_PERMITS` in `Semaphore::acquire` ([#&#8203;8548]) - sync: wake broadcast `Sender::closed` outside mutex ([#&#8203;8558]) - task: drop replaced waker outside lock in `JoinSet` ([#&#8203;8554]) - time: drop timer lock before dropping waker in `clear_entry` ([#&#8203;8552]) - time: expire timers directly on shutdown without rotating wheel ([#&#8203;8570]) ##### Fixed (unstable) - rt: ignore `current_thread` task dumps from other runtimes ([#&#8203;8544]) - rt: preserve `io_uring` context if a completion waker panics ([#&#8203;8566]) - sync: fix semaphore use-after-free and permit leak on tracing panic ([#&#8203;8542]) - time: drop stored waker when cancelling alt timer entry ([#&#8203;8550]) [#&#8203;8540]: https://github.com/tokio-rs/tokio/pull/8540 [#&#8203;8542]: https://github.com/tokio-rs/tokio/pull/8542 [#&#8203;8544]: https://github.com/tokio-rs/tokio/pull/8544 [#&#8203;8546]: https://github.com/tokio-rs/tokio/pull/8546 [#&#8203;8548]: https://github.com/tokio-rs/tokio/pull/8548 [#&#8203;8550]: https://github.com/tokio-rs/tokio/pull/8550 [#&#8203;8552]: https://github.com/tokio-rs/tokio/pull/8552 [#&#8203;8554]: https://github.com/tokio-rs/tokio/pull/8554 [#&#8203;8558]: https://github.com/tokio-rs/tokio/pull/8558 [#&#8203;8560]: https://github.com/tokio-rs/tokio/pull/8560 [#&#8203;8562]: https://github.com/tokio-rs/tokio/pull/8562 [#&#8203;8564]: https://github.com/tokio-rs/tokio/pull/8564 [#&#8203;8566]: https://github.com/tokio-rs/tokio/pull/8566 [#&#8203;8570]: https://github.com/tokio-rs/tokio/pull/8570 [#&#8203;8574]: https://github.com/tokio-rs/tokio/pull/8574 ### [`v1.51.4`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.4): Tokio v1.51.4 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.3...tokio-1.51.4) ##### 1.51.4 (July 16th, 2026) ##### Fixed - runtime: don't skip the driver when `before_park` schedules work ([#&#8203;8222]) [#&#8203;8222]: https://github.com/tokio-rs/tokio/pull/8222 ### [`v1.51.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.3): Tokio v1.51.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.2...tokio-1.51.3) ##### 1.51.3 (May 8th, 2026) ##### Fixed - sync: fix underflow in mpsc channel `len()` ([#&#8203;8062]) - sync: notify receivers in mpsc `OwnedPermit::release()` method ([#&#8203;8075]) - sync: require that an `RwLock` has `max_readers != 0` ([#&#8203;8076]) - sync: return `Empty` from `try_recv()` when mpsc is closed with outstanding permits ([#&#8203;8074]) [#&#8203;8062]: https://github.com/tokio-rs/tokio/pull/8062 [#&#8203;8074]: https://github.com/tokio-rs/tokio/pull/8074 [#&#8203;8075]: https://github.com/tokio-rs/tokio/pull/8075 [#&#8203;8076]: https://github.com/tokio-rs/tokio/pull/8076 ### [`v1.51.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.2): Tokio v1.51.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.1...tokio-1.51.2) ##### 1.51.2 (May 4th, 2026) This release reverts the LIFO slot stealing change introduced in 1.51.0 ([#&#8203;7431]), due to [its performance impact][#&#8203;8065]. ([#&#8203;8100]) [#&#8203;7431]: https://github.com/tokio-rs/tokio/pull/7431 [#&#8203;8065]: https://github.com/tokio-rs/tokio/pull/8065 [#&#8203;8100]: https://github.com/tokio-rs/tokio/pull/8100 ### [`v1.51.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.1): Tokio v1.51.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.0...tokio-1.51.1) ### 1.51.1 (April 8th, 2026) ##### Fixed - sync: fix semaphore reopens after forget ([#&#8203;8021]) - net: surface errors from `SO_ERROR` on `recv` for UDP sockets on Linux ([#&#8203;8001]) ##### Fixed (unstable) - metrics: fix `worker_local_schedule_count` test ([#&#8203;8008]) - rt: do not leak fd when cancelling io_uring open operation ([#&#8203;7983]) [#&#8203;7983]: https://github.com/tokio-rs/tokio/pull/7983 [#&#8203;8001]: https://github.com/tokio-rs/tokio/pull/8001 [#&#8203;8008]: https://github.com/tokio-rs/tokio/pull/8008 [#&#8203;8021]: https://github.com/tokio-rs/tokio/pull/8021 ### [`v1.51.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.0): Tokio v1.51.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.50.0...tokio-1.51.0) ##### 1.51.0 (April 3rd, 2026) ##### Added - net: implement `get_peer_cred` on Hurd ([#&#8203;7989]) - runtime: add `tokio::runtime::worker_index()` ([#&#8203;7921]) - runtime: add runtime name ([#&#8203;7924]) - runtime: stabilize `LocalRuntime` ([#&#8203;7557]) - wasm: add wasm32-wasip2 networking support ([#&#8203;7933]) ##### Changed - runtime: steal tasks from the LIFO slot ([#&#8203;7431]) ##### Fixed - docs: do not show "Available on non-loom only." doc label ([#&#8203;7977]) - macros: improve overall macro hygiene ([#&#8203;7997]) - sync: fix `notify_waiters` priority in `Notify` ([#&#8203;7996]) - sync: fix panic in `Chan::recv_many` when called with non-empty vector on closed channel ([#&#8203;7991]) [#&#8203;7431]: https://github.com/tokio-rs/tokio/pull/7431 [#&#8203;7557]: https://github.com/tokio-rs/tokio/pull/7557 [#&#8203;7921]: https://github.com/tokio-rs/tokio/pull/7921 [#&#8203;7924]: https://github.com/tokio-rs/tokio/pull/7924 [#&#8203;7933]: https://github.com/tokio-rs/tokio/pull/7933 [#&#8203;7977]: https://github.com/tokio-rs/tokio/pull/7977 [#&#8203;7989]: https://github.com/tokio-rs/tokio/pull/7989 [#&#8203;7991]: https://github.com/tokio-rs/tokio/pull/7991 [#&#8203;7996]: https://github.com/tokio-rs/tokio/pull/7996 [#&#8203;7997]: https://github.com/tokio-rs/tokio/pull/7997 ### [`v1.50.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.50.0): Tokio v1.50.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.49.0...tokio-1.50.0) ##### 1.50.0 (Mar 3rd, 2026) ##### Added - net: add `TcpStream::set_zero_linger` ([#&#8203;7837]) - rt: add `is_rt_shutdown_err` ([#&#8203;7771]) ##### Changed - io: add optimizer hint that `memchr` returns in-bounds pointer ([#&#8203;7792]) - io: implement vectored writes for `write_buf` ([#&#8203;7871]) - runtime: panic when `event_interval` is set to 0 ([#&#8203;7838]) - runtime: shorten default thread name to fit in Linux limit ([#&#8203;7880]) - signal: remember the result of `SetConsoleCtrlHandler` ([#&#8203;7833]) - signal: specialize windows `Registry` ([#&#8203;7885]) ##### Fixed - io: always cleanup `AsyncFd` registration list on deregister ([#&#8203;7773]) - macros: remove (most) local `use` declarations in `tokio::select!` ([#&#8203;7929]) - net: fix `GET_BUF_SIZE` constant for `target_os = "android"` ([#&#8203;7889]) - runtime: avoid redundant unpark in current_thread scheduler ([#&#8203;7834]) - runtime: don't park in `current_thread` if `before_park` defers waker ([#&#8203;7835]) - io: fix write readiness on ESP32 on short writes ([#&#8203;7872]) - runtime: wake deferred tasks before entering `block_in_place` ([#&#8203;7879]) - sync: drop rx waker when oneshot receiver is dropped ([#&#8203;7886]) - runtime: fix double increment of `num_idle_threads` on shutdown ([#&#8203;7910], [#&#8203;7918], [#&#8203;7922]) ##### Unstable - fs: check for io-uring opcode support ([#&#8203;7815]) - runtime: avoid lock acquisition after uring init ([#&#8203;7850]) ##### Documented - docs: update outdated unstable features section ([#&#8203;7839]) - io: clarify the behavior of `AsyncWriteExt::shutdown()` ([#&#8203;7908]) - io: explain how to flush stdout/stderr ([#&#8203;7904]) - io: fix incorrect and confusing `AsyncWrite` documentation ([#&#8203;7875]) - rt: clarify the documentation of `Runtime::spawn` ([#&#8203;7803]) - rt: fix missing quotation in docs ([#&#8203;7925]) - runtime: correct the default thread name in docs ([#&#8203;7896]) - runtime: fix `event_interval` doc ([#&#8203;7932]) - sync: clarify RwLock fairness documentation ([#&#8203;7919]) - sync: clarify that `recv` returns `None` once closed and no more messages ([#&#8203;7920]) - task: clarify when to use `spawn_blocking` vs dedicated threads ([#&#8203;7923]) - task: doc that task drops before `JoinHandle` completion ([#&#8203;7825]) - signal: guarantee that listeners never return `None` ([#&#8203;7869]) - task: fix task module feature flags in docs ([#&#8203;7891]) - task: fix two typos ([#&#8203;7913]) - task: improve the docs of `Builder::spawn_local` ([#&#8203;7828]) - time: add docs about auto-advance and when to use sleep ([#&#8203;7858]) - util: fix typo in docs ([#&#8203;7926]) [#&#8203;7771]: https://github.com/tokio-rs/tokio/pull/7771 [#&#8203;7773]: https://github.com/tokio-rs/tokio/pull/7773 [#&#8203;7792]: https://github.com/tokio-rs/tokio/pull/7792 [#&#8203;7803]: https://github.com/tokio-rs/tokio/pull/7803 [#&#8203;7815]: https://github.com/tokio-rs/tokio/pull/7815 [#&#8203;7825]: https://github.com/tokio-rs/tokio/pull/7825 [#&#8203;7828]: https://github.com/tokio-rs/tokio/pull/7828 [#&#8203;7833]: https://github.com/tokio-rs/tokio/pull/7833 [#&#8203;7834]: https://github.com/tokio-rs/tokio/pull/7834 [#&#8203;7835]: https://github.com/tokio-rs/tokio/pull/7835 [#&#8203;7837]: https://github.com/tokio-rs/tokio/pull/7837 [#&#8203;7838]: https://github.com/tokio-rs/tokio/pull/7838 [#&#8203;7839]: https://github.com/tokio-rs/tokio/pull/7839 [#&#8203;7850]: https://github.com/tokio-rs/tokio/pull/7850 [#&#8203;7858]: https://github.com/tokio-rs/tokio/pull/7858 [#&#8203;7869]: https://github.com/tokio-rs/tokio/pull/7869 [#&#8203;7871]: https://github.com/tokio-rs/tokio/pull/7871 [#&#8203;7872]: https://github.com/tokio-rs/tokio/pull/7872 [#&#8203;7875]: https://github.com/tokio-rs/tokio/pull/7875 [#&#8203;7879]: https://github.com/tokio-rs/tokio/pull/7879 [#&#8203;7880]: https://github.com/tokio-rs/tokio/pull/7880 [#&#8203;7885]: https://github.com/tokio-rs/tokio/pull/7885 [#&#8203;7886]: https://github.com/tokio-rs/tokio/pull/7886 [#&#8203;7889]: https://github.com/tokio-rs/tokio/pull/7889 [#&#8203;7891]: https://github.com/tokio-rs/tokio/pull/7891 [#&#8203;7896]: https://github.com/tokio-rs/tokio/pull/7896 [#&#8203;7904]: https://github.com/tokio-rs/tokio/pull/7904 [#&#8203;7908]: https://github.com/tokio-rs/tokio/pull/7908 [#&#8203;7910]: https://github.com/tokio-rs/tokio/pull/7910 [#&#8203;7913]: https://github.com/tokio-rs/tokio/pull/7913 [#&#8203;7918]: https://github.com/tokio-rs/tokio/pull/7918 [#&#8203;7919]: https://github.com/tokio-rs/tokio/pull/7919 [#&#8203;7920]: https://github.com/tokio-rs/tokio/pull/7920 [#&#8203;7922]: https://github.com/tokio-rs/tokio/pull/7922 [#&#8203;7923]: https://github.com/tokio-rs/tokio/pull/7923 [#&#8203;7925]: https://github.com/tokio-rs/tokio/pull/7925 [#&#8203;7926]: https://github.com/tokio-rs/tokio/pull/7926 [#&#8203;7929]: https://github.com/tokio-rs/tokio/pull/7929 [#&#8203;7932]: https://github.com/tokio-rs/tokio/pull/7932 ### [`v1.49.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.49.0): Tokio v1.49.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.48.0...tokio-1.49.0) ##### 1.49.0 (January 3rd, 2026) ##### Added - net: add support for `TCLASS` option on IPv6 ([#&#8203;7781]) - runtime: stabilize `runtime::id::Id` ([#&#8203;7125]) - task: implement `Extend` for `JoinSet` ([#&#8203;7195]) - task: stabilize the `LocalSet::id()` ([#&#8203;7776]) ##### Changed - net: deprecate `{TcpStream,TcpSocket}::set_linger` ([#&#8203;7752]) ##### Fixed - macros: fix the hygiene issue of `join!` and `try_join!` ([#&#8203;7766]) - runtime: revert "replace manual vtable definitions with Wake" ([#&#8203;7699]) - sync: return `TryRecvError::Disconnected` from `Receiver::try_recv` after `Receiver::close` ([#&#8203;7686]) - task: remove unnecessary trait bounds on the `Debug` implementation ([#&#8203;7720]) ##### Unstable - fs: handle `EINTR` in `fs::write` for io-uring ([#&#8203;7786]) - fs: support io-uring with `tokio::fs::read` ([#&#8203;7696]) - runtime: disable io-uring on `EPERM` ([#&#8203;7724]) - time: add alternative timer for better multicore scalability ([#&#8203;7467]) ##### Documented - docs: fix a typos in `bounded.rs` and `park.rs` ([#&#8203;7817]) - io: add `SyncIoBridge` cross-references to `copy` and `copy_buf` ([#&#8203;7798]) - io: doc that `AsyncWrite` does not inherit from `std::io::Write` ([#&#8203;7705]) - metrics: clarify that `num_alive_tasks` is not strongly consistent ([#&#8203;7614]) - net: clarify the cancellation safety of the `TcpStream::peek` ([#&#8203;7305]) - net: clarify the drop behavior of `unix::OwnedWriteHalf` ([#&#8203;7742]) - net: clarify the platform-dependent backlog in `TcpSocket` docs ([#&#8203;7738]) - runtime: mention `LocalRuntime` in `new_current_thread` docs ([#&#8203;7820]) - sync: add missing period to `mpsc::Sender::try_send` docs ([#&#8203;7721]) - sync: clarify the cancellation safety of `oneshot::Receiver` ([#&#8203;7780]) - sync: improve the docs for the `errors` of mpsc ([#&#8203;7722]) - task: add example for `spawn_local` usage on local runtime ([#&#8203;7689]) [#&#8203;7125]: https://github.com/tokio-rs/tokio/pull/7125 [#&#8203;7195]: https://github.com/tokio-rs/tokio/pull/7195 [#&#8203;7305]: https://github.com/tokio-rs/tokio/pull/7305 [#&#8203;7467]: https://github.com/tokio-rs/tokio/pull/7467 [#&#8203;7614]: https://github.com/tokio-rs/tokio/pull/7614 [#&#8203;7686]: https://github.com/tokio-rs/tokio/pull/7686 [#&#8203;7689]: https://github.com/tokio-rs/tokio/pull/7689 [#&#8203;7696]: https://github.com/tokio-rs/tokio/pull/7696 [#&#8203;7699]: https://github.com/tokio-rs/tokio/pull/7699 [#&#8203;7705]: https://github.com/tokio-rs/tokio/pull/7705 [#&#8203;7720]: https://github.com/tokio-rs/tokio/pull/7720 [#&#8203;7721]: https://github.com/tokio-rs/tokio/pull/7721 [#&#8203;7722]: https://github.com/tokio-rs/tokio/pull/7722 [#&#8203;7724]: https://github.com/tokio-rs/tokio/pull/7724 [#&#8203;7738]: https://github.com/tokio-rs/tokio/pull/7738 [#&#8203;7742]: https://github.com/tokio-rs/tokio/pull/7742 [#&#8203;7752]: https://github.com/tokio-rs/tokio/pull/7752 [#&#8203;7766]: https://github.com/tokio-rs/tokio/pull/7766 [#&#8203;7776]: https://github.com/tokio-rs/tokio/pull/7776 [#&#8203;7780]: https://github.com/tokio-rs/tokio/pull/7780 [#&#8203;7781]: https://github.com/tokio-rs/tokio/pull/7781 [#&#8203;7786]: https://github.com/tokio-rs/tokio/pull/7786 [#&#8203;7798]: https://github.com/tokio-rs/tokio/pull/7798 [#&#8203;7817]: https://github.com/tokio-rs/tokio/pull/7817 [#&#8203;7820]: https://github.com/tokio-rs/tokio/pull/7820 ### [`v1.48.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.48.0): Tokio v1.48.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.5...tokio-1.48.0) ##### 1.48.0 (October 14th, 2025) The MSRV is increased to 1.71. ##### Added - fs: add `File::max_buf_size` ([#&#8203;7594]) - io: export `Chain` of `AsyncReadExt::chain` ([#&#8203;7599]) - net: add `SocketAddr::as_abstract_name` ([#&#8203;7491]) - net: add `TcpStream::quickack` and `TcpStream::set_quickack` ([#&#8203;7490]) - net: implement `AsRef<Self>` for `TcpStream` and `UnixStream` ([#&#8203;7573]) - task: add `LocalKey::try_get` ([#&#8203;7666]) - task: implement `Ord` for `task::Id` ([#&#8203;7530]) ##### Changed - deps: bump windows-sys to version 0.61 ([#&#8203;7645]) - fs: preserve `max_buf_size` when cloning a `File` ([#&#8203;7593]) - macros: suppress `clippy::unwrap_in_result` in `#[tokio::main]` ([#&#8203;7651]) - net: remove `PollEvented` noise from Debug formats ([#&#8203;7675]) - process: upgrade `Command::spawn_with` to use `FnOnce` ([#&#8203;7511]) - sync: remove inner mutex in `SetOnce` ([#&#8203;7554]) - sync: use `UnsafeCell::get_mut` in `Mutex::get_mut` and `RwLock::get_mut` ([#&#8203;7569]) - time: reduce the generated code size of `Timeout<T>::poll` ([#&#8203;7535]) ##### Fixed - macros: fix hygiene issue in `join!` and `try_join!` ([#&#8203;7638]) - net: fix copy/paste errors in udp peek methods ([#&#8203;7604]) - process: fix error when runtime is shut down on nightly-2025-10-12 ([#&#8203;7672]) - runtime: use release ordering in `wake_by_ref()` even if already woken ([#&#8203;7622]) - sync: close the `broadcast::Sender` in `broadcast::Sender::new()` ([#&#8203;7629]) - sync: fix implementation of unused `RwLock::try_*` methods ([#&#8203;7587]) ##### Unstable - tokio: use cargo features instead of `--cfg` flags for `taskdump` and `io_uring` ([#&#8203;7655], [#&#8203;7621]) - fs: support `io_uring` in `fs::write` ([#&#8203;7567]) - fs: support `io_uring` with `File::open()` ([#&#8203;7617]) - fs: support `io_uring` with `OpenOptions` ([#&#8203;7321]) - macros: add `local` runtime flavor ([#&#8203;7375], [#&#8203;7597]) ##### Documented - io: clarify the zero capacity case of `AsyncRead::poll_read` ([#&#8203;7580]) - io: fix typos in the docs of `AsyncFd` readiness guards ([#&#8203;7583]) - net: clarify socket gets closed on drop ([#&#8203;7526]) - net: clarify the behavior of `UCred::pid()` on Cygwin ([#&#8203;7611]) - net: clarify the supported platform of `set_reuseport()` and `reuseport()` ([#&#8203;7628]) - net: qualify that `SO_REUSEADDR` is only set on Unix ([#&#8203;7533]) - runtime: add guide for choosing between runtime types ([#&#8203;7635]) - runtime: clarify the behavior of `Handle::block_on` ([#&#8203;7665]) - runtime: clarify the edge case of `Builder::global_queue_interval()` ([#&#8203;7605]) - sync: clarify bounded channel panic behavior ([#&#8203;7641]) - sync: clarify the behavior of `tokio::sync::watch::Receiver` ([#&#8203;7584]) - sync: document cancel safety on `SetOnce::wait` ([#&#8203;7506]) - sync: fix the docs of `parking_lot` feature flag ([#&#8203;7663]) - sync: improve the docs of `UnboundedSender::send` ([#&#8203;7661]) - sync: improve the docs of `sync::watch` ([#&#8203;7601]) - sync: reword allocation failure paragraph in broadcast docs ([#&#8203;7595]) - task: clarify the behavior of several `spawn_local` methods ([#&#8203;7669]) - task: clarify the task ID reuse guarantees ([#&#8203;7577]) - task: improve the example of `poll_proceed` ([#&#8203;7586]) [#&#8203;7321]: https://github.com/tokio-rs/tokio/pull/7321 [#&#8203;7375]: https://github.com/tokio-rs/tokio/pull/7375 [#&#8203;7490]: https://github.com/tokio-rs/tokio/pull/7490 [#&#8203;7491]: https://github.com/tokio-rs/tokio/pull/7491 [#&#8203;7494]: https://github.com/tokio-rs/tokio/pull/7494 [#&#8203;7506]: https://github.com/tokio-rs/tokio/pull/7506 [#&#8203;7511]: https://github.com/tokio-rs/tokio/pull/7511 [#&#8203;7526]: https://github.com/tokio-rs/tokio/pull/7526 [#&#8203;7530]: https://github.com/tokio-rs/tokio/pull/7530 [#&#8203;7533]: https://github.com/tokio-rs/tokio/pull/7533 [#&#8203;7535]: https://github.com/tokio-rs/tokio/pull/7535 [#&#8203;7554]: https://github.com/tokio-rs/tokio/pull/7554 [#&#8203;7567]: https://github.com/tokio-rs/tokio/pull/7567 [#&#8203;7569]: https://github.com/tokio-rs/tokio/pull/7569 [#&#8203;7573]: https://github.com/tokio-rs/tokio/pull/7573 [#&#8203;7577]: https://github.com/tokio-rs/tokio/pull/7577 [#&#8203;7580]: https://github.com/tokio-rs/tokio/pull/7580 [#&#8203;7583]: https://github.com/tokio-rs/tokio/pull/7583 [#&#8203;7584]: https://github.com/tokio-rs/tokio/pull/7584 [#&#8203;7586]: https://github.com/tokio-rs/tokio/pull/7586 [#&#8203;7587]: https://github.com/tokio-rs/tokio/pull/7587 [#&#8203;7593]: https://github.com/tokio-rs/tokio/pull/7593 [#&#8203;7594]: https://github.com/tokio-rs/tokio/pull/7594 [#&#8203;7595]: https://github.com/tokio-rs/tokio/pull/7595 [#&#8203;7597]: https://github.com/tokio-rs/tokio/pull/7597 [#&#8203;7599]: https://github.com/tokio-rs/tokio/pull/7599 [#&#8203;7601]: https://github.com/tokio-rs/tokio/pull/7601 [#&#8203;7604]: https://github.com/tokio-rs/tokio/pull/7604 [#&#8203;7605]: https://github.com/tokio-rs/tokio/pull/7605 [#&#8203;7611]: https://github.com/tokio-rs/tokio/pull/7611 [#&#8203;7617]: https://github.com/tokio-rs/tokio/pull/7617 [#&#8203;7621]: https://github.com/tokio-rs/tokio/pull/7621 [#&#8203;7622]: https://github.com/tokio-rs/tokio/pull/7622 [#&#8203;7628]: https://github.com/tokio-rs/tokio/pull/7628 [#&#8203;7629]: https://github.com/tokio-rs/tokio/pull/7629 [#&#8203;7635]: https://github.com/tokio-rs/tokio/pull/7635 [#&#8203;7638]: https://github.com/tokio-rs/tokio/pull/7638 [#&#8203;7641]: https://github.com/tokio-rs/tokio/pull/7641 [#&#8203;7645]: https://github.com/tokio-rs/tokio/pull/7645 [#&#8203;7651]: https://github.com/tokio-rs/tokio/pull/7651 [#&#8203;7655]: https://github.com/tokio-rs/tokio/pull/7655 [#&#8203;7661]: https://github.com/tokio-rs/tokio/pull/7661 [#&#8203;7663]: https://github.com/tokio-rs/tokio/pull/7663 [#&#8203;7665]: https://github.com/tokio-rs/tokio/pull/7665 [#&#8203;7666]: https://github.com/tokio-rs/tokio/pull/7666 [#&#8203;7669]: https://github.com/tokio-rs/tokio/pull/7669 [#&#8203;7672]: https://github.com/tokio-rs/tokio/pull/7672 [#&#8203;7675]: https://github.com/tokio-rs/tokio/pull/7675 ### [`v1.47.5`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.47.5): Tokio v1.47.5 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.4...tokio-1.47.5) ##### 1.47.5 (May 7th, 2026) ##### Fixed - sync: fix underflow in mpsc channel `len()` ([#&#8203;8062]) - sync: notify receivers in mpsc `OwnedPermit::release()` method ([#&#8203;8075]) - sync: require that an `RwLock` has `max_readers != 0` ([#&#8203;8076]) - sync: return `Empty` from `try_recv()` when mpsc is closed with outstanding permits ([#&#8203;8074]) [#&#8203;8062]: https://github.com/tokio-rs/tokio/pull/8062 [#&#8203;8074]: https://github.com/tokio-rs/tokio/pull/8074 [#&#8203;8075]: https://github.com/tokio-rs/tokio/pull/8075 [#&#8203;8076]: https://github.com/tokio-rs/tokio/pull/8076 ### [`v1.47.4`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.47.4): Tokio v1.47.4 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.3...tokio-1.47.4) ##### 1.47.4 (April 2nd, 2026) ##### Fixed - sync: fix panic in `Chan::recv_many` when called with non-empty vector on closed channel ([#&#8203;7991]) [#&#8203;7991]: https://github.com/tokio-rs/tokio/pull/7991 ### [`v1.47.3`](https://github.com/tokio-rs/tokio/compare/tokio-1.47.2...tokio-1.47.3) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.2...tokio-1.47.3) ### [`v1.47.2`](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.47.2) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.47.2) ### [`v1.47.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.47.1): Tokio v1.47.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.0...tokio-1.47.1) ##### 1.47.1 (August 1st, 2025) ##### Fixed - process: fix panic from spurious pidfd wakeup ([#&#8203;7494]) - sync: fix broken link of Python `asyncio.Event` in `SetOnce` docs ([#&#8203;7485]) [#&#8203;7485]: https://github.com/tokio-rs/tokio/pull/7485 [#&#8203;7494]: https://github.com/tokio-rs/tokio/pull/7494 ### [`v1.47.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.47.0): Tokio v1.47.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.46.1...tokio-1.47.0) ### 1.47.0 (July 25th, 2025) This release adds `poll_proceed` and `cooperative` to the `coop` module for cooperative scheduling, adds `SetOnce` to the `sync` module which provides similar functionality to \[`std::sync::OnceLock`], and adds a new method `sync::Notify::notified_owned()` which returns an `OwnedNotified` without a lifetime parameter. #### Added - coop: add `cooperative` and `poll_proceed` ([#&#8203;7405]) - sync: add `SetOnce` ([#&#8203;7418]) - sync: add `sync::Notify::notified_owned()` ([#&#8203;7465]) #### Changed - deps: upgrade windows-sys 0.52 → 0.59 (\[[#&#8203;7117](https://github.com/tokio-rs/tokio/issues/7117)]) - deps: update to socket2 v0.6 (\[[#&#8203;7443](https://github.com/tokio-rs/tokio/issues/7443)]) - sync: improve `AtomicWaker::wake` performance ([#&#8203;7450]) #### Documented - metrics: fix listed feature requirements for some metrics ([#&#8203;7449]) - runtime: improve safety comments of `Readiness<'_>` ([#&#8203;7415]) [#&#8203;7405]: https://github.com/tokio-rs/tokio/pull/7405 [#&#8203;7415]: https://github.com/tokio-rs/tokio/pull/7415 [#&#8203;7418]: https://github.com/tokio-rs/tokio/pull/7418 [#&#8203;7449]: https://github.com/tokio-rs/tokio/pull/7449 [#&#8203;7450]: https://github.com/tokio-rs/tokio/pull/7450 [#&#8203;7465]: https://github.com/tokio-rs/tokio/pull/7465 </details> <details> <summary>tokio-rs/tracing (tracing)</summary> ### [`v0.1.44`](https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.44): tracing 0.1.44 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-0.1.43...tracing-0.1.44) ##### Fixed - Fix `record_all` panic ([#&#8203;3432]) ##### Changed - `tracing-core`: updated to 0.1.36 ([#&#8203;3440]) [#&#8203;3432]: https://github.com/tokio-rs/tracing/pull/3432 [#&#8203;3440]: https://github.com/tokio-rs/tracing/pull/3440 ### [`v0.1.43`](https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.43): tracing 0.1.43 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-0.1.42...tracing-0.1.43) ##### Important The previous release [0.1.42] was yanked because [#&#8203;3382] was a breaking change. See further details in [#&#8203;3424]. This release contains all the changes from that version, plus a revert for the problematic part of the breaking PR. ##### Fixed - Revert "make `valueset` macro sanitary" ([#&#8203;3425]) [#&#8203;3382]: https://github.com/tokio-rs/tracing/pull/3382 [#&#8203;3424]: https://github.com/tokio-rs/tracing/pull/3424 [#&#8203;3425]: https://github.com/tokio-rs/tracing/pull/3425 [0.1.42]: https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.42 ### [`v0.1.42`](https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.42): tracing 0.1.42 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-0.1.41...tracing-0.1.42) ##### Important The [`Span::record_all`] method has been removed from the documented API. It was always unsuable via the documented API as it requried a `ValueSet` which has no publically documented constructors. The method remains, but should not be used outside of `tracing` macros. ##### Added - **attributes**: Support constant expressions as instrument field names ([#&#8203;3158]) - Add `record_all!` macro for recording multiple values in one call ([#&#8203;3227]) - **core**: Improve code generation at trace points significantly ([#&#8203;3398]) ##### Changed - `tracing-core`: updated to 0.1.35 ([#&#8203;3414]) - `tracing-attributes`: updated to 0.1.31 ([#&#8203;3417]) ##### Fixed - Fix "name / parent" variant of `event!` ([#&#8203;2983]) - Remove 'r#' prefix from raw identifiers in field names ([#&#8203;3130]) - Fix perf regression when `release_max_level_*` not set ([#&#8203;3373]) - Use imported instead of fully qualified path ([#&#8203;3374]) - Make `valueset` macro sanitary ([#&#8203;3382]) ##### Documented - **core**: Add missing `dyn` keyword in `Visit` documentation code sample ([#&#8203;3387]) [#&#8203;2983]: https://github.com/tokio-rs/tracing/pull/#&#8203;2983 [#&#8203;3130]: https://github.com/tokio-rs/tracing/pull/#&#8203;3130 [#&#8203;3158]: https://github.com/tokio-rs/tracing/pull/#&#8203;3158 [#&#8203;3227]: https://github.com/tokio-rs/tracing/pull/#&#8203;3227 [#&#8203;3373]: https://github.com/tokio-rs/tracing/pull/#&#8203;3373 [#&#8203;3374]: https://github.com/tokio-rs/tracing/pull/#&#8203;3374 [#&#8203;3382]: https://github.com/tokio-rs/tracing/pull/#&#8203;3382 [#&#8203;3387]: https://github.com/tokio-rs/tracing/pull/#&#8203;3387 [#&#8203;3398]: https://github.com/tokio-rs/tracing/pull/#&#8203;3398 [#&#8203;3414]: https://github.com/tokio-rs/tracing/pull/#&#8203;3414 [#&#8203;3417]: https://github.com/tokio-rs/tracing/pull/#&#8203;3417 [`Span::record_all`]: https://docs.rs/tracing/0.1.41/tracing/struct.Span.html#method.record_all </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODkuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE5Ny4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Update all dependencies
All checks were successful
Build and Publish Docker Image / test (pull_request) Successful in 2m24s
Build and Publish Docker Image / build-and-push (pull_request) Successful in 1m47s
1fb55c37a6
andras changed title from Update all dependencies to Update all non-major dependencies 2026-10-30 17:45:21 +00:00
All checks were successful
Build and Publish Docker Image / test (pull_request) Successful in 2m24s
Build and Publish Docker Image / build-and-push (pull_request) Successful in 1m47s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

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

Merge

Merge the changes and update on Forgejo.

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

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

No due date set.

Dependencies

No dependencies set

Reference
andras/docker-compose-updater!13
No description provided.