Skip to content

Commit 171e4f9

Browse files
authored
Merge pull request #936 from async-rs/1.9.0
Add 1.9.0 release notes
2 parents b854b67 + 8fcb243 commit 171e4f9

File tree

1 file changed

+65
-4
lines changed

1 file changed

+65
-4
lines changed

CHANGELOG.md

+65-4
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,78 @@ All notable changes to async-std will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://book.async.rs/overview/stability-guarantees.html).
77

8-
## [Unreleased]
8+
# [Unreleased]
99

10-
The new `async_std::channel` submodule, introduced in 1.8.0, has been stabilized. You no longer need the `unstable` feature to use it.
10+
## Added
11+
## Removed
12+
## Changed
13+
14+
# [1.9.0] - 2021-01-15
15+
16+
This patch stabilizes the `async_std::channel` submodule, removes the
17+
deprecated `sync::channel` types, and introduces the `tokio1` feature.
18+
19+
## New Channels
20+
21+
As part of our `1.8.0` release last month we introduced the new
22+
`async_std::channel` submodule and deprecated the unstable
23+
`async_std::sync::channel` types. You can read our full motiviation for this
24+
change in the last patch notes. But the short version is that the old
25+
channels had some fundamental problems, and the `sync` submodule is a bit of
26+
a mess.
27+
28+
This release of `async-std` promotes `async_std::channel` to stable, and
29+
fully removes the `async_std::sync::channel` types. In practice many
30+
libraries have already been upgraded to the new channels in the past month,
31+
and this will enable much of the ecosystem to switch off "unstable" versions
32+
of `async-std`.
33+
34+
```rust
35+
use async_std::channel;
36+
37+
let (sender, receiver) = channel::unbounded();
38+
39+
assert_eq!(sender.send("Hello").await, Ok(()));
40+
assert_eq!(receiver.recv().await, Ok("Hello"));
41+
```
42+
43+
## Tokio 1.0 compat
44+
45+
The Tokio project recently released version 1.0 of their runtime, and the
46+
async-std team would like to congratulate the Tokio team on achieving this
47+
milestone.
48+
49+
This release of `async-std` adds the `tokio1` feature flag, enabling Tokio's
50+
TLS constructors to be initialized within the `async-std` runtime. This is in
51+
addition to the `tokio02` and `tokio03` feature flags which we were already
52+
exposing.
53+
54+
In terms of stability it's worth noting that we will continue to provide
55+
support for the `tokio02`, `tokio03`, and `tokio1` on the current major
56+
release line of `async-std`. These flags are part of our public API, and
57+
removing compat support for older Tokio versions is considered a breaking
58+
change.
1159

1260
## Added
1361

14-
- Add `tokio1` feature ([#924](https://github.com/async-rs/async-std/pull/924))
62+
- Added the `tokio1` feature ([#924](https://github.com/async-rs/async-std/pull/924))
63+
- Stabilized the `async_std::channel` submodule ([#934](https://github.com/async-rs/async-std/pull/934))
1564

1665
## Removed
1766

18-
- Removed deprecated `sync::channel`
67+
- Removed deprecated `sync::channel` ([#933](https://github.com/async-rs/async-std/pull/933))
68+
69+
## Fixed
70+
71+
- Fixed a typo for [sic] `FuturesExt` trait ([#930](https://github.com/async-rs/async-std/pull/930))
72+
- Update the link to `cargo-edit` in the installation section of the docs ([#932](https://github.com/async-rs/async-std/pull/932))
73+
- Fixed a small typo for stream ([#926](https://github.com/async-rs/async-std/pull/926))
74+
75+
## Internal
76+
77+
- Updated `rand` to 0.8 ([#923](https://github.com/async-rs/async-std/pull/923))
78+
- Migrated `RwLock` and `Barrier` to use the `async-lock` crate internally ([#925](https://github.com/async-rs/async-std/pull/925))
79+
- Replaced uses of deprecated the `compare_and_swap` method with `compare_exchange` ([#927](https://github.com/async-rs/async-std/pull/927))
1980

2081
# [1.8.0] - 2020-12-04
2182

0 commit comments

Comments
 (0)