commanded v0.16.0 Release Notes

    • ๐Ÿ‘Œ Support composite command routers (#111).
    • Aggregate state snapshots (#121).
    • ๐Ÿ†• New error/3 callback for process manager and deprecated error/4 (#124)
    • ๐Ÿ‘ Router support for identity prefix function.
    • Retry command execution on concurrency error (#132).
    • Event handler error/3 callback (#133).
    • ๐Ÿ‘Œ Support distributed dispatch consistency (#135).
    • Defer event handler and process router init until after subscribed (#138).
    • Replace aggregate lifespan after_command/1 callback with after_event/1 (#139).
    • ๐Ÿ‘Œ Support process manager routing to multiple instances (#141).
    • ๐Ÿ‘ Allow a default consistency to be set via the application env (#150).
    • Command dispatch consistency using explicit handler names (#161).

    ๐Ÿ’ฅ Breaking changes

    • The Commanded.Aggregates.AggregateLifespan behaviour has been changed from after_command/1 to after_event/1. You will need to update your own lifespan modules to use events instead of commands to shutdown an aggregate process after an inactivity timeout.

    โฌ†๏ธ Upgrading

    โฌ†๏ธ Please ensure you upgrade the following event store dependencies.

    Using the Elixir EventStore:

    • ๐Ÿ“ฆ eventstore to v0.14.0
    • commanded_eventstore_adapter to v0.4.0

    Using Greg Young's Event Store:

    • commanded_extreme_adapter to v0.5.0