Skip to content

Release v0.9.0

Compare
Choose a tag to compare
@mintlu8 mintlu8 released this 12 Apr 12:14
· 72 commits to main since this release

What's New

  • Replaced futures_executor with async_executor

This is the same executor as bevy_tasks, which would fit nicely in the bevy ecosystem. The AsyncExecutor can now be cloned to spawn futures. Additionally, the dependency on futures has been minimized to not include the macros.

  • Id for AsyncSystem

You can now add an id to an AsyncSystem to allow targeted removal from the AsyncSystems component.

  • The AsyncAccess trait.

Methods like get, set, watch etc are now provided by the AsyncAccess trait. This makes access methods in this crate more consistent. get for example will never wait for something to be loaded. get_on_load can now be used instead to wait for an item to be loaded before accessing it.

  • AsyncQuerySingle

Added a specialized accessor for the single() query.

  • Stream support

Signal is now a Stream, API regarding States and Event are now stream based.

  • Reactors

Add systems react_to_* to react to changes in the world.

  • react_to_state allows you to react to state change asynchronously
  • react_to_event allows you to subscribe to events asynchronously

Breaking Changes

  • get, cloned on AsyncAsset no longer waits for the asset to be loaded, use the *_on_load methods instead.

  • The old AsyncEvent is scrapped and replaced with EventStream.

  • Renames

    • extension is moved to access::deref
    • picking is moved to ext::picking