- Fix docs.rs build. (#125)
- Relax the
Send
bound onLocalExecutor::spawn_many
. (#120) - Ensure all features are documented on
docs.rs
. (#122)
- Add static executors, which are an optimization over executors that are kept around forever. (#112)
- Re-export the
async_task::FallibleTask
primitive. (#113) - Support racy initialization of the executor state. This should allow the executor to be initialized on web targets without any issues. (#108)
- Add a function
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. (#106)
- Re-introduce the thread-local task push optimization to the executor. (#93)
- Bump
async-task
to v4.4.0. (#90) - Replace some unnecessary atomic operations with non-atomic operations. (#94)
- Use weaker atomic orderings for notifications. (#95)
- When spawning a future, avoid looking up the ID to assign to that future twice. (#96)
- When spawned tasks panic, the panic is caught and then surfaced in the spawned
Task
. Previously, the panic would be surfaced intick()
orrun()
. (#78)
- Fix compilation under WebAssembly targets (#77).
- Fix compilation under WebAssembly targets (#75).
- Add a disclaimer indicating that this is a reference executor (#74).
- Bump
async-lock
andfutures-lite
to their latest versions. (#70)
- Remove the thread-local queue optimization, as it caused a number of bugs in production use cases. (#61)
- Fix a panic that could happen when two concurrent
run()
calls are made and the thread local task slot is left asNone
. (#55)
- Fix an accidental breaking change in v1.5.2, where
ex.run()
was no longerSend
. (#50) - Remove the unused
memchr
dependency. (#51)
- Add thread-local task queue optimizations, allowing new tasks to avoid using the global queue. (#37)
- Update
fastrand
to v2. (#45)
- Implement a better form of debug output for Executor and LocalExecutor. (#33)
- Remove the dependency on the
once_cell
crate to restore the MSRV. (#29) - Update
concurrent-queue
to v2.
- Remove dependency on deprecated
vec-arena
. (#23)
- Add
Executor::is_empty()
andLocalExecutor::is_empty()
.
- Parametrize executors over a lifetime to allow spawning non-
static
futures.
- Update
async-task
to v4.
- Replace
AtomicU64
withAtomicUsize
.
- Use atomics to make
Executor::run()
andExecutor::tick()
futuresSend + Sync
.
- Stabilize.
- Add
try_tick()
andtick()
methods.
- Redesign the whole API.
- Add the
Spawner
API.
- Initial version