Update Rust crate tokio to v1 [SECURITY] - abandoned #45
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:
0.1.7
->1.8.4
0.1.7
->1.8.4
GitHub Vulnerability Alerts
CVE-2021-45710
An issue was discovered in the tokio crate before 1.8.4, and 1.9.x through 1.13.x before 1.13.1, for Rust. In certain circumstances involving a closed oneshot channel, there is a data race and memory corruption.
Release Notes
tokio-rs/tokio
v1.8.4
: Tokio v1.8.4Compare Source
1.8.4 (November 15, 2021)
This release backports a bugfix for a data race when sending and receiving on a
closed
oneshot
channel ([RUSTSEC-2021-0124]) from v1.13.1.Fixed
oneshot::Sender::send
and awaiting aoneshot::Receiver
when the oneshot has been closed (#4226)v1.8.3
: Tokio v1.8.3Compare Source
1.8.3 (July 22, 2021)
This release backports two fixes from 1.9.0
Fixed
LocalSet
(#3978)v1.8.2
: Tokio 1.8.2Compare Source
Fixes a missed edge case from 1.8.1.
Fixed
v1.8.1
: Tokio 1.8.1Compare Source
Forward ports 1.5.1 fixes.
Fixed
JoinHandle::abort
(#3934)v1.8.0
Compare Source
1.8.0 (July 2, 2021)
Added
get_{ref,mut}
methods toAsyncFdReadyGuard
andAsyncFdReadyMutGuard
(#3807)BufWriter
(#3163)NamedPipe{Client,Server}
(#3866, #3899)watch::Receiver::borrow_and_update
(#3813)From<T>
forOnceCell<T>
(#3877)Added (unstable)
tokio::task::Builder
(#3881)Fixed
UnixStream
(#3898)Documented
v1.7.3
: Tokio 1.7.3Compare Source
Fixes a missed edge case from 1.7.2.
Fixed
v1.7.2
: Tokio v1.7.2Compare Source
Forward ports 1.5.1 fixes.
Fixed
JoinHandle::abort
(#3934)v1.7.1
: Tokio v1.7.1Compare Source
Fixed
v1.7.0
: Tokio v1.7.0Compare Source
1.7.0 (June 15, 2021)
Added
TcpSocket
fromstd::net::TcpStream
conversion (#3838)receiver_count
towatch::Sender
(#3729)sync::notify::Notified
future publicly (#3840)Fixed
clippy::default_numeric_fallback
lint in generated code (#3831)mpsc::RecvError
type (#3833)Documented
AsyncReadExt::read_buf
(#3850)AsyncWrite::poll_write
(#3820)v1.6.4
: Tokio 1.6.4Compare Source
Fixes a missed edge case from 1.6.3.
Fixed
v1.6.3
: Tokio v1.6.3Compare Source
Forward ports 1.5.1 fixes.
Fixed
JoinHandle::abort
(#3934)v1.6.2
: Tokio v1.6.2Compare Source
Fixes
time:advance
regression introduced in 1.6 (#3852)v1.6.1
: Tokio v1.6.1Compare Source
This release reverts #3518 because it doesn't work on some kernels due to
a kernel bug. (#3803)
v1.6.0
: Tokio v1.6.0Compare Source
1.6.0 (May 14, 2021)
Added
write_all_buf
toAsyncWriteExt
(#3737)AsyncSeek
forBufReader
,BufWriter
, andBufStream
(#3491)mpsc::Sender::{reserve_owned, try_reserve_owned}
(#3704)MutexGuard::map
method that returns aMappedMutexGuard
(#2472)Fixed
DuplexStream
close (#3756)std::os::raw::c_int
instead oflibc::c_int
on public API (#3774)notify_waiters
(#3660)JoinHandle
panic message (#3727)time::advance
from going too far (#3712)Documented
net::unix::datagram
module from docs (#3775)Barrier
doc should use task, not thread (#3780)block_in_place
(#3753)v1.5.1
: Tokio v1.5.1Compare Source
Fixed
JoinHandle::abort
(#3934)v1.5.0
: Tokio v1.5.0Compare Source
1.5.0 (April 12, 2021)
Added
AsyncSeekExt::stream_position
(#3650)AsyncWriteExt::write_vectored
(#3678)copy_bidirectional
utility (#3572)IntoRawFd
forTcpSocket
(#3684)OnceCell
(#3591)OwnedRwLockReadGuard
andOwnedRwLockWriteGuard
(#3340)Semaphore::is_closed
(#3673)mpsc::Sender::capacity
(#3690)RwLock
max reads (#3644)sync_scope
forLocalKey
(#3612)Fixed
noalias
attributes on intrusive linked list (#3654)JoinHandle::abort()
when called from other threads (#3672)oneshot::try_recv
(#3674)Semaphore
permit overflow calculation (#3644)Documented
AsyncFd
(#3635){Handle,Runtime}::block_on
(#3628)Semaphore
is fair (#3693)v1.4.0
: Tokio v1.4.0Compare Source
Added
select!
(#3603)Handle::block_on
(#3569)Fixed
block_on
future (#3582)EnterGuard
withmust_use
(#3609)Documented
PollSender
(#3613)Mutex
FIFO explanation (#3615)v1.3.0
: Tokio v1.3.0Compare Source
Added
unconstrained()
opt-out (#3547)into_std
for net types without it (#3509)same_channel
method tompsc::Sender
(#3532){try_,}acquire_many_owned
toSemaphore
(#3535)RwLockWriteGuard::map
andRwLockWriteGuard::try_map
(#3348)Fixed
oneshot::Receiver::close
after successfultry_recv
(#3552)timeout(Duration::MAX)
(#3551)Documented
read_until
(#3536)AsyncRead::poll_read
doc (#3557)UdpSocket
splitting doc (#3517)LocalSet
onnew_current_thread
(#3508)join_all
forBarrier
(#3514)oneshot
(#3592)notify
tonotify_one
(#3526)Sleep
doc (#3515)interval.rs
andtime/mod.rs
docs (#3533)v1.2.0
: Tokio v1.2.0Compare Source
Added
Signal::poll_recv
method public (#3383)Fixed
test-util
paused time fully deterministic (#3492)Documented
v1.1.1
: Tokio v1.1.1Compare Source
Forward ports 1.0.3 fix.
Fixed
v1.1.0
: Tokio v1.1.0Compare Source
Added
try_read_buf
andtry_recv_buf
(#3351)Sender::try_reserve
function (#3418)RwLock
try_read
andtry_write
methods (#3400)ReadBuf::inner_mut
(#3443)Changed
select!
error message (#3352)read_to_end
(#3426)Fixed
LocalSet
onspawn_local
(#3369)Documented
Stream
wrappers intokio-stream
(#3343)test-util
feature is not enabled with full (#3397)AsyncFd
docs about changes of the inner fd (#3430)Sleep
is notUnpin
(#3457)PollSemaphore
(#3456)LocalSet
example (#3438)mpsc
documentation (#3458)v1.0.3
: Tokio v1.0.3Compare Source
Fixed
v1.0.2
: Tokio v1.0.2Compare Source
Fixed
read_to_end
(#3428).v1.0.1
: Tokio v1.0.1Compare Source
This release fixes a soundness hole caused by the combination of
RwLockWriteGuard::map
andRwLockWriteGuard::downgrade
by removing themap
function. This is a breaking change, but breaking changes are allowed under our semver policy when they are required to fix a soundness hole. (See this RFC for more.)Note that we have chosen not to do a deprecation cycle or similar because Tokio 1.0.0 was released two days ago, and therefore the impact should be minimal.
Due to the soundness hole, we have also yanked Tokio version 1.0.0.
Removed
RwLockWriteGuard::map
andRwLockWriteGuard::try_map
(#3345)Fixed
v1.0.0
: Tokio v1.0.0Compare Source
Commit to the API and long-term support.
Announcement and more details.
Fixed
watch
(#3234).Changed
AsyncFd::with_io()
totry_io()
(#3306)*Ext
traits in favor of conditionally defining the fn (#3264).Sleep
is!Unpin
(#3278).SocketAddr
by value (#3125).TcpStream::poll_peek
takesReadBuf
(#3259).runtime::Builder::max_threads()
tomax_blocking_threads()
(#3287).current_thread
runtime when callingtime::pause()
(#3289).Removed
tokio::prelude
(#3299).AsyncFd::with_poll()
(#3306).{Tcp,Unix}Stream::shutdown()
in favor ofAsyncWrite::shutdown()
(#3298).tokio-stream
untilStream
is added tostd
(#3277).try_recv()
due to unexpected behavior (#3263).tracing-core
is not 1.0 yet (#3266).Added
poll_*
fns toDirEntry
(#3308).poll_*
fns toio::Lines
,io::Split
(#3308)._mut
method variants toAsyncFd
(#3304).poll_*
fns toUnixDatagram
(#3223).UnixStream
readiness and non-blocking ops (#3246).UnboundedReceiver::blocking_recv()
(#3262).watch::Sender::borrow()
(#3269).Semaphore::close()
(#3065).poll_recv
fns tompsc::Receiver
,mpsc::UnboundedReceiver
(#3308).poll_tick
fn totime::Interval
(#3316).v0.3.7
Compare Source
v0.3.6
: Tokio v0.3.6Compare Source
Released December 14, 2020
Fixed
add_permits
panic with usize::MAX >> 3 permits (#3188)Added
TcpStream::into_std
(#3189)v0.3.5
: Tokio v0.3.5Compare Source
Fixed
shutdown_timeout(0)
(#3196).Added
AsyncFd::with_interest()
(#3167).CtrlC
stream on windows (#3186).v0.3.4
: Tokio v0.3.4Compare Source
Fixed
StreamMap
Default
impl bound (#3093).AsyncFd::into_inner()
should deregister the FD (#3104).Changed
parking_lot
feature enabled withfull
(#3119).Added
AsyncWrite
vectored writes (#3149).UCred
with solaris/illumos (#3085).runtime::Handle
allows spawning onto a runtime (#3079).Notify::notify_waiters()
(#3098).acquire_many()
,try_acquire_many()
toSemaphore
(#3067).v0.3.3
: Tokio v0.3.3Compare Source
Fixes a soundness hole by adding a missing
Send
bound toRuntime::spawn_blocking()
.Fixed
Send
, fixing soundness hole (#3089).Added
TcpSocket::reuseport()
,TcpSocket::set_reuseport()
(#3083).TcpSocket::reuseaddr()
(#3093).TcpSocket::local_addr()
(#3093).UCred
(#2633).v0.3.2
: Tokio v0.3.2Compare Source
Adds
AsyncFd
as a replacement for v0.2'sPollEvented
.Fixed
RwLockWriteGuard::downgrade()
bug (#2957).Added
AsyncFd
for receiving readiness events on raw FDs (#2903).poll_*
function onUdpSocket
(#2981).UdpSocket::take_error()
(#3051).oneshot::Sender::poll_closed()
(#3032).v0.3.1
: Tokio v0.3.1Compare Source
This release fixes a use-after-free in the IO driver. Additionally, the
read_buf
and
write_buf
methods have been added back to the IO traits, as the bytes crateis now on track to reach version 1.0 together with Tokio.
Fixed
Added
copy_buf()
(#2884).AsyncReadExt::read_buf()
,AsyncReadExt::write_buf()
for working withBuf
/BufMut
(#3003).Runtime::spawn_blocking()
(#2980).watch::Sender::is_closed()
(#2991).v0.3.0
: Tokio v0.3.0Compare Source
This represents a 1.0 beta release. APIs are polished and future-proofed. APIs not included for 1.0 stabilization have been removed.
Biggest changes are:
changes.
combinations.
rt-core
andrt-util
are combined tort
rt-threaded
is renamed tort-multi-thread
to match builder APItcp
,udp
,uds
,dns
are combied tonet
.parking_lot
is included withfull
Changes
AsyncRead
trait now takesReadBuf
in order to safely handle readinginto uninitialized memory (#2758).
Runtime::block_on
now takes&self
(#2782).watch
reworked to decouple receiving a change notification fromreceiving the value (#2814, #2806).
Notify::notify
is renamed tonotify_one
(#2822).Child::kill
is now anasync fn
that cleans zombies (#2823).const fn
constructors as possible (#2833, #2790)&self
(#2828, #2919, #2934).mpsc
channel supportssend
with&self
(#2861).delay_for
anddelay_until
tosleep
andsleep_until
(#2826).mio
0.7 (#2893).AsyncSeek
trait is tweaked (#2885).File
operations take&self
(#2930).#[tokio::main]
macro polish (#2876)Runtime::enter
uses an RAII guard instead of a closure (#2954).Added
map
function to lock guards (#2445).blocking_recv
andblocking_send
fns tompsc
for use outside of Tokio (#2685).Builder::thread_name_fn
for configuring thread names (#1921).FromRawFd
andFromRawHandle
forFile
(#2792).Child::wait
andChild::try_wait
(#2796).task::JoinHandle::abort
forcibly cancels a spawned task (#2474).RwLock
write guard to read guard downgrading (#2733).poll_*
functions that take&self
to all net types (#2845)get_mut()
forMutex
,RwLock
(#2856).mpsc::Sender::closed()
waits forReceiver
half to close (#2840).mpsc::Sender::is_closed()
returns true ifReceiver
half is closed (#2726).iter
anditer_mut
toStreamMap
(#2890).AsRawSocket
on windows (#2911).TcpSocket
creates a socket without binding or listening (#2920).Removed
AsyncRead
,AsyncWrite
traits (#2882).mio
is removed from the public API.PollEvented
andRegistration
areremoved (#2893).
bytes
from public API.Buf
andBufMut
implementation areremoved (#2908).
DelayQueue
is moved totokio-util
(#2897).Fixed
stdout
andstderr
buffering on windows (#2734).v0.2.25
Compare Source
v0.2.24
Compare Source
v0.2.23
: Tokio v0.2.23Compare Source
Maintenance release.
Fixes
unreachable_code
warning inselect!
(#2678)Changes
std::io
(#2606)parking_lot
dependency to 0.11.0 (#2676)read_to_end
andread_to_string
(#2560)block_on
(#2711)UnixListener::poll_accept
public (#2880)lazy_static
to1.4.0
(#3132)slab
to0.4.2
(#3132)Added
io::duplex()
as bidirectional reader/writer (#2661)into_split
onUnixDatagram
(#2557)split
andinto_split
(#2687)try_recv
/from
&try_send
/to
to UnixDatagram (#1677)UdpSocket::{try_send,try_send_to}
methods (#1979)ToSocketAddrs
for(String, u16)
(#2724)ReaderStream
(#2714)v0.2.22
: Tokio v0.2.22Compare Source
This release introduces initial support for [
tracing
][tracing] instrumentation within the Tokioruntime, enabled by the "tracing" feature flag. In addition, it contains a number of bug
fixes and API additions.
Fixes
#2624, #2600, #2623, #2622, #2577, #2569, #2589, #2575, #2540, #2564, #2567,
#2520, #2521, #2493)
block_on
inside calls toblock_in_place
that arethemselves inside
block_on
(#2645)TcpStream
OwnedWriteHalf
(#2597)(#2634)
AsyncReadExt::read_buf
andAsyncWriteExt::write_buf
(#2612)AsyncRead
implementors (#2525)BufReader
not correctly forwardingpoll_write_buf
(#2654)AsyncReadExt::read_line
(#2541)Changes
Poll::Pending
no longer decrements the task budget (#2549)Added
AsyncReadExt
andAsyncWriteExt
methods(#1915)
tracing
][tracing] instrumentation to spawned tasks (#2655)Mutex
andRwLock
(viadefault
constructors)(#2615)
ToSocketAddrs
implementation for&[SocketAddr]
(#2604)OpenOptionsExt
forOpenOptions
(#2515)DirBuilder
(#2524)Signed-off-by: Eliza Weisman [email protected]
v0.2.21
: Tokio v0.2.21Compare Source
Bug fixes and API polish.
Fixes
#[test]
attribute in macro expansion (#2503)LocalSet
and task budgeting (#2462).block_in_place
(#2502).broadcast
channel memory without sending a value (#2509).Delay
to a time in the past (#2290).Added
get_mut
,get_ref
, andinto_inner
toLines
(#2450).mio::Ready
argument toPollEvented
(#2419).Handle::spawn_blocking
(#2501).OwnedMutexGuard
forArc<Mutex<T>>
(#2455).v0.2.20
: Tokio v0.2.20Compare Source
Fixes
broadcast
closing the channel no longer requires capacity (#2448).max_threads
less than the number of CPUs (#2457).v0.2.19
: Tokio v0.2.19Compare Source
Fixes
block_in_place
in more contexts (#2409, #2410).merge()
andchain()
when usingsize_hint()
(#2430).Added
runtime::Handle::block_on
(#2437).Semaphore
permit (#2421).v0.2.18
: Tokio v0.2.18Compare Source
Fixes a regression with
LocalSet
that allowed!Send
futures to cross threads.This change makes
LocalSet
!Send
. TheSend
implementation was accidentally added in v0.2.14. Removing theSend
implementation is not considered a breaking change as it fixes a soundness bug and the implementation was accidental.Fixes
LocalSet
was incorrectly marked asSend
(#2398)WriteZero
failure inwrite_int
(#2334)v0.2.17
: Tokio 0.2.17Compare Source
This release fixes a bug in the threaded scheduler that could result in panics under load (see #2382). Additionally, the default number of worker threads now uses the logical CPU count, so it will now respect scheduler affinity and
cgroups
CPU quotas.Fixes
Changes
v0.2.16
: Tokio 0.2.16Compare Source
This release fixes a regression in
tokio::sync
and a bug intokio::fs::copy
. It alsoadds a new APIs to
tokio::time
andtokio::io
.Fixes
Mutex
,Semaphore
, andRwLock
futures nolonger implement
Sync
(#2375)fs::copy
not copying file permissions (#2354)Added
deadline
method todelay_queue::Expired
(#2300)StreamReader
(#2052)v0.2.15
: Tokio v0.2.15Compare Source
Fixes a queue regression and adds a new disarm fn to
mpsc::Sender
.Fixes
Added
mpsc::Sender
(#2358).v0.2.14
: Tokio v0.2.14Compare Source
This release introduces automatic cooperative task yielding. This article describes the new functionality in more detail.
Fixes
DelayQueue
correct wakeup afterinsert
(#2285).Added
RawFd
,AsRawHandle
for std io types (#2335).RwLock::into_inner
(#2321).Changed
v0.2.13
: Tokio v0.2.13Compare Source
Fixes a minor bug in the previous release that resulted in compilation errors using the new
pin!
form.Fixes
pin!
(#2281).v0.2.12
: Tokio v0.2.12Compare Source
Polish, small additions, and fixes. The biggest additions in this release are
StreamMap
andNotify
.StreamMap
Similar to
StreamExt::merge
,StreamMap
supports merging multiple source streams into a single stream, producing items as they become available in the source streams. However,StreamMap
supports inserting and removing streams at run-time. This is useful for cases where a consumer wishes to subscribe to messages from multiple sources and dynamically manage those subscriptions.As the name implies,
StreamMap
maps keys to streams. Streams are [inserted] or [removed] as needed and then theStreamMap
is used as any other stream. Items are returned with their keys, enabling the caller to identify which source stream the item originated from.Example
Notify
Notify
is the next step in providingasync / await
based synchronization primitives. It is similar to howthread::park() / unpark()
work, but for asynchronous tasks. Consumers await notifications and producers notify consumers.Notify
is intended to be used as a building block for higher level synchronization primitives, such as channels.Examples
Basic usage.
Here is how
Notify
can be used as a building block for an unbounded channel.Changes
Fixes
UnixStream::poll_shutdown
should callshutdown(Write)
(#2245).EPOLLERR
(#2218).block_in_place
and shutting down theruntime (#2119).
core_threads
not specified (#2238).watch::Receiver
struct size (#2191).$MAX-1
(#2184).DelayQueue
after inserting new delay (#2217).Added
pin!
variant that assigns to identifier and pins (#2274).Stream
forListener
types (#2275).Runtime::shutdown_timeout
waits for runtime to shutdown for specifiedduration (#2186).
StreamMap
merges streams and can insert / remove streams atruntime (#2185).
StreamExt::skip()
skips a fixed number of items (#2204).StreamExt::skip_while()
skips items based on a predicate (#2205).Notify
provides basicasync
/await
task notification (#2210).Mutex::into_inner
retrieves guarded data (#2250).mpsc::Sender::send_timeout
sends, waiting for up to specified durationfor channel capacity (#2227).
Ord
andHash
forInstant
(#2239).v0.2.11
: Tokio v0.2.11Compare Source
Introduces [
select!
][select!], [join!
][join!], and [try_join!
][try_join!] macros for waiting on multiple async operations concurrently from the same task. These macros are implemented primarily as declarative macros, which works around the recursion limit issue. Theselect!
macro works with any type that implementsFuture
and does not require special `FusedFutConfiguration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.