nwidart/laravel-broadway
Laravel Broadway integrates the Broadway event sourcing library with Laravel, offering service providers, configuration, and container bindings to build CQRS and event-sourced applications with commands, events, projectors, and read models in a familiar Laravel workflow.
Architecture fit. Baseline assessment (no prior record exists). This is a Laravel/PHP package distributed via Composer and integrated through the standard service-provider pattern. The 2.0.2 release adds nothing functional — its entire content is framework compatibility: support for Laravel 5.6 and 5.7. That is the single most important signal in this release, because it defines the package's compatibility ceiling. Laravel 5.6 (Feb 2018) and 5.7 (Sep 2018) are both long past end-of-life. If our estate is on Laravel 8/9/10/11, this package as-is does not fit our architecture, and no amount of patch-level adoption changes that.
Integration feasibility. Low technical effort, high decision friction. For an app already on 5.5–5.7, this is a composer require, config publish, provider registration, and a smoke test. For anything newer there is no supported integration path — the options are fork-and-maintain, pin the framework backwards (not viable), or replace the package. The 2.0.2 patch itself introduces no new migration surface.
Technical risk.
2.0.2 implies a breaking 2.0.0 that we have no record of. We cannot assess blast radius without the 1.x → 2.0.2 changelog.Added section. No Removed/Changed/Deprecated entries — but the absence of a removal note is not evidence that nothing was dropped, particularly regarding 5.5 or earlier.Key questions.
Stack fit. PHP + Composer, standard Laravel package idioms. Fits only where the host application is Laravel 5.5–5.7. On 5.6 or 5.7 the combination is now explicitly supported; on 5.5 it is presumably still supported but unconfirmed by this release.
Migration path. Three distinct cases:
composer update within the existing constraint; treat as a routine patch.Compatibility. Confirm PHP version constraints (5.6/5.7 era implies PHP 7.1–7.3) and any required extensions. Run a dependency-resolution dry run before committing; other packages in the estate have likely drifted forward and will conflict.
Sequencing.
Maintenance. The dominant concern. Adopting this package means accepting ownership of a dependency that is not tracking the framework. Budget for periodic manual compatibility work, or fund a fork. Neither is free, and neither is visible until the first framework upgrade attempt.
Support. No commercial support is implied. Support is community-only via the issue tracker — verify maintainer responsiveness before depending on it, and document a fork contingency in the runbook.
Scaling. In-process PHP library; it scales with the application tier and introduces no separate infrastructure. The unknown is runtime behaviour: whether it performs synchronous external I/O or unbounded queries under load. This release tells us nothing about that, so it must be validated by profiling rather than assumed.
Failure modes.
Ramp-up. Low for a Laravel-fluent engineer — the package uses conventional idioms and the surface area is small. The real cost is not learning the package; it is the governance overhead of owning a legacy-versioned dependency, which typically exceeds the integration effort within one or two framework cycles.
How can I help you explore Laravel packages today?