Added
- Add
canAny()andcanAll()route macros for individual routes and route groups, by @ziadoz in #2981.canAny()requires any listed permission;canAll()requires each listed array entry. Both accept strings, backed enums, and mixed arrays. - Expand real authorization coverage for guests, grants and revocation, authentication guards, nested/sibling route isolation, scalar and enum inputs, and compatibility with native Laravel
can().
Documentation
- Document safe group middleware ordering, guard selection, pipe-separated OR alternatives within an entry, and the fact that an empty
canAll([])adds no authorization checks. Apply authentication separately when needed.
No breaking changes. PHP and Laravel requirements are unchanged. Native Laravel can() and group middleware replacement semantics remain unchanged. Includes the released 8.4.1 disabled-teams relation fix.
Full Changelog: 8.4.1...8.5.0