NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1516 most downloaded on Packagist
The easiest way to get started with event sourcing in Laravel
Last release 1 months ago
10 Aug 2026
Release timing varies
gaps range from 2 weeks to 6 months
Nearly every release is documented
notes for 54 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
117 releases · first in 2019
Allow phpdocumentor/reflection-docblock 6, fixing installation on Laravel 13 / Symfony 8 by @freekmurze in #535
phpdocumentor/reflection-docblock 6, fixing installation on Laravel 13 / Symfony 8 by @freekmurze in #535Fixes #534.
Full Changelog: 7.15.0...7.15.1
phpdocumentor/reflection-docblock 6, fixing installation on Laravel 13 / Symfony 8 by @freekmurze in https://github.com/spatie/laravel-event-sourcing/pull/535Fixes #534.
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.15.0...7.15.1
One column per quarter.
Use spatie/php-attribute-reader by @freekmurze in #527
Full Changelog: 7.14.0...7.15.0
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.14.0...7.15.0
Add Laravel 13 and PHP 8.5 support
Lazy-resolve event handlers to eliminate boot-time overhead
When registering projectors and reactors via class name strings, container resolution is now deferred until the handlers are actually needed. Most HTTP requests never fire a stored event, so the boot-time cost is never paid.
Full Changelog: 7.12.9...7.13.0
Fix #[Ignore] attributes on ShouldBeStored conflicting with child class properties
Full Changelog: 7.12.8...7.12.9
Use generic FakeAggregateRoot by @Bloemendaal in #522
Full Changelog: 7.12.7...7.12.8
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.12.7...7.12.8
Allow alphanumeric stored event IDs (e.g. UUID7) in addition to numeric values by @plusquamperfekt in #521
Constrain phpunit-snapshot-assertions to <5.2 to fix CI in #520
Full Changelog: 7.12.5...7.12.6
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.12.5...7.12.6
Fix metaData leaking into event_properties since Symfony Serializer v8.0.4 in #519
Full Changelog: 7.12.4...7.12.5
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.12.4...7.12.5
Introduce configurable aggregate event ordering. by @Gummibeer in #516
Full Changelog: 7.12.3...7.12.4
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.12.3...7.12.4
Added Symfony 8 support to all symfony/* packages. by @thecaliskan in https://github.com/spatie/laravel-event-sourcing/pull/514
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.12.2...7.12.3
Update issue template by @AlexVanderbist in https://github.com/spatie/laravel-event-sourcing/pull/510
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.12.1...7.12.2
Event replay optimizations by @suhailhijry in https://github.com/spatie/laravel-event-sourcing/pull/509
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.12.0...7.12.1
Fix restorePartialState() being incorrectly assigned to dynamic property by @nick-potts in https://github.com/spatie/laravel-event-sourcing/pull/507
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.11.3...7.12.0
[Docs] Add Missing Version Property in Event Serializers by @devhammed in https://github.com/spatie/laravel-event-sourcing/pull/503
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.11.2...7.11.3
docs: fix method name inconsistencies and usage corrections by @vildanbina in https://github.com/spatie/laravel-event-sourcing/pull/498
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.11.1...7.11.2
Fix the incorrect time conversion in json_encode by @youyingxiang in https://github.com/spatie/laravel-event-sourcing/pull/499
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.11.0...7.11.1
Laravel 12.x Compatibility by @laravel-shift in https://github.com/spatie/laravel-event-sourcing/pull/497
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.10.3...7.11.0
feat: add eloquent stored event generic types for collection and query builder by @maartenpaauw in https://github.com/spatie/laravel-event-sourcing/pu
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.10.2...7.10.3
Fix Remaining Nullable Parameter Definitions by @okaufmann in https://github.com/spatie/laravel-event-sourcing/pull/495
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.10.1...7.10.2
Explicitly mark variable nullable by @BertvanHoekelen in https://github.com/spatie/laravel-event-sourcing/pull/494
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.10.0...7.10.1
PHP 8.4 explicit null types by @BertvanHoekelen in https://github.com/spatie/laravel-event-sourcing/pull/493
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.9.1...7.10.0
update command name to match class name by @PH7-Jack in https://github.com/spatie/laravel-event-sourcing/pull/490
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.9.0...7.9.1
Use class map name when querying event class by @maartenpaauw in https://github.com/spatie/laravel-event-sourcing/pull/476
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.8.0...7.9.0
Replace 'projector' with 'reactor' where necessary. by @PHPGuus in https://github.com/spatie/laravel-event-sourcing/pull/485
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.7.0...7.8.0
Update installation-setup.md to match actual contents of config/event-sourcing.php by @inmanturbo in https://github.com/spatie/laravel-event-sourcing/
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.6.2...7.7.0
fix: internal links use /docs prefix by @rburgt in https://github.com/spatie/laravel-event-sourcing/pull/468
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.6.1...7.6.2
Use custom serializer while persisting events by @sebastiandittrich in https://github.com/spatie/laravel-event-sourcing/pull/464
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.6.0...7.6.1
Pass specified aggregate uuid to resetState while replaying by @meijdenmedia in https://github.com/spatie/laravel-event-sourcing/pull/463
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.5.0...7.6.0
Add config to enforce every event has an alias. by @thettler in https://github.com/spatie/laravel-event-sourcing/pull/461
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.4.2...7.5.0
fix AllowDynamicProperties to suppress PHP warnings on 8.2
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.4.1...7.4.2
AllowDynamicProperties to suppress PHP warnings on 8.2 by @sebastiandedeyne in https://github.com/spatie/laravel-event-sourcing/pull/459
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.4.0...7.4.1
L11 compatibility by @inmanturbo in https://github.com/spatie/laravel-event-sourcing/pull/458
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.10...7.4.0
Address Typos and Make Grammatical Improvements in Documentation by @salehhashemi1992 in https://github.com/spatie/laravel-event-sourcing/pull/442
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.9...7.3.10
Fix snapshots in aggregate partials by @sonja-turo in https://github.com/spatie/laravel-event-sourcing/pull/406
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.8...7.4.0
Added an extra rejection to prevent events being passed to invalid handlers by @27pchrisl in https://github.com/spatie/laravel-event-sourcing/pull/438
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.7...7.3.8
Support interfaces in aggregate root apply methods by @sebastiandedeyne in https://github.com/spatie/laravel-event-sourcing/pull/434
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.6...7.3.7
Correcting Commands Documentation by @ChangingTerry in https://github.com/spatie/laravel-event-sourcing/pull/416
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.5...7.3.6
Fix Symfony Serializer Deprecation Warnings by @damiantw in https://github.com/spatie/laravel-event-sourcing/pull/415
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.4...7.3.5
Fix documentation version cross-linking to other versions for v7. #396 by @Shkeats in https://github.com/spatie/laravel-event-sourcing/pull/402
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.3...7.3.4
Laravel 10.x Compatibility by @laravel-shift in https://github.com/spatie/laravel-event-sourcing/pull/391
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.2...7.3.3
Fixes bug with retrieving last event by @aidan-casey in https://github.com/spatie/laravel-event-sourcing/pull/384
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.1...7.3.2
Refactor tests to pest by @AyoobMH in https://github.com/spatie/laravel-event-sourcing/pull/377
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.3.0...7.3.1
Support weight property to event handlers by @sebastiandedeyne in https://github.com/spatie/laravel-event-sourcing/pull/365
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.2.4...7.3.0
Update Reactor docs on how to get the aggregate uuid by @soarecostin in https://github.com/spatie/laravel-event-sourcing/pull/363
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.2.3...7.2.4
Fix typo in ReadMe by @michael-rubel in https://github.com/spatie/laravel-event-sourcing/pull/353
Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.2.2...7.2.3
Fix method annotations in Projection class by @daniser in https://github.com/spatie/laravel-event-sourcing/pull/350
tap from possible handlers by @erikgaal in https://github.com/spatie/laravel-event-sourcing/pull/352Full Changelog: https://github.com/spatie/laravel-event-sourcing/compare/7.2.1...7.2.2
Nothing published for this version
Add EloquentStoredEventQueryBuilder::lastEvent
EloquentStoredEventQueryBuilder::lastEvent (#327)EloquentStoredEventQueryBuilder::wherePropertyIs (#326)EloquentStoredEventQueryBuilder::wherePropertyIsNot (#326)Fix for meta data updating on original event
Nothing published for this version
Nothing published for this version
Change event_version to tinyint in migration stub
event_version to tinyint in migration stub (#306)Don't mutate original events in FakeAggregateRoot::getRecordedEventsWithoutUuid
FakeAggregateRoot::getRecordedEventsWithoutUuid (#296)Nothing published for this version
Skip retrieve on aggregate::fake
Fix for aggregate root testing without a database
The EventHandler interface was changed in order to use the spatie/better-types package:
EventHandler interface was changed in order to use the spatie/better-types package:- public function handles(): array;
+ public function handles(StoredEvent $storedEvent): bool;
- public function handle(StoredEvent $event);
+ public function handle(StoredEvent $storedEvent): void;
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →