Skip to content

Releases: iacobson/ecspanse

v0.10.1

14 Sep 12:40
6249eb3

Choose a tag to compare

Fixes

  • fixes tutorial example. Thanks to @Bastes for identifying and fixing the issue.
  • removes styler as it introduces some conflicts with the macros.
  • fixed warnings and type issues for the latest Elixir version.

v0.10.0

25 Sep 16:58
01eb86c

Choose a tag to compare

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 and use Ecspanse.Resource accept now the :export_filter option.
  • new guides section for save and load.

v0.9.0

01 Apr 13:15
997e08c

Choose a tag to compare

Breaking

  • removes Ecspanse.Resource.State in favor of Ecspanse.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 exists
  • Ecspanse.Command.add_and_fetch_component!/2 wrapper to return a component after creation
  • Ecspanse.Command.update_and_fetch_component!/2 wrapper to return a component after update

v0.8.1

22 Dec 20:15
2eb2f0e

Choose a tag to compare

Improvements

  • returns an explicit error message when trying to run queries or create events and the Ecspanse server is not running.
  • documentation improvements.

v0.8.0

14 Nov 20:54
c7ca065

Choose a tag to compare

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.

Breaking

  • the Projection.run?/2 callback has been removed. The functionality is now handled by the c: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 the t:Ecspanse.Projection.t/0.
  • the c:Ecspanse.Projection.get!/1 callback now returns a t:Ecspanse.Projection.t/0.

v0.7.3

13 Nov 20:50
012c51e

Choose a tag to compare

Improvements

  • implement the c:Ecspanse.Projection.run?/2 optional callback to run projections conditionally.

v0.7.2

05 Nov 19:45
868effd

Choose a tag to compare

Improvements

  • c:Ecspanse.Projection.on_change/3 is called on Projection server initialization.

v0.7.1

07 Oct 14:15
e023d7e

Choose a tag to compare

Improvements

  • Ecspanse.Command.clone_entity!/2 and Ecspanse.Command.deep_clone_entity!/2 now accept an :id option to set the id of the cloned entity.

v0.7.0

05 Oct 21:39
0729303

Choose a tag to compare

Breaking

  • Ecspanse.Projection.on_change/3 replaces the on_change/2callback 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.

v0.6.0

02 Oct 21:03
3816b35

Choose a tag to compare

Features

  • introduces Ecspanse.Projection to build state projections across entities and components.