Skip to content

Releases: rust-lang/futures-rs

0.3.0

06 Nov 18:28
Compare
Choose a tag to compare
  • 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

26 Sep 17:19
Compare
Choose a tag to compare
0.3.0-alpha.19 Pre-release
Pre-release
  • Stabilized the async-await feature (#1816)
  • Made async-await feature no longer require std feature (#1815)
  • Updated proc-macro2, syn, and quote to 1.0 (#1798)
  • Exposed unstable BiLock (#1827)
  • Renamed "nightly" feature to "unstable" (#1823)
  • Moved to our own io::{Empty, Repeat, Sink} (#1829)
  • Made AsyncRead::initializer API unstable (#1845)
  • Moved the Never type from futures-core to futures-util (#1836)
  • Fixed use-after-free on panic in ArcWake::wake_by_ref (#1797)
  • Added AsyncReadExt::chain (#1810)
  • Added Stream::size_hint (#1853)
  • Added some missing FusedFuture (#1868) and FusedStream implementations (#1831)
  • Added a From impl for Mutex (#1839)
  • Added Mutex::{get_mut, into_inner} (#1839)
  • Re-exported TryConcat and TryFilter (#1814)
  • Lifted Unpin bound and implemented AsyncBufRead for io::Take (#1821)
  • Lifted Unpin bounds on get_pin_mut (#1820)
  • Changed SendAll to flush the Sink when the source Stream is pending (#1877)
  • Set default threadpool size to one if num_cpus::get() returns zero (#1835)
  • Removed dependency on rand by using our own PRNG (#1837)
  • Removed futures-core dependency from futures-sink (#1832)

0.1.29

05 Sep 17:24
Compare
Choose a tag to compare
0.1.29 release

0.3.0-alpha.18

09 Aug 22:14
66c879e
Compare
Choose a tag to compare
0.3.0-alpha.18 Pre-release
Pre-release
  • Rewrote join! and try_join! as procedural macros to allow passing expressions (#1783)
  • Banned manual implementation of TryFuture and TryStream for forward compatibility. See #1776 for more details. (#1777)
  • Changed AsyncReadExt::read_to_end to return the total number of bytes read (#1721)
  • Changed ArcWake::into_waker to a free function waker (#1676)
  • Supported trailing commas in macros (#1733)
  • Removed futures-channel dependency from futures-executor (#1735)
  • Supported channel::oneshot in no_std environment (#1749)
  • Added Future bounds to FusedFuture (#1779)
  • Added Stream bounds to FusedStream (#1779)
  • Changed StreamExt::boxed to return BoxStream (#1780)
  • Added StreamExt::boxed_local (#1780)
  • Added AsyncReadExt::read_to_string (#1721)
  • Implemented AsyncWrite for IntoAsyncRead (#1734)
  • Added get_ref, get_mut and into_inner methods to Compat01As03 and Compat01As03Sink (#1705)
  • Added ThreadPool::{spawn_ok, spawn_obj_ok} (#1750)
  • Added TryStreamExt::try_flatten (#1731)
  • Added FutureExt::now_or_never (#1747)

0.3.0-alpha.17

03 Jul 23:08
Compare
Choose a tag to compare
0.3.0-alpha.17 Pre-release
Pre-release
  • Removed try_ready! macro in favor of ready!(..)?. (#1602)
  • Removed io::Window::{set_start, set_end} in favor of io::Window::set. (#1667)
  • Re-exported pin_utils::pin_mut! macro. (#1686)
  • Made all extension traits unnamed in the prelude. (#1662)
  • Allowed ?Sized types in some methods and structs. (#1647)
  • Added Send + Sync bounds to ArcWake trait to fix unsoundness. (#1654)
  • Changed AsyncReadExt::copy_into to consume self. (#1674)
  • Renamed future::empty to pending. (#1689)
  • Added #[must_use] to some combinators. (#1600)
  • Added AsyncWriteExt::{write, write_vectored}. (#1612)
  • Added AsyncReadExt::read_vectored. (#1612)
  • Added TryFutureExt::try_poll_unpin. (#1613)
  • Added TryFutureExt::try_flatten_stream. (#1618)
  • Added io::BufWriter. (#1608)
  • Added Sender::same_receiver and UnboundedSender::same_receiver. (#1617)
  • Added future::try_select. (#1622)
  • Added TryFutureExt::{inspect_ok, inspect_err}. (#1630)
  • Added Compat::get_ref. (#1648)
  • Added io::Window::set. (#1667)
  • Added AsyncWriteExt::into_sink. (#1675)
  • Added AsyncBufReadExt::copy_buf_into. (#1674)
  • Added stream::pending. (#1689)
  • Implemented std::error::Error for SpawnError. (#1604)
  • Implemented Stream for FlattenSink. (#1651)
  • Implemented Sink for TryFlattenStream. (#1651)
  • Implemented AsyncRead, AsyncWrite, AsyncSeek, AsyncBufRead, FusedFuture and FusedStream for Either. (#1695)
  • Replaced empty enums with Never type, an alias for core::convert::Infallible.
  • Removed the futures-channel dependency from futures-sink and make futures-sink
    an optional dependency of futures-channel.
  • Renamed Sink::SinkError to Sink::Error.
  • Made a number of dependencies of futures-util optional.

0.1.28

26 Jun 18:04
Compare
Choose a tag to compare
0.1.28 release

0.3.0-alpha.16

10 May 17:26
Compare
Choose a tag to compare
0.3.0-alpha.16 Pre-release
Pre-release
  • Updated to new nightly async_await.
  • Changed AsyncRead::poll_vectored_read and AsyncWrite::poll_vectored_write to use
    stabilized std::io::{IoSlice, IoSliceMut} instead of iovec::IoVec, and renamed to
    AsyncRead::poll_read_vectored and AsyncWrite::poll_write_vectored.
  • Added LocalBoxFuture and FutureExt::boxed_local.
  • Added TryStreamExt::{try_filter, inspect_ok, inspect_err}.
  • Added try_future::select_ok.
  • Added AsyncBufReadExt::{read_line, lines}.
  • Added io::BufReader.

0.1.27

13 Jun 21:48
Compare
Choose a tag to compare
  • Add is_in_task for determining whether the caller is in a task.

0.3.0-alpha.15

27 Apr 00:24
Compare
Choose a tag to compare
0.3.0-alpha.15 Pre-release
Pre-release

0.3.0-alpha.15 - 2019-4-26

  • Updated to stabilized futures_api.
  • Removed StreamObj, cautioned against usage of FutureObj.
  • Changed StreamExt::select to a function.
  • Added AsyncBufRead and AsyncSeek traits.
  • Expanded trait impls to include more pinned pointers and ?Sized types.
  • Added future::Fuse::terminated constructor.
  • Added never_error combinator.
  • Added StreamExt::enumerate.
  • Re-added TryStreamExt::{and_then, or_else}.
  • Added functions to partially progress a local pool.
  • Changed to use our own Either type rather than the one from the either crate.

0.3.0-alpha.14

15 Apr 18:20
Compare
Choose a tag to compare
0.3.0-alpha.14 Pre-release
Pre-release

0.3.0-alpha.14 - 2019-4-15

  • Updated to new nightly futures_api.
  • Changed Forward combinator to drop sink after completion, and allow !Unpin Sinks.
  • Added 0.1 <-> 0.3 compatability shim for Sinks.
  • Changed Sink::Item to a generic parameter Sink<Item>, allowing Sinks to accept
    multiple different types, including types containing references.
  • Changed AsyncRead and AsyncWrite to take Pin<&mut Self> rather than &mut self.
  • Added support for no_std + alloc use.
  • Changed join and try_join combinators to functions.
  • Fixed propagation of cfg-target-has-atomic feature.