Update all non-major dependencies #11

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

This PR contains the following updates:

Package Type Update Change
ab_glyph dependencies patch 0.2.29 -> 0.2.32
anyhow dependencies patch 1.0.95 -> 1.0.100
async-trait dependencies patch 0.1.83 -> 0.1.89
bytes dependencies minor 1.9.0 -> 1.11.0
clap dependencies patch 4.5.23 -> 4.5.53
image dependencies patch 0.25.5 -> 0.25.9
minifb dependencies minor 0.27.0 -> 0.28.0
rand (source) dependencies minor 0.8.5 -> 0.9.0
tempfile (source) dev-dependencies minor 3.14.0 -> 3.23.0
thiserror dependencies patch 2.0.9 -> 2.0.17
tokio (source) dependencies minor 1.42.0 -> 1.48.0
tokio-tungstenite dependencies minor 0.26.1 -> 0.28.0
tracing-subscriber (source) dependencies patch 0.3.19 -> 0.3.21
url dependencies patch 2.5.4 -> 2.5.7

Release Notes

dtolnay/anyhow (anyhow)

v1.0.100

Compare Source

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

v1.0.99

Compare Source

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

v1.0.98

Compare Source

v1.0.97

Compare Source

  • Documentation improvements

v1.0.96

Compare Source

  • Documentation improvements
dtolnay/async-trait (async-trait)

v0.1.89

Compare Source

v0.1.88

