diff --git a/CHANGELOG.md b/CHANGELOG.md index 742be93b44..09e1d9a4d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# 0.3.0-alpha.10 - 2018-11-27 +* Revamped `select!` macro +* Added `select_next_some` method for getting only the `Some` elements of a stream from `select!` +* Added `futures::lock::Mutex` for async-aware synchronization. +* Fixed bug converting `Pin>` to `StreamObj` +* Improved performance of futures::channel +* Improved performance and documentation of `Shared` +* Add `new` method and more `derive`s to the `Compat` type +* Enabled spawning on a borrowed threadpool +* Re-added `join_all` +* Added `try_concat` + # 0.3.0-alpha.9 - 2018-10-18 * Fixed in response to new nightly handling of 2018 edition + `#![no_std]` diff --git a/README.md b/README.md index 1af9584195..1ab89afb94 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@

- + Documentation | Website @@ -30,7 +30,7 @@ Add this to your `Cargo.toml`: ```toml [dependencies] -futures-preview = "0.3.0-alpha.9" +futures-preview = "0.3.0-alpha.10" ``` Now, you can use futures-rs: @@ -47,7 +47,7 @@ a `#[no_std]` environment, use: ```toml [dependencies] -futures-preview = { version = "0.3.0-alpha.9", default-features = false } +futures-preview = { version = "0.3.0-alpha.10", default-features = false } ``` # License diff --git a/futures-channel/Cargo.toml b/futures-channel/Cargo.toml index 11b24e2dae..6e29429305 100644 --- a/futures-channel/Cargo.toml +++ b/futures-channel/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-channel-preview" edition = "2018" -version = "0.3.0-alpha.9" +version = "0.3.0-alpha.10" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang-nursery/futures-rs" homepage = "https://rust-lang-nursery.github.io/futures-rs" -documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_channel" +documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_channel" description = """ Channels for asynchronous communication using futures-rs. """ @@ -19,9 +19,9 @@ std = ["futures-core-preview/std"] default = ["std"] [dependencies] -futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.9", default-features = false } +futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.10", default-features = false } [dev-dependencies] -futures-preview = { path = "../futures", version = "0.3.0-alpha.9", default-features = true } -futures-test-preview = { path = "../futures-test", version = "0.3.0-alpha.9", default-features = true } +futures-preview = { path = "../futures", version = "0.3.0-alpha.10", default-features = true } +futures-test-preview = { path = "../futures-test", version = "0.3.0-alpha.10", default-features = true } pin-utils = "0.1.0-alpha.3" diff --git a/futures-channel/src/lib.rs b/futures-channel/src/lib.rs index 8b20e8ab73..e2114059d2 100644 --- a/futures-channel/src/lib.rs +++ b/futures-channel/src/lib.rs @@ -10,7 +10,7 @@ #![warn(missing_docs, missing_debug_implementations)] #![deny(bare_trait_objects)] -#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_channel")] +#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_channel")] #[cfg(feature = "std")] mod lock; diff --git a/futures-core/Cargo.toml b/futures-core/Cargo.toml index e14e0aa8b7..2dc605be44 100644 --- a/futures-core/Cargo.toml +++ b/futures-core/Cargo.toml @@ -3,12 +3,12 @@ cargo-features = ["rename-dependency"] [package] name = "futures-core-preview" edition = "2018" -version = "0.3.0-alpha.9" +version = "0.3.0-alpha.10" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang-nursery/futures-rs" homepage = "https://rust-lang-nursery.github.io/futures-rs" -documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_core" +documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_core" description = """ The core traits and types in for the `futures` library. """ @@ -25,4 +25,4 @@ nightly = [] either = { version = "1.4", default-features = false, optional = true } [dev-dependencies] -futures-preview = { path = "../futures", version = "0.3.0-alpha.9" } +futures-preview = { path = "../futures", version = "0.3.0-alpha.10" } diff --git a/futures-core/src/lib.rs b/futures-core/src/lib.rs index 9b54d2aa54..0299fa5b66 100644 --- a/futures-core/src/lib.rs +++ b/futures-core/src/lib.rs @@ -8,7 +8,7 @@ #![warn(missing_docs, missing_debug_implementations)] #![deny(bare_trait_objects)] -#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_core")] +#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_core")] pub mod future; #[doc(hidden)] pub use self::future::{Future, FusedFuture, TryFuture}; diff --git a/futures-executor/Cargo.toml b/futures-executor/Cargo.toml index dab49a29a5..d756f21207 100644 --- a/futures-executor/Cargo.toml +++ b/futures-executor/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-executor-preview" edition = "2018" -version = "0.3.0-alpha.9" +version = "0.3.0-alpha.10" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang-nursery/futures-rs" homepage = "https://rust-lang-nursery.github.io/futures-rs" -documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_executor" +documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_executor" description = """ Executors for asynchronous tasks based on the futures-rs library. """ @@ -19,13 +19,13 @@ std = ["num_cpus", "futures-core-preview/std", "futures-util-preview/std", "futu default = ["std"] [dependencies] -futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.9", default-features = false} -futures-util-preview = { path = "../futures-util", version = "0.3.0-alpha.9", default-features = false} -futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.9", default-features = false} +futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.10", default-features = false} +futures-util-preview = { path = "../futures-util", version = "0.3.0-alpha.10", default-features = false} +futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.10", default-features = false} num_cpus = { version = "1.8.0", optional = true } lazy_static = { version = "1.1.0", optional = true } pin-utils = "0.1.0-alpha.3" [dev-dependencies] -futures-preview = { path = "../futures", version = "0.3.0-alpha.9" } -futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.9" } +futures-preview = { path = "../futures", version = "0.3.0-alpha.10" } +futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.10" } diff --git a/futures-executor/src/lib.rs b/futures-executor/src/lib.rs index e86a019866..a19c660176 100644 --- a/futures-executor/src/lib.rs +++ b/futures-executor/src/lib.rs @@ -7,7 +7,7 @@ #![warn(missing_docs, missing_debug_implementations)] #![deny(bare_trait_objects)] -#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_executor")] +#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_executor")] #[cfg(feature = "std")] mod local_pool; diff --git a/futures-io/Cargo.toml b/futures-io/Cargo.toml index b1ee04f33f..799df34843 100644 --- a/futures-io/Cargo.toml +++ b/futures-io/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-io-preview" edition = "2018" -version = "0.3.0-alpha.9" +version = "0.3.0-alpha.10" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang-nursery/futures-rs" homepage = "https://rust-lang-nursery.github.io/futures-rs" -documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_io" +documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_io" description = """ The `AsyncRead` and `AsyncWrite` traits for the futures-rs library. """ @@ -19,9 +19,9 @@ std = ["futures-core-preview/std", "iovec"] default = ["std"] [dependencies] -futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.9", default-features = false } +futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.10", default-features = false } iovec = { version = "0.1", optional = true } [dev-dependencies] -futures-preview = { path = "../futures", version = "0.3.0-alpha.9" } +futures-preview = { path = "../futures", version = "0.3.0-alpha.10" } assert_matches = "1.3.0" diff --git a/futures-io/src/lib.rs b/futures-io/src/lib.rs index 503dfb5f2c..dd3ff9c660 100644 --- a/futures-io/src/lib.rs +++ b/futures-io/src/lib.rs @@ -9,7 +9,7 @@ #![warn(missing_docs, missing_debug_implementations)] #![deny(bare_trait_objects)] -#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_io")] +#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_io")] #![feature(futures_api)] diff --git a/futures-sink/Cargo.toml b/futures-sink/Cargo.toml index f54543f0cb..cd1ef995dc 100644 --- a/futures-sink/Cargo.toml +++ b/futures-sink/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-sink-preview" edition = "2018" -version = "0.3.0-alpha.9" +version = "0.3.0-alpha.10" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang-nursery/futures-rs" homepage = "https://rust-lang-nursery.github.io/futures-rs" -documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_sink" +documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_sink" description = """ The asynchronous `Sink` trait for the futures-rs library. """ @@ -20,5 +20,5 @@ default = ["std"] [dependencies] either = { version = "1.4", default-features = false, optional = true } -futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.9", default-features = false } -futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.9", default-features = false } +futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.10", default-features = false } +futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.10", default-features = false } diff --git a/futures-sink/src/lib.rs b/futures-sink/src/lib.rs index 1f4209f8f0..33c5643174 100644 --- a/futures-sink/src/lib.rs +++ b/futures-sink/src/lib.rs @@ -5,7 +5,7 @@ #![cfg_attr(not(feature = "std"), no_std)] #![warn(missing_docs, missing_debug_implementations)] -#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_sink")] +#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_sink")] #![feature(pin, arbitrary_self_types, futures_api)] diff --git a/futures-test/Cargo.toml b/futures-test/Cargo.toml index 41bae94479..f19c29f2ab 100644 --- a/futures-test/Cargo.toml +++ b/futures-test/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "futures-test-preview" edition = "2018" -version = "0.3.0-alpha.9" +version = "0.3.0-alpha.10" authors = ["Wim Looman "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang-nursery/futures-rs" diff --git a/futures-util/Cargo.toml b/futures-util/Cargo.toml index 57d78eff85..8d58cdcf95 100644 --- a/futures-util/Cargo.toml +++ b/futures-util/Cargo.toml @@ -3,12 +3,12 @@ cargo-features = ["rename-dependency"] [package] name = "futures-util-preview" edition = "2018" -version = "0.3.0-alpha.9" +version = "0.3.0-alpha.10" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang-nursery/futures-rs" homepage = "https://rust-lang-nursery.github.io/futures-rs" -documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_util" +documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_util" description = """ Common utilities and extension traits for the futures-rs library. """ @@ -26,10 +26,10 @@ bench = [] nightly = [] [dependencies] -futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.9", default-features = false } -futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.9", default-features = false } -futures-io-preview = { path = "../futures-io", version = "0.3.0-alpha.9", default-features = false } -futures-sink-preview = { path = "../futures-sink", version = "0.3.0-alpha.9", default-features = false} +futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.10", default-features = false } +futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.10", default-features = false } +futures-io-preview = { path = "../futures-io", version = "0.3.0-alpha.10", default-features = false } +futures-sink-preview = { path = "../futures-sink", version = "0.3.0-alpha.10", default-features = false} either = { version = "1.4", default-features = false } rand = { version = "0.5.5", optional = true } slab = { version = "0.4", optional = true } @@ -39,7 +39,7 @@ tokio-io = { version = "0.1.9", optional = true } pin-utils = "0.1.0-alpha.3" [dev-dependencies] -futures-preview = { path = "../futures", version = "0.3.0-alpha.9" } -futures-executor-preview = { path = "../futures-executor", version = "0.3.0-alpha.9" } -futures-test-preview = { path = "../futures-test", version = "0.3.0-alpha.9" } +futures-preview = { path = "../futures", version = "0.3.0-alpha.10" } +futures-executor-preview = { path = "../futures-executor", version = "0.3.0-alpha.10" } +futures-test-preview = { path = "../futures-test", version = "0.3.0-alpha.10" } tokio = "0.1.11" diff --git a/futures-util/src/lib.rs b/futures-util/src/lib.rs index 1e1444bc1b..da27572c08 100644 --- a/futures-util/src/lib.rs +++ b/futures-util/src/lib.rs @@ -9,7 +9,7 @@ #![warn(missing_docs, missing_debug_implementations)] #![deny(bare_trait_objects)] -#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures_util")] +#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures_util")] #[macro_use] mod macros; diff --git a/futures/Cargo.toml b/futures/Cargo.toml index bb6e7a830b..f410b029d6 100644 --- a/futures/Cargo.toml +++ b/futures/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "futures-preview" edition = "2018" -version = "0.3.0-alpha.9" +version = "0.3.0-alpha.10" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" readme = "../README.md" keywords = ["futures", "async", "future"] repository = "https://github.com/rust-lang-nursery/futures-rs" homepage = "https://rust-lang-nursery.github.io/futures-rs" -documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures" +documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures" description = """ An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces. @@ -23,16 +23,16 @@ travis-ci = { repository = "rust-lang-nursery/futures-rs" } appveyor = { repository = "rust-lang-nursery/futures-rs" } [dependencies] -futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.9", default-features = false } -futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.9", default-features = false } -futures-executor-preview = { path = "../futures-executor", version = "0.3.0-alpha.9", default-features = false } -futures-io-preview = { path = "../futures-io", version = "0.3.0-alpha.9", default-features = false } -futures-sink-preview = { path = "../futures-sink", version = "0.3.0-alpha.9", default-features = false } -futures-util-preview = { path = "../futures-util", version = "0.3.0-alpha.9", default-features = false } +futures-core-preview = { path = "../futures-core", version = "0.3.0-alpha.10", default-features = false } +futures-channel-preview = { path = "../futures-channel", version = "0.3.0-alpha.10", default-features = false } +futures-executor-preview = { path = "../futures-executor", version = "0.3.0-alpha.10", default-features = false } +futures-io-preview = { path = "../futures-io", version = "0.3.0-alpha.10", default-features = false } +futures-sink-preview = { path = "../futures-sink", version = "0.3.0-alpha.10", default-features = false } +futures-util-preview = { path = "../futures-util", version = "0.3.0-alpha.10", default-features = false } [dev-dependencies] pin-utils = "0.1.0-alpha.3" -futures-test-preview = { path = "../futures-test", version = "0.3.0-alpha.9", default-features = false } +futures-test-preview = { path = "../futures-test", version = "0.3.0-alpha.10", default-features = false } tokio = "0.1.11" [features] diff --git a/futures/src/lib.rs b/futures/src/lib.rs index a63fdfd056..dbae48f2dd 100644 --- a/futures/src/lib.rs +++ b/futures/src/lib.rs @@ -28,7 +28,7 @@ #![warn(missing_docs, missing_debug_implementations)] #![deny(bare_trait_objects)] -#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.9/futures")] +#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.10/futures")] #![cfg_attr(feature = "nightly", feature(cfg_target_has_atomic))]