From a7daae6f9cf9ac9872279c614b3fe02a7ff404fe Mon Sep 17 00:00:00 2001 From: Yoshua Wuyts Date: Tue, 8 Oct 2019 18:11:18 +0200 Subject: [PATCH] prepare v0.99.9 Signed-off-by: Yoshua Wuyts --- CHANGELOG.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++- Cargo.toml | 2 +- 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdce1340f..77ab025a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,59 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview ## [Unreleased] +# [0.99.9] - 2019-10-08 + +This patch upgrades our `futures-rs` version, allowing us to build on the 1.39 +beta. Additionally we've introduced `map` and `for_each` to `Stream`. And we've +added about a dozen new `FromStream` implementations for `std` types, bringing +us up to par with std's `FromIterator` implementations. + +And finally we've added a new "unstable" `task::blocking` function which can be +used to convert blocking code into async code using a threadpool. We've been +using this internally for a while now to async-std to power our `fs` and +`net::SocketAddr` implementations. With this patch userland code now finally has +access to this too. + +## Example + +__Create a stream of tuples, and collect into a hashmap__ +```rust +let a = stream::once(1u8); +let b = stream::once(0u8); + +let s = a.zip(b); + +let map: HashMap = s.collect().await; +assert_eq!(map.get(&1), Some(&0u8)); +``` + +__Spawn a blocking task on a dedicated threadpool__ +```rust +task::blocking(async { + println!("long-running task here"); +}).await; +``` + +## Added + +- Added `stream::Stream::map` +- Added `stream::Stream::for_each` +- Added `stream::Stream::try_for_each` +- Added `task::blocking` as "unstable" +- Added `FromStream` for all `std::{option, collections, result, string, sync}` types. +- Added the `path` submodule as "unstable". + +## Changed + +- Updated `futures-preview` to `0.3.0-alpha.19`, allowing us to build on `rustc 1.39.0-beta`. +- As a consequence of this upgrade, all of our concrete stream implementations + now make use of `Stream::size_hint` to optimize internal allocations. +- We now use GitHub Actions through [actions-rs](https://github.com/actions-rs), + in addition to Travis CI. We intend to fully switch in the near future. +- Fixed a bug introduced in 0.99.6 where Unix Domain Listeners would sometimes become unresponsive. +- Updated our `sync::Barrier` docs to match std. +- Updated our `stream::FromStream` docs to match std's `FromIterator`. + # [0.99.8] - 2019-09-28 ## Added @@ -130,7 +183,8 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview - Initial beta release -[Unreleased]: https://github.com/async-rs/async-std/compare/v0.99.8...HEAD +[Unreleased]: https://github.com/async-rs/async-std/compare/v0.99.9...HEAD +[0.99.9]: https://github.com/async-rs/async-std/compare/v0.99.8...v0.99.9 [0.99.8]: https://github.com/async-rs/async-std/compare/v0.99.7...v0.99.8 [0.99.7]: https://github.com/async-rs/async-std/compare/v0.99.6...v0.99.7 [0.99.6]: https://github.com/async-rs/async-std/compare/v0.99.5...v0.99.6 diff --git a/Cargo.toml b/Cargo.toml index 5b988bb47..0c652988e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "async-std" -version = "0.99.8" +version = "0.99.9" authors = [ "Stjepan Glavina ", "Yoshua Wuyts ",