Compare Source

  • Fix lifetime bounding on generic parameters that have cfg (#​289)

v0.1.87

Compare Source

  • Documentation improvements

v0.1.86

Compare Source

  • Documentation improvements

v0.1.85

Compare Source

  • Omit Self: 'async_trait bound in impl when not needed by signature (#​284)

v0.1.84

Compare Source

  • Support impl Trait in return type (#​282)
tokio-rs/bytes (bytes)

v1.11.0

Compare Source

Fixed
  • fix: BytesMut only reuse if src has remaining (#​803)
  • Specialize BytesMut::put::<Bytes> (#​793)
  • Reserve capacity in BytesMut::put (#​794)
  • Change BytesMut::remaining_mut to use isize::MAX instead of usize::MAX (#​795)
Internal changes
  • Guarantee address in slice() for empty slices. (#​780)
  • Rename Vtable::to_* -> Vtable::into_* (#​776)
  • Fix latest clippy warnings (#​787)
  • Ignore BytesMut::freeze doctest on wasm (#​790)
  • Move drop_fn of from_owner into vtable (#​801)

v1.10.1

Compare Source

Fixed
  • Fix memory leak when using to_vec with Bytes::from_owner (#​773)

v1.10.0

Compare Source

Added
  • Add feature to support platforms without atomic CAS (#​467)
  • try_get_* methods for Buf trait (#​753)
  • Implement Buf::chunks_vectored for Take (#​617)
  • Implement Buf::chunks_vectored for VecDeque<u8> (#​708)
Fixed
  • Remove incorrect guarantee for chunks_vectored (#​754)
  • Ensure that tests pass under panic=abort (#​749)
clap-rs/clap (clap)

v4.5.53

Compare Source

Features
  • Add default_values_if, default_values_ifs

v4.5.52

Compare Source

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

v4.5.51

Compare Source

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

v4.5.50

Compare Source

Features
  • Accept Cow where String and &str are accepted

v4.5.49

Compare Source

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

v4.5.48

Compare Source

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

v4.5.47

Compare Source

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

v4.5.46

Compare Source

Features
  • Expose StyledStr::push_str

v4.5.45

Compare Source

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

v4.5.44

Compare Source

Features
  • Add Command::mut_subcommands

v4.5.43

Compare Source

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

v4.5.42

Compare Source

Fixes
  • Include subcommand visible long aliases in --help

v4.5.41

Compare Source

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

v4.5.40

Compare Source

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

v4.5.39

Compare Source

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

v4.5.38

Compare Source

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

v4.5.37

Compare Source

Features
  • Added ArgMatches::try_clear_id()

v4.5.36

Compare Source

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

v4.5.35

Compare Source

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

v4.5.34

Compare Source

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

v4.5.33

Compare Source

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

v4.5.32

Compare Source

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

v4.5.31

Compare Source

Features
  • Add ValueParserFactory for Saturating<T>

v4.5.30

Compare Source

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

v4.5.29

Compare Source

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

v4.5.28

Compare Source

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

v4.5.27

Compare Source

Documentation
  • Iterate on tutorials and reference based on feedback

v4.5.26

Compare Source

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

v4.5.25

Compare Source

Fixes
  • (help) Reduce binary size

v4.5.24

Compare Source

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

v0.25.9

Compare Source

Features:

  • Support extracting XMP metadata from PNG, JPEG, GIF, WebP and TIFF files (#​2567, #​2634, #​2644)
  • Support reading IPTC metadata from PNG and JPG files (#​2611)
  • Support reading ICC profile from GIF files (#​2644)
  • Allow setting a specific DEFLATE compression level when writing PNG (#​2583)
  • Initial support for 16-bit CMYK TIFF files (#​2588)
  • Allow extracting the alpha channel of a Pixel in a generic way (#​2638)

Structural changes:

  • EXR format decoding now only uses multi-threading via Rayon when the rayon feature is enabled (#​2643)
  • Upgraded zune-jpeg to 0.5.x, ravif to 0.12.x, gif to 0.14.x
  • pnm: parse integers in PBM/PGM/PPM headers without allocations (#​2620)
  • Replace doc_auto_cfg with doc_cfg (#​2637)

Bug fixes:

  • Do not encode empty JPEG images (#​2624)
  • tga: reject empty images (#​2614)
  • tga: fix orientation flip for color mapped images (#​2607)
  • tga: adjust colormap lookup to match tga 2.0 spec (#​2608)

v0.25.8

Compare Source

Re-release of 0.25.7

Fixes:

  • Reverted a signature change to load_from_memory that lead to large scale
    type inference breakage despite being technically compatible.
  • Color conversion Luma to Rgb used incorrect coefficients instead of broadcasting.

v0.25.7

Compare Source

Features:

  • Added an API for external image format implementations to register themselves as decoders for a specific format in image (#​2372)
  • Added CICP awarenes via moxcms to support color spaces (#​2531). The support for transforming is limited for now and will be gradually expanded.
  • You can now embed Exif metadata when writing JPEG, PNG and WebP images (#​2537, #​2539)
  • Added functions to extract orientation from Exif metadata and optionally clear it in the Exif chunk (#​2484)
  • Serde support for more types (#​2445)
  • PNM encoder now supports writing 16-bit images (#​2431)

Structural changes:

  • Increased MSRV to 1.85.0 (from 1.78.0)

API improvements:

  • save, save_with_format, write_to and write_with_encoder methods on DynamicImage now automatically convert the pixel format when necessary instead of returning an error (#​2501)
  • Added DynamicImage::has_alpha() convenience method
  • Implemented TryFrom<ExtendedColorType> for ColorType (#​2444)
  • Added const HAS_ALPHA to trait Pixel
  • Unified the error for unsupported encoder colors (#​2543)
  • Added a hooks module to customize builtin behavior, register_format_detection_hook and register_decoding_hook for the determining format of a file and selecting an ImageDecoder implementation respectively. (#​2372)

Performance improvements:

  • Gaussian blur (#​2496) and box blur (#​2515) are now faster
  • Improve compilation times by avoiding unnecessary instantiation of generic functions (#​2468, #​2470)

Bug fixes:

  • Many improvements to image format decoding: TIFF, WebP, AVIF, PNG, GIF, BMP, TGA
  • Fixed GifEncoder::encode() ignoring the speed parameter and always using the slowest speed (#​2504)
  • .pnm is now recognized as a file extension for the PNM format (#​2559)

v0.25.6

Compare Source

Features:

  • Improved format detection (#​2418)
  • Implement writing ICC profiles for JPEG and PNG images (#​2389)

Bug fixes:

  • JPEG encoding bugfix (#​2387)
  • Expanded ICO format detection (#​2434)
  • Fixed EXR bug with NaNs (#​2381)
  • Various documentation improvements
rust-random/rand (rand)

v0.9.2

Compare Source

Deprecated
  • Deprecate rand::rngs::mock module and StepRng generator (#​1634)
Additions
  • Enable WeightedIndex<usize> (de)serialization (#​1646)

v0.9.1

Compare Source

Security and unsafe
  • Revise "not a crypto library" policy again (#​1565)
  • Remove zerocopy dependency from rand (#​1579)
Fixes
  • Fix feature simd_support for recent nightly rust (#​1586)
Changes
  • Allow fn rand::seq::index::sample_weighted and fn IndexedRandom::choose_multiple_weighted to return fewer than amount results (#​1623), reverting an undocumented change (#​1382) to the previous release.
Additions
  • Add rand::distr::Alphabetic distribution. (#​1587)
  • Re-export rand_core (#​1604)

v0.9.0

Compare Source

Security and unsafe
  • Policy: "rand is not a crypto library" (#​1514)
  • Remove fork-protection from ReseedingRng and ThreadRng. Instead, it is recommended to call ThreadRng::reseed on fork. (#​1379)
  • Use zerocopy to replace some unsafe code (#​1349, #​1393, #​1446, #​1502)
Dependencies
Features
  • Support std feature without getrandom or rand_chacha (#​1354)
  • Enable feature small_rng by default (#​1455)
  • Remove implicit feature rand_chacha; use std_rng instead. (#​1473)
  • Rename feature serde1 to serde (#​1477)
  • Rename feature getrandom to os_rng (#​1537)
  • Add feature thread_rng (#​1547)
API changes: rand_core traits
  • Add fn RngCore::read_adapter implementing std::io::Read (#​1267)
  • Add trait CryptoBlockRng: BlockRngCore; make trait CryptoRng: RngCore (#​1273)
  • Add traits TryRngCore, TryCryptoRng (#​1424, #​1499)
  • Rename fn SeedableRng::from_rng -> try_from_rng and add infallible variant fn from_rng (#​1424)
  • Rename fn SeedableRng::from_entropy -> from_os_rng and add fallible variant fn try_from_os_rng (#​1424)
  • Add bounds Clone and AsRef to associated type SeedableRng::Seed (#​1491)
API changes: Rng trait and top-level fns
  • Rename fn rand::thread_rng() to rand::rng() and remove from the prelude (#​1506)
  • Remove fn rand::random() from the prelude (#​1506)
  • Add top-level fns random_iter, random_range, random_bool, random_ratio, fill (#​1488)
  • Re-introduce fn Rng::gen_iter as random_iter (#​1305, #​1500)
  • Rename fn Rng::gen to random to avoid conflict with the new gen keyword in Rust 2024 (#​1438)
  • Rename fns Rng::gen_range to random_range, gen_bool to random_bool, gen_ratio to random_ratio (#​1505)
  • Annotate panicking methods with #[track_caller] (#​1442, #​1447)
API changes: RNGs
  • Fix <SmallRng as SeedableRng>::Seed size to 256 bits (#​1455)
  • Remove first parameter (rng) of ReseedingRng::new (#​1533)
API changes: Sequences
  • Split trait SliceRandom into IndexedRandom, IndexedMutRandom, SliceRandom (#​1382)
  • Add IndexedRandom::choose_multiple_array, index::sample_array (#​1453, #​1469)
API changes: Distributions: renames
  • Rename module rand::distributions to rand::distr (#​1470)
  • Rename distribution Standard to StandardUniform (#​1526)
  • Move distr::Slice -> distr::slice::Choose, distr::EmptySlice -> distr::slice::Empty (#​1548)
  • Rename trait distr::DistString -> distr::SampleString (#​1548)
  • Rename distr::DistIter -> distr::Iter, distr::DistMap -> distr::Map (#​1548)
API changes: Distributions
  • Relax Sized bound on Distribution<T> for &D (#​1278)
  • Remove impl of Distribution<Option<T>> for StandardUniform (#​1526)
  • Let distribution StandardUniform support all NonZero* types (#​1332)
  • Fns {Uniform, UniformSampler}::{new, new_inclusive} return a Result (instead of potentially panicking) (#​1229)
  • Distribution Uniform implements TryFrom instead of From for ranges (#​1229)
  • Add UniformUsize (#​1487)
  • Remove support for generating isize and usize values with StandardUniform, Uniform (except via UniformUsize) and Fill and usage as a WeightedAliasIndex weight (#​1487)
  • Add impl DistString for distributions Slice<char> and Uniform<char> (#​1315)
  • Add fn Slice::num_choices (#​1402)
  • Add fn p() for distribution Bernoulli to access probability (#​1481)
API changes: Weighted distributions
  • Add pub module rand::distr::weighted, moving WeightedIndex there (#​1548)
  • Add trait weighted::Weight, allowing WeightedIndex to trap overflow (#​1353)
  • Add fns weight, weights, total_weight to distribution WeightedIndex (#​1420)
  • Rename enum WeightedError to weighted::Error, revising variants (#​1382) and mark as #[non_exhaustive] (#​1480)
API changes: SIMD
  • Switch to std::simd, expand SIMD & docs (#​1239)
Reproducibility-breaking changes
  • Make ReseedingRng::reseed discard remaining data from the last block generated (#​1379)
  • Change fn SmallRng::seed_from_u64 implementation (#​1203)
  • Allow UniformFloat::new samples and UniformFloat::sample_single to yield high (#​1462)
  • Fix portability of distribution Slice (#​1469)
  • Make Uniform for usize portable via UniformUsize (#​1487)
  • Fix IndexdRandom::choose_multiple_weighted for very small seeds and optimize for large input length / low memory (#​1530)
Reproducibility-breaking optimisations
  • Optimize fn sample_floyd, affecting output of rand::seq::index::sample and rand::seq::SliceRandom::choose_multiple (#​1277)
  • New, faster algorithms for IteratorRandom::choose and choose_stable (#​1268)
  • New, faster algorithms for SliceRandom::shuffle and partial_shuffle (#​1272)
  • Optimize distribution Uniform: use Canon's method (single sampling) / Lemire's method (distribution sampling) for faster sampling (breaks value stability; #​1287)
  • Optimize fn sample_single_inclusive for floats (+~20% perf) (#​1289)
Other optimisations
  • Improve SmallRng initialization performance (#​1482)
  • Optimise SIMD widening multiply (#​1247)
Other
Documentation
  • Improve ThreadRng related docs (#​1257)
  • Docs: enable experimental --generate-link-to-definition feature (#​1327)
  • Better doc of crate features, use doc_auto_cfg (#​1411, #​1450)
Stebalien/tempfile (tempfile)

v3.23.0

Compare Source

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

v3.22.0

Compare Source

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

v3.21.0

Compare Source

  • Updated windows-sys requirement to allow version 0.60.x

v3.20.0

Compare Source

This release mostly unifies the behavior/capabilities around "keeping" temporary files:

  • Rename Builder::keep(bool) (via deprecation) to Builder::disable_cleanup(bool) to make it clear that behaves differently from NamedTempFile::keep(). The former disables automatic cleanup while the latter consumes the NamedTempFile object entirely and unsets the "temporary file" attribute (on Windows).
  • Rename TempDir::into_path (via deprecation) to TempDir::keep to mirror NamedTempFile::keep.
  • Add TempDir::disable_cleanup, NamedTempFile::disable_cleanup, and TempPath::disable_cleanup making it possible to disable automatic cleanup in-place after creating a temporary file/directory (equivalent to calling Builder::disable_cleanup before creating the file/directory).

Additionally, it adds a few spooled temporary file features:

  • Add SpooledTempFile::into_file for turning a SpooledTempFile into a regular unnamed temporary file, writing it to the backing storage ("rolling" it) if it was still stored in-memory.
  • Add spooled_tempfile_in and SpooledTempFile::new_in methods for creating spooled temporary files in a specific directory. This makes it possible to choose the backing device for your spooled temporary file which is rather important on Linux where the default temporary directory is likely backed by memory (defeating the entire point of having a spooled temporary file).

Finally, this release improves documentation, especially the top-level documentation explaining which temporary file type to use.

BREAKING for those with deny(warnings):

  • Builder::keep deprecated in favor of Builder::disable_cleanup.
  • TempDir::into_path is deprecated in favor of TempDir::keep.

v3.19.1

Compare Source

  • Don't unlink temporary files immediately on Windows (fixes #​339). Unfortunately, this seemed to corrupt the file object (possibly a Windows kernel bug) in rare cases and isn't strictly speaking necessary.

v3.19.0

Compare Source

  • Remove direct dependency on cfg-if. It's still in the tree, but we didn't really need to use it in this crate.
  • Add an unstable feature (unstable-windows-keep-open-tempfile) to test a potential fix to #​339.

v3.18.0

Compare Source

  • Update rustix to 1.0.0.
  • Make NamedTempFile::persist_noclobber atomic on Apple operating systems. It's now atomic on MacOS, Windows, and Linux (depending on the OS version and filesystem used).

v3.17.1

Compare Source

  • Fix build with windows-sys 0.52. Unfortunately, we have no CI for older windows-sys versions at the moment...

v3.17.0

Compare Source

  • Make sure to use absolute paths in when creating unnamed temporary files (avoids a small race in the "immediate unlink" logic) and in Builder::make_in (when creating temporary files of arbitrary types).
  • Prevent a theoretical crash that could (maybe) happen when a temporary file is created from a drop function run in a TLS destructor. Nobody has actually reported a case of this happening in practice and I have been unable to create this scenario in a test.
  • When reseeding with getrandom, use platform (e.g., CPU) specific randomness sources where possible.
  • Clarify some documentation.
  • Unlink unnamed temporary files on windows immediately when possible instead of waiting for the handle to be closed. We open files with "Unix" semantics, so this is generally possible.

v3.16.0

Compare Source

  • Update getrandom to 0.3.0 (thanks to @​paolobarbolini).
  • Allow windows-sys versions 0.59.x in addition to 0.59.0 (thanks @​ErichDonGubler).
  • Improved security documentation (thanks to @​n0toose for collaborating with me on this).

v3.15.0

Compare Source

Re-seed the per-thread RNG from system randomness when we repeatedly fail to create temporary files (#​314). This resolves a potential DoS vector (#​178) while avoiding getrandom in the common case where it's necessary. The feature is optional but enabled by default via the getrandom feature.

For libc-free builds, you'll either need to disable this feature or opt-in to a different getrandom backend.

dtolnay/thiserror (thiserror)

v2.0.17

Compare Source

  • Use differently named __private module per patch release (#​434)

v2.0.16

Compare Source

  • Add to "no-std" crates.io category (#​429)

v2.0.15

Compare Source

  • Prevent Error::provide API becoming unavailable from a future new compiler lint (#​427)

v2.0.14

Compare Source

  • Allow build-script cleanup failure with NFSv3 output directory to be non-fatal (#​426)

v2.0.13

Compare Source

  • Documentation improvements

v2.0.12

Compare Source

  • Prevent elidable_lifetime_names pedantic clippy lint in generated impl (#​413)

v2.0.11

Compare Source

v2.0.10

Compare Source

  • Support errors containing a generic type parameter's associated type in a field (#​408)
tokio-rs/tokio (tokio)

v1.48.0: Tokio v1.48.0

Compare Source

1.48.0 (October 14th, 2025)

The MSRV is increased to 1.71.

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

v1.47.2

Compare Source

v1.47.1: Tokio v1.47.1

Compare Source

1.47.1 (August 1st, 2025)

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

v1.47.0: Tokio v1.47.0

Compare Source

1.47.0 (July 25th, 2025)

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

Added

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

Changed

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

Documented

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

v1.46.1: Tokio v1.46.1

Compare Source

1.46.1 (July 4th, 2025)

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

Unstable

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

v1.46.0: Tokio v1.46.0

Compare Source

1.46.0 (July 2nd, 2025)

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

Added

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

Changed

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

Unstable

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

Documented

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

v1.45.1: Tokio v1.45.1

Compare Source

1.45.1 (May 24th, 2025)

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

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

v1.45.0: Tokio v1.45.0

Compare Source

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

v1.44.2: Tokio v1.44.2

Compare Source

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

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

v1.44.1: Tokio v1.44.1

Compare Source

1.44.1 (March 13th, 2025)

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

v1.44.0: Tokio v1.44.0

Compare Source

1.44.0 (March 7th, 2025)

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

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

v1.43.3

Compare Source

v1.43.2: Tokio v1.43.2

Compare Source

1.43.2 (August 1st, 2025)

Fixed
  • process: fix panic from spurious pidfd wakeup (#​7494)

v1.43.1

Compare Source

v1.43.0: Tokio v1.43.0

Compare Source

1.43.0 (Jan 8th, 2025)

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

v1.42.1: Tokio v1.42.1

Compare Source

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

Fixed
  • sync: synchronize clone() call in broadcast channel (#​7232)
snapview/tokio-tungstenite (tokio-tungstenite)

v0.28.0

Compare Source

v0.27.0

Compare Source

v0.26.2

Compare Source

tokio-rs/tracing (tracing-subscriber)

v0.3.21: tracing-subscriber 0.3.21

Compare Source

Fixed
  • Change registry exit to decrement local span ref only (#​3331)
  • Make Layered propagate on_register_dispatch (#​3379)
Changed
Performance
Documented
  • Fix a few small things in the format module (#​3339)
  • Fix extra closing brace in layer docs (#​3350)
  • Fix link in FmtSpan docs (#​3411)

v0.3.20: tracing-subscriber 0.3.20

Compare Source

Security Fix: ANSI Escape Sequence Injection (CVE-TBD)

Impact

Previous versions of tracing-subscriber were vulnerable to ANSI escape sequence injection attacks. Untrusted user input containing ANSI escape sequences could be injected into terminal output when logged, potentially allowing attackers to:

  • Manipulate terminal title bars
  • Clear screens or modify terminal display
  • Potentially mislead users through terminal manipulation

In isolation, impact is minimal, however security issues have been found in terminal emulators that enabled an attacker to use ANSI escape sequences via logs to exploit vulnerabilities in the terminal emulator.

Solution

Version 0.3.20 fixes this vulnerability by escaping ANSI control characters in when writing events to destinations that may be printed to the terminal.

Affected Versions

All versions of tracing-subscriber prior to 0.3.20 are affected by this vulnerability.

Recommendations

Immediate Action Required: We recommend upgrading to tracing-subscriber 0.3.20 immediately, especially if your application:

  • Logs user-provided input (form data, HTTP headers, query parameters, etc.)
  • Runs in environments where terminal output is displayed to users

Migration

This is a patch release with no breaking API changes. Simply update your Cargo.toml:

[dependencies]
tracing-subscriber = "0.3.20"

Acknowledgments

We would like to thank zefr0x who responsibly reported the issue at security@tokio.rs.

If you believe you have found a security vulnerability in any tokio-rs project, please email us at security@tokio.rs.

servo/rust-url (url)

v2.5.7

What's Changed

v.2.5.6
v.2.5.7

New Contributors

Full Changelog: https://github.com/servo/rust-url/compare/v2.5.5...v2.5.7

v2.5.5

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/servo/rust-url/compare/v2.5.4...v2.5.5


Configuration

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

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

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

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


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

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ab_glyph](https://github.com/alexheretic/ab-glyph) | dependencies | patch | `0.2.29` -> `0.2.32` | | [anyhow](https://github.com/dtolnay/anyhow) | dependencies | patch | `1.0.95` -> `1.0.100` | | [async-trait](https://github.com/dtolnay/async-trait) | dependencies | patch | `0.1.83` -> `0.1.89` | | [bytes](https://github.com/tokio-rs/bytes) | dependencies | minor | `1.9.0` -> `1.11.0` | | [clap](https://github.com/clap-rs/clap) | dependencies | patch | `4.5.23` -> `4.5.53` | | [image](https://github.com/image-rs/image) | dependencies | patch | `0.25.5` -> `0.25.9` | | [minifb](https://github.com/emoon/rust_minifb) | dependencies | minor | `0.27.0` -> `0.28.0` | | [rand](https://rust-random.github.io/book) ([source](https://github.com/rust-random/rand)) | dependencies | minor | `0.8.5` -> `0.9.0` | | [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://github.com/Stebalien/tempfile)) | dev-dependencies | minor | `3.14.0` -> `3.23.0` | | [thiserror](https://github.com/dtolnay/thiserror) | dependencies | patch | `2.0.9` -> `2.0.17` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.42.0` -> `1.48.0` | | [tokio-tungstenite](https://github.com/snapview/tokio-tungstenite) | dependencies | minor | `0.26.1` -> `0.28.0` | | [tracing-subscriber](https://tokio.rs) ([source](https://github.com/tokio-rs/tracing)) | dependencies | patch | `0.3.19` -> `0.3.21` | | [url](https://github.com/servo/rust-url) | dependencies | patch | `2.5.4` -> `2.5.7` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.100`](https://github.com/dtolnay/anyhow/releases/tag/1.0.100) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.99...1.0.100) - Teach clippy to lint formatting arguments in `bail!`, `ensure!`, `anyhow!` ([#&#8203;426](https://github.com/dtolnay/anyhow/issues/426)) ### [`v1.0.99`](https://github.com/dtolnay/anyhow/releases/tag/1.0.99) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.98...1.0.99) - Allow build-script cleanup failure with NFSv3 output directory to be non-fatal ([#&#8203;420](https://github.com/dtolnay/anyhow/issues/420)) ### [`v1.0.98`](https://github.com/dtolnay/anyhow/releases/tag/1.0.98) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.97...1.0.98) - Add [`self.into_boxed_dyn_error()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.into_boxed_dyn_error) and [`self.reallocate_into_boxed_dyn_error_without_backtrace()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.reallocate_into_boxed_dyn_error_without_backtrace) methods for anyhow::Error ([#&#8203;415](https://github.com/dtolnay/anyhow/issues/415)) ### [`v1.0.97`](https://github.com/dtolnay/anyhow/releases/tag/1.0.97) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.96...1.0.97) - Documentation improvements ### [`v1.0.96`](https://github.com/dtolnay/anyhow/releases/tag/1.0.96) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.95...1.0.96) - Documentation improvements </details> <details> <summary>dtolnay/async-trait (async-trait)</summary> ### [`v0.1.89`](https://github.com/dtolnay/async-trait/releases/tag/0.1.89) [Compare Source](https://github.com/dtolnay/async-trait/compare/0.1.88...0.1.89) - Improve IDE functionality ([#&#8203;293](https://github.com/dtolnay/async-trait/issues/293), thanks [@&#8203;Veykril](https://github.com/Veykril)) ### [`v0.1.88`](https://github.com/dtolnay/async-trait/releases/tag/0.1.88) [Compare Source](https://github.com/dtolnay/async-trait/compare/0.1.87...0.1.88) - Fix lifetime bounding on generic parameters that have cfg ([#&#8203;289](https://github.com/dtolnay/async-trait/issues/289)) ### [`v0.1.87`](https://github.com/dtolnay/async-trait/releases/tag/0.1.87) [Compare Source](https://github.com/dtolnay/async-trait/compare/0.1.86...0.1.87) - Documentation improvements ### [`v0.1.86`](https://github.com/dtolnay/async-trait/releases/tag/0.1.86) [Compare Source](https://github.com/dtolnay/async-trait/compare/0.1.85...0.1.86) - Documentation improvements ### [`v0.1.85`](https://github.com/dtolnay/async-trait/releases/tag/0.1.85) [Compare Source](https://github.com/dtolnay/async-trait/compare/0.1.84...0.1.85) - Omit `Self: 'async_trait` bound in impl when not needed by signature ([#&#8203;284](https://github.com/dtolnay/async-trait/issues/284)) ### [`v0.1.84`](https://github.com/dtolnay/async-trait/releases/tag/0.1.84) [Compare Source](https://github.com/dtolnay/async-trait/compare/0.1.83...0.1.84) - Support `impl Trait` in return type ([#&#8203;282](https://github.com/dtolnay/async-trait/issues/282)) </details> <details> <summary>tokio-rs/bytes (bytes)</summary> ### [`v1.11.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1110-November-14th-2025) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.10.1...v1.11.0) - Bump MSRV to 1.57 ([#&#8203;788](https://github.com/tokio-rs/bytes/issues/788)) ##### Fixed - fix: `BytesMut` only reuse if src has remaining ([#&#8203;803](https://github.com/tokio-rs/bytes/issues/803)) - Specialize `BytesMut::put::<Bytes>` ([#&#8203;793](https://github.com/tokio-rs/bytes/issues/793)) - Reserve capacity in `BytesMut::put` ([#&#8203;794](https://github.com/tokio-rs/bytes/issues/794)) - Change `BytesMut::remaining_mut` to use `isize::MAX` instead of `usize::MAX` ([#&#8203;795](https://github.com/tokio-rs/bytes/issues/795)) ##### Internal changes - Guarantee address in `slice()` for empty slices. ([#&#8203;780](https://github.com/tokio-rs/bytes/issues/780)) - Rename `Vtable::to_*` -> `Vtable::into_*` ([#&#8203;776](https://github.com/tokio-rs/bytes/issues/776)) - Fix latest clippy warnings ([#&#8203;787](https://github.com/tokio-rs/bytes/issues/787)) - Ignore `BytesMut::freeze` doctest on wasm ([#&#8203;790](https://github.com/tokio-rs/bytes/issues/790)) - Move `drop_fn` of `from_owner` into vtable ([#&#8203;801](https://github.com/tokio-rs/bytes/issues/801)) ### [`v1.10.1`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1101-March-5th-2025) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.10.0...v1.10.1) ##### Fixed - Fix memory leak when using `to_vec` with `Bytes::from_owner` ([#&#8203;773](https://github.com/tokio-rs/bytes/issues/773)) ### [`v1.10.0`](https://github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1100-February-3rd-2025) [Compare Source](https://github.com/tokio-rs/bytes/compare/v1.9.0...v1.10.0) ##### Added - Add feature to support platforms without atomic CAS ([#&#8203;467](https://github.com/tokio-rs/bytes/issues/467)) - `try_get_*` methods for `Buf` trait ([#&#8203;753](https://github.com/tokio-rs/bytes/issues/753)) - Implement `Buf::chunks_vectored` for `Take` ([#&#8203;617](https://github.com/tokio-rs/bytes/issues/617)) - Implement `Buf::chunks_vectored` for `VecDeque<u8>` ([#&#8203;708](https://github.com/tokio-rs/bytes/issues/708)) ##### Fixed - Remove incorrect guarantee for `chunks_vectored` ([#&#8203;754](https://github.com/tokio-rs/bytes/issues/754)) - Ensure that tests pass under `panic=abort` ([#&#8203;749](https://github.com/tokio-rs/bytes/issues/749)) </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.53`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4553---2025-11-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.52...v4.5.53) ##### Features - Add `default_values_if`, `default_values_ifs` ### [`v4.5.52`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4552---2025-11-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.51...v4.5.52) ##### Fixes - Don't panic when `args_conflicts_with_subcommands` conflicts with an `ArgGroup` ### [`v4.5.51`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4551---2025-10-29) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.50...v4.5.51) ##### Fixes - *(help)* Correctly calculate padding for short flags that take a value - *(help)* Don't panic on short flags using `ArgAction::Count` ### [`v4.5.50`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4550---2025-10-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.49...v4.5.50) ##### Features - Accept `Cow` where `String` and `&str` are accepted ### [`v4.5.49`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4549---2025-10-13) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.48...v4.5.49) ##### Fixes - *(help)* Correctly wrap when ANSI escape codes are present ### [`v4.5.48`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4548---2025-09-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.47...v4.5.48) ##### Documentation - Add a new CLI Concepts document as another way of framing clap - Expand the `typed_derive` cookbook entry ### [`v4.5.47`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4547---2025-09-02) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.46...v4.5.47) ##### Features - Added `impl FromArgMatches for ()` - Added `impl Args for ()` - Added `impl Subcommand for ()` - Added `impl FromArgMatches for Infallible` - Added `impl Subcommand for Infallible` ##### Fixes - *(derive)* Update runtime error text to match `clap` ### [`v4.5.46`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4546---2025-08-26) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.45...v4.5.46) ##### Features - Expose `StyledStr::push_str` ### [`v4.5.45`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4545---2025-08-12) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.44...v4.5.45) ##### Fixes - *(unstable-v5)* `ValueEnum` variants now use the full doc comment, not summary, for `PossibleValue::help` ### [`v4.5.44`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4544---2025-08-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.43...v4.5.44) ##### Features - Add `Command::mut_subcommands` ### [`v4.5.43`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4543---2025-08-06) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.42...v4.5.43) ##### Fixes - *(help)* In long help, list Possible Values before defaults, rather than after, for a more consistent look ### [`v4.5.42`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4542---2025-07-30) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.41...v4.5.42) ##### Fixes - Include subcommand visible long aliases in `--help` ### [`v4.5.41`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4541---2025-07-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.40...v4.5.41) ##### Features - Add `Styles::context` and `Styles::context_value` to customize the styling of `[default: value]` like notes in the `--help` ### [`v4.5.40`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4540---2025-06-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.39...v4.5.40) ##### Features - Support quoted ids in `arg!()` macro (e.g. `arg!("check-config": ...)`) ### [`v4.5.39`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4539---2025-05-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.38...v4.5.39) ##### Fixes - *(help)* Show short flag aliases before long - *(help)* Merge the short and long flag alias lists ### [`v4.5.38`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4538---2025-05-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.37...v4.5.38) ##### Fixes - *(help)* When showing aliases, include leading `--` or `-` ### [`v4.5.37`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4537---2025-04-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.36...v4.5.37) ##### Features - Added `ArgMatches::try_clear_id()` ### [`v4.5.36`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4536---2025-04-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.35...v4.5.36) ##### Fixes - *(help)* Revert 4.5.35's "Don't leave space for shorts if there are none" for now ### [`v4.5.35`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4535---2025-04-01) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.34...v4.5.35) ##### Fixes - *(help)* Align positionals and flags when put in the same `help_heading` - *(help)* Don't leave space for shorts if there are none ### [`v4.5.34`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4534---2025-03-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.33...v4.5.34) ##### Fixes - *(help)* Don't add extra blank lines with `flatten_help(true)` and subcommands without arguments ### [`v4.5.33`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4533---2025-03-26) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.32...v4.5.33) ##### Fixes - *(error)* When showing the usage of a suggestion for an unknown argument, don't show the group ### [`v4.5.32`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4532---2025-03-10) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.31...v4.5.32) ##### Features - Add `Error::remove` ##### Documentation - *(cookbook)* Switch from `humantime` to `jiff` - *(tutorial)* Better cover required vs optional ##### Internal - Update `pulldown-cmark` ### [`v4.5.31`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4531---2025-02-24) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.30...v4.5.31) ##### Features - Add `ValueParserFactory` for `Saturating<T>` ### [`v4.5.30`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4530---2025-02-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.29...v4.5.30) ##### Fixes - *(assert)* Allow `num_args(0..=1)` to be used with `SetTrue` - *(assert)* Clean up rendering of `takes_values` assertions ### [`v4.5.29`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4529---2025-02-11) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.28...v4.5.29) ##### Fixes - Change `ArgMatches::args_present` so not-present flags are considered not-present (matching the documentation) ### [`v4.5.28`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4528---2025-02-03) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.27...v4.5.28) ##### Features - *(derive)* Unstable support for full markdown syntax for doc comments, enabled with `unstable-markdown` ### [`v4.5.27`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4527---2025-01-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.26...v4.5.27) ##### Documentation - Iterate on tutorials and reference based on feedback ### [`v4.5.26`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4526---2025-01-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.25...v4.5.26) ##### Fixes - *(error)* Reduce binary size with the `suggestions` feature ### [`v4.5.25`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4525---2025-01-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.24...v4.5.25) ##### Fixes - *(help)* Reduce binary size ### [`v4.5.24`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4524---2025-01-07) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.23...v4.5.24) ##### Fixes - *(parser)* Correctly handle defaults with `ignore_errors(true)` and when a suggestion is provided for an unknown argument </details> <details> <summary>image-rs/image (image)</summary> ### [`v0.25.9`](https://github.com/image-rs/image/blob/HEAD/CHANGES.md#Version-0259) [Compare Source](https://github.com/image-rs/image/compare/v0.25.8...v0.25.9) Features: - Support extracting XMP metadata from PNG, JPEG, GIF, WebP and TIFF files ([#&#8203;2567](https://github.com/image-rs/image/issues/2567), [#&#8203;2634](https://github.com/image-rs/image/issues/2634), [#&#8203;2644](https://github.com/image-rs/image/issues/2644)) - Support reading IPTC metadata from PNG and JPG files ([#&#8203;2611](https://github.com/image-rs/image/issues/2611)) - Support reading ICC profile from GIF files ([#&#8203;2644](https://github.com/image-rs/image/issues/2644)) - Allow setting a specific DEFLATE compression level when writing PNG ([#&#8203;2583](https://github.com/image-rs/image/issues/2583)) - Initial support for 16-bit CMYK TIFF files ([#&#8203;2588](https://github.com/image-rs/image/issues/2588)) - Allow extracting the alpha channel of a `Pixel` in a generic way ([#&#8203;2638](https://github.com/image-rs/image/issues/2638)) Structural changes: - EXR format decoding now only uses multi-threading via Rayon when the `rayon` feature is enabled ([#&#8203;2643](https://github.com/image-rs/image/issues/2643)) - Upgraded zune-jpeg to 0.5.x, ravif to 0.12.x, gif to 0.14.x - pnm: parse integers in PBM/PGM/PPM headers without allocations ([#&#8203;2620](https://github.com/image-rs/image/issues/2620)) - Replace `doc_auto_cfg` with `doc_cfg` ([#&#8203;2637](https://github.com/image-rs/image/issues/2637)) Bug fixes: - Do not encode empty JPEG images ([#&#8203;2624](https://github.com/image-rs/image/issues/2624)) - tga: reject empty images ([#&#8203;2614](https://github.com/image-rs/image/issues/2614)) - tga: fix orientation flip for color mapped images ([#&#8203;2607](https://github.com/image-rs/image/issues/2607)) - tga: adjust colormap lookup to match tga 2.0 spec ([#&#8203;2608](https://github.com/image-rs/image/issues/2608)) ### [`v0.25.8`](https://github.com/image-rs/image/blob/HEAD/CHANGES.md#Version-0258) [Compare Source](https://github.com/image-rs/image/compare/v0.25.7...v0.25.8) Re-release of `0.25.7` Fixes: - Reverted a signature change to `load_from_memory` that lead to large scale type inference breakage despite being technically compatible. - Color conversion Luma to Rgb used incorrect coefficients instead of broadcasting. ### [`v0.25.7`](https://github.com/image-rs/image/blob/HEAD/CHANGES.md#Version-0257-yanked) [Compare Source](https://github.com/image-rs/image/compare/v0.25.6...v0.25.7) Features: - Added an API for external image format implementations to register themselves as decoders for a specific format in `image` ([#&#8203;2372](https://github.com/image-rs/image/issues/2372)) - Added [CICP](https://www.color.org/iccmax/download/CICP_tag_and_type_amendment.pdf) awarenes via [moxcms](https://crates.io/crates/moxcms) to support color spaces ([#&#8203;2531](https://github.com/image-rs/image/issues/2531)). The support for transforming is limited for now and will be gradually expanded. - You can now embed Exif metadata when writing JPEG, PNG and WebP images ([#&#8203;2537](https://github.com/image-rs/image/issues/2537), [#&#8203;2539](https://github.com/image-rs/image/issues/2539)) - Added functions to extract orientation from Exif metadata and optionally clear it in the Exif chunk ([#&#8203;2484](https://github.com/image-rs/image/issues/2484)) - Serde support for more types ([#&#8203;2445](https://github.com/image-rs/image/issues/2445)) - PNM encoder now supports writing 16-bit images ([#&#8203;2431](https://github.com/image-rs/image/issues/2431)) Structural changes: - Increased MSRV to 1.85.0 (from 1.78.0) API improvements: - `save`, `save_with_format`, `write_to` and `write_with_encoder` methods on `DynamicImage` now automatically convert the pixel format when necessary instead of returning an error ([#&#8203;2501](https://github.com/image-rs/image/issues/2501)) - Added `DynamicImage::has_alpha()` convenience method - Implemented `TryFrom<ExtendedColorType>` for `ColorType` ([#&#8203;2444](https://github.com/image-rs/image/issues/2444)) - Added `const HAS_ALPHA` to trait `Pixel` - Unified the error for unsupported encoder colors ([#&#8203;2543](https://github.com/image-rs/image/issues/2543)) - Added a `hooks` module to customize builtin behavior, `register_format_detection_hook` and `register_decoding_hook` for the determining format of a file and selecting an `ImageDecoder` implementation respectively. ([#&#8203;2372](https://github.com/image-rs/image/issues/2372)) Performance improvements: - Gaussian blur ([#&#8203;2496](https://github.com/image-rs/image/issues/2496)) and box blur ([#&#8203;2515](https://github.com/image-rs/image/issues/2515)) are now faster - Improve compilation times by avoiding unnecessary instantiation of generic functions ([#&#8203;2468](https://github.com/image-rs/image/issues/2468), [#&#8203;2470](https://github.com/image-rs/image/issues/2470)) Bug fixes: - Many improvements to image format decoding: TIFF, WebP, AVIF, PNG, GIF, BMP, TGA - Fixed `GifEncoder::encode()` ignoring the speed parameter and always using the slowest speed ([#&#8203;2504](https://github.com/image-rs/image/issues/2504)) - `.pnm` is now recognized as a file extension for the PNM format ([#&#8203;2559](https://github.com/image-rs/image/issues/2559)) ### [`v0.25.6`](https://github.com/image-rs/image/blob/HEAD/CHANGES.md#Version-0256) [Compare Source](https://github.com/image-rs/image/compare/v0.25.5...v0.25.6) Features: - Improved format detection ([#&#8203;2418](https://github.com/image-rs/image/pull/2418)) - Implement writing ICC profiles for JPEG and PNG images ([#&#8203;2389](https://github.com/image-rs/image/pull/2389)) Bug fixes: - JPEG encoding bugfix ([#&#8203;2387](https://github.com/image-rs/image/pull/2387)) - Expanded ICO format detection ([#&#8203;2434](https://github.com/image-rs/image/pull/2434)) - Fixed EXR bug with NaNs ([#&#8203;2381](https://github.com/image-rs/image/pull/2381)) - Various documentation improvements </details> <details> <summary>rust-random/rand (rand)</summary> ### [`v0.9.2`](https://github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#092---2025-07-20) [Compare Source](https://github.com/rust-random/rand/compare/0.9.1...0.9.2) ##### Deprecated - Deprecate `rand::rngs::mock` module and `StepRng` generator ([#&#8203;1634](https://github.com/rust-random/rand/issues/1634)) ##### Additions - Enable `WeightedIndex<usize>` (de)serialization ([#&#8203;1646](https://github.com/rust-random/rand/issues/1646)) ### [`v0.9.1`](https://github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#091---2025-04-17) [Compare Source](https://github.com/rust-random/rand/compare/0.9.0...0.9.1) ##### Security and unsafe - Revise "not a crypto library" policy again ([#&#8203;1565](https://github.com/rust-random/rand/issues/1565)) - Remove `zerocopy` dependency from `rand` ([#&#8203;1579](https://github.com/rust-random/rand/issues/1579)) ##### Fixes - Fix feature `simd_support` for recent nightly rust ([#&#8203;1586](https://github.com/rust-random/rand/issues/1586)) ##### Changes - Allow `fn rand::seq::index::sample_weighted` and `fn IndexedRandom::choose_multiple_weighted` to return fewer than `amount` results ([#&#8203;1623](https://github.com/rust-random/rand/issues/1623)), reverting an undocumented change ([#&#8203;1382](https://github.com/rust-random/rand/issues/1382)) to the previous release. ##### Additions - Add `rand::distr::Alphabetic` distribution. ([#&#8203;1587](https://github.com/rust-random/rand/issues/1587)) - Re-export `rand_core` ([#&#8203;1604](https://github.com/rust-random/rand/issues/1604)) ### [`v0.9.0`](https://github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#090---2025-01-27) [Compare Source](https://github.com/rust-random/rand/compare/0.8.5...0.9.0) ##### Security and unsafe - Policy: "rand is not a crypto library" ([#&#8203;1514](https://github.com/rust-random/rand/issues/1514)) - Remove fork-protection from `ReseedingRng` and `ThreadRng`. Instead, it is recommended to call `ThreadRng::reseed` on fork. ([#&#8203;1379](https://github.com/rust-random/rand/issues/1379)) - Use `zerocopy` to replace some `unsafe` code ([#&#8203;1349](https://github.com/rust-random/rand/issues/1349), [#&#8203;1393](https://github.com/rust-random/rand/issues/1393), [#&#8203;1446](https://github.com/rust-random/rand/issues/1446), [#&#8203;1502](https://github.com/rust-random/rand/issues/1502)) ##### Dependencies - Bump the MSRV to 1.63.0 ([#&#8203;1207](https://github.com/rust-random/rand/issues/1207), [#&#8203;1246](https://github.com/rust-random/rand/issues/1246), [#&#8203;1269](https://github.com/rust-random/rand/issues/1269), [#&#8203;1341](https://github.com/rust-random/rand/issues/1341), [#&#8203;1416](https://github.com/rust-random/rand/issues/1416), [#&#8203;1536](https://github.com/rust-random/rand/issues/1536)); note that 1.60.0 may work for dependents when using `--ignore-rust-version` - Update to `rand_core` v0.9.0 ([#&#8203;1558](https://github.com/rust-random/rand/issues/1558)) ##### Features - Support `std` feature without `getrandom` or `rand_chacha` ([#&#8203;1354](https://github.com/rust-random/rand/issues/1354)) - Enable feature `small_rng` by default ([#&#8203;1455](https://github.com/rust-random/rand/issues/1455)) - Remove implicit feature `rand_chacha`; use `std_rng` instead. ([#&#8203;1473](https://github.com/rust-random/rand/issues/1473)) - Rename feature `serde1` to `serde` ([#&#8203;1477](https://github.com/rust-random/rand/issues/1477)) - Rename feature `getrandom` to `os_rng` ([#&#8203;1537](https://github.com/rust-random/rand/issues/1537)) - Add feature `thread_rng` ([#&#8203;1547](https://github.com/rust-random/rand/issues/1547)) ##### API changes: rand\_core traits - Add fn `RngCore::read_adapter` implementing `std::io::Read` ([#&#8203;1267](https://github.com/rust-random/rand/issues/1267)) - Add trait `CryptoBlockRng: BlockRngCore`; make `trait CryptoRng: RngCore` ([#&#8203;1273](https://github.com/rust-random/rand/issues/1273)) - Add traits `TryRngCore`, `TryCryptoRng` ([#&#8203;1424](https://github.com/rust-random/rand/issues/1424), [#&#8203;1499](https://github.com/rust-random/rand/issues/1499)) - Rename `fn SeedableRng::from_rng` -> `try_from_rng` and add infallible variant `fn from_rng` ([#&#8203;1424](https://github.com/rust-random/rand/issues/1424)) - Rename `fn SeedableRng::from_entropy` -> `from_os_rng` and add fallible variant `fn try_from_os_rng` ([#&#8203;1424](https://github.com/rust-random/rand/issues/1424)) - Add bounds `Clone` and `AsRef` to associated type `SeedableRng::Seed` ([#&#8203;1491](https://github.com/rust-random/rand/issues/1491)) ##### API changes: Rng trait and top-level fns - Rename fn `rand::thread_rng()` to `rand::rng()` and remove from the prelude ([#&#8203;1506](https://github.com/rust-random/rand/issues/1506)) - Remove fn `rand::random()` from the prelude ([#&#8203;1506](https://github.com/rust-random/rand/issues/1506)) - Add top-level fns `random_iter`, `random_range`, `random_bool`, `random_ratio`, `fill` ([#&#8203;1488](https://github.com/rust-random/rand/issues/1488)) - Re-introduce fn `Rng::gen_iter` as `random_iter` ([#&#8203;1305](https://github.com/rust-random/rand/issues/1305), [#&#8203;1500](https://github.com/rust-random/rand/issues/1500)) - Rename fn `Rng::gen` to `random` to avoid conflict with the new `gen` keyword in Rust 2024 ([#&#8203;1438](https://github.com/rust-random/rand/issues/1438)) - Rename fns `Rng::gen_range` to `random_range`, `gen_bool` to `random_bool`, `gen_ratio` to `random_ratio` ([#&#8203;1505](https://github.com/rust-random/rand/issues/1505)) - Annotate panicking methods with `#[track_caller]` ([#&#8203;1442](https://github.com/rust-random/rand/issues/1442), [#&#8203;1447](https://github.com/rust-random/rand/issues/1447)) ##### API changes: RNGs - Fix `<SmallRng as SeedableRng>::Seed` size to 256 bits ([#&#8203;1455](https://github.com/rust-random/rand/issues/1455)) - Remove first parameter (`rng`) of `ReseedingRng::new` ([#&#8203;1533](https://github.com/rust-random/rand/issues/1533)) ##### API changes: Sequences - Split trait `SliceRandom` into `IndexedRandom`, `IndexedMutRandom`, `SliceRandom` ([#&#8203;1382](https://github.com/rust-random/rand/issues/1382)) - Add `IndexedRandom::choose_multiple_array`, `index::sample_array` ([#&#8203;1453](https://github.com/rust-random/rand/issues/1453), [#&#8203;1469](https://github.com/rust-random/rand/issues/1469)) ##### API changes: Distributions: renames - Rename module `rand::distributions` to `rand::distr` ([#&#8203;1470](https://github.com/rust-random/rand/issues/1470)) - Rename distribution `Standard` to `StandardUniform` ([#&#8203;1526](https://github.com/rust-random/rand/issues/1526)) - Move `distr::Slice` -> `distr::slice::Choose`, `distr::EmptySlice` -> `distr::slice::Empty` ([#&#8203;1548](https://github.com/rust-random/rand/issues/1548)) - Rename trait `distr::DistString` -> `distr::SampleString` ([#&#8203;1548](https://github.com/rust-random/rand/issues/1548)) - Rename `distr::DistIter` -> `distr::Iter`, `distr::DistMap` -> `distr::Map` ([#&#8203;1548](https://github.com/rust-random/rand/issues/1548)) ##### API changes: Distributions - Relax `Sized` bound on `Distribution<T> for &D` ([#&#8203;1278](https://github.com/rust-random/rand/issues/1278)) - Remove impl of `Distribution<Option<T>>` for `StandardUniform` ([#&#8203;1526](https://github.com/rust-random/rand/issues/1526)) - Let distribution `StandardUniform` support all `NonZero*` types ([#&#8203;1332](https://github.com/rust-random/rand/issues/1332)) - Fns `{Uniform, UniformSampler}::{new, new_inclusive}` return a `Result` (instead of potentially panicking) ([#&#8203;1229](https://github.com/rust-random/rand/issues/1229)) - Distribution `Uniform` implements `TryFrom` instead of `From` for ranges ([#&#8203;1229](https://github.com/rust-random/rand/issues/1229)) - Add `UniformUsize` ([#&#8203;1487](https://github.com/rust-random/rand/issues/1487)) - Remove support for generating `isize` and `usize` values with `StandardUniform`, `Uniform` (except via `UniformUsize`) and `Fill` and usage as a `WeightedAliasIndex` weight ([#&#8203;1487](https://github.com/rust-random/rand/issues/1487)) - Add impl `DistString` for distributions `Slice<char>` and `Uniform<char>` ([#&#8203;1315](https://github.com/rust-random/rand/issues/1315)) - Add fn `Slice::num_choices` ([#&#8203;1402](https://github.com/rust-random/rand/issues/1402)) - Add fn `p()` for distribution `Bernoulli` to access probability ([#&#8203;1481](https://github.com/rust-random/rand/issues/1481)) ##### API changes: Weighted distributions - Add `pub` module `rand::distr::weighted`, moving `WeightedIndex` there ([#&#8203;1548](https://github.com/rust-random/rand/issues/1548)) - Add trait `weighted::Weight`, allowing `WeightedIndex` to trap overflow ([#&#8203;1353](https://github.com/rust-random/rand/issues/1353)) - Add fns `weight, weights, total_weight` to distribution `WeightedIndex` ([#&#8203;1420](https://github.com/rust-random/rand/issues/1420)) - Rename enum `WeightedError` to `weighted::Error`, revising variants ([#&#8203;1382](https://github.com/rust-random/rand/issues/1382)) and mark as `#[non_exhaustive]` ([#&#8203;1480](https://github.com/rust-random/rand/issues/1480)) ##### API changes: SIMD - Switch to `std::simd`, expand SIMD & docs ([#&#8203;1239](https://github.com/rust-random/rand/issues/1239)) ##### Reproducibility-breaking changes - Make `ReseedingRng::reseed` discard remaining data from the last block generated ([#&#8203;1379](https://github.com/rust-random/rand/issues/1379)) - Change fn `SmallRng::seed_from_u64` implementation ([#&#8203;1203](https://github.com/rust-random/rand/issues/1203)) - Allow `UniformFloat::new` samples and `UniformFloat::sample_single` to yield `high` ([#&#8203;1462](https://github.com/rust-random/rand/issues/1462)) - Fix portability of distribution `Slice` ([#&#8203;1469](https://github.com/rust-random/rand/issues/1469)) - Make `Uniform` for `usize` portable via `UniformUsize` ([#&#8203;1487](https://github.com/rust-random/rand/issues/1487)) - Fix `IndexdRandom::choose_multiple_weighted` for very small seeds and optimize for large input length / low memory ([#&#8203;1530](https://github.com/rust-random/rand/issues/1530)) ##### Reproducibility-breaking optimisations - Optimize fn `sample_floyd`, affecting output of `rand::seq::index::sample` and `rand::seq::SliceRandom::choose_multiple` ([#&#8203;1277](https://github.com/rust-random/rand/issues/1277)) - New, faster algorithms for `IteratorRandom::choose` and `choose_stable` ([#&#8203;1268](https://github.com/rust-random/rand/issues/1268)) - New, faster algorithms for `SliceRandom::shuffle` and `partial_shuffle` ([#&#8203;1272](https://github.com/rust-random/rand/issues/1272)) - Optimize distribution `Uniform`: use Canon's method (single sampling) / Lemire's method (distribution sampling) for faster sampling (breaks value stability; [#&#8203;1287](https://github.com/rust-random/rand/issues/1287)) - Optimize fn `sample_single_inclusive` for floats (+\~20% perf) ([#&#8203;1289](https://github.com/rust-random/rand/issues/1289)) ##### Other optimisations - Improve `SmallRng` initialization performance ([#&#8203;1482](https://github.com/rust-random/rand/issues/1482)) - Optimise SIMD widening multiply ([#&#8203;1247](https://github.com/rust-random/rand/issues/1247)) ##### Other - Add `Cargo.lock.msrv` file ([#&#8203;1275](https://github.com/rust-random/rand/issues/1275)) - Reformat with `rustfmt` and enforce ([#&#8203;1448](https://github.com/rust-random/rand/issues/1448)) - Apply Clippy suggestions and enforce ([#&#8203;1448](https://github.com/rust-random/rand/issues/1448), [#&#8203;1474](https://github.com/rust-random/rand/issues/1474)) - Move all benchmarks to new `benches` crate ([#&#8203;1329](https://github.com/rust-random/rand/issues/1329), [#&#8203;1439](https://github.com/rust-random/rand/issues/1439)) and migrate to Criterion ([#&#8203;1490](https://github.com/rust-random/rand/issues/1490)) ##### Documentation - Improve `ThreadRng` related docs ([#&#8203;1257](https://github.com/rust-random/rand/issues/1257)) - Docs: enable experimental `--generate-link-to-definition` feature ([#&#8203;1327](https://github.com/rust-random/rand/issues/1327)) - Better doc of crate features, use `doc_auto_cfg` ([#&#8203;1411](https://github.com/rust-random/rand/issues/1411), [#&#8203;1450](https://github.com/rust-random/rand/issues/1450)) </details> <details> <summary>Stebalien/tempfile (tempfile)</summary> ### [`v3.23.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3230) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.22.0...v3.23.0) - Remove need for the "nightly" feature to compile with "wasip2". ### [`v3.22.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3220) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.21.0...v3.22.0) - Updated `windows-sys` requirement to allow version 0.61.x - Remove `unstable-windows-keep-open-tempfile` feature. ### [`v3.21.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3210) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.20.0...v3.21.0) - Updated `windows-sys` requirement to allow version 0.60.x ### [`v3.20.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3200) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.19.1...v3.20.0) This release mostly unifies the behavior/capabilities around "keeping" temporary files: - Rename `Builder::keep(bool)` (via deprecation) to `Builder::disable_cleanup(bool)` to make it clear that behaves differently from `NamedTempFile::keep()`. The former disables automatic cleanup while the latter *consumes* the `NamedTempFile` object entirely and unsets the "temporary file" attribute (on Windows). - Rename `TempDir::into_path` (via deprecation) to `TempDir::keep` to mirror `NamedTempFile::keep`. - Add `TempDir::disable_cleanup`, `NamedTempFile::disable_cleanup`, and `TempPath::disable_cleanup` making it possible to disable automatic cleanup in-place *after* creating a temporary file/directory (equivalent to calling `Builder::disable_cleanup` before creating the file/directory). Additionally, it adds a few spooled temporary file features: - Add `SpooledTempFile::into_file` for turning a `SpooledTempFile` into a regular unnamed temporary file, writing it to the backing storage ("rolling" it) if it was still stored in-memory. - Add `spooled_tempfile_in` and `SpooledTempFile::new_in` methods for creating spooled temporary files in a specific directory. This makes it possible to choose the backing device for your spooled temporary file which is rather important on Linux where the default temporary directory is likely backed by memory (defeating the entire point of having a spooled temporary file). Finally, this release improves documentation, especially the top-level documentation explaining which temporary file type to use. **BREAKING** for those with `deny(warnings)`: - `Builder::keep` deprecated in favor of `Builder::disable_cleanup`. - `TempDir::into_path` is deprecated in favor of `TempDir::keep`. ### [`v3.19.1`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3191) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.19.0...v3.19.1) - Don't unlink temporary files immediately on Windows (fixes [#&#8203;339](https://github.com/Stebalien/tempfile/issues/339)). Unfortunately, this seemed to corrupt the file object (possibly a Windows kernel bug) in rare cases and isn't strictly speaking necessary. ### [`v3.19.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3190) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.18.0...v3.19.0) - Remove direct dependency on `cfg-if`. It's still in the tree, but we didn't really need to use it in this crate. - Add an unstable feature (`unstable-windows-keep-open-tempfile`) to test a potential fix to [#&#8203;339](https://github.com/Stebalien/tempfile/issues/339). ### [`v3.18.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3180) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.17.1...v3.18.0) - Update `rustix` to 1.0.0. - Make `NamedTempFile::persist_noclobber` atomic on Apple operating systems. It's now atomic on MacOS, Windows, and Linux (depending on the OS version and filesystem used). ### [`v3.17.1`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3171) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.17.0...v3.17.1) - Fix build with `windows-sys` 0.52. Unfortunately, we have no CI for older `windows-sys` versions at the moment... ### [`v3.17.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3170) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.16.0...v3.17.0) - Make sure to use absolute paths in when creating unnamed temporary files (avoids a small race in the "immediate unlink" logic) and in `Builder::make_in` (when creating temporary files of arbitrary types). - Prevent a theoretical crash that could (maybe) happen when a temporary file is created from a drop function run in a TLS destructor. Nobody has actually reported a case of this happening in practice and I have been unable to create this scenario in a test. - When reseeding with `getrandom`, use platform (e.g., CPU) specific randomness sources where possible. - Clarify some documentation. - Unlink unnamed temporary files on windows *immediately* when possible instead of waiting for the handle to be closed. We open files with "Unix" semantics, so this is generally possible. ### [`v3.16.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3160) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.15.0...v3.16.0) - Update `getrandom` to `0.3.0` (thanks to [@&#8203;paolobarbolini](https://github.com/paolobarbolini)). - Allow `windows-sys` versions `0.59.x` in addition to `0.59.0` (thanks [@&#8203;ErichDonGubler](https://github.com/ErichDonGubler)). - Improved security documentation (thanks to [@&#8203;n0toose](https://github.com/n0toose) for collaborating with me on this). ### [`v3.15.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3150) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.14.0...v3.15.0) Re-seed the per-thread RNG from system randomness when we repeatedly fail to create temporary files ([#&#8203;314](https://github.com/Stebalien/tempfile/issues/314)). This resolves a potential DoS vector ([#&#8203;178](https://github.com/Stebalien/tempfile/issues/178)) while avoiding `getrandom` in the common case where it's necessary. The feature is optional but enabled by default via the `getrandom` feature. For libc-free builds, you'll either need to disable this feature or opt-in to a different [`getrandom` backend](https://github.com/rust-random/getrandom?tab=readme-ov-file#opt-in-backends). </details> <details> <summary>dtolnay/thiserror (thiserror)</summary> ### [`v2.0.17`](https://github.com/dtolnay/thiserror/releases/tag/2.0.17) [Compare Source](https://github.com/dtolnay/thiserror/compare/2.0.16...2.0.17) - Use differently named \_\_private module per patch release ([#&#8203;434](https://github.com/dtolnay/thiserror/issues/434)) ### [`v2.0.16`](https://github.com/dtolnay/thiserror/releases/tag/2.0.16) [Compare Source](https://github.com/dtolnay/thiserror/compare/2.0.15...2.0.16) - Add to "no-std" crates.io category ([#&#8203;429](https://github.com/dtolnay/thiserror/issues/429)) ### [`v2.0.15`](https://github.com/dtolnay/thiserror/releases/tag/2.0.15) [Compare Source](https://github.com/dtolnay/thiserror/compare/2.0.14...2.0.15) - Prevent `Error::provide` API becoming unavailable from a future new compiler lint ([#&#8203;427](https://github.com/dtolnay/thiserror/issues/427)) ### [`v2.0.14`](https://github.com/dtolnay/thiserror/releases/tag/2.0.14) [Compare Source](https://github.com/dtolnay/thiserror/compare/2.0.13...2.0.14) - Allow build-script cleanup failure with NFSv3 output directory to be non-fatal ([#&#8203;426](https://github.com/dtolnay/thiserror/issues/426)) ### [`v2.0.13`](https://github.com/dtolnay/thiserror/releases/tag/2.0.13) [Compare Source](https://github.com/dtolnay/thiserror/compare/2.0.12...2.0.13) - Documentation improvements ### [`v2.0.12`](https://github.com/dtolnay/thiserror/releases/tag/2.0.12) [Compare Source](https://github.com/dtolnay/thiserror/compare/2.0.11...2.0.12) - Prevent elidable\_lifetime\_names pedantic clippy lint in generated impl ([#&#8203;413](https://github.com/dtolnay/thiserror/issues/413)) ### [`v2.0.11`](https://github.com/dtolnay/thiserror/releases/tag/2.0.11) [Compare Source](https://github.com/dtolnay/thiserror/compare/2.0.10...2.0.11) - Add feature gate to tests that use std ([#&#8203;409](https://github.com/dtolnay/thiserror/issues/409), [#&#8203;410](https://github.com/dtolnay/thiserror/issues/410), thanks [@&#8203;Maytha8](https://github.com/Maytha8)) ### [`v2.0.10`](https://github.com/dtolnay/thiserror/releases/tag/2.0.10) [Compare Source](https://github.com/dtolnay/thiserror/compare/2.0.9...2.0.10) - Support errors containing a generic type parameter's associated type in a field ([#&#8203;408](https://github.com/dtolnay/thiserror/issues/408)) </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.48.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.48.0): Tokio v1.48.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.2...tokio-1.48.0) ### 1.48.0 (October 14th, 2025) The MSRV is increased to 1.71. ##### Added - fs: add `File::max_buf_size` ([#&#8203;7594]) - io: export `Chain` of `AsyncReadExt::chain` ([#&#8203;7599]) - net: add `SocketAddr::as_abstract_name` ([#&#8203;7491]) - net: add `TcpStream::quickack` and `TcpStream::set_quickack` ([#&#8203;7490]) - net: implement `AsRef<Self>` for `TcpStream` and `UnixStream` ([#&#8203;7573]) - task: add `LocalKey::try_get` ([#&#8203;7666]) - task: implement `Ord` for `task::Id` ([#&#8203;7530]) ##### Changed - deps: bump windows-sys to version 0.61 ([#&#8203;7645]) - fs: preserve `max_buf_size` when cloning a `File` ([#&#8203;7593]) - macros: suppress `clippy::unwrap_in_result` in `#[tokio::main]` ([#&#8203;7651]) - net: remove `PollEvented` noise from Debug formats ([#&#8203;7675]) - process: upgrade `Command::spawn_with` to use `FnOnce` ([#&#8203;7511]) - sync: remove inner mutex in `SetOnce` ([#&#8203;7554]) - sync: use `UnsafeCell::get_mut` in `Mutex::get_mut` and `RwLock::get_mut` ([#&#8203;7569]) - time: reduce the generated code size of `Timeout<T>::poll` ([#&#8203;7535]) ##### Fixed - macros: fix hygiene issue in `join!` and `try_join!` ([#&#8203;7638]) - net: fix copy/paste errors in udp peek methods ([#&#8203;7604]) - process: fix error when runtime is shut down on nightly-2025-10-12 ([#&#8203;7672]) - runtime: use release ordering in `wake_by_ref()` even if already woken ([#&#8203;7622]) - sync: close the `broadcast::Sender` in `broadcast::Sender::new()` ([#&#8203;7629]) - sync: fix implementation of unused `RwLock::try_*` methods ([#&#8203;7587]) ##### Unstable - tokio: use cargo features instead of `--cfg` flags for `taskdump` and `io_uring` ([#&#8203;7655], [#&#8203;7621]) - fs: support `io_uring` in `fs::write` ([#&#8203;7567]) - fs: support `io_uring` with `File::open()` ([#&#8203;7617]) - fs: support `io_uring` with `OpenOptions` ([#&#8203;7321]) - macros: add `local` runtime flavor ([#&#8203;7375], [#&#8203;7597]) ##### Documented - io: clarify the zero capacity case of `AsyncRead::poll_read` ([#&#8203;7580]) - io: fix typos in the docs of `AsyncFd` readiness guards ([#&#8203;7583]) - net: clarify socket gets closed on drop ([#&#8203;7526]) - net: clarify the behavior of `UCred::pid()` on Cygwin ([#&#8203;7611]) - net: clarify the supported platform of `set_reuseport()` and `reuseport()` ([#&#8203;7628]) - net: qualify that `SO_REUSEADDR` is only set on Unix ([#&#8203;7533]) - runtime: add guide for choosing between runtime types ([#&#8203;7635]) - runtime: clarify the behavior of `Handle::block_on` ([#&#8203;7665]) - runtime: clarify the edge case of `Builder::global_queue_interval()` ([#&#8203;7605]) - sync: clarify bounded channel panic behavior ([#&#8203;7641]) - sync: clarify the behavior of `tokio::sync::watch::Receiver` ([#&#8203;7584]) - sync: document cancel safety on `SetOnce::wait` ([#&#8203;7506]) - sync: fix the docs of `parking_lot` feature flag ([#&#8203;7663]) - sync: improve the docs of `UnboundedSender::send` ([#&#8203;7661]) - sync: improve the docs of `sync::watch` ([#&#8203;7601]) - sync: reword allocation failure paragraph in broadcast docs ([#&#8203;7595]) - task: clarify the behavior of several `spawn_local` methods ([#&#8203;7669]) - task: clarify the task ID reuse guarantees ([#&#8203;7577]) - task: improve the example of `poll_proceed` ([#&#8203;7586]) [#&#8203;7321]: https://github.com/tokio-rs/tokio/pull/7321 [#&#8203;7375]: https://github.com/tokio-rs/tokio/pull/7375 [#&#8203;7490]: https://github.com/tokio-rs/tokio/pull/7490 [#&#8203;7491]: https://github.com/tokio-rs/tokio/pull/7491 [#&#8203;7494]: https://github.com/tokio-rs/tokio/pull/7494 [#&#8203;7506]: https://github.com/tokio-rs/tokio/pull/7506 [#&#8203;7511]: https://github.com/tokio-rs/tokio/pull/7511 [#&#8203;7526]: https://github.com/tokio-rs/tokio/pull/7526 [#&#8203;7530]: https://github.com/tokio-rs/tokio/pull/7530 [#&#8203;7533]: https://github.com/tokio-rs/tokio/pull/7533 [#&#8203;7535]: https://github.com/tokio-rs/tokio/pull/7535 [#&#8203;7554]: https://github.com/tokio-rs/tokio/pull/7554 [#&#8203;7567]: https://github.com/tokio-rs/tokio/pull/7567 [#&#8203;7569]: https://github.com/tokio-rs/tokio/pull/7569 [#&#8203;7573]: https://github.com/tokio-rs/tokio/pull/7573 [#&#8203;7577]: https://github.com/tokio-rs/tokio/pull/7577 [#&#8203;7580]: https://github.com/tokio-rs/tokio/pull/7580 [#&#8203;7583]: https://github.com/tokio-rs/tokio/pull/7583 [#&#8203;7584]: https://github.com/tokio-rs/tokio/pull/7584 [#&#8203;7586]: https://github.com/tokio-rs/tokio/pull/7586 [#&#8203;7587]: https://github.com/tokio-rs/tokio/pull/7587 [#&#8203;7593]: https://github.com/tokio-rs/tokio/pull/7593 [#&#8203;7594]: https://github.com/tokio-rs/tokio/pull/7594 [#&#8203;7595]: https://github.com/tokio-rs/tokio/pull/7595 [#&#8203;7597]: https://github.com/tokio-rs/tokio/pull/7597 [#&#8203;7599]: https://github.com/tokio-rs/tokio/pull/7599 [#&#8203;7601]: https://github.com/tokio-rs/tokio/pull/7601 [#&#8203;7604]: https://github.com/tokio-rs/tokio/pull/7604 [#&#8203;7605]: https://github.com/tokio-rs/tokio/pull/7605 [#&#8203;7611]: https://github.com/tokio-rs/tokio/pull/7611 [#&#8203;7617]: https://github.com/tokio-rs/tokio/pull/7617 [#&#8203;7621]: https://github.com/tokio-rs/tokio/pull/7621 [#&#8203;7622]: https://github.com/tokio-rs/tokio/pull/7622 [#&#8203;7628]: https://github.com/tokio-rs/tokio/pull/7628 [#&#8203;7629]: https://github.com/tokio-rs/tokio/pull/7629 [#&#8203;7635]: https://github.com/tokio-rs/tokio/pull/7635 [#&#8203;7638]: https://github.com/tokio-rs/tokio/pull/7638 [#&#8203;7641]: https://github.com/tokio-rs/tokio/pull/7641 [#&#8203;7645]: https://github.com/tokio-rs/tokio/pull/7645 [#&#8203;7651]: https://github.com/tokio-rs/tokio/pull/7651 [#&#8203;7655]: https://github.com/tokio-rs/tokio/pull/7655 [#&#8203;7661]: https://github.com/tokio-rs/tokio/pull/7661 [#&#8203;7663]: https://github.com/tokio-rs/tokio/pull/7663 [#&#8203;7665]: https://github.com/tokio-rs/tokio/pull/7665 [#&#8203;7666]: https://github.com/tokio-rs/tokio/pull/7666 [#&#8203;7669]: https://github.com/tokio-rs/tokio/pull/7669 [#&#8203;7672]: https://github.com/tokio-rs/tokio/pull/7672 [#&#8203;7675]: https://github.com/tokio-rs/tokio/pull/7675 ### [`v1.47.2`](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.47.2) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.47.2) ### [`v1.47.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.47.1): Tokio v1.47.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.47.0...tokio-1.47.1) ### 1.47.1 (August 1st, 2025) ##### Fixed - process: fix panic from spurious pidfd wakeup ([#&#8203;7494]) - sync: fix broken link of Python `asyncio.Event` in `SetOnce` docs ([#&#8203;7485]) [#&#8203;7485]: https://github.com/tokio-rs/tokio/pull/7485 [#&#8203;7494]: https://github.com/tokio-rs/tokio/pull/7494 ### [`v1.47.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.47.0): Tokio v1.47.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.46.1...tokio-1.47.0) ### 1.47.0 (July 25th, 2025) This release adds `poll_proceed` and `cooperative` to the `coop` module for cooperative scheduling, adds `SetOnce` to the `sync` module which provides similar functionality to \[`std::sync::OnceLock`], and adds a new method `sync::Notify::notified_owned()` which returns an `OwnedNotified` without a lifetime parameter. #### Added - coop: add `cooperative` and `poll_proceed` ([#&#8203;7405]) - sync: add `SetOnce` ([#&#8203;7418]) - sync: add `sync::Notify::notified_owned()` ([#&#8203;7465]) #### Changed - deps: upgrade windows-sys 0.52 → 0.59 (\[[#&#8203;7117](https://github.com/tokio-rs/tokio/issues/7117)]) - deps: update to socket2 v0.6 (\[[#&#8203;7443](https://github.com/tokio-rs/tokio/issues/7443)]) - sync: improve `AtomicWaker::wake` performance ([#&#8203;7450]) #### Documented - metrics: fix listed feature requirements for some metrics ([#&#8203;7449]) - runtime: improve safety comments of `Readiness<'_>` ([#&#8203;7415]) [#&#8203;7405]: https://github.com/tokio-rs/tokio/pull/7405 [#&#8203;7415]: https://github.com/tokio-rs/tokio/pull/7415 [#&#8203;7418]: https://github.com/tokio-rs/tokio/pull/7418 [#&#8203;7449]: https://github.com/tokio-rs/tokio/pull/7449 [#&#8203;7450]: https://github.com/tokio-rs/tokio/pull/7450 [#&#8203;7465]: https://github.com/tokio-rs/tokio/pull/7465 ### [`v1.46.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.46.1): Tokio v1.46.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.46.0...tokio-1.46.1) ### 1.46.1 (July 4th, 2025) This release fixes incorrect spawn locations in runtime task hooks for tasks spawned using `tokio::spawn` rather than `Runtime::spawn`. This issue only effected the spawn location in `TaskMeta::spawned_at`, and did not effect task locations in Tracing events. #### Unstable - runtime: add `TaskMeta::spawn_location` tracking where a task was spawned ([#&#8203;7440]) [#&#8203;7440]: https://github.com/tokio-rs/tokio/pull/7440 ### [`v1.46.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.46.0): Tokio v1.46.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.45.1...tokio-1.46.0) ### 1.46.0 (July 2nd, 2025) ##### Fixed - net: fixed `TcpStream::shutdown` incorrectly returning an error on macOS ([#&#8203;7290]) #### Added - sync: `mpsc::OwnedPermit::{same_channel, same_channel_as_sender}` methods ([#&#8203;7389]) - macros: `biased` option for `join!` and `try_join!`, similar to `select!` ([#&#8203;7307]) - net: support for cygwin ([#&#8203;7393]) - net: support `pope::OpenOptions::read_write` on Android ([#&#8203;7426]) - net: add `Clone` implementation for `net::unix::SocketAddr` ([#&#8203;7422]) #### Changed - runtime: eliminate unnecessary lfence while operating on `queue::Local<T>` ([#&#8203;7340]) - task: disallow blocking in `LocalSet::{poll,drop}` ([#&#8203;7372]) #### Unstable - runtime: add `TaskMeta::spawn_location` tracking where a task was spawned ([#&#8203;7417]) - runtime: removed borrow from `LocalOptions` parameter to `runtime::Builder::build_local` ([#&#8203;7346]) #### Documented - io: clarify behavior of seeking when `start_seek` is not used ([#&#8203;7366]) - io: document cancellation safety of `AsyncWriteExt::flush` ([#&#8203;7364]) - net: fix docs for `recv_buffer_size` method ([#&#8203;7336]) - net: fix broken link of `RawFd` in `TcpSocket` docs ([#&#8203;7416]) - net: update `AsRawFd` doc link to current Rust stdlib location ([#&#8203;7429]) - readme: fix double period in reactor description ([#&#8203;7363]) - runtime: add doc note that `on_*_task_poll` is unstable ([#&#8203;7311]) - sync: update broadcast docs on allocation failure ([#&#8203;7352]) - time: add a missing panic scenario of `time::advance` ([#&#8203;7394]) [#&#8203;7290]: https://github.com/tokio-rs/tokio/pull/7290 [#&#8203;7307]: https://github.com/tokio-rs/tokio/pull/7307 [#&#8203;7311]: https://github.com/tokio-rs/tokio/pull/7311 [#&#8203;7336]: https://github.com/tokio-rs/tokio/pull/7336 [#&#8203;7340]: https://github.com/tokio-rs/tokio/pull/7340 [#&#8203;7346]: https://github.com/tokio-rs/tokio/pull/7346 [#&#8203;7352]: https://github.com/tokio-rs/tokio/pull/7352 [#&#8203;7363]: https://github.com/tokio-rs/tokio/pull/7363 [#&#8203;7364]: https://github.com/tokio-rs/tokio/pull/7364 [#&#8203;7366]: https://github.com/tokio-rs/tokio/pull/7366 [#&#8203;7372]: https://github.com/tokio-rs/tokio/pull/7372 [#&#8203;7389]: https://github.com/tokio-rs/tokio/pull/7389 [#&#8203;7393]: https://github.com/tokio-rs/tokio/pull/7393 [#&#8203;7394]: https://github.com/tokio-rs/tokio/pull/7394 [#&#8203;7416]: https://github.com/tokio-rs/tokio/pull/7416 [#&#8203;7422]: https://github.com/tokio-rs/tokio/pull/7422 [#&#8203;7426]: https://github.com/tokio-rs/tokio/pull/7426 [#&#8203;7429]: https://github.com/tokio-rs/tokio/pull/7429 [#&#8203;7417]: https://github.com/tokio-rs/tokio/pull/7417 ### [`v1.45.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.45.1): Tokio v1.45.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.45.0...tokio-1.45.1) ### 1.45.1 (May 24th, 2025) This fixes a regression on the wasm32-unknown-unknown target, where code that previously did not panic due to calls to `Instant::now()` started failing. This is due to the stabilization of the first time-based metric. ##### Fixed - Disable time-based metrics on wasm32-unknown-unknown ([#&#8203;7322]) [#&#8203;7322]: https://github.com/tokio-rs/tokio/pull/7322 ### [`v1.45.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.45.0): Tokio v1.45.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.45.0) ##### Added - metrics: stabilize `worker_total_busy_duration`, `worker_park_count`, and `worker_unpark_count` ([#&#8203;6899], [#&#8203;7276]) - process: add `Command::spawn_with` ([#&#8203;7249]) ##### Changed - io: do not require `Unpin` for some trait impls ([#&#8203;7204]) - rt: mark `runtime::Handle` as unwind safe ([#&#8203;7230]) - time: revert internal sharding implementation ([#&#8203;7226]) ##### Unstable - rt: remove alt multi-threaded runtime ([#&#8203;7275]) [#&#8203;6899]: https://github.com/tokio-rs/tokio/pull/6899 [#&#8203;7276]: https://github.com/tokio-rs/tokio/pull/7276 [#&#8203;7249]: https://github.com/tokio-rs/tokio/pull/7249 [#&#8203;7204]: https://github.com/tokio-rs/tokio/pull/7204 [#&#8203;7230]: https://github.com/tokio-rs/tokio/pull/7230 [#&#8203;7226]: https://github.com/tokio-rs/tokio/pull/7226 [#&#8203;7275]: https://github.com/tokio-rs/tokio/pull/7275 ### [`v1.44.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.2): Tokio v1.44.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://github.com/tokio-rs/tokio/pull/7232 ### [`v1.44.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.1): Tokio v1.44.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.44.0...tokio-1.44.1) ### 1.44.1 (March 13th, 2025) ##### Fixed - rt: skip defer queue in `block_in_place` context ([#&#8203;7216]) [#&#8203;7216]: https://github.com/tokio-rs/tokio/pull/7216 ### [`v1.44.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.0): Tokio v1.44.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.43.3...tokio-1.44.0) ### 1.44.0 (March 7th, 2025) This release changes the `from_std` method on sockets to panic if a blocking socket is provided. We determined this change is not a breaking change as Tokio is not intended to operate using blocking sockets. Doing so results in runtime hangs and should be considered a bug. Accidentally passing a blocking socket to Tokio is one of the most common user mistakes. If this change causes an issue for you, please comment on [#&#8203;7172]. ##### Added - coop: add `task::coop` module ([#&#8203;7116]) - process: add `Command::get_kill_on_drop()` ([#&#8203;7086]) - sync: add `broadcast::Sender::closed` ([#&#8203;6685], [#&#8203;7090]) - sync: add `broadcast::WeakSender` ([#&#8203;7100]) - sync: add `oneshot::Receiver::is_empty()` ([#&#8203;7153]) - sync: add `oneshot::Receiver::is_terminated()` ([#&#8203;7152]) ##### Fixed - fs: empty reads on `File` should not start a background read ([#&#8203;7139]) - process: calling `start_kill` on exited child should not fail ([#&#8203;7160]) - signal: fix `CTRL_CLOSE`, `CTRL_LOGOFF`, `CTRL_SHUTDOWN` on windows ([#&#8203;7122]) - sync: properly handle panic during mpsc drop ([#&#8203;7094]) ##### Changes - runtime: clean up magic number in registration set ([#&#8203;7112]) - coop: make coop yield using waker defer strategy ([#&#8203;7185]) - macros: make `select!` budget-aware ([#&#8203;7164]) - net: panic when passing a blocking socket to `from_std` ([#&#8203;7166]) - io: clean up buffer casts ([#&#8203;7142]) ##### Changes to unstable APIs - rt: add before and after task poll callbacks ([#&#8203;7120]) - tracing: make the task tracing API unstable public ([#&#8203;6972]) ##### Documented - docs: fix nesting of sections in top-level docs ([#&#8203;7159]) - fs: rename symlink and hardlink parameter names ([#&#8203;7143]) - io: swap reader/writer in simplex doc test ([#&#8203;7176]) - macros: docs about `select!` alternatives ([#&#8203;7110]) - net: rename the argument for `send_to` ([#&#8203;7146]) - process: add example for reading `Child` stdout ([#&#8203;7141]) - process: clarify `Child::kill` behavior ([#&#8203;7162]) - process: fix grammar of the `ChildStdin` struct doc comment ([#&#8203;7192]) - runtime: consistently use `worker_threads` instead of `core_threads` ([#&#8203;7186]) [#&#8203;6685]: https://github.com/tokio-rs/tokio/pull/6685 [#&#8203;6972]: https://github.com/tokio-rs/tokio/pull/6972 [#&#8203;7086]: https://github.com/tokio-rs/tokio/pull/7086 [#&#8203;7090]: https://github.com/tokio-rs/tokio/pull/7090 [#&#8203;7094]: https://github.com/tokio-rs/tokio/pull/7094 [#&#8203;7100]: https://github.com/tokio-rs/tokio/pull/7100 [#&#8203;7110]: https://github.com/tokio-rs/tokio/pull/7110 [#&#8203;7112]: https://github.com/tokio-rs/tokio/pull/7112 [#&#8203;7116]: https://github.com/tokio-rs/tokio/pull/7116 [#&#8203;7120]: https://github.com/tokio-rs/tokio/pull/7120 [#&#8203;7122]: https://github.com/tokio-rs/tokio/pull/7122 [#&#8203;7139]: https://github.com/tokio-rs/tokio/pull/7139 [#&#8203;7141]: https://github.com/tokio-rs/tokio/pull/7141 [#&#8203;7142]: https://github.com/tokio-rs/tokio/pull/7142 [#&#8203;7143]: https://github.com/tokio-rs/tokio/pull/7143 [#&#8203;7146]: https://github.com/tokio-rs/tokio/pull/7146 [#&#8203;7152]: https://github.com/tokio-rs/tokio/pull/7152 [#&#8203;7153]: https://github.com/tokio-rs/tokio/pull/7153 [#&#8203;7159]: https://github.com/tokio-rs/tokio/pull/7159 [#&#8203;7160]: https://github.com/tokio-rs/tokio/pull/7160 [#&#8203;7162]: https://github.com/tokio-rs/tokio/pull/7162 [#&#8203;7164]: https://github.com/tokio-rs/tokio/pull/7164 [#&#8203;7166]: https://github.com/tokio-rs/tokio/pull/7166 [#&#8203;7172]: https://github.com/tokio-rs/tokio/pull/7172 [#&#8203;7176]: https://github.com/tokio-rs/tokio/pull/7176 [#&#8203;7185]: https://github.com/tokio-rs/tokio/pull/7185 [#&#8203;7186]: https://github.com/tokio-rs/tokio/pull/7186 [#&#8203;7192]: https://github.com/tokio-rs/tokio/pull/7192 ### [`v1.43.3`](https://github.com/tokio-rs/tokio/compare/tokio-1.43.2...tokio-1.43.3) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.43.2...tokio-1.43.3) ### [`v1.43.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.43.2): Tokio v1.43.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.43.1...tokio-1.43.2) ### 1.43.2 (August 1st, 2025) ##### Fixed - process: fix panic from spurious pidfd wakeup ([#&#8203;7494]) [#&#8203;7494]: https://github.com/tokio-rs/tokio/pull/7494 ### [`v1.43.1`](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.43.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.43.1) ### [`v1.43.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.43.0): Tokio v1.43.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.42.1...tokio-1.43.0) ### 1.43.0 (Jan 8th, 2025) ##### Added - net: add `UdpSocket::peek` methods ([#&#8203;7068]) - net: add support for Haiku OS ([#&#8203;7042]) - process: add `Command::into_std()` ([#&#8203;7014]) - signal: add `SignalKind::info` on illumos ([#&#8203;6995]) - signal: add support for realtime signals on illumos ([#&#8203;7029]) ##### Fixed - io: don't call `set_len` before initializing vector in `Blocking` ([#&#8203;7054]) - macros: suppress `clippy::needless_return` in `#[tokio::main]` ([#&#8203;6874]) - runtime: fix thread parking on WebAssembly ([#&#8203;7041]) ##### Changes - chore: use unsync loads for `unsync_load` ([#&#8203;7073]) - io: use `Buf::put_bytes` in `Repeat` read impl ([#&#8203;7055]) - task: drop the join waker of a task eagerly ([#&#8203;6986]) ##### Changes to unstable APIs - metrics: improve flexibility of H2Histogram Configuration ([#&#8203;6963]) - taskdump: add accessor methods for backtrace ([#&#8203;6975]) ##### Documented - io: clarify `ReadBuf::uninit` allows initialized buffers as well ([#&#8203;7053]) - net: fix ambiguity in `TcpStream::try_write_vectored` docs ([#&#8203;7067]) - runtime: fix `LocalRuntime` doc links ([#&#8203;7074]) - sync: extend documentation for `watch::Receiver::wait_for` ([#&#8203;7038]) - sync: fix typos in `OnceCell` docs ([#&#8203;7047]) [#&#8203;6874]: https://github.com/tokio-rs/tokio/pull/6874 [#&#8203;6963]: https://github.com/tokio-rs/tokio/pull/6963 [#&#8203;6975]: https://github.com/tokio-rs/tokio/pull/6975 [#&#8203;6986]: https://github.com/tokio-rs/tokio/pull/6986 [#&#8203;6995]: https://github.com/tokio-rs/tokio/pull/6995 [#&#8203;7014]: https://github.com/tokio-rs/tokio/pull/7014 [#&#8203;7029]: https://github.com/tokio-rs/tokio/pull/7029 [#&#8203;7038]: https://github.com/tokio-rs/tokio/pull/7038 [#&#8203;7041]: https://github.com/tokio-rs/tokio/pull/7041 [#&#8203;7042]: https://github.com/tokio-rs/tokio/pull/7042 [#&#8203;7047]: https://github.com/tokio-rs/tokio/pull/7047 [#&#8203;7053]: https://github.com/tokio-rs/tokio/pull/7053 [#&#8203;7054]: https://github.com/tokio-rs/tokio/pull/7054 [#&#8203;7055]: https://github.com/tokio-rs/tokio/pull/7055 [#&#8203;7067]: https://github.com/tokio-rs/tokio/pull/7067 [#&#8203;7068]: https://github.com/tokio-rs/tokio/pull/7068 [#&#8203;7073]: https://github.com/tokio-rs/tokio/pull/7073 [#&#8203;7074]: https://github.com/tokio-rs/tokio/pull/7074 ### [`v1.42.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.42.1): Tokio v1.42.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.42.0...tokio-1.42.1) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://github.com/tokio-rs/tokio/pull/7232 </details> <details> <summary>snapview/tokio-tungstenite (tokio-tungstenite)</summary> ### [`v0.28.0`](https://github.com/snapview/tokio-tungstenite/blob/HEAD/CHANGELOG.md#0280) [Compare Source](https://github.com/snapview/tokio-tungstenite/compare/v0.27.0...v0.28.0) - Update `tungstenite` to `0.18.0`. See [`tungstenite` release](https://github.com/snapview/tungstenite-rs/blob/master/CHANGELOG.md). ### [`v0.27.0`](https://github.com/snapview/tokio-tungstenite/blob/HEAD/CHANGELOG.md#0270) [Compare Source](https://github.com/snapview/tokio-tungstenite/compare/v0.26.2...v0.27.0) - See [performance updates in `tungstenite-rs`](https://github.com/snapview/tungstenite-rs/blob/master/CHANGELOG.md#0270). ### [`v0.26.2`](https://github.com/snapview/tokio-tungstenite/blob/HEAD/CHANGELOG.md#0262) [Compare Source](https://github.com/snapview/tokio-tungstenite/compare/v0.26.1...v0.26.2) - Update `tungstenite`, see [changes here](https://github.com/snapview/tungstenite-rs/blob/master/CHANGELOG.md#0262). </details> <details> <summary>tokio-rs/tracing (tracing-subscriber)</summary> ### [`v0.3.21`](https://github.com/tokio-rs/tracing/releases/tag/tracing-subscriber-0.3.21): tracing-subscriber 0.3.21 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.20...tracing-subscriber-0.3.21) ##### Fixed - Change registry exit to decrement local span ref only ([#&#8203;3331]) - Make Layered propagate `on_register_dispatch` ([#&#8203;3379]) ##### Changed - `tracing`: updated to 0.1.42 ([#&#8203;3418]) ##### Performance - Remove `clone_span` on enter ([#&#8203;3289]) ##### Documented - Fix a few small things in the format module ([#&#8203;3339]) - Fix extra closing brace in layer docs ([#&#8203;3350]) - Fix link in `FmtSpan` docs ([#&#8203;3411]) [#&#8203;3289]: https://github.com/tokio-rs/tracing/pull/#&#8203;3289 [#&#8203;3331]: https://github.com/tokio-rs/tracing/pull/#&#8203;3331 [#&#8203;3339]: https://github.com/tokio-rs/tracing/pull/#&#8203;3339 [#&#8203;3350]: https://github.com/tokio-rs/tracing/pull/#&#8203;3350 [#&#8203;3379]: https://github.com/tokio-rs/tracing/pull/#&#8203;3379 [#&#8203;3411]: https://github.com/tokio-rs/tracing/pull/#&#8203;3411 [#&#8203;3418]: https://github.com/tokio-rs/tracing/pull/#&#8203;3418 ### [`v0.3.20`](https://github.com/tokio-rs/tracing/releases/tag/tracing-subscriber-0.3.20): tracing-subscriber 0.3.20 [Compare Source](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.19...tracing-subscriber-0.3.20) **Security Fix**: ANSI Escape Sequence Injection (CVE-TBD) #### Impact Previous versions of tracing-subscriber were vulnerable to ANSI escape sequence injection attacks. Untrusted user input containing ANSI escape sequences could be injected into terminal output when logged, potentially allowing attackers to: - Manipulate terminal title bars - Clear screens or modify terminal display - Potentially mislead users through terminal manipulation In isolation, impact is minimal, however security issues have been found in terminal emulators that enabled an attacker to use ANSI escape sequences via logs to exploit vulnerabilities in the terminal emulator. #### Solution Version 0.3.20 fixes this vulnerability by escaping ANSI control characters in when writing events to destinations that may be printed to the terminal. #### Affected Versions All versions of tracing-subscriber prior to 0.3.20 are affected by this vulnerability. #### Recommendations Immediate Action Required: We recommend upgrading to tracing-subscriber 0.3.20 immediately, especially if your application: - Logs user-provided input (form data, HTTP headers, query parameters, etc.) - Runs in environments where terminal output is displayed to users #### Migration This is a patch release with no breaking API changes. Simply update your Cargo.toml: ```toml [dependencies] tracing-subscriber = "0.3.20" ``` #### Acknowledgments We would like to thank [zefr0x](http://github.com/zefr0x) who responsibly reported the issue at `security@tokio.rs`. If you believe you have found a security vulnerability in any tokio-rs project, please email us at `security@tokio.rs`. </details> <details> <summary>servo/rust-url (url)</summary> ### [`v2.5.7`](https://github.com/servo/rust-url/releases/tag/v2.5.7) #### What's Changed ##### v.2.5.6 - Bump versions by [@&#8203;valenting](https://github.com/valenting) in [#&#8203;1062](https://github.com/servo/rust-url/pull/1062) - version bump to 2.5.6 by [@&#8203;edgul](https://github.com/edgul) in [#&#8203;1065](https://github.com/servo/rust-url/pull/1065) - Use no-std instead of no\_std in Cargo.toml by [@&#8203;valenting](https://github.com/valenting) in [#&#8203;1064](https://github.com/servo/rust-url/pull/1064) - fix: add Serde std feature if needed by [@&#8203;reneca](https://github.com/reneca) in [#&#8203;1068](https://github.com/servo/rust-url/pull/1068) ##### v.2.5.7 - make serde std feature use optional syntax by [@&#8203;klensy](https://github.com/klensy) in [#&#8203;1071](https://github.com/servo/rust-url/pull/1071) #### New Contributors - [@&#8203;reneca](https://github.com/reneca) made their first contribution in [#&#8203;1068](https://github.com/servo/rust-url/pull/1068) **Full Changelog**: <https://github.com/servo/rust-url/compare/v2.5.5...v2.5.7> ### [`v2.5.5`](https://github.com/servo/rust-url/releases/tag/v2.5.5) [Compare Source](https://github.com/servo/rust-url/compare/v2.5.4...v2.5.5) #### What's Changed - ci: downgrade crates when building for Rust 1.67.0 by [@&#8203;mxinden](https://github.com/mxinden) in [#&#8203;1003](https://github.com/servo/rust-url/pull/1003) - ci: run unit tests with sanitizers by [@&#8203;mxinden](https://github.com/mxinden) in [#&#8203;1002](https://github.com/servo/rust-url/pull/1002) - fix small typo by [@&#8203;hkBst](https://github.com/hkBst) in [#&#8203;1011](https://github.com/servo/rust-url/pull/1011) - chore: fix clippy errors on main by [@&#8203;dsherret](https://github.com/dsherret) in [#&#8203;1019](https://github.com/servo/rust-url/pull/1019) - perf: remove heap allocation in parse\_query by [@&#8203;dsherret](https://github.com/dsherret) in [#&#8203;1020](https://github.com/servo/rust-url/pull/1020) - perf: slightly improve parsing a port by [@&#8203;dsherret](https://github.com/dsherret) in [#&#8203;1022](https://github.com/servo/rust-url/pull/1022) - perf: improve to\_file\_path() by [@&#8203;dsherret](https://github.com/dsherret) in [#&#8203;1018](https://github.com/servo/rust-url/pull/1018) - perf: make parse\_scheme slightly faster by [@&#8203;dsherret](https://github.com/dsherret) in [#&#8203;1025](https://github.com/servo/rust-url/pull/1025) - update LICENSE-MIT by [@&#8203;wmjae](https://github.com/wmjae) in [#&#8203;1029](https://github.com/servo/rust-url/pull/1029) - perf: url encode path segments in longer string slices by [@&#8203;dsherret](https://github.com/dsherret) in [#&#8203;1026](https://github.com/servo/rust-url/pull/1026) - Disable the default features on serde by [@&#8203;rilipco](https://github.com/rilipco) in [#&#8203;1033](https://github.com/servo/rust-url/pull/1033) - docs: base url relative join by [@&#8203;tisonkun](https://github.com/tisonkun) in [#&#8203;1013](https://github.com/servo/rust-url/pull/1013) - perf: remove heap allocation in parse\_host by [@&#8203;dsherret](https://github.com/dsherret) in [#&#8203;1021](https://github.com/servo/rust-url/pull/1021) - Update tests to Unicode 16.0 by [@&#8203;hsivonen](https://github.com/hsivonen) in [#&#8203;1045](https://github.com/servo/rust-url/pull/1045) - Add some some basic functions to `Mime` by [@&#8203;mrobinson](https://github.com/mrobinson) in [#&#8203;1047](https://github.com/servo/rust-url/pull/1047) - ran `cargo clippy --fix -- -Wclippy::use_self` by [@&#8203;mrobinson](https://github.com/mrobinson) in [#&#8203;1048](https://github.com/servo/rust-url/pull/1048) - Fix MSRV and clippy CI by [@&#8203;Manishearth](https://github.com/Manishearth) in [#&#8203;1058](https://github.com/servo/rust-url/pull/1058) - Update `Url::domain` docs to show that it includes subdomain by [@&#8203;supercoolspy](https://github.com/supercoolspy) in [#&#8203;1057](https://github.com/servo/rust-url/pull/1057) - set\_hostname should error when encountering colon ':' by [@&#8203;edgul](https://github.com/edgul) in [#&#8203;1060](https://github.com/servo/rust-url/pull/1060) - version bump to 2.5.5 by [@&#8203;edgul](https://github.com/edgul) in [#&#8203;1061](https://github.com/servo/rust-url/pull/1061) #### New Contributors - [@&#8203;mxinden](https://github.com/mxinden) made their first contribution in [#&#8203;1003](https://github.com/servo/rust-url/pull/1003) - [@&#8203;hkBst](https://github.com/hkBst) made their first contribution in [#&#8203;1011](https://github.com/servo/rust-url/pull/1011) - [@&#8203;wmjae](https://github.com/wmjae) made their first contribution in [#&#8203;1029](https://github.com/servo/rust-url/pull/1029) - [@&#8203;rilipco](https://github.com/rilipco) made their first contribution in [#&#8203;1033](https://github.com/servo/rust-url/pull/1033) - [@&#8203;tisonkun](https://github.com/tisonkun) made their first contribution in [#&#8203;1013](https://github.com/servo/rust-url/pull/1013) - [@&#8203;supercoolspy](https://github.com/supercoolspy) made their first contribution in [#&#8203;1057](https://github.com/servo/rust-url/pull/1057) **Full Changelog**: <https://github.com/servo/rust-url/compare/v2.5.4...v2.5.5> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xNC4yIiwidXBkYXRlZEluVmVyIjoiNDIuMjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Update all non-major dependencies
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/container_image Pipeline was successful
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/push/container_image unknown status
1a8228ffa3
Author
Collaborator

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package image@0.25.5 --precise 0.25.9
    Updating crates.io index
error: failed to select a version for `thiserror`.
    ... required by package `av-scenechange v0.14.1`
    ... which satisfies dependency `av-scenechange = "^0.14.1"` of package `rav1e v0.8.1`
    ... which satisfies dependency `rav1e = "^0.8"` of package `ravif v0.12.0`
    ... which satisfies dependency `ravif = "^0.12"` of package `image v0.25.9`
    ... which satisfies dependency `image = "^0.25.0"` of package `pixeldike v0.1.0 (/tmp/renovate/repos/gitea/lilly/pixeldike)`
versions that meet the requirements `^2.0.12` are: 2.0.17, 2.0.16, 2.0.15, 2.0.14, 2.0.13, 2.0.12

all possible versions conflict with previously selected packages.

  previously selected package `thiserror v2.0.9`
    ... which satisfies dependency `thiserror = "^2.0.9"` (locked to 2.0.9) of package `pixeldike v0.1.0 (/tmp/renovate/repos/gitea/lilly/pixeldike)`

failed to select a version for `thiserror` which could resolve this conflict

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: Cargo.lock ``` Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package image@0.25.5 --precise 0.25.9 Updating crates.io index error: failed to select a version for `thiserror`. ... required by package `av-scenechange v0.14.1` ... which satisfies dependency `av-scenechange = "^0.14.1"` of package `rav1e v0.8.1` ... which satisfies dependency `rav1e = "^0.8"` of package `ravif v0.12.0` ... which satisfies dependency `ravif = "^0.12"` of package `image v0.25.9` ... which satisfies dependency `image = "^0.25.0"` of package `pixeldike v0.1.0 (/tmp/renovate/repos/gitea/lilly/pixeldike)` versions that meet the requirements `^2.0.12` are: 2.0.17, 2.0.16, 2.0.15, 2.0.14, 2.0.13, 2.0.12 all possible versions conflict with previously selected packages. previously selected package `thiserror v2.0.9` ... which satisfies dependency `thiserror = "^2.0.9"` (locked to 2.0.9) of package `pixeldike v0.1.0 (/tmp/renovate/repos/gitea/lilly/pixeldike)` failed to select a version for `thiserror` which could resolve this conflict ```
Commenting is not possible because the repository is archived.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lilly/pixeldike#11
No description provided.