event-store

PHP 7.4 EventStore Implementation

BSD-3-CLAUSE License

Downloads
1.3M
Stars
548
Committers
35
event-store - 3.0 Release

Published by codeliner over 9 years ago

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
event-store - 2.1 Release

Published by codeliner over 9 years ago

Added

  • EventStore::getRecordedEvents; This method can be useful if you want to access events before they are committed.
event-store - 2.0.1 Bugfix Release

Published by codeliner almost 10 years ago

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
event-store - 2.0 Major Release

Published by codeliner almost 10 years ago

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

event-store - 1.1.2 Bugfix Release

Published by codeliner almost 10 years ago

This release fixes #34

event-store - 1.1.1 Release

Published by codeliner almost 10 years ago

Fixes #32

event-store - 1.1.0 Release

Published by codeliner about 10 years ago

Added

MappedSuperclassStreamStrategy: Stores the events of all aggregates of the same superclass in one stream

event-store - 1.0.0 Release

Published by codeliner about 10 years ago

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.

event-store - 0.5.0 Release

Published by codeliner about 10 years ago

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!

event-store - 0.4.2 Release

Published by codeliner about 10 years ago

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.

event-store - rhumsaa/uuid version constraint fix

Published by codeliner about 10 years ago

Includes pull request #14 from @jsor

event-store - 0.4.0 Release

Published by codeliner over 10 years ago

Small but important change in the event store adapter configuration:

//old way to configure an adapter
'adapter' => array(
    'Prooph\EventStore\Adapter\Zf2\Zf2EventStoreAdapter' => array(
        'connection' => array(
           'driver' => 'Pdo_Sqlite',
           'database' => ':memory:'
        )
    )
),


//NEW way to configure an adapter
'adapter' => array(
    'type' => 'Prooph\EventStore\Adapter\Zf2\Zf2EventStoreAdapter' 
    'options' => array(
        'connection' => array(
           'driver' => 'Pdo_Sqlite',
           'database' => ':memory:'
        )
    )
),

event-store - Bugfix relase

Published by codeliner over 10 years ago

Fix bad method call in EventStore#rollback

event-store - Third dev release

Published by codeliner over 10 years ago

  • EventSourcing components were moved to own library see prooph/event-sourcing
  • New contract between repository implementation and EventStore
  • New contract between EventStore Adapter and ES see new classes Stream, StreamId, StreamEvent, AggregateType

See diff for details

event-store - ProophEventStore release 0.1.0

Published by codeliner over 10 years ago

Basic functionality is ready to use:

  • EventStore with Zf2 TableGateway adapter
  • EventSourcedAggregateRoot as base class for Aggregates
  • AggregateChangedEvent as base class for DomainEvents
  • EventStore persistence events to hook into processing and do things like capture persisted AggregateChangedEvents
event-store - Second dev release

Published by codeliner over 10 years ago

The major change in this release is the refactoring of the EventSourcedAggregateRoot handling of the EventStore.
The repository related to the the AggregateType is now responsible for the tasks:

  • extractAggregateIdAsString
  • extractPendingEvents
  • constructAggregateFromHistory

The EventStore itself no longer requires the EventSourcedAggregateRoot type, only the default EventSourcingRepository does. With this change in mind you can now use your own EventSourcing implementation for your Aggregates and provide a custom repository that can handle it.

See the changelog https://github.com/prooph/event-store/compare/0.1.0...0.2.0 for detailed information.