All Versions
10
Latest Version
Avg Release Cycle
134 days
Latest Release
1010 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;