From f93c39bfee69c18cf226102b9c01d0a7f829e76a Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Wed, 14 Oct 2020 10:53:48 -0700 Subject: [PATCH 1/6] chore: prepare for v0.3.0 release --- tokio/CHANGELOG.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++ tokio/Cargo.toml | 1 - 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/tokio/CHANGELOG.md b/tokio/CHANGELOG.md index 9d9b612d1f8..b3b3e8443c6 100644 --- a/tokio/CHANGELOG.md +++ b/tokio/CHANGELOG.md @@ -1,3 +1,69 @@ +# 0.3.0 (October 15, 2020) + +This represents a 1.0 beta release. APIs are polished and future-proofed. APIs +not included for 1.0 stabilization have been removed. + +Biggest changes are: + +- I/O driver internal rewrite. The windows implementation includes significant + changes. +- Runtime API is polished, especially with how it interacts with feature flag + combinations. +- Feature flags are simplified + - `rt-core` and `rt-util` are combined to `rt` + - `rt-threaded` is renamed to `rt-multi-thread` to match builder API + - `tcp`, `udp`, `uds`, `dns` are combied to `net`. + - `parking_lot` is included with `full` + +### Changes +- meta: Minimum supported Rust version is now 1.47. +- io: `AsyncRead` trait now takes `ReadBuf` in order to safely handle reading + into uninitialized memory (#2758). +- io: Internal I/O driver storage is now able to compact (#2757). +- rt: `Runtime::block_on` now takes `&self` (#2782). +- sync: `watch` reworked to decouple receiving a change notification from + receiving the value (#2814, #2806). +- sync: `Notify::notify` is renamed to `notify_one` (#2822). +- process: `Child::kill` is now an `async fn` that cleans zombies (#2823). +- sync: use `const fn` constructors as possible (#2833, 2790) +- signal: reduce cross-thread notification (#2835). +- net: tcp,udp,uds types support operation swith `&self` (#2828, #2919, #2934). +- sync: blocking `mpsc` channel supports `send` with `&self` (#2861). +- time: rename `delay_for` and `delay_until` to `sleep_for` and `sleep_until` (#2826). +- io: upgrade to `mio` 0.7 (#2893). +- io: `AsyncSeek` trait is tweaked (#2885). +- fs: `File` operations take `&self` (#2930). +- rt: runtime API, and `#[tokio::main]` macro polish (#2876) +- rt: `Runtime::enter` uses an RAII guard instead of a closure (#2954). + +### Added +- sync: `map` function to lock guards (#2445). +- sync: `blocking_recv` and `blocking_send` fns to `mpsc` for use outside of Tokio (#2685). +- rt: `Builder::thread_name_fn` for configuring thread names (#1921). +- fs: impl `FromRawFd` and `FromRawHandle` for `File` (#2792). +- process: `Child::wait` and `Child::try_wait` (#2796). +- rt: support configuring thread keep-alive duration (#2809). +- rt: `task::JoinHandle::abort` forcibly cancels a spawned task (#2474). +- sync: `RwLock` write guard to read guard downgrading (#2733). +- net: add `poll_*` functions that take `&self` to all net types (#2845) +- sync: `get_mut()` for `Mutex`, `RwLock` (#2856). +- sync: `mpsc::Sender::closed()` waits for `Receiver` half to close (#2840). +- sync: `mpsc::Sender::is_closed()` returns true if `Receiver` half is closed (#2726). +- stream: `iter` and `iter_mut` to `StreamMap` (#2890). +- net: implement `AsRawSocket` on windows (#2911). +- net: `TcpSocket` creates a socket without binding or listening (#2920). + +### Removed +- io: vectored ops are removed from `AsyncRead`, `AsyncWrite` traits (#2882). +- io: `mio` is removed from the public API. `PolLEvented` and` Registration` are + removed (#2893). +- io: remove `bytes` from public API. `Buf` and `BufMut` implementation are + removed (#2908). +- time: `DelayQueue` is moved to `tokio-util` (#2897). + +### Fixed +- io: `stdout` and `stderr` buffering on windows (#2734). + # 0.2.22 (July 21, 2020) ### Fixes diff --git a/tokio/Cargo.toml b/tokio/Cargo.toml index 53aa41e1660..e19b8c916aa 100644 --- a/tokio/Cargo.toml +++ b/tokio/Cargo.toml @@ -22,7 +22,6 @@ backed applications. """ categories = ["asynchronous", "network-programming"] keywords = ["io", "async", "non-blocking", "futures"] -publish = false [features] # Include nothing by default From e83b2b55bd917f7e86e628764ad76690d573ecea Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Wed, 14 Oct 2020 13:42:54 -0700 Subject: [PATCH 2/6] Update tokio/CHANGELOG.md Co-authored-by: Alice Ryhl --- tokio/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tokio/CHANGELOG.md b/tokio/CHANGELOG.md index b3b3e8443c6..20c95f3230b 100644 --- a/tokio/CHANGELOG.md +++ b/tokio/CHANGELOG.md @@ -27,7 +27,7 @@ Biggest changes are: - process: `Child::kill` is now an `async fn` that cleans zombies (#2823). - sync: use `const fn` constructors as possible (#2833, 2790) - signal: reduce cross-thread notification (#2835). -- net: tcp,udp,uds types support operation swith `&self` (#2828, #2919, #2934). +- net: tcp,udp,uds types support operations with `&self` (#2828, #2919, #2934). - sync: blocking `mpsc` channel supports `send` with `&self` (#2861). - time: rename `delay_for` and `delay_until` to `sleep_for` and `sleep_until` (#2826). - io: upgrade to `mio` 0.7 (#2893). From 918c3a9d349108cebb34b99c245e8d336e378e24 Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Wed, 14 Oct 2020 13:43:03 -0700 Subject: [PATCH 3/6] Update tokio/CHANGELOG.md Co-authored-by: Paolo Barbolini --- tokio/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tokio/CHANGELOG.md b/tokio/CHANGELOG.md index 20c95f3230b..29a56a006a1 100644 --- a/tokio/CHANGELOG.md +++ b/tokio/CHANGELOG.md @@ -55,7 +55,7 @@ Biggest changes are: ### Removed - io: vectored ops are removed from `AsyncRead`, `AsyncWrite` traits (#2882). -- io: `mio` is removed from the public API. `PolLEvented` and` Registration` are +- io: `mio` is removed from the public API. `PollEvented` and` Registration` are removed (#2893). - io: remove `bytes` from public API. `Buf` and `BufMut` implementation are removed (#2908). From 239ba8ba59523d93fc8d8d69021abea33dc24cbf Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Wed, 14 Oct 2020 13:44:24 -0700 Subject: [PATCH 4/6] Update tokio/CHANGELOG.md Co-authored-by: Taiki Endo --- tokio/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tokio/CHANGELOG.md b/tokio/CHANGELOG.md index 29a56a006a1..86562cc48d3 100644 --- a/tokio/CHANGELOG.md +++ b/tokio/CHANGELOG.md @@ -25,7 +25,7 @@ Biggest changes are: receiving the value (#2814, #2806). - sync: `Notify::notify` is renamed to `notify_one` (#2822). - process: `Child::kill` is now an `async fn` that cleans zombies (#2823). -- sync: use `const fn` constructors as possible (#2833, 2790) +- sync: use `const fn` constructors as possible (#2833, #2790) - signal: reduce cross-thread notification (#2835). - net: tcp,udp,uds types support operations with `&self` (#2828, #2919, #2934). - sync: blocking `mpsc` channel supports `send` with `&self` (#2861). From 9e06174fc53fabbf3a468ec3c4f509d758c1c3e7 Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Wed, 14 Oct 2020 13:47:02 -0700 Subject: [PATCH 5/6] apply feedback --- tokio/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tokio/CHANGELOG.md b/tokio/CHANGELOG.md index 86562cc48d3..e5b8f57ece0 100644 --- a/tokio/CHANGELOG.md +++ b/tokio/CHANGELOG.md @@ -16,7 +16,7 @@ Biggest changes are: - `parking_lot` is included with `full` ### Changes -- meta: Minimum supported Rust version is now 1.47. +- meta: Minimum supported Rust version is now 1.45. - io: `AsyncRead` trait now takes `ReadBuf` in order to safely handle reading into uninitialized memory (#2758). - io: Internal I/O driver storage is now able to compact (#2757). @@ -29,7 +29,7 @@ Biggest changes are: - signal: reduce cross-thread notification (#2835). - net: tcp,udp,uds types support operations with `&self` (#2828, #2919, #2934). - sync: blocking `mpsc` channel supports `send` with `&self` (#2861). -- time: rename `delay_for` and `delay_until` to `sleep_for` and `sleep_until` (#2826). +- time: rename `delay_for` and `delay_until` to `sleep` and `sleep_until` (#2826). - io: upgrade to `mio` 0.7 (#2893). - io: `AsyncSeek` trait is tweaked (#2885). - fs: `File` operations take `&self` (#2930). From a54ba9f78c687977250b3d890c366a621723f1bc Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Wed, 14 Oct 2020 14:05:17 -0700 Subject: [PATCH 6/6] rest of the crates --- tokio-macros/CHANGELOG.md | 8 ++++++++ tokio-test/CHANGELOG.md | 4 ++++ tokio-util/CHANGELOG.md | 9 +++++++++ 3 files changed, 21 insertions(+) diff --git a/tokio-macros/CHANGELOG.md b/tokio-macros/CHANGELOG.md index 91844627ca3..76afcbe7d53 100644 --- a/tokio-macros/CHANGELOG.md +++ b/tokio-macros/CHANGELOG.md @@ -1,3 +1,11 @@ +# 0.3.0 (October 15, 2020) + +- Track `tokio` 0.3 release. + +### Changed +- options are renamed to track `tokio` runtime builder fn names. +- `#[tokio::main]` macro requires `rt-multi-thread` when no `flavor` is specified. + # 0.2.5 (February 27, 2019) ### Fixed diff --git a/tokio-test/CHANGELOG.md b/tokio-test/CHANGELOG.md index 50371c44ba2..406d223e2dd 100644 --- a/tokio-test/CHANGELOG.md +++ b/tokio-test/CHANGELOG.md @@ -1,3 +1,7 @@ +# 0.3.0 (October 15, 2020) + +- Track `tokio` 0.3 release. + # 0.2.1 (April 17, 2020) - Add `Future` and `Stream` implementations for `task::Spawn`. diff --git a/tokio-util/CHANGELOG.md b/tokio-util/CHANGELOG.md index eaafe263e07..e9aa0bac747 100644 --- a/tokio-util/CHANGELOG.md +++ b/tokio-util/CHANGELOG.md @@ -1,3 +1,12 @@ +# 0.4.0 (October 15, 2020) + +### Added +- sync: `CancellationToken` for coordinating task cancellation (#2747). +- rt: `TokioContext` sets the Tokio runtime for the duration of a future (#2791) +- io: `StreamReader`/`ReaderStream` map between `AsyncRead` values and `Stream` + of bytes (#2788). +- time: `DelayQueue` to manage many delays (#2897). + # 0.3.1 (March 18, 2020) ### Fixed