@@ -7,6 +7,154 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview
77
88## [ Unreleased]
99
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+
10158# [ 0.99.10] - 2019-10-16
11159
12160This patch stabilizes several core concurrency macros, introduces async versions
@@ -281,7 +429,10 @@ task::blocking(async {
281429
282430- Initial beta release
283431
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
285436[ 0.99.10 ] : https://github.com/async-rs/async-std/compare/v0.99.9...v0.99.10
286437[ 0.99.9 ] : https://github.com/async-rs/async-std/compare/v0.99.8...v0.99.9
287438[ 0.99.8 ] : https://github.com/async-rs/async-std/compare/v0.99.7...v0.99.8
0 commit comments