Update all dependencies #8

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

This PR contains the following updates:

Package Type Update Change
env_logger dependencies minor 0.9.1 -> 0.11.0
log dependencies patch 0.4.17 -> 0.4.27
tokio (source) dependencies minor 1.21.2 -> 1.44.2
transmission-rpc dependencies minor 0.3.7 -> 0.5.0

Release Notes

rust-cli/env_logger (env_logger)

v0.11.8

Compare Source

Compatibility
  • (kv) Deprecate the unstable-kv feature which may be removed in a future patch release
Features
  • (kv) Stabilize key-value support behind the kv feature
  • Expose ConfigurableFormat to build custom [Builder::format]s that leverage this

v0.11.7

Compare Source

Internal
  • Replaced humantime with jiff

v0.11.6

Compare Source

Features
  • Opt-in file and line rendering

v0.11.5

Compare Source

v0.11.4

Compare Source

v0.11.3

Compare Source

Features
  • Experimental support for key-value logging behind unstable-kv

v0.11.2

Compare Source

v0.11.1

Compare Source

Fixes
  • Allow styling with Target::Pipe

v0.11.0

Compare Source

Migration Guide

env_logger::fmt::Style:
The bespoke styling API, behind color, was removed, in favor of accepting any
ANSI styled string and adapting it to the target stream's capabilities.

Possible styling libraries include:

  • anstyle is a minimal, runtime string styling API and is re-exported as env_logger::fmt::style
  • owo-colors is a feature rich runtime string styling API
  • color-print for feature-rich compile-time styling API

custom_format.rs
uses anstyle via
Formatter::default_level_style

Breaking Change
  • Removed bespoke styling API
    • env_logger::fmt::Formatter::style
    • env_logger::fmt::Formatter::default_styled_level
    • env_logger::fmt::Style
    • env_logger::fmt::Color
    • env_logger::fmt::StyledValue
  • Removed env_logger::filter in favor of env_filter
Compatibility

MSRV changed to 1.71

Features
  • Automatically adapt ANSI escape codes in logged messages to the current terminal's capabilities
  • Add support for NO_COLOR and CLICOLOR_FORCE, see https://bixense.com/clicolors/
Fixes
  • Print colors when is_test(true)

v0.10.2

Compare Source

Performance
  • Avoid extra UTF-8 validation performed in some cases
Fixes
  • Ensure custom pipes/stdout get flushed
  • Don't panic on broken pipes when color is disabled

v0.10.1

Compare Source

Performance
  • Avoid hashing directives and accessing RNG on startup
Documentation
  • Tweak RUST_LOG documentation

v0.10.0

Compare Source

MSRV changed to 1.60 to hide optional dependencies

Fixes
  • Resolved soundness issue by switching from atty to is-terminal
Breaking Changes

To open room for changing dependencies:

  • Renamed termcolor feature to color
  • Renamed atty feature to auto-color

v0.9.3

Compare Source

  • Fix a regression from v0.9.2 where env_logger would fail to compile with the termcolor feature turned off.

v0.9.2

Compare Source

  • Fix and un-deprecate Target::Pipe, which was basically not working at all before and deprecated in 0.9.1.
rust-lang/log (log)

v0.4.27

Compare Source

What's Changed

Full Changelog: https://github.com/rust-lang/log/compare/0.4.26...0.4.27

v0.4.26

Compare Source

What's Changed

Full Changelog: https://github.com/rust-lang/log/compare/0.4.25...0.4.26

v0.4.25

Compare Source

What's Changed

Full Changelog: https://github.com/rust-lang/log/compare/0.4.24...0.4.25

v0.4.24

Compare Source

What's Changed

Full Changelog: https://github.com/rust-lang/log/compare/0.4.23...0.4.24

v0.4.23

Compare Source

What's Changed
New Contributors

Full Changelog: https://github.com/rust-lang/log/compare/0.4.22...0.4.23

v0.4.22

Compare Source

What's Changed
New Contributors

Full Changelog: https://github.com/rust-lang/log/compare/0.4.21...0.4.22

v0.4.21

Compare Source

What's Changed
New Contributors

v0.4.20

Compare Source

v0.4.19

Compare Source

v0.4.18

Compare Source

tokio-rs/tokio (tokio)

v1.44.2: Tokio v1.44.2

Compare Source

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

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

v1.44.1: Tokio v1.44.1

Compare Source

1.44.1 (March 13th, 2025)

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

v1.44.0: Tokio v1.44.0

Compare Source

1.44.0 (March 7th, 2025)

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

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

v1.43.1

Compare Source

v1.43.0: Tokio v1.43.0

Compare Source

1.43.0 (Jan 8th, 2025)

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

v1.42.1: Tokio v1.42.1

Compare Source

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

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

v1.42.0: Tokio v1.42.0

Compare Source

1.42.0 (Dec 3rd, 2024)

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

v1.41.1: Tokio v1.41.1

Compare Source

1.41.1 (Nov 7th, 2024)

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

v1.41.0: Tokio v1.41.0

Compare Source

1.41.0 (Oct 22th, 2024)

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

v1.40.0: Tokio v1.40.0

Compare Source

1.40.0 (August 30th, 2024)

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

v1.39.3: Tokio v1.39.3

Compare Source

1.39.3 (August 17th, 2024)

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

v1.39.2: Tokio v1.39.2

Compare Source

1.39.2 (July 27th, 2024)

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

v1.39.1: Tokio v1.39.1

Compare Source

1.39.1 (July 23rd, 2024)

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

v1.39.0: Tokio v1.39.0

Compare Source

1.39.0 (July 23rd, 2024)

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

v1.38.2: Tokio v1.38.2

Compare Source

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

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

v1.38.1: Tokio v1.38.1

Compare Source

1.38.1 (July 16th, 2024)

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

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

v1.38.0: Tokio v1.38.0

Compare Source

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

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

v1.37.0: Tokio v1.37.0

Compare Source

1.37.0 (March 28th, 2024)

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

v1.36.0: Tokio v1.36.0

Compare Source

1.36.0 (February 2nd, 2024)

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

v1.35.1: Tokio v1.35.1

Compare Source

1.35.1 (December 19, 2023)

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

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

v1.35.0: Tokio v1.35.0

Compare Source

1.35.0 (December 8th, 2023)

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

v1.34.0: Tokio v1.34.0

Compare Source

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

v1.33.0: Tokio v1.33.0

Compare Source

1.33.0 (October 9, 2023)

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

v1.32.1: Tokio v1.32.1

Compare Source

1.32.1 (December 19, 2023)

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

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

v1.32.0: Tokio v1.32.0

Compare Source

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

v1.31.0: Tokio v1.31.0

Compare Source

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

v1.30.0: Tokio v1.30.0

Compare Source

1.30.0 (August 9, 2023)

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

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

v1.29.1: Tokio v1.29.1

Compare Source

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

v1.29.0: Tokio v1.29.0

Compare Source

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

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

v1.28.2: Tokio v1.28.2

Compare Source

1.28.2 (May 28, 2023)

Forward ports 1.18.6 changes.

