chore(deps): update all dependencies #2

Open
kjuulh wants to merge 1 commits from renovate/all into main
Owner

This PR contains the following updates:

Package Type Update Change
anyhow workspace.dependencies patch 1.0.71 -> 1.0.93
clap workspace.dependencies minor 4.3.4 -> 4.5.21
reqwest dependencies minor 0.11.23 -> 0.12.0
serde_json dependencies patch 1.0.111 -> 1.0.133
tokio (source) workspace.dependencies minor 1.28.2 -> 1.41.1

Release Notes

dtolnay/anyhow (anyhow)

v1.0.93

Compare Source

  • Update dev-dependencies to thiserror v2

v1.0.92

Compare Source

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

v1.0.91

Compare Source

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

v1.0.90

Compare Source

  • Documentation improvements

v1.0.89

Compare Source

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

v1.0.88

Compare Source

  • Documentation improvements

v1.0.87

Compare Source

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

v1.0.86

Compare Source

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

v1.0.85

Compare Source

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

v1.0.84

Compare Source

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

v1.0.83

Compare Source

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

v1.0.82

Compare Source

  • Documentation improvements

v1.0.81

Compare Source

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

v1.0.80

Compare Source

  • Fix unused_imports warnings when compiled by rustc 1.78

v1.0.79

Compare Source

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

v1.0.78

Compare Source

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

v1.0.77

Compare Source

v1.0.76

