Repository: rust-lang/futures-rs
Pull request #2890 (2024-10-05 07:10:52)

Sync with 0.3.31


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a1b633b2..992a457a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,16 @@
+# 0.3.31 - 2024-10-05
+
+* Fix use after free of task in `FuturesUnordered` when dropped future panics (#2886)
+* Fix soundness bug in `task::waker_ref` (#2830)
+  This is a breaking change but allowed because it is soundness bug fix.
+* Fix bugs in `AsyncBufRead::read_line` and `AsyncBufReadExt::lines` (#2884)
+* Fix parsing issue in `select!`/`select_biased!` (#2832)
+  This is technically a breaking change as it will now reject a very odd undocumented syntax that was previously accidentally accepted.
+* Work around issue due to upstream `Waker::will_wake` change (#2865)
+* Add `stream::Iter::{get_ref,get_mut,into_inner}` (#2875)
+* Add `future::AlwaysReady` (#2825)
+* Relax trait bound on non-constructor methods of `io::{BufReader,BufWriter}` (#2848)
+
 # 0.3.30 - 2023-12-24
 
 * Add `{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of` (#2797)
diff --git a/examples/functional/Cargo.toml b/examples/functional/Cargo.toml
index a1618d31..bb95a6f6 100644
--- a/examples/functional/Cargo.toml
+++ b/examples/functional/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "futures-example-functional"
+version = "0.0.0"
 edition = "2018"
-version = "0.1.0"
 publish = false
 
 [dependencies]
diff --git a/examples/imperative/Cargo.toml b/examples/imperative/Cargo.toml
index c8076e4b..afd7a204 100644
--- a/examples/imperative/Cargo.toml
+++ b/examples/imperative/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "futures-example-imperative"
+version = "0.0.0"
 edition = "2018"
-version = "0.1.0"
 publish = false
 
 [dependencies]
diff --git a/futures-io/Cargo.toml b/futures-io/Cargo.toml
index d51c4c9d..e5320d42 100644
--- a/futures-io/Cargo.toml
+++ b/futures-io/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "futures-io"
-version = "0.3.30"
+version = "0.3.31"
 edition = "2018"
 rust-version = "1.36"
 license = "MIT OR Apache-2.0"
diff --git a/futures-util/Cargo.toml b/futures-util/Cargo.toml
index 68dbd86b..0fbd3d09 100644
--- a/futures-util/Cargo.toml
+++ b/futures-util/Cargo.toml
@@ -34,7 +34,7 @@ write-all-vectored = ["io"]
 futures-core = { path = "../futures-core", version = "=1.0.0-alpha.0", default-features = false }
 futures-task = { path = "../futures-task", version = "=0.4.0-alpha.0", default-features = false }
 futures-channel = { path = "../futures-channel", version = "=0.4.0-alpha.0", default-features = false, features = ["std"], optional = true }
-futures-io = { path = "../futures-io", version = "0.3.30", default-features = false, features = ["std"], optional = true }
+futures-io = { path = "../futures-io", version = "0.3.31", default-features = false, features = ["std"], optional = true }
 futures-sink = { path = "../futures-sink", version = "=0.4.0-alpha.0", default-features = false, optional = true }
 futures-macro = { path = "../futures-macro", version = "=0.4.0-alpha.0", default-features = false, optional = true }
 slab = { version = "0.4.2", optional = true }
diff --git a/futures/Cargo.toml b/futures/Cargo.toml
index 84edf900..d709a80a 100644
--- a/futures/Cargo.toml
+++ b/futures/Cargo.toml
@@ -19,7 +19,7 @@ futures-core = { path = "../futures-core", version = "=1.0.0-alpha.0", default-f
 futures-task = { path = "../futures-task", version = "=0.4.0-alpha.0", default-features = false }
 futures-channel = { path = "../futures-channel", version = "=0.4.0-alpha.0", default-features = false, features = ["sink"] }
 futures-executor = { path = "../futures-executor", version = "=0.4.0-alpha.0", default-features = false, optional = true }
-futures-io = { path = "../futures-io", version = "0.3.30", default-features = false }
+futures-io = { path = "../futures-io", version = "0.3.31", default-features = false }
 futures-sink = { path = "../futures-sink", version = "=0.4.0-alpha.0", default-features = false }
 futures-util = { path = "../futures-util", version = "=0.4.0-alpha.0", default-features = false, features = ["sink"] }
 


Test patch:
diff --git a/futures-test/Cargo.toml b/futures-test/Cargo.toml
index 3d4c6cd8..4dce6e61 100644
--- a/futures-test/Cargo.toml
+++ b/futures-test/Cargo.toml
@@ -13,7 +13,7 @@ Common utilities for testing components built off futures-rs.
 [dependencies]
 futures-core = { version = "=1.0.0-alpha.0", path = "../futures-core", default-features = false }
 futures-task = { version = "=0.4.0-alpha.0", path = "../futures-task", default-features = false }
-futures-io = { version = "0.3.30", path = "../futures-io", default-features = false }
+futures-io = { version = "0.3.31", path = "../futures-io", default-features = false }
 futures-util = { version = "=0.4.0-alpha.0", path = "../futures-util", default-features = false }
 futures-executor = { version = "=0.4.0-alpha.0", path = "../futures-executor", default-features = false }
 futures-sink = { version = "=0.4.0-alpha.0", path = "../futures-sink", default-features = false }
diff --git a/futures/tests/macro-reexport/Cargo.toml b/futures/tests/macro-reexport/Cargo.toml
index 5f3ae30d..8584fc1a 100644
--- a/futures/tests/macro-reexport/Cargo.toml
+++ b/futures/tests/macro-reexport/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "macro-reexport"
-version = "0.1.0"
+version = "0.0.0"
 edition = "2018"
 publish = false
 
diff --git a/futures/tests/macro-tests/Cargo.toml b/futures/tests/macro-tests/Cargo.toml
index 9e3299ad..5c248d04 100644
--- a/futures/tests/macro-tests/Cargo.toml
+++ b/futures/tests/macro-tests/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "macro-tests"
-version = "0.1.0"
+version = "0.0.0"
 edition = "2018"
 publish = false
 
diff --git a/futures/tests/no-std/Cargo.toml b/futures/tests/no-std/Cargo.toml
index f638b8a4..ec7d4c78 100644
--- a/futures/tests/no-std/Cargo.toml
+++ b/futures/tests/no-std/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "no-std"
-version = "0.1.0"
+version = "0.0.0"
 edition = "2018"
 publish = false