Fixed
  • deps: disable default features for mio (#​5728)

v1.28.1: Tokio v1.28.1

Compare Source

1.28.1 (May 10th, 2023)

This release fixes a mistake in the build script that makes AsFd implementations unavailable on Rust 1.63. (#​5677)

v1.28.0: Tokio v1.28.0

Compare Source

1.28.0 (April 25th, 2023)

Added
  • io: add AsyncFd::async_io (#​5542)
  • io: impl BufMut for ReadBuf (#​5590)
  • net: add recv_buf for UdpSocket and UnixDatagram (#​5583)
  • sync: add OwnedSemaphorePermit::semaphore (#​5618)
  • sync: add same_channel to broadcast channel (#​5607)
  • sync: add watch::Receiver::wait_for (#​5611)
  • task: add JoinSet::spawn_blocking and JoinSet::spawn_blocking_on (#​5612)
Changed
  • deps: update windows-sys to 0.48 (#​5591)
  • io: make read_to_end not grow unnecessarily (#​5610)
  • macros: make entrypoints more efficient (#​5621)
  • sync: improve Debug impl for RwLock (#​5647)
  • sync: reduce contention in Notify (#​5503)
Fixed
  • net: support get_peer_cred on AIX (#​5065)
  • sync: avoid deadlocks in broadcast with custom wakers (#​5578)
Documented
  • sync: fix typo in Semaphore::MAX_PERMITS (#​5645)
  • sync: fix typo in tokio::sync::watch::Sender docs (#​5587)

v1.27.0: Tokio v1.27.0

Compare Source

1.27.0 (March 27th, 2023)

This release bumps the MSRV of Tokio to 1.56. (#​5559)

Added
  • io: add async_io helper method to sockets (#​5512)
  • io: add implementations of AsFd/AsHandle/AsSocket (#​5514, #​5540)
  • net: add UdpSocket::peek_sender() (#​5520)
  • sync: add RwLockWriteGuard::{downgrade_map, try_downgrade_map} (#​5527)
  • task: add JoinHandle::abort_handle (#​5543)
Changed
  • io: use memchr from libc (#​5558)
  • macros: accept path as crate rename in #[tokio::main] (#​5557)
  • macros: update to syn 2.0.0 (#​5572)
  • time: don't register for a wakeup when Interval returns Ready (#​5553)
Fixed
  • fs: fuse std iterator in ReadDir (#​5555)
  • tracing: fix spawn_blocking location fields (#​5573)
  • time: clean up redundant check in Wheel::poll() (#​5574)
Documented
  • macros: define cancellation safety (#​5525)
  • io: add details to docs of tokio::io::copy[_buf] (#​5575)
  • io: refer to ReaderStream and StreamReader in module docs (#​5576)

v1.26.0: Tokio v1.26.0

Compare Source

Fixed
Added
Changed
Internal Changes
Unstable
Documented

v1.25.3: Tokio v1.25.3

Compare Source

1.25.3 (December 17th, 2023)

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

v1.25.2: Tokio v1.25.2

Compare Source

1.25.2 (September 22, 2023)

Forward ports 1.20.6 changes.

Changed

v1.25.1: Tokio v1.25.1

Compare Source

1.25.1 (May 28, 2023)

Forward ports 1.18.6 changes.

Fixed
  • deps: disable default features for mio (#​5728)

v1.25.0: Tokio v1.25.0

1.25.0 (January 28, 2023)

Fixed
  • rt: fix runtime metrics reporting (#​5330)
Added
  • sync: add broadcast::Sender::len (#​5343)
Changed
  • fs: increase maximum read buffer size to 2MiB (#​5397)

v1.24.1: Tokio v1.24.1

Compare Source

This release fixes a compilation failure on targets without AtomicU64 when using rustc older than 1.63. (#​5356)

v1.24.0: Tokio v1.24.0

Compare Source

The highlight of this release is the reduction of lock contention for all I/O operations (#​5300). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications.

Fixed
  • rt: improve native AtomicU64 support detection (#​5284)
Added
  • rt: add configuration option for max number of I/O events polled from the OS
    per tick (#​5186)
  • rt: add an environment variable for configuring the default number of worker
    threads per runtime instance (#​4250)
Changed
  • sync: reduce MPSC channel stack usage (#​5294)
  • io: reduce lock contention in I/O operations (#​5300)
  • fs: speed up read_dir() by chunking operations (#​5309)
  • rt: use internal ThreadId implementation (#​5329)
  • test: don't auto-advance time when a spawn_blocking task is running (#​5115)

v1.23.1: Tokio v1.23.1

Compare Source

This release forward ports changes from 1.18.4.

Fixed
  • net: fix Windows named pipe server builder to maintain option when toggling
    pipe mode (#​5336).

v1.23.0: Tokio v1.23.0

Compare Source

Fixed
  • net: fix Windows named pipe connect (#​5208)
  • io: support vectored writes for ChildStdin (#​5216)
  • io: fix async fn ready() false positive for OS-specific events (#​5231)
Changed
  • runtime: yield_now defers task until after driver poll (#​5223)
  • runtime: reduce amount of codegen needed per spawned task (#​5213)
  • windows: replace winapi dependency with windows-sys (#​5204)

v1.22.0: Tokio v1.22.0

Compare Source

Added
  • runtime: add Handle::runtime_flavor (#​5138)
  • sync: add Mutex::blocking_lock_owned (#​5130)
  • sync: add Semaphore::MAX_PERMITS (#​5144)
  • sync: add merge() to semaphore permits (#​4948)
  • sync: add mpsc::WeakUnboundedSender (#​5189)
Added (unstable)
  • process: add Command::process_group (#​5114)
  • runtime: export metrics about the blocking thread pool (#​5161)
  • task: add task::id() and task::try_id() (#​5171)
Fixed
  • macros: don't take ownership of futures in macros (#​5087)
  • runtime: fix Stacked Borrows violation in LocalOwnedTasks (#​5099)
  • runtime: mitigate ABA with 32-bit queue indices when possible (#​5042)
  • task: wake local tasks to the local queue when woken by the same thread (#​5095)
  • time: panic in release mode when mark_pending called illegally (#​5093)
  • runtime: fix typo in expect message (#​5169)
  • runtime: fix unsync_load on atomic types (#​5175)
  • task: elaborate safety comments in task deallocation (#​5172)
  • runtime: fix LocalSet drop in thread local (#​5179)
  • net: remove libc type leakage in a public API (#​5191)
  • runtime: update the alignment of CachePadded (#​5106)
Changed
  • io: make tokio::io::copy continue filling the buffer when writer stalls (#​5066)
  • runtime: remove coop::budget from LocalSet::run_until (#​5155)
  • sync: make Notify panic safe (#​5154)
Documented
  • io: fix doc for write_i8 to use signed integers (#​5040)
  • net: fix doc typos for TCP and UDP set_tos methods (#​5073)
  • net: fix function name in UdpSocket::recv documentation (#​5150)
  • sync: typo in TryLockError for RwLock::try_write (#​5160)
  • task: document that spawned tasks execute immediately (#​5117)
  • time: document return type of timeout (#​5118)
  • time: document that timeout checks only before poll (#​5126)
  • sync: specify return type of oneshot::Receiver in docs (#​5198)
Internal changes
  • runtime: use const Mutex::new for globals (#​5061)
  • runtime: remove Option around mio::Events in io driver (#​5078)
  • runtime: remove a conditional compilation clause (#​5104)
  • runtime: remove a reference to internal time handle (#​5107)
  • runtime: misc time driver cleanup (#​5120)
  • runtime: move signal driver to runtime module (#​5121)
  • runtime: signal driver now uses I/O driver directly (#​5125)
  • runtime: start decoupling I/O driver and I/O handle (#​5127)
  • runtime: switch io::handle refs with scheduler:Handle (#​5128)
  • runtime: remove Arc from I/O driver (#​5134)
  • runtime: use signal driver handle via scheduler::Handle (#​5135)
  • runtime: move internal clock fns out of context (#​5139)
  • runtime: remove runtime::context module (#​5140)
  • runtime: keep driver cfgs in driver.rs (#​5141)
  • runtime: add runtime::context to unify thread-locals (#​5143)
  • runtime: rename some confusing internal variables/fns (#​5151)
  • runtime: move coop mod into runtime (#​5152)
  • runtime: move budget state to context thread-local (#​5157)
  • runtime: move park logic into runtime module (#​5158)
  • runtime: move Runtime into its own file (#​5159)
  • runtime: unify entering a runtime with Handle::enter (#​5163)
  • runtime: remove handle reference from each scheduler (#​5166)
  • runtime: move enter into context (#​5167)
  • runtime: combine context and entered thread-locals (#​5168)
  • runtime: fix accidental unsetting of current handle (#​5178)
  • runtime: move CoreStage methods to Core (#​5182)
  • sync: name mpsc semaphore types (#​5146)
j0rsa/transmission-rpc (transmission-rpc)

v0.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/j0rsa/transmission-rpc/compare/v0.4.3...v0.5.0

v0.4.3

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/j0rsa/transmission-rpc/compare/v0.4.2...v0.4.3

v0.4.2

What's Changed

New Contributors

Full Changelog: https://github.com/j0rsa/transmission-rpc/compare/v1.4.1...v0.4.2

v0.4.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/j0rsa/transmission-rpc/compare/v0.3.7...v0.4.0


Configuration

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

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

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


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

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [env_logger](https://github.com/rust-cli/env_logger) | dependencies | minor | `0.9.1` -> `0.11.0` | | [log](https://github.com/rust-lang/log) | dependencies | patch | `0.4.17` -> `0.4.27` | | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.21.2` -> `1.44.2` | | [transmission-rpc](https://github.com/j0rsa/transmission-rpc) | dependencies | minor | `0.3.7` -> `0.5.0` | --- ### Release Notes <details> <summary>rust-cli/env_logger (env_logger)</summary> ### [`v0.11.8`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0118---2025-04-01) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.11.7...v0.11.8) ##### Compatibility - *(kv)* Deprecate the `unstable-kv` feature which may be removed in a future patch release ##### Features - *(kv)* Stabilize key-value support behind the `kv` feature - Expose `ConfigurableFormat` to build custom \[`Builder::format`]s that leverage this ### [`v0.11.7`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0117---2025-03-10) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.11.6...v0.11.7) ##### Internal - Replaced `humantime` with `jiff` ### [`v0.11.6`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0116---2024-12-20) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.11.5...v0.11.6) ##### Features - Opt-in file and line rendering ### [`v0.11.5`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0115---2024-07-25) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.11.4...v0.11.5) ### [`v0.11.4`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0114---2024-07-23) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.11.3...v0.11.4) ### [`v0.11.3`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0113---2024-03-05) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.11.2...v0.11.3) ##### Features - Experimental support for key-value logging behind `unstable-kv` ### [`v0.11.2`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0112---2024-02-13) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.11.1...v0.11.2) ### [`v0.11.1`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0111---2024-01-27) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.11.0...v0.11.1) ##### Fixes - Allow styling with `Target::Pipe` ### [`v0.11.0`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0110---2024-01-19) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.10.2...v0.11.0) ##### Migration Guide **env_logger::fmt::Style:** The bespoke styling API, behind `color`, was removed, in favor of accepting any ANSI styled string and adapting it to the target stream's capabilities. Possible styling libraries include: - [anstyle](https://docs.rs/anstyle) is a minimal, runtime string styling API and is re-exported as `env_logger::fmt::style` - [owo-colors](https://docs.rs/owo-colors) is a feature rich runtime string styling API - [color-print](https://docs.rs/color-print) for feature-rich compile-time styling API [custom_format.rs](https://docs.rs/env_logger/latest/src/custom_format/custom_format.rs.html) uses `anstyle` via [`Formatter::default_level_style`](https://docs.rs/env_logger/latest/env_logger/fmt/struct.Formatter.html#method.default_level_style) ##### Breaking Change - Removed bespoke styling API - `env_logger::fmt::Formatter::style` - `env_logger::fmt::Formatter::default_styled_level` - `env_logger::fmt::Style` - `env_logger::fmt::Color` - `env_logger::fmt::StyledValue` - Removed `env_logger::filter` in favor of `env_filter` ##### Compatibility MSRV changed to 1.71 ##### Features - Automatically adapt ANSI escape codes in logged messages to the current terminal's capabilities - Add support for `NO_COLOR` and `CLICOLOR_FORCE`, see https://bixense.com/clicolors/ ##### Fixes - Print colors when `is_test(true)` ### [`v0.10.2`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0102---2024-01-18) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.10.1...v0.10.2) ##### Performance - Avoid extra UTF-8 validation performed in some cases ##### Fixes - Ensure custom pipes/stdout get flushed - Don't panic on broken pipes when `color` is disabled ### [`v0.10.1`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0101---2023-11-10) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.10.0...v0.10.1) ##### Performance - Avoid hashing directives and accessing RNG on startup ##### Documentation - Tweak `RUST_LOG` documentation ### [`v0.10.0`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0100---2022-11-24) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.9.3...v0.10.0) MSRV changed to 1.60 to hide optional dependencies ##### Fixes - Resolved soundness issue by switching from `atty` to `is-terminal` ##### Breaking Changes To open room for changing dependencies: - Renamed `termcolor` feature to `color` - Renamed `atty` feature to `auto-color` ### [`v0.9.3`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#093---2022-11-07) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.9.2...v0.9.3) - Fix a regression from v0.9.2 where env_logger would fail to compile with the termcolor feature turned off. ### [`v0.9.2`](https://github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#092---2022-11-07) [Compare Source](https://github.com/rust-cli/env_logger/compare/v0.9.1...v0.9.2) - Fix and un-deprecate Target::Pipe, which was basically not working at all before and deprecated in 0.9.1. </details> <details> <summary>rust-lang/log (log)</summary> ### [`v0.4.27`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0427---2025-03-24) [Compare Source](https://github.com/rust-lang/log/compare/0.4.26...0.4.27) ##### What's Changed - A few minor lint fixes by [@&#8203;nyurik](https://github.com/nyurik) in https://github.com/rust-lang/log/pull/671 - Enable clippy support for format-like macros by [@&#8203;nyurik](https://github.com/nyurik) in https://github.com/rust-lang/log/pull/665 - Add an optional logger param by [@&#8203;tisonkun](https://github.com/tisonkun) in https://github.com/rust-lang/log/pull/664 - Pass global logger by value, supplied logger by ref by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/673 **Full Changelog**: https://github.com/rust-lang/log/compare/0.4.26...0.4.27 ### [`v0.4.26`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0426---2025-02-18) [Compare Source](https://github.com/rust-lang/log/compare/0.4.25...0.4.26) ##### What's Changed - Derive `Clone` for `kv::Value` by [@&#8203;SpriteOvO](https://github.com/SpriteOvO) in https://github.com/rust-lang/log/pull/668 - Add `spdlog-rs` link to crate doc by [@&#8203;SpriteOvO](https://github.com/SpriteOvO) in https://github.com/rust-lang/log/pull/669 **Full Changelog**: https://github.com/rust-lang/log/compare/0.4.25...0.4.26 ### [`v0.4.25`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0425---2025-01-14) [Compare Source](https://github.com/rust-lang/log/compare/0.4.24...0.4.25) ##### What's Changed - Revert loosening of kv cargo features by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/662 **Full Changelog**: https://github.com/rust-lang/log/compare/0.4.24...0.4.25 ### [`v0.4.24`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0424---2025-01-11) [Compare Source](https://github.com/rust-lang/log/compare/0.4.23...0.4.24) ##### What's Changed - Fix up kv feature activation by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/659 **Full Changelog**: https://github.com/rust-lang/log/compare/0.4.23...0.4.24 ### [`v0.4.23`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0423---2025-01-10-yanked) [Compare Source](https://github.com/rust-lang/log/compare/0.4.22...0.4.23) ##### What's Changed - Fix some typos by [@&#8203;Kleinmarb](https://github.com/Kleinmarb) in https://github.com/rust-lang/log/pull/637 - Add logforth to implementation by [@&#8203;tisonkun](https://github.com/tisonkun) in https://github.com/rust-lang/log/pull/638 - Add `spdlog-rs` link to README by [@&#8203;SpriteOvO](https://github.com/SpriteOvO) in https://github.com/rust-lang/log/pull/639 - Add correct lifetime to kv::Value::to_borrowed_str by [@&#8203;stevenroose](https://github.com/stevenroose) in https://github.com/rust-lang/log/pull/643 - docs: Add logforth as an impl by [@&#8203;tisonkun](https://github.com/tisonkun) in https://github.com/rust-lang/log/pull/642 - Add clang_log implementation by [@&#8203;DDAN-17](https://github.com/DDAN-17) in https://github.com/rust-lang/log/pull/646 - Bind lifetimes of \&str returned from Key by the lifetime of 'k rather than the lifetime of the Key struct by [@&#8203;gbbosak](https://github.com/gbbosak) in https://github.com/rust-lang/log/pull/648 - Fix up key lifetimes and add method to try get a borrowed key by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/653 - Add Ftail implementation by [@&#8203;tjardoo](https://github.com/tjardoo) in https://github.com/rust-lang/log/pull/652 ##### New Contributors - [@&#8203;Kleinmarb](https://github.com/Kleinmarb) made their first contribution in https://github.com/rust-lang/log/pull/637 - [@&#8203;tisonkun](https://github.com/tisonkun) made their first contribution in https://github.com/rust-lang/log/pull/638 - [@&#8203;SpriteOvO](https://github.com/SpriteOvO) made their first contribution in https://github.com/rust-lang/log/pull/639 - [@&#8203;stevenroose](https://github.com/stevenroose) made their first contribution in https://github.com/rust-lang/log/pull/643 - [@&#8203;DDAN-17](https://github.com/DDAN-17) made their first contribution in https://github.com/rust-lang/log/pull/646 - [@&#8203;gbbosak](https://github.com/gbbosak) made their first contribution in https://github.com/rust-lang/log/pull/648 - [@&#8203;tjardoo](https://github.com/tjardoo) made their first contribution in https://github.com/rust-lang/log/pull/652 **Full Changelog**: https://github.com/rust-lang/log/compare/0.4.22...0.4.23 ### [`v0.4.22`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0422---2024-06-27) [Compare Source](https://github.com/rust-lang/log/compare/0.4.21...0.4.22) ##### What's Changed - Add some clarifications to the library docs by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/620 - Add links to `colog` crate by [@&#8203;chrivers](https://github.com/chrivers) in https://github.com/rust-lang/log/pull/621 - adding line_number test + updating some testing infrastructure by [@&#8203;DIvkov575](https://github.com/DIvkov575) in https://github.com/rust-lang/log/pull/619 - Clarify the actual set of functions that can race in \_racy variants by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/623 - Replace deprecated std::sync::atomic::spin_loop_hint() by [@&#8203;Catamantaloedis](https://github.com/Catamantaloedis) in https://github.com/rust-lang/log/pull/625 - Check usage of max_level features by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/627 - Remove unneeded import by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/628 - Loosen orderings for logger initialization in https://github.com/rust-lang/log/pull/632. Originally by [@&#8203;pwoolcoc](https://github.com/pwoolcoc) in https://github.com/rust-lang/log/pull/599 - Use Location::caller() for file and line info in https://github.com/rust-lang/log/pull/633. Originally by [@&#8203;Cassy343](https://github.com/Cassy343) in https://github.com/rust-lang/log/pull/520 ##### New Contributors - [@&#8203;chrivers](https://github.com/chrivers) made their first contribution in https://github.com/rust-lang/log/pull/621 - [@&#8203;DIvkov575](https://github.com/DIvkov575) made their first contribution in https://github.com/rust-lang/log/pull/619 - [@&#8203;Catamantaloedis](https://github.com/Catamantaloedis) made their first contribution in https://github.com/rust-lang/log/pull/625 **Full Changelog**: https://github.com/rust-lang/log/compare/0.4.21...0.4.22 ### [`v0.4.21`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0421---2024-02-27) [Compare Source](https://github.com/rust-lang/log/compare/0.4.20...0.4.21) ##### What's Changed - Minor clippy nits by [@&#8203;nyurik](https://github.com/nyurik) in https://github.com/rust-lang/log/pull/578 - Simplify Display impl by [@&#8203;nyurik](https://github.com/nyurik) in https://github.com/rust-lang/log/pull/579 - Set all crates to 2021 edition by [@&#8203;nyurik](https://github.com/nyurik) in https://github.com/rust-lang/log/pull/580 - Various changes based on review by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/583 - Fix typo in file_static() method doc by [@&#8203;dimo414](https://github.com/dimo414) in https://github.com/rust-lang/log/pull/590 - Specialize empty key value pairs by [@&#8203;EFanZh](https://github.com/EFanZh) in https://github.com/rust-lang/log/pull/576 - Fix incorrect lifetime in Value::to_str() by [@&#8203;peterjoel](https://github.com/peterjoel) in https://github.com/rust-lang/log/pull/587 - Remove some API of the key-value feature by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/585 - Add logcontrol-log and log-reload by [@&#8203;swsnr](https://github.com/swsnr) in https://github.com/rust-lang/log/pull/595 - Add Serialization section to kv::Value docs by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/593 - Rename Value::to_str to to_cow_str by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/592 - Clarify documentation and simplify initialization of `STATIC_MAX_LEVEL` by [@&#8203;ptosi](https://github.com/ptosi) in https://github.com/rust-lang/log/pull/594 - Update docs to 2021 edition, test by [@&#8203;nyurik](https://github.com/nyurik) in https://github.com/rust-lang/log/pull/577 - Add "alterable_logger" link to README.md by [@&#8203;brummer-simon](https://github.com/brummer-simon) in https://github.com/rust-lang/log/pull/589 - Normalize line ending by [@&#8203;EFanZh](https://github.com/EFanZh) in https://github.com/rust-lang/log/pull/602 - Remove `ok_or` in favor of `Option::ok_or` by [@&#8203;AngelicosPhosphoros](https://github.com/AngelicosPhosphoros) in https://github.com/rust-lang/log/pull/607 - Use `Acquire` ordering for initialization check by [@&#8203;AngelicosPhosphoros](https://github.com/AngelicosPhosphoros) in https://github.com/rust-lang/log/pull/610 - Get structured logging API ready for stabilization by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/613 ##### New Contributors - [@&#8203;nyurik](https://github.com/nyurik) made their first contribution in https://github.com/rust-lang/log/pull/578 - [@&#8203;dimo414](https://github.com/dimo414) made their first contribution in https://github.com/rust-lang/log/pull/590 - [@&#8203;peterjoel](https://github.com/peterjoel) made their first contribution in https://github.com/rust-lang/log/pull/587 - [@&#8203;ptosi](https://github.com/ptosi) made their first contribution in https://github.com/rust-lang/log/pull/594 - [@&#8203;brummer-simon](https://github.com/brummer-simon) made their first contribution in https://github.com/rust-lang/log/pull/589 - [@&#8203;AngelicosPhosphoros](https://github.com/AngelicosPhosphoros) made their first contribution in https://github.com/rust-lang/log/pull/607 ### [`v0.4.20`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0420---2023-07-11) [Compare Source](https://github.com/rust-lang/log/compare/0.4.19...0.4.20) - Remove rustversion dev-dependency by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/568 - Remove `local_inner_macros` usage by [@&#8203;EFanZh](https://github.com/EFanZh) in https://github.com/rust-lang/log/pull/570 ### [`v0.4.19`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0419---2023-06-10) [Compare Source](https://github.com/rust-lang/log/compare/0.4.18...0.4.19) - Use target_has_atomic instead of the old atomic_cas cfg by [@&#8203;GuillaumeGomez](https://github.com/GuillaumeGomez) in https://github.com/rust-lang/log/pull/555 - Put MSRV into Cargo.toml by [@&#8203;est31](https://github.com/est31) in https://github.com/rust-lang/log/pull/557 ### [`v0.4.18`](https://github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0418---2023-05-28) [Compare Source](https://github.com/rust-lang/log/compare/0.4.17...0.4.18) - fix Markdown links (again) by [@&#8203;hellow554](https://github.com/hellow554) in https://github.com/rust-lang/log/pull/513 - add cargo doc to workflow by [@&#8203;hellow554](https://github.com/hellow554) in https://github.com/rust-lang/log/pull/515 - Apply Clippy lints by [@&#8203;hellow554](https://github.com/hellow554) in https://github.com/rust-lang/log/pull/516 - Replace ad-hoc eq_ignore_ascii_case with slice::eq_ignore_ascii_case by [@&#8203;glandium](https://github.com/glandium) in https://github.com/rust-lang/log/pull/519 - fix up windows targets by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/528 - typo fix by [@&#8203;jiangying000](https://github.com/jiangying000) in https://github.com/rust-lang/log/pull/529 - Remove dependency on cfg_if by [@&#8203;EriKWDev](https://github.com/EriKWDev) in https://github.com/rust-lang/log/pull/536 - GitHub Workflows security hardening by [@&#8203;sashashura](https://github.com/sashashura) in https://github.com/rust-lang/log/pull/538 - Fix build status badge by [@&#8203;atouchet](https://github.com/atouchet) in https://github.com/rust-lang/log/pull/539 - Add call_logger to the documentation by [@&#8203;a1ecbr0wn](https://github.com/a1ecbr0wn) in https://github.com/rust-lang/log/pull/547 - Use stable internals for key-value API by [@&#8203;KodrAus](https://github.com/KodrAus) in https://github.com/rust-lang/log/pull/550 - Change wording of list of implementations by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/553 - Add std-logger to list of implementations by [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw) in https://github.com/rust-lang/log/pull/554 - Add `set_max_level_racy` and gate `set_max_level` by [@&#8203;djkoloski](https://github.com/djkoloski) in https://github.com/rust-lang/log/pull/544 - \[doc] src/lib.rs : prefix an unused variable with an underscore by [@&#8203;OccupyMars2025](https://github.com/OccupyMars2025) in https://github.com/rust-lang/log/pull/561 - \[doc] src/macros.rs : correct grammar errors of an example in lib documentation by [@&#8203;OccupyMars2025](https://github.com/OccupyMars2025) in https://github.com/rust-lang/log/pull/562 </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.44.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.2): Tokio v1.44.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://github.com/tokio-rs/tokio/pull/7232 ### [`v1.44.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.1): Tokio v1.44.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.44.0...tokio-1.44.1) ### 1.44.1 (March 13th, 2025) ##### Fixed - rt: skip defer queue in `block_in_place` context ([#&#8203;7216]) [#&#8203;7216]: https://github.com/tokio-rs/tokio/pull/7216 ### [`v1.44.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.44.0): Tokio v1.44.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.43.1...tokio-1.44.0) ### 1.44.0 (March 7th, 2025) This release changes the `from_std` method on sockets to panic if a blocking socket is provided. We determined this change is not a breaking change as Tokio is not intended to operate using blocking sockets. Doing so results in runtime hangs and should be considered a bug. Accidentally passing a blocking socket to Tokio is one of the most common user mistakes. If this change causes an issue for you, please comment on [#&#8203;7172]. ##### Added - coop: add `task::coop` module ([#&#8203;7116]) - process: add `Command::get_kill_on_drop()` ([#&#8203;7086]) - sync: add `broadcast::Sender::closed` ([#&#8203;6685], [#&#8203;7090]) - sync: add `broadcast::WeakSender` ([#&#8203;7100]) - sync: add `oneshot::Receiver::is_empty()` ([#&#8203;7153]) - sync: add `oneshot::Receiver::is_terminated()` ([#&#8203;7152]) ##### Fixed - fs: empty reads on `File` should not start a background read ([#&#8203;7139]) - process: calling `start_kill` on exited child should not fail ([#&#8203;7160]) - signal: fix `CTRL_CLOSE`, `CTRL_LOGOFF`, `CTRL_SHUTDOWN` on windows ([#&#8203;7122]) - sync: properly handle panic during mpsc drop ([#&#8203;7094]) ##### Changes - runtime: clean up magic number in registration set ([#&#8203;7112]) - coop: make coop yield using waker defer strategy ([#&#8203;7185]) - macros: make `select!` budget-aware ([#&#8203;7164]) - net: panic when passing a blocking socket to `from_std` ([#&#8203;7166]) - io: clean up buffer casts ([#&#8203;7142]) ##### Changes to unstable APIs - rt: add before and after task poll callbacks ([#&#8203;7120]) - tracing: make the task tracing API unstable public ([#&#8203;6972]) ##### Documented - docs: fix nesting of sections in top-level docs ([#&#8203;7159]) - fs: rename symlink and hardlink parameter names ([#&#8203;7143]) - io: swap reader/writer in simplex doc test ([#&#8203;7176]) - macros: docs about `select!` alternatives ([#&#8203;7110]) - net: rename the argument for `send_to` ([#&#8203;7146]) - process: add example for reading `Child` stdout ([#&#8203;7141]) - process: clarify `Child::kill` behavior ([#&#8203;7162]) - process: fix grammar of the `ChildStdin` struct doc comment ([#&#8203;7192]) - runtime: consistently use `worker_threads` instead of `core_threads` ([#&#8203;7186]) [#&#8203;6685]: https://github.com/tokio-rs/tokio/pull/6685 [#&#8203;6972]: https://github.com/tokio-rs/tokio/pull/6972 [#&#8203;7086]: https://github.com/tokio-rs/tokio/pull/7086 [#&#8203;7090]: https://github.com/tokio-rs/tokio/pull/7090 [#&#8203;7094]: https://github.com/tokio-rs/tokio/pull/7094 [#&#8203;7100]: https://github.com/tokio-rs/tokio/pull/7100 [#&#8203;7110]: https://github.com/tokio-rs/tokio/pull/7110 [#&#8203;7112]: https://github.com/tokio-rs/tokio/pull/7112 [#&#8203;7116]: https://github.com/tokio-rs/tokio/pull/7116 [#&#8203;7120]: https://github.com/tokio-rs/tokio/pull/7120 [#&#8203;7122]: https://github.com/tokio-rs/tokio/pull/7122 [#&#8203;7139]: https://github.com/tokio-rs/tokio/pull/7139 [#&#8203;7141]: https://github.com/tokio-rs/tokio/pull/7141 [#&#8203;7142]: https://github.com/tokio-rs/tokio/pull/7142 [#&#8203;7143]: https://github.com/tokio-rs/tokio/pull/7143 [#&#8203;7146]: https://github.com/tokio-rs/tokio/pull/7146 [#&#8203;7152]: https://github.com/tokio-rs/tokio/pull/7152 [#&#8203;7153]: https://github.com/tokio-rs/tokio/pull/7153 [#&#8203;7159]: https://github.com/tokio-rs/tokio/pull/7159 [#&#8203;7160]: https://github.com/tokio-rs/tokio/pull/7160 [#&#8203;7162]: https://github.com/tokio-rs/tokio/pull/7162 [#&#8203;7164]: https://github.com/tokio-rs/tokio/pull/7164 [#&#8203;7166]: https://github.com/tokio-rs/tokio/pull/7166 [#&#8203;7172]: https://github.com/tokio-rs/tokio/pull/7172 [#&#8203;7176]: https://github.com/tokio-rs/tokio/pull/7176 [#&#8203;7185]: https://github.com/tokio-rs/tokio/pull/7185 [#&#8203;7186]: https://github.com/tokio-rs/tokio/pull/7186 [#&#8203;7192]: https://github.com/tokio-rs/tokio/pull/7192 ### [`v1.43.1`](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.43.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.43.1) ### [`v1.43.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.43.0): Tokio v1.43.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.42.1...tokio-1.43.0) ### 1.43.0 (Jan 8th, 2025) ##### Added - net: add `UdpSocket::peek` methods ([#&#8203;7068]) - net: add support for Haiku OS ([#&#8203;7042]) - process: add `Command::into_std()` ([#&#8203;7014]) - signal: add `SignalKind::info` on illumos ([#&#8203;6995]) - signal: add support for realtime signals on illumos ([#&#8203;7029]) ##### Fixed - io: don't call `set_len` before initializing vector in `Blocking` ([#&#8203;7054]) - macros: suppress `clippy::needless_return` in `#[tokio::main]` ([#&#8203;6874]) - runtime: fix thread parking on WebAssembly ([#&#8203;7041]) ##### Changes - chore: use unsync loads for `unsync_load` ([#&#8203;7073]) - io: use `Buf::put_bytes` in `Repeat` read impl ([#&#8203;7055]) - task: drop the join waker of a task eagerly ([#&#8203;6986]) ##### Changes to unstable APIs - metrics: improve flexibility of H2Histogram Configuration ([#&#8203;6963]) - taskdump: add accessor methods for backtrace ([#&#8203;6975]) ##### Documented - io: clarify `ReadBuf::uninit` allows initialized buffers as well ([#&#8203;7053]) - net: fix ambiguity in `TcpStream::try_write_vectored` docs ([#&#8203;7067]) - runtime: fix `LocalRuntime` doc links ([#&#8203;7074]) - sync: extend documentation for `watch::Receiver::wait_for` ([#&#8203;7038]) - sync: fix typos in `OnceCell` docs ([#&#8203;7047]) [#&#8203;6874]: https://github.com/tokio-rs/tokio/pull/6874 [#&#8203;6963]: https://github.com/tokio-rs/tokio/pull/6963 [#&#8203;6975]: https://github.com/tokio-rs/tokio/pull/6975 [#&#8203;6986]: https://github.com/tokio-rs/tokio/pull/6986 [#&#8203;6995]: https://github.com/tokio-rs/tokio/pull/6995 [#&#8203;7014]: https://github.com/tokio-rs/tokio/pull/7014 [#&#8203;7029]: https://github.com/tokio-rs/tokio/pull/7029 [#&#8203;7038]: https://github.com/tokio-rs/tokio/pull/7038 [#&#8203;7041]: https://github.com/tokio-rs/tokio/pull/7041 [#&#8203;7042]: https://github.com/tokio-rs/tokio/pull/7042 [#&#8203;7047]: https://github.com/tokio-rs/tokio/pull/7047 [#&#8203;7053]: https://github.com/tokio-rs/tokio/pull/7053 [#&#8203;7054]: https://github.com/tokio-rs/tokio/pull/7054 [#&#8203;7055]: https://github.com/tokio-rs/tokio/pull/7055 [#&#8203;7067]: https://github.com/tokio-rs/tokio/pull/7067 [#&#8203;7068]: https://github.com/tokio-rs/tokio/pull/7068 [#&#8203;7073]: https://github.com/tokio-rs/tokio/pull/7073 [#&#8203;7074]: https://github.com/tokio-rs/tokio/pull/7074 ### [`v1.42.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.42.1): Tokio v1.42.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.42.0...tokio-1.42.1) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://github.com/tokio-rs/tokio/pull/7232 ### [`v1.42.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.42.0): Tokio v1.42.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.41.1...tokio-1.42.0) ### 1.42.0 (Dec 3rd, 2024) ##### Added - io: add `AsyncFd::{try_io, try_io_mut}` ([#&#8203;6967]) ##### Fixed - io: avoid `ptr->ref->ptr` roundtrip in RegistrationSet ([#&#8203;6929]) - runtime: do not defer `yield_now` inside `block_in_place` ([#&#8203;6999]) ##### Changes - io: simplify io readiness logic ([#&#8203;6966]) ##### Documented - net: fix docs for `tokio::net::unix::{pid_t, gid_t, uid_t}` ([#&#8203;6791]) - time: fix a typo in `Instant` docs ([#&#8203;6982]) [#&#8203;6791]: https://github.com/tokio-rs/tokio/pull/6791 [#&#8203;6929]: https://github.com/tokio-rs/tokio/pull/6929 [#&#8203;6966]: https://github.com/tokio-rs/tokio/pull/6966 [#&#8203;6967]: https://github.com/tokio-rs/tokio/pull/6967 [#&#8203;6982]: https://github.com/tokio-rs/tokio/pull/6982 [#&#8203;6999]: https://github.com/tokio-rs/tokio/pull/6999 ### [`v1.41.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.41.1): Tokio v1.41.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.41.0...tokio-1.41.1) ### 1.41.1 (Nov 7th, 2024) ##### Fixed - metrics: fix bug with wrong number of buckets for the histogram ([#&#8203;6957]) - net: display `net` requirement for `net::UdpSocket` in docs ([#&#8203;6938]) - net: fix typo in `TcpStream` internal comment ([#&#8203;6944]) [#&#8203;6957]: https://github.com/tokio-rs/tokio/pull/6957 [#&#8203;6938]: https://github.com/tokio-rs/tokio/pull/6938 [#&#8203;6944]: https://github.com/tokio-rs/tokio/pull/6944 ### [`v1.41.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.41.0): Tokio v1.41.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.0) ### 1.41.0 (Oct 22th, 2024) ##### Added - metrics: stabilize `global_queue_depth` ([#&#8203;6854], [#&#8203;6918]) - net: add conversions for unix `SocketAddr` ([#&#8203;6868]) - sync: add `watch::Sender::sender_count` ([#&#8203;6836]) - sync: add `mpsc::Receiver::blocking_recv_many` ([#&#8203;6867]) - task: stabilize `Id` apis ([#&#8203;6793], [#&#8203;6891]) ##### Added (unstable) - metrics: add H2 Histogram option to improve histogram granularity ([#&#8203;6897]) - metrics: rename some histogram apis ([#&#8203;6924]) - runtime: add `LocalRuntime` ([#&#8203;6808]) ##### Changed - runtime: box futures larger than 16k on release mode ([#&#8203;6826]) - sync: add `#[must_use]` to `Notified` ([#&#8203;6828]) - sync: make `watch` cooperative ([#&#8203;6846]) - sync: make `broadcast::Receiver` cooperative ([#&#8203;6870]) - task: add task size to tracing instrumentation ([#&#8203;6881]) - wasm: enable `cfg_fs` for `wasi` target ([#&#8203;6822]) ##### Fixed - net: fix regression of abstract socket path in unix socket ([#&#8203;6838]) ##### Documented - io: recommend `OwnedFd` with `AsyncFd` ([#&#8203;6821]) - io: document cancel safety of `AsyncFd` methods ([#&#8203;6890]) - macros: render more comprehensible documentation for `join` and `try_join` ([#&#8203;6814], [#&#8203;6841]) - net: fix swapped examples for `TcpSocket::set_nodelay` and `TcpSocket::nodelay` ([#&#8203;6840]) - sync: document runtime compatibility ([#&#8203;6833]) [#&#8203;6793]: https://github.com/tokio-rs/tokio/pull/6793 [#&#8203;6808]: https://github.com/tokio-rs/tokio/pull/6808 [#&#8203;6810]: https://github.com/tokio-rs/tokio/pull/6810 [#&#8203;6814]: https://github.com/tokio-rs/tokio/pull/6814 [#&#8203;6821]: https://github.com/tokio-rs/tokio/pull/6821 [#&#8203;6822]: https://github.com/tokio-rs/tokio/pull/6822 [#&#8203;6826]: https://github.com/tokio-rs/tokio/pull/6826 [#&#8203;6828]: https://github.com/tokio-rs/tokio/pull/6828 [#&#8203;6833]: https://github.com/tokio-rs/tokio/pull/6833 [#&#8203;6836]: https://github.com/tokio-rs/tokio/pull/6836 [#&#8203;6838]: https://github.com/tokio-rs/tokio/pull/6838 [#&#8203;6840]: https://github.com/tokio-rs/tokio/pull/6840 [#&#8203;6841]: https://github.com/tokio-rs/tokio/pull/6841 [#&#8203;6846]: https://github.com/tokio-rs/tokio/pull/6846 [#&#8203;6854]: https://github.com/tokio-rs/tokio/pull/6854 [#&#8203;6867]: https://github.com/tokio-rs/tokio/pull/6867 [#&#8203;6868]: https://github.com/tokio-rs/tokio/pull/6868 [#&#8203;6870]: https://github.com/tokio-rs/tokio/pull/6870 [#&#8203;6881]: https://github.com/tokio-rs/tokio/pull/6881 [#&#8203;6890]: https://github.com/tokio-rs/tokio/pull/6890 [#&#8203;6891]: https://github.com/tokio-rs/tokio/pull/6891 [#&#8203;6897]: https://github.com/tokio-rs/tokio/pull/6897 [#&#8203;6918]: https://github.com/tokio-rs/tokio/pull/6918 [#&#8203;6924]: https://github.com/tokio-rs/tokio/pull/6924 ### [`v1.40.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.40.0): Tokio v1.40.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.3...tokio-1.40.0) ### 1.40.0 (August 30th, 2024) ##### Added - io: add `util::SimplexStream` ([#&#8203;6589]) - process: stabilize `Command::process_group` ([#&#8203;6731]) - sync: add `{TrySendError,SendTimeoutError}::into_inner` ([#&#8203;6755]) - task: add `JoinSet::join_all` ([#&#8203;6784]) ##### Added (unstable) - runtime: add `Builder::{on_task_spawn, on_task_terminate}` ([#&#8203;6742]) ##### Changed - io: use vectored io for `write_all_buf` when possible ([#&#8203;6724]) - runtime: prevent niche-optimization to avoid triggering miri ([#&#8203;6744]) - sync: mark mpsc types as `UnwindSafe` ([#&#8203;6783]) - sync,time: make `Sleep` and `BatchSemaphore` instrumentation explicit roots ([#&#8203;6727]) - task: use `NonZeroU64` for `task::Id` ([#&#8203;6733]) - task: include panic message when printing `JoinError` ([#&#8203;6753]) - task: add `#[must_use]` to `JoinHandle::abort_handle` ([#&#8203;6762]) - time: eliminate timer wheel allocations ([#&#8203;6779]) ##### Documented - docs: clarify that `[build]` section doesn't go in Cargo.toml ([#&#8203;6728]) - io: clarify zero remaining capacity case ([#&#8203;6790]) - macros: improve documentation for `select!` ([#&#8203;6774]) - sync: document mpsc channel allocation behavior ([#&#8203;6773]) [#&#8203;6589]: https://github.com/tokio-rs/tokio/pull/6589 [#&#8203;6724]: https://github.com/tokio-rs/tokio/pull/6724 [#&#8203;6727]: https://github.com/tokio-rs/tokio/pull/6727 [#&#8203;6728]: https://github.com/tokio-rs/tokio/pull/6728 [#&#8203;6731]: https://github.com/tokio-rs/tokio/pull/6731 [#&#8203;6733]: https://github.com/tokio-rs/tokio/pull/6733 [#&#8203;6742]: https://github.com/tokio-rs/tokio/pull/6742 [#&#8203;6744]: https://github.com/tokio-rs/tokio/pull/6744 [#&#8203;6753]: https://github.com/tokio-rs/tokio/pull/6753 [#&#8203;6755]: https://github.com/tokio-rs/tokio/pull/6755 [#&#8203;6762]: https://github.com/tokio-rs/tokio/pull/6762 [#&#8203;6773]: https://github.com/tokio-rs/tokio/pull/6773 [#&#8203;6774]: https://github.com/tokio-rs/tokio/pull/6774 [#&#8203;6779]: https://github.com/tokio-rs/tokio/pull/6779 [#&#8203;6783]: https://github.com/tokio-rs/tokio/pull/6783 [#&#8203;6784]: https://github.com/tokio-rs/tokio/pull/6784 [#&#8203;6790]: https://github.com/tokio-rs/tokio/pull/6790 ### [`v1.39.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.3): Tokio v1.39.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.2...tokio-1.39.3) ### 1.39.3 (August 17th, 2024) This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. ([#&#8203;6772]) [#&#8203;6772]: https://github.com/tokio-rs/tokio/pull/6772 ### [`v1.39.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.2): Tokio v1.39.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.1...tokio-1.39.2) ### 1.39.2 (July 27th, 2024) This release fixes a regression where the `select!` macro stopped accepting expressions that make use of temporary lifetime extension. ([#&#8203;6722]) [#&#8203;6722]: https://github.com/tokio-rs/tokio/pull/6722 ### [`v1.39.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.1): Tokio v1.39.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.39.0...tokio-1.39.1) ### 1.39.1 (July 23rd, 2024) This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. ([#&#8203;6715]) [#&#8203;6715]: https://github.com/tokio-rs/tokio/pull/6715 ### [`v1.39.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.39.0): Tokio v1.39.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.2...tokio-1.39.0) ### 1.39.0 (July 23rd, 2024) - This release bumps the MSRV to 1.70. ([#&#8203;6645]) - This release upgrades to mio v1. ([#&#8203;6635]) - This release upgrades to windows-sys v0.52 ([#&#8203;6154]) ##### Added - io: implement `AsyncSeek` for `Empty` ([#&#8203;6663]) - metrics: stabilize `num_alive_tasks` ([#&#8203;6619], [#&#8203;6667]) - process: add `Command::as_std_mut` ([#&#8203;6608]) - sync: add `watch::Sender::same_channel` ([#&#8203;6637]) - sync: add `{Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count}` ([#&#8203;6661]) - sync: implement `Default` for `watch::Sender` ([#&#8203;6626]) - task: implement `Clone` for `AbortHandle` ([#&#8203;6621]) - task: stabilize `consume_budget` ([#&#8203;6622]) ##### Changed - io: improve panic message of `ReadBuf::put_slice()` ([#&#8203;6629]) - io: read during write in `copy_bidirectional` and `copy` ([#&#8203;6532]) - runtime: replace `num_cpus` with `available_parallelism` ([#&#8203;6709]) - task: avoid stack overflow when passing large future to `block_on` ([#&#8203;6692]) - time: avoid traversing entries in the time wheel twice ([#&#8203;6584]) - time: support `IntoFuture` with `timeout` ([#&#8203;6666]) - macros: support `IntoFuture` with `join!` and `select!` ([#&#8203;6710]) ##### Fixed - docs: fix docsrs builds with the fs feature enabled ([#&#8203;6585]) - io: only use short-read optimization on known-to-be-compatible platforms ([#&#8203;6668]) - time: fix overflow panic when using large durations with `Interval` ([#&#8203;6612]) ##### Added (unstable) - macros: allow `unhandled_panic` behavior for `#[tokio::main]` and `#[tokio::test]` ([#&#8203;6593]) - metrics: add `spawned_tasks_count` ([#&#8203;6114]) - metrics: add `worker_park_unpark_count` ([#&#8203;6696]) - metrics: add worker thread id ([#&#8203;6695]) ##### Documented - io: update `tokio::io::stdout` documentation ([#&#8203;6674]) - macros: typo fix in `join.rs` and `try_join.rs` ([#&#8203;6641]) - runtime: fix typo in `unhandled_panic` ([#&#8203;6660]) - task: document behavior of `JoinSet::try_join_next` when all tasks are running ([#&#8203;6671]) [#&#8203;6114]: https://github.com/tokio-rs/tokio/pull/6114 [#&#8203;6154]: https://github.com/tokio-rs/tokio/pull/6154 [#&#8203;6532]: https://github.com/tokio-rs/tokio/pull/6532 [#&#8203;6584]: https://github.com/tokio-rs/tokio/pull/6584 [#&#8203;6585]: https://github.com/tokio-rs/tokio/pull/6585 [#&#8203;6593]: https://github.com/tokio-rs/tokio/pull/6593 [#&#8203;6608]: https://github.com/tokio-rs/tokio/pull/6608 [#&#8203;6612]: https://github.com/tokio-rs/tokio/pull/6612 [#&#8203;6619]: https://github.com/tokio-rs/tokio/pull/6619 [#&#8203;6621]: https://github.com/tokio-rs/tokio/pull/6621 [#&#8203;6622]: https://github.com/tokio-rs/tokio/pull/6622 [#&#8203;6626]: https://github.com/tokio-rs/tokio/pull/6626 [#&#8203;6629]: https://github.com/tokio-rs/tokio/pull/6629 [#&#8203;6635]: https://github.com/tokio-rs/tokio/pull/6635 [#&#8203;6637]: https://github.com/tokio-rs/tokio/pull/6637 [#&#8203;6641]: https://github.com/tokio-rs/tokio/pull/6641 [#&#8203;6645]: https://github.com/tokio-rs/tokio/pull/6645 [#&#8203;6660]: https://github.com/tokio-rs/tokio/pull/6660 [#&#8203;6661]: https://github.com/tokio-rs/tokio/pull/6661 [#&#8203;6663]: https://github.com/tokio-rs/tokio/pull/6663 [#&#8203;6666]: https://github.com/tokio-rs/tokio/pull/6666 [#&#8203;6667]: https://github.com/tokio-rs/tokio/pull/6667 [#&#8203;6668]: https://github.com/tokio-rs/tokio/pull/6668 [#&#8203;6671]: https://github.com/tokio-rs/tokio/pull/6671 [#&#8203;6674]: https://github.com/tokio-rs/tokio/pull/6674 [#&#8203;6692]: https://github.com/tokio-rs/tokio/pull/6692 [#&#8203;6695]: https://github.com/tokio-rs/tokio/pull/6695 [#&#8203;6696]: https://github.com/tokio-rs/tokio/pull/6696 [#&#8203;6709]: https://github.com/tokio-rs/tokio/pull/6709 [#&#8203;6710]: https://github.com/tokio-rs/tokio/pull/6710 ### [`v1.38.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.2): Tokio v1.38.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.1...tokio-1.38.2) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://github.com/tokio-rs/tokio/pull/7232 ### [`v1.38.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.1): Tokio v1.38.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.38.0...tokio-1.38.1) ### 1.38.1 (July 16th, 2024) This release fixes the bug identified as ([#&#8203;6682]), which caused timers not to fire when they should. ##### Fixed - time: update `wake_up` while holding all the locks of sharded time wheels ([#&#8203;6683]) [#&#8203;6682]: https://github.com/tokio-rs/tokio/pull/6682 [#&#8203;6683]: https://github.com/tokio-rs/tokio/pull/6683 ### [`v1.38.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.38.0): Tokio v1.38.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.37.0...tokio-1.38.0) This release marks the beginning of stabilization for runtime metrics. It stabilizes `RuntimeMetrics::worker_count`. Future releases will continue to stabilize more metrics. ##### Added - fs: add `File::create_new` ([#&#8203;6573]) - io: add `copy_bidirectional_with_sizes` ([#&#8203;6500]) - io: implement `AsyncBufRead` for `Join` ([#&#8203;6449]) - net: add Apple visionOS support ([#&#8203;6465]) - net: implement `Clone` for `NamedPipeInfo` ([#&#8203;6586]) - net: support QNX OS ([#&#8203;6421]) - sync: add `Notify::notify_last` ([#&#8203;6520]) - sync: add `mpsc::Receiver::{capacity,max_capacity}` ([#&#8203;6511]) - sync: add `split` method to the semaphore permit ([#&#8203;6472], [#&#8203;6478]) - task: add `tokio::task::join_set::Builder::spawn_blocking` ([#&#8203;6578]) - wasm: support rt-multi-thread with wasm32-wasi-preview1-threads ([#&#8203;6510]) ##### Changed - macros: make `#[tokio::test]` append `#[test]` at the end of the attribute list ([#&#8203;6497]) - metrics: fix `blocking_threads` count ([#&#8203;6551]) - metrics: stabilize `RuntimeMetrics::worker_count` ([#&#8203;6556]) - runtime: move task out of the `lifo_slot` in `block_in_place` ([#&#8203;6596]) - runtime: panic if `global_queue_interval` is zero ([#&#8203;6445]) - sync: always drop message in destructor for oneshot receiver ([#&#8203;6558]) - sync: instrument `Semaphore` for task dumps ([#&#8203;6499]) - sync: use FIFO ordering when waking batches of wakers ([#&#8203;6521]) - task: make `LocalKey::get` work with Clone types ([#&#8203;6433]) - tests: update nix and mio-aio dev-dependencies ([#&#8203;6552]) - time: clean up implementation ([#&#8203;6517]) - time: lazily init timers on first poll ([#&#8203;6512]) - time: remove the `true_when` field in `TimerShared` ([#&#8203;6563]) - time: use sharding for timer implementation ([#&#8203;6534]) ##### Fixed - taskdump: allow building taskdump docs on non-unix machines ([#&#8203;6564]) - time: check for overflow in `Interval::poll_tick` ([#&#8203;6487]) - sync: fix incorrect `is_empty` on mpsc block boundaries ([#&#8203;6603]) ##### Documented - fs: rewrite file system docs ([#&#8203;6467]) - io: fix `stdin` documentation ([#&#8203;6581]) - io: fix obsolete reference in `ReadHalf::unsplit()` documentation ([#&#8203;6498]) - macros: render more comprehensible documentation for `select!` ([#&#8203;6468]) - net: add missing types to module docs ([#&#8203;6482]) - net: fix misleading `NamedPipeServer` example ([#&#8203;6590]) - sync: add examples for `SemaphorePermit`, `OwnedSemaphorePermit` ([#&#8203;6477]) - sync: document that `Barrier::wait` is not cancel safe ([#&#8203;6494]) - sync: explain relation between `watch::Sender::{subscribe,closed}` ([#&#8203;6490]) - task: clarify that you can't abort `spawn_blocking` tasks ([#&#8203;6571]) - task: fix a typo in doc of `LocalSet::run_until` ([#&#8203;6599]) - time: fix test-util requirement for pause and resume in docs ([#&#8203;6503]) [#&#8203;6421]: https://github.com/tokio-rs/tokio/pull/6421 [#&#8203;6433]: https://github.com/tokio-rs/tokio/pull/6433 [#&#8203;6445]: https://github.com/tokio-rs/tokio/pull/6445 [#&#8203;6449]: https://github.com/tokio-rs/tokio/pull/6449 [#&#8203;6465]: https://github.com/tokio-rs/tokio/pull/6465 [#&#8203;6467]: https://github.com/tokio-rs/tokio/pull/6467 [#&#8203;6468]: https://github.com/tokio-rs/tokio/pull/6468 [#&#8203;6472]: https://github.com/tokio-rs/tokio/pull/6472 [#&#8203;6477]: https://github.com/tokio-rs/tokio/pull/6477 [#&#8203;6478]: https://github.com/tokio-rs/tokio/pull/6478 [#&#8203;6482]: https://github.com/tokio-rs/tokio/pull/6482 [#&#8203;6487]: https://github.com/tokio-rs/tokio/pull/6487 [#&#8203;6490]: https://github.com/tokio-rs/tokio/pull/6490 [#&#8203;6494]: https://github.com/tokio-rs/tokio/pull/6494 [#&#8203;6497]: https://github.com/tokio-rs/tokio/pull/6497 [#&#8203;6498]: https://github.com/tokio-rs/tokio/pull/6498 [#&#8203;6499]: https://github.com/tokio-rs/tokio/pull/6499 [#&#8203;6500]: https://github.com/tokio-rs/tokio/pull/6500 [#&#8203;6503]: https://github.com/tokio-rs/tokio/pull/6503 [#&#8203;6510]: https://github.com/tokio-rs/tokio/pull/6510 [#&#8203;6511]: https://github.com/tokio-rs/tokio/pull/6511 [#&#8203;6512]: https://github.com/tokio-rs/tokio/pull/6512 [#&#8203;6517]: https://github.com/tokio-rs/tokio/pull/6517 [#&#8203;6520]: https://github.com/tokio-rs/tokio/pull/6520 [#&#8203;6521]: https://github.com/tokio-rs/tokio/pull/6521 [#&#8203;6534]: https://github.com/tokio-rs/tokio/pull/6534 [#&#8203;6551]: https://github.com/tokio-rs/tokio/pull/6551 [#&#8203;6552]: https://github.com/tokio-rs/tokio/pull/6552 [#&#8203;6556]: https://github.com/tokio-rs/tokio/pull/6556 [#&#8203;6558]: https://github.com/tokio-rs/tokio/pull/6558 [#&#8203;6563]: https://github.com/tokio-rs/tokio/pull/6563 [#&#8203;6564]: https://github.com/tokio-rs/tokio/pull/6564 [#&#8203;6571]: https://github.com/tokio-rs/tokio/pull/6571 [#&#8203;6573]: https://github.com/tokio-rs/tokio/pull/6573 [#&#8203;6578]: https://github.com/tokio-rs/tokio/pull/6578 [#&#8203;6581]: https://github.com/tokio-rs/tokio/pull/6581 [#&#8203;6586]: https://github.com/tokio-rs/tokio/pull/6586 [#&#8203;6590]: https://github.com/tokio-rs/tokio/pull/6590 [#&#8203;6596]: https://github.com/tokio-rs/tokio/pull/6596 [#&#8203;6599]: https://github.com/tokio-rs/tokio/pull/6599 [#&#8203;6603]: https://github.com/tokio-rs/tokio/pull/6603 ### [`v1.37.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.37.0): Tokio v1.37.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0) ### 1.37.0 (March 28th, 2024) ##### Added - fs: add `set_max_buf_size` to `tokio::fs::File` ([#&#8203;6411]) - io: add `try_new` and `try_with_interest` to `AsyncFd` ([#&#8203;6345]) - sync: add `forget_permits` method to semaphore ([#&#8203;6331]) - sync: add `is_closed`, `is_empty`, and `len` to mpsc receivers ([#&#8203;6348]) - sync: add a `rwlock()` method to owned `RwLock` guards ([#&#8203;6418]) - sync: expose strong and weak counts of mpsc sender handles ([#&#8203;6405]) - sync: implement `Clone` for `watch::Sender` ([#&#8203;6388]) - task: add `TaskLocalFuture::take_value` ([#&#8203;6340]) - task: implement `FromIterator` for `JoinSet` ([#&#8203;6300]) ##### Changed - io: make `io::split` use a mutex instead of a spinlock ([#&#8203;6403]) ##### Fixed - docs: fix docsrs build without net feature ([#&#8203;6360]) - macros: allow select with only else branch ([#&#8203;6339]) - runtime: fix leaking registration entries when os registration fails ([#&#8203;6329]) ##### Documented - io: document cancel safety of `AsyncBufReadExt::fill_buf` ([#&#8203;6431]) - io: document cancel safety of `AsyncReadExt`'s primitive read functions ([#&#8203;6337]) - runtime: add doc link from `Runtime` to `#[tokio::main]` ([#&#8203;6366]) - runtime: make the `enter` example deterministic ([#&#8203;6351]) - sync: add Semaphore example for limiting the number of outgoing requests ([#&#8203;6419]) - sync: fix missing period in broadcast docs ([#&#8203;6377]) - sync: mark `mpsc::Sender::downgrade` with `#[must_use]` ([#&#8203;6326]) - sync: reorder `const_new` before `new_with` ([#&#8203;6392]) - sync: update watch channel docs ([#&#8203;6395]) - task: fix documentation links ([#&#8203;6336]) ##### Changed (unstable) - runtime: include task `Id` in taskdumps ([#&#8203;6328]) - runtime: panic if `unhandled_panic` is enabled when not supported ([#&#8203;6410]) [#&#8203;6300]: https://github.com/tokio-rs/tokio/pull/6300 [#&#8203;6326]: https://github.com/tokio-rs/tokio/pull/6326 [#&#8203;6328]: https://github.com/tokio-rs/tokio/pull/6328 [#&#8203;6329]: https://github.com/tokio-rs/tokio/pull/6329 [#&#8203;6331]: https://github.com/tokio-rs/tokio/pull/6331 [#&#8203;6336]: https://github.com/tokio-rs/tokio/pull/6336 [#&#8203;6337]: https://github.com/tokio-rs/tokio/pull/6337 [#&#8203;6339]: https://github.com/tokio-rs/tokio/pull/6339 [#&#8203;6340]: https://github.com/tokio-rs/tokio/pull/6340 [#&#8203;6345]: https://github.com/tokio-rs/tokio/pull/6345 [#&#8203;6348]: https://github.com/tokio-rs/tokio/pull/6348 [#&#8203;6351]: https://github.com/tokio-rs/tokio/pull/6351 [#&#8203;6360]: https://github.com/tokio-rs/tokio/pull/6360 [#&#8203;6366]: https://github.com/tokio-rs/tokio/pull/6366 [#&#8203;6377]: https://github.com/tokio-rs/tokio/pull/6377 [#&#8203;6388]: https://github.com/tokio-rs/tokio/pull/6388 [#&#8203;6392]: https://github.com/tokio-rs/tokio/pull/6392 [#&#8203;6395]: https://github.com/tokio-rs/tokio/pull/6395 [#&#8203;6403]: https://github.com/tokio-rs/tokio/pull/6403 [#&#8203;6405]: https://github.com/tokio-rs/tokio/pull/6405 [#&#8203;6410]: https://github.com/tokio-rs/tokio/pull/6410 [#&#8203;6411]: https://github.com/tokio-rs/tokio/pull/6411 [#&#8203;6418]: https://github.com/tokio-rs/tokio/pull/6418 [#&#8203;6419]: https://github.com/tokio-rs/tokio/pull/6419 [#&#8203;6431]: https://github.com/tokio-rs/tokio/pull/6431 ### [`v1.36.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.36.0): Tokio v1.36.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.35.1...tokio-1.36.0) ### 1.36.0 (February 2nd, 2024) ##### Added - io: add `tokio::io::Join` ([#&#8203;6220]) - io: implement `AsyncWrite` for `Empty` ([#&#8203;6235]) - net: add support for anonymous unix pipes ([#&#8203;6127]) - net: add `UnixSocket` ([#&#8203;6290]) - net: expose keepalive option on `TcpSocket` ([#&#8203;6311]) - sync: add `{Receiver,UnboundedReceiver}::poll_recv_many` ([#&#8203;6236]) - sync: add `Sender::{try_,}reserve_many` ([#&#8203;6205]) - sync: add `watch::Receiver::mark_unchanged` ([#&#8203;6252]) - task: add `JoinSet::try_join_next` ([#&#8203;6280]) ##### Changed - io: make `copy` cooperative ([#&#8203;6265]) - io: make `repeat` and `sink` cooperative ([#&#8203;6254]) - io: simplify check for empty slice ([#&#8203;6293]) - process: use pidfd on Linux when available ([#&#8203;6152]) - sync: use AtomicBool in broadcast channel future ([#&#8203;6298]) ##### Documented - io: clarify `clear_ready` docs ([#&#8203;6304]) - net: document that `*Fd` traits on `TcpSocket` are unix-only ([#&#8203;6294]) - sync: document FIFO behavior of `tokio::sync::Mutex` ([#&#8203;6279]) - chore: typographic improvements ([#&#8203;6262]) - runtime: remove obsolete comment ([#&#8203;6303]) - task: fix typo ([#&#8203;6261]) [#&#8203;6220]: https://github.com/tokio-rs/tokio/pull/6220 [#&#8203;6235]: https://github.com/tokio-rs/tokio/pull/6235 [#&#8203;6127]: https://github.com/tokio-rs/tokio/pull/6127 [#&#8203;6290]: https://github.com/tokio-rs/tokio/pull/6290 [#&#8203;6311]: https://github.com/tokio-rs/tokio/pull/6311 [#&#8203;6236]: https://github.com/tokio-rs/tokio/pull/6236 [#&#8203;6205]: https://github.com/tokio-rs/tokio/pull/6205 [#&#8203;6252]: https://github.com/tokio-rs/tokio/pull/6252 [#&#8203;6280]: https://github.com/tokio-rs/tokio/pull/6280 [#&#8203;6265]: https://github.com/tokio-rs/tokio/pull/6265 [#&#8203;6254]: https://github.com/tokio-rs/tokio/pull/6254 [#&#8203;6293]: https://github.com/tokio-rs/tokio/pull/6293 [#&#8203;6238]: https://github.com/tokio-rs/tokio/pull/6238 [#&#8203;6152]: https://github.com/tokio-rs/tokio/pull/6152 [#&#8203;6298]: https://github.com/tokio-rs/tokio/pull/6298 [#&#8203;6262]: https://github.com/tokio-rs/tokio/pull/6262 [#&#8203;6303]: https://github.com/tokio-rs/tokio/pull/6303 [#&#8203;6261]: https://github.com/tokio-rs/tokio/pull/6261 [#&#8203;6304]: https://github.com/tokio-rs/tokio/pull/6304 [#&#8203;6294]: https://github.com/tokio-rs/tokio/pull/6294 [#&#8203;6279]: https://github.com/tokio-rs/tokio/pull/6279 ### [`v1.35.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.35.1): Tokio v1.35.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1) ### 1.35.1 (December 19, 2023) This is a forward part of a change that was backported to 1.25.3. ##### Fixed - io: add budgeting to `tokio::runtime::io::registration::async_io` ([#&#8203;6221]) [#&#8203;6221]: https://github.com/tokio-rs/tokio/pull/6221 ### [`v1.35.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.35.0): Tokio v1.35.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.34.0...tokio-1.35.0) ### 1.35.0 (December 8th, 2023) ##### Added - net: add Apple watchOS support ([#&#8203;6176]) ##### Changed - io: drop the `Sized` requirements from `AsyncReadExt.read_buf` ([#&#8203;6169]) - runtime: make `Runtime` unwind safe ([#&#8203;6189]) - runtime: reduce the lock contention in task spawn ([#&#8203;6001]) - tokio: update nix dependency to 0.27.1 ([#&#8203;6190]) ##### Fixed - chore: make `--cfg docsrs` work without net feature ([#&#8203;6166]) - chore: use relaxed load for `unsync_load` on miri ([#&#8203;6179]) - runtime: handle missing context on wake ([#&#8203;6148]) - taskdump: fix taskdump cargo config example ([#&#8203;6150]) - taskdump: skip notified tasks during taskdumps ([#&#8203;6194]) - tracing: avoid creating resource spans with current parent, use a None parent instead ([#&#8203;6107]) - tracing: make task span explicit root ([#&#8203;6158]) ##### Documented - io: flush in `AsyncWriteExt` examples ([#&#8203;6149]) - runtime: document fairness guarantees and current behavior ([#&#8203;6145]) - task: document cancel safety of `LocalSet::run_until` ([#&#8203;6147]) [#&#8203;6001]: https://github.com/tokio-rs/tokio/pull/6001 [#&#8203;6107]: https://github.com/tokio-rs/tokio/pull/6107 [#&#8203;6144]: https://github.com/tokio-rs/tokio/pull/6144 [#&#8203;6145]: https://github.com/tokio-rs/tokio/pull/6145 [#&#8203;6147]: https://github.com/tokio-rs/tokio/pull/6147 [#&#8203;6148]: https://github.com/tokio-rs/tokio/pull/6148 [#&#8203;6149]: https://github.com/tokio-rs/tokio/pull/6149 [#&#8203;6150]: https://github.com/tokio-rs/tokio/pull/6150 [#&#8203;6158]: https://github.com/tokio-rs/tokio/pull/6158 [#&#8203;6166]: https://github.com/tokio-rs/tokio/pull/6166 [#&#8203;6169]: https://github.com/tokio-rs/tokio/pull/6169 [#&#8203;6176]: https://github.com/tokio-rs/tokio/pull/6176 [#&#8203;6179]: https://github.com/tokio-rs/tokio/pull/6179 [#&#8203;6189]: https://github.com/tokio-rs/tokio/pull/6189 [#&#8203;6190]: https://github.com/tokio-rs/tokio/pull/6190 [#&#8203;6194]: https://github.com/tokio-rs/tokio/pull/6194 ### [`v1.34.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.34.0): Tokio v1.34.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.33.0...tokio-1.34.0) ##### Fixed - io: allow `clear_readiness` after io driver shutdown ([#&#8203;6067]) - io: fix integer overflow in `take` ([#&#8203;6080]) - io: fix I/O resource hang ([#&#8203;6134]) - sync: fix `broadcast::channel` link ([#&#8203;6100]) ##### Changed - macros: use `::core` qualified imports instead of `::std` inside `tokio::test` macro ([#&#8203;5973]) ##### Added - fs: update cfg attr in `fs::read_dir` to include `aix` ([#&#8203;6075]) - sync: add `mpsc::Receiver::recv_many` ([#&#8203;6010]) - tokio: added vita target support ([#&#8203;6094]) [#&#8203;5973]: https://github.com/tokio-rs/tokio/pull/5973 [#&#8203;6067]: https://github.com/tokio-rs/tokio/pull/6067 [#&#8203;6080]: https://github.com/tokio-rs/tokio/pull/6080 [#&#8203;6134]: https://github.com/tokio-rs/tokio/pull/6134 [#&#8203;6100]: https://github.com/tokio-rs/tokio/pull/6100 [#&#8203;6075]: https://github.com/tokio-rs/tokio/pull/6075 [#&#8203;6010]: https://github.com/tokio-rs/tokio/pull/6010 [#&#8203;6094]: https://github.com/tokio-rs/tokio/pull/6094 ### [`v1.33.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.33.0): Tokio v1.33.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.32.1...tokio-1.33.0) ### 1.33.0 (October 9, 2023) ##### Fixed - io: mark `Interest::add` with `#[must_use]` ([#&#8203;6037]) - runtime: fix cache line size for RISC-V ([#&#8203;5994]) - sync: prevent lock poisoning in `watch::Receiver::wait_for` ([#&#8203;6021]) - task: fix `spawn_local` source location ([#&#8203;5984]) ##### Changed - sync: use Acquire/Release orderings instead of SeqCst in `watch` ([#&#8203;6018]) ##### Added - fs: add vectored writes to `tokio::fs::File` ([#&#8203;5958]) - io: add `Interest::remove` method ([#&#8203;5906]) - io: add vectored writes to `DuplexStream` ([#&#8203;5985]) - net: add Apple tvOS support ([#&#8203;6045]) - sync: add `?Sized` bound to `{MutexGuard,OwnedMutexGuard}::map` ([#&#8203;5997]) - sync: add `watch::Receiver::mark_unseen` ([#&#8203;5962], [#&#8203;6014], [#&#8203;6017]) - sync: add `watch::Sender::new` ([#&#8203;5998]) - sync: add const fn `OnceCell::from_value` ([#&#8203;5903]) ##### Removed - remove unused `stats` feature ([#&#8203;5952]) ##### Documented - add missing backticks in code examples ([#&#8203;5938], [#&#8203;6056]) - fix typos ([#&#8203;5988], [#&#8203;6030]) - process: document that `Child::wait` is cancel safe ([#&#8203;5977]) - sync: add examples for `Semaphore` ([#&#8203;5939], [#&#8203;5956], [#&#8203;5978], [#&#8203;6031], [#&#8203;6032], [#&#8203;6050]) - sync: document that `broadcast` capacity is a lower bound ([#&#8203;6042]) - sync: document that `const_new` is not instrumented ([#&#8203;6002]) - sync: improve cancel-safety documentation for `mpsc::Sender::send` ([#&#8203;5947]) - sync: improve docs for `watch` channel ([#&#8203;5954]) - taskdump: render taskdump documentation on docs.rs ([#&#8203;5972]) ##### Unstable - taskdump: fix potential deadlock ([#&#8203;6036]) [#&#8203;5903]: https://github.com/tokio-rs/tokio/pull/5903 [#&#8203;5906]: https://github.com/tokio-rs/tokio/pull/5906 [#&#8203;5938]: https://github.com/tokio-rs/tokio/pull/5938 [#&#8203;5939]: https://github.com/tokio-rs/tokio/pull/5939 [#&#8203;5947]: https://github.com/tokio-rs/tokio/pull/5947 [#&#8203;5952]: https://github.com/tokio-rs/tokio/pull/5952 [#&#8203;5954]: https://github.com/tokio-rs/tokio/pull/5954 [#&#8203;5956]: https://github.com/tokio-rs/tokio/pull/5956 [#&#8203;5958]: https://github.com/tokio-rs/tokio/pull/5958 [#&#8203;5960]: https://github.com/tokio-rs/tokio/pull/5960 [#&#8203;5962]: https://github.com/tokio-rs/tokio/pull/5962 [#&#8203;5971]: https://github.com/tokio-rs/tokio/pull/5971 [#&#8203;5972]: https://github.com/tokio-rs/tokio/pull/5972 [#&#8203;5977]: https://github.com/tokio-rs/tokio/pull/5977 [#&#8203;5978]: https://github.com/tokio-rs/tokio/pull/5978 [#&#8203;5984]: https://github.com/tokio-rs/tokio/pull/5984 [#&#8203;5985]: https://github.com/tokio-rs/tokio/pull/5985 [#&#8203;5988]: https://github.com/tokio-rs/tokio/pull/5988 [#&#8203;5994]: https://github.com/tokio-rs/tokio/pull/5994 [#&#8203;5997]: https://github.com/tokio-rs/tokio/pull/5997 [#&#8203;5998]: https://github.com/tokio-rs/tokio/pull/5998 [#&#8203;6002]: https://github.com/tokio-rs/tokio/pull/6002 [#&#8203;6014]: https://github.com/tokio-rs/tokio/pull/6014 [#&#8203;6017]: https://github.com/tokio-rs/tokio/pull/6017 [#&#8203;6018]: https://github.com/tokio-rs/tokio/pull/6018 [#&#8203;6021]: https://github.com/tokio-rs/tokio/pull/6021 [#&#8203;6030]: https://github.com/tokio-rs/tokio/pull/6030 [#&#8203;6031]: https://github.com/tokio-rs/tokio/pull/6031 [#&#8203;6032]: https://github.com/tokio-rs/tokio/pull/6032 [#&#8203;6036]: https://github.com/tokio-rs/tokio/pull/6036 [#&#8203;6037]: https://github.com/tokio-rs/tokio/pull/6037 [#&#8203;6042]: https://github.com/tokio-rs/tokio/pull/6042 [#&#8203;6045]: https://github.com/tokio-rs/tokio/pull/6045 [#&#8203;6050]: https://github.com/tokio-rs/tokio/pull/6050 [#&#8203;6056]: https://github.com/tokio-rs/tokio/pull/6056 [#&#8203;6058]: https://github.com/tokio-rs/tokio/pull/6058 ### [`v1.32.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.32.1): Tokio v1.32.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.32.1) ### 1.32.1 (December 19, 2023) This is a forward part of a change that was backported to 1.25.3. ##### Fixed - io: add budgeting to `tokio::runtime::io::registration::async_io` ([#&#8203;6221]) [#&#8203;6221]: https://github.com/tokio-rs/tokio/pull/6221 ### [`v1.32.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.32.0): Tokio v1.32.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.31.0...tokio-1.32.0) ##### Fixed - sync: fix potential quadratic behavior in `broadcast::Receiver` ([#&#8203;5925]) ##### Added - process: stabilize `Command::raw_arg` ([#&#8203;5930]) - io: enable awaiting error readiness ([#&#8203;5781]) ##### Unstable - rt(alt): improve the scalability of alt runtime as the number of cores grows ([#&#8203;5935]) [#&#8203;5925]: https://github.com/tokio-rs/tokio/pull/5925 [#&#8203;5930]: https://github.com/tokio-rs/tokio/pull/5930 [#&#8203;5781]: https://github.com/tokio-rs/tokio/pull/5781 [#&#8203;5935]: https://github.com/tokio-rs/tokio/pull/5935 ### [`v1.31.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.31.0): Tokio v1.31.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.30.0...tokio-1.31.0) ##### Fixed - io: delegate `WriteHalf::poll_write_vectored` ([#&#8203;5914]) ##### Unstable - rt(unstable): fix memory leak in unstable next-gen scheduler prototype ([#&#8203;5911]) - rt: expose mean task poll time metric ([#&#8203;5927]) [#&#8203;5914]: https://github.com/tokio-rs/tokio/pull/5914 [#&#8203;5911]: https://github.com/tokio-rs/tokio/pull/5911 [#&#8203;5927]: https://github.com/tokio-rs/tokio/pull/5927 ### [`v1.30.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.30.0): Tokio v1.30.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.29.1...tokio-1.30.0) ### 1.30.0 (August 9, 2023) This release bumps the MSRV of Tokio to 1.63. ([#&#8203;5887]) ##### Changed - tokio: reduce LLVM code generation ([#&#8203;5859]) - io: support `--cfg mio_unsupported_force_poll_poll` flag ([#&#8203;5881]) - sync: make `const_new` methods always available ([#&#8203;5885]) - sync: avoid false sharing in mpsc channel ([#&#8203;5829]) - rt: pop at least one task from inject queue ([#&#8203;5908]) ##### Added - sync: add `broadcast::Sender::new` ([#&#8203;5824]) - net: implement `UCred` for espidf ([#&#8203;5868]) - fs: add `File::options()` ([#&#8203;5869]) - time: implement extra reset variants for `Interval` ([#&#8203;5878]) - process: add `{ChildStd*}::into_owned_{fd, handle}` ([#&#8203;5899]) ##### Removed - tokio: removed unused `tokio_*` cfgs ([#&#8203;5890]) - remove build script to speed up compilation ([#&#8203;5887]) ##### Documented - sync: mention lagging in docs for `broadcast::send` ([#&#8203;5820]) - runtime: expand on sharing runtime docs ([#&#8203;5858]) - io: use vec in example for `AsyncReadExt::read_exact` ([#&#8203;5863]) - time: mark `Sleep` as `!Unpin` in docs ([#&#8203;5916]) - process: fix `raw_arg` not showing up in docs ([#&#8203;5865]) ##### Unstable - rt: add runtime ID ([#&#8203;5864]) - rt: initial implementation of new threaded runtime ([#&#8203;5823]) [#&#8203;5820]: https://github.com/tokio-rs/tokio/pull/5820 [#&#8203;5823]: https://github.com/tokio-rs/tokio/pull/5823 [#&#8203;5824]: https://github.com/tokio-rs/tokio/pull/5824 [#&#8203;5829]: https://github.com/tokio-rs/tokio/pull/5829 [#&#8203;5858]: https://github.com/tokio-rs/tokio/pull/5858 [#&#8203;5859]: https://github.com/tokio-rs/tokio/pull/5859 [#&#8203;5863]: https://github.com/tokio-rs/tokio/pull/5863 [#&#8203;5864]: https://github.com/tokio-rs/tokio/pull/5864 [#&#8203;5865]: https://github.com/tokio-rs/tokio/pull/5865 [#&#8203;5868]: https://github.com/tokio-rs/tokio/pull/5868 [#&#8203;5869]: https://github.com/tokio-rs/tokio/pull/5869 [#&#8203;5878]: https://github.com/tokio-rs/tokio/pull/5878 [#&#8203;5881]: https://github.com/tokio-rs/tokio/pull/5881 [#&#8203;5885]: https://github.com/tokio-rs/tokio/pull/5885 [#&#8203;5887]: https://github.com/tokio-rs/tokio/pull/5887 [#&#8203;5890]: https://github.com/tokio-rs/tokio/pull/5890 [#&#8203;5899]: https://github.com/tokio-rs/tokio/pull/5899 [#&#8203;5908]: https://github.com/tokio-rs/tokio/pull/5908 [#&#8203;5916]: https://github.com/tokio-rs/tokio/pull/5916 ### [`v1.29.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.29.1): Tokio v1.29.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1) ##### Fixed - rt: fix nesting two `block_in_place` with a `block_on` between ([#&#8203;5837]) [#&#8203;5837]: https://github.com/tokio-rs/tokio/pull/5837 ### [`v1.29.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.29.0): Tokio v1.29.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0) Technically a breaking change, the `Send` implementation is removed from `runtime::EnterGuard`. This change fixes a bug and should not impact most users. ##### Breaking - rt: `EnterGuard` should not be `Send` ([#&#8203;5766]) ##### Fixed - fs: reduce blocking ops in `fs::read_dir` ([#&#8203;5653]) - rt: fix possible starvation ([#&#8203;5686], [#&#8203;5712]) - rt: fix stacked borrows issue in `JoinSet` ([#&#8203;5693]) - rt: panic if `EnterGuard` dropped incorrect order ([#&#8203;5772]) - time: do not overflow to signal value ([#&#8203;5710]) - fs: wait for in-flight ops before cloning `File` ([#&#8203;5803]) ##### Changed - rt: reduce time to poll tasks scheduled from outside the runtime ([#&#8203;5705], [#&#8203;5720]) ##### Added - net: add uds doc alias for unix sockets ([#&#8203;5659]) - rt: add metric for number of tasks ([#&#8203;5628]) - sync: implement more traits for channel errors ([#&#8203;5666]) - net: add nodelay methods on TcpSocket ([#&#8203;5672]) - sync: add `broadcast::Receiver::blocking_recv` ([#&#8203;5690]) - process: add `raw_arg` method to `Command` ([#&#8203;5704]) - io: support PRIORITY epoll events ([#&#8203;5566]) - task: add `JoinSet::poll_join_next` ([#&#8203;5721]) - net: add support for Redox OS ([#&#8203;5790]) ##### Unstable - rt: add the ability to dump task backtraces ([#&#8203;5608], [#&#8203;5676], [#&#8203;5708], [#&#8203;5717]) - rt: instrument task poll times with a histogram ([#&#8203;5685]) [#&#8203;5766]: https://github.com/tokio-rs/tokio/pull/5766 [#&#8203;5653]: https://github.com/tokio-rs/tokio/pull/5653 [#&#8203;5686]: https://github.com/tokio-rs/tokio/pull/5686 [#&#8203;5712]: https://github.com/tokio-rs/tokio/pull/5712 [#&#8203;5693]: https://github.com/tokio-rs/tokio/pull/5693 [#&#8203;5772]: https://github.com/tokio-rs/tokio/pull/5772 [#&#8203;5710]: https://github.com/tokio-rs/tokio/pull/5710 [#&#8203;5803]: https://github.com/tokio-rs/tokio/pull/5803 [#&#8203;5705]: https://github.com/tokio-rs/tokio/pull/5705 [#&#8203;5720]: https://github.com/tokio-rs/tokio/pull/5720 [#&#8203;5659]: https://github.com/tokio-rs/tokio/pull/5659 [#&#8203;5628]: https://github.com/tokio-rs/tokio/pull/5628 [#&#8203;5666]: https://github.com/tokio-rs/tokio/pull/5666 [#&#8203;5672]: https://github.com/tokio-rs/tokio/pull/5672 [#&#8203;5690]: https://github.com/tokio-rs/tokio/pull/5690 [#&#8203;5704]: https://github.com/tokio-rs/tokio/pull/5704 [#&#8203;5566]: https://github.com/tokio-rs/tokio/pull/5566 [#&#8203;5721]: https://github.com/tokio-rs/tokio/pull/5721 [#&#8203;5790]: https://github.com/tokio-rs/tokio/pull/5790 [#&#8203;5608]: https://github.com/tokio-rs/tokio/pull/5608 [#&#8203;5676]: https://github.com/tokio-rs/tokio/pull/5676 [#&#8203;5708]: https://github.com/tokio-rs/tokio/pull/5708 [#&#8203;5717]: https://github.com/tokio-rs/tokio/pull/5717 [#&#8203;5685]: https://github.com/tokio-rs/tokio/pull/5685 ### [`v1.28.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.28.2): Tokio v1.28.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.28.1...tokio-1.28.2) ##### 1.28.2 (May 28, 2023) Forward ports 1.18.6 changes. ##### Fixed - deps: disable default features for mio ([#&#8203;5728]) [#&#8203;5728]: https://github.com/tokio-rs/tokio/pull/5728 ### [`v1.28.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.28.1): Tokio v1.28.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.28.0...tokio-1.28.1) ### 1.28.1 (May 10th, 2023) This release fixes a mistake in the build script that makes `AsFd` implementations unavailable on Rust 1.63. ([#&#8203;5677]) [#&#8203;5677]: https://github.com/tokio-rs/tokio/pull/5677 ### [`v1.28.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.28.0): Tokio v1.28.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.0) ### 1.28.0 (April 25th, 2023) ##### Added - io: add `AsyncFd::async_io` ([#&#8203;5542]) - io: impl BufMut for ReadBuf ([#&#8203;5590]) - net: add `recv_buf` for `UdpSocket` and `UnixDatagram` ([#&#8203;5583]) - sync: add `OwnedSemaphorePermit::semaphore` ([#&#8203;5618]) - sync: add `same_channel` to broadcast channel ([#&#8203;5607]) - sync: add `watch::Receiver::wait_for` ([#&#8203;5611]) - task: add `JoinSet::spawn_blocking` and `JoinSet::spawn_blocking_on` ([#&#8203;5612]) ##### Changed - deps: update windows-sys to 0.48 ([#&#8203;5591]) - io: make `read_to_end` not grow unnecessarily ([#&#8203;5610]) - macros: make entrypoints more efficient ([#&#8203;5621]) - sync: improve Debug impl for `RwLock` ([#&#8203;5647]) - sync: reduce contention in `Notify` ([#&#8203;5503]) ##### Fixed - net: support `get_peer_cred` on AIX ([#&#8203;5065]) - sync: avoid deadlocks in `broadcast` with custom wakers ([#&#8203;5578]) ##### Documented - sync: fix typo in `Semaphore::MAX_PERMITS` ([#&#8203;5645]) - sync: fix typo in `tokio::sync::watch::Sender` docs ([#&#8203;5587]) [#&#8203;5065]: https://github.com/tokio-rs/tokio/pull/5065 [#&#8203;5503]: https://github.com/tokio-rs/tokio/pull/5503 [#&#8203;5542]: https://github.com/tokio-rs/tokio/pull/5542 [#&#8203;5578]: https://github.com/tokio-rs/tokio/pull/5578 [#&#8203;5583]: https://github.com/tokio-rs/tokio/pull/5583 [#&#8203;5587]: https://github.com/tokio-rs/tokio/pull/5587 [#&#8203;5590]: https://github.com/tokio-rs/tokio/pull/5590 [#&#8203;5591]: https://github.com/tokio-rs/tokio/pull/5591 [#&#8203;5607]: https://github.com/tokio-rs/tokio/pull/5607 [#&#8203;5610]: https://github.com/tokio-rs/tokio/pull/5610 [#&#8203;5611]: https://github.com/tokio-rs/tokio/pull/5611 [#&#8203;5612]: https://github.com/tokio-rs/tokio/pull/5612 [#&#8203;5618]: https://github.com/tokio-rs/tokio/pull/5618 [#&#8203;5621]: https://github.com/tokio-rs/tokio/pull/5621 [#&#8203;5645]: https://github.com/tokio-rs/tokio/pull/5645 [#&#8203;5647]: https://github.com/tokio-rs/tokio/pull/5647 ### [`v1.27.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.27.0): Tokio v1.27.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.26.0...tokio-1.27.0) ### 1.27.0 (March 27th, 2023) This release bumps the MSRV of Tokio to 1.56. ([#&#8203;5559]) ##### Added - io: add `async_io` helper method to sockets ([#&#8203;5512]) - io: add implementations of `AsFd`/`AsHandle`/`AsSocket` ([#&#8203;5514], [#&#8203;5540]) - net: add `UdpSocket::peek_sender()` ([#&#8203;5520]) - sync: add `RwLockWriteGuard::{downgrade_map, try_downgrade_map}` ([#&#8203;5527]) - task: add `JoinHandle::abort_handle` ([#&#8203;5543]) ##### Changed - io: use `memchr` from `libc` ([#&#8203;5558]) - macros: accept path as crate rename in `#[tokio::main]` ([#&#8203;5557]) - macros: update to syn 2.0.0 ([#&#8203;5572]) - time: don't register for a wakeup when `Interval` returns `Ready` ([#&#8203;5553]) ##### Fixed - fs: fuse std iterator in `ReadDir` ([#&#8203;5555]) - tracing: fix `spawn_blocking` location fields ([#&#8203;5573]) - time: clean up redundant check in `Wheel::poll()` ([#&#8203;5574]) ##### Documented - macros: define cancellation safety ([#&#8203;5525]) - io: add details to docs of `tokio::io::copy[_buf]` ([#&#8203;5575]) - io: refer to `ReaderStream` and `StreamReader` in module docs ([#&#8203;5576]) [#&#8203;5512]: https://github.com/tokio-rs/tokio/pull/5512 [#&#8203;5514]: https://github.com/tokio-rs/tokio/pull/5514 [#&#8203;5520]: https://github.com/tokio-rs/tokio/pull/5520 [#&#8203;5525]: https://github.com/tokio-rs/tokio/pull/5525 [#&#8203;5527]: https://github.com/tokio-rs/tokio/pull/5527 [#&#8203;5540]: https://github.com/tokio-rs/tokio/pull/5540 [#&#8203;5543]: https://github.com/tokio-rs/tokio/pull/5543 [#&#8203;5553]: https://github.com/tokio-rs/tokio/pull/5553 [#&#8203;5555]: https://github.com/tokio-rs/tokio/pull/5555 [#&#8203;5557]: https://github.com/tokio-rs/tokio/pull/5557 [#&#8203;5558]: https://github.com/tokio-rs/tokio/pull/5558 [#&#8203;5559]: https://github.com/tokio-rs/tokio/pull/5559 [#&#8203;5572]: https://github.com/tokio-rs/tokio/pull/5572 [#&#8203;5573]: https://github.com/tokio-rs/tokio/pull/5573 [#&#8203;5574]: https://github.com/tokio-rs/tokio/pull/5574 [#&#8203;5575]: https://github.com/tokio-rs/tokio/pull/5575 [#&#8203;5576]: https://github.com/tokio-rs/tokio/pull/5576 ### [`v1.26.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.26.0): Tokio v1.26.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.25.3...tokio-1.26.0) ##### Fixed - macros: fix empty `join!` and `try_join!` ([https://github.com/tokio-rs/tokio/pull/5504]) - sync: don't leak tracing spans in mutex guards ([https://github.com/tokio-rs/tokio/pull/5469]) - sync: drop wakers after unlocking the mutex in Notify ([https://github.com/tokio-rs/tokio/pull/5471]) - sync: drop wakers outside lock in semaphore ([https://github.com/tokio-rs/tokio/pull/5475]) ##### Added - fs: add `fs::try_exists` ([https://github.com/tokio-rs/tokio/pull/4299]) - net: add types for named unix pipes ([https://github.com/tokio-rs/tokio/pull/5351]) - sync: add `MappedOwnedMutexGuard` ([https://github.com/tokio-rs/tokio/pull/5474]) ##### Changed - chore: update windows-sys to 0.45 ([https://github.com/tokio-rs/tokio/pull/5386]) - net: use Message Read Mode for named pipes ([https://github.com/tokio-rs/tokio/pull/5350]) - sync: mark lock guards with `#[clippy::has_significant_drop]` ([https://github.com/tokio-rs/tokio/pull/5422]) - sync: reduce contention in watch channel ([https://github.com/tokio-rs/tokio/pull/5464]) - time: remove cache padding in timer entries ([https://github.com/tokio-rs/tokio/pull/5468]) - time: Improve `Instant::now()` perf with test-util ([https://github.com/tokio-rs/tokio/pull/5513]) ##### Internal Changes - io: use `poll_fn` in `copy_bidirectional` ([https://github.com/tokio-rs/tokio/pull/5486]) - net: refactor named pipe builders to not use bitfields ([https://github.com/tokio-rs/tokio/pull/5477]) - rt: remove Arc from Clock ([https://github.com/tokio-rs/tokio/pull/5434]) - sync: make `notify_waiters` calls atomic ([https://github.com/tokio-rs/tokio/pull/5458]) - time: don't store deadline twice in sleep entries ([https://github.com/tokio-rs/tokio/pull/5410]) ##### Unstable - metrics: add a new metric for budget exhaustion yields ([https://github.com/tokio-rs/tokio/pull/5517]) ##### Documented - io: improve AsyncFd example ([https://github.com/tokio-rs/tokio/pull/5481]) - runtime: document the nature of the main future ([https://github.com/tokio-rs/tokio/pull/5494]) - runtime: remove extra period in docs ([https://github.com/tokio-rs/tokio/pull/5511]) - signal: updated Documentation for Signals ([https://github.com/tokio-rs/tokio/pull/5459]) - sync: add doc aliases for `blocking_*` methods ([https://github.com/tokio-rs/tokio/pull/5448]) - sync: fix docs for Send/Sync bounds in broadcast ([https://github.com/tokio-rs/tokio/pull/5480]) - sync: document drop behavior for channels ([https://github.com/tokio-rs/tokio/pull/5497]) - task: clarify what happens to spawned work during runtime shutdown ([https://github.com/tokio-rs/tokio/pull/5394]) - task: clarify `process::Command` docs ([https://github.com/tokio-rs/tokio/pull/5413]) - task: fix wording with 'unsend' ([https://github.com/tokio-rs/tokio/pull/5452]) - time: document immediate completion guarantee for timeouts ([https://github.com/tokio-rs/tokio/pull/5509]) - tokio: document supported platforms ([https://github.com/tokio-rs/tokio/pull/5483]) [https://github.com/tokio-rs/tokio/pull/4299]: https://github.com/tokio-rs/tokio/pull/4299 [https://github.com/tokio-rs/tokio/pull/5350]: https://github.com/tokio-rs/tokio/pull/5350 [https://github.com/tokio-rs/tokio/pull/5351]: https://github.com/tokio-rs/tokio/pull/5351 [https://github.com/tokio-rs/tokio/pull/5386]: https://github.com/tokio-rs/tokio/pull/5386 [https://github.com/tokio-rs/tokio/pull/5394]: https://github.com/tokio-rs/tokio/pull/5394 [https://github.com/tokio-rs/tokio/pull/5410]: https://github.com/tokio-rs/tokio/pull/5410 [https://github.com/tokio-rs/tokio/pull/5413]: https://github.com/tokio-rs/tokio/pull/5413 [https://github.com/tokio-rs/tokio/pull/5422]: https://github.com/tokio-rs/tokio/pull/5422 [https://github.com/tokio-rs/tokio/pull/5434]: https://github.com/tokio-rs/tokio/pull/5434 [https://github.com/tokio-rs/tokio/pull/5448]: https://github.com/tokio-rs/tokio/pull/5448 [https://github.com/tokio-rs/tokio/pull/5452]: https://github.com/tokio-rs/tokio/pull/5452 [https://github.com/tokio-rs/tokio/pull/5458]: https://github.com/tokio-rs/tokio/pull/5458 [https://github.com/tokio-rs/tokio/pull/5459]: https://github.com/tokio-rs/tokio/pull/5459 [https://github.com/tokio-rs/tokio/pull/5464]: https://github.com/tokio-rs/tokio/pull/5464 [https://github.com/tokio-rs/tokio/pull/5468]: https://github.com/tokio-rs/tokio/pull/5468 [https://github.com/tokio-rs/tokio/pull/5469]: https://github.com/tokio-rs/tokio/pull/5469 [https://github.com/tokio-rs/tokio/pull/5471]: https://github.com/tokio-rs/tokio/pull/5471 [https://github.com/tokio-rs/tokio/pull/5474]: https://github.com/tokio-rs/tokio/pull/5474 [https://github.com/tokio-rs/tokio/pull/5475]: https://github.com/tokio-rs/tokio/pull/5475 [https://github.com/tokio-rs/tokio/pull/5477]: https://github.com/tokio-rs/tokio/pull/5477 [https://github.com/tokio-rs/tokio/pull/5480]: https://github.com/tokio-rs/tokio/pull/5480 [https://github.com/tokio-rs/tokio/pull/5481]: https://github.com/tokio-rs/tokio/pull/5481 [https://github.com/tokio-rs/tokio/pull/5483]: https://github.com/tokio-rs/tokio/pull/5483 [https://github.com/tokio-rs/tokio/pull/5486]: https://github.com/tokio-rs/tokio/pull/5486 [https://github.com/tokio-rs/tokio/pull/5494]: https://github.com/tokio-rs/tokio/pull/5494 [https://github.com/tokio-rs/tokio/pull/5497]: https://github.com/tokio-rs/tokio/pull/5497 [https://github.com/tokio-rs/tokio/pull/5504]: https://github.com/tokio-rs/tokio/pull/5504 [https://github.com/tokio-rs/tokio/pull/5509]: https://github.com/tokio-rs/tokio/pull/5509 [https://github.com/tokio-rs/tokio/pull/5511]: https://github.com/tokio-rs/tokio/pull/5511 [https://github.com/tokio-rs/tokio/pull/5513]: https://github.com/tokio-rs/tokio/pull/5513 [https://github.com/tokio-rs/tokio/pull/5517]: https://github.com/tokio-rs/tokio/pull/5517 ### [`v1.25.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.25.3): Tokio v1.25.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.25.2...tokio-1.25.3) ### 1.25.3 (December 17th, 2023) ##### Fixed - io: add budgeting to `tokio::runtime::io::registration::async_io` ([#&#8203;6221]) [#&#8203;6221]: https://github.com/tokio-rs/tokio/pull/6221 ### [`v1.25.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.25.2): Tokio v1.25.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.25.1...tokio-1.25.2) ### 1.25.2 (September 22, 2023) Forward ports 1.20.6 changes. ##### Changed - io: use `memchr` from `libc` ([#&#8203;5960]) [#&#8203;5960]: https://github.com/tokio-rs/tokio/pull/5960 ### [`v1.25.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.25.1): Tokio v1.25.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.25.0...tokio-1.25.1) ### 1.25.1 (May 28, 2023) Forward ports 1.18.6 changes. ##### Fixed - deps: disable default features for mio ([#&#8203;5728]) [#&#8203;5728]: https://github.com/tokio-rs/tokio/pull/5728 ### [`v1.25.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.25.0): Tokio v1.25.0 ### 1.25.0 (January 28, 2023) ##### Fixed - rt: fix runtime metrics reporting ([#&#8203;5330]) ##### Added - sync: add `broadcast::Sender::len` ([#&#8203;5343]) ##### Changed - fs: increase maximum read buffer size to 2MiB ([#&#8203;5397]) [#&#8203;5330]: https://github.com/tokio-rs/tokio/pull/5330 [#&#8203;5343]: https://github.com/tokio-rs/tokio/pull/5343 [#&#8203;5397]: https://github.com/tokio-rs/tokio/pull/5397 ### [`v1.24.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.24.1): Tokio v1.24.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.24.0...tokio-1.24.1) This release fixes a compilation failure on targets without `AtomicU64` when using rustc older than 1.63. ([#&#8203;5356]) [#&#8203;5356]: https://github.com/tokio-rs/tokio/pull/5356 ### [`v1.24.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.24.0): Tokio v1.24.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.23.1...tokio-1.24.0) The highlight of this release is the reduction of lock contention for all I/O operations ([#&#8203;5300](https://github.com/tokio-rs/tokio/issues/5300)). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications. ##### Fixed - rt: improve native `AtomicU64` support detection ([#&#8203;5284]) ##### Added - rt: add configuration option for max number of I/O events polled from the OS per tick ([#&#8203;5186]) - rt: add an environment variable for configuring the default number of worker threads per runtime instance ([#&#8203;4250]) ##### Changed - sync: reduce MPSC channel stack usage ([#&#8203;5294]) - io: reduce lock contention in I/O operations ([#&#8203;5300]) - fs: speed up `read_dir()` by chunking operations ([#&#8203;5309]) - rt: use internal `ThreadId` implementation ([#&#8203;5329]) - test: don't auto-advance time when a `spawn_blocking` task is running ([#&#8203;5115]) [#&#8203;5186]: https://github.com/tokio-rs/tokio/pull/5186 [#&#8203;5294]: https://github.com/tokio-rs/tokio/pull/5294 [#&#8203;5284]: https://github.com/tokio-rs/tokio/pull/5284 [#&#8203;4250]: https://github.com/tokio-rs/tokio/pull/4250 [#&#8203;5300]: https://github.com/tokio-rs/tokio/pull/5300 [#&#8203;5329]: https://github.com/tokio-rs/tokio/pull/5329 [#&#8203;5115]: https://github.com/tokio-rs/tokio/pull/5115 [#&#8203;5309]: https://github.com/tokio-rs/tokio/pull/5309 ### [`v1.23.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.23.1): Tokio v1.23.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.23.0...tokio-1.23.1) This release forward ports changes from 1.18.4. ##### Fixed - net: fix Windows named pipe server builder to maintain option when toggling pipe mode ([#&#8203;5336]). [#&#8203;5336]: https://github.com/tokio-rs/tokio/pull/5336 ### [`v1.23.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.23.0): Tokio v1.23.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.22.0...tokio-1.23.0) ##### Fixed - net: fix Windows named pipe connect ([#&#8203;5208]) - io: support vectored writes for `ChildStdin` ([#&#8203;5216]) - io: fix `async fn ready()` false positive for OS-specific events ([#&#8203;5231]) ##### Changed - runtime: `yield_now` defers task until after driver poll ([#&#8203;5223]) - runtime: reduce amount of codegen needed per spawned task ([#&#8203;5213]) - windows: replace `winapi` dependency with `windows-sys` ([#&#8203;5204]) [#&#8203;5208]: https://github.com/tokio-rs/tokio/pull/5208 [#&#8203;5216]: https://github.com/tokio-rs/tokio/pull/5216 [#&#8203;5213]: https://github.com/tokio-rs/tokio/pull/5213 [#&#8203;5204]: https://github.com/tokio-rs/tokio/pull/5204 [#&#8203;5223]: https://github.com/tokio-rs/tokio/pull/5223 [#&#8203;5231]: https://github.com/tokio-rs/tokio/pull/5231 ### [`v1.22.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.22.0): Tokio v1.22.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.21.2...tokio-1.22.0) ##### Added - runtime: add `Handle::runtime_flavor` ([#&#8203;5138]) - sync: add `Mutex::blocking_lock_owned` ([#&#8203;5130]) - sync: add `Semaphore::MAX_PERMITS` ([#&#8203;5144]) - sync: add `merge()` to semaphore permits ([#&#8203;4948]) - sync: add `mpsc::WeakUnboundedSender` ([#&#8203;5189]) ##### Added (unstable) - process: add `Command::process_group` ([#&#8203;5114]) - runtime: export metrics about the blocking thread pool ([#&#8203;5161]) - task: add `task::id()` and `task::try_id()` ([#&#8203;5171]) ##### Fixed - macros: don't take ownership of futures in macros ([#&#8203;5087]) - runtime: fix Stacked Borrows violation in `LocalOwnedTasks` ([#&#8203;5099]) - runtime: mitigate ABA with 32-bit queue indices when possible ([#&#8203;5042]) - task: wake local tasks to the local queue when woken by the same thread ([#&#8203;5095]) - time: panic in release mode when `mark_pending` called illegally ([#&#8203;5093]) - runtime: fix typo in expect message ([#&#8203;5169]) - runtime: fix `unsync_load` on atomic types ([#&#8203;5175]) - task: elaborate safety comments in task deallocation ([#&#8203;5172]) - runtime: fix `LocalSet` drop in thread local ([#&#8203;5179]) - net: remove libc type leakage in a public API ([#&#8203;5191]) - runtime: update the alignment of `CachePadded` ([#&#8203;5106]) ##### Changed - io: make `tokio::io::copy` continue filling the buffer when writer stalls ([#&#8203;5066]) - runtime: remove `coop::budget` from `LocalSet::run_until` ([#&#8203;5155]) - sync: make `Notify` panic safe ([#&#8203;5154]) ##### Documented - io: fix doc for `write_i8` to use signed integers ([#&#8203;5040]) - net: fix doc typos for TCP and UDP `set_tos` methods ([#&#8203;5073]) - net: fix function name in `UdpSocket::recv` documentation ([#&#8203;5150]) - sync: typo in `TryLockError` for `RwLock::try_write` ([#&#8203;5160]) - task: document that spawned tasks execute immediately ([#&#8203;5117]) - time: document return type of `timeout` ([#&#8203;5118]) - time: document that `timeout` checks only before poll ([#&#8203;5126]) - sync: specify return type of `oneshot::Receiver` in docs ([#&#8203;5198]) ##### Internal changes - runtime: use const `Mutex::new` for globals ([#&#8203;5061]) - runtime: remove `Option` around `mio::Events` in io driver ([#&#8203;5078]) - runtime: remove a conditional compilation clause ([#&#8203;5104]) - runtime: remove a reference to internal time handle ([#&#8203;5107]) - runtime: misc time driver cleanup ([#&#8203;5120]) - runtime: move signal driver to runtime module ([#&#8203;5121]) - runtime: signal driver now uses I/O driver directly ([#&#8203;5125]) - runtime: start decoupling I/O driver and I/O handle ([#&#8203;5127]) - runtime: switch `io::handle` refs with scheduler:Handle ([#&#8203;5128]) - runtime: remove Arc from I/O driver ([#&#8203;5134]) - runtime: use signal driver handle via `scheduler::Handle` ([#&#8203;5135]) - runtime: move internal clock fns out of context ([#&#8203;5139]) - runtime: remove `runtime::context` module ([#&#8203;5140]) - runtime: keep driver cfgs in `driver.rs` ([#&#8203;5141]) - runtime: add `runtime::context` to unify thread-locals ([#&#8203;5143]) - runtime: rename some confusing internal variables/fns ([#&#8203;5151]) - runtime: move `coop` mod into `runtime` ([#&#8203;5152]) - runtime: move budget state to context thread-local ([#&#8203;5157]) - runtime: move park logic into runtime module ([#&#8203;5158]) - runtime: move `Runtime` into its own file ([#&#8203;5159]) - runtime: unify entering a runtime with `Handle::enter` ([#&#8203;5163]) - runtime: remove handle reference from each scheduler ([#&#8203;5166]) - runtime: move `enter` into `context` ([#&#8203;5167]) - runtime: combine context and entered thread-locals ([#&#8203;5168]) - runtime: fix accidental unsetting of current handle ([#&#8203;5178]) - runtime: move `CoreStage` methods to `Core` ([#&#8203;5182]) - sync: name mpsc semaphore types ([#&#8203;5146]) [#&#8203;4948]: https://github.com/tokio-rs/tokio/pull/4948 [#&#8203;5040]: https://github.com/tokio-rs/tokio/pull/5040 [#&#8203;5042]: https://github.com/tokio-rs/tokio/pull/5042 [#&#8203;5061]: https://github.com/tokio-rs/tokio/pull/5061 [#&#8203;5066]: https://github.com/tokio-rs/tokio/pull/5066 [#&#8203;5073]: https://github.com/tokio-rs/tokio/pull/5073 [#&#8203;5078]: https://github.com/tokio-rs/tokio/pull/5078 [#&#8203;5087]: https://github.com/tokio-rs/tokio/pull/5087 [#&#8203;5093]: https://github.com/tokio-rs/tokio/pull/5093 [#&#8203;5095]: https://github.com/tokio-rs/tokio/pull/5095 [#&#8203;5099]: https://github.com/tokio-rs/tokio/pull/5099 [#&#8203;5104]: https://github.com/tokio-rs/tokio/pull/5104 [#&#8203;5106]: https://github.com/tokio-rs/tokio/pull/5106 [#&#8203;5107]: https://github.com/tokio-rs/tokio/pull/5107 [#&#8203;5114]: https://github.com/tokio-rs/tokio/pull/5114 [#&#8203;5117]: https://github.com/tokio-rs/tokio/pull/5117 [#&#8203;5118]: https://github.com/tokio-rs/tokio/pull/5118 [#&#8203;5120]: https://github.com/tokio-rs/tokio/pull/5120 [#&#8203;5121]: https://github.com/tokio-rs/tokio/pull/5121 [#&#8203;5125]: https://github.com/tokio-rs/tokio/pull/5125 [#&#8203;5126]: https://github.com/tokio-rs/tokio/pull/5126 [#&#8203;5127]: https://github.com/tokio-rs/tokio/pull/5127 [#&#8203;5128]: https://github.com/tokio-rs/tokio/pull/5128 [#&#8203;5130]: https://github.com/tokio-rs/tokio/pull/5130 [#&#8203;5134]: https://github.com/tokio-rs/tokio/pull/5134 [#&#8203;5135]: https://github.com/tokio-rs/tokio/pull/5135 [#&#8203;5138]: https://github.com/tokio-rs/tokio/pull/5138 [#&#8203;5138]: https://github.com/tokio-rs/tokio/pull/5138 [#&#8203;5139]: https://github.com/tokio-rs/tokio/pull/5139 [#&#8203;5140]: https://github.com/tokio-rs/tokio/pull/5140 [#&#8203;5141]: https://github.com/tokio-rs/tokio/pull/5141 [#&#8203;5143]: https://github.com/tokio-rs/tokio/pull/5143 [#&#8203;5144]: https://github.com/tokio-rs/tokio/pull/5144 [#&#8203;5144]: https://github.com/tokio-rs/tokio/pull/5144 [#&#8203;5146]: https://github.com/tokio-rs/tokio/pull/5146 [#&#8203;5150]: https://github.com/tokio-rs/tokio/pull/5150 [#&#8203;5151]: https://github.com/tokio-rs/tokio/pull/5151 [#&#8203;5152]: https://github.com/tokio-rs/tokio/pull/5152 [#&#8203;5154]: https://github.com/tokio-rs/tokio/pull/5154 [#&#8203;5155]: https://github.com/tokio-rs/tokio/pull/5155 [#&#8203;5157]: https://github.com/tokio-rs/tokio/pull/5157 [#&#8203;5158]: https://github.com/tokio-rs/tokio/pull/5158 [#&#8203;5159]: https://github.com/tokio-rs/tokio/pull/5159 [#&#8203;5160]: https://github.com/tokio-rs/tokio/pull/5160 [#&#8203;5161]: https://github.com/tokio-rs/tokio/pull/5161 [#&#8203;5163]: https://github.com/tokio-rs/tokio/pull/5163 [#&#8203;5166]: https://github.com/tokio-rs/tokio/pull/5166 [#&#8203;5167]: https://github.com/tokio-rs/tokio/pull/5167 [#&#8203;5168]: https://github.com/tokio-rs/tokio/pull/5168 [#&#8203;5169]: https://github.com/tokio-rs/tokio/pull/5169 [#&#8203;5171]: https://github.com/tokio-rs/tokio/pull/5171 [#&#8203;5172]: https://github.com/tokio-rs/tokio/pull/5172 [#&#8203;5175]: https://github.com/tokio-rs/tokio/pull/5175 [#&#8203;5178]: https://github.com/tokio-rs/tokio/pull/5178 [#&#8203;5179]: https://github.com/tokio-rs/tokio/pull/5179 [#&#8203;5182]: https://github.com/tokio-rs/tokio/pull/5182 [#&#8203;5189]: https://github.com/tokio-rs/tokio/pull/5189 [#&#8203;5191]: https://github.com/tokio-rs/tokio/pull/5191 [#&#8203;5198]: https://github.com/tokio-rs/tokio/pull/5198 </details> <details> <summary>j0rsa/transmission-rpc (transmission-rpc)</summary> ### [`v0.5.0`](https://github.com/j0rsa/transmission-rpc/releases/tag/v0.5.0) [Compare Source](https://github.com/j0rsa/transmission-rpc/compare/v0.4.3...v0.5.0) #### What's Changed - Add Copy trait to Priority enum by [@&#8203;Beastwick18](https://github.com/Beastwick18) in https://github.com/j0rsa/transmission-rpc/pull/86 - \[BREAKING CHANGE] Implement remaining torrent-get fields by [@&#8203;lv10wizard](https://github.com/lv10wizard) in https://github.com/j0rsa/transmission-rpc/pull/92 - \[BREAKING CHANGE] Implement group, sequentialDownload for torrent-set by [@&#8203;lv10wizard](https://github.com/lv10wizard) in https://github.com/j0rsa/transmission-rpc/pull/94 - Add peer-port to session-get response by [@&#8203;quietvoid](https://github.com/quietvoid) in https://github.com/j0rsa/transmission-rpc/pull/96 #### New Contributors - [@&#8203;Beastwick18](https://github.com/Beastwick18) made their first contribution in https://github.com/j0rsa/transmission-rpc/pull/86 - [@&#8203;lv10wizard](https://github.com/lv10wizard) made their first contribution in https://github.com/j0rsa/transmission-rpc/pull/92 **Full Changelog**: https://github.com/j0rsa/transmission-rpc/compare/v0.4.3...v0.5.0 ### [`v0.4.3`](https://github.com/j0rsa/transmission-rpc/releases/tag/v0.4.3) [Compare Source](https://github.com/j0rsa/transmission-rpc/compare/v0.4.2...v0.4.3) #### What's Changed - Add bandwidth_priority to torrent set args by [@&#8203;takaki](https://github.com/takaki) in https://github.com/j0rsa/transmission-rpc/pull/73 - Fix enum Priority derive by [@&#8203;takaki](https://github.com/takaki) in https://github.com/j0rsa/transmission-rpc/pull/74 - Add trackeStats and trackerList to Torrent params by [@&#8203;takaki](https://github.com/takaki) in https://github.com/j0rsa/transmission-rpc/pull/75 - fixed Rpc error when RpcResponseArgument is empty after torrent_add call by [@&#8203;PetitVerglas](https://github.com/PetitVerglas) in https://github.com/j0rsa/transmission-rpc/pull/87 - Clippy replacement by [@&#8203;red-avtovo](https://github.com/red-avtovo) in https://github.com/j0rsa/transmission-rpc/pull/89 - Update env_logger requirement from 0.10.0 to 0.11.3 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/j0rsa/transmission-rpc/pull/80 - Update enum-iterator requirement from 1.4.1 to 2.1.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/j0rsa/transmission-rpc/pull/90 - Update reqwest requirement from 0.11.22 to 0.12.5 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/j0rsa/transmission-rpc/pull/91 #### New Contributors - [@&#8203;PetitVerglas](https://github.com/PetitVerglas) made their first contribution in https://github.com/j0rsa/transmission-rpc/pull/87 **Full Changelog**: https://github.com/j0rsa/transmission-rpc/compare/v0.4.2...v0.4.3 ### [`v0.4.2`](https://github.com/j0rsa/transmission-rpc/releases/tag/v0.4.2) #### What's Changed - Fix test for torrent-add by [@&#8203;takaki](https://github.com/takaki) in https://github.com/j0rsa/transmission-rpc/pull/68 - implement session-set method by [@&#8203;takaki](https://github.com/takaki) in https://github.com/j0rsa/transmission-rpc/pull/67 - Add torrent file-count field by [@&#8203;quietvoid](https://github.com/quietvoid) in https://github.com/j0rsa/transmission-rpc/pull/70 - Expose RpcResponseArgument type by [@&#8203;quietvoid](https://github.com/quietvoid) in https://github.com/j0rsa/transmission-rpc/pull/69 #### New Contributors - [@&#8203;takaki](https://github.com/takaki) made their first contribution in https://github.com/j0rsa/transmission-rpc/pull/68 - [@&#8203;quietvoid](https://github.com/quietvoid) made their first contribution in https://github.com/j0rsa/transmission-rpc/pull/70 **Full Changelog**: https://github.com/j0rsa/transmission-rpc/compare/v1.4.1...v0.4.2 ### [`v0.4.0`](https://github.com/j0rsa/transmission-rpc/releases/tag/v0.4.0) [Compare Source](https://github.com/j0rsa/transmission-rpc/compare/v0.3.7...v0.4.0) #### What's Changed - Enum iterator 1.2.0 by [@&#8203;red-avtovo](https://github.com/red-avtovo) in https://github.com/j0rsa/transmission-rpc/pull/54 - Use reqwest::Url for TransClient argument by [@&#8203;vorot93](https://github.com/vorot93) in https://github.com/j0rsa/transmission-rpc/pull/55 - Clippy fix by [@&#8203;vorot93](https://github.com/vorot93) in https://github.com/j0rsa/transmission-rpc/pull/56 - Expand torrent-set by [@&#8203;vorot93](https://github.com/vorot93) in https://github.com/j0rsa/transmission-rpc/pull/57 - Add torrentFile field by [@&#8203;vorot93](https://github.com/vorot93) in https://github.com/j0rsa/transmission-rpc/pull/58 - Use serde's rename_all everywhere by [@&#8203;vorot93](https://github.com/vorot93) in https://github.com/j0rsa/transmission-rpc/pull/59 - Represent torrent status as enum by [@&#8203;vorot93](https://github.com/vorot93) in https://github.com/j0rsa/transmission-rpc/pull/60 - SharableTransClient: take `&self` for rpc methods by [@&#8203;George-Miao](https://github.com/George-Miao) in https://github.com/j0rsa/transmission-rpc/pull/61 #### New Contributors - [@&#8203;George-Miao](https://github.com/George-Miao) made their first contribution in https://github.com/j0rsa/transmission-rpc/pull/61 **Full Changelog**: https://github.com/j0rsa/transmission-rpc/compare/v0.3.7...v0.4.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yNDEuMTEiLCJ1cGRhdGVkSW5WZXIiOiIzOS4yMzYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
kjuulh force-pushed renovate/all from 4fbbcbf856 to c81ea76fbc 2022-11-07 11:52:46 +01:00 Compare
kjuulh changed title from Update Rust crate transmission-rpc to 0.4.0 to Update all dependencies 2022-11-07 11:52:47 +01:00
kjuulh force-pushed renovate/all from c81ea76fbc to ae1697801f 2022-11-07 14:44:23 +01:00 Compare
kjuulh force-pushed renovate/all from ae1697801f to 8f8342e3f7 2022-11-18 22:48:50 +01:00 Compare
kjuulh force-pushed renovate/all from 8f8342e3f7 to 9047a8e4bb 2022-11-24 19:05:29 +01:00 Compare
kjuulh force-pushed renovate/all from 9047a8e4bb to 62305505ae 2022-12-06 20:00:44 +01:00 Compare
kjuulh force-pushed renovate/all from 62305505ae to 885dc2f0e3 2023-01-04 20:27:31 +01:00 Compare
kjuulh force-pushed renovate/all from 885dc2f0e3 to 5f83eb9dd3 2023-01-05 20:27:01 +01:00 Compare
kjuulh force-pushed renovate/all from 5f83eb9dd3 to 21113a6160 2023-01-06 12:25:51 +01:00 Compare
kjuulh force-pushed renovate/all from 21113a6160 to 71a65dea4d 2023-01-17 22:26:45 +01:00 Compare
kjuulh force-pushed renovate/all from 71a65dea4d to aee59cfe4d 2023-01-29 22:58:53 +01:00 Compare
kjuulh force-pushed renovate/all from aee59cfe4d to f2458b8691 2023-03-02 08:29:01 +01:00 Compare
kjuulh force-pushed renovate/all from f2458b8691 to a70d7a45c5 2023-03-08 20:16:05 +01:00 Compare
kjuulh force-pushed renovate/all from a70d7a45c5 to e5ffc909ff 2023-03-28 00:31:55 +02:00 Compare
kjuulh force-pushed renovate/all from e5ffc909ff to f46fa23880 2023-04-26 22:21:00 +02:00 Compare
kjuulh force-pushed renovate/all from f46fa23880 to 2cde225dd6 2023-05-10 12:34:23 +02:00 Compare
kjuulh force-pushed renovate/all from 2cde225dd6 to afd56fbda2 2023-05-27 23:28:03 +02:00 Compare
kjuulh force-pushed renovate/all from afd56fbda2 to 3ae574690c 2023-05-28 07:06:22 +02:00 Compare
kjuulh force-pushed renovate/all from 3ae574690c to ed25e4a26e 2023-06-11 05:17:05 +02:00 Compare
kjuulh force-pushed renovate/all from ed25e4a26e to 5572b8410b 2023-06-28 00:15:49 +02:00 Compare
kjuulh force-pushed renovate/all from 5572b8410b to 68583bc18b 2023-06-30 00:27:03 +02:00 Compare
kjuulh force-pushed renovate/all from 68583bc18b to e069b2f277 2023-08-09 17:54:16 +02:00 Compare
kjuulh force-pushed renovate/all from e069b2f277 to 37aaf053da 2023-08-12 13:23:24 +02:00 Compare
kjuulh force-pushed renovate/all from 37aaf053da to d70f7f0055 2023-08-12 18:45:45 +02:00 Compare
kjuulh force-pushed renovate/all from d70f7f0055 to 5b1bb421a8 2023-08-16 23:40:49 +02:00 Compare
kjuulh force-pushed renovate/all from 5b1bb421a8 to 34cc79fb12 2023-10-09 12:30:28 +02:00 Compare
kjuulh force-pushed renovate/all from 34cc79fb12 to 25b83b3a1b 2023-11-06 17:21:29 +01:00 Compare
kjuulh force-pushed renovate/all from 25b83b3a1b to 1e664593e7 2023-11-09 21:30:30 +01:00 Compare
kjuulh force-pushed renovate/all from 1e664593e7 to dc1c4aa6fe 2023-11-10 16:14:15 +01:00 Compare
kjuulh force-pushed renovate/all from dc1c4aa6fe to 9d6788e95d 2023-12-09 00:13:18 +01:00 Compare
kjuulh force-pushed renovate/all from 9d6788e95d to dc7f62fb53 2023-12-19 19:37:00 +01:00 Compare
kjuulh force-pushed renovate/all from dc7f62fb53 to f17aea0574 2024-01-18 03:21:13 +01:00 Compare
kjuulh force-pushed renovate/all from f17aea0574 to 388b7fe67f 2024-01-19 19:46:09 +01:00 Compare
kjuulh force-pushed renovate/all from 388b7fe67f to 550a17a79d 2024-01-27 05:02:07 +01:00 Compare
kjuulh force-pushed renovate/all from 550a17a79d to ef00dd4030 2024-02-02 14:02:48 +01:00 Compare
kjuulh force-pushed renovate/all from ef00dd4030 to da18a47afe 2024-02-13 22:16:40 +01:00 Compare
kjuulh force-pushed renovate/all from da18a47afe to f269b0592d 2024-02-28 22:52:27 +01:00 Compare
kjuulh force-pushed renovate/all from f269b0592d to 2778578051 2024-03-05 16:06:17 +01:00 Compare
kjuulh force-pushed renovate/all from 2778578051 to e4e7025fbe 2024-03-28 18:13:31 +01:00 Compare
kjuulh force-pushed renovate/all from e4e7025fbe to 27497c3f1e 2024-05-23 22:35:36 +02:00 Compare
kjuulh force-pushed renovate/all from 27497c3f1e to 7f7130b3cc 2024-08-21 23:45:03 +02:00 Compare
kjuulh force-pushed renovate/all from 7f7130b3cc to 92f01bcbe3 2024-08-30 10:49:13 +02:00 Compare
kjuulh force-pushed renovate/all from 92f01bcbe3 to a137de7899 2024-08-30 11:31:17 +02:00 Compare
kjuulh force-pushed renovate/all from a137de7899 to ee3e82780a 2024-10-23 03:25:31 +02:00 Compare
kjuulh force-pushed renovate/all from ee3e82780a to 383f107e12 2024-10-23 07:24:54 +02:00 Compare
kjuulh force-pushed renovate/all from 383f107e12 to c436f7c967 2024-11-08 03:04:46 +01:00 Compare
kjuulh force-pushed renovate/all from c436f7c967 to 37b0cba214 2024-11-08 06:58:56 +01:00 Compare
kjuulh force-pushed renovate/all from 37b0cba214 to 861d255f8e 2024-12-04 07:08:59 +01:00 Compare
kjuulh force-pushed renovate/all from 861d255f8e to f58029c4c3 2024-12-05 03:14:58 +01:00 Compare
kjuulh force-pushed renovate/all from f58029c4c3 to 5950e13c8a 2025-01-09 03:14:41 +01:00 Compare
kjuulh force-pushed renovate/all from 5950e13c8a to fc0f446250 2025-01-09 07:04:57 +01:00 Compare
kjuulh force-pushed renovate/all from fc0f446250 to be22378586 2025-01-11 03:07:41 +01:00 Compare
kjuulh force-pushed renovate/all from be22378586 to e8d6221b2d 2025-01-12 03:07:41 +01:00 Compare
kjuulh force-pushed renovate/all from e8d6221b2d to 4221ed3681 2025-01-15 03:23:55 +01:00 Compare
kjuulh force-pushed renovate/all from 4221ed3681 to 522cfa6f85 2025-02-13 03:16:34 +01:00 Compare
kjuulh force-pushed renovate/all from 522cfa6f85 to 84c0c27cc0 2025-02-21 07:08:01 +01:00 Compare
kjuulh force-pushed renovate/all from 84c0c27cc0 to 3a51922b29 2025-03-26 00:24:48 +01:00 Compare
kjuulh force-pushed renovate/all from 3a51922b29 to b6baaf07a5 2025-04-06 02:50:17 +02:00 Compare
kjuulh force-pushed renovate/all from b6baaf07a5 to 0495557794 2025-04-06 05:49:01 +02:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/all:renovate/all
git checkout renovate/all
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kjuulh/twatch#8
No description provided.