NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #612 most downloaded on crates.io
Async executor
Last release 7 months ago
15 Feb 2026
Release timing varies
gaps range from 8 days to 8 months
Nearly every release is documented
notes for 27 of 28 stable releases
4 versions withdrawn
withdrawn after publishing
7 years old
32 releases · first in 2019
Upstreaming parts of the Hermit no_std patchset:
Avoid places where the code had a possibility to block or panic.
One column per quarter.
Fix build failure with minimal-versions.
Fix docs.rs build.
Relax the Send bound on LocalExecutor::spawn_many .
Add static executors, which are an optimization over executors that are kept around forever.
Re-export the async_task::FallibleTask primitive.
Add a function spawn_batch that allows users to spawn multiple tasks while only locking the executor once.
spawn_batch that allows users to spawn multiple tasks while only locking the executor once. (#92)Remove the thread-local optimization due to the bugs that it introduces.
Re-introduce the thread-local task push optimization to the executor.
async-task to v4.4.0. (#90)When spawned tasks panic, the panic is caught and then surfaced in the spawned Task. Previously, the panic would be surfaced in tick() or run().
Task. Previously, the panic would be surfaced in tick() or run(). (#78)Fix compilation under WebAssembly targets (#77).
Fix compilation under WebAssembly targets (#75).
Bump async-lock and futures-lite to their latest versions.
async-lock and futures-lite to their latest versions. (#70)Remove the thread-local queue optimization, as it caused a number of bugs in production use cases.
Fix a panic that could happen when two concurrent run() calls are made and the thread local task slot is left as None.
run() calls are made and the thread local task slot is left as None. (#55)Fix an accidental breaking change in v1.5.2, where ex.run() was no longer Send.
ex.run() was no longer Send. (#50)memchr dependency. (#51)Add thread-local task queue optimizations, allowing new tasks to avoid using the global queue.
fastrand to v2. (#45)Implement a better form of debug output for Executor and LocalExecutor.
Remove the dependency on the once_cell crate to restore the MSRV.
once_cell crate to restore the MSRV. (#29)concurrent-queue to v2.Remove dependency on deprecated vec-arena.
vec-arena. (#23)Add Executor::is_empty() and LocalExecutor::is_empty().
Executor::is_empty() and LocalExecutor::is_empty().Parametrize executors over a lifetime to allow spawning non-static futures.
static futures.- Update async-task to v4.
async-task to v4.Replace AtomicU64 with AtomicUsize.
AtomicU64 with AtomicUsize.Use atomics to make Executor::run() and Executor::tick() futures Send + Sync.
Executor::run() and Executor::tick() futures Send + Sync.- Stabilize.
Add try_tick() and tick() methods.
try_tick() and tick() methods.- Redesign the whole API.
- Add the Spawner API.
Spawner API.- Initial version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →