Skip to content

Releases: loopystudios/bevy_async_task

v0.10.0

28 Nov 23:57

Choose a tag to compare

0.10.0 - 2025-11-28

  • This release supports Bevy 0.17.

Added

  • Added bevy_async_task::MAX_TIMEOUT
  • Added bevy_async_task::DEFAULT_TIMEOUT

Changed

  • Removed bevy_async_task::Duration. Use core::time::Duration instead.
  • The default timeout for timed tasks, was changed from u16::MAX millis (~65 seconds) to 60 seconds.
  • The maximum timeout allowed is now i32::MAX. This is now enforced with a panic.

Fixed

  • A time not implemented on this platform panic due to wasm-bindgen feature not being included for the futures-timer crate. You can remedy this yourself for older versions of bevy_async_task by including futures-timer = { version = "3.0.3", features = ["wasm-bindgen"] } in your Cargo.toml file.

v0.9.0

28 Nov 23:54

Choose a tag to compare

0.9.0 - 2025-10-09

  • This release supports Bevy 0.17.

Changed

  • Migrated to Bevy 0.17.

v0.8.1

04 Jun 12:53

Choose a tag to compare

0.8.1

Fixed

  • bevy_async_task no longer uses the entire bevy dependency, just the relevant crates directly (e.g. bevy_ecs).

Full Changelog: v0.8.0...v0.8.1

v0.8.0

04 Jun 12:52

Choose a tag to compare

0.8.0

Added

  • Exposed timeout, sleep, and pending utility functions.
  • Added AsyncTask::sleep

Full Changelog: v0.7.0...v0.8.0

v0.7.0

04 Jun 12:51

Choose a tag to compare

0.7.0

Changed

  • The TaskError enum has been replaced with a TimeoutError struct.

Fixed

  • A panic was fixed on WASM when the timeout exceeded numerical bounds.

Full Changelog: v0.6.0...v0.7.0

v0.6.0

28 Apr 14:10

Choose a tag to compare

0.6.0

Changed

  • Updated to Bevy 0.16.

Full Changelog: v0.5.0...v0.6.0

v0.5.0

10 Mar 04:08

Choose a tag to compare

0.5.0

Changed

  • Updated to rust 2024 edition.
  • Split AsyncTaskRunner into TimedTaskRunner and TaskRunner. The timed variant polls timeouts.
  • Split AsyncTaskPool into TimedTaskPool and TaskPool. The timed variant polls timeouts.
  • AsyncTask::build has been renamed to AsyncTask::split.

Full Changelog: v0.4.1...v0.5.0

v0.4.1

07 Feb 06:25

Choose a tag to compare

0.4.1

Fixed

  • There is no longer repetitive console warnings about polling tasks.

v0.4.0

02 Dec 17:04

Choose a tag to compare

0.4.0

Added

  • AsyncTask.with_timeout() has been added back.

Changed

  • poll() and iter_poll() now return a Result<T, TaskError>.
  • std::time::Duration has been replaced with web_time::Duration.
  • into_parts() has been replaced with build().

v0.3.0

01 Dec 21:55

Choose a tag to compare

0.3.0

Added

  • Many types now implement Debug.

Changed

  • Updated to bevy 0.15.
  • AsyncTaskStatus was replaced with std::task::Poll. If you wish to check if a task runner or pool is idle, you can still do so with <AsyncTaskRunner>.is_idle()/<AsyncTaskPool>.is_idle().
  • Replaced TimeoutError with a non-exhaustive TaskError for future proofing.

Removed

  • blocking_recv() functions were removed. You should now use bevy::tasks::block_on(fut).
  • AsyncTask.with_timeout() until further rework is done to return this functionality. Please use AsyncTask::new_with_duration(Dur, F) instead.

Fixed

  • Timeouts now work correctly on wasm32.
  • AsyncReceiver now uses an AtomicWaker to ensure the sender is never dropped before receiving.