Weave 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

Laravel Broadway Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Getting Started

Start by confirming the package version and Laravel compatibility in composer.json. Release 2.0.2 adds support for Laravel 5.6 and 5.7, so this release is most relevant if the application runs on either of those framework versions.

  1. Install/update with Composer and verify the resolved version:
    composer require <vendor>/<package>:^2.0
    composer show <vendor>/<package>
    
  2. Check the package README and composer.json first for:
    • supported PHP and Laravel versions,
    • service provider / facade registration,
    • publishable config, migrations, routes, or assets.
  3. Publish any package assets if documented:
    php artisan vendor:publish --provider="<PackageServiceProvider>"
    
  4. Run the application’s test suite and a smoke test of the package’s primary workflow.

First use case: upgrade an existing Laravel 5.6 or 5.7 application to 2.0.2, then exercise the package’s main documented feature to confirm compatibility. Since the release notes only mention framework compatibility, expect the public API to remain unchanged from the surrounding 2.x line.

Implementation Patterns

Treat 2.0.2 as a compatibility patch. Existing 2.x integration patterns should continue to work, but verify the package in the context of Laravel 5.6 / 5.7 conventions.

  • Version pinning: For applications on Laravel 5.6 or 5.7, prefer a constraint such as ^2.0.2 if you need this compatibility fix. Avoid broad constraints unless the package’s changelog confirms older 2.x releases are also compatible.
  • Service container usage: Resolve the package through its documented contract or facade rather than instantiating internals directly. This keeps upgrades isolated.
  • Configuration first: Publish and review the package config before wiring it into application code. Prefer environment-specific values over hard-coded package settings.
  • Framework integration: If the package provides migrations, routes, commands, events, or queue jobs, test those paths explicitly on Laravel 5.6 / 5.7, since this release targets framework compatibility.
  • Upgrade workflow:
    1. Update the package in a branch.
    2. Run composer update <vendor>/<package>.
    3. Clear cached config/routes/views if the package touches them.
    4. Run migrations if new package migrations are present.
    5. Execute focused tests around the package’s main use case.
  • Feature isolation: Wrap package calls behind a small application service or adapter if the package is used in many places. This reduces blast radius for future major releases.

Gotchas and Tips

  • Patch-level does not mean zero-risk: Even a compatibility release can change dependency constraints. Review composer.lock and run the full test suite.
  • Laravel version mismatch: If the application is below Laravel 5.6, do not assume 2.0.2 improves compatibility. Check the package’s composer.json constraints.
  • Composer resolution issues: If Composer cannot resolve the update, inspect conflicts between the package’s Laravel constraint, PHP constraint, and other dependencies.
  • Clear caches after upgrade: Run php artisan config:clear, route:clear, and view:clear if the package publishes or caches framework artifacts.
  • Check service provider discovery: On Laravel 5.6 / 5.7, confirm whether the package uses package discovery or requires manual provider registration.
  • Debugging compatibility issues: Reproduce with a minimal route/command/job using the package, then inspect package logs, Laravel logs, and composer why-not output.
  • Extension points: Prefer the package’s documented contracts, events, config keys, and macros over extending internal classes. Internal classes are more likely to change in future releases.
  • Upgrade note: Because the release notes are minimal, treat the README and package source as the source of truth for supported behavior. If the package has a changelog, check adjacent 2.x releases for relevant fixes or behavior changes.
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console