@@ -5,17 +5,78 @@ All notable changes to async-std will be documented in this file.
5
5
The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
6
6
and this project adheres to [ Semantic Versioning] ( https://book.async.rs/overview/stability-guarantees.html ) .
7
7
8
- ## [ Unreleased]
8
+ # [ Unreleased]
9
9
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.
11
59
12
60
## Added
13
61
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 ) )
15
64
16
65
## Removed
17
66
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 ) )
19
80
20
81
# [ 1.8.0] - 2020-12-04
21
82
0 commit comments