- Notifications
You must be signed in to change notification settings - Fork341
Releases: async-rs/async-std
v1.13.1
96f5646
Compare
async-std
has officially been discontinued. We recommend that all users and libraries migrate to the excellentsmol
project.
We createdasync-std
to demonstrate the value of making a library as close tostd
as possible, but async. We think that demonstration was successful, and we hope it will influence future design and development directions of async instd
. However, in the meantime, thesmol
project came about and provided a great executor and libraries for asynchronous use in the Rust ecosystem. We think that resources would be better spent consolidating aroundsmol
, rather than continuing to provide occasional maintenance ofasync-std
. As such, we recommend that all users ofasync-std
, and all libraries built onasync-std
, switch tosmol
instead.
In addition to thesmol
project as a direct replacement, you may find other parts of the futures ecosystem useful, includingfutures-concurrency
,async-io
,futures-lite
, andasync-compat
.
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.13.0
2987d21
Compare
Added
- IO Safety traits implementations
Changed
- Various dependencies updates
- Export
BufReadExt
andSeekExt
fromasync_std::io
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.12.0
1130279
Compare
This release stabilizes some long-await
ed APIs that help people build async interfaces and interoperate with other APIs.
Added
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.
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.11.0
2c63046
Compare
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 be
fore.
Changed
- Some internal code has been de-macro-ified, making for quicker compile times.
- We now use the default recursion limit.
Docs
- Several docs improvements / fixes.
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.9.0
Compare
Happy New Year everyone! This patch stabilizes theasync_std::channel
submodule, removes the deprecatedsync::channel
types, and introduces thetokio1
feature.
New Channels
As part of our1.8.0
release last month we introduced the newasync_std::channel
submodule and deprecated the unstableasync_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 ofasync-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 ofasync-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 thetokio02
,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
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.8.0
fde2f58
Compare
This patch introducesasync_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 newasync_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-levelchannel
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 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
Fixed
Internal
- updated
pin-project
tov0.2.0
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.7.0
0f50f3c
Compare
This patch adds a feature to enable compatibility with the newtokio
0.3.0 release, and updates internal dependencies.
Tokio 0.3.x compat
Since earlier this yearasync-std
has shipped with atokio-02
feature flag that enables libraries written for thetokio
runtime to work onasync-std
as well. When this flag is enabledasync-std
ensures that whenever it spawns a thread on its executor, the right tokio-specific thread state is initialized for it. That means no morethread 'main' panicked at 'not currently running on the Tokio runtime.'
errors when runningasync-std
andtokio
in the same application.
This patch introduces a new feature flag:tokio-03
which enables the same mechanism for the latest version of thetokio
runtime. As applications migrate fromtokio
0.2.x to 0.3.x, mixing dependencies that use bothasync-std
andtokio
will continue to work.
Added
- Add
tokio03
feature flag (#895)
Internal
- chore: update dependencies (#897)
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.6.5
f09fa42
Compare
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.6.4
55fb871
Compare
Added
- Added
UdpSocket::peek
andUdpSocket::peek_from
(#853)
Changed
Extracted the executor intoasync-global-executor (#867)
Updated various dependencies
Fixed
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.6.3
9a16081
Compare
Assets2
Uh oh!
There was an error while loading.Please reload this page.