async-executor/CHANGELOG.md

2.7 KiB

Version 1.11.0

  • 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)

Version 1.10.0

  • Add a function spawn_batch that allows users to spawn multiple tasks while only locking the executor once. (#92)

Version 1.9.1

  • Remove the thread-local optimization due to the bugs that it introduces. (#106)

Version 1.9.0

  • 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)

Version 1.8.0

  • 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(). (#78)

Version 1.7.2

  • Fix compilation under WebAssembly targets (#77).

Version 1.7.1

  • Fix compilation under WebAssembly targets (#75).
  • Add a disclaimer indicating that this is a reference executor (#74).

Version 1.7.0

  • Bump async-lock and futures-lite to their latest versions. (#70)

Version 1.6.0

  • Remove the thread-local queue optimization, as it caused a number of bugs in production use cases. (#61)

Version 1.5.4

  • Fix a panic that could happen when two concurrent run() calls are made and the thread local task slot is left as None. (#55)

Version 1.5.3

  • Fix an accidental breaking change in v1.5.2, where ex.run() was no longer Send. (#50)
  • Remove the unused memchr dependency. (#51)

Version 1.5.2

  • Add thread-local task queue optimizations, allowing new tasks to avoid using the global queue. (#37)
  • Update fastrand to v2. (#45)

Version 1.5.1

  • Implement a better form of debug output for Executor and LocalExecutor. (#33)

Version 1.5.0

  • Remove the dependency on the once_cell crate to restore the MSRV. (#29)
  • Update concurrent-queue to v2.

Version 1.4.1

  • Remove dependency on deprecated vec-arena. (#23)

Version 1.4.0

  • Add Executor::is_empty() and LocalExecutor::is_empty().

Version 1.3.0

  • Parametrize executors over a lifetime to allow spawning non-static futures.

Version 1.2.0

  • Update async-task to v4.

Version 1.1.1

  • Replace AtomicU64 with AtomicUsize.

Version 1.1.0

  • Use atomics to make Executor::run() and Executor::tick() futures Send + Sync.

Version 1.0.0

  • Stabilize.

Version 0.2.1

  • Add try_tick() and tick() methods.

Version 0.2.0

  • Redesign the whole API.

Version 0.1.2

  • Add the Spawner API.

Version 0.1.1

  • Initial version