async-std v1.8.0 Release Notes
Release Date: 2020-12-04 // over 3 years ago-
This patch introduces
async_std::channel
, a new submodule for our async channels implementation.channels
have been one of async-std's most requested features, and have existed as "unstable" for the past year. We've been cautious about stabilizing channels, and this caution turned out to be warranted: we realized our channels could hang indefinitely under certain circumstances, and people ended up expressing a need for unbounded channels.So today we're introducing the new
async_std::channel
submodule which exports theasync-channel
crate, and we're marking the older unstableasync_std::sync::channel
API as "deprecated". This release includes both APIs, but we intend to stabilizeasync_std::channel
and remove the older API in January. This should give dependent projects a month to upgrade, though we can extend that if it proves to be too short.๐ The rationale for adding a new top-level
channel
submodule, rather than extendingsync
is that thestd::sync
andasync_std::sync
submodule are a bit of a mess, and the libs team [has been talking about splittingstd::sync
up](https://github.com/rust-lang/rfcs/pull/2788#discussion_r339092478) into separate modules. The stdlib has to guarantee it'll forever be backwards compatible, butasync-std
does not (we fully expect a 2.0 once we have async closures & traits). So we're experimenting with this change beforestd
does, with the expectation that this change can serve as a data point when the libs team decides how to proceed in std.โ Added
async_std::channel
as "unstable" #915async_std::process
as "unstable" #916
๐ Fixed
- ๐ Fixed mentions of the
tokio03
flags in the docs #909 - ๐ Fixed a double drop issue in
StreamExt::cycle
#903
Internal
- โก๏ธ updated
pin-project
tov0.2.0