fix(deps): update rust crate tokio to v1.41.0
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| tokio (source) | dependencies | minor | 1.19.2 -> 1.41.0 |
Release Notes
tokio-rs/tokio (tokio)
v1.41.0: Tokio v1.41.0
1.41.0 (Oct 22th, 2024)
Added
- metrics: stabilize
global_queue_depth(#6854, #6918) - net: add conversions for unix
SocketAddr(#6868) - sync: add
watch::Sender::sender_count(#6836) - sync: add
mpsc::Receiver::blocking_recv_many(#6867) - task: stabilize
Idapis (#6793, #6891)
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]toNotified(#6828) - sync: make
watchcooperative (#6846) - sync: make
broadcast::Receivercooperative (#6870) - task: add task size to tracing instrumentation (#6881)
- wasm: enable
cfg_fsforwasitarget (#6822)
Fixed
- net: fix regression of abstract socket path in unix socket (#6838)
Documented
- io: recommend
OwnedFdwithAsyncFd(#6821) - io: document cancel safety of
AsyncFdmethods (#6890) - macros: render more comprehensible documentation for
joinandtry_join(#6814, #6841) - net: fix swapped examples for
TcpSocket::set_nodelayandTcpSocket::nodelay(#6840) - sync: document runtime compatibility (#6833)
v1.40.0: Tokio v1.40.0
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_bufwhen possible (#6724) - runtime: prevent niche-optimization to avoid triggering miri (#6744)
- sync: mark mpsc types as
UnwindSafe(#6783) - sync,time: make
SleepandBatchSemaphoreinstrumentation explicit roots (#6727) - task: use
NonZeroU64fortask::Id(#6733) - task: include panic message when printing
JoinError(#6753) - task: add
#[must_use]toJoinHandle::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
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
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
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
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
AsyncSeekforEmpty(#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
Defaultforwatch::Sender(#6626) - task: implement
CloneforAbortHandle(#6621) - task: stabilize
consume_budget(#6622)
Changed
- io: improve panic message of
ReadBuf::put_slice()(#6629) - io: read during write in
copy_bidirectionalandcopy(#6532) - runtime: replace
num_cpuswithavailable_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
IntoFuturewithtimeout(#6666) - macros: support
IntoFuturewithjoin!andselect!(#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_panicbehavior 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::stdoutdocumentation (#6674) - macros: typo fix in
join.rsandtry_join.rs(#6641) - runtime: fix typo in
unhandled_panic(#6660) - task: document behavior of
JoinSet::try_join_nextwhen all tasks are running (#6671)
v1.38.1: Tokio v1.38.1
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_upwhile holding all the locks of sharded time wheels (#6683)
v1.38.0: Tokio v1.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(#6573) - io: add
copy_bidirectional_with_sizes(#6500) - io: implement
AsyncBufReadforJoin(#6449) - net: add Apple visionOS support (#6465)
- net: implement
CloneforNamedPipeInfo(#6586) - net: support QNX OS (#6421)
- sync: add
Notify::notify_last(#6520) - sync: add
mpsc::Receiver::{capacity,max_capacity}(#6511) - sync: add
splitmethod 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_threadscount (#6551) - metrics: stabilize
RuntimeMetrics::worker_count(#6556) - runtime: move task out of the
lifo_slotinblock_in_place(#6596) - runtime: panic if
global_queue_intervalis zero (#6445) - sync: always drop message in destructor for oneshot receiver (#6558)
- sync: instrument
Semaphorefor task dumps (#6499) - sync: use FIFO ordering when waking batches of wakers (#6521)
- task: make
LocalKey::getwork 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_whenfield inTimerShared(#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_emptyon mpsc block boundaries (#6603)
Documented
- fs: rewrite file system docs (#6467)
- io: fix
stdindocumentation (#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
NamedPipeServerexample (#6590) - sync: add examples for
SemaphorePermit,OwnedSemaphorePermit(#6477) - sync: document that
Barrier::waitis not cancel safe (#6494) - sync: explain relation between
watch::Sender::{subscribe,closed}(#6490) - task: clarify that you can't abort
spawn_blockingtasks (#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
1.37.0 (March 28th, 2024)
Added
- fs: add
set_max_buf_sizetotokio::fs::File(#6411) - io: add
try_newandtry_with_interesttoAsyncFd(#6345) - sync: add
forget_permitsmethod to semaphore (#6331) - sync: add
is_closed,is_empty, andlento mpsc receivers (#6348) - sync: add a
rwlock()method to ownedRwLockguards (#6418) - sync: expose strong and weak counts of mpsc sender handles (#6405)
- sync: implement
Cloneforwatch::Sender(#6388) - task: add
TaskLocalFuture::take_value(#6340) - task: implement
FromIteratorforJoinSet(#6300)
Changed
- io: make
io::splituse 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
Runtimeto#[tokio::main](#6366) - runtime: make the
enterexample 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::downgradewith#[must_use](#6326) - sync: reorder
const_newbeforenew_with(#6392) - sync: update watch channel docs (#6395)
- task: fix documentation links (#6336)
Changed (unstable)
- runtime: include task
Idin taskdumps (#6328) - runtime: panic if
unhandled_panicis enabled when not supported (#6410)
v1.36.0: Tokio v1.36.0
1.36.0 (February 2nd, 2024)
Added
- io: add
tokio::io::Join(#6220) - io: implement
AsyncWriteforEmpty(#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
copycooperative (#6265) - io: make
repeatandsinkcooperative (#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_readydocs (#6304) - net: document that
*Fdtraits onTcpSocketare 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
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
1.35.0 (December 8th, 2023)
Added
- net: add Apple watchOS support (#6176)
Changed
- io: drop the
Sizedrequirements fromAsyncReadExt.read_buf(#6169) - runtime: make
Runtimeunwind safe (#6189) - runtime: reduce the lock contention in task spawn (#6001)
- tokio: update nix dependency to 0.27.1 (#6190)
Fixed
- chore: make
--cfg docsrswork without net feature (#6166) - chore: use relaxed load for
unsync_loadon 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
AsyncWriteExtexamples (#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
Fixed
- io: allow
clear_readinessafter io driver shutdown (#6067) - io: fix integer overflow in
take(#6080) - io: fix I/O resource hang (#6134)
- sync: fix
broadcast::channellink (#6100)
Changed
- macros: use
::corequalified imports instead of::stdinsidetokio::testmacro (#5973)
Added
- fs: update cfg attr in
fs::read_dirto includeaix(#6075) - sync: add
mpsc::Receiver::recv_many(#6010) - tokio: added vita target support (#6094)
v1.33.0: Tokio v1.33.0
1.33.0 (October 9, 2023)
Fixed
- io: mark
Interest::addwith#[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_localsource 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::removemethod (#5906) - io: add vectored writes to
DuplexStream(#5985) - net: add Apple tvOS support (#6045)
- sync: add
?Sizedbound 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
statsfeature (#5952)
Documented
- add missing backticks in code examples (#5938, #6056)
- fix typos (#5988, #6030)
- process: document that
Child::waitis cancel safe (#5977) - sync: add examples for
Semaphore(#5939, #5956, #5978, #6031, #6032, #6050) - sync: document that
broadcastcapacity is a lower bound (#6042) - sync: document that
const_newis not instrumented (#6002) - sync: improve cancel-safety documentation for
mpsc::Sender::send(#5947) - sync: improve docs for
watchchannel (#5954) - taskdump: render taskdump documentation on docs.rs (#5972)
Unstable
- taskdump: fix potential deadlock (#6036)
v1.32.1: Tokio v1.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(#6221)
v1.32.0: Tokio v1.32.0
Fixed
- sync: fix potential quadratic behavior in
broadcast::Receiver(#5925)
Added
Unstable
- rt(alt): improve the scalability of alt runtime as the number of cores grows (#5935)
v1.31.0: Tokio v1.31.0
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
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_pollflag (#5881) - sync: make
const_newmethods 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
UCredfor espidf (#5868) - fs: add
File::options()(#5869) - time: implement extra reset variants for
Interval(#5878) - process: add
{ChildStd*}::into_owned_{fd, handle}(#5899)
Removed
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
Sleepas!Unpinin docs (#5916) - process: fix
raw_argnot showing up in docs (#5865)
Unstable
v1.29.1: Tokio v1.29.1
Fixed
- rt: fix nesting two
block_in_placewith ablock_onbetween (#5837)
v1.29.0: Tokio v1.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:
EnterGuardshould not beSend(#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
EnterGuarddropped incorrect order (#5772) - time: do not overflow to signal value (#5710)
- fs: wait for in-flight ops before cloning
File(#5803)
Changed
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_argmethod toCommand(#5704) - io: support PRIORITY epoll events (#5566)
- task: add
JoinSet::poll_join_next(#5721) - net: add support for Redox OS (#5790)
Unstable
- rt: add the ability to dump task backtraces (#5608, #5676, #5708, #5717)
- rt: instrument task poll times with a histogram (#5685)
v1.28.2: Tokio v1.28.2
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
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
1.28.0 (April 25th, 2023)
Added
- io: add
AsyncFd::async_io(#5542) - io: impl BufMut for ReadBuf (#5590)
- net: add
recv_bufforUdpSocketandUnixDatagram(#5583) - sync: add
OwnedSemaphorePermit::semaphore(#5618) - sync: add
same_channelto broadcast channel (#5607) - sync: add
watch::Receiver::wait_for(#5611) - task: add
JoinSet::spawn_blockingandJoinSet::spawn_blocking_on(#5612)
Changed
- deps: update windows-sys to 0.48 (#5591)
- io: make
read_to_endnot 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_credon AIX (#5065) - sync: avoid deadlocks in
broadcastwith custom wakers (#5578)
Documented
- sync: fix typo in
Semaphore::MAX_PERMITS(#5645) - sync: fix typo in
tokio::sync::watch::Senderdocs (#5587)
v1.27.0: Tokio v1.27.0
1.27.0 (March 27th, 2023)
This release bumps the MSRV of Tokio to 1.56. (#5559)
Added
- io: add
async_iohelper 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
memchrfromlibc(#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
IntervalreturnsReady(#5553)
Fixed
- fs: fuse std iterator in
ReadDir(#5555) - tracing: fix
spawn_blockinglocation 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
ReaderStreamandStreamReaderin module docs (#5576)
v1.26.0: Tokio v1.26.0
Fixed
- macros: fix empty
join!andtry_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_fnincopy_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_waiterscalls 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::Commanddocs ([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])
v1.25.3: Tokio v1.25.3
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
1.25.2 (September 22, 2023)
Forward ports 1.20.6 changes.
Changed
- io: use
memchrfromlibc(#5960)
v1.25.1: Tokio v1.25.1
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
This release fixes a compilation failure on targets without AtomicU64 when using rustc older than 1.63. ([#5356
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.