Releases: prooph/event-store
3.0 Release
Complete Rewrite
The 3.0 version of ProophEventStore is a complete rewrite. The store now handles Prooph\Common\Messaging\DomainEvent instead of StreamEvents which causes massive BC breaks. It is recommended to only use v3.0 for new projects, otherwise you will need to change a lot of code. Also checkout new versions of the PES adapters!
Changed
- AdapterInterface renamed to Adapter - BC break!
- TransactionFeatureInterface renamed to CanHandleTransaction - BC break!
- AggregateTranslatorInterface renamed to AggregateTranslator - BC break!
- AggregateTypeProviderInterface renamed to AggregateTypeProvider - BC break!
- FeatureInterface renamed to Feature - BC break!
- FeatureManager renamed to ZF2FeatureManager - BC break!
- StreamStrategyInterface renamed to StreamStrategy - BC break!
- StreamStrategy::load got an optional new parameter minVersion - BC break!
- Removed StreamEvent, EventId and EventName, EventStore uses Prooph\Common\Messaging\DomainEvent instead - BC break!
- Replaced EventManager with ActionEventDispatcher and changed method EventStore::getPersistenceEvents to getActionEventDispatcher
2.1 Release
Added
- EventStore::getRecordedEvents; This method can be useful if you want to access events before they are committed.
2.0.1 Bugfix Release
Due to the new way the aggregate repository is working wih aggregate types (introduced in PES v2.0) the MappedSuperClassStreamStrategy does not work any longer.
To simplify the strategies and make it more clear how they work we decided to remove the MappedSuperClassStreamStrategy and add the feature of handling aggregate root hierarchies to the SingleStreamStrategy.
So additionally to the changes described in the release notes of the v2.0 release here are more major changes:
- Interface for StreamStrategies changed completely
- MappedSuperClassStreamStrategy is removed
- SingleStreamStrategy requires now global unique identifiers (You use UUID already, aren't you?)
- SingleStreamStrategy can now be used for aggregate hierarchies. The AggregateType defined by the repository is completely ignored by the SingleStreamStrategy
2.0 Major Release
Important
Additionally to the changes described here you should also see notes for the v2.0.1 release. It is a Hotfix and includes more major changes. It is recommended to install v2.0.1.
Major Changes:
Most important change that breaks the API of v1.x was made in the AggregateRepository
The fourth parameter of the constructor (the AggregateType) is no longer optional. Therefor you don't need to provide an AggregateType when requesting a aggregate root with AggregateRepository::getAggregateRoot
Additionally the way to instantiate an AggregateType has changed. The constuctor is now private and you have to use one of the available static factory methods instead.
Minor Changes:
All assertion chains are replaced with static assertion calls. This makes the code a bit less readable but it is a small performance gain
1.1.2 Bugfix Release
This release fixes #34
1.1.1 Release
Fixes #32
1.1.0 Release
Added
MappedSuperclassStreamStrategy: Stores the events of all aggregates of the same superclass in one stream
1.0.0 Release
The public API of ProophEventStore has reached it's final structure with v0.5.0 and we added missing documentation in the last days. Now it's time to release v1.0.0 to indicate that we will support semantic versioning. All future commits will consider BC or they will be scheduled for v2.0.0.
0.5.0 Release
The complete structure of the library has changed. The EventStore now focuses on persting StreamEvents. Repository handling has moved out of the ES.
Please see the issues for the 0.5.0 milestone and the commit history for all the changes!
0.4.2 Release
Includes pull request #17 from @jsor that fixes configuration issues and some cleanup #15 also provided by @jsor.
*Note that zendframework/zend-db and zendframework/zend-serializer become optional requirements. If you wish to use your own event store adapter implementation there is no need to install the zend components.
@jsor works on a doctrine event store adapter that can be used as alternative.