diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1691105786..71315e093a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,24 @@
+# 0.3.0 - 2019-11-5
+* Stable release along with stable async/await!
+* Added async/await to default features (#1953)
+* Changed `Spawn` trait and `FuturesUnordered::push` to take `&self` (#1950)
+* Moved `Spawn` and `FutureObj` out of `futures-core` and into `futures-task (#1925)
+* Changed case convention for feature names (#1937)
+* Added `executor` feature (#1949)
+* Moved `copy_into`/`copy_buf_into` (#1948)
+* Changed `SinkExt::send_all` to accept a `TryStream` (#1946)
+* Removed `ThreadPool::run` (#1944)
+* Changed to use our own definition of `io::Cursor` (#1943)
+* Removed `BufReader::poll_seek_relative` (#1938)
+* Changed `skip` to take a `usize` rather than `u64` (#1931)
+* Removed `Stream` impl for `VecDeque` (#1930)
+* Renamed `Peekable::peek` to `poll_peek` (#1928)
+* Added immutable iterators for `FuturesUnordered` (#1922)
+* Made `ThreadPool` optional (#1910)
+* Renamed `oneshot::Sender::poll_cancel` to `poll_canceled` (#1908)
+* Added some missing `Clone` implementations
+* Documentation fixes
+
# 0.3.0-alpha.19 - 2019-9-25
* Stabilized the `async-await` feature (#1816)
* Made `async-await` feature no longer require `std` feature (#1815)
@@ -216,7 +237,7 @@
* `FuturesUnordered` optimization: Since the context stores a `&LocalWaker` reference, it was possible to avoid cloning the `Arc` of the waker
* Futures-rs now uses Clippy
* We now use in-band lifetimes
-* The `join!` and `select!` macros are now exposed by the `futures-preview` crate
+* The `join!` and `select!` macros are now exposed by the `futures` crate
* The project logo was added to the `README.md`
* `sink::MapErr::get_pinned_mut` is now called `get_pin_mut`
* We now use the unstable `use_extern_macros` feature for macro reexports
diff --git a/README.md b/README.md
index f118523821..d4bdf9b858 100644
--- a/README.md
+++ b/README.md
@@ -11,8 +11,8 @@
-
-
+
+
@@ -21,29 +21,34 @@
-
+
Documentation
|
Website
+`futures-rs` is a library providing the foundations for asynchronous programming in Rust.
+It includes key trait definitions like `Stream`, as well as utilities like `join!`,
+`select!`, and various futures combinator methods which enable expressive asynchronous
+control flow.
+
## Usage
Add this to your `Cargo.toml`:
```toml
[dependencies]
-futures-preview = "=0.3.0-alpha.19"
+futures = "0.3"
```
Now, you can use futures-rs:
```rust
-use futures::future::Future; // Note: It's not `futures_preview`
+use futures::future::Future;
```
-The current futures-rs requires Rust 1.36 or later.
+The current futures-rs requires Rust 1.39 or later.
### Feature `std`
@@ -53,20 +58,9 @@ a `#[no_std]` environment, use:
```toml
[dependencies]
-futures-preview = { version = "=0.3.0-alpha.19", default-features = false }
-```
-
-### Feature `async-await`
-
-The `async-await` feature provides several convenient features using async/await. To use futures-rs with async/await, use:
-
-```toml
-[dependencies]
-futures-preview = { version = "=0.3.0-alpha.19", features = ["async-await"] }
+futures = { version = "0.3.0", default-features = false }
```
-The current `async-await` feature requires Rust 1.39 or later.
-
# License
This project is licensed under either of
diff --git a/futures-channel/Cargo.toml b/futures-channel/Cargo.toml
index d45d946c84..3fed2521de 100644
--- a/futures-channel/Cargo.toml
+++ b/futures-channel/Cargo.toml
@@ -1,12 +1,12 @@
[package]
-name = "futures-channel-preview"
+name = "futures-channel"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
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://docs.rs/futures-channel-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures-channel/0.3.0"
description = """
Channels for asynchronous communication using futures-rs.
"""
@@ -16,20 +16,20 @@ name = "futures_channel"
[features]
default = ["std"]
-std = ["alloc", "futures-core-preview/std"]
-alloc = ["futures-core-preview/alloc"]
-sink = ["futures-sink-preview"]
+std = ["alloc", "futures-core/std"]
+alloc = ["futures-core/alloc"]
+sink = ["futures-sink"]
# Unstable features
# These features are outside of the normal semver guarantees and require the
# `unstable` feature as an explicit opt-in to unstable API.
-unstable = ["futures-core-preview/unstable"]
-cfg-target-has-atomic = ["futures-core-preview/cfg-target-has-atomic"]
+unstable = ["futures-core/unstable"]
+cfg-target-has-atomic = ["futures-core/cfg-target-has-atomic"]
[dependencies]
-futures-core-preview = { path = "../futures-core", version = "=0.3.0-alpha.19", default-features = false }
-futures-sink-preview = { path = "../futures-sink", version = "=0.3.0-alpha.19", default-features = false, optional = true }
+futures-core = { path = "../futures-core", version = "0.3.0", default-features = false }
+futures-sink = { path = "../futures-sink", version = "0.3.0", default-features = false, optional = true }
[dev-dependencies]
-futures-preview = { path = "../futures", version = "=0.3.0-alpha.19", default-features = true }
-futures-test-preview = { path = "../futures-test", version = "=0.3.0-alpha.19", default-features = true }
+futures = { path = "../futures", version = "0.3.0", default-features = true }
+futures-test = { path = "../futures-test", version = "0.3.0", default-features = true }
diff --git a/futures-channel/src/lib.rs b/futures-channel/src/lib.rs
index 18f4d43dc0..2f336ad5da 100644
--- a/futures-channel/src/lib.rs
+++ b/futures-channel/src/lib.rs
@@ -13,7 +13,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-channel-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-channel/0.3.0")]
#[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 dfa69ba7a9..42be996a52 100644
--- a/futures-core/Cargo.toml
+++ b/futures-core/Cargo.toml
@@ -1,12 +1,12 @@
[package]
-name = "futures-core-preview"
+name = "futures-core"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
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://docs.rs/futures-core-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures-core/0.3.0"
description = """
The core traits and types in for the `futures` library.
"""
@@ -28,4 +28,4 @@ cfg-target-has-atomic = []
[dependencies]
[dev-dependencies]
-futures-preview = { path = "../futures", version = "=0.3.0-alpha.19" }
+futures = { path = "../futures", version = "0.3.0" }
diff --git a/futures-core/src/lib.rs b/futures-core/src/lib.rs
index 79aa6996c8..18d2a309a1 100644
--- a/futures-core/src/lib.rs
+++ b/futures-core/src/lib.rs
@@ -7,7 +7,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-core-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-core/0.3.0")]
#[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 f3df37c439..a9022eee6e 100644
--- a/futures-executor/Cargo.toml
+++ b/futures-executor/Cargo.toml
@@ -1,12 +1,12 @@
[package]
-name = "futures-executor-preview"
+name = "futures-executor"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
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://docs.rs/futures-executor-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures-executor/0.3.0"
description = """
Executors for asynchronous tasks based on the futures-rs library.
"""
@@ -16,14 +16,14 @@ name = "futures_executor"
[features]
default = ["std"]
-std = ["futures-core-preview/std", "futures-task-preview/std", "futures-util-preview/std"]
+std = ["futures-core/std", "futures-task/std", "futures-util/std"]
thread-pool = ["std", "num_cpus"]
[dependencies]
-futures-core-preview = { path = "../futures-core", version = "=0.3.0-alpha.19", default-features = false }
-futures-task-preview = { path = "../futures-task", version = "=0.3.0-alpha.19", default-features = false }
-futures-util-preview = { path = "../futures-util", version = "=0.3.0-alpha.19", default-features = false }
+futures-core = { path = "../futures-core", version = "0.3.0", default-features = false }
+futures-task = { path = "../futures-task", version = "0.3.0", default-features = false }
+futures-util = { path = "../futures-util", version = "0.3.0", default-features = false }
num_cpus = { version = "1.8.0", optional = true }
[dev-dependencies]
-futures-preview = { path = "../futures", version = "=0.3.0-alpha.19" }
+futures = { path = "../futures", version = "0.3.0" }
diff --git a/futures-executor/src/lib.rs b/futures-executor/src/lib.rs
index 91ba912ab3..d2cf4f4ab1 100644
--- a/futures-executor/src/lib.rs
+++ b/futures-executor/src/lib.rs
@@ -9,7 +9,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-executor-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-executor/0.3.0")]
#[cfg(feature = "std")]
mod local_pool;
diff --git a/futures-io/Cargo.toml b/futures-io/Cargo.toml
index 47622b2be8..b78d3a2c66 100644
--- a/futures-io/Cargo.toml
+++ b/futures-io/Cargo.toml
@@ -1,12 +1,12 @@
[package]
-name = "futures-io-preview"
+name = "futures-io"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
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://docs.rs/futures-io-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures-io/0.3.0"
description = """
The `AsyncRead` and `AsyncWrite` traits for the futures-rs library.
"""
diff --git a/futures-io/src/lib.rs b/futures-io/src/lib.rs
index 1743ebdb93..6790252df9 100644
--- a/futures-io/src/lib.rs
+++ b/futures-io/src/lib.rs
@@ -15,7 +15,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-io-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-io/0.3.0")]
#[cfg(all(feature = "read-initializer", not(feature = "unstable")))]
compile_error!("The `read-initializer` feature requires the `unstable` feature as an explicit opt-in to unstable features");
diff --git a/futures-macro/Cargo.toml b/futures-macro/Cargo.toml
index a6b32e6b1e..0d0123ece3 100644
--- a/futures-macro/Cargo.toml
+++ b/futures-macro/Cargo.toml
@@ -1,12 +1,12 @@
[package]
-name = "futures-macro-preview"
+name = "futures-macro"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
authors = ["Taylor Cramer ", "Taiki Endo "]
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://docs.rs/futures-macro-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures-macro/0.3.0"
description = """
The futures-rs procedural macro implementations.
"""
diff --git a/futures-macro/src/lib.rs b/futures-macro/src/lib.rs
index 4e0c0f7070..c3f5c88c12 100644
--- a/futures-macro/src/lib.rs
+++ b/futures-macro/src/lib.rs
@@ -6,7 +6,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-join-macro-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-join-macro/0.3.0")]
extern crate proc_macro;
diff --git a/futures-sink/Cargo.toml b/futures-sink/Cargo.toml
index ec961d31b8..64626c55cc 100644
--- a/futures-sink/Cargo.toml
+++ b/futures-sink/Cargo.toml
@@ -1,12 +1,12 @@
[package]
-name = "futures-sink-preview"
+name = "futures-sink"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
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://docs.rs/futures-sink-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures-sink/0.3.0"
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 667330f47d..45c02d9237 100644
--- a/futures-sink/src/lib.rs
+++ b/futures-sink/src/lib.rs
@@ -9,7 +9,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-sink-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-sink/0.3.0")]
#[cfg(feature = "alloc")]
extern crate alloc;
diff --git a/futures-task/Cargo.toml b/futures-task/Cargo.toml
index 356fb6f6fa..1053a98a06 100644
--- a/futures-task/Cargo.toml
+++ b/futures-task/Cargo.toml
@@ -1,7 +1,7 @@
[package]
-name = "futures-task-preview"
+name = "futures-task"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
authors = ["Alex Crichton "]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang-nursery/futures-rs"
@@ -28,4 +28,4 @@ cfg-target-has-atomic = []
[dependencies]
[dev-dependencies]
-futures-preview = { path = "../futures", version = "=0.3.0-alpha.19" }
+futures = { path = "../futures", version = "0.3.0" }
diff --git a/futures-task/src/lib.rs b/futures-task/src/lib.rs
index b95c06d4ca..42c1d24f8a 100644
--- a/futures-task/src/lib.rs
+++ b/futures-task/src/lib.rs
@@ -7,7 +7,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-task-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-task/0.3.0")]
#[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 20ce2095a2..177381e615 100644
--- a/futures-test/Cargo.toml
+++ b/futures-test/Cargo.toml
@@ -1,12 +1,12 @@
[package]
-name = "futures-test-preview"
+name = "futures-test"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
authors = ["Wim Looman "]
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://docs.rs/futures-test-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures-test/0.3.0"
description = """
Common utilities for testing components built off futures-rs.
"""
@@ -15,16 +15,16 @@ Common utilities for testing components built off futures-rs.
name = "futures_test"
[dependencies]
-futures-core-preview = { version = "=0.3.0-alpha.19", path = "../futures-core", default-features = false }
-futures-task-preview = { version = "=0.3.0-alpha.19", path = "../futures-task", default-features = false }
-futures-io-preview = { version = "=0.3.0-alpha.19", path = "../futures-io", default-features = false }
-futures-util-preview = { version = "=0.3.0-alpha.19", path = "../futures-util", default-features = false }
-futures-executor-preview = { version = "=0.3.0-alpha.19", path = "../futures-executor", default-features = false }
+futures-core = { version = "0.3.0", path = "../futures-core", default-features = false }
+futures-task = { version = "0.3.0", path = "../futures-task", default-features = false }
+futures-io = { version = "0.3.0", path = "../futures-io", default-features = false }
+futures-util = { version = "0.3.0", path = "../futures-util", default-features = false }
+futures-executor = { version = "0.3.0", path = "../futures-executor", default-features = false }
pin-utils = { version = "0.1.0-alpha.4", default-features = false }
[dev-dependencies]
-futures-preview = { version = "=0.3.0-alpha.19", path = "../futures", default-features = false, features = ["std"] }
+futures = { version = "0.3.0", path = "../futures", default-features = false, features = ["std"] }
[features]
default = ["std"]
-std = ["futures-core-preview/std", "futures-task-preview/std", "futures-io-preview/std", "futures-util-preview/std", "futures-util-preview/io", "futures-executor-preview/std"]
+std = ["futures-core/std", "futures-task/std", "futures-io/std", "futures-util/std", "futures-util/io", "futures-executor/std"]
diff --git a/futures-test/src/lib.rs b/futures-test/src/lib.rs
index 228c47e16d..479320af66 100644
--- a/futures-test/src/lib.rs
+++ b/futures-test/src/lib.rs
@@ -5,7 +5,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-test-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-test/0.3.0")]
#[cfg(not(feature = "std"))]
compile_error!(
diff --git a/futures-test/src/task/mod.rs b/futures-test/src/task/mod.rs
index 125d139056..45c331a8f0 100644
--- a/futures-test/src/task/mod.rs
+++ b/futures-test/src/task/mod.rs
@@ -4,7 +4,7 @@
// Also, there is cross crate links in here. They are not going to work anytime soon. Do we put https links
// in here? to here: https://rust-lang-nursery.github.io/futures-api-docs? The problem is these have a
// version hardcoded in the url: 0.3.0-alpha.16 We could link to docs.rs, but currently that says:
-// docs.rs failed to build futures-preview-0.3.0-alpha.16 -> ok the reason seems to be that they are on
+// docs.rs failed to build futures-0.3.0-alpha.16 -> ok the reason seems to be that they are on
// 2019-04-17 which does still have futures-api unstable feature, so that should get solved.
//
//! Task related testing utilities.
diff --git a/futures-util/Cargo.toml b/futures-util/Cargo.toml
index 5299bc8230..cb5a310790 100644
--- a/futures-util/Cargo.toml
+++ b/futures-util/Cargo.toml
@@ -1,12 +1,12 @@
[package]
-name = "futures-util-preview"
+name = "futures-util"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
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://docs.rs/futures-util-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures-util/0.3.0"
description = """
Common utilities and extension traits for the futures-rs library.
"""
@@ -16,31 +16,31 @@ name = "futures_util"
[features]
default = ["std", "async-await", "async-await-macro"]
-std = ["alloc", "futures-core-preview/std", "futures-task-preview/std", "slab"]
-alloc = ["futures-core-preview/alloc", "futures-task-preview/alloc"]
+std = ["alloc", "futures-core/std", "futures-task/std", "slab"]
+alloc = ["futures-core/alloc", "futures-task/alloc"]
async-await = []
-async-await-macro = ["async-await", "futures-macro-preview", "proc-macro-hack", "proc-macro-nested"]
+async-await-macro = ["async-await", "futures-macro", "proc-macro-hack", "proc-macro-nested"]
compat = ["std", "futures_01"]
io-compat = ["io", "compat", "tokio-io"]
-sink = ["futures-sink-preview"]
-io = ["std", "futures-io-preview", "memchr"]
-channel = ["std", "futures-channel-preview"]
+sink = ["futures-sink"]
+io = ["std", "futures-io", "memchr"]
+channel = ["std", "futures-channel"]
# Unstable features
# These features are outside of the normal semver guarantees and require the
# `unstable` feature as an explicit opt-in to unstable API.
-unstable = ["futures-core-preview/unstable", "futures-task-preview/unstable"]
-cfg-target-has-atomic = ["futures-core-preview/cfg-target-has-atomic", "futures-task-preview/cfg-target-has-atomic"]
+unstable = ["futures-core/unstable", "futures-task/unstable"]
+cfg-target-has-atomic = ["futures-core/cfg-target-has-atomic", "futures-task/cfg-target-has-atomic"]
bilock = []
-read-initializer = ["io", "futures-io-preview/read-initializer", "futures-io-preview/unstable"]
+read-initializer = ["io", "futures-io/read-initializer", "futures-io/unstable"]
[dependencies]
-futures-core-preview = { path = "../futures-core", version = "=0.3.0-alpha.19", default-features = false }
-futures-task-preview = { path = "../futures-task", version = "=0.3.0-alpha.19", default-features = false }
-futures-channel-preview = { path = "../futures-channel", version = "=0.3.0-alpha.19", default-features = false, features = ["std"], optional = true }
-futures-io-preview = { path = "../futures-io", version = "=0.3.0-alpha.19", default-features = false, features = ["std"], optional = true }
-futures-sink-preview = { path = "../futures-sink", version = "=0.3.0-alpha.19", default-features = false, optional = true }
-futures-macro-preview = { path = "../futures-macro", version = "=0.3.0-alpha.19", default-features = false, optional = true }
+futures-core = { path = "../futures-core", version = "0.3.0", default-features = false }
+futures-task = { path = "../futures-task", version = "0.3.0", default-features = false }
+futures-channel = { path = "../futures-channel", version = "0.3.0", default-features = false, features = ["std"], optional = true }
+futures-io = { path = "../futures-io", version = "0.3.0", default-features = false, features = ["std"], optional = true }
+futures-sink = { path = "../futures-sink", version = "0.3.0", default-features = false, optional = true }
+futures-macro = { path = "../futures-macro", version = "0.3.0", 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", optional = true }
@@ -50,8 +50,8 @@ tokio-io = { version = "0.1.9", optional = true }
pin-utils = "0.1.0-alpha.4"
[dev-dependencies]
-futures-preview = { path = "../futures", version = "=0.3.0-alpha.19", features = ["async-await"] }
-futures-test-preview = { path = "../futures-test", version = "=0.3.0-alpha.19" }
+futures = { path = "../futures", version = "0.3.0", features = ["async-await"] }
+futures-test = { path = "../futures-test", version = "0.3.0" }
tokio = "0.1.11"
[package.metadata.docs.rs]
diff --git a/futures-util/src/lib.rs b/futures-util/src/lib.rs
index e50f6c6d2e..a719587e7d 100644
--- a/futures-util/src/lib.rs
+++ b/futures-util/src/lib.rs
@@ -9,7 +9,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-util-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures-util/0.3.0")]
#[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/Cargo.toml b/futures/Cargo.toml
index 0a4eb8229d..40395d1c14 100644
--- a/futures/Cargo.toml
+++ b/futures/Cargo.toml
@@ -1,14 +1,14 @@
[package]
-name = "futures-preview"
+name = "futures"
edition = "2018"
-version = "0.3.0-alpha.19"
+version = "0.3.0"
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://docs.rs/futures-preview/0.3.0-alpha.19"
+documentation = "https://docs.rs/futures/0.3.0"
description = """
An implementation of futures and streams featuring zero allocations,
composability, and iterator-like interfaces.
@@ -22,37 +22,37 @@ name = "futures"
travis-ci = { repository = "rust-lang-nursery/futures-rs" }
[dependencies]
-futures-core-preview = { path = "../futures-core", version = "=0.3.0-alpha.19", default-features = false }
-futures-task-preview = { path = "../futures-task", version = "=0.3.0-alpha.19", default-features = false }
-futures-channel-preview = { path = "../futures-channel", version = "=0.3.0-alpha.19", default-features = false, features = ["sink"] }
-futures-executor-preview = { path = "../futures-executor", version = "=0.3.0-alpha.19", default-features = false, optional = true }
-futures-io-preview = { path = "../futures-io", version = "=0.3.0-alpha.19", default-features = false }
-futures-sink-preview = { path = "../futures-sink", version = "=0.3.0-alpha.19", default-features = false }
-futures-util-preview = { path = "../futures-util", version = "=0.3.0-alpha.19", default-features = false, features = ["sink"] }
+futures-core = { path = "../futures-core", version = "0.3.0", default-features = false }
+futures-task = { path = "../futures-task", version = "0.3.0", default-features = false }
+futures-channel = { path = "../futures-channel", version = "0.3.0", default-features = false, features = ["sink"] }
+futures-executor = { path = "../futures-executor", version = "0.3.0", default-features = false, optional = true }
+futures-io = { path = "../futures-io", version = "0.3.0", default-features = false }
+futures-sink = { path = "../futures-sink", version = "0.3.0", default-features = false }
+futures-util = { path = "../futures-util", version = "0.3.0", default-features = false, features = ["sink"] }
[dev-dependencies]
pin-utils = "0.1.0-alpha.4"
-futures-test-preview = { path = "../futures-test", version = "=0.3.0-alpha.19" }
+futures-test = { path = "../futures-test", version = "0.3.0" }
tokio = "0.1.11"
assert_matches = "1.3.0"
[features]
default = ["std", "async-await", "executor"]
-std = ["alloc", "futures-core-preview/std", "futures-task-preview/std", "futures-io-preview/std", "futures-sink-preview/std", "futures-util-preview/std", "futures-util-preview/io", "futures-util-preview/channel"]
-alloc = ["futures-core-preview/alloc", "futures-task-preview/alloc", "futures-sink-preview/alloc", "futures-channel-preview/alloc", "futures-util-preview/alloc"]
-async-await = ["futures-util-preview/async-await", "futures-util-preview/async-await-macro"]
-compat = ["std", "futures-util-preview/compat"]
-io-compat = ["compat", "futures-util-preview/io-compat"]
-executor = ["std", "futures-executor-preview/std"]
-thread-pool = ["executor", "futures-executor-preview/thread-pool"]
+std = ["alloc", "futures-core/std", "futures-task/std", "futures-io/std", "futures-sink/std", "futures-util/std", "futures-util/io", "futures-util/channel"]
+alloc = ["futures-core/alloc", "futures-task/alloc", "futures-sink/alloc", "futures-channel/alloc", "futures-util/alloc"]
+async-await = ["futures-util/async-await", "futures-util/async-await-macro"]
+compat = ["std", "futures-util/compat"]
+io-compat = ["compat", "futures-util/io-compat"]
+executor = ["std", "futures-executor/std"]
+thread-pool = ["executor", "futures-executor/thread-pool"]
# Unstable features
# These features are outside of the normal semver guarantees and require the
# `unstable` feature as an explicit opt-in to unstable API.
-unstable = ["futures-core-preview/unstable", "futures-task-preview/unstable", "futures-channel-preview/unstable", "futures-io-preview/unstable", "futures-util-preview/unstable"]
-cfg-target-has-atomic = ["futures-core-preview/cfg-target-has-atomic", "futures-task-preview/cfg-target-has-atomic", "futures-channel-preview/cfg-target-has-atomic", "futures-util-preview/cfg-target-has-atomic"]
-bilock = ["futures-util-preview/bilock"]
-read-initializer = ["futures-io-preview/read-initializer", "futures-util-preview/read-initializer"]
+unstable = ["futures-core/unstable", "futures-task/unstable", "futures-channel/unstable", "futures-io/unstable", "futures-util/unstable"]
+cfg-target-has-atomic = ["futures-core/cfg-target-has-atomic", "futures-task/cfg-target-has-atomic", "futures-channel/cfg-target-has-atomic", "futures-util/cfg-target-has-atomic"]
+bilock = ["futures-util/bilock"]
+read-initializer = ["futures-io/read-initializer", "futures-util/read-initializer"]
[package.metadata.docs.rs]
all-features = true
diff --git a/futures/src/lib.rs b/futures/src/lib.rs
index a147aefce0..8665303d2f 100644
--- a/futures/src/lib.rs
+++ b/futures/src/lib.rs
@@ -29,7 +29,7 @@
#![cfg_attr(test, warn(single_use_lifetimes))]
#![warn(clippy::all)]
#![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
-#![doc(html_root_url = "https://docs.rs/futures-preview/0.3.0-alpha.19")]
+#![doc(html_root_url = "https://docs.rs/futures/0.3.0")]
#[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");