@@ -7,6 +7,93 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview
7
7
8
8
## [ Unreleased]
9
9
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
+
10
97
# [ 0.99.9] - 2019-10-08
11
98
12
99
This patch upgrades our ` futures-rs ` version, allowing us to build on the 1.39
@@ -183,7 +270,8 @@ task::blocking(async {
183
270
184
271
- Initial beta release
185
272
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
187
275
[ 0.99.9 ] : https://github.com/async-rs/async-std/compare/v0.99.8...v0.99.9
188
276
[ 0.99.8 ] : https://github.com/async-rs/async-std/compare/v0.99.7...v0.99.8
189
277
[ 0.99.7 ] : https://github.com/async-rs/async-std/compare/v0.99.6...v0.99.7
0 commit comments