diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ad9fd1d1c..4fb3dd9a24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +# 0.3.6 - 2020-10-06 +* Fixed UB due to missing 'static on `task::waker` (#2206) +* Added `AsyncBufReadExt::fill_buf` (#2225) +* Added `TryStreamExt::try_take_while` (#2212) +* Added `is_connected_to` method to `mpsc::{Sender, UnboundedSender}` (#2179) +* Added `is_connected_to` method to `oneshot::Sender` (#2158) +* Implement `FusedStream` for `FuturesOrdered` (#2205) +* Fixed documentation links +* Improved documentation +* futures-test: Added `track_closed` method to `AsyncWriteTestExt` and `SinkTestExt` (#2159) +* futures-test: Implemented more traits for `InterleavePending` (#2208) +* futures-test: Implemented more traits for `AssertUnmoved` (#2208) + # 0.3.5 - 2020-05-08 * Added `StreamExt::flat_map`. * Added `StreamExt::ready_chunks`. diff --git a/README.md b/README.md index fa1e0922fd..b6cf3b6a04 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ a `#[no_std]` environment, use: ```toml [dependencies] -futures = { version = "0.3.5", default-features = false } +futures = { version = "0.3", default-features = false } ``` # License diff --git a/examples/functional/Cargo.toml b/examples/functional/Cargo.toml index d0c09b61c2..0e9e69cfef 100644 --- a/examples/functional/Cargo.toml +++ b/examples/functional/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "futures-example-functional" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" readme = "../README.md" keywords = ["futures", "async", "future"] repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures/0.3.5" +documentation = "https://docs.rs/futures/0.3.6" description = """ An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces. @@ -17,4 +17,4 @@ categories = ["asynchronous"] publish = false [dependencies] -futures = { path = "../../futures", version = "0.3.5", features = ["thread-pool"] } +futures = { path = "../../futures", version = "0.3.6", features = ["thread-pool"] } diff --git a/examples/imperative/Cargo.toml b/examples/imperative/Cargo.toml index beb212c9c3..30c4af99b8 100644 --- a/examples/imperative/Cargo.toml +++ b/examples/imperative/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "futures-example-imperative" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" readme = "../README.md" keywords = ["futures", "async", "future"] repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures/0.3.5" +documentation = "https://docs.rs/futures/0.3.6" description = """ An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces. @@ -17,4 +17,4 @@ categories = ["asynchronous"] publish = false [dependencies] -futures = { path = "../../futures", version = "0.3.5", features = ["thread-pool"] } +futures = { path = "../../futures", version = "0.3.6", features = ["thread-pool"] } diff --git a/futures-channel/Cargo.toml b/futures-channel/Cargo.toml index eede260e5c..97d70e8e68 100644 --- a/futures-channel/Cargo.toml +++ b/futures-channel/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-channel" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-channel/0.3.5" +documentation = "https://docs.rs/futures-channel/0.3.6" description = """ Channels for asynchronous communication using futures-rs. """ @@ -24,12 +24,12 @@ unstable = ["futures-core/unstable"] cfg-target-has-atomic = ["futures-core/cfg-target-has-atomic"] [dependencies] -futures-core = { path = "../futures-core", version = "0.3.5", default-features = false } -futures-sink = { path = "../futures-sink", version = "0.3.5", default-features = false, optional = true } +futures-core = { path = "../futures-core", version = "0.3.6", default-features = false } +futures-sink = { path = "../futures-sink", version = "0.3.6", default-features = false, optional = true } [dev-dependencies] -futures = { path = "../futures", version = "0.3.5", default-features = true } -futures-test = { path = "../futures-test", version = "0.3.5", default-features = true } +futures = { path = "../futures", version = "0.3.6", default-features = true } +futures-test = { path = "../futures-test", version = "0.3.6", default-features = true } [package.metadata.docs.rs] all-features = true diff --git a/futures-channel/src/lib.rs b/futures-channel/src/lib.rs index 0dc938b73a..3e1f1a7148 100644 --- a/futures-channel/src/lib.rs +++ b/futures-channel/src/lib.rs @@ -22,7 +22,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-channel/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-channel/0.3.6")] #[cfg(all(feature = "cfg-target-has-atomic", not(feature = "unstable")))] compile_error!("The `cfg-target-has-atomic` feature requires the `unstable` feature as an explicit opt-in to unstable features"); diff --git a/futures-core/Cargo.toml b/futures-core/Cargo.toml index 00f4e0f3ad..86fe752d1d 100644 --- a/futures-core/Cargo.toml +++ b/futures-core/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-core" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-core/0.3.5" +documentation = "https://docs.rs/futures-core/0.3.6" description = """ The core traits and types in for the `futures` library. """ @@ -25,7 +25,7 @@ cfg-target-has-atomic = [] [dependencies] [dev-dependencies] -futures = { path = "../futures", version = "0.3.5" } +futures = { path = "../futures", version = "0.3.6" } [package.metadata.docs.rs] all-features = true diff --git a/futures-core/src/lib.rs b/futures-core/src/lib.rs index 529b46ce80..fd7e9d151f 100644 --- a/futures-core/src/lib.rs +++ b/futures-core/src/lib.rs @@ -16,7 +16,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-core/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-core/0.3.6")] #[cfg(all(feature = "cfg-target-has-atomic", not(feature = "unstable")))] compile_error!("The `cfg-target-has-atomic` feature requires the `unstable` feature as an explicit opt-in to unstable features"); diff --git a/futures-executor/Cargo.toml b/futures-executor/Cargo.toml index 3d2475dc33..2b36531428 100644 --- a/futures-executor/Cargo.toml +++ b/futures-executor/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-executor" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-executor/0.3.5" +documentation = "https://docs.rs/futures-executor/0.3.6" description = """ Executors for asynchronous tasks based on the futures-rs library. """ @@ -17,13 +17,13 @@ std = ["futures-core/std", "futures-task/std", "futures-util/std"] thread-pool = ["std", "num_cpus"] [dependencies] -futures-core = { path = "../futures-core", version = "0.3.5", default-features = false } -futures-task = { path = "../futures-task", version = "0.3.5", default-features = false } -futures-util = { path = "../futures-util", version = "0.3.5", default-features = false } +futures-core = { path = "../futures-core", version = "0.3.6", default-features = false } +futures-task = { path = "../futures-task", version = "0.3.6", default-features = false } +futures-util = { path = "../futures-util", version = "0.3.6", default-features = false } num_cpus = { version = "1.8.0", optional = true } [dev-dependencies] -futures = { path = "../futures", version = "0.3.5" } +futures = { path = "../futures", version = "0.3.6" } [package.metadata.docs.rs] all-features = true diff --git a/futures-executor/src/lib.rs b/futures-executor/src/lib.rs index 477a313e87..3e1ccd4822 100644 --- a/futures-executor/src/lib.rs +++ b/futures-executor/src/lib.rs @@ -17,7 +17,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-executor/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-executor/0.3.6")] #![cfg_attr(docsrs, feature(doc_cfg))] diff --git a/futures-io/Cargo.toml b/futures-io/Cargo.toml index 367d2d3eb9..109beb451e 100644 --- a/futures-io/Cargo.toml +++ b/futures-io/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-io" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-io/0.3.5" +documentation = "https://docs.rs/futures-io/0.3.6" description = """ The `AsyncRead`, `AsyncWrite`, `AsyncSeek`, and `AsyncBufRead` traits for the futures-rs library. """ diff --git a/futures-io/src/lib.rs b/futures-io/src/lib.rs index df24f6154b..1ddbcccc0d 100644 --- a/futures-io/src/lib.rs +++ b/futures-io/src/lib.rs @@ -24,7 +24,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-io/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-io/0.3.6")] #![cfg_attr(docsrs, feature(doc_cfg))] diff --git a/futures-macro/Cargo.toml b/futures-macro/Cargo.toml index f305e8fce6..d33269500d 100644 --- a/futures-macro/Cargo.toml +++ b/futures-macro/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-macro" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Taylor Cramer ", "Taiki Endo "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-macro/0.3.5" +documentation = "https://docs.rs/futures-macro/0.3.6" description = """ The futures-rs procedural macro implementations. """ diff --git a/futures-macro/src/lib.rs b/futures-macro/src/lib.rs index 47364a47b9..4e804e816b 100644 --- a/futures-macro/src/lib.rs +++ b/futures-macro/src/lib.rs @@ -13,7 +13,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-join-macro/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-join-macro/0.3.6")] // Since https://github.com/rust-lang/cargo/pull/7700 `proc_macro` is part of the prelude for // proc-macro crates, but to support older compilers we still need this explicit `extern crate`. diff --git a/futures-sink/Cargo.toml b/futures-sink/Cargo.toml index 3fc773375a..c54b5cc81b 100644 --- a/futures-sink/Cargo.toml +++ b/futures-sink/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-sink" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-sink/0.3.5" +documentation = "https://docs.rs/futures-sink/0.3.6" description = """ The asynchronous `Sink` trait for the futures-rs library. """ diff --git a/futures-sink/src/lib.rs b/futures-sink/src/lib.rs index 4d7dad55e5..2cabefbccc 100644 --- a/futures-sink/src/lib.rs +++ b/futures-sink/src/lib.rs @@ -16,7 +16,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-sink/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-sink/0.3.6")] #[cfg(feature = "alloc")] extern crate alloc; diff --git a/futures-task/Cargo.toml b/futures-task/Cargo.toml index 7967674247..3a3c6b20ec 100644 --- a/futures-task/Cargo.toml +++ b/futures-task/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-task" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-task/0.3.5" +documentation = "https://docs.rs/futures-task/0.3.6" description = """ Tools for working with tasks. """ @@ -26,7 +26,7 @@ cfg-target-has-atomic = [] once_cell = { version = "1.3.1", default-features = false, features = ["std"], optional = true } [dev-dependencies] -futures = { path = "../futures", version = "0.3.5" } +futures = { path = "../futures", version = "0.3.6" } [package.metadata.docs.rs] all-features = true diff --git a/futures-task/src/lib.rs b/futures-task/src/lib.rs index 89afea6dc0..58dd43dfc3 100644 --- a/futures-task/src/lib.rs +++ b/futures-task/src/lib.rs @@ -16,7 +16,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-task/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-task/0.3.6")] #[cfg(all(feature = "cfg-target-has-atomic", not(feature = "unstable")))] compile_error!("The `cfg-target-has-atomic` feature requires the `unstable` feature as an explicit opt-in to unstable features"); diff --git a/futures-test/Cargo.toml b/futures-test/Cargo.toml index ba53b73b98..d997d34744 100644 --- a/futures-test/Cargo.toml +++ b/futures-test/Cargo.toml @@ -1,29 +1,29 @@ [package] name = "futures-test" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Wim Looman "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-test/0.3.5" +documentation = "https://docs.rs/futures-test/0.3.6" description = """ Common utilities for testing components built off futures-rs. """ [dependencies] -futures-core = { version = "0.3.5", path = "../futures-core", default-features = false } -futures-task = { version = "0.3.5", path = "../futures-task", default-features = false } -futures-io = { version = "0.3.5", path = "../futures-io", default-features = false } -futures-util = { version = "0.3.5", path = "../futures-util", default-features = false } -futures-executor = { version = "0.3.5", path = "../futures-executor", default-features = false } -futures-sink = { version = "0.3.5", path = "../futures-sink", default-features = false } +futures-core = { version = "0.3.6", path = "../futures-core", default-features = false } +futures-task = { version = "0.3.6", path = "../futures-task", default-features = false } +futures-io = { version = "0.3.6", path = "../futures-io", default-features = false } +futures-util = { version = "0.3.6", path = "../futures-util", default-features = false } +futures-executor = { version = "0.3.6", path = "../futures-executor", default-features = false } +futures-sink = { version = "0.3.6", path = "../futures-sink", default-features = false } pin-utils = { version = "0.1.0", default-features = false } once_cell = { version = "1.3.1", default-features = false, features = ["std"], optional = true } pin-project = "0.4.20" [dev-dependencies] -futures = { version = "0.3.5", path = "../futures", default-features = false, features = ["std", "executor"] } +futures = { version = "0.3.6", path = "../futures", default-features = false, features = ["std", "executor"] } [features] default = ["std"] diff --git a/futures-test/src/lib.rs b/futures-test/src/lib.rs index 3c9723b662..19fceb6841 100644 --- a/futures-test/src/lib.rs +++ b/futures-test/src/lib.rs @@ -12,7 +12,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-test/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-test/0.3.6")] #[cfg(not(feature = "std"))] compile_error!("`futures-test` must have the `std` feature activated, this is a default-active feature"); diff --git a/futures-util/Cargo.toml b/futures-util/Cargo.toml index d800e6301a..af6bf4d474 100644 --- a/futures-util/Cargo.toml +++ b/futures-util/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "futures-util" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures-util/0.3.5" +documentation = "https://docs.rs/futures-util/0.3.6" description = """ Common utilities and extension traits for the futures-rs library. """ @@ -33,12 +33,12 @@ read-initializer = ["io", "futures-io/read-initializer", "futures-io/unstable"] write-all-vectored = ["io"] [dependencies] -futures-core = { path = "../futures-core", version = "0.3.5", default-features = false } -futures-task = { path = "../futures-task", version = "0.3.5", default-features = false } -futures-channel = { path = "../futures-channel", version = "0.3.5", default-features = false, features = ["std"], optional = true } -futures-io = { path = "../futures-io", version = "0.3.5", default-features = false, features = ["std"], optional = true } -futures-sink = { path = "../futures-sink", version = "0.3.5", default-features = false, optional = true } -futures-macro = { path = "../futures-macro", version = "0.3.5", default-features = false, optional = true } +futures-core = { path = "../futures-core", version = "0.3.6", default-features = false } +futures-task = { path = "../futures-task", version = "0.3.6", default-features = false } +futures-channel = { path = "../futures-channel", version = "0.3.6", default-features = false, features = ["std"], optional = true } +futures-io = { path = "../futures-io", version = "0.3.6", default-features = false, features = ["std"], optional = true } +futures-sink = { path = "../futures-sink", version = "0.3.6", default-features = false, optional = true } +futures-macro = { path = "../futures-macro", version = "0.3.6", default-features = false, optional = true } proc-macro-hack = { version = "0.5.9", optional = true } proc-macro-nested = { version = "0.1.2", optional = true } slab = { version = "0.4.2", optional = true } @@ -49,8 +49,8 @@ pin-utils = "0.1.0" pin-project = "0.4.20" [dev-dependencies] -futures = { path = "../futures", version = "0.3.5", features = ["async-await", "thread-pool"] } -futures-test = { path = "../futures-test", version = "0.3.5" } +futures = { path = "../futures", version = "0.3.6", features = ["async-await", "thread-pool"] } +futures-test = { path = "../futures-test", version = "0.3.6" } tokio = "0.1.11" [package.metadata.docs.rs] diff --git a/futures-util/src/lib.rs b/futures-util/src/lib.rs index 35cf849b0f..c924228da3 100644 --- a/futures-util/src/lib.rs +++ b/futures-util/src/lib.rs @@ -18,7 +18,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures-util/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures-util/0.3.6")] #![cfg_attr(docsrs, feature(doc_cfg))] diff --git a/futures/Cargo.toml b/futures/Cargo.toml index 1c3ad1cd43..f25d91cef2 100644 --- a/futures/Cargo.toml +++ b/futures/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "futures" edition = "2018" -version = "0.3.5" +version = "0.3.6" authors = ["Alex Crichton "] license = "MIT OR Apache-2.0" readme = "../README.md" keywords = ["futures", "async", "future"] repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" -documentation = "https://docs.rs/futures/0.3.5" +documentation = "https://docs.rs/futures/0.3.6" description = """ An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces. @@ -19,18 +19,18 @@ categories = ["asynchronous"] travis-ci = { repository = "rust-lang/futures-rs" } [dependencies] -futures-core = { path = "../futures-core", version = "0.3.5", default-features = false } -futures-task = { path = "../futures-task", version = "0.3.5", default-features = false } -futures-channel = { path = "../futures-channel", version = "0.3.5", default-features = false, features = ["sink"] } -futures-executor = { path = "../futures-executor", version = "0.3.5", default-features = false, optional = true } -futures-io = { path = "../futures-io", version = "0.3.5", default-features = false } -futures-sink = { path = "../futures-sink", version = "0.3.5", default-features = false } -futures-util = { path = "../futures-util", version = "0.3.5", default-features = false, features = ["sink"] } +futures-core = { path = "../futures-core", version = "0.3.6", default-features = false } +futures-task = { path = "../futures-task", version = "0.3.6", default-features = false } +futures-channel = { path = "../futures-channel", version = "0.3.6", default-features = false, features = ["sink"] } +futures-executor = { path = "../futures-executor", version = "0.3.6", default-features = false, optional = true } +futures-io = { path = "../futures-io", version = "0.3.6", default-features = false } +futures-sink = { path = "../futures-sink", version = "0.3.6", default-features = false } +futures-util = { path = "../futures-util", version = "0.3.6", default-features = false, features = ["sink"] } [dev-dependencies] pin-utils = "0.1.0" -futures-executor = { path = "../futures-executor", version = "0.3.5", features = ["thread-pool"] } -futures-test = { path = "../futures-test", version = "0.3.5" } +futures-executor = { path = "../futures-executor", version = "0.3.6", features = ["thread-pool"] } +futures-test = { path = "../futures-test", version = "0.3.6" } tokio = "0.1.11" assert_matches = "1.3.0" pin-project = "0.4.20" diff --git a/futures/src/lib.rs b/futures/src/lib.rs index 48f2ee971e..7ac70d1791 100644 --- a/futures/src/lib.rs +++ b/futures/src/lib.rs @@ -95,7 +95,7 @@ #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))] -#![doc(html_root_url = "https://docs.rs/futures/0.3.5")] +#![doc(html_root_url = "https://docs.rs/futures/0.3.6")] #![cfg_attr(docsrs, feature(doc_cfg))]