Update Rust crate tokio to 1.48.0 #283
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.38.2->1.48.0Release Notes
tokio-rs/tokio (tokio)
v1.48.0: Tokio v1.48.0Compare Source
1.48.0 (October 14th, 2025)
The MSRV is increased to 1.71.
Added
File::max_buf_size(#7594)ChainofAsyncReadExt::chain(#7599)SocketAddr::as_abstract_name(#7491)TcpStream::quickackandTcpStream::set_quickack(#7490)AsRef<Self>forTcpStreamandUnixStream(#7573)LocalKey::try_get(#7666)Ordfortask::Id(#7530)Changed
max_buf_sizewhen cloning aFile(#7593)clippy::unwrap_in_resultin#[tokio::main](#7651)PollEventednoise from Debug formats (#7675)Command::spawn_withto useFnOnce(#7511)SetOnce(#7554)UnsafeCell::get_mutinMutex::get_mutandRwLock::get_mut(#7569)Timeout<T>::poll(#7535)Fixed
join!andtry_join!(#7638)wake_by_ref()even if already woken (#7622)broadcast::Senderinbroadcast::Sender::new()(#7629)RwLock::try_*methods (#7587)Unstable
--cfgflags fortaskdumpandio_uring(#7655, #7621)io_uringinfs::write(#7567)io_uringwithFile::open()(#7617)io_uringwithOpenOptions(#7321)localruntime flavor (#7375, #7597)Documented
AsyncRead::poll_read(#7580)AsyncFdreadiness guards (#7583)UCred::pid()on Cygwin (#7611)set_reuseport()andreuseport()(#7628)SO_REUSEADDRis only set on Unix (#7533)Handle::block_on(#7665)Builder::global_queue_interval()(#7605)tokio::sync::watch::Receiver(#7584)SetOnce::wait(#7506)parking_lotfeature flag (#7663)UnboundedSender::send(#7661)sync::watch(#7601)spawn_localmethods (#7669)poll_proceed(#7586)v1.47.2Compare Source
v1.47.1: Tokio v1.47.1Compare Source
1.47.1 (August 1st, 2025)
Fixed
asyncio.EventinSetOncedocs (#7485)v1.47.0: Tokio v1.47.0Compare Source
1.47.0 (July 25th, 2025)
This release adds
poll_proceedandcooperativeto thecoopmodule forcooperative scheduling, adds
SetOnceto thesyncmodule which providessimilar functionality to [
std::sync::OnceLock], and adds a new methodsync::Notify::notified_owned()which returns anOwnedNotifiedwithouta lifetime parameter.
Added
cooperativeandpoll_proceed(#7405)SetOnce(#7418)sync::Notify::notified_owned()(#7465)Changed
AtomicWaker::wakeperformance (#7450)Documented
Readiness<'_>(#7415)v1.46.1: Tokio v1.46.1Compare Source
1.46.1 (July 4th, 2025)
This release fixes incorrect spawn locations in runtime task hooks for tasks spawned using
tokio::spawnrather thanRuntime::spawn. This issue only effected the spawn location inTaskMeta::spawned_at, and did not effect task locations in Tracing events.Unstable
TaskMeta::spawn_locationtracking where a task was spawned (#7440)v1.46.0: Tokio v1.46.0Compare Source
1.46.0 (July 2nd, 2025)
Fixed
TcpStream::shutdownincorrectly returning an error on macOS (#7290)Added
mpsc::OwnedPermit::{same_channel, same_channel_as_sender}methods (#7389)biasedoption forjoin!andtry_join!, similar toselect!(#7307)pope::OpenOptions::read_writeon Android (#7426)Cloneimplementation fornet::unix::SocketAddr(#7422)Changed
queue::Local<T>(#7340)LocalSet::{poll,drop}(#7372)Unstable
TaskMeta::spawn_locationtracking where a task was spawned (#7417)LocalOptionsparameter toruntime::Builder::build_local(#7346)Documented
start_seekis not used (#7366)AsyncWriteExt::flush(#7364)recv_buffer_sizemethod (#7336)RawFdinTcpSocketdocs (#7416)AsRawFddoc link to current Rust stdlib location (#7429)on_*_task_pollis unstable (#7311)time::advance(#7394)v1.45.1: Tokio v1.45.1Compare Source
1.45.1 (May 24th, 2025)
This fixes a regression on the wasm32-unknown-unknown target, where code that previously did not panic due to calls to
Instant::now()started failing. This is due to the stabilization of the first time-based metric.Fixed
v1.45.0: Tokio v1.45.0Compare Source
Added
worker_total_busy_duration,worker_park_count, andworker_unpark_count(#6899, #7276)Command::spawn_with(#7249)Changed
Unpinfor some trait impls (#7204)runtime::Handleas unwind safe (#7230)Unstable
v1.44.2: Tokio v1.44.2Compare Source
This release fixes a soundness issue in the broadcast channel. The channel
accepts values that are
Sendbut!Sync. Previously, the channel calledclone()on these values without synchronizing. This release fixes the channelby synchronizing calls to
.clone()(Thanks Austin Bonander for finding andreporting the issue).
Fixed
clone()call in broadcast channel (#7232)v1.44.1: Tokio v1.44.1Compare Source
1.44.1 (March 13th, 2025)
Fixed
block_in_placecontext (#7216)v1.44.0: Tokio v1.44.0Compare Source
1.44.0 (March 7th, 2025)
This release changes the
from_stdmethod 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
task::coopmodule (#7116)Command::get_kill_on_drop()(#7086)broadcast::Sender::closed(#6685, #7090)broadcast::WeakSender(#7100)oneshot::Receiver::is_empty()(#7153)oneshot::Receiver::is_terminated()(#7152)Fixed
Fileshould not start a background read (#7139)start_killon exited child should not fail (#7160)CTRL_CLOSE,CTRL_LOGOFF,CTRL_SHUTDOWNon windows (#7122)Changes
select!budget-aware (#7164)from_std(#7166)Changes to unstable APIs
Documented
select!alternatives (#7110)send_to(#7146)Childstdout (#7141)Child::killbehavior (#7162)ChildStdinstruct doc comment (#7192)worker_threadsinstead ofcore_threads(#7186)v1.43.3Compare Source
v1.43.2: Tokio v1.43.2Compare Source
1.43.2 (August 1st, 2025)
Fixed
v1.43.1Compare Source
v1.43.0: Tokio v1.43.0Compare Source
1.43.0 (Jan 8th, 2025)
Added
UdpSocket::peekmethods (#7068)Command::into_std()(#7014)SignalKind::infoon illumos (#6995)Fixed
set_lenbefore initializing vector inBlocking(#7054)clippy::needless_returnin#[tokio::main](#6874)Changes
unsync_load(#7073)Buf::put_bytesinRepeatread impl (#7055)Changes to unstable APIs
Documented
ReadBuf::uninitallows initialized buffers as well (#7053)TcpStream::try_write_vectoreddocs (#7067)LocalRuntimedoc links (#7074)watch::Receiver::wait_for(#7038)OnceCelldocs (#7047)v1.42.1: Tokio v1.42.1Compare Source
This release fixes a soundness issue in the broadcast channel. The channel accepts values that are
Sendbut!Sync. Previously, the channel calledclone()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
clone()call in broadcast channel (#7232)v1.42.0: Tokio v1.42.0Compare Source
1.42.0 (Dec 3rd, 2024)
Added
AsyncFd::{try_io, try_io_mut}(#6967)Fixed
ptr->ref->ptrroundtrip in RegistrationSet (#6929)yield_nowinsideblock_in_place(#6999)Changes
Documented
tokio::net::unix::{pid_t, gid_t, uid_t}(#6791)Instantdocs (#6982)v1.41.1: Tokio v1.41.1Compare Source
1.41.1 (Nov 7th, 2024)
Fixed
netrequirement fornet::UdpSocketin docs (#6938)TcpStreaminternal comment (#6944)v1.41.0: Tokio v1.41.0Compare Source
1.41.0 (Oct 22th, 2024)
Added
global_queue_depth(#6854, #6918)SocketAddr(#6868)watch::Sender::sender_count(#6836)mpsc::Receiver::blocking_recv_many(#6867)Idapis (#6793, #6891)Added (unstable)
LocalRuntime(#6808)Changed
#[must_use]toNotified(#6828)watchcooperative (#6846)broadcast::Receivercooperative (#6870)cfg_fsforwasitarget (#6822)Fixed
Documented
OwnedFdwithAsyncFd(#6821)AsyncFdmethods (#6890)joinandtry_join(#6814, #6841)TcpSocket::set_nodelayandTcpSocket::nodelay(#6840)v1.40.0: Tokio v1.40.0Compare Source
1.40.0 (August 30th, 2024)
Added
util::SimplexStream(#6589)Command::process_group(#6731){TrySendError,SendTimeoutError}::into_inner(#6755)JoinSet::join_all(#6784)Added (unstable)
Builder::{on_task_spawn, on_task_terminate}(#6742)Changed
write_all_bufwhen possible (#6724)UnwindSafe(#6783)SleepandBatchSemaphoreinstrumentation explicit roots (#6727)NonZeroU64fortask::Id(#6733)JoinError(#6753)#[must_use]toJoinHandle::abort_handle(#6762)Documented
[build]section doesn't go in Cargo.toml (#6728)select!(#6774)v1.39.3: Tokio v1.39.3Compare 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.2Compare 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.1Compare 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.0Compare Source
1.39.0 (July 23rd, 2024)
Added
AsyncSeekforEmpty(#6663)num_alive_tasks(#6619, #6667)Command::as_std_mut(#6608)watch::Sender::same_channel(#6637){Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count}(#6661)Defaultforwatch::Sender(#6626)CloneforAbortHandle(#6621)consume_budget(#6622)Changed
ReadBuf::put_slice()(#6629)copy_bidirectionalandcopy(#6532)num_cpuswithavailable_parallelism(#6709)block_on(#6692)IntoFuturewithtimeout(#6666)IntoFuturewithjoin!andselect!(#6710)Fixed
Interval(#6612)Added (unstable)
unhandled_panicbehavior for#[tokio::main]and#[tokio::test](#6593)spawned_tasks_count(#6114)worker_park_unpark_count(#6696)Documented
tokio::io::stdoutdocumentation (#6674)join.rsandtry_join.rs(#6641)unhandled_panic(#6660)JoinSet::try_join_nextwhen all tasks are running (#6671)Configuration
📅 Schedule: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles.
🚦 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.
This PR has been generated by Renovate Bot.