All Versions
40
Latest Version
Avg Release Cycle
65 days
Latest Release
134 days ago

Changelog History
Page 1

  • v0.3.0

    July 03, 2019
    • ✂ 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.
  • v0.3.0-alpha.9

    October 18, 2018
    • 🛠 Fixed in response to new nightly handling of 2018 edition + #![no_std]
  • v0.3.0-alpha.8

    October 16, 2018
    • 🛠 Fixed stack overflow in 0.1 compatibility layer
    • ➕ Added AsyncRead / AsyncWrite compatibility layer
    • ➕ Added Spawn -> 0.1 Executor compatibility
    • 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.
    • Cleanups and improvments to the AtomicWaker implementation.
  • v0.3.0-alpha.7

    October 01, 2018
    • ⚡️ Update to new nightly which removes Spawn from task::Context and replaces Context with LocalWaker.
    • ➕ Add Spawn and LocalSpawn traits and FutureObj and LocalFutureObj types to futures-core.
  • v0.3.0-alpha.6

    September 10, 2018
    • Replace usage of crate visibility with pub(crate) now that crate visibility is no longer included in the 2018 edition
    • ✂ Remove newly-stabilized "edition" feature in Cargo.toml files
  • v0.3.0-alpha.5

    September 03, 2018
    • ⏪ Revert usage of cargo crate renaming feature
  • v0.3.0-alpha.4

    September 02, 2018

    🚀 Note: This release does not work, use 0.3.0-alpha.5 instead

    • future::ok and future:err to create result wrapping futures (similar to future::ready)
    • futures-test crate with testing utilities
    • StreamExt::boxed combinator
    • Unsoundness fix for FuturesUnordered
    • StreamObj (similar to FutureObj)
    • Code examples for compatiblity layer functions
    • 👉 Use cargo create renaming feature to import futures@0.1 for compatiblily layer
    • 📌 Import pinning APIs from core::pin
    • 👷 Run Clippy in CI only when it is available
  • v0.3.0-alpha.3

    August 15, 2018
    • Compatibilty with newest nightly
    • Futures 0.1 compatibility layer including Tokio compatibility
    • Added spawn! and spawn_with_handle! macros
    • Added SpawnExt methods spawn and spawn_with_handle
    • 📌 Extracted pin macros into pin_utils crate
    • ➕ Added FutureExt combinators boxed and unit_error
    • ✂ Remove prelude from all doc examples (The prelude is still recommended for usage in playground examples. However, for doc examples we determined that fully expanded imports are more helpful)
    • 👌 Improvements to select! and join! macros
    • ➕ Added try_join! macro
    • Added StreamExt combinator methods try_join and for_each_concurrent
    • Added TryStreamExt combinator methdos into_stream, try_filter_map, try_skip_while, try_for_each_concurrent and try_buffer_unordered
    • 🛠 Fix stream termination bug in StreamExt::buffered and StreamExt::buffer_unordered
    • ➕ Added docs for StreamExt::buffered, StreamExt::buffer_unordered
    • Added task::local_waker_ref_from_nonlocal and task::local_waker_ref functions
    • CI improvements
    • Doc improvements to StreamExt::select
  • v0.3.0-alpha.2

    July 30, 2018
    • The changelog is back!
    • ✅ Compatiblity with futures API in latest nightly
    • Code examples and doc improvements
      • IO: Methods of traits AsyncReadExt, AsyncWriteExt
      • Future:
      • Methods of trait TryFutureExt
      • Free functions empty, lazy, maybe_done, poll_fn and ready
      • Type FutureOption
      • Macros join!, select! and pending!
      • Stream: Methods of trait TryStreamExt
    • Added TryStreamExt combinators map_ok, map_err, err_into, try_next and try_for_each
    • ➕ Added Drain, a sink that will discard all items given to it. Can be created using the drain function
    • 🛠 Bugfix for the write_all combinator
    • AsyncWrite impl for Cursor<T: AsMut<[u8]>>
    • FuturesUnordered optimization: Since the context stores a &LocalWaker reference, it was possible to avoid cloning the Arc of the waker
    • Futures-rs now uses Clippy
    • We now use in-band lifetimes
    • The join! and select! macros are now exposed by the futures-preview crate
    • The project logo was added to the README.md
    • 📌 sink::MapErr::get_pinned_mut is now called get_pin_mut
    • We now use the unstable use_extern_macros feature for macro reexports
    • 🍎 CI improvements: Named CI jobs, tests are now run on macOS and Linux, the docs are generated and Clippy needs to pass
    • 🚚 #[deny(warnings)] was removed from all crates and is now only enforced in the CI
    • We now have a naming convention for type paramters: Fut future, F function, St stream, Si sink, S sink & stream, R reader, W writer, T value, E error
    • ♻️ "Task" is now defined as our term for "lightweight thread". The code of the executors and FuturesUnordered was refactored to align with this definition.
  • v0.3.0-alpha.19

    • 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)
    • 0️⃣ 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)