chrisreedio/bastion
Bastion is a Laravel package that provides a secure, extensible foundation for authentication and access control. It offers clean configuration, sensible defaults, and minimal boilerplate to help you build robust login and authorization flows faster.
BastionSyncCommand now accepts an optional Panel argument. This directly unblocks the "one Filament install, several audiences" pattern (internal admin + partner portal + support console) by letting permission sync be scoped per panel instead of globally. If multi-panel is on the roadmap, this release is the enabler; if it isn't, this is a cheap future option.Adopt when:
Look elsewhere or defer when:
For executives: Bastion is an access-control layer for the admin panels we build on Filament. The new 4.x release brings us onto Filament v4 and adds two capabilities we would otherwise have to build ourselves: correct authorization on nested resources, and per-panel permission syncing for products that serve more than one audience from a single install. The trade-off is an upgrade project — Filament v4 moves our PHP and Laravel floor — which we should schedule deliberately rather than let it ride along with feature work. It is a small, single-maintainer dependency; the recommendation is to adopt with pinned versions and no expectation of vendor support.
For engineering: v4.1.0 is a major-version bump driven by Filament v4 compatibility (parent resource checks now behave correctly under the v4 authorization flow), plus the sync command taking an optional panel argument so permission provisioning can be targeted per panel instead of run globally. Upgrading is bounded work but not free: it forces the Filament v4 / Laravel 11 / PHP 8.2 baseline and any sibling Filament plugins must be v4-ready first. Sequence it as a standalone PR with the other Filament packages, verify nested-resource authorization and the sync command under each panel, and pin to a tested range given the single-maintainer risk.
How can I help you explore Laravel packages today?