Releases: iacobson/ecspanse
Releases · iacobson/ecspanse
v0.10.0
Features
- introduces
Ecspanse.Snapshot
to enable custom save and load functionalities.use Ecspanse
accepts now the:version
option to ensure backwards compatibility when restoring entities and resources.use Ecspanse.Component
anduse Ecspanse.Resource
accept now the:export_filter
option.
- new guides section for save and load.
v0.9.0
Breaking
- removes
Ecspanse.Resource.State
in favor ofEcspanse.State
functionality.
Features
- allows inserting resources at startup with
Ecspanse.insert_resource/2
- allows state init at startup with
Ecspanse.init_state/2
- introduces
Ecspanse.State
state functionalities. See the breaking changes for more details. - new library built-in
Ecspanse.Event.StateTransition
event - new library built-in
Ecspanse.Component.Name
component
Improvements
Ecspanse.Query.entity_exists?/1
to check if an entity still existsEcspanse.Command.add_and_fetch_component!/2
wrapper to return a component after creationEcspanse.Command.update_and_fetch_component!/2
wrapper to return a component after update
v0.8.1
v0.8.0
Improvements
- refactor the
Ecspanse.Projection
to include the state of the projection- the projection result is now wraped in a
Ecspanse.Projection{}
struct, together with the projection state. - the
c:Ecspanse.Projection.project/1
callback returns now the projection state as well as the projection result.
- the projection result is now wraped in a
Breaking
- the
Projection.run?/2
callback has been removed. The functionality is now handled by thec:Ecspanse.Projection.project/1
callback, by returning:halt
. - the
c:Ecspanse.Projection.project/1
callback should now return also the state of the projection. See the documentation for more details. - the
c:Ecspanse.Projection.on_change/3
callback takes as second and third argument thet:Ecspanse.Projection.t/0
. - the
c:Ecspanse.Projection.get!/1
callback now returns at:Ecspanse.Projection.t/0
.
v0.7.3
v0.7.2
v0.7.1
v0.7.0
Breaking
Ecspanse.Projection.on_change/3
replaces theon_change/2
callback and now takes both the new projection as well as the previous projection as arguments.
Improvements
- updating projections after all frame systems have run to return a consistent state.