- Fixed
Repository.get_aggregate
method (it now properly raisesDoesNotExist
error if there were no events yet for givenaggregate_id
) - Added
Repository.get_aggregate_or_None
method
- Allow to register handlers for all events or all events for certain aggregate type
- Fixed
Storage.gen_replay_events
(it was not yielding events)
- Added ability to validate events
- Added
Storage.gen_replay_events
so user can i.e. follow progress of events being replayed
- Added ability to replay events (use
Storage.replay_events()
function) - Added ability to upcast events
Storage.get_events
now accepts bothaggregate_type
andaggregate_id
- Renamed
cq.handlers.publish
tocq.handlers.handle_event
- Repositories can now be declared using
repos
dictionary at theBaseApp
subclasses - Implemented
Storage.iter_all_events
method