diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /third_party/rust/futures-0.1.31/CHANGELOG.md | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | third_party/rust/futures-0.1.31/CHANGELOG.md | 294 |
1 files changed, 294 insertions, 0 deletions
diff --git a/third_party/rust/futures-0.1.31/CHANGELOG.md b/third_party/rust/futures-0.1.31/CHANGELOG.md new file mode 100644 index 0000000000..616282329e --- /dev/null +++ b/third_party/rust/futures-0.1.31/CHANGELOG.md @@ -0,0 +1,294 @@ +**Note**: This CHANGELOG is no longer maintained for newer 0.1.x releases. +See instead the github release tags and individual git commits. + +----- + +# 0.1.17 - 2017-10-31 + +* Add a `close` method on `sink::Wait` +* Undeprecate `stream::iter` as `stream::iter_result` +* Improve performance of wait-related methods +* Tweak buffered sinks with a 0 capacity to forward directly to the underlying + sink. +* Add `FromIterator` implementation for `FuturesOrdered` and `FuturesUnordered`. + +# 0.1.16 - 2017-09-15 + +* A `prelude` module has been added to glob import from and pick up a whole + bunch of useful types +* `sync::mpsc::Sender::poll_ready` has been added as an API +* `sync::mpsc::Sender::try_send` has been added as an API + +# 0.1.15 - 2017-08-24 + +* Improve performance of `BiLock` methods +* Implement `Clone` for `FutureResult` +* Forward `Stream` trait through `SinkMapErr` +* Add `stream::futures_ordered` next to `futures_unordered` +* Reimplement `Stream::buffered` on top of `stream::futures_ordered` (much more + efficient at scale). +* Add a `with_notify` function for abstractions which previously required + `UnparkEvent`. +* Add `get_ref`/`get_mut`/`into_inner` functions for stream take/skip methods +* Add a `Clone` implementation for `SharedItem` and `SharedError` +* Add a `mpsc::spawn` function to spawn a `Stream` into an `Executor` +* Add a `reunite` function for `BiLock` and the split stream/sink types to + rejoin two halves and reclaim the original item. +* Add `stream::poll_fn` to behave similarly to `future::poll_fn` +* Add `Sink::with_flat_map` like `Iterator::flat_map` +* Bump the minimum Rust version to 1.13.0 +* Expose `AtomicTask` in the public API for managing synchronization around task + notifications. +* Unify the `Canceled` type of the `sync` and `unsync` modules. +* Deprecate the `boxed` methods. These methods have caused more confusion than + they've solved historically, so it's recommended to use a local extension + trait or a local helper instead of the trait-based methods. +* Deprecate the `Stream::merge` method as it's less ergonomic than `select`. +* Add `oneshot::Sender::is_canceled` to test if a oneshot is canceled off a + task. +* Deprecates `UnboundedSender::send` in favor of a method named `unbounded_send` + to avoid a conflict with `Sink::send`. +* Deprecate the `stream::iter` function in favor of an `stream::iter_ok` adaptor + to avoid the need to deal with `Result` manually. +* Add an `inspect` function to the `Future` and `Stream` traits along the lines + of `Iterator::inspect` + +# 0.1.14 - 2017-05-30 + +This is a relatively large release of the `futures` crate, although much of it +is from reworking internals rather than new APIs. The banner feature of this +release is that the `futures::{task, executor}` modules are now available in +`no_std` contexts! A large refactoring of the task system was performed in +PR #436 to accommodate custom memory allocation schemes and otherwise remove +all dependencies on `std` for the task module. More details about this change +can be found on the PR itself. + +Other API additions in this release are: + +* A `FuturesUnordered::push` method was added and the `FuturesUnordered` type + itself was completely rewritten to efficiently track a large number of + futures. +* A `Task::will_notify_current` method was added with a slightly different + implementation than `Task::is_current` but with stronger guarantees and + documentation wording about its purpose. +* Many combinators now have `get_ref`, `get_mut`, and `into_inner` methods for + accessing internal futures and state. +* A `Stream::concat2` method was added which should be considered the "fixed" + version of `concat`, this one doesn't panic on empty streams. +* An `Executor` trait has been added to represent abstracting over the concept + of spawning a new task. Crates which only need the ability to spawn a future + can now be generic over `Executor` rather than requiring a + `tokio_core::reactor::Handle`. + +As with all 0.1.x releases this PR is intended to be 100% backwards compatible. +All code that previously compiled should continue to do so with these changes. +As with other changes, though, there are also some updates to be aware of: + +* The `task::park` function has been renamed to `task::current`. +* The `Task::unpark` function has been renamed to `Task::notify`, and in general + terminology around "unpark" has shifted to terminology around "notify" +* The `Unpark` trait has been deprecated in favor of the `Notify` trait + mentioned above. +* The `UnparkEvent` structure has been deprecated. It currently should perform + the same as it used to, but it's planned that in a future 0.1.x release the + performance will regress for crates that have not transitioned away. The + primary primitive to replace this is the addition of a `push` function on the + `FuturesUnordered` type. If this does not help implement your use case though, + please let us know! +* The `Task::is_current` method is now deprecated, and you likely want to use + `Task::will_notify_current` instead, but let us know if this doesn't suffice! + +# 0.1.13 - 2017-04-05 + +* Add forwarding sink/stream impls for `stream::FromErr` and `sink::SinkFromErr` +* Add `PartialEq` and `Eq` to `mpsc::SendError` +* Reimplement `Shared` with `spawn` instead of `UnparkEvent` + +# 0.1.12 - 2017-04-03 + +* Add `Stream::from_err` and `Sink::from_err` +* Allow `SendError` to be `Clone` when possible + +# 0.1.11 - 2017-03-13 + +The major highlight of this release is the addition of a new "default" method on +the `Sink` trait, `Sink::close`. This method is used to indicate to a sink that +no new values will ever need to get pushed into it. This can be used to +implement graceful shutdown of protocols and otherwise simply indicates to a +sink that it can start freeing up resources. + +Currently this method is **not** a default method to preserve backwards +compatibility, but it's intended to become a default method in the 0.2 series of +the `futures` crate. It's highly recommended to audit implementations of `Sink` +to implement the `close` method as is fit. + +Other changes in this release are: + +* A new select combinator, `Future::select2` was added for a heterogeneous + select. +* A `Shared::peek` method was added to check to see if it's done. +* `Sink::map_err` was implemented +* The `log` dependency was removed +* Implementations of the `Debug` trait are now generally available. +* The `stream::IterStream` type was renamed to `stream::Iter` (with a reexport + for the old name). +* Add a `Sink::wait` method which returns an adapter to use an arbitrary `Sink` + synchronously. +* A `Stream::concat` method was added to concatenate a sequence of lists. +* The `oneshot::Sender::complete` method was renamed to `send` and now returns a + `Result` indicating successful transmission of a message or not. Note that the + `complete` method still exists, it's just deprecated. + +# 0.1.10 - 2017-01-30 + +* Add a new `unsync` module which mirrors `sync` to the extent that it can but + is intended to not perform cross-thread synchronization (only usable within + one thread). +* Tweak `Shared` to work when handles may not get poll'd again. + +# 0.1.9 - 2017-01-18 + +* Fix `Send/Sync` of a few types +* Add `future::tail_fn` for more easily writing loops +* Export SharedItem/SharedError +* Remove an unused type parameter in `from_err` + +# 0.1.8 - 2017-01-11 + +* Fix some race conditions in the `Shared` implementation +* Add `Stream::take_while` +* Fix an unwrap in `stream::futures_unordered` +* Generalize `Stream::for_each` +* Add `Stream::chain` +* Add `stream::repeat` +* Relax `&mut self` to `&self` in `UnboundedSender::send` + +# 0.1.7 - 2016-12-18 + +* Add a `Future::shared` method for creating a future that can be shared + amongst threads by cloning the future itself. All derivative futures + will resolve to the same value once the original future has been + resolved. +* Add a `FutureFrom` trait for future-based conversion +* Fix a wakeup bug in `Receiver::close` +* Add `future::poll_fn` for quickly adapting a `Poll`-based function to + a future. +* Add an `Either` enum with two branches to easily create one future + type based on two different futures created on two branches of control + flow. +* Remove the `'static` bound on `Unpark` +* Optimize `send_all` and `forward` to send as many items as possible + before calling `poll_complete`. +* Unify the return types of the `ok`, `err`, and `result` future to + assist returning different varieties in different branches of a function. +* Add `CpuFuture::forget` to allow the computation to continue running + after a drop. +* Add a `stream::futures_unordered` combinator to turn a list of futures + into a stream representing their order of completion. + +# 0.1.6 - 2016-11-22 + +* Fix `Clone` bound on the type parameter on `UnboundedSender` + +# 0.1.5 - 2016-11-22 + +* Fix `#![no_std]` support + +# 0.1.4 - 2016-11-22 + +This is quite a large release relative to the previous point releases! As +with all 0.1 releases, this release should be fully compatible with the 0.1.3 +release. If any incompatibilities are discovered please file an issue! + +The largest changes in 0.1.4 are the addition of a `Sink` trait coupled with a +reorganization of this crate. Note that all old locations for types/traits +still exist, they're just deprecated and tagged with `#[doc(hidden)]`. + +The new `Sink` trait is used to represent types which can periodically over +time accept items, but may take some time to fully process the item before +another can be accepted. Essentially, a sink is the opposite of a stream. This +trait will then be used in the tokio-core crate to implement simple framing by +modeling I/O streams as both a stream and a sink of frames. + +The organization of this crate is to now have three primary submodules, +`future`, `stream`, and `sink`. The traits as well as all combinator types are +defined in these submodules. The traits and types like `Async` and `Poll` are +then reexported at the top of the crate for convenient usage. It should be a +relatively rare occasion that the modules themselves are reached into. + +Finally, the 0.1.4 release comes with a new module, `sync`, in the futures +crate. This is intended to be the home of a suite of futures-aware +synchronization primitives. Currently this is inhabited with a `oneshot` module +(the old `oneshot` function), a `mpsc` module for a new multi-producer +single-consumer channel, and a `BiLock` type which represents sharing ownership +of one value between two consumers. This module may expand over time with more +types like a mutex, rwlock, spsc channel, etc. + +Notable deprecations in the 0.1.4 release that will be deleted in an eventual +0.2 release: + +* The `TaskRc` type is now deprecated in favor of `BiLock` or otherwise `Arc` + sharing. +* All future combinators should be accessed through the `future` module, not + the top-level of the crate. +* The `Oneshot` and `Complete` types are now replaced with the `sync::oneshot` + module. +* Some old names like `collect` are deprecated in favor of more appropriately + named versions like `join_all` +* The `finished` constructor is now `ok`. +* The `failed` constructor is now `err`. +* The `done` constructor is now `result`. + +As always, please report bugs to https://github.com/rust-lang-nursery/futures-rs and +we always love feedback! If you've got situations we don't cover, combinators +you'd like to see, or slow code, please let us know! + +Full changelog: + +* Improve scalability of `buffer_unordered` combinator +* Fix a memory ordering bug in oneshot +* Add a new trait, `Sink` +* Reorganize the crate into three primary modules +* Add a new `sync` module for synchronization primitives +* Add a `BiLock` sync primitive for two-way sharing +* Deprecate `TaskRc` +* Rename `collect` to `join_all` +* Use a small vec in `Events` for improved clone performance +* Add `Stream::select` for selecting items from two streams like `merge` but + requiring the same types. +* Add `stream::unfold` constructor +* Add a `sync::mpsc` module with a futures-aware multi-producer single-consumer + queue. Both bounded (with backpressure) and unbounded (no backpressure) + variants are provided. +* Renamed `failed`, `finished`, and `done` combinators to `err`, `ok`, and + `result`. +* Add `Stream::forward` to send all items to a sink, like `Sink::send_all` +* Add `Stream::split` for streams which are both sinks and streams to have + separate ownership of the stream/sink halves +* Improve `join_all` with concurrency + +# 0.1.3 - 2016-10-24 + +* Rewrite `oneshot` for efficiency and removing allocations on send/recv +* Errors are passed through in `Stream::take` and `Stream::skip` +* Add a `select_ok` combinator to pick the first of a list that succeeds +* Remove the unnecessary `SelectAllNext` typedef +* Add `Stream::chunks` for receiving chunks of data +* Rewrite `stream::channel` for efficiency, correctness, and removing + allocations +* Remove `Send + 'static` bounds on the `stream::Empty` type + +# 0.1.2 - 2016-10-04 + +* Fixed a bug in drop of `FutureSender` +* Expose the channel `SendError` type +* Add `Future::into_stream` to convert to a single-element stream +* Add `Future::flatten_to_stream` to convert a future of a stream to a stream +* impl Debug for SendError +* Add stream::once for a one element stream +* Accept IntoIterator in stream::iter +* Add `Stream::catch_unwind` + +# 0.1.1 - 2016-09-09 + +Initial release! |