Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Broadway Laravel Package

ddd-module/broadway

Broadway provides infrastructure and testing helpers for building CQRS and event-sourced PHP applications. It offers loosely coupled components for command handling, event storage, and projection workflows, designed to stay out of your way and be used together or separately.

View on GitHub
Deep Wiki
Context7
v2.0.x

BC breaks

  • 4e6fe27 Finalized concrete classes (Nikita Konstantinov)
  • 5c3cc30 required PHP 7 (othillo)
  • 8ee2fd2 required PHPUnit 6 (Alexander Bachmann)

Other changes

  • f74c855 Added a closure command handler (Francesco Trucchia)
  • b21c245 Provide access to Metadata values (Reen Lokum)
  • 05e88ce Moved to Symfony coding standards (Reen Lokum)
  • df69c8d Added reflection serializer (Alexander Bachmann)
  • 8486286 moved RepositoryTestCase, EventStoreTest, EventStoreManagementTest to Testing namespace (Robin van der Vleuten)
v1.0.x

BC breaks

  • The EventStore interface added a loadFromPlayhead method
  • The ReadModelTestCase is renamed to SerializableReadModelTestCase
  • We moved the Doctrine DBAL event store implementation to a separate repository
  • We moved the Elasticsearch read model implementation to a separate repository
  • We moved the Symfony bundle to a separate repository
  • We moved the Saga component to a separate repository
  • DBALEventStore and InMemoryEventStore can now throw DuplicatePlayheadException. Ensure you are catching EventStoreException instead of specific driver exceptions.
v0.9.x

BC breaks

  • We raised the minimum required version of symfony/dependency-injection from 2.3 to 2.6.

Other changes

  • The Symfony Bundle is now Symfony 3 compatible
  • The DBALEventStore can now be disabled in configuration
  • elasticsearch/elasticsearch-php 2.0 is now also supported
  • Serializers are now configurable in the Symfony Bundle
v0.8.x

BC breaks

  • We raised the minimum required PHP version from 5.3 to 5.5.

Other changes

v0.7.x

Symfony Bundle

  • You can now configure which Doctrine DBAL connection should be used for the event store
  • The auditing command logger service now only gets registered when it's explicitly enabled
  • You can now register Sagas with the tag broadway.saga
  • The broadway:event-store:schema:drop command no longer errors when there is no schema
Other changes
  • There are now Saga examples
  • The DBALEventStore now also works with mysqli
v0.6.x

BC breaks

  • The Scenario for CommandHandling now clears the recorded events after each then. So for each then you only need to supply the newly recorded events.
v0.5.x

BC breaks

  • DomainMessageInterface has been removed, and DomainMessage has been made final.
  • Renamed add method to save for aggregate root repositories.
Symfony Bundle
  • The global storage_suffix parameter has been removed and has been replaced with a configuration value: saga.mongodb.storage_suffix.

Summary of other changes

  • New example on how to use child entities.
  • The EventSourcing Scenario has been updated to support all the latest changes.
  • An AggregateRootScenarioTestCase has been added with an example on how to use it.
  • The command bus and event bus have been made more resilient.
  • We now publish the decorated event stream on the event bus.
  • Added possibility to use binary as UUID column. See README in the Bundle for configuration details.
  • The CLI Command in the Bundle doesn't throw errors anymore if the schema already exists.
v0.4.x

BC breaks

  • Updated beberlei/assert requirement to 2.0.
v0.3.0

BC breaks

  • The AggregateFactory is a new required constructor argument for a EventSourcingRepository and the order of the arguments changed.

Summary of changes

  • Added Aggregate Factories for instantiating aggregates. Now we are not bound to a public constructor.
  • A bugfix that caused an infinite loop when supplying a string to the CommandHandler.
  • Saga base class is now abstract.
  • More typehints to interfaces instead of concrete classes.
  • Multiple CS fixes.
v0.10.x

Other changes

  • allow specifying the DateTime used in the ReadModel Scenario
  • added the ReflectionAggregateFactory as an alternative to the NamedConstructorAggregateFactory
  • specify ReadModel type searching Elasticsearch read model repository
  • added PHPUnit as a development dependency
  • adopted new PHP 5.4 and PHP 5.5 language features (DateTimeImmutable, ::class, short array syntax)
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
craftcms/url-validator
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony