sabre/event
sabre/event is a library for lightweight event-based programming
6.1.1
30M downloads/mo
#833 most downloaded on Packagist
sabre-io/event
What this package is like to depend on
Last release 1 months ago
07 Jul 2026
Release timing varies
gaps range from 9 days to 1.9 years
Nearly every release is documented
notes for 27 of 28 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
29 releases · first in 2013
6 releases in the last 12 months
see the full history below
Release timeline
29 releases · Jun 2013 to Jul 2026Releases
latest 29-
6.1.106 Jul 2026Release notes
Open source →Release notes
Open source →- #162 fix: Do not sort listeners differently depending on their type ( @come-nc )
-
6.1.027 Apr 2026Release notes
Open source →6.1.0 (2026-04-27)
- #153 chore: drop support for PHP 7.4 8.0 8.1 ( @phil-davis )
This release supports PHP 8.2 and up. That is specified in composer.json so consumers should automatically select it only for projects that have minimum PHP 8.2 support.
The 6.0.* release series, supporting PHP 7.4 8.0 8.1, will have bugfixes backported if relevant/needed for some time.
-
6.0.307 Jul 2026Release notes
Open source → -
6.0.227 Apr 2026Release notes
Open source →6.0.2 (2026-04-27)
- #144 chore: adjust code for cs-fixer no-useless-else ( @phil-davis )
- #146 chore: bump phpstan to v2 and add rector ( @phil-davis )
- various bumps to versions of tools and actions in CI (@phil-davis)
This release continues to support PHP 7.4 and 8.0 through 8.5.
This 6.0.* series will be maintained as needed for PHP 7.4 support.
Release notes
Open source →- #144 chore: adjust code for cs-fixer no-useless-else ( @phil-davis )
- #146 chore: bump phpstan to v2 and add rector ( @phil-davis )
- various bumps to versions of tools and actions in CI (@phil-davis)
-
6.0.106 Sep 2024Release notes
Open source →6.0.1 (2024-09-06)
- #105 Adjust code for things reported by phpstan ( @phil-davis )
- #109 Apply latest cs-fixer changes ( @phil-davis )
- #113 Increase phpstan level to 9 ( @phil-davis )
- #116 Change array<int...> to list<...> in PHP doc ( @phil-davis )
- #120 use php-cs-fixer 3.49 ( @phil-davis )
As well as a few fixes to edge-case code flow, there are quite a lot of enhancements to the phpdoc parameter and return type declarations.
You may find that code analysis tools like phpstan now find different things when you update to 6.0.1Release notes
Open source →- #105 Adjust code for things reported by phpstan ( @phil-davis )
- #109 Apply latest cs-fixer changes ( @phil-davis )
- #113 Increase phpstan level to 9 ( @phil-davis )
- #116 Change array<int...> to list<...> in PHP doc ( @phil-davis )
- #120 use php-cs-fixer 3.49 ( @phil-davis )
-
6.0.029 Aug 2022Release notes
Open source →- #96 Minor fixes to examples, tests and comments (@phil-davis)
- #97 PHP min version 7.4 (@phil-davis)
-
5.1.907 Jul 2026Release notes
Open source → -
5.1.827 Apr 2026Release notes
Open source →5.1.8 (2026-04-27)
- #147 chore: adjust code for cs-fixer no-useless-else (@phil-davis)
- #151 fix: remove duplicate code from Promise.php and release (@phil-davis)
- various bumps to versions of tools and actions in CI (@phil-davis)
Release notes
Open source →- #147 chore: adjust code for cs-fixer no-useless-else (@phil-davis)
- #151 fix: remove duplicate code from Promise.php and release (@phil-davis)
- various bumps to versions of tools and actions in CI (@phil-davis)
-
5.1.727 Aug 2024Release notes
Open source →5.1.7 (2024-08-27)
- #132 allow php-cs-fixer major version 3 (@phil-davis)
The code changes are just code-style applied by the newer php-cs-fixer. There are no actual bug fixes, and no change to behavior.
-
5.1.626 Jul 2024Release notes
Open source →5.1.6 (2024-07-26)
- #128 Explicitly mark nullable parameter (@cedric-anne)
-
5.1.525 Jul 2024Release notes
Open source →5.1.5 (2024-07-25)
- #125 PHPdoc, CI and test changes to bring 5.1 up to PHP 8.3 (@phil-davis)
- #126 PHP 8.4 compliance (@phil-davis)
Release notes
Open source →- #125 PHPdoc, CI and test changes to bring 5.1 up to PHP 8.3 (@phil-davis)
- #126 PHP 8.4 compliance (@phil-davis)
-
5.1.404 Nov 2021 -
5.1.304 Nov 2021 -
5.1.203 Oct 2020 -
5.1.119 Sep 2020Release notes
Open source →- declare experimental php8 support (@TysonAndre)
- incorporated psalm types (@staabm)
- updated build (@phil-davis)
-
5.1.031 Jan 2020Release notes
Open source →- Added support for PHP 7.4, dropped support for PHP 7.0 (@phil-davis)
- #49: Updated testsuite for phpunit8, added phpstan coverage (@phil-davis, @DeepDiver1975)
-
5.0.305 Mar 2018Release notes
Open source →- Dropped remaining hhvm leftovers.
- #55: Fixed typo in WildcardEmitterTrait (@SamMousa)
- #54: export-ignore examples & tests in distribution (@staabm)
-
5.0.210 Jun 2017Release notes
Open source →- #50: Fixed Promise\all to resolve immediately for empty arrays (@MadHed)
- #48, #49: Performance optimisations for EmitterTrait and WildcardEmitterTrait (@lunixyacht).
-
5.0.129 Oct 2016 -
5.0.023 Oct 2016Release notes
Open source →- #42: The
coroutinefunction now supportsreturnin the passed generator function. This allows you to more generally return a value. This is a BC break as this is a feature that was only made possible with PHP 7, and before the coroutine function would only ever return the last thing that was yielded. If you depended on that feature, replace your lastyieldwith areturn.
- #42: The
-
4.0.020 Sep 2016Release notes
Open source →- sabre/event now requires PHP 7. If you need PHP 5.5 support, just keep using 3.0.0.
- PHP 7 type hints are now used everywhere. We're also using strict_types.
- Support for a new
WildcardEmitterwhich allows you to listen for events using the*wildcard. - Removed deprecated functions
Promise::errorandPromise::all. Instead, usePromise::otherwiseandPromise\all(). EventEmitter,EventEmitterTraitandEventEmitterInterfaceare now just calledEmitter,EmitterTrait, andEmitterInterface.- When rejecting Promises, it's now required to use an
ExceptionorThrowable. This makes the typical case simpler and reduces special cases.
-
3.0.005 Nov 2015Release notes
Open source →- Now requires PHP 5.5!
Promise::all()is moved toPromise\all().- Aside from the
Promise\all()function, there's now alsoPromise\race(). Promise\reject()andPromise\resolve()have also been added.- Now 100% compatible with the Ecmascript 6 Promise.
-
3.0.0-alpha124 Oct 2015 pre-releaseRelease notes
Open source →- This package now requires PHP 5.5.
- #26: Added an event loop implementation. Also knows as the Reactor Pattern.
- Renamed
Promise::errortoPromise::otherwiseto be consistent with ReactPHP and Guzzle. Theerrormethod is kept for BC but will be removed in a future version. - #27: Support for Promise-based coroutines via the
Sabre\Event\coroutinefunction. - BC Break: Promises now use the EventLoop to run "then"-events in a separate
execution context. In practise that means you need to run the event loop to
wait for any
then/otherwisecallbacks to trigger. - Promises now have a
wait()method. Allowing you to make a promise synchronous and simply wait for a result (or exception) to happen.
-
2.0.219 May 2015Release notes
Open source →- This release has no functional changes. It's just been brought up to date with the latest coding standards.
-
2.0.106 Oct 2014Release notes
Open source →- Fixed:
$prioritywas ignored inEventEmitter::oncemethod. - Fixed: Breaking the event chain was not possible in
EventEmitter::once.
- Fixed:
-
2.0.021 Jun 2014Release notes
Open source →- Added: When calling emit, it's now possible to specify a callback that will be triggered after each method handled. This is dubbed the 'continueCallback' and can be used to implement strategy patterns.
- Added: Promise object!
- Changed: EventEmitter::listeners now returns just the callbacks for an event, and no longer returns the list by reference. The list is now automatically sorted by priority.
- Update: Speed improvements.
- Updated: It's now possible to remove all listeners for every event.
- Changed: Now uses psr-4 autoloading.
-
1.0.112 Jun 2014 -
1.0.019 Jul 2013Release notes
Open source →- Added: removeListener, removeAllListeners
- Added: once, to only listen to an event emitting once.
- Added README.md.
-
0.0.128 Jun 2013Nothing published for this version