All Versions
10
Latest Version
Avg Release Cycle
134 days
Latest Release
762 days ago
Changelog History
Changelog History
-
v0.6.2 Changes
October 03, 2022๐ Changed
Library
- โฌ๏ธ Upgrade Elixir to 1.12 and Erlang to 23;
- โก๏ธ Update package dependencies;
-
v0.6.1 Changes
February 23, 2021๐ Fixed
Library
- ๐ Fix bug in the task
mix incident.postgres.init
that would generate migration timestamps that were conflicting with each other;
๐ Changed
Library
- โก๏ธ Update readme with missing syntax highlighting;
- โก๏ธ Update Github issue templates;
- โก๏ธ Update package dependencies;
- ๐ Fix bug in the task
-
v0.6.0 Changes
December 09, 2020โ Added
Library
- ๐ Handle race conditions and concurrent scenarios during command execution;
- โ Add
EventStoreSupervisor
to superviseEventStore
adapters andLockManager
; - โ Add
AggregateLock
schema to hold lock data;
Bank Example Application
- โ Add integration tests that exercise concurrency and race conditions;
๐ Changed
Library
- ๐ Change how
Incident
is configured and added in the application supervision tree; - โก๏ธ Update
mix incident.postgres.init
to include migration foraggregate_locks
table; - ๐ Update documentation regarding library configuration and usage;
- โก๏ธ Update package dependencies;
Bank Example Application
- ๐ Update documentation regarding library configuration and usage;
-
v0.5.1 Changes
November 03, 2020๐ Changed
Library
- โ Add
id
for the in memory event data structure; - Sort events by
id
in the Event StorePostgres
andInMemory
adapters to ensure proper event ordering; - โ Removed
updated_at
column fromevents
table in themix incident.postgres.init
task; - ๐ Update documentation;
- โก๏ธ Update package dependencies;
Bank Example Application
- โก๏ธ Update
events
migration to reflect changes in themix incident.postgres.init
task;
- โ Add
-
v0.5.0 Changes
October 15, 2020โ Added
Library
- โ Add
get/2
for Projection StoreInMemory
andPostgres
adapters to fetch a projection for a specific aggregate;
Bank Example Application
- โ Add
Transfer
,TransferCommandhandler
,TransferState
andTransferEventHandler
to demonstrate an example of aggregate root use-case; - โ Add examples of events that can generate specific commands in
TransferEventHandler
to demonstrate sequence of Event -> Command -> Event use-cases;
๐ Changed
Library
- The
CommandHandler
now returns{:ok, persisted_event}
instead of just:ok
, allowing event ๐ handlers to compose a new command and call theCommandHandler
based on the previous event. This allows a series of Event -> Command -> Event to be built; - Set Elixir minimum version to 1.8;
- โก๏ธ Update package dependencies;
Bank Example Application
Bank.EventHandler
was renamed toBank.BankAccountEventHandler
to make it clear that this ๐ handler is only for theBankAccount
aggregate events as now we have more than one aggregate;- Set Elixir minimum version to 1.8;
- โ Add
-
v0.4.1 Changes
June 18, 2020๐ Changed
Library
- โก๏ธ Update package dependencies;
-
v0.4.0 Changes
October 06, 2019โ Added
Library
- โ Add
mix incident.postgres.init
mix task to set upPostgres
as Event Store storage;
Bank Example Application
- โ Add
WithdrawMoney
command,MoneyWithdrawn
event, and business logic;
๐ Changed
Library
- โก๏ธ Update package dependencies;
- โ Add
-
v0.3.0 Changes
September 14, 2019โ Added
Library
- โ Add
Postgres
adapter for events; - โ Add
Postgres
adapter for projections; - Set up continuous integration with Circle CI;
Bank Example Application
- โ Add integration tests for
InMemoryAdapter
; - โ Add integration tests for
PostgresAdapter
;
๐ Changed
Library
- Specify separate event data structures for
InMemoryAdapter
andPostgresAdapter
;
Bank Example Application
- 0๏ธโฃ Use
PostgresAdapter
as default; - โก๏ธ Update readme file;
- โ Add
-
v0.2.0 Changes
July 16, 2019โ Added
Library
- Define the
Incident.Command
behaviour to specify the command interface; - Define the
Incident.CommandHandler
macro for command handlers; - Define the
Incident.EventHandler
behaviour to specify the event handler interface; - ๐ Use
Ecto.Schema
event data structure; - ๐ Use
Ecto.Schema
for command data structure;
๐ Changed
Library
- ๐ Move event persistency from aggregates to command handlers;
- Validate commands in the command handlers using command implementation;
- Define the
-
v0.1.0 Changes
June 19, 2019Library
- ๐ Initial release with base functionality with In Memory adapters;
- ๐ Initial release for the bank example application;