Alice Ryhl
7bcd2d343d
taskdump: remove crate disambiguators from output ( #8288 )
2026-07-16 12:17:13 +00:00
Alice Ryhl
d87569164f
chore: prepare Tokio v1.52.3 ( #8130 )
tokio-1.52.3
2026-05-08 14:52:32 +02:00
Alice Ryhl
e1aebb031c
Merge 'tokio-1.51.3' into 'tokio-1.52.x' ( #8129 )
2026-05-08 09:30:59 +00:00
Alice Ryhl
fd63094ee0
chore: prepare Tokio v1.51.3 ( #8127 )
tokio-1.51.3
2026-05-08 10:45:32 +02:00
Alice Ryhl
8c600d0fd2
Merge 'tokio-1.47.5' into 'tokio-1.51.x' ( #8123 )
2026-05-07 13:59:06 +02:00
Alice Ryhl
11bfc1345b
chore: prepare Tokio v1.47.5 ( #8122 )
tokio-1.47.5
2026-05-07 13:55:35 +02:00
Alice Ryhl
f085b6211b
sync: notify receivers in mpsc OwnedPermit::release() method ( #8075 )
2026-05-07 09:32:14 +02:00
Alice Ryhl
30d25ccb8b
sync: require that an RwLock has max_readers != 0 ( #8076 )
2026-05-07 09:31:12 +02:00
Alice Ryhl
9fccf5339d
sync: return Empty from try_recv() when mpsc is closed with outstanding permits ( #8074 )
2026-05-07 09:30:50 +02:00
Alice Ryhl
ebf61b45b5
sync: fix underflow in mpsc channel len() ( #8062 )
2026-05-07 09:29:33 +02:00
Alice Ryhl
4abe9d732e
chore: prepare Tokio v1.52.2 ( #8115 )
tokio-1.52.2
2026-05-04 14:39:25 +02:00
Alice Ryhl
f82bcf3f45
Merge 'tokio-1.51.2' into 'tokio-1.52.x' ( #8114 )
2026-05-04 12:16:52 +02:00
Alice Ryhl
7db9bc41f1
test: revert "remove churn() task from lifo_stealable" ( #8114 )
...
This reverts commit 6c03e03898 .
2026-05-04 12:15:37 +02:00
Alice Ryhl
64834ec701
chore: prepare Tokio v1.51.2 ( #8113 )
tokio-1.51.2
2026-05-04 12:11:07 +02:00
Alice Ryhl
967f5715a7
runtime: revert "steal tasks from the LIFO slot" ( #8100 )
...
This reverts commit eeb55c733b .
2026-05-04 10:08:30 +02:00
Alice Ryhl
9271e3ed05
Merge tokio-1.51.x (for #8101 ) into tokio-1.52.x ( #8106 )
2026-05-02 15:13:06 +02:00
Alice Ryhl
cd1823f43e
Revert "Pin stable to 1.94 for tokio-1.51.x" ( #8106 )
...
As we are merging tokio-1.51.x into tokio-1.52.x and then master, we
should not include this change.
This reverts commit bde3f20b0f .
2026-05-02 15:12:29 +02:00
Alice Ryhl
a97cf12ed9
Merge tokio-1.47.x (commit 670a907c55) into tokio-1.51.x ( #8105 )
2026-05-02 13:52:07 +02:00
Alice Ryhl
bde3f20b0f
Pin stable to 1.94 for tokio-1.51.x ( #8105 )
2026-05-02 13:51:31 +02:00
Alice Ryhl and Mattia Pitossi
670a907c55
ci: fix CI on tokio-1.47.x ( #8101 )
...
Co-authored-by: Mattia Pitossi <[email protected] >
2026-05-02 13:33:40 +02:00
Mawer
d3565a2923
fs: rename Windows symlink dir test ( #8098 )
2026-04-30 10:47:45 +02:00
Alice Ryhl
8f81e0814b
time: avoid stack overflow in runtime constructor ( #8093 )
2026-04-29 05:26:57 +00:00
stormshield-fabs
47cc31590f
tokio-stream: implement FusedStream for Fuse ( #8090 )
2026-04-28 17:33:54 +02:00
Alex Gaynor
dc0f728162
blocking: introduce a regression test for #8056 ( #8068 )
2026-04-28 12:47:49 +02:00
Ralf Jung
89713ad1ec
miri tests: fstat is supported now ( #8088 )
2026-04-27 15:23:40 +03:00
Eliza Weisman
6c03e03898
test: remove churn() task from lifo_stealable ( #8070 )
...
Currently, the `rt_threaded::lifo_stealable` test I added in #7431
spawns an additional task which sleeps on a 4ms timer in a loop. This
ensures that no worker remains permanently parked. This was added
because it was necessary to stop the LIFO slot deadlock from occurring
prior to changes in the logic for determining whether to notify another
worker, which is what @Darksonn was referring to in [this comment][1].
Removing the `churn()` test makes the test actually validate that
another worker is notified to steal the LIFO task, and that the changes
from #7431 will *always* prevent a LIFO slot deadlock, regardless of the
behavior of other tasks on the runtime. See also [this comment][2] for
further discussion.
[1]: https://github.com/tokio-rs/tokio/pull/7431#discussion_r2184724657
[2]: https://github.com/tokio-rs/tokio/pull/8069#issuecomment-4274244723
2026-04-20 21:03:42 +02:00
Alice Ryhl
16bc4e2e28
time: add #[track_caller] and panic docs to timeout_at() ( #8077 )
2026-04-20 20:22:36 +02:00
Barry and Mattia Pitossi
1afb391350
net: document pipe try_read*/try_write* readiness behavior ( #8032 )
...
Add a Notes section to all five try_* methods on pipe::Sender and
pipe::Receiver explaining that the runtime's I/O driver only delivers
readiness events after control is yielded back to it, so calling
try_read/try_write before any .await returns WouldBlock even when the
operation could otherwise succeed.
This is the same readiness model used by every other Tokio I/O type;
the pipe docs simply did not previously call it out. Refs #7625 .
---------
Co-authored-by: Mattia Pitossi <[email protected] >
2026-04-19 19:52:41 +02:00
Mattia Pitossi
b010b5ddaf
test taskdump docs ( #8064 )
2026-04-17 23:32:22 +03:00
Eliza Weisman
905c146aed
chore: prepare to release v1.52.1 ( #8059 )
...
# 1.52.1 (April 16th, 2026)
## Fixed
- runtime: revert [#7757 ] to fix [a regression][#8056 ] that causes
`spawn_blocking` to hang ([#8057 ])
[#7757 ]: https://github.com/tokio-rs/tokio/pull/7757
[#8056 ]: https://github.com/tokio-rs/tokio/pull/8056
[#8057 ]: https://github.com/tokio-rs/tokio/pull/8057
tokio-1.52.1
2026-04-16 21:28:05 +00:00
Eliza Weisman
56aaa43e91
rt: revert #7757 to fix regression in spawn_blocking ( #8057 )
...
This reverts commit 1604bc3351 .
Unfortunately, this commit introduced a regression that causes programs
using `spawn_blocking` to hang (see #8056 ). To fix the regression, we
need to undo this change and publish a v1.52.1 release as soon as
possible.
In the future, we may wish to bring back a sharded queue for
`spawn_blocking` tasks, either based on the implementation added in
#7757 or a new one. However, since this is a substantial change to the
runtime internals, I think such a change should probably be done as an
unstable, opt-in `tokio::runtime::Builder` setting initially, so that we
don't regress existing users. I had hoped we could do this now, but
unfortunately, the sharded queue implementation from #7757 is kind of
tightly coupled with the rest of the `spawn_blocking` machinery and
cannot be easily swapped out --- and the hang still occurs with
`NUM_SHARDS` set to 1, so there isn't an easy way to turn it on and off.
Therefore, in the interest of getting a fix out ASAP, this is just a
simple revert.
Fixes #8056
2026-04-16 20:57:22 +00:00
Eliza Weisman
57ff47ab58
ci: update trybuild to expect output from rustc 1.95.0 ( #8058 )
2026-04-16 20:32:53 +00:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
812de3e134
ci: bump taiki-e/cache-cargo-install-action from 1 to 3 ( #8053 )
...
Bumps [taiki-e/cache-cargo-install-action](https://github.com/taiki-e/cache-cargo-install-action ) from 1 to 3.
- [Release notes](https://github.com/taiki-e/cache-cargo-install-action/releases )
- [Changelog](https://github.com/taiki-e/cache-cargo-install-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/cache-cargo-install-action/compare/v1...v3 )
---
updated-dependencies:
- dependency-name: taiki-e/cache-cargo-install-action
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-16 09:30:55 +02:00
Martin Grigorov
ba82e73c7b
ci: use Dependabot to keep github actions up to date ( #8052 )
2026-04-16 08:51:22 +02:00
Mattia Pitossi
2e85f9ddf8
ci: replace cirrus-ci with freebsd-vm ( #8041 )
2026-04-16 08:40:04 +02:00
Alice Ryhl
a7e1cd8ff8
ci: update GitHub Actions workflows to use latest tool versions ( #8047 )
2026-04-15 16:57:43 +00:00
Eliza Weisman
5f7be0ac42
chore: perpare 1.52.0 ( #8045 )
...
# 1.52.0 (April 14th, 2026)
## Added
- io: `AioSource::register_borrowed` for I/O safety support ([#7992 ])
- net: add `try_io` function to `unix::pipe` sender and receiver types
([#8030 ])
## Added (unstable)
- runtime: `Builder::enable_eager_driver_handoff` setting enable eager
hand off of the I/O and time drivers before polling tasks ([#8010 ])
- taskdump: add `trace_with()` for customized task dumps ([#8025 ])
- taskdump: allow `impl FnMut()` in `trace_with` instead of just `fn()`
([#8040 ])
- fs: support `io_uring` in `AsyncRead` for `File` ([#7907 ])
## Changed
- runtime: improve `spawn_blocking` scalability with sharded queue
([#7757 ])
- runtime: use `compare_exchange_weak()` in worker queue ([#8028 ])
## Fixed
- runtime: overflow second half of tasks when local queue is filled
instead of first half ([#8029 ])
## Documented
- docs: fix typo in `oneshot::Sender::send` docs ([#8026 ])
- docs: hide #[tokio::main] attribute in the docs of `sync::watch`
([#8035 ])
- net: add docs on `ConnectionRefused` errors with UDP sockets ([#7870 ])
[#7757 ]: https://github.com/tokio-rs/tokio/pull/7757
[#7870 ]: https://github.com/tokio-rs/tokio/pull/7870
[#7907 ]: https://github.com/tokio-rs/tokio/pull/7907
[#7992 ]: https://github.com/tokio-rs/tokio/pull/7992
[#8010 ]: https://github.com/tokio-rs/tokio/pull/8010
[#8025 ]: https://github.com/tokio-rs/tokio/pull/8025
[#8026 ]: https://github.com/tokio-rs/tokio/pull/8026
[#8028 ]: https://github.com/tokio-rs/tokio/pull/8028
[#8029 ]: https://github.com/tokio-rs/tokio/pull/8029
[#8030 ]: https://github.com/tokio-rs/tokio/pull/8030
[#8035 ]: https://github.com/tokio-rs/tokio/pull/8035
[#8040 ]: https://github.com/tokio-rs/tokio/pull/8040
tokio-1.52.0
2026-04-14 11:56:01 -07:00
Alice Ryhl
36d12d2686
taskdump: allow impl FnMut() in taskdumps instead of just fn() ( #8040 )
2026-04-14 19:18:56 +02:00
Carter Green
f943312865
fs: support io-uring in AsyncRead for File ( #7907 )
2026-04-13 20:36:23 +02:00
Timo
5db10f538b
net: add 'try_io' function to 'unix::pipe' sender and receiver types ( #8030 )
2026-04-12 15:06:06 +02:00
Russell Cohen
bbdba7101d
taskdump: add trace_with for customized task dumps ( #8025 )
...
provided trace function.
2026-04-12 11:13:24 +02:00
xtqqczze
7cfce54386
ci: update FreeBSD image to 14.4 ( #8038 )
2026-04-11 22:20:55 +02:00
Alice Ryhl
81370e6202
net: add docs on ConnectionRefused errors with udp sockets ( #7870 )
2026-04-11 20:06:08 +00:00
Alice Ryhl
203af02126
runtime: overflow second half of tasks when local queue is filled instead of first half ( #8029 )
2026-04-11 12:14:26 +02:00
Joel Dice
de230926dc
net: temporarily disable tcp_stream try_read_buf test on WASI ( #8036 )
...
This test is flaky on WASI until
https://github.com/bytecodealliance/wasmtime/issues/13040 has been addressed.
See https://github.com/tokio-rs/tokio/issues/8034 for additional details.
2026-04-11 12:06:46 +02:00
Abhinav
432ec3f2b2
sync: hide #[tokio::main] attribute in the docs of sync::watch ( #8035 )
2026-04-10 13:15:37 -07:00
Alex Gaynor
1604bc3351
rt: improve spawn_blocking scalability with sharded queue ( #7757 )
2026-04-10 16:06:19 +02:00
Alice Ryhl
4c7d8b2a14
runtime: use compare_exchange_weak() in worker queue ( #8028 )
2026-04-10 09:05:18 +02:00
Alan Somers
d7db722bb4
io: AioSource now employs IO Safety ( #7992 )
2026-04-08 22:59:32 +02:00
Eliza Weisman
fccc28f1d0
runtime: optional eager I/O driver/timer handoff when polling tasks ( #8010 )
2026-04-08 22:46:27 +02:00