- introducing ancestors queries to query for parents of an entity, the parents of parents, and so on:
- removed the automatically generated events:
Ecspanse.Event.{ComponentCreated, ComponentUpdated, ComponentDeleted, ResourceCreated, ResourceUpdated, ResourceDeleted}
. Use custom emitted events or short-lived components instead.
- improved performance for tagged components. The system loop now runs faster when dealing with tagged components.
- fixes a bug where events could be scheduled after they were batched for the current frame, and before the current events are cleared. Causing some events to be lost. Thanks to @andzdroid for identifying and documenting the issue.
- fixes a bug where temporary timers would crash. Thanks to @holykol for finding and fixing the issue.
- imports
Ecspanse.Query
and Ecspanse.Command
in all systems, so all the queries and commands are available without needing the respective module prefix. - imports
Ecspanse
in the setup module that use Ecspanse
so the system scheduling functions are available without needing the module prefix.
- batch all events only by
batch_key
to avoid race conditions for different events processed by the same system.
use Ecspanse.Component.Timer
and use Ecspanse.Event.Timer
are now deprecated.
Use use Ecspanse.Template.Component.Timer
and use Ecspanse.Template.Event.Timer
instead.
- removes unneeded dependency
plug_crypto
- upgrades dependencies:
credo
, ex_doc
, jason
- adds the missing project
:package