Changelog History
Page 3
-
v0.15.1 Changes
🐛 Bug fixes
- Event handler
child_spec/1
must include config options defined by use macro.
- Event handler
-
v0.15.0 Changes
✨ Enhancements
- 🖨 Process manager command dispatch error handling (#93).
- Event handlers may define an
init/0
callback function to start any related processes. It must return:ok
, otherwise the handler process will be stopped. - Add
include_execution_result
option to command dispatch (#96). - ➕ Add
Commanded.Aggregate.Multi
(#98) as a way to return multiple events from a command dispatch that require aggregate state to be updated after each event. - Correlation and causation ids (#105).
- 🎉 Initial support for running on a cluster of nodes (#80).
🐛 Bug fixes
- ➕ Adding a prefix to the aggregate in the router breaks the strong consistency of command dispatch (#101).
⬆️ Upgrading
⬆️ Please ensure you upgrade the following event store dependencies.
Using the Elixir EventStore:
Using Greg's Event Store:
commanded_extreme_adapter
to v0.4.0
-
v0.14.0 Changes
✨ Enhancements
- Dispatch command with
:eventual
or:strong
consistency guarantee (#82). - ➕ Additional stream prefix per aggregate (#77).
- 📇 Include custom metadata during command dispatch (#61).
- Validate command dispatch registration in router (59).
⬆️ Upgrading
⬆️ Please ensure you upgrade the following event store dependencies.
Using the Elixir EventStore:
Using Greg's Event Store:
commanded_extreme_adapter
to v0.3.0
- Dispatch command with
-
v0.13.0 Changes
✨ Enhancements
- Command dispatch optionally returns aggregate version, using
include_aggregate_version: true
during dispatch.
- Command dispatch optionally returns aggregate version, using
-
v0.12.0 Changes
✨ Enhancements
Commanded.Event.Handler
andCommanded.ProcessManagers.ProcessManager
macros to simplify defining, and starting, event handlers and process managers. Note the previous approach to defining and starting may still be used, so this is not a breaking change.
-
v0.10.0 Changes
✨ Enhancements
- Extract event store integration to a behaviour (
Commanded.EventStore
). This defines the contract to be implemented by an event store adapter. It allows additional event store databases to be used with Commanded.
By default, a
GenServer
in-memory event store adapter is used. This should only be used for testing as there is no persistence.The existing PostgreSQL-based eventstore integration has been extracted as a separate package (commanded_eventstore_adapter). There is also a new adapter for Greg Young's Event Store using the Extreme library (commanded_extreme_adapter).
You must install the required event store adapter package and update your environment configuration to specify the
:event_store_adapter
module. See the README for details.
- Extract event store integration to a behaviour (
-
v0.9.0 Changes
✨ Enhancements
- Stream events from event store when rebuilding aggregate state.
-
v0.8.5 Changes
✨ Enhancements
- ⬆️ Upgrade to Elixir 1.4 and remove compiler warnings.