|
| 1 | +# 0.3.16 - 2021-07-23 |
| 2 | + |
| 3 | +* Add `TryStreamExt::try_chunks` (#2438) |
| 4 | +* Add `StreamExt::{all, any}` (#2460) |
| 5 | +* Add `stream::select_with_strategy` (#2450) |
| 6 | +* Update to new `io_slice_advance` interface (#2454) |
| 7 | + |
1 | 8 | # 0.3.15 - 2021-05-11
|
| 9 | + |
2 | 10 | * Use `#[proc_macro]` at Rust 1.45+ to fix an issue where proc macros don't work with rust-analyzer (#2407)
|
3 | 11 | * Support targets that do not have atomic CAS on stable Rust (#2400)
|
4 | 12 | * futures-test: Add async `#[test]` function attribute (#2409)
|
|
13 | 21 | * Implement `Clone` for `WeakShared` (#2396)
|
14 | 22 |
|
15 | 23 | # 0.3.14 - 2021-04-10
|
| 24 | + |
16 | 25 | * Add `future::SelectAll::into_inner` (#2363)
|
17 | 26 | * Allow calling `UnboundedReceiver::try_next` after `None` (#2369)
|
18 | 27 | * Reexport non-Ext traits from the root of `futures_util` (#2377)
|
19 | 28 | * Add `AsyncSeekExt::stream_position` (#2380)
|
20 | 29 | * Add `stream::Peekable::{next_if, next_if_eq}` (#2379)
|
21 | 30 |
|
22 | 31 | # 0.3.13 - 2021-02-23
|
| 32 | + |
23 | 33 | * Mitigated starvation issues in `FuturesUnordered` (#2333)
|
24 | 34 | * Fixed race with dropping `mpsc::Receiver` (#2304)
|
25 | 35 | * Added `Shared::{strong_count, weak_count}` (#2346)
|
26 | 36 | * Added `no_std` support for `task::noop_waker_ref` (#2332)
|
27 | 37 | * Implemented `Stream::size_hint` for `Either` (#2325)
|
28 | 38 |
|
29 | 39 | # 0.3.12 - 2021-01-15
|
| 40 | + |
30 | 41 | * Fixed `Unpin` impl of `future::{MaybeDone, TryMaybeDone}` where trait bounds were accidentally added in 0.3.9. (#2317)
|
31 | 42 |
|
32 | 43 | # 0.3.11 - 2021-01-14
|
| 44 | + |
33 | 45 | * Fixed heap buffer overflow in `AsyncReadExt::{read_to_end, read_to_string}` (#2314)
|
34 | 46 |
|
35 | 47 | # 0.3.10 - 2021-01-13
|
| 48 | + |
36 | 49 | * Fixed type-inference in `sink::unfold` by specifying more of its types (breaking change -- see #2311)
|
37 | 50 |
|
38 | 51 | # 0.3.9 - 2021-01-08
|
| 52 | + |
39 | 53 | * Significantly improved compile time when `async-await` crate feature is disabled (#2273)
|
40 | 54 | * Added `stream::repeat_with` (#2279)
|
41 | 55 | * Added `StreamExt::unzip` (#2263)
|
|
46 | 60 | * Re-exported `MapOkOrElse`, `MapInto`, `OkInto`, `TryFlatten`, `WriteAllVectored` (#2275)
|
47 | 61 |
|
48 | 62 | # 0.3.8 - 2020-11-04
|
| 63 | + |
49 | 64 | * Switched proc-macros to use native `#[proc_macro]` at Rust 1.45+ (#2243)
|
50 | 65 | * Added `WeakShared` (#2169)
|
51 | 66 | * Added `TryStreamExt::try_buffered` (#2245)
|
|
54 | 69 | * Fixed panic in some `TryStreamExt` combinators (#2250)
|
55 | 70 |
|
56 | 71 | # 0.3.7 - 2020-10-23
|
| 72 | + |
57 | 73 | * Fixed unsoundness in `MappedMutexGuard` (#2240)
|
58 | 74 | * Re-exported `TakeUntil` (#2235)
|
59 | 75 | * futures-test: Prevent double panic in `panic_waker` (#2236)
|
60 | 76 |
|
61 | 77 | # 0.3.6 - 2020-10-06
|
| 78 | + |
62 | 79 | * Fixed UB due to missing 'static on `task::waker` (#2206)
|
63 | 80 | * Added `AsyncBufReadExt::fill_buf` (#2225)
|
64 | 81 | * Added `TryStreamExt::try_take_while` (#2212)
|
|
72 | 89 | * futures-test: Implemented more traits for `AssertUnmoved` (#2208)
|
73 | 90 |
|
74 | 91 | # 0.3.5 - 2020-05-08
|
| 92 | + |
75 | 93 | * Added `StreamExt::flat_map`.
|
76 | 94 | * Added `StreamExt::ready_chunks`.
|
77 | 95 | * Added `*_unpin` methods to `SinkExt`.
|
|
89 | 107 | * Removed and replaced a large amount of internal `unsafe`.
|
90 | 108 |
|
91 | 109 | # 0.3.4 - 2020-02-06
|
| 110 | + |
92 | 111 | * Fixed missing `Drop` for `UnboundedReceiver` (#2064)
|
93 | 112 |
|
94 | 113 | # 0.3.3 - 2020-02-04
|
| 114 | + |
95 | 115 | * Fixed compatibility issue with pinned facade (#2062)
|
96 | 116 |
|
97 | 117 | # 0.3.2 - 2020-02-03
|
| 118 | + |
98 | 119 | * Improved buffering performance of `SplitSink` (#1969)
|
99 | 120 | * Added `select_biased!` macro (#1976)
|
100 | 121 | * Added `hash_receiver` method to mpsc channel (#1962)
|
|
112 | 133 | * Mitigated starvation issues in `FuturesUnordered` (#2049)
|
113 | 134 | * Added `TryFutureExt::map_ok_or_else` (#2058)
|
114 | 135 |
|
115 |
| -# 0.3.1 - 2019-11-7 |
| 136 | +# 0.3.1 - 2019-11-07 |
| 137 | + |
116 | 138 | * Fix signature of `LocalSpawn` trait (breaking change -- see #1959)
|
117 | 139 |
|
118 |
| -# 0.3.0 - 2019-11-5 |
| 140 | +# 0.3.0 - 2019-11-05 |
| 141 | + |
119 | 142 | * Stable release along with stable async/await!
|
120 | 143 | * Added async/await to default features (#1953)
|
121 | 144 | * Changed `Spawn` trait and `FuturesUnordered::push` to take `&self` (#1950)
|
|
136 | 159 | * Added some missing `Clone` implementations
|
137 | 160 | * Documentation fixes
|
138 | 161 |
|
139 |
| -# 0.3.0-alpha.19 - 2019-9-25 |
| 162 | +# 0.3.0-alpha.19 - 2019-09-25 |
| 163 | + |
140 | 164 | * Stabilized the `async-await` feature (#1816)
|
141 | 165 | * Made `async-await` feature no longer require `std` feature (#1815)
|
142 | 166 | * Updated `proc-macro2`, `syn`, and `quote` to 1.0 (#1798)
|
|
159 | 183 | * Removed dependency on `rand` by using our own PRNG (#1837)
|
160 | 184 | * Removed `futures-core` dependency from `futures-sink` (#1832)
|
161 | 185 |
|
162 |
| -# 0.3.0-alpha.18 - 2019-8-9 |
| 186 | +# 0.3.0-alpha.18 - 2019-08-09 |
| 187 | + |
163 | 188 | * Rewrote `join!` and `try_join!` as procedural macros to allow passing expressions (#1783)
|
164 | 189 | * Banned manual implementation of `TryFuture` and `TryStream` for forward compatibility. See #1776 for more details. (#1777)
|
165 | 190 | * Changed `AsyncReadExt::read_to_end` to return the total number of bytes read (#1721)
|
|
178 | 203 | * Added `TryStreamExt::try_flatten` (#1731)
|
179 | 204 | * Added `FutureExt::now_or_never` (#1747)
|
180 | 205 |
|
181 |
| -# 0.3.0-alpha.17 - 2019-7-3 |
| 206 | +# 0.3.0-alpha.17 - 2019-07-03 |
| 207 | + |
182 | 208 | * Removed `try_ready!` macro in favor of `ready!(..)?`. (#1602)
|
183 | 209 | * Removed `io::Window::{set_start, set_end}` in favor of `io::Window::set`. (#1667)
|
184 | 210 | * Re-exported `pin_utils::pin_mut!` macro. (#1686)
|
|
211 | 237 | * Renamed `Sink::SinkError` to `Sink::Error`.
|
212 | 238 | * Made a number of dependencies of `futures-util` optional.
|
213 | 239 |
|
214 |
| -# 0.3.0-alpha.16 - 2019-5-10 |
| 240 | +# 0.3.0-alpha.16 - 2019-05-10 |
| 241 | + |
215 | 242 | * Updated to new nightly `async_await`.
|
216 | 243 | * Changed `AsyncRead::poll_vectored_read` and `AsyncWrite::poll_vectored_write` to use
|
217 | 244 | stabilized `std::io::{IoSlice, IoSliceMut}` instead of `iovec::IoVec`, and renamed to
|
|
222 | 249 | * Added `AsyncBufReadExt::{read_line, lines}`.
|
223 | 250 | * Added `io::BufReader`.
|
224 | 251 |
|
225 |
| -# 0.3.0-alpha.15 - 2019-4-26 |
| 252 | +# 0.3.0-alpha.15 - 2019-04-26 |
| 253 | + |
226 | 254 | * Updated to stabilized `futures_api`.
|
227 | 255 | * Removed `StreamObj`, cautioned against usage of `FutureObj`.
|
228 | 256 | * Changed `StreamExt::select` to a function.
|
|
235 | 263 | * Added functions to partially progress a local pool.
|
236 | 264 | * Changed to use our own `Either` type rather than the one from the `either` crate.
|
237 | 265 |
|
238 |
| -# 0.3.0-alpha.14 - 2019-4-15 |
| 266 | +# 0.3.0-alpha.14 - 2019-04-15 |
| 267 | + |
239 | 268 | * Updated to new nightly `futures_api`.
|
240 | 269 | * Changed `Forward` combinator to drop sink after completion, and allow `!Unpin` `Sink`s.
|
241 | 270 | * Added 0.1 <-> 0.3 compatibility shim for `Sink`s.
|
|
246 | 275 | * Changed `join` and `try_join` combinators to functions.
|
247 | 276 | * Fixed propagation of `cfg-target-has-atomic` feature.
|
248 | 277 |
|
249 |
| -# 0.3.0-alpha.13 - 2019-2-20 |
| 278 | +# 0.3.0-alpha.13 - 2019-02-20 |
| 279 | + |
250 | 280 | * Updated to new nightly with stabilization candidate API.
|
251 | 281 | * Removed `LocalWaker`.
|
252 | 282 | * Added `#[must_use]` to `Stream` and `Sink` traits.
|
|
256 | 286 | * Removed `TokioDefaultSpawner` and `tokio-compat`.
|
257 | 287 | * Moved intra-crate dependencies to exact versions.
|
258 | 288 |
|
259 |
| -# 0.3.0-alpha.12 - 2019-1-14 |
| 289 | +# 0.3.0-alpha.12 - 2019-01-14 |
| 290 | + |
260 | 291 | * Updated to new nightly with a modification to `Pin::set`.
|
261 | 292 | * Expose `AssertUnmoved` and `PendingOnce`.
|
262 | 293 | * Prevent double-panic in `AssertUnmoved`.
|
263 | 294 | * Support nested invocations of the `select!` macro.
|
264 | 295 | * Implement `Default` for `Mutex` and `SelectAll`.
|
265 | 296 |
|
266 | 297 | # 0.3.0-alpha.11 - 2018-12-27
|
| 298 | + |
267 | 299 | * Updated to newly stabilized versions of the `pin` and `arbitrary_self_types` features.
|
268 | 300 | * Re-added `select_all` for streams.
|
269 | 301 | * Added `TryStream::into_async_read` for converting from a stream of bytes into
|
|
273 | 305 | * Exposed `join_all` from the facade
|
274 | 306 |
|
275 | 307 | # 0.3.0-alpha.10 - 2018-11-27
|
| 308 | + |
276 | 309 | * Revamped `select!` macro
|
277 | 310 | * Added `select_next_some` method for getting only the `Some` elements of a stream from `select!`
|
278 | 311 | * Added `futures::lock::Mutex` for async-aware synchronization.
|
|
285 | 318 | * Added `try_concat`
|
286 | 319 |
|
287 | 320 | # 0.3.0-alpha.9 - 2018-10-18
|
| 321 | + |
288 | 322 | * Fixed in response to new nightly handling of 2018 edition + `#![no_std]`
|
289 | 323 |
|
290 | 324 | # 0.3.0-alpha.8 - 2018-10-16
|
| 325 | + |
291 | 326 | * Fixed stack overflow in 0.1 compatibility layer
|
292 | 327 | * Added AsyncRead / AsyncWrite compatibility layer
|
293 | 328 | * Added Spawn -> 0.1 Executor compatibility
|
294 | 329 | * Made 0.1 futures usable on 0.3 executors without an additional global `Task`, accomplished by wrapping 0.1 futures in an 0.1 `Spawn` when using them as 0.3 futures.
|
295 |
| -* Cleanups and improvments to the `AtomicWaker` implementation. |
| 330 | +* Cleanups and improvements to the `AtomicWaker` implementation. |
296 | 331 |
|
297 | 332 | # 0.3.0-alpha.7 - 2018-10-01
|
| 333 | + |
298 | 334 | * Update to new nightly which removes `Spawn` from `task::Context` and replaces `Context` with `LocalWaker`.
|
299 | 335 | * Add `Spawn` and `LocalSpawn` traits and `FutureObj` and `LocalFutureObj` types to `futures-core`.
|
300 | 336 |
|
301 | 337 | # 0.3.0-alpha.6 - 2018-09-10
|
| 338 | + |
302 | 339 | * Replace usage of `crate` visibility with `pub(crate)` now that `crate` visibility is no longer included in the 2018 edition
|
303 | 340 | * Remove newly-stabilized "edition" feature in Cargo.toml files
|
304 | 341 |
|
305 | 342 | # 0.3.0-alpha.5 - 2018-09-03
|
| 343 | + |
306 | 344 | * Revert usage of cargo crate renaming feature
|
307 | 345 |
|
308 | 346 | # 0.3.0-alpha.4 - 2018-09-02
|
| 347 | + |
309 | 348 | **Note: This release does not work, use `0.3.0-alpha.5` instead**
|
310 | 349 |
|
311 | 350 | * `future::ok` and `future:err` to create result wrapping futures (similar to `future::ready`)
|
|
319 | 358 | * Run Clippy in CI only when it is available
|
320 | 359 |
|
321 | 360 | # 0.3.0-alpha.3 - 2018-08-15
|
322 |
| -* Compatibilty with newest nightly |
| 361 | + |
| 362 | +* Compatibility with newest nightly |
323 | 363 | * Futures 0.1 compatibility layer including Tokio compatibility
|
324 | 364 | * Added `spawn!` and `spawn_with_handle!` macros
|
325 | 365 | * Added `SpawnExt` methods `spawn` and `spawn_with_handle`
|
|
337 | 377 | * Doc improvements to `StreamExt::select`
|
338 | 378 |
|
339 | 379 | # 0.3.0-alpha.2 - 2018-07-30
|
| 380 | + |
340 | 381 | * The changelog is back!
|
341 | 382 | * Compatibility with futures API in latest nightly
|
342 | 383 | * Code examples and doc improvements
|
343 |
| - - IO: Methods of traits `AsyncReadExt`, `AsyncWriteExt` |
344 |
| - - Future: |
345 |
| - - Methods of trait `TryFutureExt` |
346 |
| - - Free functions `empty`, `lazy`, `maybe_done`, `poll_fn` and `ready` |
347 |
| - - Type `FutureOption` |
348 |
| - - Macros `join!`, `select!` and `pending!` |
349 |
| - - Stream: Methods of trait `TryStreamExt` |
| 384 | + * IO: Methods of traits `AsyncReadExt`, `AsyncWriteExt` |
| 385 | + * Future: |
| 386 | + * Methods of trait `TryFutureExt` |
| 387 | + * Free functions `empty`, `lazy`, `maybe_done`, `poll_fn` and `ready` |
| 388 | + * Type `FutureOption` |
| 389 | + * Macros `join!`, `select!` and `pending!` |
| 390 | + * Stream: Methods of trait `TryStreamExt` |
350 | 391 | * Added `TryStreamExt` combinators `map_ok`, `map_err`, `err_into`, `try_next` and `try_for_each`
|
351 | 392 | * Added `Drain`, a sink that will discard all items given to it. Can be created using the `drain` function
|
352 | 393 | * Bugfix for the `write_all` combinator
|
|
364 | 405 | * "Task" is now defined as our term for "lightweight thread". The code of the executors and `FuturesUnordered` was refactored to align with this definition.
|
365 | 406 |
|
366 | 407 | # 0.3.0-alpha.1 - 2018-07-19
|
| 408 | + |
367 | 409 | * Major changes: See [the announcement](https://rust-lang-nursery.github.io/futures-rs/blog/2018/07/19/futures-0.3.0-alpha.1.html) on our new blog for details. The changes are too numerous to be covered in this changelog because nearly every line of code was modified.
|
368 | 410 |
|
369 | 411 | # 0.1.17 - 2017-10-31
|
|
0 commit comments