- 4e6fe27 Finalized concrete classes (Nikita Konstantinov)
- 5c3cc30 required PHP 7 (othillo)
- 8ee2fd2 required PHPUnit 6 (Alexander Bachmann)
- f74c855 Added a closure command handler (Francesco Trucchia)
- b21c245 Provide access to Metadata values (Reen Lokum)
- 05e88ce Moved to Symfony coding standards (Reen Lokum)
- df69c8d Added reflection serializer (Alexander Bachmann)
- 8486286 moved RepositoryTestCase, EventStoreTest, EventStoreManagementTest to Testing namespace (Robin van der Vleuten)
- The EventStore interface added a
loadFromPlayhead
method - The ReadModelTestCase is renamed to SerializableReadModelTestCase
- We moved the Doctrine DBAL event store implementation to a separate repository
- We moved the Elasticsearch read model implementation to a separate repository
- We moved the Symfony bundle to a separate repository
- We moved the Saga component to a separate repository
- DBALEventStore and InMemoryEventStore can now throw DuplicatePlayheadException. Ensure you are catching EventStoreException instead of specific driver exceptions.
- allow specifying the DateTime used in the ReadModel Scenario
- added the ReflectionAggregateFactory as an alternative to the NamedConstructorAggregateFactory
- specify ReadModel type searching Elasticsearch read model repository
- added PHPUnit as a development dependency
- adopted new PHP 5.4 and PHP 5.5 language features (DateTimeImmutable, ::class, short array syntax)
- We raised the minimum required version of symfony/dependency-injection from 2.3 to 2.6.
- The Symfony Bundle is now Symfony 3 compatible
- The DBALEventStore can now be disabled in configuration
- elasticsearch/elasticsearch-php 2.0 is now also supported
- Serializers are now configurable in the Symfony Bundle
- We raised the minimum required PHP version from 5.3 to 5.5.
- Support for querying the event store using criteria
- The
COMMAND_FAILURE
event now receives an associative array when it gets dispatched. - Fixed a locale issue with creating DateTime objects.
- You can now configure which Doctrine DBAL connection should be used for the event store
- The auditing command logger service now only gets registered when it's explicitly enabled
- You can now register Sagas with the tag
broadway.saga
- The
broadway:event-store:schema:drop
command no longer errors when there is no schema
- There are now Saga examples
- The DBALEventStore now also works with mysqli
- The Scenario for CommandHandling now clears the recorded events after each
then
. So for each then you only need to supply the newly recorded events.
- DomainMessageInterface has been removed, and DomainMessage has been made final.
- Renamed
add
method tosave
for aggregate root repositories.
- The global
storage_suffix
parameter has been removed and has been replaced with a configuration value:saga.mongodb.storage_suffix
.
- New example on how to use child entities.
- The EventSourcing Scenario has been updated to support all the latest changes.
- An AggregateRootScenarioTestCase has been added with an example on how to use it.
- The command bus and event bus have been made more resilient.
- We now publish the decorated event stream on the event bus.
- Added possibility to use binary as UUID column. See README in the Bundle for configuration details.
- The CLI Command in the Bundle doesn't throw errors anymore if the schema already exists.
- Updated
beberlei/assert
requirement to 2.0.
- The AggregateFactory is a new required constructor argument for a EventSourcingRepository and the order of the arguments changed.
- Added Aggregate Factories for instantiating aggregates. Now we are not bound to a public constructor.
- A bugfix that caused an infinite loop when supplying a string to the CommandHandler.
- Saga base class is now abstract.
- More typehints to interfaces instead of concrete classes.
- Multiple CS fixes.