Changelog History
Page 1
-
v1.12.0 Changes
June 18, 2022โ Added
std::task::spawn_blocking
is now stabilized. We consider it a fundamental API for bridging between blocking code and async code, and we widely use it within async-std's own implementation.- โ Add
TryFrom
implementations to convertTcpListener
,TcpStream
,UdpSocket
,UnixDatagram
,UnixListener
, andUnixStream
to their synchronous equivalents, including putting them back into blocking mode.
๐ Changed
- async-std no longer depends on
num_cpus
; it uses functionality in the standard library instead (viaasync-global-executor
). - ๐ Miscellaneous documentation fixes and cleanups.
-
v1.11.0 Changes
March 22, 2022๐ This release improves compile times by up to 55% on initial builds, and up to 75% on recompilation. Additionally we've added a few new APIs and made some tweaks.
โ Added
TcpListener::into_incoming
to convert aTcpListener
into a stream of incoming TCP connections
โ Removed
- ๐ The internal
extension_trait
macro had been removed. This drastically improves compile times forasync-std
, but changes the way our documentation is rendered. This is a cosmetic change only, and all existing code should continue to work as it did before.
๐ Changed
- Some internal code has been de-macro-ified, making for quicker compile times.
- 0๏ธโฃ We now use the default recursion limit.
๐ Docs
- ๐ Several docs improvements / fixes.
-
v1.10.0 Changes
August 25, 2021๐ This release comes with an assortment of small features and fixes.
โ Added
- ๐ฏ
File
now implementsClone
so thatFile
s can be passed into closures for use inspawn_blocking
.File
's contents are already wrapped inArc
s, so the implementation ofClone
is straightforward.
task::try_current()
which returns a handle to the current task if called within the context of a task created by async-std.async_std::io
now re-exportsWriteExt
directly.
๐ Fixed
write!
now takes already written bytes into account onFile
.
Internal
TcpStream
now properly makes use of vectored IO.- The
net::*::Incoming
implementations now do less allocation.
๐ Docs
- ๐ Several docs improvements / fixes.
- ๐ฏ
-
v1.9.0 Changes
January 15, 2021๐ This patch stabilizes the
async_std::channel
submodule, removes the ๐ deprecatedsync::channel
types, and introduces thetokio1
feature.๐ New Channels
๐ As part of our
1.8.0
release last month we introduced the new ๐async_std::channel
submodule and deprecated the unstable ๐async_std::sync::channel
types. You can read our full motiviation for this ๐ change in the last patch notes. But the short version is that the old ๐ channels had some fundamental problems, and thesync
submodule is a bit of a mess.๐ This release of
async-std
promotesasync_std::channel
to stable, and ๐ fully removes theasync_std::sync::channel
types. In practice many โฌ๏ธ libraries have already been upgraded to the new channels in the past month, and this will enable much of the ecosystem to switch off "unstable" versions ofasync-std
.use async_std::channel; let (sender, receiver) = channel::unbounded(); assert_eq!(sender.send("Hello").await, Ok(())); assert_eq!(receiver.recv().await, Ok("Hello"));
Tokio 1.0 compat
๐ The Tokio project recently released version 1.0 of their runtime, and the async-std team would like to congratulate the Tokio team on achieving this milestone.
๐ This release of
async-std
adds thetokio1
feature flag, enabling Tokio's TLS constructors to be initialized within theasync-std
runtime. This is in โ addition to thetokio02
andtokio03
feature flags which we were already exposing.In terms of stability it's worth noting that we will continue to provide ๐ support for the
tokio02
,tokio03
, andtokio1
on the current major ๐ release line ofasync-std
. These flags are part of our public API, and ๐ removing compat support for older Tokio versions is considered a breaking ๐ change.โ Added
โ Removed
- โ Removed deprecated
sync::channel
(#933)
๐ Fixed
- ๐ Fixed a typo for [sic]
FuturesExt
trait (#930) - โก๏ธ Update the link to
cargo-edit
in the installation section of the docs (#932) - ๐ Fixed a small typo for stream (#926)
Internal
- โ Removed deprecated
-
v1.8.0 Changes
December 04, 2020This 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
-
v1.7.0 Changes
October 30, 2020 -
v1.6.5 Changes
September 28, 2020 -
v1.6.4 Changes
September 16, 2020โ Added
- โ Added
UdpSocket::peek
andUdpSocket::peek_from
(#853)
๐ Changed
Extracted the executor into async-global-executor (#867)
โก๏ธ Updated various dependencies
๐ Fixed
- โ Added
-
v1.6.3 Changes
July 31, 2020 -
v1.6.2 Changes
June 19, 2020