@@ -7,6 +7,93 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview
77
88## [ Unreleased]
99
10+ # [ 0.99.10] - 2019-10-16
11+
12+ This patch stabilizes several core concurrency macros, introduces async versions
13+ of ` Path ` and ` PathBuf ` , and adds almost 100 other commits.
14+
15+ ## Examples
16+
17+ __ Asynchronously read directories from the filesystem__
18+ ``` rust
19+ use async_std :: fs;
20+ use async_std :: path :: Path ;
21+ use async_std :: prelude :: * ;
22+
23+ let path = Path :: new (" /laputa" );
24+ let mut dir = fs :: read_dir (& path ). await . unwrap ();
25+ while let Some (entry ) = dir . next (). await {
26+ if let Ok (entry ) = entry {
27+ println! (" {:?}" , entry . path ());
28+ }
29+ }
30+ ```
31+
32+ __ Cooperatively reschedule the current task on the executor__
33+ ``` rust
34+ use async_std :: prelude :: * ;
35+ use async_std :: task;
36+
37+ task :: spawn (async {
38+ let x = fibonnacci (1000 ); // Do expensive work
39+ task :: yield_now (). await ; // Allow other tasks to run
40+ x + fibonnacci (100 ) // Do more work
41+ })
42+ ```
43+
44+ __ Create an interval stream__
45+ ``` rust
46+ use async_std :: prelude :: * ;
47+ use async_std :: stream;
48+ use std :: time :: Duration ;
49+
50+ let mut interval = stream :: interval (Duration :: from_secs (4 ));
51+ while let Some (_ ) = interval . next (). await {
52+ println! (" prints every four seconds" );
53+ }
54+ ```
55+
56+ ## Added
57+
58+ - Added ` FutureExt ` to the ` prelude ` , allowing us to extend ` Future `
59+ - Added ` Stream::merge ` as "unstable", replacing ` stream::join! `
60+ - Added ` Stream::partial_cmp `
61+ - Added ` Stream::take_while `
62+ - Added ` future::IntoFuture ` as "unstable"
63+ - Added ` io::BufRead::split `
64+ - Added ` io::Write::write_fmt `
65+ - Added ` stream::from_fn `
66+ - Added ` print! ` , ` println! ` , ` eprint! ` , ` eprintln! ` macros as "unstable"
67+ - Added ` process ` as "unstable", re-exporting std types only for now
68+ - Added ` std::path::PathBuf ` with all associated methods
69+ - Added ` std::path::Path ` with all associated methods
70+ - Added ` stream::ExactSizeStream ` as "unstable"
71+ - Added ` stream::FusedStream ` as "unstable"
72+ - Added ` stream::interval ` as "unstable"
73+ - Added ` task::spawn_blocking ` as "unstable", replacing ` task::blocking `
74+ - Added ` task::yield_now `
75+ - Added ` write! ` and ` writeln! ` macros as "unstable"
76+ - Added ` std::net ` re-exports to the ` net ` submodule
77+ - Stabilized ` future::join! ` and ` future::try_join! `
78+ - Stabilized ` future::timeout `
79+ - Stabilized ` path `
80+ - Stabilized ` task::ready! `
81+
82+ ## Changed
83+
84+ - Fixed ` BufWriter::into_inner ` so it calls ` flush ` before yielding
85+ - Refactored ` io::BufWriter ` internals
86+ - Refactored ` net::ToSocketAddrs ` internals
87+ - Removed Travis CI entirely
88+ - Rewrote the README.md
89+ - Stabilized ` io::Cursor `
90+ - Switched bors over to use GitHub actions
91+
92+ ## Removed
93+
94+ - Removed the "unstable" ` stream::join! ` in favor of ` Stream::merge `
95+ - Removed the "unstable" ` task::blocking ` in favor of ` task::spawn_blocking `
96+
1097# [ 0.99.9] - 2019-10-08
1198
1299This patch upgrades our ` futures-rs ` version, allowing us to build on the 1.39
@@ -183,7 +270,8 @@ task::blocking(async {
183270
184271- Initial beta release
185272
186- [ Unreleased ] : https://github.com/async-rs/async-std/compare/v0.99.9...HEAD
273+ [ Unreleased ] : https://github.com/async-rs/async-std/compare/v0.99.10...HEAD
274+ [ 0.99.10 ] : https://github.com/async-rs/async-std/compare/v0.99.9...v0.99.10
187275[ 0.99.9 ] : https://github.com/async-rs/async-std/compare/v0.99.8...v0.99.9
188276[ 0.99.8 ] : https://github.com/async-rs/async-std/compare/v0.99.7...v0.99.8
189277[ 0.99.7 ] : https://github.com/async-rs/async-std/compare/v0.99.6...v0.99.7
0 commit comments