Skip to content

Stage 0.3.0 release #1954

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down Expand Up @@ -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
Expand Down
30 changes: 12 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
<img alt="Build Status" src="https://travis-ci.com/rust-lang-nursery/futures-rs.svg?branch=master">
</a>

<a href="https://crates.io/crates/futures-preview">
<img alt="Crates.io" src="https://img.shields.io/crates/v/futures-preview.svg">
<a href="https://crates.io/crates/futures">
<img alt="Crates.io" src="https://img.shields.io/crates/v/futures.svg">
</a>

<a href="https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html">
Expand All @@ -21,29 +21,34 @@
</p>

<p align="center">
<a href="https://docs.rs/futures-preview/">
<a href="https://docs.rs/futures/">
Documentation
</a> | <a href="https://rust-lang-nursery.github.io/futures-rs/">
Website
</a>
</p>

`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`

Expand All @@ -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
Expand Down
24 changes: 12 additions & 12 deletions futures-channel/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"]
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.
"""
Expand All @@ -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 }
2 changes: 1 addition & 1 deletion futures-channel/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

#![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");
Expand Down
8 changes: 4 additions & 4 deletions futures-core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"]
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.
"""
Expand All @@ -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" }
2 changes: 1 addition & 1 deletion futures-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

#![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");
Expand Down
16 changes: 8 additions & 8 deletions futures-executor/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"]
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.
"""
Expand All @@ -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" }
2 changes: 1 addition & 1 deletion futures-executor/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

#![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;
Expand Down
6 changes: 3 additions & 3 deletions futures-io/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"]
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.
"""
Expand Down
2 changes: 1 addition & 1 deletion futures-io/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

#![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");
Expand Down
6 changes: 3 additions & 3 deletions futures-macro/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>", "Taiki Endo <[email protected]>"]
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.
"""
Expand Down
2 changes: 1 addition & 1 deletion futures-macro/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#![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;

Expand Down
6 changes: 3 additions & 3 deletions futures-sink/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"]
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.
"""
Expand Down
2 changes: 1 addition & 1 deletion futures-sink/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

#![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;
Expand Down
6 changes: 3 additions & 3 deletions futures-task/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang-nursery/futures-rs"
Expand All @@ -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" }
2 changes: 1 addition & 1 deletion futures-task/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

#![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");
Expand Down
20 changes: 10 additions & 10 deletions futures-test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"]
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.
"""
Expand All @@ -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"]
2 changes: 1 addition & 1 deletion futures-test/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#![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!("`futures-test` must have the `std` feature activated, this is a default-active feature");
Expand Down
2 changes: 1 addition & 1 deletion futures-test/src/task/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading