@@ -7,6 +7,113 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview
77
88## [ Unreleased]
99
10+ # [ 0.99.12] - 2019-11-07
11+
12+ [ API Documentation] ( https://docs.rs/async-std/0.99.12/async-std )
13+
14+ This patch upgrades us to ` futures ` 0.3, support for ` async/await ` on Rust
15+ Stable, performance improvements, and brand new module-level documentation.
16+
17+ ## Added
18+
19+ - Added ` Future::flatten ` as "unstable".
20+ - Added ` Future::race ` as "unstable" (replaces ` future::select! ` ).
21+ - Added ` Future::try_race ` as "unstable" (replaces ` future::try_select! ` ).
22+ - Added ` Stderr::lock ` as "unstable".
23+ - Added ` Stdin::lock ` as "unstable".
24+ - Added ` Stdout::lock ` as "unstable".
25+ - Added ` Stream::copied ` as "unstable".
26+ - Added ` Stream::eq ` as "unstable".
27+ - Added ` Stream::max_by_key ` as "unstable".
28+ - Added ` Stream::min ` as "unstable".
29+ - Added ` Stream::ne ` as "unstable".
30+ - Added ` Stream::position ` as "unstable".
31+ - Added ` StreamExt ` and ` FutureExt ` as enumerable in the ` prelude ` .
32+ - Added ` TcpListener ` and ` TcpStream ` integration tests.
33+ - Added ` stream::from_iter ` .
34+ - Added ` sync::WakerSet ` for internal use.
35+ - Added an example to handle both ` IP v4 ` and ` IP v6 ` connections.
36+ - Added the ` default ` Cargo feature.
37+ - Added the ` attributes ` Cargo feature.
38+ - Added the ` std ` Cargo feature.
39+
40+ ## Changed
41+
42+ - Fixed a bug in the blocking threadpool where it didn't spawn more than one thread.
43+ - Fixed a bug with ` Stream::merge ` where sometimes it ended too soon.
44+ - Fixed a bug with our GitHub actions setup.
45+ - Fixed an issue where our channels could spuriously deadlock.
46+ - Refactored the ` task ` module.
47+ - Removed a deprecated GitHub action.
48+ - Replaced ` futures-preview ` with ` futures ` .
49+ - Replaced ` lazy_static ` with ` once_cell ` .
50+ - Replaced all uses of ` VecDequeue ` in the examples with ` stream::from_iter ` .
51+ - Simplified ` sync::RwLock ` using the internal ` sync::WakerSet ` type.
52+ - Updated the ` path ` submodule documentation to match std.
53+ - Updated the mod-level documentation to match std.
54+
55+ ## Removed
56+
57+ - Removed ` future::select! ` (replaced by ` Future::race ` ).
58+ - Removed ` future::try_select! ` (replaced by ` Future::try_race ` ).
59+
60+ # [ 0.99.11] - 2019-10-29
61+
62+ This patch introduces ` async_std::sync::channel ` , a novel asynchronous port of
63+ the ultra-fast Crossbeam channels. This has been one of the most anticipated
64+ features for async-std, and we're excited to be providing a first version of
65+ this!
66+
67+ In addition to channels, this patch has the regular list of new methods, types,
68+ and doc fixes.
69+
70+ ## Examples
71+
72+ __ Send and receive items from a channel__
73+ ``` rust
74+ // Create a bounded channel with a max-size of 1
75+ let (s , r ) = channel (1 );
76+
77+ // This call returns immediately because there is enough space in the channel.
78+ s . send (1 ). await ;
79+
80+ task :: spawn (async move {
81+ // This call blocks the current task because the channel is full.
82+ // It will be able to complete only after the first message is received.
83+ s . send (2 ). await ;
84+ });
85+
86+ // Receive items from the channel
87+ task :: sleep (Duration :: from_secs (1 )). await ;
88+ assert_eq! (r . recv (). await , Some (1 ));
89+ assert_eq! (r . recv (). await , Some (2 ));
90+ ```
91+
92+ ## Added
93+ - Added ` Future::delay ` as "unstable"
94+ - Added ` Stream::flat_map ` as "unstable"
95+ - Added ` Stream::flatten ` as "unstable"
96+ - Added ` Stream::product ` as "unstable"
97+ - Added ` Stream::sum ` as "unstable"
98+ - Added ` Stream::min_by_key `
99+ - Added ` Stream::max_by `
100+ - Added ` Stream::timeout ` as "unstable"
101+ - Added ` sync::channel ` as "unstable".
102+ - Added doc links from instantiated structs to the methods that create them.
103+ - Implemented ` Extend ` + ` FromStream ` for ` PathBuf ` .
104+
105+ ## Changed
106+ - Fixed an issue with ` block_on ` so it works even when nested.
107+ - Fixed issues with our Clippy check on CI.
108+ - Replaced our uses of ` cfg_if ` with our own macros, simplifying the codebase.
109+ - Updated the homepage link in ` Cargo.toml ` to point to [ async.rs] ( https://async.rs ) .
110+ - Updated the module-level documentation for ` stream ` and ` sync ` .
111+ - Various typos and grammar fixes.
112+ - Removed redundant file flushes, improving the performance of ` File ` operations
113+
114+ ## Removed
115+ Nothing was removed in this release.
116+
10117# [ 0.99.10] - 2019-10-16
11118
12119This patch stabilizes several core concurrency macros, introduces async versions
@@ -281,7 +388,8 @@ task::blocking(async {
281388
282389- Initial beta release
283390
284- [ Unreleased ] : https://github.com/async-rs/async-std/compare/v0.99.10...HEAD
391+ [ Unreleased ] : https://github.com/async-rs/async-std/compare/v0.99.11...HEAD
392+ [ 0.99.10 ] : https://github.com/async-rs/async-std/compare/v0.99.10...v0.99.11
285393[ 0.99.10 ] : https://github.com/async-rs/async-std/compare/v0.99.9...v0.99.10
286394[ 0.99.9 ] : https://github.com/async-rs/async-std/compare/v0.99.8...v0.99.9
287395[ 0.99.8 ] : https://github.com/async-rs/async-std/compare/v0.99.7...v0.99.8
0 commit comments