laravel-event-sourcing

The easiest way to get started with event sourcing in Laravel

MIT License

Downloads
1.8M
Stars
768
Committers
125

Bot releases are hidden (Show)

laravel-event-sourcing - 5.0.1

Published by freekmurze over 3 years ago

  • move migrations to default location
laravel-event-sourcing - 5.0.0

Published by freekmurze over 3 years ago

  • Add EloquentStoredEvent::query()->whereEvent(EventA::class, …)

  • Add EventQuery

  • Add AggregateEntity

    • If you're overriding an aggregate root's constructor, make sure to call parent::__construct from it
  • Add command bus and aggregate root handlers

  • Add Projectionist::fake(OriginalReactor::class, FakeReactor::class) (#181)

  • All event listeners are now registered in the same way: by looking at an event's type hint. This applies to all:

    • Aggregate root apply methods
    • Projection listeners
    • Reactor listeners
    • Event queries
  • Moved Spatie\EventSourcing\Exception\CouldNotPersistAggregate to Spatie\EventSourcing\AggregateRoots\Exceptions\CouldNotPersistAggregate

  • Moved Spatie\EventSourcing\Exception\InvalidEloquentSnapshotModel to Spatie\EventSourcing\AggregateRoots\Exceptions\InvalidEloquentSnapshotModel

  • Moved Spatie\EventSourcing\Exception\InvalidEloquentStoredEventModel to Spatie\EventSourcing\AggregateRoots\Exceptions\InvalidEloquentStoredEventModel

  • Moved Spatie\EventSourcing\Exception\MissingAggregateUuid to Spatie\EventSourcing\AggregateRoots\Exceptions\MissingAggregateUuid

  • Moved Spatie\EventSourcing\Exception\InvalidStoredEvent to Spatie\EventSourcing\StoredEvents\Exceptions\InvalidStoredEvent

  • Dependency injection in handlers isn't supported anymore, use constructor injection instead

  • $storedEvent and $aggregateRootUuid are no longer passed to event handler methods. Use $event->storedEventId() and $event->aggregateRootUuid() instead. (#180)

  • Rename EloquentStoredEvent::query()->uuid() to EloquentStoredEvent::query()->whereAggregateRoot()

  • Removed AggregateRoot::$allowConcurrency

  • Removed $aggregateVersion from StoredEventRepository::persist

  • Removed $aggregateVersion from StoredEventRepository::persistMany

  • Event handlers are no longer called with app()->call() (#180)

  • $handlesEvents on Projectors and Reactors isn't supported anymore

  • PHP version requirement is now ^8.0

  • Laravel version requirement is now ^8.0

laravel-event-sourcing - 4.10.2

Published by brendt over 3 years ago

  • Add missing config key in config stub (#203)
laravel-event-sourcing - 4.10.1

Published by brendt over 3 years ago

  • Also store aggregate root version when one event is persisted
laravel-event-sourcing - 4.10.0

Published by brendt over 3 years ago

  • Deprecate AggregateRoot::$allowConcurrency
  • Fix for race condition in aggregate roots (#170), you will need to run a migration to be able to use it:
public function up()
{
    Schema::table('stored_events', function (Blueprint $table) {
        $table->unique(['aggregate_uuid', 'aggregate_version']);
    });
}

Note: if you run this migration, all aggregate roots using $allowConcurrency will not work any more.

laravel-event-sourcing - 4.9.0

Published by brendt over 3 years ago

  • Make base path configurable (#202)
laravel-event-sourcing - 4.8.0

Published by rubenvanassche over 3 years ago

  • Add support for asserting events with a closure
laravel-event-sourcing - 4.7.2

Published by brendt over 3 years ago

laravel-event-sourcing - 4.7.1

Published by brendt over 3 years ago

laravel-event-sourcing - 4.7.0

Published by freekmurze almost 4 years ago

  • add support for PHP 8
laravel-event-sourcing - 4.6.1

Published by freekmurze almost 4 years ago

  • remove unused replay_chunk_size config value
laravel-event-sourcing - 4.6.0

Published by freekmurze almost 4 years ago

  • allow protected apply methods (#136)
laravel-event-sourcing - 4.5.3

Published by freekmurze about 4 years ago

  • re-use existing instance of ShouldBeStored when possible (#158)
laravel-event-sourcing - 4.5.2

Published by freekmurze about 4 years ago

  • fix Paths and Reference URL in event-sourcing.php config file (#159)
laravel-event-sourcing - 4.5.1

Published by freekmurze about 4 years ago

  • added loadUuid (#156)
laravel-event-sourcing - 4.5.0

Published by freekmurze about 4 years ago

  • make normalizers configurable (#153)
laravel-event-sourcing - 4.4.0

Published by brendt about 4 years ago

laravel-event-sourcing - 4.3.1

Published by brendt about 4 years ago

laravel-event-sourcing - 4.3.0

Published by freekmurze about 4 years ago

  • support Carbon dates in events (#137)
laravel-event-sourcing - 4.2.0

Published by freekmurze about 4 years ago

  • allow events to be dispatched from an aggregate root (#135)