- Remove
Unpin
bound from theLines
I/O adapter. (#113)
- Add a "fuse" method that makes it so a
Future
returnsPoll::Pending
forever after it returnsPoll::Pending
once. (#101) - Add a "stop_after_future" function that allows for running a
Stream
until aFuture
completes. (#103) - Make it so
Zip
/TryZip
drop completed futures. (#106)
- Add
StreamExt::drain
for draining objects from aStream
without waiting (#70).
- Relax
Unpin
bounds onio::copy
. (#87) - Implement
size_hint
forstream::Filter
. (#88) - Relax MSRV to 1.60. (#90)
- Make it so
read_line
and other futures use a naive implementation of byte searching unless thememchr
feature is enabled. This prevents needing to compile thememchr
crate unless it is desired. (#77)
- Remove dependency on the
waker-fn
crate. (#81)
- Breaking: Expose
future::{ready, pending}
fromcore
instead of defining our own. (#73) - Breaking: The
TryZip
andZip
combinators are modified to have a cleaner API, where generic constraints are not necessary on the structure itself at the cost of additional generics. (#74) - Add a way to use racey futures on
no_std
by providing your own seed. (#75)
- Unbind Debug implementations of BufReader and BufWriter. (#49)
- Add the once_future() combinator. (#59)
- Add a combinator for temporarily using an AsyncRead/AsyncWrite as Read/Write. (#62)
- Implement more methods for stream::BlockOn. (#68)
- Implement
BufRead
forBlockOn
- Update
pin-project-lite
.
- Improve docs for
ready!
.
- Fix some typos.
- Add the new
prelude
module. - Deprecate trait re-exports in the root module.
- Fix compilation errors with Rust 1.42.0 and 1.45.2
- Add
io::split()
.
- Add
FutureExt::poll()
. - Add
StreamExt::poll_next()
. - Add
AsyncBufReadExt::fill_buf()
. - Add
AsyncBufReadExt::consume()
.
- Add
BoxedReader
andBoxedWriter
.
- Implement
AsyncRead
forBytes
. - Add
StreamExt::then()
.
- Add
FutureExt::catch_unwind()
.
- Add
stream::race()
andStreamExt::race()
.
- Add
alloc
Cargo feature.
- Add
future::or()
. - Add
FutureExt::race()
. - Disable
waker-fn
dependency on#![no_std]
targets.
- Fix compilation errors on
#![no_std]
systems. - Add
StreamExt::try_next()
. - Add
StreamExt::partition()
. - Add
StreamExt::for_each()
. - Add
StreamExt::try_for_each()
. - Add
StreamExt::zip()
. - Add
StreamExt::unzip()
. - Add
StreamExt::nth()
. - Add
StreamExt::last()
. - Add
StreamExt::find()
. - Add
StreamExt::find_map()
. - Add
StreamExt::position()
. - Add
StreamExt::all()
. - Add
StreamExt::any()
. - Add
StreamExt::scan()
. - Add
StreamExt::flat_map()
. - Add
StreamExt::flatten()
. - Add
StreamExt::skip()
. - Add
StreamExt::skip_while()
.
- Add
StreamExt::take()
. - Add
StreamExt::take_while()
. - Add
StreamExt::step_by()
. - Add
StreamExt::fuse()
. - Add
StreamExt::chain()
. - Add
StreamExt::cloned()
. - Add
StreamExt::copied()
. - Add
StreamExt::cycle()
. - Add
StreamExt::enumeraate()
. - Add
StreamExt::inspect()
. - Parametrize
FutureExt::boxed()
andFutureExt::boxed_local()
over a lifetime. - Parametrize
StreamExt::boxed()
andStreamExt::boxed_local()
over a lifetime.
- Add
StreamExt::map()
. - Add
StreamExt::count()
. - Add
StreamExt::filter()
. - Add
StreamExt::filter_map()
. - Rename
future::join()
tofuture::zip()
. - Rename
future::try_join()
tofuture::try_zip()
.
- Update
parking
to v2.0.0
- Add
AssertAsync
.
- Add
FutureExt::or()
. - Put
#[must_use]
on all futures and streams.
- Fix lints about unsafe code.
- Add blocking APIs (
block_on()
andBlockOn
).
- Add
boxed()
,boxed_local()
,Boxed
, andBoxedLocal
.
- Add
fold()
andtry_fold()
.
- Add
future::race()
. - Fix a bug in
BufReader
.
- Add
future::join()
,future::try_join()
, andAsyncWriteExt::close()
.
- Lots of new APIs.
- Initial version