@@ -7,6 +7,154 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview
7
7
8
8
## [ Unreleased]
9
9
10
+ # [ 1.0.0] - 2019-11-11
11
+
12
+ [ API Documentation] ( https://docs.rs/async-std/1.0.0/async-std )
13
+
14
+ This release marks the ` 1.0.0 ` release of async-std; a major milestone for our
15
+ development. This release itself mostly includes quality of life improvements
16
+ for all of modules, including more consistent API bounds for a lot of our
17
+ submodules.
18
+
19
+ The biggest change is that we're now using the full semver range,
20
+ ` major.minor.patch ` , and any breaking changes to our "stable" APIs will require
21
+ an update of the ` major ` number.
22
+
23
+ We're excited we've hit this milestone together with you all. Thank you!
24
+
25
+ ## Added
26
+
27
+ - Added ` Future::join ` as "unstable", replacing ` future::join! ` .
28
+ - Added ` Future::try_join ` as "unstable", replacing ` future::try_join! ` .
29
+ - Enabled ` stable ` and ` beta ` channel testing on CI.
30
+ - Implemented ` FromIterator ` and ` Extend ` for ` PathBuf ` .
31
+ - Implemented ` FromStream ` for ` PathBuf ` .
32
+ - Loosened the trait bounds of ` io::copy ` on "unstable".
33
+
34
+ ## Changed
35
+
36
+ - Added a ` Sync ` bound to ` RwLock ` , resolving a memory safety issue.
37
+ - Fixed a bug in ` Stream::take_while ` where it could continue after it should've
38
+ ended.
39
+ - Fixed a bug where our ` attributes ` Cargo feature wasn't working as intended.
40
+ - Improved documentation of ` Stream::merge ` , documenting ordering guarantees.
41
+ - Update doc imports in examples to prefer async-std's types.
42
+ - Various quality of life improvements to the ` future ` submodule.
43
+ - Various quality of life improvements to the ` path ` submodule.
44
+ - Various quality of life improvements to the ` stream ` submodule.
45
+
46
+ ## Removed
47
+
48
+ - Removed ` future::join! ` in favor of ` Future::join ` .
49
+ - Removed ` future::try_join! ` in favor of ` Future::try_join ` .
50
+
51
+ # [ 0.99.12] - 2019-11-07
52
+
53
+ [ API Documentation] ( https://docs.rs/async-std/0.99.12/async-std )
54
+
55
+ This patch upgrades us to ` futures ` 0.3, support for ` async/await ` on Rust
56
+ Stable, performance improvements, and brand new module-level documentation.
57
+
58
+ ## Added
59
+
60
+ - Added ` Future::flatten ` as "unstable".
61
+ - Added ` Future::race ` as "unstable" (replaces ` future::select! ` ).
62
+ - Added ` Future::try_race ` as "unstable" (replaces ` future::try_select! ` ).
63
+ - Added ` Stderr::lock ` as "unstable".
64
+ - Added ` Stdin::lock ` as "unstable".
65
+ - Added ` Stdout::lock ` as "unstable".
66
+ - Added ` Stream::copied ` as "unstable".
67
+ - Added ` Stream::eq ` as "unstable".
68
+ - Added ` Stream::max_by_key ` as "unstable".
69
+ - Added ` Stream::min ` as "unstable".
70
+ - Added ` Stream::ne ` as "unstable".
71
+ - Added ` Stream::position ` as "unstable".
72
+ - Added ` StreamExt ` and ` FutureExt ` as enumerable in the ` prelude ` .
73
+ - Added ` TcpListener ` and ` TcpStream ` integration tests.
74
+ - Added ` stream::from_iter ` .
75
+ - Added ` sync::WakerSet ` for internal use.
76
+ - Added an example to handle both ` IP v4 ` and ` IP v6 ` connections.
77
+ - Added the ` default ` Cargo feature.
78
+ - Added the ` attributes ` Cargo feature.
79
+ - Added the ` std ` Cargo feature.
80
+
81
+ ## Changed
82
+
83
+ - Fixed a bug in the blocking threadpool where it didn't spawn more than one thread.
84
+ - Fixed a bug with ` Stream::merge ` where sometimes it ended too soon.
85
+ - Fixed a bug with our GitHub actions setup.
86
+ - Fixed an issue where our channels could spuriously deadlock.
87
+ - Refactored the ` task ` module.
88
+ - Removed a deprecated GitHub action.
89
+ - Replaced ` futures-preview ` with ` futures ` .
90
+ - Replaced ` lazy_static ` with ` once_cell ` .
91
+ - Replaced all uses of ` VecDequeue ` in the examples with ` stream::from_iter ` .
92
+ - Simplified ` sync::RwLock ` using the internal ` sync::WakerSet ` type.
93
+ - Updated the ` path ` submodule documentation to match std.
94
+ - Updated the mod-level documentation to match std.
95
+
96
+ ## Removed
97
+
98
+ - Removed ` future::select! ` (replaced by ` Future::race ` ).
99
+ - Removed ` future::try_select! ` (replaced by ` Future::try_race ` ).
100
+
101
+ # [ 0.99.11] - 2019-10-29
102
+
103
+ This patch introduces ` async_std::sync::channel ` , a novel asynchronous port of
104
+ the ultra-fast Crossbeam channels. This has been one of the most anticipated
105
+ features for async-std, and we're excited to be providing a first version of
106
+ this!
107
+
108
+ In addition to channels, this patch has the regular list of new methods, types,
109
+ and doc fixes.
110
+
111
+ ## Examples
112
+
113
+ __ Send and receive items from a channel__
114
+ ``` rust
115
+ // Create a bounded channel with a max-size of 1
116
+ let (s , r ) = channel (1 );
117
+
118
+ // This call returns immediately because there is enough space in the channel.
119
+ s . send (1 ). await ;
120
+
121
+ task :: spawn (async move {
122
+ // This call blocks the current task because the channel is full.
123
+ // It will be able to complete only after the first message is received.
124
+ s . send (2 ). await ;
125
+ });
126
+
127
+ // Receive items from the channel
128
+ task :: sleep (Duration :: from_secs (1 )). await ;
129
+ assert_eq! (r . recv (). await , Some (1 ));
130
+ assert_eq! (r . recv (). await , Some (2 ));
131
+ ```
132
+
133
+ ## Added
134
+ - Added ` Future::delay ` as "unstable"
135
+ - Added ` Stream::flat_map ` as "unstable"
136
+ - Added ` Stream::flatten ` as "unstable"
137
+ - Added ` Stream::product ` as "unstable"
138
+ - Added ` Stream::sum ` as "unstable"
139
+ - Added ` Stream::min_by_key `
140
+ - Added ` Stream::max_by `
141
+ - Added ` Stream::timeout ` as "unstable"
142
+ - Added ` sync::channel ` as "unstable".
143
+ - Added doc links from instantiated structs to the methods that create them.
144
+ - Implemented ` Extend ` + ` FromStream ` for ` PathBuf ` .
145
+
146
+ ## Changed
147
+ - Fixed an issue with ` block_on ` so it works even when nested.
148
+ - Fixed issues with our Clippy check on CI.
149
+ - Replaced our uses of ` cfg_if ` with our own macros, simplifying the codebase.
150
+ - Updated the homepage link in ` Cargo.toml ` to point to [ async.rs] ( https://async.rs ) .
151
+ - Updated the module-level documentation for ` stream ` and ` sync ` .
152
+ - Various typos and grammar fixes.
153
+ - Removed redundant file flushes, improving the performance of ` File ` operations
154
+
155
+ ## Removed
156
+ Nothing was removed in this release.
157
+
10
158
# [ 0.99.10] - 2019-10-16
11
159
12
160
This patch stabilizes several core concurrency macros, introduces async versions
@@ -281,7 +429,10 @@ task::blocking(async {
281
429
282
430
- Initial beta release
283
431
284
- [ Unreleased ] : https://github.com/async-rs/async-std/compare/v0.99.10...HEAD
432
+ [ Unreleased ] : https://github.com/async-rs/async-std/compare/v1.0.0...HEAD
433
+ [ 1.0.0 ] : https://github.com/async-rs/async-std/compare/v0.99.12...v1.0.0
434
+ [ 0.99.12 ] : https://github.com/async-rs/async-std/compare/v0.99.11...v0.99.12
435
+ [ 0.99.11 ] : https://github.com/async-rs/async-std/compare/v0.99.10...v0.99.11
285
436
[ 0.99.10 ] : https://github.com/async-rs/async-std/compare/v0.99.9...v0.99.10
286
437
[ 0.99.9 ] : https://github.com/async-rs/async-std/compare/v0.99.8...v0.99.9
287
438
[ 0.99.8 ] : https://github.com/async-rs/async-std/compare/v0.99.7...v0.99.8
0 commit comments