silber/bouncer
Eloquent roles and abilities.
v1.0.4
4.9M downloads/mo
#2375 most downloaded on Packagist
JosephSilber/bouncer
What this package is like to depend on
Last release 5 months ago
18 Mar 2026
Ships fairly regularly
a new release about every 6 months
Rarely documented
notes for 4 of 39 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
60 releases · first in 2015
1 release in the last 12 months
see the full history below
Release timeline
59 releases · Sep 2015 to Mar 2026Releases
latest 60-
v1.0.418 Mar 2026Release notes
Open source →Fix invalid version number. The previous release accidentally had a dot after the
v: v.1.0.4 -
v1.0.324 Feb 2025 -
v1.0.214 Mar 2024Release notes
Open source →Bouncer is now ready for Laravel 11 🥳
Bouncer has long tried to maintain support for a huge matrix of Laravel versions, simultaneously. However, as the list of versions grows, it becomes untenable to support them all in a single codebase.
The commit to support Laravel 11 has over 2,500 lines of additions/deletions. The test suite was upgraded to PHPUnit 11, and now uses Workbench to run tests against a real Laravel app. Trying to do all that while supporting a huge matrix of Laravel and PHP versions is nigh impossible.
So this version of Bouncer, v1.0.2, makes a clean break: we now only support Laravel 11 and up. If you're using older versions of Laravel, you'll still be fine with Bouncer v1.0.1.
While contemplating this change, I wasn't sure whether to make this a major new version. It doesn't feel like a major new version, but is it a breaking change?
I asked on Twitter, and @michaeldyrynda helpfully pointed me to this pertinent article by @sebastiandedeyne: Composer, semver, and underlying dependency changes.
In it, he quotes directly from semver.org:
What should I do if I update my own dependencies without changing the public API?
That would be considered compatible since it does not affect the public API. Software that explicitly depends on the same dependencies as your package should have their own dependency specifications and the author will notice any conflicts.
In other words: since Composer will handle this correctly, it's not considered a breaking change. If you're not yet on Laravel 11, Composer will keep you on Bouncer v1.0.1, chugging along nicely till you're ready to upgrade.
-
v1.0.110 Feb 2023Release notes
Open source →- Laravel 10 support
- Multi-Tenancy improvement: abilities/roles granted within a scope now don't leak out into the global scope. By @grantholle in #608
- Added PHPDoc to the
Bouncerfacade, for better IDE help. By @devRMA in #599 - Added return types to Eloquent Relations to make Lighthouse Type detection work. By @TFSThiagoBR98 in #585
-
v1.0.021 Feb 2022Nothing published for this version
-
v1.0.0-rc.13no date pre-releaseRelease notes
Open source →This is mainly a housecleaning release, with two breaking changes:
-
Levels were removed. They were too much of a burden on maintenance, and has actively hindered development on new features. With Bouncer's many features, such as allowing & forbidding permissions, broad model abilities, per-model abilities, and the powerful ownership model, the need for levels is now truly niche, and no longer worth the maintenance cost.
They were purposefully never documented, and I've been saying in the issues for years that they will eventually be removed.
-
Bouncer's checks, by default, now run after your policies and gate definitions. This gives your code precedence for all auth checks. If your code explicitly passes/fails a check, that will now be honored and Bouncer won't even run for that.
This is actually what people expect intuitively, and has been a setting in Bouncer for a long time now. This release just switches the default.
If you prefer the old order of things, you can tell Bouncer to run before your code:
Bouncer::runBeforePolicies();This setting used to be called
Bouncer::runAfterPolicies(), as it toggled the inverse. If you have that your code, you can now safely remove it.
-
-
v1.0.0-rc.1208 Feb 2022 pre-release -
v1.0.0-rc.1125 Nov 2021 pre-release -
v1.0.0-rc.1008 Dec 2020 pre-releaseRelease notes
Open source → -
v1.0.0-rc.908 Sep 2020 pre-releaseNothing published for this version
-
v1.0.0-rc.831 Mar 2020 pre-releaseNothing published for this version
-
v1.0.0-rc.704 Mar 2020 pre-releaseNothing published for this version
-
v1.0.0-rc.604 Sep 2019 pre-releaseNothing published for this version
-
v1.0.0-rc.527 Feb 2019 pre-releaseNothing published for this version
-
v1.0.0-rc.422 Oct 2018 pre-releaseNothing published for this version
-
v1.0.0-rc.309 Sep 2018 pre-releaseNothing published for this version
-
v1.0.0-rc.204 Sep 2018 pre-releaseNothing published for this version
-
v1.0.0-rc.101 Feb 2018 pre-releaseNothing published for this version
-
v1.0.0-beta.531 Dec 2017 pre-releaseNothing published for this version
-
v1.0.0-beta.401 Sep 2017 pre-releaseNothing published for this version
-
v1.0.0-beta.303 Aug 2017 pre-releaseNothing published for this version
-
v1.0.0-beta.225 Jan 2017 pre-releaseNothing published for this version
-
v1.0.0-beta.112 Dec 2016 pre-releaseNothing published for this version
-
v1.0.0-alpha.321 Sep 2016 pre-releaseNothing published for this version
-
v1.0.0-alpha.226 Aug 2016 pre-releaseNothing published for this version
-
v1.0.0-alpha.127 Mar 2016 pre-releaseNothing published for this version
-
v0.1.724 Feb 2016Nothing published for this version
-
v0.1.621 Feb 2016Nothing published for this version
-
v0.1.521 Feb 2016Nothing published for this version
-
v0.1.421 Feb 2016Nothing published for this version
-
0.1.317 Feb 2016Nothing published for this version
-
v0.1.210 Jan 2016Nothing published for this version
-
v0.1.127 Dec 2015Nothing published for this version
-
v0.1.009 Dec 2015Nothing published for this version
-
v0.0.2608 Dec 2015Nothing published for this version
-
v0.0.2529 Nov 2015Nothing published for this version
-
v0.0.2429 Nov 2015Nothing published for this version
-
v0.0.2329 Nov 2015Nothing published for this version
-
v0.0.2222 Nov 2015Nothing published for this version
-
v0.0.2120 Nov 2015Nothing published for this version
-
v0.0.2004 Nov 2015Nothing published for this version
-
v0.0.1919 Oct 2015Nothing published for this version
-
v0.0.1818 Oct 2015Nothing published for this version
-
v0.0.1715 Oct 2015Nothing published for this version
-
v0.0.1602 Oct 2015Nothing published for this version
-
v0.0.1527 Sep 2015Nothing published for this version
-
v0.0.1427 Sep 2015Nothing published for this version
-
v0.0.1327 Sep 2015Nothing published for this version
-
v0.0.1224 Sep 2015Nothing published for this version
-
v0.0.1122 Sep 2015Nothing published for this version
-
v0.0.1021 Sep 2015Nothing published for this version
-
v0.0.921 Sep 2015Nothing published for this version
-
v0.0.820 Sep 2015Nothing published for this version
-
v0.0.720 Sep 2015Nothing published for this version
-
v0.0.620 Sep 2015Nothing published for this version
-
v0.0.518 Sep 2015Nothing published for this version
-
v0.0.417 Sep 2015Nothing published for this version
-
v0.0.317 Sep 2015Nothing published for this version
-
v0.0.217 Sep 2015Nothing published for this version
-
v0.0.117 Sep 2015Nothing published for this version