All Versions
46
Latest Version
Avg Release Cycle
56 days
Latest Release
-

Changelog History
Page 3

  • v0.15.1 Changes

    🐛 Bug fixes

    • Event handler child_spec/1 must include config options defined by use macro.
  • 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:

    • 📦 eventstore to v0.13.0
    • commanded_eventstore_adapter to v0.3.0

    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:

    • 📦 eventstore to v0.11.0
    • commanded_eventstore_adapter to v0.2.0

    Using Greg's Event Store:

    • commanded_extreme_adapter to v0.3.0

  • v0.13.0 Changes

    ✨ Enhancements

    • Command dispatch optionally returns aggregate version, using include_aggregate_version: true during dispatch.

  • v0.12.0 Changes

    ✨ Enhancements

    • Commanded.Event.Handler and Commanded.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.11.0 Changes

    ✨ Enhancements

    • Shutdown idle aggregate processes (#43).

  • 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.


  • 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.
  • v0.8.4 Changes

    ✨ Enhancements

    • Event handler and process manager subscriptions should be created from a given stream position (#14).
    • Stop process manager instance after reaching its final state (#24).