@@ -7,6 +7,130 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview
7
7
8
8
## [ Unreleased]
9
9
10
+ # [ 1.5.0] - 2020-02-03
11
+
12
+ [ API Documentation] ( https://docs.rs/async-std/1.5.0/async-std )
13
+
14
+ This patch includes various quality of life improvements to async-std.
15
+ Including improved performance, stability, and the addition of various
16
+ ` Clone ` impls that replace the use of ` Arc ` in many cases.
17
+
18
+ ## Added
19
+
20
+ - Added links to various ecosystem projects from the README ([ #660 ] ( https://github.com/async-rs/async-std/pull/660 ) )
21
+ - Added an example on ` FromStream ` for ` Result<T, E> ` ([ #643 ] ( https://github.com/async-rs/async-std/pull/643 ) )
22
+ - Added ` stream::pending ` as "unstable" ([ #615 ] ( https://github.com/async-rs/async-std/pull/615 ) )
23
+ - Added an example of ` stream::timeout ` to document the error flow ([ #675 ] ( https://github.com/async-rs/async-std/pull/675 ) )
24
+ - Implement ` Clone ` for ` DirEntry ` ([ #682 ] ( https://github.com/async-rs/async-std/pull/682 ) )
25
+ - Implement ` Clone ` for ` TcpStream ` ([ #689 ] ( https://github.com/async-rs/async-std/pull/689 ) )
26
+
27
+ ## Changed
28
+
29
+ - Removed internal comment on ` stream::Interval ` ([ #645 ] ( https://github.com/async-rs/async-std/pull/645 ) )
30
+ - The "unstable" feature can now be used without requiring the "default" feature ([ #647 ] ( https://github.com/async-rs/async-std/pull/647 ) )
31
+ - Removed unnecessary trait bound on ` stream::FlatMap ` ([ #651 ] ( https://github.com/async-rs/async-std/pull/651 ) )
32
+ - Updated the "broadcaster" dependency used by "unstable" to ` 1.0.0 ` ([ #681 ] ( https://github.com/async-rs/async-std/pull/681 ) )
33
+ - Updated ` async-task ` to 1.2.1 ([ #676 ] ( https://github.com/async-rs/async-std/pull/676 ) )
34
+ - ` task::block_on ` now parks after a single poll, improving performance in many cases ([ #684 ] ( https://github.com/async-rs/async-std/pull/684 ) )
35
+ - Improved reading flow of the "client" part of the async-std tutorial ([ #550 ] ( https://github.com/async-rs/async-std/pull/550 ) )
36
+ - Use ` take_while ` instead of ` scan ` in ` impl ` of ` Product ` , ` Sum ` and ` FromStream ` ([ #667 ] ( https://github.com/async-rs/async-std/pull/667 ) )
37
+ - ` TcpStream::connect ` no longer uses a thread from the threadpool, improving performance ([ #687 ] ( https://github.com/async-rs/async-std/pull/687 ) )
38
+
39
+ ## Fixed
40
+
41
+ - Fixed crate documentation typo ([ #655 ] ( https://github.com/async-rs/async-std/pull/655 ) )
42
+ - Fixed documentation for ` UdpSocket::recv ` ([ #648 ] ( https://github.com/async-rs/async-std/pull/648 ) )
43
+ - Fixed documentation for ` UdpSocket::send ` ([ #671 ] ( https://github.com/async-rs/async-std/pull/671 ) )
44
+ - Fixed typo in stream documentation ([ #650 ] ( https://github.com/async-rs/async-std/pull/650 ) )
45
+ - Fixed typo on ` sync::JoinHandle ` documentation ([ #659 ] ( https://github.com/async-rs/async-std/pull/659 ) )
46
+ - Removed use of ` std::error::Error::description ` which failed CI ([ #661 ] ( https://github.com/async-rs/async-std/pull/662 ) )
47
+ - Removed the use of rustfmt's unstable ` format_code_in_doc_comments ` option which failed CI ([ #685 ] ( https://github.com/async-rs/async-std/pull/685 ) )
48
+ - Fixed a code typo in the ` task::sleep ` example ([ #688 ] ( https://github.com/async-rs/async-std/pull/688 ) )
49
+
50
+ # [ 1.4.0] - 2019-12-20
51
+
52
+ [ API Documentation] ( https://docs.rs/async-std/1.4.0/async-std )
53
+
54
+ This patch adds ` Future::timeout ` , providing a method counterpart to the
55
+ ` future::timeout ` free function. And includes several bug fixes around missing
56
+ APIs. Notably we're not shipping our new executor yet, first announced [ on our
57
+ blog] ( https://async.rs/blog/stop-worrying-about-blocking-the-new-async-std-runtime/ ) .
58
+
59
+ ## Examples
60
+
61
+ ``` rust
62
+ use async_std :: prelude :: * ;
63
+ use async_std :: future;
64
+ use std :: time :: Duration ;
65
+
66
+ let fut = future :: pending :: <()>(); // This future will never resolve.
67
+ let res = fut . timeout (Duration :: from_millis (100 )). await ;
68
+ assert! (res . is_err ()); // The future timed out, returning an err.
69
+ ```
70
+
71
+ ## Added
72
+
73
+ - Added ` Future::timeout ` as "unstable" [ (#600 )] ( https://github.com/async-rs/async-std/pull/600 )
74
+
75
+ ## Fixes
76
+
77
+ - Fixed a doc test and enabled it on CI [ (#597 )] ( https://github.com/async-rs/async-std/pull/597 )
78
+ - Fixed a rendering issue with the ` stream ` submodule documentation [ (#621 )] ( https://github.com/async-rs/async-std/pull/621 )
79
+ - ` Write::write_fmt ` 's future is now correctly marked as ` #[must_use] ` [ (#628 )] ( https://github.com/async-rs/async-std/pull/628 )
80
+ - Fixed the missing ` io::Bytes ` export [ (#633 )] ( https://github.com/async-rs/async-std/pull/633 )
81
+ - Fixed the missing ` io::Chain ` export [ (#633 )] ( https://github.com/async-rs/async-std/pull/633 )
82
+ - Fixed the missing ` io::Take ` export [ (#633 )] ( https://github.com/async-rs/async-std/pull/633 )
83
+
84
+ # [ 1.3.0] - 2019-12-12
85
+
86
+ [ API Documentation] ( https://docs.rs/async-std/1.3.0/async-std )
87
+
88
+ This patch introduces ` Stream::delay ` , more methods on ` DoubleEndedStream ` ,
89
+ and improves compile times. ` Stream::delay ` is a new API that's similar to
90
+ [ ` task::sleep ` ] ( https://docs.rs/async-std/1.2.0/async_std/task/fn.sleep.html ) ,
91
+ but can be passed as part of as stream, rather than as a separate block. This is
92
+ useful for examples, or when manually debugging race conditions.
93
+
94
+ ## Examples
95
+
96
+ ``` rust
97
+ let start = Instant :: now ();
98
+ let mut s = stream :: from_iter (vec! [0u8 , 1 ]). delay (Duration :: from_millis (200 ));
99
+
100
+ // The first time will take more than 200ms due to delay.
101
+ s . next (). await ;
102
+ assert! (start . elapsed (). as_millis () >= 200 );
103
+
104
+ // There will be no delay after the first time.
105
+ s . next (). await ;
106
+ assert! (start . elapsed (). as_millis () <= 210 );
107
+ ```
108
+
109
+ ## Added
110
+
111
+ - Added ` Stream::delay ` as "unstable" [ (#309 )] ( https://github.com/async-rs/async-std/pull/309 )
112
+ - Added ` DoubleEndedStream::next_back ` as "unstable" [ (#562 )] ( https://github.com/async-rs/async-std/pull/562 )
113
+ - Added ` DoubleEndedStream::nth_back ` as "unstable" [ (#562 )] ( https://github.com/async-rs/async-std/pull/562 )
114
+ - Added ` DoubleEndedStream::rfind ` as "unstable" [ (#562 )] ( https://github.com/async-rs/async-std/pull/562 )
115
+ - Added ` DoubleEndedStream::rfold ` as "unstable" [ (#562 )] ( https://github.com/async-rs/async-std/pull/562 )
116
+ - Added ` DoubleEndedStream::try_rfold ` as "unstable" [ (#562 )] ( https://github.com/async-rs/async-std/pull/562 )
117
+ - ` stream::Once ` now implements ` DoubleEndedStream ` [ (#562 )] ( https://github.com/async-rs/async-std/pull/562 )
118
+ - ` stream::FromIter ` now implements ` DoubleEndedStream ` [ (#562 )] ( https://github.com/async-rs/async-std/pull/562 )
119
+
120
+ ## Changed
121
+
122
+ - Removed our dependency on ` async-macros ` , speeding up compilation [ (#610 )] ( https://github.com/async-rs/async-std/pull/610 )
123
+
124
+ ## Fixes
125
+
126
+ - Fixed a link in the task docs [ (#598 )] ( https://github.com/async-rs/async-std/pull/598 )
127
+ - Fixed the ` UdpSocket::recv ` example [ (#603 )] ( https://github.com/async-rs/async-std/pull/603 )
128
+ - Fixed a link to ` task::block_on ` [ (#608 )] ( https://github.com/async-rs/async-std/pull/608 )
129
+ - Fixed an incorrect API mention in ` task::Builder ` [ (#612 )] ( https://github.com/async-rs/async-std/pull/612 )
130
+ - Fixed leftover mentions of ` futures-preview ` [ (#595 )] ( https://github.com/async-rs/async-std/pull/595 )
131
+ - Fixed a typo in the tutorial [ (#614 )] ( https://github.com/async-rs/async-std/pull/614 )
132
+ - ` <TcpStream as Write>::poll_close ` now closes the write half of the stream [ (#618 )] ( https://github.com/async-rs/async-std/pull/618 )
133
+
10
134
# [ 1.2.0] - 2019-11-27
11
135
12
136
[ API Documentation] ( https://docs.rs/async-std/1.2.0/async-std )
@@ -553,7 +677,10 @@ task::blocking(async {
553
677
554
678
- Initial beta release
555
679
556
- [ Unreleased ] : https://github.com/async-rs/async-std/compare/v1.2.0...HEAD
680
+ [ Unreleased ] : https://github.com/async-rs/async-std/compare/v1.5.0...HEAD
681
+ [ 1.5.0 ] : https://github.com/async-rs/async-std/compare/v1.4.0...v1.5.0
682
+ [ 1.4.0 ] : https://github.com/async-rs/async-std/compare/v1.3.0...v1.4.0
683
+ [ 1.3.0 ] : https://github.com/async-rs/async-std/compare/v1.2.0...v1.3.0
557
684
[ 1.2.0 ] : https://github.com/async-rs/async-std/compare/v1.1.0...v1.2.0
558
685
[ 1.1.0 ] : https://github.com/async-rs/async-std/compare/v1.0.1...v1.1.0
559
686
[ 1.0.1 ] : https://github.com/async-rs/async-std/compare/v1.0.0...v1.0.1
0 commit comments