Compare Source

  • Opt in to unsafe_op_in_unsafe_fn lint (#​329)

v1.0.75

Compare Source

v1.0.74

Compare Source

v1.0.73

Compare Source

v1.0.72

Compare Source

  • Documentation improvements
clap-rs/clap (clap)

v4.5.21

Compare Source

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

v4.5.20

Compare Source

Features
  • (unstable) Add CommandExt

v4.5.19

Compare Source

Internal
  • Update dependencies

v4.5.18

Compare Source

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

v4.5.17

Compare Source

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

v4.5.16

Compare Source

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

v4.5.15

Compare Source

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

v4.5.14

Compare Source

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

v4.5.13

Compare Source

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

v4.5.12

Compare Source

v4.5.11

Compare Source

v4.5.10

Compare Source

v4.5.9

Compare Source

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

v4.5.8

Compare Source

Fixes
  • Reduce extra flushes

v4.5.7

Compare Source

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

v4.5.6

Compare Source

v4.5.5

Compare Source

Fixes
  • Allow exclusive to override required_unless_present, required_unless_present_any, required_unless_present_all

v4.5.4

Compare Source

Fixes
  • (derive) Allow non-literal #[arg(id)] attributes again

v4.5.3

Compare Source

Internal
  • (derive) Update heck

v4.5.2

Compare Source

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

v4.5.1

Compare Source

Internal
  • Update dependencies

v4.5.0

Compare Source

Compatibility
  • Update MSRV to 1.74

v4.4.18

Compare Source

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

v4.4.17

Compare Source

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

v4.4.16

Compare Source

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

v4.4.15

Compare Source

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

v4.4.14

Compare Source

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

v4.4.13

Compare Source

Documentation
  • Fix link to structopt migration guide

v4.4.12

Compare Source

Performance
  • Only ask TypedValueParser for possible values if needed

v4.4.11

Compare Source

Features
  • Add Command::mut_group

v4.4.10

Compare Source

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

v4.4.9

Compare Source

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

v4.4.8

Compare Source

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

v4.4.7

Compare Source

Performance
  • Reduced code size

v4.4.6

Compare Source

Internal
  • Upgrade anstream

v4.4.5

Compare Source

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

v4.4.4

Compare Source

Internal
  • Update terminal_size to 0.3

v4.4.3

Compare Source

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

v4.4.2

Compare Source

Performance
  • Improve build times by removing once_cell dependency

v4.4.1

Compare Source

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

v4.4.0

Compare Source

compatibility
  • update msrv to 1.70.0

v4.3.24

Compare Source

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

v4.3.23

Compare Source

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

v4.3.22

Compare Source

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

v4.3.21

Compare Source

Features
  • Expose TryMapValueParser so the type can be named

v4.3.20

Compare Source

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

v4.3.19

Compare Source

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

v4.3.18

Compare Source

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

v4.3.17

Compare Source

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

v4.3.16

Compare Source

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

v4.3.15

Compare Source

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

v4.3.14

Compare Source

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

v4.3.13

Compare Source

v4.3.12

Compare Source

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

v4.3.11

Compare Source

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

v4.3.10

Compare Source

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

v4.3.9

Compare Source

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

v4.3.8

Compare Source

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

v4.3.7

Compare Source

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

v4.3.6

Compare Source

Documentation
  • Suggest clio

v4.3.5

Compare Source

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

v0.12.9

Compare Source

  • 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

Compare Source

  • 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

Compare Source

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

v0.12.6

Compare Source

  • 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 precendence over ALL_PROXY.
  • Fix blocking::RequestBuilder::header() from unsetting sensitive on passed header values.

v0.12.5

Compare Source

  • 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

Compare Source

  • 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

Compare Source

  • 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

Compare Source

  • 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

Compare Source

  • 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.0

Compare Source

  • Upgrade to hyper, http, and http-body v1.
  • Add better support for converting to and from http::Request and http::Response.
  • Add http2 optional cargo feature, default on.
  • Add charset optional cargo feature, default on.
  • Add macos-system-configuration cargo feature, default on.
  • Change all optional dependencies to no longer be exposed as implicit features.
  • Add ClientBuilder::interface(str) to specify the local interface to bind to.
  • Experimental: disables the http3 feature temporarily.

v0.11.27

  • Add hickory-dns feature, deprecating trust-dns.
  • (wasm) Fix Form::text() to not set octet-stream for plain text fields.

v0.11.26

  • Revert system-configuration upgrade, which broke MSRV on macOS.

v0.11.25

  • Fix Certificate::from_pem_bundle() parsing.
  • Fix Apple linker errors from detecting system proxies.

v0.11.24

  • Add Certificate::from_pem_bundle() to add a bundle.
  • Add http3_prior_knowledge() to blocking client builder.
  • Remove Sync bounds requirement for Body::wrap_stream().
  • Fix HTTP/2 to retry REFUSED_STREAM requests.
  • Fix instances of converting Url to Uri that could panic.

v0.11.23

  • Add Proxy::custom_http_auth(val) for setting the raw Proxy-Authorization header when connecting to proxies.
  • Fix redirect to reject locations that are not http:// or https://.
  • Fix setting nodelay when TLS is enabled but URL is HTTP.
  • (wasm) Add ClientBuilder::user_agent(val).
  • (wasm) add multipart::Form::headers(headers).

v0.11.22

  • Fix compilation on Windows when trust-dns is enabled.

v0.11.21

  • Add automatically detecting macOS proxy settings.
  • Add ClientBuilder::tls_info(bool), which will put tls::TlsInfo into the response extensions.
  • Fix trust-dns resolver from possible hangs.
  • Fix connect timeout to be split among multiple IP addresses.

v0.11.20

  • Fix deflate decompression back to using zlib, as outlined in the spec.

v0.11.19

  • Add ClientBuilder::http1_ignore_invalid_headers_in_responses() option.
  • Add ClientBuilder::http1_allow_spaces_after_header_name_in_responses() option.
  • Add support for ALL_PROXY environment variable.
  • Add support for use_preconfigured_tls when combined with HTTP/3.
  • Fix deflate decompression from using the zlib decoder.
  • Fix Response::{text, text_with_charset}() to strip BOM characters.
  • Fix a panic when HTTP/3 is used if UDP isn't able to connect.
  • Fix some dependencies for HTTP/3.
  • Increase MSRV to 1.63.

v0.11.18

  • Fix RequestBuilder::json() method from overriding a previously set content-type header. An existing value will be left in place.
  • Upgrade internal dependencies for rustls and compression.

v0.11.17

  • Upgrade internal dependencies of Experimental HTTP/3 to use quinn v0.9
  • (wasm) Fix blob url support

v0.11.16

  • Chore: set MSRV in Cargo.toml.
  • Docs: fix build on docs.rs

v0.11.15

  • Add RequestBuilder methods to split and reconstruct from its parts.
  • Add experimental HTTP/3 support.
  • Fix connection_verbose to log write_vectored calls.
  • (wasm) Make requests actually cancel if the future is dropped.

v0.11.14

  • Adds Proxy::no_proxy(url) that works like the NO_PROXY environment variable.
  • Adds multipart::Part::headers(headers) method to add custom headers.
  • (wasm) Add Response::bytes_stream().
  • Perf: several internal optimizations reducing copies and memory allocations.

v0.11.13

  • Add ClientBuilder::dns_resolver() option for custom DNS resolvers.
  • Add ClientBuilder::tls_sni(bool) option to enable or disable TLS Server Name Indication.
  • Add Identity::from_pkcs8_pem() constructor when using native-tls.
  • Fix redirect::Policy::limited(0) from following any redirects.

v0.11.12

  • Add ClientBuilder::resolve_to_addrs() which allows a slice of IP addresses to be specified for a single host.
  • Add Response::upgrade() to await whether the server agrees to an HTTP upgrade.

v0.11.11

  • Add HTTP/2 keep-alive configuration methods on ClientBuilder.
  • Add ClientBuilder::http1_allow_obsolete_multiline_headers_in_responses().
  • Add impl Service<Request> for Client and &'_ Client.
  • (wasm) Add RequestBuilder::basic_auth().
  • Fix RequestBuilder::header to not override sensitive if user explicitly set on a HeaderValue.
  • Fix rustls parsing of elliptic curve private keys.
  • Fix Proxy URL parsing of some invalid targets.

v0.11.10

  • Add Error::url() to access the URL of an error.
  • Add Response::extensions() to access the http::Extensions of a response.
  • Fix rustls-native-certs to log an error instead of panicking when loading an invalid system certificate.
  • Fix passing Basic Authorization header to proxies.

v0.11.9

  • Add ClientBuilder::http09_responses(bool) option to allow receiving HTTP/0.9 responses.
  • Fix HTTP/2 to retry requests interrupted by an HTTP/2 graceful shutdown.
  • Fix proxy loading from environment variables to ignore empty values.

v0.11.8

  • Update internal webpki-roots dependency.

v0.11.7

  • Add blocking::ClientBuilder::resolve() option, matching the async builder.
  • Implement From<tokio::fs::File> for Body.
  • Fix blocking request-scoped timeout applying to bodies as well.
  • (wasm) Fix request bodies using multipart vs formdata.
  • Update internal rustls to 0.20.

v0.11.6

  • (wasm) Fix request bodies more.

v0.11.5

  • Add ClientBuilder::http1_only() method.
  • Add tls::Version type, and ClientBuilder::min_tls_version() and ClientBuilder::max_tls_version() methods.
  • Implement TryFrom<Request> for http::Request.
  • Implement Clone for Identity.
  • Fix NO_PROXYenvironment variable parsing to more closely match curl's. Comma-separated entries are now trimmed for whitespace, and * is allowed to match everything.
  • Fix redirection to respect https_only option.
  • (wasm) Add Body::as_bytes() method.
  • (wasm) Fix sometimes wrong conversation of bytes into a JsValue.
  • (wasm) Avoid dependency on serde-serialize feature.

v0.11.4

  • Add ClientBuilder::resolve() option to override DNS resolution for specific domains.
  • Add native-tls-alpn Cargo feature to use ALPN with the native-tls backend.
  • Add ClientBuilder::deflate() option and deflate Cargo feature to support decoding response bodies using deflate.
  • Add RequestBuilder::version() to allow setting the HTTP version of a request.
  • Fix allowing "invalid" certificates with the rustls-tls backend, when the server uses TLS v1.2 or v1.3.
  • (wasm) Add try_clone to Request and RequestBuilder

v0.11.3

  • Add impl From<hyper::Body> for reqwest::Body.
  • (wasm) Add credentials mode methods to RequestBuilder.

v0.11.2

  • Add CookieStore trait to customize the type that stores and retrieves cookies for a session.
  • Add cookie::Jar as a default CookieStore, easing creating some session cookies before creating the Client.
  • Add ClientBuilder::http2_adaptive_window() option to configure an adaptive HTTP2 flow control behavior.
  • Add ClientBuilder::http2_max_frame_size() option to adjust the maximum HTTP2 frame size that can be received.
  • Implement IntoUrl for String, making it more convenient to create requests with format!.

v0.11.1

  • Add ClientBuilder::tls_built_in_root_certs() option to disable built-in root certificates.
  • Fix rustls-tls glue to more often support ALPN to upgrade to HTTP/2.
  • Fix proxy parsing to assume http:// if no scheme is found.
  • Fix connection pool idle reaping by enabling hyper's runtime feature.
  • (wasm) Add Request::new() constructor.

v0.11.27

Compare Source

  • Add hickory-dns feature, deprecating trust-dns.
  • (wasm) Fix Form::text() to not set octet-stream for plain text fields.

v0.11.26

Compare Source

  • Revert system-configuration upgrade, which broke MSRV on macOS.

v0.11.25

Compare Source

  • Fix Certificate::from_pem_bundle() parsing.
  • Fix Apple linker errors from detecting system proxies.

v0.11.24

Compare Source

  • Add Certificate::from_pem_bundle() to add a bundle.
  • Add http3_prior_knowledge() to blocking client builder.
  • Remove Sync bounds requirement for Body::wrap_stream().
  • Fix HTTP/2 to retry REFUSED_STREAM requests.
  • Fix instances of converting Url to Uri that could panic.
serde-rs/json (serde_json)

v1.0.133

Compare Source

  • Implement From<[T; N]> for serde_json::Value (#​1215)

v1.0.132

Compare Source

  • Improve binary size and compile time for JSON array and JSON object deserialization by about 50% (#​1205)
  • Improve performance of JSON array and JSON object deserialization by about 8% (#​1206)

v1.0.131

Compare Source

  • Implement Deserializer and IntoDeserializer for Map<String, Value> and &Map<String, Value> (#​1135, thanks @​swlynch99)

v1.0.130

Compare Source

  • Support converting and deserializing Number from i128 and u128 (#​1141, thanks @​druide)

v1.0.129

Compare Source

v1.0.128

Compare Source

v1.0.127

Compare Source

v1.0.126

Compare Source

  • Improve string parsing on targets that use 32-bit pointers but also have fast 64-bit integer arithmetic, such as aarch64-unknown-linux-gnu_ilp32 and x86_64-unknown-linux-gnux32 (#​1182, thanks @​CryZe)

v1.0.125

Compare Source

v1.0.124

Compare Source

v1.0.123

Compare Source

v1.0.122

Compare Source

  • Support using json! in no-std crates (#​1166)

v1.0.121

Compare Source

v1.0.120

Compare Source

v1.0.119

Compare Source

v1.0.118

Compare Source

v1.0.117

Compare Source

  • Resolve unexpected_cfgs warning (#​1130)

v1.0.116

Compare Source

v1.0.115

Compare Source

  • Documentation improvements

v1.0.114

Compare Source

  • Fix unused_imports warnings when compiled by rustc 1.78

v1.0.113

Compare Source

  • Add swap_remove and shift_remove methods on Map (#​1109)

v1.0.112

Compare Source

  • Improve formatting of "invalid type" error messages involving floats (#​1107)
tokio-rs/tokio (tokio)

v1.41.1: Tokio v1.41.1

Compare Source

1.41.1 (Nov 7th, 2024)

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

v1.41.0: Tokio v1.41.0

Compare Source

1.41.0 (Oct 22th, 2024)

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

v1.40.0: Tokio v1.40.0

Compare Source

1.40.0 (August 30th, 2024)

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

v1.39.3: Tokio v1.39.3

Compare Source

1.39.3 (August 17th, 2024)

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

v1.39.2: Tokio v1.39.2

Compare Source

1.39.2 (July 27th, 2024)

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

v1.39.1: Tokio v1.39.1

Compare Source

1.39.1 (July 23rd, 2024)

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

v1.39.0: Tokio v1.39.0

Compare Source

1.39.0 (July 23rd, 2024)

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

v1.38.1: Tokio v1.38.1

Compare Source

1.38.1 (July 16th, 2024)

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

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

v1.38.0: Tokio v1.38.0

Compare Source

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

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

v1.37.0: Tokio v1.37.0

Compare Source

1.37.0 (March 28th, 2024)

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

v1.36.0: Tokio v1.36.0

Compare Source

1.36.0 (February 2nd, 2024)

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

v1.35.1: Tokio v1.35.1

Compare Source

1.35.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

Fixed
  • io: add budgeting to tokio::runtime::io::registration::async_io (#​6221)

v1.35.0: Tokio v1.35.0

Compare Source

1.35.0 (December 8th, 2023)

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

v1.34.0: Tokio v1.34.0

Compare Source

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

v1.33.0: Tokio v1.33.0

Compare Source

1.33.0 (October 9, 2023)

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

v1.32.1: Tokio v1.32.1

Compare Source

1.32.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

Fixed
  • io: add budgeting to tokio::runtime::io::registration::async_io (#​6221)

v1.32.0: Tokio v1.32.0

Compare Source

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

v1.31.0: Tokio v1.31.0

Compare Source

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

v1.30.0: Tokio v1.30.0

Compare Source

1.30.0 (August 9, 2023)

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

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

v1.29.1: Tokio v1.29.1

Compare Source

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

v1.29.0: Tokio v1.29.0

Compare Source

Technically a breaking change, the Send implementation is removed from
runtime::EnterGuard. This change fixes a bug and should not impact most users.

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

Configuration

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

🚦 Automerge: Enabled.

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

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


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

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.71` -> `1.0.93` | | [clap](https://github.com/clap-rs/clap) | workspace.dependencies | minor | `4.3.4` -> `4.5.21` | | [reqwest](https://github.com/seanmonstar/reqwest) | dependencies | minor | `0.11.23` -> `0.12.0` | | [serde_json](https://github.com/serde-rs/json) | dependencies | patch | `1.0.111` -> `1.0.133` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.28.2` -> `1.41.1` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.93`](https://github.com/dtolnay/anyhow/releases/tag/1.0.93) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.92...1.0.93) - Update dev-dependencies to `thiserror` v2 ### [`v1.0.92`](https://github.com/dtolnay/anyhow/releases/tag/1.0.92) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.91...1.0.92) - Support Rust 1.82's `&raw const` and `&raw mut` syntax inside `ensure!` ([#&#8203;390](https://github.com/dtolnay/anyhow/issues/390)) ### [`v1.0.91`](https://github.com/dtolnay/anyhow/releases/tag/1.0.91) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.90...1.0.91) - Ensure OUT_DIR is left with deterministic contents after build script execution ([#&#8203;388](https://github.com/dtolnay/anyhow/issues/388)) ### [`v1.0.90`](https://github.com/dtolnay/anyhow/releases/tag/1.0.90) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.89...1.0.90) - Documentation improvements ### [`v1.0.89`](https://github.com/dtolnay/anyhow/releases/tag/1.0.89) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.88...1.0.89) - Make anyhow::Error's `UnwindSafe` and `RefUnwindSafe` impl consistently available between versions of Rust newer and older than 1.72 ([#&#8203;386](https://github.com/dtolnay/anyhow/issues/386)) ### [`v1.0.88`](https://github.com/dtolnay/anyhow/releases/tag/1.0.88) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.87...1.0.88) - Documentation improvements ### [`v1.0.87`](https://github.com/dtolnay/anyhow/releases/tag/1.0.87) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.86...1.0.87) - Support more APIs, including `Error::new` and `Error::chain`, in no-std mode on Rust 1.81+ ([#&#8203;383](https://github.com/dtolnay/anyhow/issues/383)) ### [`v1.0.86`](https://github.com/dtolnay/anyhow/releases/tag/1.0.86) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.85...1.0.86) - Fix parse error in `ensure!` with non-literal after minus sign ([#&#8203;373](https://github.com/dtolnay/anyhow/issues/373)) ### [`v1.0.85`](https://github.com/dtolnay/anyhow/releases/tag/1.0.85) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.84...1.0.85) - Improve `ensure!` macro's rules to unblock some rustc pretty-printer improvements ([#&#8203;368](https://github.com/dtolnay/anyhow/issues/368), [#&#8203;371](https://github.com/dtolnay/anyhow/issues/371)) ### [`v1.0.84`](https://github.com/dtolnay/anyhow/releases/tag/1.0.84) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.83...1.0.84) - Disallow calling `ensure!` through a `Not` impl for a type that is not `bool` ([#&#8203;367](https://github.com/dtolnay/anyhow/issues/367)) ### [`v1.0.83`](https://github.com/dtolnay/anyhow/releases/tag/1.0.83) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.82...1.0.83) - Integrate compile-time checking of cfgs ([#&#8203;363](https://github.com/dtolnay/anyhow/issues/363)) ### [`v1.0.82`](https://github.com/dtolnay/anyhow/releases/tag/1.0.82) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.81...1.0.82) - Documentation improvements ### [`v1.0.81`](https://github.com/dtolnay/anyhow/releases/tag/1.0.81) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.80...1.0.81) - Make backtrace support available when using -Dwarnings ([#&#8203;354](https://github.com/dtolnay/anyhow/issues/354)) ### [`v1.0.80`](https://github.com/dtolnay/anyhow/releases/tag/1.0.80) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.79...1.0.80) - Fix unused_imports warnings when compiled by rustc 1.78 ### [`v1.0.79`](https://github.com/dtolnay/anyhow/releases/tag/1.0.79) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.78...1.0.79) - Work around improperly cached build script result by sccache ([#&#8203;340](https://github.com/dtolnay/anyhow/issues/340)) ### [`v1.0.78`](https://github.com/dtolnay/anyhow/releases/tag/1.0.78) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.77...1.0.78) - Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain ([#&#8203;337](https://github.com/dtolnay/anyhow/issues/337)) ### [`v1.0.77`](https://github.com/dtolnay/anyhow/releases/tag/1.0.77) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.76...1.0.77) - Make `anyhow::Error::backtrace` available on stable Rust compilers 1.65+ ([#&#8203;293](https://github.com/dtolnay/anyhow/issues/293), thanks [@&#8203;LukasKalbertodt](https://github.com/LukasKalbertodt)) ### [`v1.0.76`](https://github.com/dtolnay/anyhow/releases/tag/1.0.76) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.75...1.0.76) - Opt in to `unsafe_op_in_unsafe_fn` lint ([#&#8203;329](https://github.com/dtolnay/anyhow/issues/329)) ### [`v1.0.75`](https://github.com/dtolnay/anyhow/releases/tag/1.0.75) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.74...1.0.75) - Partially work around rust-analyzer bug (https://github.com/rust-lang/rust-analyzer/issues/9911) ### [`v1.0.74`](https://github.com/dtolnay/anyhow/releases/tag/1.0.74) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.73...1.0.74) - Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://github.com/dtolnay/anyhow/issues/320), thanks [@&#8203;RalfJung](https://github.com/RalfJung)) ### [`v1.0.73`](https://github.com/dtolnay/anyhow/releases/tag/1.0.73) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.72...1.0.73) - Update backtrace support to nightly's new Error::provide API (https://github.com/rust-lang/rust/pull/113464, [#&#8203;319](https://github.com/dtolnay/anyhow/issues/319)) ### [`v1.0.72`](https://github.com/dtolnay/anyhow/releases/tag/1.0.72) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.72) - Documentation improvements </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.21`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4521---2024-11-13) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.20...v4.5.21) ##### Fixes - *(parser)* Ensure defaults are filled in on error with `ignore_errors(true)` ### [`v4.5.20`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4520---2024-10-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.19...v4.5.20) ##### Features - *(unstable)* Add `CommandExt` ### [`v4.5.19`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4519---2024-10-01) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.18...v4.5.19) ##### Internal - Update dependencies ### [`v4.5.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4518---2024-09-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.17...v4.5.18) ##### Features - *(builder)* Expose `Arg::get_display_order` and `Command::get_display_order` ### [`v4.5.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4517---2024-09-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.16...v4.5.17) ##### Fixes - *(help)* Style required argument groups - *(derive)* Improve error messages when unsupported fields are used ### [`v4.5.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4516---2024-08-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.15...v4.5.16) ##### Fixes - *(derive)* Improve error messages when `derive` feature is missing ### [`v4.5.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4515---2024-08-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.14...v4.5.15) ##### Compatiblity - *(unstable-ext)* `Arg::remove` changed return types ##### Fixes - *(unstable-ext)* Make `Arg::remove` return the removed item ### [`v4.5.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4514---2024-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.13...v4.5.14) ##### Features - *(unstable-ext)* Added `Arg::add` for attaching arbitrary state, like completion hints, to `Arg` without `Arg` knowing about it ### [`v4.5.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4513---2024-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.12...v4.5.13) ##### Fixes - *(derive)* Improve error message when `#[flatten]`ing an optional `#[group(skip)]` - *(help)* Properly wrap long subcommand descriptions in help ### [`v4.5.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4512---2024-07-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.11...v4.5.12) ### [`v4.5.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4511---2024-07-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.10...v4.5.11) ### [`v4.5.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4510---2024-07-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.9...v4.5.10) ### [`v4.5.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#459---2024-07-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.8...v4.5.9) ##### Fixes - *(error)* When defining a custom help flag, be sure to suggest it like we do the built-in one ### [`v4.5.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#458---2024-06-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.7...v4.5.8) ##### Fixes - Reduce extra flushes ### [`v4.5.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#457---2024-06-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.6...v4.5.7) ##### Fixes - Clean up error message when too few arguments for `num_args` ### [`v4.5.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#456---2024-06-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.5...v4.5.6) ### [`v4.5.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#455---2024-06-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.4...v4.5.5) ##### Fixes - Allow `exclusive` to override `required_unless_present`, `required_unless_present_any`, `required_unless_present_all` ### [`v4.5.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#454---2024-03-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.3...v4.5.4) ##### Fixes - *(derive)* Allow non-literal `#[arg(id)]` attributes again ### [`v4.5.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#453---2024-03-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.2...v4.5.3) ##### Internal - *(derive)* Update `heck` ### [`v4.5.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4521---2024-11-13) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.1...v4.5.2) ##### Fixes - *(parser)* Ensure defaults are filled in on error with `ignore_errors(true)` ### [`v4.5.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4519---2024-10-01) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.0...v4.5.1) ##### Internal - Update dependencies ### [`v4.5.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#450---2024-02-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.18...v4.5.0) ##### Compatibility - Update MSRV to 1.74 ### [`v4.4.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4418---2024-01-16) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.17...v4.4.18) ##### Fixes - *(error)* When lacking `usage` feature, ensure the list of required arguments is unique ### [`v4.4.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4417---2024-01-15) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.16...v4.4.17) ##### Fixes - Fix `panic!` when mixing `args_conflicts_with_subcommands` with `ArgGroup` (which is implicit with `derive`) introduced in 4.4.15 ### [`v4.4.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4416---2024-01-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.15...v4.4.16) ##### Fixes - Ensure invalid escape sequences in user-defined strings are correctly stripped when terminal doesn't support color ### [`v4.4.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4415---2024-01-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.15) ##### Fixes - Improve error for `args_conflicts_with_subcommands` - Ensure we error for `args_conflicts_with_subcommands` when using subcommand short and long flags ### [`v4.4.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4414---2024-01-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.13...v4.4.14) ##### Documentation - Fix `find` cookbook entry to allow repeats of flags/options ##### Features - Allow `num_args(0)` on options which allows making them emulate being a flag for position-tracking flags ### [`v4.4.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4413---2024-01-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.12...v4.4.13) ##### Documentation - Fix link to structopt migration guide ### [`v4.4.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4412---2023-12-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.11...v4.4.12) ##### Performance - Only ask `TypedValueParser` for possible values if needed ### [`v4.4.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4411---2023-12-04) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.10...v4.4.11) ##### Features - Add `Command::mut_group` ### [`v4.4.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4410---2023-11-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.9...v4.4.10) ##### Documentation - Link out to changelog - Cross link derive's attribute reference to derive tutorial ### [`v4.4.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#449---2023-11-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.8...v4.4.9) ##### Fixes - *(help)* Show correct `Command::about` under flattened headings - *(help)* Respect `hide` when flattening subcommands ### [`v4.4.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#448---2023-11-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.7...v4.4.8) ##### Features - Add `Command::flatten_help` to allow `git stash -h` like help for subcommands ### [`v4.4.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#447---2023-10-24) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.7) ##### Performance - Reduced code size ### [`v4.4.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#446---2023-09-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.5...v4.4.6) ##### Internal - Upgrade `anstream` ### [`v4.4.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#445---2023-09-25) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.4...v4.4.5) ##### Fixes - *(parser)* When inferring subcommand `name` or `long_flag`, allow ambiguous-looking matches that unambiguously map back to the same command - *(parser)* When inferring subcommand `long_flag`, don't panic - *(assert)* Clarify what action is causing a positional that doesn't set values which is especially useful for derive users ### [`v4.4.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#444---2023-09-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.3...v4.4.4) ##### Internal - Update `terminal_size` to 0.3 ### [`v4.4.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#443---2023-09-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.2...v4.4.3) ##### Documentation - *(derive)* Clarify use of attributes within the tutorial - Split sections in the builder and derive tutorials into separate modules ### [`v4.4.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#442---2023-08-31) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.1...v4.4.2) ##### Performance - Improve build times by removing `once_cell` dependency ### [`v4.4.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4418---2024-01-16) [Compare Source](https://github.com/clap-rs/clap/compare/v4.4.0...v4.4.1) ##### Fixes - *(error)* When lacking `usage` feature, ensure the list of required arguments is unique ### [`v4.4.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#440---2023-08-24) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.24...v4.4.0) ##### compatibility - update msrv to 1.70.0 ### [`v4.3.24`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4324---2023-08-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.23...v4.3.24) ##### Fixes - Ensure column padding is preserved in `--help` with custom templates ### [`v4.3.23`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4323---2023-08-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.22...v4.3.23) ##### Fixes - Fixed `UnknownArgumentValueParser` to not error on flag's absence ### [`v4.3.22`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4322---2023-08-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.21...v4.3.22) ##### Features - Add `UnknownArgumentValueParser` for injecting errors for improving the experience with errors ### [`v4.3.21`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4321---2023-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.20...v4.3.21) ##### Features - Expose `TryMapValueParser` so the type can be named ### [`v4.3.20`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4320---2023-08-08) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.19...v4.3.20) ##### Features - `Command::mut_args` for modifying all arguments en masse ### [`v4.3.19`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4319---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.18...v4.3.19) ##### Fixes - *(parse)* Respect `value_terminator` even in the presence of later multiple-value positional arguments ### [`v4.3.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4318---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.17...v4.3.18) ##### Fixes - *(parse)* Suggest `--` in fewer places where it won't work ### [`v4.3.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4317---2023-07-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.16...v4.3.17) ##### Fixes - *(help)* Address a regression in wrapping `PossibleValue` descriptions in `--help` ### [`v4.3.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4316---2023-07-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.15...v4.3.16) ##### Fixes - Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists) ### [`v4.3.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4315---2023-07-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.14...v4.3.15) ##### Features - *(unstable-styles)* Re-export `anstyle` ##### Documentation - *(unstable-styles)* Provide more examples ### [`v4.3.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4314---2023-07-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.13...v4.3.14) ##### Features - `ArgAction::HelpShort` and `ArgAction::HelpLong` for explicitly specifying which style of help to display ##### Fixes - Skip `[OPTIONS]` in usage if a help or version `ArgAction` is used ### [`v4.3.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4313---2023-07-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.12...v4.3.13) ### [`v4.3.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4312---2023-07-14) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.11...v4.3.12) ##### Fixes - *(derive)* Don't error on enum variant field attributes ### [`v4.3.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4311---2023-07-05) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.10...v4.3.11) ##### Features - *(derive)* Support fields wrapped in `num::Wrapping`, `Box`, or `Arc` - *(derive)* Support `Box<str>`, `Box<OsStr>`, and `Box<Path>` ### [`v4.3.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4310---2023-06-30) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.9...v4.3.10) ##### Performance - Drop a dependency, reducing binary size by 1.3 KiB ### [`v4.3.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#439---2023-06-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.8...v4.3.9) ##### Fixes - `Command::ignore_errors` no longer masks help/version ### [`v4.3.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#438---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.7...v4.3.8) ##### Fixes - Error on ambiguity with `infer_long_arg`, rather than arbitrarily picking one, matching the documentation and subcommand's behavior ### [`v4.3.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#437---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.6...v4.3.7) ##### Documentation - Further clarify magic behavior in derive tutorial - Further clarify derive API's relationship to builder within the tutorial ### [`v4.3.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#436---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.5...v4.3.6) ##### Documentation - Suggest `clio` ### [`v4.3.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#435---2023-06-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.4...v4.3.5) - `ColorChoice::possible_values` is added to simplify things for builder users ##### Fixes - `ColorChoice::to_possible_value` no longer includes descriptions, encouraging shorter help where possible </details> <details> <summary>seanmonstar/reqwest (reqwest)</summary> ### [`v0.12.9`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0129) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.8...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`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0128) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.7...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`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0127) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.6...v0.12.7) - Revert adding `impl Service<http::Request<_>>` for `Client`. ### [`v0.12.6`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0126) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.5...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 precendence over `ALL_PROXY`. - Fix `blocking::RequestBuilder::header()` from unsetting `sensitive` on passed header values. ### [`v0.12.5`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0125) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.4...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`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0124) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.3...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`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0123) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.2...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`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0122) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.1...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`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0121) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.0...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.0`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0120) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.11.27...v0.12.0) - Upgrade to `hyper`, `http`, and `http-body` v1. - Add better support for converting to and from `http::Request` and `http::Response`. - Add `http2` optional cargo feature, default on. - Add `charset` optional cargo feature, default on. - Add `macos-system-configuration` cargo feature, default on. - Change all optional dependencies to no longer be exposed as implicit features. - Add `ClientBuilder::interface(str)` to specify the local interface to bind to. - Experimental: disables the `http3` feature temporarily. #### v0.11.27 - Add `hickory-dns` feature, deprecating `trust-dns`. - (wasm) Fix `Form::text()` to not set octet-stream for plain text fields. #### v0.11.26 - Revert `system-configuration` upgrade, which broke MSRV on macOS. #### v0.11.25 - Fix `Certificate::from_pem_bundle()` parsing. - Fix Apple linker errors from detecting system proxies. #### v0.11.24 - Add `Certificate::from_pem_bundle()` to add a bundle. - Add `http3_prior_knowledge()` to blocking client builder. - Remove `Sync` bounds requirement for `Body::wrap_stream()`. - Fix HTTP/2 to retry `REFUSED_STREAM` requests. - Fix instances of converting `Url` to `Uri` that could panic. #### v0.11.23 - Add `Proxy::custom_http_auth(val)` for setting the raw `Proxy-Authorization` header when connecting to proxies. - Fix redirect to reject locations that are not `http://` or `https://`. - Fix setting `nodelay` when TLS is enabled but URL is HTTP. - (wasm) Add `ClientBuilder::user_agent(val)`. - (wasm) add `multipart::Form::headers(headers)`. #### v0.11.22 - Fix compilation on Windows when `trust-dns` is enabled. #### v0.11.21 - Add automatically detecting macOS proxy settings. - Add `ClientBuilder::tls_info(bool)`, which will put `tls::TlsInfo` into the response extensions. - Fix trust-dns resolver from possible hangs. - Fix connect timeout to be split among multiple IP addresses. #### v0.11.20 - Fix `deflate` decompression back to using zlib, as outlined in the spec. #### v0.11.19 - Add `ClientBuilder::http1_ignore_invalid_headers_in_responses()` option. - Add `ClientBuilder::http1_allow_spaces_after_header_name_in_responses()` option. - Add support for `ALL_PROXY` environment variable. - Add support for `use_preconfigured_tls` when combined with HTTP/3. - Fix `deflate` decompression from using the zlib decoder. - Fix `Response::{text, text_with_charset}()` to strip BOM characters. - Fix a panic when HTTP/3 is used if UDP isn't able to connect. - Fix some dependencies for HTTP/3. - Increase MSRV to 1.63. #### v0.11.18 - Fix `RequestBuilder::json()` method from overriding a previously set `content-type` header. An existing value will be left in place. - Upgrade internal dependencies for rustls and compression. #### v0.11.17 - Upgrade internal dependencies of Experimental HTTP/3 to use quinn v0.9 - (wasm) Fix blob url support #### v0.11.16 - Chore: set MSRV in `Cargo.toml`. - Docs: fix build on docs.rs #### v0.11.15 - Add `RequestBuilder` methods to split and reconstruct from its parts. - Add experimental HTTP/3 support. - Fix `connection_verbose` to log `write_vectored` calls. - (wasm) Make requests actually cancel if the future is dropped. #### v0.11.14 - Adds `Proxy::no_proxy(url)` that works like the NO_PROXY environment variable. - Adds `multipart::Part::headers(headers)` method to add custom headers. - (wasm) Add `Response::bytes_stream()`. - Perf: several internal optimizations reducing copies and memory allocations. #### v0.11.13 - Add `ClientBuilder::dns_resolver()` option for custom DNS resolvers. - Add `ClientBuilder::tls_sni(bool)` option to enable or disable TLS Server Name Indication. - Add `Identity::from_pkcs8_pem()` constructor when using `native-tls`. - Fix `redirect::Policy::limited(0)` from following any redirects. #### v0.11.12 - Add `ClientBuilder::resolve_to_addrs()` which allows a slice of IP addresses to be specified for a single host. - Add `Response::upgrade()` to await whether the server agrees to an HTTP upgrade. #### v0.11.11 - Add HTTP/2 keep-alive configuration methods on `ClientBuilder`. - Add `ClientBuilder::http1_allow_obsolete_multiline_headers_in_responses()`. - Add `impl Service<Request>` for `Client` and `&'_ Client`. - (wasm) Add `RequestBuilder::basic_auth()`. - Fix `RequestBuilder::header` to not override `sensitive` if user explicitly set on a `HeaderValue`. - Fix rustls parsing of elliptic curve private keys. - Fix Proxy URL parsing of some invalid targets. #### v0.11.10 - Add `Error::url()` to access the URL of an error. - Add `Response::extensions()` to access the `http::Extensions` of a response. - Fix `rustls-native-certs` to log an error instead of panicking when loading an invalid system certificate. - Fix passing Basic Authorization header to proxies. #### v0.11.9 - Add `ClientBuilder::http09_responses(bool)` option to allow receiving HTTP/0.9 responses. - Fix HTTP/2 to retry requests interrupted by an HTTP/2 graceful shutdown. - Fix proxy loading from environment variables to ignore empty values. #### v0.11.8 - Update internal webpki-roots dependency. #### v0.11.7 - Add `blocking::ClientBuilder::resolve()` option, matching the async builder. - Implement `From<tokio::fs::File>` for `Body`. - Fix `blocking` request-scoped timeout applying to bodies as well. - (wasm) Fix request bodies using multipart vs formdata. - Update internal `rustls` to 0.20. #### v0.11.6 - (wasm) Fix request bodies more. #### v0.11.5 - Add `ClientBuilder::http1_only()` method. - Add `tls::Version` type, and `ClientBuilder::min_tls_version()` and `ClientBuilder::max_tls_version()` methods. - Implement `TryFrom<Request>` for `http::Request`. - Implement `Clone` for `Identity`. - Fix `NO_PROXY`environment variable parsing to more closely match curl's. Comma-separated entries are now trimmed for whitespace, and `*` is allowed to match everything. - Fix redirection to respect `https_only` option. - (wasm) Add `Body::as_bytes()` method. - (wasm) Fix sometimes wrong conversation of bytes into a `JsValue`. - (wasm) Avoid dependency on serde-serialize feature. #### v0.11.4 - Add `ClientBuilder::resolve()` option to override DNS resolution for specific domains. - Add `native-tls-alpn` Cargo feature to use ALPN with the native-tls backend. - Add `ClientBuilder::deflate()` option and `deflate` Cargo feature to support decoding response bodies using deflate. - Add `RequestBuilder::version()` to allow setting the HTTP version of a request. - Fix allowing "invalid" certificates with the `rustls-tls` backend, when the server uses TLS v1.2 or v1.3. - (wasm) Add `try_clone` to `Request` and `RequestBuilder` #### v0.11.3 - Add `impl From<hyper::Body> for reqwest::Body`. - (wasm) Add credentials mode methods to `RequestBuilder`. #### v0.11.2 - Add `CookieStore` trait to customize the type that stores and retrieves cookies for a session. - Add `cookie::Jar` as a default `CookieStore`, easing creating some session cookies before creating the `Client`. - Add `ClientBuilder::http2_adaptive_window()` option to configure an adaptive HTTP2 flow control behavior. - Add `ClientBuilder::http2_max_frame_size()` option to adjust the maximum HTTP2 frame size that can be received. - Implement `IntoUrl` for `String`, making it more convenient to create requests with `format!`. #### v0.11.1 - Add `ClientBuilder::tls_built_in_root_certs()` option to disable built-in root certificates. - Fix `rustls-tls` glue to more often support ALPN to upgrade to HTTP/2. - Fix proxy parsing to assume `http://` if no scheme is found. - Fix connection pool idle reaping by enabling hyper's `runtime` feature. - (wasm) Add `Request::new()` constructor. ### [`v0.11.27`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01127) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.11.26...v0.11.27) - Add `hickory-dns` feature, deprecating `trust-dns`. - (wasm) Fix `Form::text()` to not set octet-stream for plain text fields. ### [`v0.11.26`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01126) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.11.25...v0.11.26) - Revert `system-configuration` upgrade, which broke MSRV on macOS. ### [`v0.11.25`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01125) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.11.24...v0.11.25) - Fix `Certificate::from_pem_bundle()` parsing. - Fix Apple linker errors from detecting system proxies. ### [`v0.11.24`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01124) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.11.23...v0.11.24) - Add `Certificate::from_pem_bundle()` to add a bundle. - Add `http3_prior_knowledge()` to blocking client builder. - Remove `Sync` bounds requirement for `Body::wrap_stream()`. - Fix HTTP/2 to retry `REFUSED_STREAM` requests. - Fix instances of converting `Url` to `Uri` that could panic. </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.133`](https://github.com/serde-rs/json/releases/tag/v1.0.133) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.132...v1.0.133) - Implement From<\[T; N]> for serde_json::Value ([#&#8203;1215](https://github.com/serde-rs/json/issues/1215)) ### [`v1.0.132`](https://github.com/serde-rs/json/releases/tag/v1.0.132) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.131...v1.0.132) - Improve binary size and compile time for JSON array and JSON object deserialization by about 50% ([#&#8203;1205](https://github.com/serde-rs/json/issues/1205)) - Improve performance of JSON array and JSON object deserialization by about 8% ([#&#8203;1206](https://github.com/serde-rs/json/issues/1206)) ### [`v1.0.131`](https://github.com/serde-rs/json/releases/tag/v1.0.131) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.130...v1.0.131) - Implement Deserializer and IntoDeserializer for `Map<String, Value>` and `&Map<String, Value>` ([#&#8203;1135](https://github.com/serde-rs/json/issues/1135), thanks [@&#8203;swlynch99](https://github.com/swlynch99)) ### [`v1.0.130`](https://github.com/serde-rs/json/releases/tag/v1.0.130) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.129...v1.0.130) - Support converting and deserializing `Number` from i128 and u128 ([#&#8203;1141](https://github.com/serde-rs/json/issues/1141), thanks [@&#8203;druide](https://github.com/druide)) ### [`v1.0.129`](https://github.com/serde-rs/json/releases/tag/v1.0.129) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.128...v1.0.129) - Add [`serde_json::Map::sort_keys`](https://docs.rs/serde_json/1/serde_json/struct.Map.html#method.sort_keys) and [`serde_json::Value::sort_all_objects`](https://docs.rs/serde_json/1/serde_json/enum.Value.html#method.sort_all_objects) ([#&#8203;1199](https://github.com/serde-rs/json/issues/1199)) ### [`v1.0.128`](https://github.com/serde-rs/json/releases/tag/v1.0.128) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.127...v1.0.128) - Support serializing maps containing 128-bit integer keys to serde_json::Value ([#&#8203;1188](https://github.com/serde-rs/json/issues/1188), thanks [@&#8203;Mrreadiness](https://github.com/Mrreadiness)) ### [`v1.0.127`](https://github.com/serde-rs/json/releases/tag/v1.0.127) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.126...v1.0.127) - Add more removal methods to OccupiedEntry ([#&#8203;1179](https://github.com/serde-rs/json/issues/1179), thanks [@&#8203;GREsau](https://github.com/GREsau)) ### [`v1.0.126`](https://github.com/serde-rs/json/releases/tag/v1.0.126) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.125...v1.0.126) - Improve string parsing on targets that use 32-bit pointers but also have fast 64-bit integer arithmetic, such as aarch64-unknown-linux-gnu_ilp32 and x86\_64-unknown-linux-gnux32 ([#&#8203;1182](https://github.com/serde-rs/json/issues/1182), thanks [@&#8203;CryZe](https://github.com/CryZe)) ### [`v1.0.125`](https://github.com/serde-rs/json/releases/tag/v1.0.125) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.124...v1.0.125) - Speed up \uXXXX parsing and improve handling of unpaired surrogates when deserializing to bytes ([#&#8203;1172](https://github.com/serde-rs/json/issues/1172), [#&#8203;1175](https://github.com/serde-rs/json/issues/1175), thanks [@&#8203;purplesyringa](https://github.com/purplesyringa)) ### [`v1.0.124`](https://github.com/serde-rs/json/releases/tag/v1.0.124) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.123...v1.0.124) - Fix a bug in processing string escapes in big-endian architectures ([#&#8203;1173](https://github.com/serde-rs/json/issues/1173), thanks [@&#8203;purplesyringa](https://github.com/purplesyringa)) ### [`v1.0.123`](https://github.com/serde-rs/json/releases/tag/v1.0.123) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.122...v1.0.123) - Optimize string parsing by applying SIMD-within-a-register: 30.3% improvement on [twitter.json](https://github.com/miloyip/nativejson-benchmark/blob/v1.0.0/data/twitter.json) from 613 MB/s to 799 MB/s ([#&#8203;1161](https://github.com/serde-rs/json/issues/1161), thanks [@&#8203;purplesyringa](https://github.com/purplesyringa)) ### [`v1.0.122`](https://github.com/serde-rs/json/releases/tag/v1.0.122) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.121...v1.0.122) - Support using `json!` in no-std crates ([#&#8203;1166](https://github.com/serde-rs/json/issues/1166)) ### [`v1.0.121`](https://github.com/serde-rs/json/releases/tag/v1.0.121) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.120...v1.0.121) - Optimize position search in error path ([#&#8203;1160](https://github.com/serde-rs/json/issues/1160), thanks [@&#8203;purplesyringa](https://github.com/purplesyringa)) ### [`v1.0.120`](https://github.com/serde-rs/json/releases/tag/v1.0.120) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.119...v1.0.120) - Correctly specify required version of `indexmap` dependency ([#&#8203;1152](https://github.com/serde-rs/json/issues/1152), thanks [@&#8203;cforycki](https://github.com/cforycki)) ### [`v1.0.119`](https://github.com/serde-rs/json/releases/tag/v1.0.119) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.118...v1.0.119) - Add `serde_json::Map::shift_insert` ([#&#8203;1149](https://github.com/serde-rs/json/issues/1149), thanks [@&#8203;joshka](https://github.com/joshka)) ### [`v1.0.118`](https://github.com/serde-rs/json/releases/tag/v1.0.118) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.117...v1.0.118) - Implement Hash for serde_json::Value ([#&#8203;1127](https://github.com/serde-rs/json/issues/1127), thanks [@&#8203;edwardycl](https://github.com/edwardycl)) ### [`v1.0.117`](https://github.com/serde-rs/json/releases/tag/v1.0.117) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117) - Resolve unexpected_cfgs warning ([#&#8203;1130](https://github.com/serde-rs/json/issues/1130)) ### [`v1.0.116`](https://github.com/serde-rs/json/releases/tag/v1.0.116) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.115...v1.0.116) - Make module structure comprehensible to static analysis ([#&#8203;1124](https://github.com/serde-rs/json/issues/1124), thanks [@&#8203;mleonhard](https://github.com/mleonhard)) ### [`v1.0.115`](https://github.com/serde-rs/json/releases/tag/v1.0.115) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.114...v1.0.115) - Documentation improvements ### [`v1.0.114`](https://github.com/serde-rs/json/releases/tag/v1.0.114) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.113...v1.0.114) - Fix unused_imports warnings when compiled by rustc 1.78 ### [`v1.0.113`](https://github.com/serde-rs/json/releases/tag/v1.0.113) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.112...v1.0.113) - Add `swap_remove` and `shift_remove` methods on Map ([#&#8203;1109](https://github.com/serde-rs/json/issues/1109)) ### [`v1.0.112`](https://github.com/serde-rs/json/releases/tag/v1.0.112) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.111...v1.0.112) - Improve formatting of "invalid type" error messages involving floats ([#&#8203;1107](https://github.com/serde-rs/json/issues/1107)) </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.41.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.41.1): Tokio v1.41.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.41.0...tokio-1.41.1) ### 1.41.1 (Nov 7th, 2024) ##### Fixed - metrics: fix bug with wrong number of buckets for the histogram ([#&#8203;6957]) - net: display `net` requirement for `net::UdpSocket` in docs ([#&#8203;6938]) - net: fix typo in `TcpStream` internal comment ([#&#8203;6944]) [#&#8203;6957]: https://github.com/tokio-rs/tokio/pull/6957 [#&#8203;6938]: https://github.com/tokio-rs/tokio/pull/6938 [#&#8203;6944]: https://github.com/tokio-rs/tokio/pull/6944 ### [`v1.41.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.41.0): Tokio v1.41.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.0) ### 1.41.0 (Oct 22th, 2024) ##### Added - metrics: stabilize `global_queue_depth` ([#&#8203;6854], [#&#8203;6918]) - net: add conversions for unix `SocketAddr` ([#&#8203;6868]) - sync: add `watch::Sender::sender_count` ([#&#8203;6836]) - sync: add `mpsc::Receiver::blocking_recv_many` ([#&#8203;6867]) - task: stabilize `Id` apis ([#&#8203;6793], [#&#8203;6891]) ##### Added (unstable) - metrics: add H2 Histogram option to improve histogram granularity ([#&#8203;6897]) - metrics: rename some histogram apis ([#&#8203;6924]) - runtime: add `LocalRuntime` ([#&#8203;6808]) ##### Changed - runtime: box futures larger than 16k on release mode ([#&#8203;6826]) - sync: add `#[must_use]` to `Notified` ([#&#8203;6828]) - sync: make `watch` cooperative ([#&#8203;6846]) - sync: make `broadcast::Receiver` cooperative ([#&#8203;6870]) - task: add task size to tracing instrumentation ([#&#8203;6881]) - wasm: enable `cfg_fs` for `wasi` target ([#&#8203;6822]) ##### Fixed - net: fix regression of abstract socket path in unix socket ([#&#8203;6838]) ##### Documented - io: recommend `OwnedFd` with `AsyncFd` ([#&#8203;6821]) - io: document cancel safety of `AsyncFd` methods ([#&#8203;6890]) - macros: render more comprehensible documentation for `join` and `try_join` ([#&#8203;6814], [#&#8203;6841]) - net: fix swapped examples for `TcpSocket::set_nodelay` and `TcpSocket::nodelay` ([#&#8203;6840]) - sync: document runtime compatibility ([#&#8203;6833]) [#&#8203;6793]: https://github.com/tokio-rs/tokio/pull/6793 [#&#8203;6808]: https://github.com/tokio-rs/tokio/pull/6808 [#&#8203;6810]: https://github.com/tokio-rs/tokio/pull/6810 [#&#8203;6814]: https://github.com/tokio-rs/tokio/pull/6814 [#&#8203;6821]: https://github.com/tokio-rs/tokio/pull/6821 [#&#8203;6822]: https://github.com/tokio-rs/tokio/pull/6822 [#&#8203;6826]: https://github.com/tokio-rs/tokio/pull/6826 [#&#8203;6828]: https://github.com/tokio-rs/tokio/pull/6828 [#&#8203;6833]: https://github.com/tokio-rs/tokio/pull/6833 [#&#8203;6836]: https://github.com/tokio-rs/tokio/pull/6836 [#&#8203;6838]: https://github.com/tokio-rs/tokio/pull/6838 [#&#8203;6840]: https://github.com/tokio-rs/tokio/pull/6840 [#&#8203;6841]: https://github.com/tokio-rs/tokio/pull/6841 [#&#8203;6846]: https://github.com/tokio-rs/tokio/pull/6846 [#&#8203;6854]: https://github.com/tokio-rs/tokio/pull/6854 [#&#8203;6867]: https://github.com/tokio-rs/tokio/pull/6867 [#&#8203;6868]: https://github.com/tokio-rs/tokio/pull/6868 [#&#8203;6870]: https://github.com/tokio-rs/tokio/pull/6870 [#&#8203;6881]: https://github.com/tokio-rs/tokio/pull/6881 [#&#8203;6890]: https://github.com/tokio-rs/tokio/pull/6890 [#&#8203;6891]: https://github.com/tokio-rs/tokio/pull/6891 [#&#8203;6897]: https://github.com/tokio-rs/tokio/pull/6897 [#&#8203;6918]: https://github.com/tokio-rs/tokio/pull/6918 [#&#8203;6924]: https://github.com/tokio-rs/tokio/pull/6924 ### [`v1.40.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.40.0): Tokio v1.40.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.3...tokio-1.40.0) ### 1.40.0 (August 30th, 2024) ##### Added - io: add `util::SimplexStream` ([#&#8203;6589]) - process: stabilize `Command::process_group` ([#&#8203;6731]) - sync: add `{TrySendError,SendTimeoutError}::into_inner` ([#&#8203;6755]) - task: add `JoinSet::join_all` ([#&#8203;6784]) ##### Added (unstable) - runtime: add `Builder::{on_task_spawn, on_task_terminate}` ([#&#8203;6742]) ##### Changed - io: use vectored io for `write_all_buf` when possible ([#&#8203;6724]) - runtime: prevent niche-optimization to avoid triggering miri ([#&#8203;6744]) - sync: mark mpsc types as `UnwindSafe` ([#&#8203;6783]) - sync,time: make `Sleep` and `BatchSemaphore` instrumentation explicit roots ([#&#8203;6727]) - task: use `NonZeroU64` for `task::Id` ([#&#8203;6733]) - task: include panic message when printing `JoinError` ([#&#8203;6753]) - task: add `#[must_use]` to `JoinHandle::abort_handle` ([#&#8203;6762]) - time: eliminate timer wheel allocations ([#&#8203;6779]) ##### Documented - docs: clarify that `[build]` section doesn't go in Cargo.toml ([#&#8203;6728]) - io: clarify zero remaining capacity case ([#&#8203;6790]) - macros: improve documentation for `select!` ([#&#8203;6774]) - sync: document mpsc channel allocation behavior ([#&#8203;6773]) [#&#8203;6589]: https://github.com/tokio-rs/tokio/pull/6589 [#&#8203;6724]: https://github.com/tokio-rs/tokio/pull/6724 [#&#8203;6727]: https://github.com/tokio-rs/tokio/pull/6727 [#&#8203;6728]: https://github.com/tokio-rs/tokio/pull/6728 [#&#8203;6731]: https://github.com/tokio-rs/tokio/pull/6731 [#&#8203;6733]: https://github.com/tokio-rs/tokio/pull/6733 [#&#8203;6742]: https://github.com/tokio-rs/tokio/pull/6742 [#&#8203;6744]: https://github.com/tokio-rs/tokio/pull/6744 [#&#8203;6753]: https://github.com/tokio-rs/tokio/pull/6753 [#&#8203;6755]: https://github.com/tokio-rs/tokio/pull/6755 [#&#8203;6762]: https://github.com/tokio-rs/tokio/pull/6762 [#&#8203;6773]: https://github.com/tokio-rs/tokio/pull/6773 [#&#8203;6774]: https://github.com/tokio-rs/tokio/pull/6774 [#&#8203;6779]: https://github.com/tokio-rs/tokio/pull/6779 [#&#8203;6783]: https://github.com/tokio-rs/tokio/pull/6783 [#&#8203;6784]: https://github.com/tokio-rs/tokio/pull/6784 [#&#8203;6790]: https://github.com/tokio-rs/tokio/pull/6790 ### [`v1.39.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.3): Tokio v1.39.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.2...tokio-1.39.3) ### 1.39.3 (August 17th, 2024) This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. ([#&#8203;6772]) [#&#8203;6772]: https://github.com/tokio-rs/tokio/pull/6772 ### [`v1.39.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.2): Tokio v1.39.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.1...tokio-1.39.2) ### 1.39.2 (July 27th, 2024) This release fixes a regression where the `select!` macro stopped accepting expressions that make use of temporary lifetime extension. ([#&#8203;6722]) [#&#8203;6722]: https://github.com/tokio-rs/tokio/pull/6722 ### [`v1.39.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.1): Tokio v1.39.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.0...tokio-1.39.1) ### 1.39.1 (July 23rd, 2024) This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. ([#&#8203;6715]) [#&#8203;6715]: https://github.com/tokio-rs/tokio/pull/6715 ### [`v1.39.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.0): Tokio v1.39.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.1...tokio-1.39.0) ### 1.39.0 (July 23rd, 2024) - This release bumps the MSRV to 1.70. ([#&#8203;6645]) - This release upgrades to mio v1. ([#&#8203;6635]) - This release upgrades to windows-sys v0.52 ([#&#8203;6154]) ##### Added - io: implement `AsyncSeek` for `Empty` ([#&#8203;6663]) - metrics: stabilize `num_alive_tasks` ([#&#8203;6619], [#&#8203;6667]) - process: add `Command::as_std_mut` ([#&#8203;6608]) - sync: add `watch::Sender::same_channel` ([#&#8203;6637]) - sync: add `{Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count}` ([#&#8203;6661]) - sync: implement `Default` for `watch::Sender` ([#&#8203;6626]) - task: implement `Clone` for `AbortHandle` ([#&#8203;6621]) - task: stabilize `consume_budget` ([#&#8203;6622]) ##### Changed - io: improve panic message of `ReadBuf::put_slice()` ([#&#8203;6629]) - io: read during write in `copy_bidirectional` and `copy` ([#&#8203;6532]) - runtime: replace `num_cpus` with `available_parallelism` ([#&#8203;6709]) - task: avoid stack overflow when passing large future to `block_on` ([#&#8203;6692]) - time: avoid traversing entries in the time wheel twice ([#&#8203;6584]) - time: support `IntoFuture` with `timeout` ([#&#8203;6666]) - macros: support `IntoFuture` with `join!` and `select!` ([#&#8203;6710]) ##### Fixed - docs: fix docsrs builds with the fs feature enabled ([#&#8203;6585]) - io: only use short-read optimization on known-to-be-compatible platforms ([#&#8203;6668]) - time: fix overflow panic when using large durations with `Interval` ([#&#8203;6612]) ##### Added (unstable) - macros: allow `unhandled_panic` behavior for `#[tokio::main]` and `#[tokio::test]` ([#&#8203;6593]) - metrics: add `spawned_tasks_count` ([#&#8203;6114]) - metrics: add `worker_park_unpark_count` ([#&#8203;6696]) - metrics: add worker thread id ([#&#8203;6695]) ##### Documented - io: update `tokio::io::stdout` documentation ([#&#8203;6674]) - macros: typo fix in `join.rs` and `try_join.rs` ([#&#8203;6641]) - runtime: fix typo in `unhandled_panic` ([#&#8203;6660]) - task: document behavior of `JoinSet::try_join_next` when all tasks are running ([#&#8203;6671]) [#&#8203;6114]: https://github.com/tokio-rs/tokio/pull/6114 [#&#8203;6154]: https://github.com/tokio-rs/tokio/pull/6154 [#&#8203;6532]: https://github.com/tokio-rs/tokio/pull/6532 [#&#8203;6584]: https://github.com/tokio-rs/tokio/pull/6584 [#&#8203;6585]: https://github.com/tokio-rs/tokio/pull/6585 [#&#8203;6593]: https://github.com/tokio-rs/tokio/pull/6593 [#&#8203;6608]: https://github.com/tokio-rs/tokio/pull/6608 [#&#8203;6612]: https://github.com/tokio-rs/tokio/pull/6612 [#&#8203;6619]: https://github.com/tokio-rs/tokio/pull/6619 [#&#8203;6621]: https://github.com/tokio-rs/tokio/pull/6621 [#&#8203;6622]: https://github.com/tokio-rs/tokio/pull/6622 [#&#8203;6626]: https://github.com/tokio-rs/tokio/pull/6626 [#&#8203;6629]: https://github.com/tokio-rs/tokio/pull/6629 [#&#8203;6635]: https://github.com/tokio-rs/tokio/pull/6635 [#&#8203;6637]: https://github.com/tokio-rs/tokio/pull/6637 [#&#8203;6641]: https://github.com/tokio-rs/tokio/pull/6641 [#&#8203;6645]: https://github.com/tokio-rs/tokio/pull/6645 [#&#8203;6660]: https://github.com/tokio-rs/tokio/pull/6660 [#&#8203;6661]: https://github.com/tokio-rs/tokio/pull/6661 [#&#8203;6663]: https://github.com/tokio-rs/tokio/pull/6663 [#&#8203;6666]: https://github.com/tokio-rs/tokio/pull/6666 [#&#8203;6667]: https://github.com/tokio-rs/tokio/pull/6667 [#&#8203;6668]: https://github.com/tokio-rs/tokio/pull/6668 [#&#8203;6671]: https://github.com/tokio-rs/tokio/pull/6671 [#&#8203;6674]: https://github.com/tokio-rs/tokio/pull/6674 [#&#8203;6692]: https://github.com/tokio-rs/tokio/pull/6692 [#&#8203;6695]: https://github.com/tokio-rs/tokio/pull/6695 [#&#8203;6696]: https://github.com/tokio-rs/tokio/pull/6696 [#&#8203;6709]: https://github.com/tokio-rs/tokio/pull/6709 [#&#8203;6710]: https://github.com/tokio-rs/tokio/pull/6710 ### [`v1.38.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.1): Tokio v1.38.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.0...tokio-1.38.1) ### 1.38.1 (July 16th, 2024) This release fixes the bug identified as ([#&#8203;6682]), which caused timers not to fire when they should. ##### Fixed - time: update `wake_up` while holding all the locks of sharded time wheels ([#&#8203;6683]) [#&#8203;6682]: https://github.com/tokio-rs/tokio/pull/6682 [#&#8203;6683]: https://github.com/tokio-rs/tokio/pull/6683 ### [`v1.38.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.0): Tokio v1.38.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.37.0...tokio-1.38.0) This release marks the beginning of stabilization for runtime metrics. It stabilizes `RuntimeMetrics::worker_count`. Future releases will continue to stabilize more metrics. ##### Added - fs: add `File::create_new` ([#&#8203;6573]) - io: add `copy_bidirectional_with_sizes` ([#&#8203;6500]) - io: implement `AsyncBufRead` for `Join` ([#&#8203;6449]) - net: add Apple visionOS support ([#&#8203;6465]) - net: implement `Clone` for `NamedPipeInfo` ([#&#8203;6586]) - net: support QNX OS ([#&#8203;6421]) - sync: add `Notify::notify_last` ([#&#8203;6520]) - sync: add `mpsc::Receiver::{capacity,max_capacity}` ([#&#8203;6511]) - sync: add `split` method to the semaphore permit ([#&#8203;6472], [#&#8203;6478]) - task: add `tokio::task::join_set::Builder::spawn_blocking` ([#&#8203;6578]) - wasm: support rt-multi-thread with wasm32-wasi-preview1-threads ([#&#8203;6510]) ##### Changed - macros: make `#[tokio::test]` append `#[test]` at the end of the attribute list ([#&#8203;6497]) - metrics: fix `blocking_threads` count ([#&#8203;6551]) - metrics: stabilize `RuntimeMetrics::worker_count` ([#&#8203;6556]) - runtime: move task out of the `lifo_slot` in `block_in_place` ([#&#8203;6596]) - runtime: panic if `global_queue_interval` is zero ([#&#8203;6445]) - sync: always drop message in destructor for oneshot receiver ([#&#8203;6558]) - sync: instrument `Semaphore` for task dumps ([#&#8203;6499]) - sync: use FIFO ordering when waking batches of wakers ([#&#8203;6521]) - task: make `LocalKey::get` work with Clone types ([#&#8203;6433]) - tests: update nix and mio-aio dev-dependencies ([#&#8203;6552]) - time: clean up implementation ([#&#8203;6517]) - time: lazily init timers on first poll ([#&#8203;6512]) - time: remove the `true_when` field in `TimerShared` ([#&#8203;6563]) - time: use sharding for timer implementation ([#&#8203;6534]) ##### Fixed - taskdump: allow building taskdump docs on non-unix machines ([#&#8203;6564]) - time: check for overflow in `Interval::poll_tick` ([#&#8203;6487]) - sync: fix incorrect `is_empty` on mpsc block boundaries ([#&#8203;6603]) ##### Documented - fs: rewrite file system docs ([#&#8203;6467]) - io: fix `stdin` documentation ([#&#8203;6581]) - io: fix obsolete reference in `ReadHalf::unsplit()` documentation ([#&#8203;6498]) - macros: render more comprehensible documentation for `select!` ([#&#8203;6468]) - net: add missing types to module docs ([#&#8203;6482]) - net: fix misleading `NamedPipeServer` example ([#&#8203;6590]) - sync: add examples for `SemaphorePermit`, `OwnedSemaphorePermit` ([#&#8203;6477]) - sync: document that `Barrier::wait` is not cancel safe ([#&#8203;6494]) - sync: explain relation between `watch::Sender::{subscribe,closed}` ([#&#8203;6490]) - task: clarify that you can't abort `spawn_blocking` tasks ([#&#8203;6571]) - task: fix a typo in doc of `LocalSet::run_until` ([#&#8203;6599]) - time: fix test-util requirement for pause and resume in docs ([#&#8203;6503]) [#&#8203;6421]: https://github.com/tokio-rs/tokio/pull/6421 [#&#8203;6433]: https://github.com/tokio-rs/tokio/pull/6433 [#&#8203;6445]: https://github.com/tokio-rs/tokio/pull/6445 [#&#8203;6449]: https://github.com/tokio-rs/tokio/pull/6449 [#&#8203;6465]: https://github.com/tokio-rs/tokio/pull/6465 [#&#8203;6467]: https://github.com/tokio-rs/tokio/pull/6467 [#&#8203;6468]: https://github.com/tokio-rs/tokio/pull/6468 [#&#8203;6472]: https://github.com/tokio-rs/tokio/pull/6472 [#&#8203;6477]: https://github.com/tokio-rs/tokio/pull/6477 [#&#8203;6478]: https://github.com/tokio-rs/tokio/pull/6478 [#&#8203;6482]: https://github.com/tokio-rs/tokio/pull/6482 [#&#8203;6487]: https://github.com/tokio-rs/tokio/pull/6487 [#&#8203;6490]: https://github.com/tokio-rs/tokio/pull/6490 [#&#8203;6494]: https://github.com/tokio-rs/tokio/pull/6494 [#&#8203;6497]: https://github.com/tokio-rs/tokio/pull/6497 [#&#8203;6498]: https://github.com/tokio-rs/tokio/pull/6498 [#&#8203;6499]: https://github.com/tokio-rs/tokio/pull/6499 [#&#8203;6500]: https://github.com/tokio-rs/tokio/pull/6500 [#&#8203;6503]: https://github.com/tokio-rs/tokio/pull/6503 [#&#8203;6510]: https://github.com/tokio-rs/tokio/pull/6510 [#&#8203;6511]: https://github.com/tokio-rs/tokio/pull/6511 [#&#8203;6512]: https://github.com/tokio-rs/tokio/pull/6512 [#&#8203;6517]: https://github.com/tokio-rs/tokio/pull/6517 [#&#8203;6520]: https://github.com/tokio-rs/tokio/pull/6520 [#&#8203;6521]: https://github.com/tokio-rs/tokio/pull/6521 [#&#8203;6534]: https://github.com/tokio-rs/tokio/pull/6534 [#&#8203;6551]: https://github.com/tokio-rs/tokio/pull/6551 [#&#8203;6552]: https://github.com/tokio-rs/tokio/pull/6552 [#&#8203;6556]: https://github.com/tokio-rs/tokio/pull/6556 [#&#8203;6558]: https://github.com/tokio-rs/tokio/pull/6558 [#&#8203;6563]: https://github.com/tokio-rs/tokio/pull/6563 [#&#8203;6564]: https://github.com/tokio-rs/tokio/pull/6564 [#&#8203;6571]: https://github.com/tokio-rs/tokio/pull/6571 [#&#8203;6573]: https://github.com/tokio-rs/tokio/pull/6573 [#&#8203;6578]: https://github.com/tokio-rs/tokio/pull/6578 [#&#8203;6581]: https://github.com/tokio-rs/tokio/pull/6581 [#&#8203;6586]: https://github.com/tokio-rs/tokio/pull/6586 [#&#8203;6590]: https://github.com/tokio-rs/tokio/pull/6590 [#&#8203;6596]: https://github.com/tokio-rs/tokio/pull/6596 [#&#8203;6599]: https://github.com/tokio-rs/tokio/pull/6599 [#&#8203;6603]: https://github.com/tokio-rs/tokio/pull/6603 ### [`v1.37.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.37.0): Tokio v1.37.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0) ### 1.37.0 (March 28th, 2024) ##### Added - fs: add `set_max_buf_size` to `tokio::fs::File` ([#&#8203;6411]) - io: add `try_new` and `try_with_interest` to `AsyncFd` ([#&#8203;6345]) - sync: add `forget_permits` method to semaphore ([#&#8203;6331]) - sync: add `is_closed`, `is_empty`, and `len` to mpsc receivers ([#&#8203;6348]) - sync: add a `rwlock()` method to owned `RwLock` guards ([#&#8203;6418]) - sync: expose strong and weak counts of mpsc sender handles ([#&#8203;6405]) - sync: implement `Clone` for `watch::Sender` ([#&#8203;6388]) - task: add `TaskLocalFuture::take_value` ([#&#8203;6340]) - task: implement `FromIterator` for `JoinSet` ([#&#8203;6300]) ##### Changed - io: make `io::split` use a mutex instead of a spinlock ([#&#8203;6403]) ##### Fixed - docs: fix docsrs build without net feature ([#&#8203;6360]) - macros: allow select with only else branch ([#&#8203;6339]) - runtime: fix leaking registration entries when os registration fails ([#&#8203;6329]) ##### Documented - io: document cancel safety of `AsyncBufReadExt::fill_buf` ([#&#8203;6431]) - io: document cancel safety of `AsyncReadExt`'s primitive read functions ([#&#8203;6337]) - runtime: add doc link from `Runtime` to `#[tokio::main]` ([#&#8203;6366]) - runtime: make the `enter` example deterministic ([#&#8203;6351]) - sync: add Semaphore example for limiting the number of outgoing requests ([#&#8203;6419]) - sync: fix missing period in broadcast docs ([#&#8203;6377]) - sync: mark `mpsc::Sender::downgrade` with `#[must_use]` ([#&#8203;6326]) - sync: reorder `const_new` before `new_with` ([#&#8203;6392]) - sync: update watch channel docs ([#&#8203;6395]) - task: fix documentation links ([#&#8203;6336]) ##### Changed (unstable) - runtime: include task `Id` in taskdumps ([#&#8203;6328]) - runtime: panic if `unhandled_panic` is enabled when not supported ([#&#8203;6410]) [#&#8203;6300]: https://github.com/tokio-rs/tokio/pull/6300 [#&#8203;6326]: https://github.com/tokio-rs/tokio/pull/6326 [#&#8203;6328]: https://github.com/tokio-rs/tokio/pull/6328 [#&#8203;6329]: https://github.com/tokio-rs/tokio/pull/6329 [#&#8203;6331]: https://github.com/tokio-rs/tokio/pull/6331 [#&#8203;6336]: https://github.com/tokio-rs/tokio/pull/6336 [#&#8203;6337]: https://github.com/tokio-rs/tokio/pull/6337 [#&#8203;6339]: https://github.com/tokio-rs/tokio/pull/6339 [#&#8203;6340]: https://github.com/tokio-rs/tokio/pull/6340 [#&#8203;6345]: https://github.com/tokio-rs/tokio/pull/6345 [#&#8203;6348]: https://github.com/tokio-rs/tokio/pull/6348 [#&#8203;6351]: https://github.com/tokio-rs/tokio/pull/6351 [#&#8203;6360]: https://github.com/tokio-rs/tokio/pull/6360 [#&#8203;6366]: https://github.com/tokio-rs/tokio/pull/6366 [#&#8203;6377]: https://github.com/tokio-rs/tokio/pull/6377 [#&#8203;6388]: https://github.com/tokio-rs/tokio/pull/6388 [#&#8203;6392]: https://github.com/tokio-rs/tokio/pull/6392 [#&#8203;6395]: https://github.com/tokio-rs/tokio/pull/6395 [#&#8203;6403]: https://github.com/tokio-rs/tokio/pull/6403 [#&#8203;6405]: https://github.com/tokio-rs/tokio/pull/6405 [#&#8203;6410]: https://github.com/tokio-rs/tokio/pull/6410 [#&#8203;6411]: https://github.com/tokio-rs/tokio/pull/6411 [#&#8203;6418]: https://github.com/tokio-rs/tokio/pull/6418 [#&#8203;6419]: https://github.com/tokio-rs/tokio/pull/6419 [#&#8203;6431]: https://github.com/tokio-rs/tokio/pull/6431 ### [`v1.36.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.36.0): Tokio v1.36.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.35.1...tokio-1.36.0) ### 1.36.0 (February 2nd, 2024) ##### Added - io: add `tokio::io::Join` ([#&#8203;6220]) - io: implement `AsyncWrite` for `Empty` ([#&#8203;6235]) - net: add support for anonymous unix pipes ([#&#8203;6127]) - net: add `UnixSocket` ([#&#8203;6290]) - net: expose keepalive option on `TcpSocket` ([#&#8203;6311]) - sync: add `{Receiver,UnboundedReceiver}::poll_recv_many` ([#&#8203;6236]) - sync: add `Sender::{try_,}reserve_many` ([#&#8203;6205]) - sync: add `watch::Receiver::mark_unchanged` ([#&#8203;6252]) - task: add `JoinSet::try_join_next` ([#&#8203;6280]) ##### Changed - io: make `copy` cooperative ([#&#8203;6265]) - io: make `repeat` and `sink` cooperative ([#&#8203;6254]) - io: simplify check for empty slice ([#&#8203;6293]) - process: use pidfd on Linux when available ([#&#8203;6152]) - sync: use AtomicBool in broadcast channel future ([#&#8203;6298]) ##### Documented - io: clarify `clear_ready` docs ([#&#8203;6304]) - net: document that `*Fd` traits on `TcpSocket` are unix-only ([#&#8203;6294]) - sync: document FIFO behavior of `tokio::sync::Mutex` ([#&#8203;6279]) - chore: typographic improvements ([#&#8203;6262]) - runtime: remove obsolete comment ([#&#8203;6303]) - task: fix typo ([#&#8203;6261]) [#&#8203;6220]: https://github.com/tokio-rs/tokio/pull/6220 [#&#8203;6235]: https://github.com/tokio-rs/tokio/pull/6235 [#&#8203;6127]: https://github.com/tokio-rs/tokio/pull/6127 [#&#8203;6290]: https://github.com/tokio-rs/tokio/pull/6290 [#&#8203;6311]: https://github.com/tokio-rs/tokio/pull/6311 [#&#8203;6236]: https://github.com/tokio-rs/tokio/pull/6236 [#&#8203;6205]: https://github.com/tokio-rs/tokio/pull/6205 [#&#8203;6252]: https://github.com/tokio-rs/tokio/pull/6252 [#&#8203;6280]: https://github.com/tokio-rs/tokio/pull/6280 [#&#8203;6265]: https://github.com/tokio-rs/tokio/pull/6265 [#&#8203;6254]: https://github.com/tokio-rs/tokio/pull/6254 [#&#8203;6293]: https://github.com/tokio-rs/tokio/pull/6293 [#&#8203;6238]: https://github.com/tokio-rs/tokio/pull/6238 [#&#8203;6152]: https://github.com/tokio-rs/tokio/pull/6152 [#&#8203;6298]: https://github.com/tokio-rs/tokio/pull/6298 [#&#8203;6262]: https://github.com/tokio-rs/tokio/pull/6262 [#&#8203;6303]: https://github.com/tokio-rs/tokio/pull/6303 [#&#8203;6261]: https://github.com/tokio-rs/tokio/pull/6261 [#&#8203;6304]: https://github.com/tokio-rs/tokio/pull/6304 [#&#8203;6294]: https://github.com/tokio-rs/tokio/pull/6294 [#&#8203;6279]: https://github.com/tokio-rs/tokio/pull/6279 ### [`v1.35.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.35.1): Tokio v1.35.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1) ### 1.35.1 (December 19, 2023) This is a forward part of a change that was backported to 1.25.3. ##### Fixed - io: add budgeting to `tokio::runtime::io::registration::async_io` ([#&#8203;6221]) [#&#8203;6221]: https://github.com/tokio-rs/tokio/pull/6221 ### [`v1.35.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.35.0): Tokio v1.35.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.34.0...tokio-1.35.0) ### 1.35.0 (December 8th, 2023) ##### Added - net: add Apple watchOS support ([#&#8203;6176]) ##### Changed - io: drop the `Sized` requirements from `AsyncReadExt.read_buf` ([#&#8203;6169]) - runtime: make `Runtime` unwind safe ([#&#8203;6189]) - runtime: reduce the lock contention in task spawn ([#&#8203;6001]) - tokio: update nix dependency to 0.27.1 ([#&#8203;6190]) ##### Fixed - chore: make `--cfg docsrs` work without net feature ([#&#8203;6166]) - chore: use relaxed load for `unsync_load` on miri ([#&#8203;6179]) - runtime: handle missing context on wake ([#&#8203;6148]) - taskdump: fix taskdump cargo config example ([#&#8203;6150]) - taskdump: skip notified tasks during taskdumps ([#&#8203;6194]) - tracing: avoid creating resource spans with current parent, use a None parent instead ([#&#8203;6107]) - tracing: make task span explicit root ([#&#8203;6158]) ##### Documented - io: flush in `AsyncWriteExt` examples ([#&#8203;6149]) - runtime: document fairness guarantees and current behavior ([#&#8203;6145]) - task: document cancel safety of `LocalSet::run_until` ([#&#8203;6147]) [#&#8203;6001]: https://github.com/tokio-rs/tokio/pull/6001 [#&#8203;6107]: https://github.com/tokio-rs/tokio/pull/6107 [#&#8203;6144]: https://github.com/tokio-rs/tokio/pull/6144 [#&#8203;6145]: https://github.com/tokio-rs/tokio/pull/6145 [#&#8203;6147]: https://github.com/tokio-rs/tokio/pull/6147 [#&#8203;6148]: https://github.com/tokio-rs/tokio/pull/6148 [#&#8203;6149]: https://github.com/tokio-rs/tokio/pull/6149 [#&#8203;6150]: https://github.com/tokio-rs/tokio/pull/6150 [#&#8203;6158]: https://github.com/tokio-rs/tokio/pull/6158 [#&#8203;6166]: https://github.com/tokio-rs/tokio/pull/6166 [#&#8203;6169]: https://github.com/tokio-rs/tokio/pull/6169 [#&#8203;6176]: https://github.com/tokio-rs/tokio/pull/6176 [#&#8203;6179]: https://github.com/tokio-rs/tokio/pull/6179 [#&#8203;6189]: https://github.com/tokio-rs/tokio/pull/6189 [#&#8203;6190]: https://github.com/tokio-rs/tokio/pull/6190 [#&#8203;6194]: https://github.com/tokio-rs/tokio/pull/6194 ### [`v1.34.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.34.0): Tokio v1.34.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.33.0...tokio-1.34.0) ##### Fixed - io: allow `clear_readiness` after io driver shutdown ([#&#8203;6067]) - io: fix integer overflow in `take` ([#&#8203;6080]) - io: fix I/O resource hang ([#&#8203;6134]) - sync: fix `broadcast::channel` link ([#&#8203;6100]) ##### Changed - macros: use `::core` qualified imports instead of `::std` inside `tokio::test` macro ([#&#8203;5973]) ##### Added - fs: update cfg attr in `fs::read_dir` to include `aix` ([#&#8203;6075]) - sync: add `mpsc::Receiver::recv_many` ([#&#8203;6010]) - tokio: added vita target support ([#&#8203;6094]) [#&#8203;5973]: https://github.com/tokio-rs/tokio/pull/5973 [#&#8203;6067]: https://github.com/tokio-rs/tokio/pull/6067 [#&#8203;6080]: https://github.com/tokio-rs/tokio/pull/6080 [#&#8203;6134]: https://github.com/tokio-rs/tokio/pull/6134 [#&#8203;6100]: https://github.com/tokio-rs/tokio/pull/6100 [#&#8203;6075]: https://github.com/tokio-rs/tokio/pull/6075 [#&#8203;6010]: https://github.com/tokio-rs/tokio/pull/6010 [#&#8203;6094]: https://github.com/tokio-rs/tokio/pull/6094 ### [`v1.33.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.33.0): Tokio v1.33.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.32.1...tokio-1.33.0) ### 1.33.0 (October 9, 2023) ##### Fixed - io: mark `Interest::add` with `#[must_use]` ([#&#8203;6037]) - runtime: fix cache line size for RISC-V ([#&#8203;5994]) - sync: prevent lock poisoning in `watch::Receiver::wait_for` ([#&#8203;6021]) - task: fix `spawn_local` source location ([#&#8203;5984]) ##### Changed - sync: use Acquire/Release orderings instead of SeqCst in `watch` ([#&#8203;6018]) ##### Added - fs: add vectored writes to `tokio::fs::File` ([#&#8203;5958]) - io: add `Interest::remove` method ([#&#8203;5906]) - io: add vectored writes to `DuplexStream` ([#&#8203;5985]) - net: add Apple tvOS support ([#&#8203;6045]) - sync: add `?Sized` bound to `{MutexGuard,OwnedMutexGuard}::map` ([#&#8203;5997]) - sync: add `watch::Receiver::mark_unseen` ([#&#8203;5962], [#&#8203;6014], [#&#8203;6017]) - sync: add `watch::Sender::new` ([#&#8203;5998]) - sync: add const fn `OnceCell::from_value` ([#&#8203;5903]) ##### Removed - remove unused `stats` feature ([#&#8203;5952]) ##### Documented - add missing backticks in code examples ([#&#8203;5938], [#&#8203;6056]) - fix typos ([#&#8203;5988], [#&#8203;6030]) - process: document that `Child::wait` is cancel safe ([#&#8203;5977]) - sync: add examples for `Semaphore` ([#&#8203;5939], [#&#8203;5956], [#&#8203;5978], [#&#8203;6031], [#&#8203;6032], [#&#8203;6050]) - sync: document that `broadcast` capacity is a lower bound ([#&#8203;6042]) - sync: document that `const_new` is not instrumented ([#&#8203;6002]) - sync: improve cancel-safety documentation for `mpsc::Sender::send` ([#&#8203;5947]) - sync: improve docs for `watch` channel ([#&#8203;5954]) - taskdump: render taskdump documentation on docs.rs ([#&#8203;5972]) ##### Unstable - taskdump: fix potential deadlock ([#&#8203;6036]) [#&#8203;5903]: https://github.com/tokio-rs/tokio/pull/5903 [#&#8203;5906]: https://github.com/tokio-rs/tokio/pull/5906 [#&#8203;5938]: https://github.com/tokio-rs/tokio/pull/5938 [#&#8203;5939]: https://github.com/tokio-rs/tokio/pull/5939 [#&#8203;5947]: https://github.com/tokio-rs/tokio/pull/5947 [#&#8203;5952]: https://github.com/tokio-rs/tokio/pull/5952 [#&#8203;5954]: https://github.com/tokio-rs/tokio/pull/5954 [#&#8203;5956]: https://github.com/tokio-rs/tokio/pull/5956 [#&#8203;5958]: https://github.com/tokio-rs/tokio/pull/5958 [#&#8203;5960]: https://github.com/tokio-rs/tokio/pull/5960 [#&#8203;5962]: https://github.com/tokio-rs/tokio/pull/5962 [#&#8203;5971]: https://github.com/tokio-rs/tokio/pull/5971 [#&#8203;5972]: https://github.com/tokio-rs/tokio/pull/5972 [#&#8203;5977]: https://github.com/tokio-rs/tokio/pull/5977 [#&#8203;5978]: https://github.com/tokio-rs/tokio/pull/5978 [#&#8203;5984]: https://github.com/tokio-rs/tokio/pull/5984 [#&#8203;5985]: https://github.com/tokio-rs/tokio/pull/5985 [#&#8203;5988]: https://github.com/tokio-rs/tokio/pull/5988 [#&#8203;5994]: https://github.com/tokio-rs/tokio/pull/5994 [#&#8203;5997]: https://github.com/tokio-rs/tokio/pull/5997 [#&#8203;5998]: https://github.com/tokio-rs/tokio/pull/5998 [#&#8203;6002]: https://github.com/tokio-rs/tokio/pull/6002 [#&#8203;6014]: https://github.com/tokio-rs/tokio/pull/6014 [#&#8203;6017]: https://github.com/tokio-rs/tokio/pull/6017 [#&#8203;6018]: https://github.com/tokio-rs/tokio/pull/6018 [#&#8203;6021]: https://github.com/tokio-rs/tokio/pull/6021 [#&#8203;6030]: https://github.com/tokio-rs/tokio/pull/6030 [#&#8203;6031]: https://github.com/tokio-rs/tokio/pull/6031 [#&#8203;6032]: https://github.com/tokio-rs/tokio/pull/6032 [#&#8203;6036]: https://github.com/tokio-rs/tokio/pull/6036 [#&#8203;6037]: https://github.com/tokio-rs/tokio/pull/6037 [#&#8203;6042]: https://github.com/tokio-rs/tokio/pull/6042 [#&#8203;6045]: https://github.com/tokio-rs/tokio/pull/6045 [#&#8203;6050]: https://github.com/tokio-rs/tokio/pull/6050 [#&#8203;6056]: https://github.com/tokio-rs/tokio/pull/6056 [#&#8203;6058]: https://github.com/tokio-rs/tokio/pull/6058 ### [`v1.32.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.32.1): Tokio v1.32.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.32.1) ### 1.32.1 (December 19, 2023) This is a forward part of a change that was backported to 1.25.3. ##### Fixed - io: add budgeting to `tokio::runtime::io::registration::async_io` ([#&#8203;6221]) [#&#8203;6221]: https://github.com/tokio-rs/tokio/pull/6221 ### [`v1.32.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.32.0): Tokio v1.32.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.31.0...tokio-1.32.0) ##### Fixed - sync: fix potential quadratic behavior in `broadcast::Receiver` ([#&#8203;5925]) ##### Added - process: stabilize `Command::raw_arg` ([#&#8203;5930]) - io: enable awaiting error readiness ([#&#8203;5781]) ##### Unstable - rt(alt): improve the scalability of alt runtime as the number of cores grows ([#&#8203;5935]) [#&#8203;5925]: https://github.com/tokio-rs/tokio/pull/5925 [#&#8203;5930]: https://github.com/tokio-rs/tokio/pull/5930 [#&#8203;5781]: https://github.com/tokio-rs/tokio/pull/5781 [#&#8203;5935]: https://github.com/tokio-rs/tokio/pull/5935 ### [`v1.31.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.31.0): Tokio v1.31.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.30.0...tokio-1.31.0) ##### Fixed - io: delegate `WriteHalf::poll_write_vectored` ([#&#8203;5914]) ##### Unstable - rt(unstable): fix memory leak in unstable next-gen scheduler prototype ([#&#8203;5911]) - rt: expose mean task poll time metric ([#&#8203;5927]) [#&#8203;5914]: https://github.com/tokio-rs/tokio/pull/5914 [#&#8203;5911]: https://github.com/tokio-rs/tokio/pull/5911 [#&#8203;5927]: https://github.com/tokio-rs/tokio/pull/5927 ### [`v1.30.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.30.0): Tokio v1.30.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.29.1...tokio-1.30.0) ### 1.30.0 (August 9, 2023) This release bumps the MSRV of Tokio to 1.63. ([#&#8203;5887]) ##### Changed - tokio: reduce LLVM code generation ([#&#8203;5859]) - io: support `--cfg mio_unsupported_force_poll_poll` flag ([#&#8203;5881]) - sync: make `const_new` methods always available ([#&#8203;5885]) - sync: avoid false sharing in mpsc channel ([#&#8203;5829]) - rt: pop at least one task from inject queue ([#&#8203;5908]) ##### Added - sync: add `broadcast::Sender::new` ([#&#8203;5824]) - net: implement `UCred` for espidf ([#&#8203;5868]) - fs: add `File::options()` ([#&#8203;5869]) - time: implement extra reset variants for `Interval` ([#&#8203;5878]) - process: add `{ChildStd*}::into_owned_{fd, handle}` ([#&#8203;5899]) ##### Removed - tokio: removed unused `tokio_*` cfgs ([#&#8203;5890]) - remove build script to speed up compilation ([#&#8203;5887]) ##### Documented - sync: mention lagging in docs for `broadcast::send` ([#&#8203;5820]) - runtime: expand on sharing runtime docs ([#&#8203;5858]) - io: use vec in example for `AsyncReadExt::read_exact` ([#&#8203;5863]) - time: mark `Sleep` as `!Unpin` in docs ([#&#8203;5916]) - process: fix `raw_arg` not showing up in docs ([#&#8203;5865]) ##### Unstable - rt: add runtime ID ([#&#8203;5864]) - rt: initial implementation of new threaded runtime ([#&#8203;5823]) [#&#8203;5820]: https://github.com/tokio-rs/tokio/pull/5820 [#&#8203;5823]: https://github.com/tokio-rs/tokio/pull/5823 [#&#8203;5824]: https://github.com/tokio-rs/tokio/pull/5824 [#&#8203;5829]: https://github.com/tokio-rs/tokio/pull/5829 [#&#8203;5858]: https://github.com/tokio-rs/tokio/pull/5858 [#&#8203;5859]: https://github.com/tokio-rs/tokio/pull/5859 [#&#8203;5863]: https://github.com/tokio-rs/tokio/pull/5863 [#&#8203;5864]: https://github.com/tokio-rs/tokio/pull/5864 [#&#8203;5865]: https://github.com/tokio-rs/tokio/pull/5865 [#&#8203;5868]: https://github.com/tokio-rs/tokio/pull/5868 [#&#8203;5869]: https://github.com/tokio-rs/tokio/pull/5869 [#&#8203;5878]: https://github.com/tokio-rs/tokio/pull/5878 [#&#8203;5881]: https://github.com/tokio-rs/tokio/pull/5881 [#&#8203;5885]: https://github.com/tokio-rs/tokio/pull/5885 [#&#8203;5887]: https://github.com/tokio-rs/tokio/pull/5887 [#&#8203;5890]: https://github.com/tokio-rs/tokio/pull/5890 [#&#8203;5899]: https://github.com/tokio-rs/tokio/pull/5899 [#&#8203;5908]: https://github.com/tokio-rs/tokio/pull/5908 [#&#8203;5916]: https://github.com/tokio-rs/tokio/pull/5916 ### [`v1.29.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.29.1): Tokio v1.29.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1) ##### Fixed - rt: fix nesting two `block_in_place` with a `block_on` between ([#&#8203;5837]) [#&#8203;5837]: https://github.com/tokio-rs/tokio/pull/5837 ### [`v1.29.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.29.0): Tokio v1.29.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0) Technically a breaking change, the `Send` implementation is removed from `runtime::EnterGuard`. This change fixes a bug and should not impact most users. ##### Breaking - rt: `EnterGuard` should not be `Send` ([#&#8203;5766]) ##### Fixed - fs: reduce blocking ops in `fs::read_dir` ([#&#8203;5653]) - rt: fix possible starvation ([#&#8203;5686], [#&#8203;5712]) - rt: fix stacked borrows issue in `JoinSet` ([#&#8203;5693]) - rt: panic if `EnterGuard` dropped incorrect order ([#&#8203;5772]) - time: do not overflow to signal value ([#&#8203;5710]) - fs: wait for in-flight ops before cloning `File` ([#&#8203;5803]) ##### Changed - rt: reduce time to poll tasks scheduled from outside the runtime ([#&#8203;5705], [#&#8203;5720]) ##### Added - net: add uds doc alias for unix sockets ([#&#8203;5659]) - rt: add metric for number of tasks ([#&#8203;5628]) - sync: implement more traits for channel errors ([#&#8203;5666]) - net: add nodelay methods on TcpSocket ([#&#8203;5672]) - sync: add `broadcast::Receiver::blocking_recv` ([#&#8203;5690]) - process: add `raw_arg` method to `Command` ([#&#8203;5704]) - io: support PRIORITY epoll events ([#&#8203;5566]) - task: add `JoinSet::poll_join_next` ([#&#8203;5721]) - net: add support for Redox OS ([#&#8203;5790]) ##### Unstable - rt: add the ability to dump task backtraces ([#&#8203;5608], [#&#8203;5676], [#&#8203;5708], [#&#8203;5717]) - rt: instrument task poll times with a histogram ([#&#8203;5685]) [#&#8203;5766]: https://github.com/tokio-rs/tokio/pull/5766 [#&#8203;5653]: https://github.com/tokio-rs/tokio/pull/5653 [#&#8203;5686]: https://github.com/tokio-rs/tokio/pull/5686 [#&#8203;5712]: https://github.com/tokio-rs/tokio/pull/5712 [#&#8203;5693]: https://github.com/tokio-rs/tokio/pull/5693 [#&#8203;5772]: https://github.com/tokio-rs/tokio/pull/5772 [#&#8203;5710]: https://github.com/tokio-rs/tokio/pull/5710 [#&#8203;5803]: https://github.com/tokio-rs/tokio/pull/5803 [#&#8203;5705]: https://github.com/tokio-rs/tokio/pull/5705 [#&#8203;5720]: https://github.com/tokio-rs/tokio/pull/5720 [#&#8203;5659]: https://github.com/tokio-rs/tokio/pull/5659 [#&#8203;5628]: https://github.com/tokio-rs/tokio/pull/5628 [#&#8203;5666]: https://github.com/tokio-rs/tokio/pull/5666 [#&#8203;5672]: https://github.com/tokio-rs/tokio/pull/5672 [#&#8203;5690]: https://github.com/tokio-rs/tokio/pull/5690 [#&#8203;5704]: https://github.com/tokio-rs/tokio/pull/5704 [#&#8203;5566]: https://github.com/tokio-rs/tokio/pull/5566 [#&#8203;5721]: https://github.com/tokio-rs/tokio/pull/5721 [#&#8203;5790]: https://github.com/tokio-rs/tokio/pull/5790 [#&#8203;5608]: https://github.com/tokio-rs/tokio/pull/5608 [#&#8203;5676]: https://github.com/tokio-rs/tokio/pull/5676 [#&#8203;5708]: https://github.com/tokio-rs/tokio/pull/5708 [#&#8203;5717]: https://github.com/tokio-rs/tokio/pull/5717 [#&#8203;5685]: https://github.com/tokio-rs/tokio/pull/5685 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQyNC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
kjuulh added 1 commit 2024-04-06 22:28:31 +02:00
kjuulh force-pushed renovate/all from 9f96d5cdd9 to 867170c084 2024-04-10 06:49:42 +02:00 Compare
kjuulh force-pushed renovate/all from 867170c084 to 98b6adaf4d 2024-04-16 07:51:39 +02:00 Compare
kjuulh force-pushed renovate/all from 98b6adaf4d to e1ada9289a 2024-04-16 23:43:33 +02:00 Compare
kjuulh force-pushed renovate/all from e1ada9289a to 4197e3e8f8 2024-04-19 20:12:53 +02:00 Compare
kjuulh force-pushed renovate/all from 4197e3e8f8 to 8702fcb0eb 2024-04-27 06:51:43 +02:00 Compare
kjuulh force-pushed renovate/all from 8702fcb0eb to 59c5270ec3 2024-05-01 18:57:11 +02:00 Compare
kjuulh force-pushed renovate/all from 59c5270ec3 to 061986cf0d 2024-05-06 20:40:13 +02:00 Compare
kjuulh force-pushed renovate/all from 061986cf0d to 3bcb78cdd1 2024-05-08 03:01:23 +02:00 Compare
kjuulh force-pushed renovate/all from 3bcb78cdd1 to a153af51dd 2024-05-15 10:17:02 +02:00 Compare
kjuulh force-pushed renovate/all from a153af51dd to ced5625e51 2024-05-17 20:37:26 +02:00 Compare
kjuulh force-pushed renovate/all from ced5625e51 to 0b0198718a 2024-05-18 01:00:32 +02:00 Compare
kjuulh force-pushed renovate/all from 0b0198718a to 4990155c04 2024-05-18 14:13:39 +02:00 Compare
kjuulh force-pushed renovate/all from 4990155c04 to 3fc4999659 2024-05-23 22:21:47 +02:00 Compare
kjuulh force-pushed renovate/all from 3fc4999659 to 01f88f7122 2024-08-21 23:21:05 +02:00 Compare
kjuulh force-pushed renovate/all from 01f88f7122 to 9748250153 2024-08-23 22:10:34 +02:00 Compare
kjuulh force-pushed renovate/all from 9748250153 to c30894b29f 2024-08-23 22:49:40 +02:00 Compare
kjuulh force-pushed renovate/all from c30894b29f to eb6c3b9655 2024-08-23 23:28:31 +02:00 Compare
kjuulh force-pushed renovate/all from eb6c3b9655 to 589bcedccc 2024-08-30 10:37:27 +02:00 Compare
kjuulh force-pushed renovate/all from 589bcedccc to 1a785f13c2 2024-08-30 11:20:10 +02:00 Compare
kjuulh force-pushed renovate/all from 1a785f13c2 to 06547df07e 2024-09-05 02:50:52 +02:00 Compare
kjuulh force-pushed renovate/all from 06547df07e to af2277bb3e 2024-09-07 02:49:37 +02:00 Compare
kjuulh force-pushed renovate/all from af2277bb3e to 0737dbbfac 2024-09-07 06:45:03 +02:00 Compare
kjuulh force-pushed renovate/all from 0737dbbfac to a9d12d6182 2024-09-12 02:51:56 +02:00 Compare
kjuulh force-pushed renovate/all from a9d12d6182 to c3657974a0 2024-09-12 06:49:47 +02:00 Compare
kjuulh force-pushed renovate/all from c3657974a0 to 8243f132c2 2024-09-15 06:48:17 +02:00 Compare
kjuulh force-pushed renovate/all from 8243f132c2 to 1452816e36 2024-09-16 02:47:32 +02:00 Compare
kjuulh force-pushed renovate/all from 1452816e36 to 9ff11f55fc 2024-09-21 03:20:19 +02:00 Compare
kjuulh force-pushed renovate/all from 9ff11f55fc to 47021b0775 2024-09-21 07:10:06 +02:00 Compare
kjuulh force-pushed renovate/all from 47021b0775 to 5a8065087d 2024-10-02 02:52:52 +02:00 Compare
kjuulh force-pushed renovate/all from 5a8065087d to 1c90d62bdf 2024-10-02 06:48:11 +02:00 Compare
kjuulh force-pushed renovate/all from 1c90d62bdf to bba0e7ba9d 2024-10-09 02:56:15 +02:00 Compare
kjuulh force-pushed renovate/all from bba0e7ba9d to 8ec41cbc18 2024-10-09 06:52:06 +02:00 Compare
kjuulh force-pushed renovate/all from 8ec41cbc18 to 094afdfb23 2024-10-18 02:55:58 +02:00 Compare
kjuulh force-pushed renovate/all from 094afdfb23 to 95be5caaa0 2024-10-18 06:49:39 +02:00 Compare
kjuulh force-pushed renovate/all from 95be5caaa0 to c6261265b5 2024-10-19 03:07:41 +02:00 Compare
kjuulh force-pushed renovate/all from c6261265b5 to 49190ea79b 2024-10-20 02:56:49 +02:00 Compare
kjuulh force-pushed renovate/all from 49190ea79b to 797ef40c46 2024-10-20 06:49:18 +02:00 Compare
kjuulh force-pushed renovate/all from 797ef40c46 to 5441243d14 2024-10-21 02:46:01 +02:00 Compare
kjuulh force-pushed renovate/all from 5441243d14 to 265ab5048e 2024-10-23 03:01:27 +02:00 Compare
kjuulh force-pushed renovate/all from 265ab5048e to abe2c77417 2024-10-23 07:03:59 +02:00 Compare
kjuulh force-pushed renovate/all from abe2c77417 to ed416188b0 2024-11-02 02:55:10 +01:00 Compare
kjuulh force-pushed renovate/all from ed416188b0 to 4c5a21cdcf 2024-11-02 06:49:06 +01:00 Compare
kjuulh force-pushed renovate/all from 4c5a21cdcf to bdb24dd12a 2024-11-06 06:43:26 +01:00 Compare
kjuulh force-pushed renovate/all from bdb24dd12a to e8ccf1c5e2 2024-11-07 02:47:22 +01:00 Compare
kjuulh force-pushed renovate/all from e8ccf1c5e2 to 78fe17e4df 2024-11-08 02:48:23 +01:00 Compare
kjuulh force-pushed renovate/all from 78fe17e4df to 0a6f151504 2024-11-08 06:45:36 +01:00 Compare
kjuulh force-pushed renovate/all from 0a6f151504 to 01cdd64b3f 2024-11-14 02:48:12 +01:00 Compare
kjuulh force-pushed renovate/all from 01cdd64b3f to adc3f15be2 2024-11-14 07:10:38 +01:00 Compare
kjuulh force-pushed renovate/all from adc3f15be2 to 604033f776 2024-11-17 02:46:30 +01:00 Compare
kjuulh force-pushed renovate/all from 604033f776 to 008907a691 2024-11-17 06:48:19 +01:00 Compare
kjuulh force-pushed renovate/all from 008907a691 to 97a8e91bc7 2024-11-18 02:45:07 +01:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/all:renovate/all
git checkout renovate/all
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
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: kjuulh/oe#2
No description provided.