3.0.0
Release Notes for 3.0.0
Upgrade path from 2.x to 3.0.0: https://patchlevel.github.io/event-sourcing-docs/latest/UPGRADE-3.0/
Migrate from MultiTableStore to SingleTableStore (pre-requirement): https://patchlevel.github.io/event-sourcing-docs/2.3/migrate-multi-table-store-to-single-table-store/
Backwards incompatible release (major)
3.0.0
- Total issues resolved: 0
- Total pull requests resolved: 137
BC-Break
- 598: move archive logic into store thanks to @DavidBadura
- 587: move event bus dispatch outside of repository transaction thanks to @DavidBadura
- 582: remove doctrine helper and move logic into doctrine dbal store stream thanks to @DavidBadura
- 539: move message into own namespace thanks to @DavidBadura
- 523: remove outbox store thanks to @DavidBadura
- 520: rename schema configurator into doctrine schema configurator thanks to @DavidBadura
- 502: move message decorator into repository thanks to @DavidBadura
- 501: remove sync projectionist thanks to @DavidBadura
- 497: remove the explicit defined version thanks to @DavidBadura
- 453: change attributes into readonly public objects thanks to @DavidBadura
- 452: Rename Attributes for Projector thanks to @DavidBadura
- 448: rename handle to subscribe thanks to @DavidBadura
- 425: remove own clock interface and use only psr-20 thanks to @DavidBadura
- 410: rename projectionist commands into projection thanks to @DavidBadura
- 406: remove old projection commands thanks to @DavidBadura
- 403: replace deprecated projector listener thanks to @DavidBadura
- 401: outsource worker thanks to @DavidBadura
- 396: Cleanup projectors, remove BC-Layer thanks to @DavidBadura
- 395: add clock as required paramter in repository thanks to @DavidBadura
- 393: use metadata in repository, remove bc layer thanks to @DavidBadura
- 373: Remove MultiTableStore, rewrite store thanks to @DavidBadura
- 372: Remove deprecations in schema director thanks to @DavidBadura
- 354: Remove support of deprecated normalize attribute thanks to @DavidBadura
- 352: Move TransactionalStore into Store, declutter Archive- and OutboxStore thanks to @DavidBadura
- 350: Remove all deprecations thanks to @DavidBadura
bug
- 595: fix missing default sleep time in subscription boot command thanks to @DavidBadura
- 594: fix finish flag in subscription engine thanks to @DavidBadura
- 586: throw an exception if duplicated subscriber id exists thanks to @DavidBadura
- 558: fix log output end of stream in subscription engine thanks to @DavidBadura
- 557: fix notify trigger thanks to @DavidBadura
- 556: throw stream close exception in array stream implementation thanks to @DavidBadura
- 528: allow to free result after stream closed thanks to @DavidBadura
- 522: fix watch command thanks to @DavidBadura
- 519: save 10000 events thanks to @DavidBadura
- 512: fix start position of "from now" projections thanks to @DavidBadura
- 480: fix worker commands thanks to @DavidBadura
- 470: add missing exception message thanks to @DavidBadura
- 456: transfrom projector throwable into an array thanks to @DavidBadura
- 455: add default value for retry column thanks to @DavidBadura
- 421: close stream thanks to @DavidBadura
documentation
- 593: Add links to external sites in the navigation thanks to @DavidBadura
- 590: improve docs layout thanks to @DavidBadura
- 569: Add Upgrade path to v3 thanks to @DanielBadura
- 564: Message docs thanks to @DavidBadura
- 550: fix some docs issues thanks to @DavidBadura
- 548: docs: format & fix php errors thanks to @DavidBadura
- 507: update repository, snapshots, split stream and upcast docs thanks to @DavidBadura
- 483: improve aggregate, clock, event bus and message decorator docs thanks to @DavidBadura
- 440: improve readme, index and getting started docs thanks to @DavidBadura
dependencies
- 589: fix building docs thanks to @DavidBadura
enhancement
- 588: Add RunSubscriptionEngineRepository thanks to @DavidBadura
- 585: add throw on error subscription engine decorator thanks to @DavidBadura
- 584: refactor uuid implementation & add a test uuid factory thanks to @DavidBadura
- 575: improve aggregate id argument resolver thanks to @DavidBadura
- 574: add subscription engine result thanks to @DavidBadura
- 573: add catch up subscription engine thanks to @DavidBadura
- 572: move cryptography into hydrator thanks to @DavidBadura
- 568: add payload cryptographer for snapshots too thanks to @DavidBadura
- 567: [Benchmark] Add loading only 1 event thanks to @DanielBadura
- 565: remove nested encoding thanks to @DavidBadura
- 562: add has header and add only header if used thanks to @DavidBadura
- 560: Add *Stream and DoctrineHelper tests thanks to @DanielBadura
- 555: display group and run mode in subscription status command thanks to @DavidBadura
- 554: add skip booting flag into setup command thanks to @DavidBadura
- 552: Argument resolver for subscriber thanks to @DavidBadura
- 549: Add infection on diff thanks to @DanielBadura
- 546: add event payload cryptographer for personal data thanks to @DavidBadura
- 541: load the internal header automatically thanks to @DavidBadura
- 538: move trace feature into debug namespace thanks to @DavidBadura
- 536: worker should not discover new subscriptions in running process thanks to @DavidBadura
- 530: add projector and processor attributes thanks to @DavidBadura
- 525: use for postgres pub/sub feature thanks to @DavidBadura
- 517: improve batch processing in projectionist thanks to @DavidBadura
- 510: upgrade hydrator & use new auto detect feature thanks to @DavidBadura
- 505: remove optional dependency and add required doctrine migration thanks to @DavidBadura
- 492: add chain event bus and rewrite projectionist event bus thanks to @DavidBadura
- 490: Add more tests thanks to @DanielBadura
- 486: remove apply implementation for aggregate root behaviour thanks to @DavidBadura
- 477: Add deptrac thanks to @DanielBadura
- 472: use array as trace in projection error thanks to @DavidBadura
- 464: add psr 14 support thanks to @DavidBadura
- 462: add throw by error flag in sync projectionist wrapper thanks to @DavidBadura
- 460: execute archive logic only once thanks to @DavidBadura
- 459: Improve log messages in DefaultRepository and Projectionist thanks to @DavidBadura
- 454: Add ProjectorId as value object thanks to @DanielBadura
- 447: use attribute to define projection target for dx thanks to @DavidBadura
- 444: Improve performance by inserting in a bulk thanks to @DavidBadura
- 436: store projection error objects thanks to @DavidBadura
- 420: add metadata cache thanks to @DavidBadura
- 415: Improve benchmark tests thanks to @DavidBadura
- 414: improve benchmarks thanks to @DavidBadura
- 412: allow to get event names from event registry thanks to @DavidBadura
- 411: allow to get the index of the stream thanks to @DavidBadura
- 408: improve projectionist commands with more options thanks to @DavidBadura
- 405: add backwards stream thanks to @DavidBadura
- 404: add rebuild command & error message in projectionist status command thanks to @DavidBadura
- 394: Prevent saving of broken aggregates thanks to @DavidBadura
BC-Break,enhancement
-
581: make aggregate id type configurable between uuid and string thanks to @DavidBadura
-
578: improve store criteria thanks to @DavidBadura
-
547: make the event bus optional thanks to @DavidBadura
-
540: replace pipeline with subscription engine thanks to @DavidBadura
-
531: split boot method into boot and setup in subscription engine thanks to @DavidBadura
-
526: rename projection into subscription thanks to @DavidBadura
-
514: projector accessor & experimental trace feature thanks to @DavidBadura
-
511: allow to pause projections thanks to @DavidBadura
-
508: remove watch server & use event store for watching thanks to @DavidBadura
-
504: overhaul error handling in projectionist thanks to @DavidBadura
-
503: overhaul projectionist thanks to @DavidBadura
-
499: add consumer target and replace old projector targets thanks to @DavidBadura
-
498: allow "subscribe all" in projectors thanks to @DavidBadura
-
496: Add Message header interface for more decoupling and type safety thanks to @DanielBadura
-
493: Update OutboxStore schema, extract MessageSerializer from WatchServer thanks to @DavidBadura
-
491: extract consumer logic and rename outbox consumer into processor thanks to @DavidBadura
-
487: use aggregate name in message to decouple components thanks to @DavidBadura
-
467: decouple consume and publish in outbox thanks to @DavidBadura
-
465: refactor default event bus & drop symfony event bus thanks to @DavidBadura
-
458: add new exceptions for repository & store thanks to @DavidBadura
-
445: use variadic syntax in pipeline to allow bulk save thanks to @DavidBadura
-
443: aggregate root id thanks to @DavidBadura
-
409: Add new show command thanks to @DavidBadura
-
407: replace event system by throw by error flag in projectionist thanks to @DavidBadura
-
351: AggregateRoot is now an interface, add behaviour trait, replace hydrator thanks to @DavidBadura
-
566: improve github php actions thanks to @DavidBadura
-
537: rename outdated into detached in subscription engine thanks to @DavidBadura
-
518: use postgres in benchmarks thanks to @DavidBadura
-
516: add projectionist benchmark thanks to @DavidBadura
-
402: add dev runner for projectionist thanks to @DavidBadura
bug,enhancement
- 559: Add more DoctrineDbalStore tests thanks to @DanielBadura
- 485: improve projection errors and traces thanks to @DavidBadura
- 468: fix show command & add 'end'/'next' method in stream interface thanks to @DavidBadura