1+ # Changelog
2+
3+ All notable changes to this project will be documented in this file.
4+
5+ Releases may yanked if there is a security bug, a soundness bug, or a regression.
6+
7+ <!--
8+ Note: In this file, do not use the hard wrap in the middle of a sentence for compatibility with GitHub comment style markdown rendering.
9+ -->
10+
111# 0.3.31 - 2024-10-05
212
313* Fix use after free of task in ` FuturesUnordered ` when dropped future panics (#2886 )
1323
1424# 0.3.30 - 2023-12-24
1525
26+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
27+
1628* Add ` {BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of ` (#2797 )
1729* Fix panic in ` FuturesUnordered::clear ` (#2809 )
1830* Fix panic in ` AsyncBufReadExt::fill_buf ` (#2801 , #2812 )
2133
2234# 0.3.29 - 2023-10-26
2335
36+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
37+
2438* Add ` TryStreamExt::try_ready_chunks ` (#2757 )
2539* Add ` TryStreamExt::{try_all,try_any} ` (#2783 )
2640* Add ` UnboundedSender::{len,is_empty} ` (#2750 )
3044
3145# 0.3.28 - 2023-03-30
3246
47+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
48+
3349* Update to syn 2. This raises MSRV of utility crates to 1.56. (#2730 , #2733 )
3450* Fix bug in ` FlattenUnordered ` (#2726 , #2728 )
3551
3652# 0.3.27 - 2023-03-11
3753
54+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
55+
3856* Add ` TryFlattenUnordered ` (#2577 , #2590 , #2606 , #2607 )
3957* Add ` AbortHandle::is_aborted ` (#2710 )
4058* Add ` AbortRegistration::handle ` (#2712 )
4159* Make ` BiLock ` strict-provenance compatible (#2716 )
4260
4361# 0.3.26 - 2023-01-30
4462
63+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
64+
4565* Add ` Either::as_pin_mut ` and ` Either::as_pin_ref ` (#2691 )
4666* Add ` Shared::ptr_eq ` and ` Shared::ptr_hash ` (#2691 )
4767* Implement ` FusedStream ` for ` Buffered ` (#2676 )
5272
5373# 0.3.25 - 2022-10-20
5474
75+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
76+
5577* Fix soundness issue in ` join! ` and ` try_join! ` macros (#2649 )
5678* Implement ` Clone ` for ` sink::Drain ` (#2650 )
5779
5880# 0.3.24 - 2022-08-29
5981
82+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
83+
6084* Fix incorrect termination of ` select_with_strategy ` streams (#2635 )
6185
6286# 0.3.23 - 2022-08-14
6387
88+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
89+
6490* Work around MSRV increase due to a cargo bug.
6591
6692# 0.3.22 - 2022-08-14
6793
94+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
95+
6896* Fix ` Sync ` impl of ` BiLockGuard ` (#2570 )
6997* Fix partial iteration in ` FuturesUnordered ` (#2574 )
7098* Fix false detection of inner panics in ` Shared ` (#2576 )
82110
83111# 0.3.21 - 2022-02-06
84112
113+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
114+
85115* Fix potential data race in ` FlattenUnordered ` that introduced in 0.3.20 (#2566 )
86116
87117# 0.3.20 - 2022-02-06
88118
89- NOTE: This release has been yanked due to a bug fixed in 0.3.21.
119+ ** Note: ** This release has been yanked due to a bug fixed in 0.3.21.
90120
91121* Fix stacked borrows violations when ` -Zmiri-tag-raw-pointers ` is enabled. This raises MSRV of ` futures-task ` to 1.45. (#2548 , #2550 )
92122* Change ` FuturesUnordered ` to respect yielding from future (#2551 )
93123* Add ` StreamExt::{flatten_unordered, flat_map_unordered} ` (#2083 )
94124
95125# 0.3.19 - 2021-12-18
96126
127+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
128+
97129* Remove unstable ` read-initializer ` feature (#2534 )
98130* Fix panic in ` FuturesUnordered ` (#2535 )
99131* Fix compatibility issue with ` FuturesUnordered ` and tokio's cooperative scheduling (#2527 )
100132* Add ` StreamExt::count ` (#2495 )
101133
102134# 0.3.18 - 2021-11-23
103135
104- NOTE: This release has been yanked. See #2529 for details.
136+ ** Note: ** This release has been yanked. See #2529 for details.
105137
106138* Fix unusable ` Sink ` implementation on ` stream::Scan ` (#2499 )
107139* Make ` task::noop_waker_ref ` available without ` std ` feature (#2505 )
@@ -110,6 +142,8 @@ NOTE: This release has been yanked. See #2529 for details.
110142
111143# 0.3.17 - 2021-08-30
112144
145+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
146+
113147* Use ` FuturesOrdered ` in ` join_all ` (#2412 )
114148* Add ` {future, stream}::poll_immediate ` (#2452 )
115149* Add ` stream_select! ` macro (#2262 )
@@ -119,13 +153,17 @@ NOTE: This release has been yanked. See #2529 for details.
119153
120154# 0.3.16 - 2021-07-23
121155
156+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
157+
122158* Add ` TryStreamExt::try_chunks ` (#2438 )
123159* Add ` StreamExt::{all, any} ` (#2460 )
124160* Add ` stream::select_with_strategy ` (#2450 )
125161* Update to new ` io_slice_advance ` interface (#2454 )
126162
127163# 0.3.15 - 2021-05-11
128164
165+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
166+
129167* Use ` #[proc_macro] ` at Rust 1.45+ to fix an issue where proc macros don't work with rust-analyzer (#2407 )
130168* Support targets that do not have atomic CAS on stable Rust (#2400 )
131169* futures-test: Add async ` #[test] ` function attribute (#2409 )
@@ -141,6 +179,8 @@ NOTE: This release has been yanked. See #2529 for details.
141179
142180# 0.3.14 - 2021-04-10
143181
182+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
183+
144184* Add ` future::SelectAll::into_inner ` (#2363 )
145185* Allow calling ` UnboundedReceiver::try_next ` after ` None ` (#2369 )
146186* Reexport non-Ext traits from the root of ` futures_util ` (#2377 )
@@ -149,6 +189,8 @@ NOTE: This release has been yanked. See #2529 for details.
149189
150190# 0.3.13 - 2021-02-23
151191
192+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
193+
152194* Mitigated starvation issues in ` FuturesUnordered ` (#2333 )
153195* Fixed race with dropping ` mpsc::Receiver ` (#2304 )
154196* Added ` Shared::{strong_count, weak_count} ` (#2346 )
@@ -157,21 +199,25 @@ NOTE: This release has been yanked. See #2529 for details.
157199
158200# 0.3.12 - 2021-01-15
159201
202+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
203+
160204* Fixed ` Unpin ` impl of ` future::{MaybeDone, TryMaybeDone} ` where trait bounds were accidentally added in 0.3.9. (#2317 )
161205
162206# 0.3.11 - 2021-01-14
163207
208+ ** Note:** This release of futures-util has been yanked due to a bug fixed in 0.3.31 and a compile failure with futures-task 0.3.31 and later.
209+
164210* Fixed heap buffer overflow in ` AsyncReadExt::{read_to_end, read_to_string} ` (#2314 )
165211
166212# 0.3.10 - 2021-01-13
167213
168- NOTE: This release has been yanked. See #2310 for details.
214+ ** Note: ** This release has been yanked. See #2310 for details.
169215
170216* Fixed type-inference in ` sink::unfold ` by specifying more of its types (breaking change -- see #2311 )
171217
172218# 0.3.9 - 2021-01-08
173219
174- NOTE: This release has been yanked. See #2310 for details.
220+ ** Note: ** This release has been yanked. See #2310 for details.
175221
176222* Significantly improved compile time when ` async-await ` crate feature is disabled (#2273 )
177223* Added ` stream::repeat_with ` (#2279 )
@@ -184,7 +230,7 @@ NOTE: This release has been yanked. See #2310 for details.
184230
185231# 0.3.8 - 2020-11-04
186232
187- NOTE: This release has been yanked. See #2310 for details.
233+ ** Note: ** This release has been yanked. See #2310 for details.
188234
189235* Switched proc-macros to use native ` #[proc_macro] ` at Rust 1.45+ (#2243 )
190236* Added ` WeakShared ` (#2169 )
@@ -195,15 +241,15 @@ NOTE: This release has been yanked. See #2310 for details.
195241
196242# 0.3.7 - 2020-10-23
197243
198- NOTE: This release has been yanked. See #2310 for details.
244+ ** Note: ** This release has been yanked. See #2310 for details.
199245
200246* Fixed unsoundness in ` MappedMutexGuard ` (#2240 )
201247* Re-exported ` TakeUntil ` (#2235 )
202248* futures-test: Prevent double panic in ` panic_waker ` (#2236 )
203249
204250# 0.3.6 - 2020-10-06
205251
206- NOTE: This release has been yanked. See #2310 for details.
252+ ** Note: ** This release has been yanked. See #2310 for details.
207253
208254* Fixed UB due to missing 'static on ` task::waker ` (#2206 )
209255* Added ` AsyncBufReadExt::fill_buf ` (#2225 )
@@ -219,7 +265,7 @@ NOTE: This release has been yanked. See #2310 for details.
219265
220266# 0.3.5 - 2020-05-08
221267
222- NOTE: This release has been yanked. See #2310 for details.
268+ ** Note: ** This release has been yanked. See #2310 for details.
223269
224270* Added ` StreamExt::flat_map ` .
225271* Added ` StreamExt::ready_chunks ` .
@@ -239,19 +285,19 @@ NOTE: This release has been yanked. See #2310 for details.
239285
240286# 0.3.4 - 2020-02-06
241287
242- NOTE: This release has been yanked. See #2310 for details.
288+ ** Note: ** This release has been yanked. See #2310 for details.
243289
244290* Fixed missing ` Drop ` for ` UnboundedReceiver ` (#2064 )
245291
246292# 0.3.3 - 2020-02-04
247293
248- NOTE: This release has been yanked. See #2310 for details.
294+ ** Note: ** This release has been yanked. See #2310 for details.
249295
250296* Fixed compatibility issue with pinned facade (#2062 )
251297
252298# 0.3.2 - 2020-02-03
253299
254- NOTE: This release has been yanked. See #2310 for details.
300+ ** Note: ** This release has been yanked. See #2310 for details.
255301
256302* Improved buffering performance of ` SplitSink ` (#1969 )
257303* Added ` select_biased! ` macro (#1976 )
@@ -272,13 +318,13 @@ NOTE: This release has been yanked. See #2310 for details.
272318
273319# 0.3.1 - 2019-11-07
274320
275- NOTE: This release has been yanked. See #2310 for details.
321+ ** Note: ** This release has been yanked. See #2310 for details.
276322
277323* Fix signature of ` SpawnExt ` and ` LocalSpawnExt ` trait (breaking change -- see #1959 )
278324
279325# 0.3.0 - 2019-11-05
280326
281- NOTE: This release has been yanked. See #2310 for details.
327+ ** Note: ** This release has been yanked. See #2310 for details.
282328
283329* Stable release along with stable async/await!
284330* Added async/await to default features (#1953 )
0 commit comments