1.49.0 (January 3rd, 2026)
Added
- net: add support for
TCLASSoption on IPv6 (#7781) - runtime: stabilize
runtime::id::Id(#7125) - task: implement
ExtendforJoinSet(#7195) - task: stabilize the
LocalSet::id()(#7776)
Changed
- net: deprecate
{TcpStream,TcpSocket}::set_linger(#7752)
Fixed
- macros: fix the hygiene issue of
join!andtry_join!(#7766) - runtime: revert "replace manual vtable definitions with Wake" (#7699)
- sync: return
TryRecvError::DisconnectedfromReceiver::try_recvafterReceiver::close(#7686) - task: remove unnecessary trait bounds on the
Debugimplementation (#7720)
Unstable
- fs: handle
EINTRinfs::writefor io-uring (#7786) - fs: support io-uring with
tokio::fs::read(#7696) - runtime: disable io-uring on
EPERM(#7724) - time: add alternative timer for better multicore scalability (#7467)
Documented
- docs: fix a typos in
bounded.rsandpark.rs(#7817) - io: add
SyncIoBridgecross-references tocopyandcopy_buf(#7798) - io: doc that
AsyncWritedoes not inherit fromstd::io::Write(#7705) - metrics: clarify that
num_alive_tasksis not strongly consistent (#7614) - net: clarify the cancellation safety of the
TcpStream::peek(#7305) - net: clarify the drop behavior of
unix::OwnedWriteHalf(#7742) - net: clarify the platform-dependent backlog in
TcpSocketdocs (#7738) - runtime: mention
LocalRuntimeinnew_current_threaddocs (#7820) - sync: add missing period to
mpsc::Sender::try_senddocs (#7721) - sync: clarify the cancellation safety of
oneshot::Receiver(#7780) - sync: improve the docs for the
errorsof mpsc (#7722) - task: add example for
spawn_localusage on local runtime (#7689)