- Remove
LegacyEventDispatcherProxy
- Allow
#[AsEventListener]
attribute on methods
- Add
#[AsEventListener]
attribute for declaring listeners on PHP 8
- The
LegacyEventDispatcherProxy
class has been deprecated. - Added an optional
dispatcher
attribute to the listener and subscriber tags inRegisterListenerPass
.
- The signature of the
EventDispatcherInterface::dispatch()
method has been changed todispatch($event, string $eventName = null): object
. - The
Event
class has been removed in favor ofSymfony\Contracts\EventDispatcher\Event
. - The
TraceableEventDispatcherInterface
has been removed. - The
WrappedListener
class is now final.
AddEventAliasesPass
has been added, allowing applications and bundles to extend the event alias mapping used byRegisterListenersPass
.- Made the
event
attribute of thekernel.event_listener
tag optional for FQCN events.
- The signature of the
EventDispatcherInterface::dispatch()
method should be updated todispatch($event, string $eventName = null)
, not doing so is deprecated - deprecated the
Event
class, useSymfony\Contracts\EventDispatcher\Event
instead
- added support for invokable event listeners tagged with
kernel.event_listener
by default - The
TraceableEventDispatcher::getOrphanedEvents()
method has been added. - The
TraceableEventDispatcherInterface
has been deprecated.
- removed the
ContainerAwareEventDispatcher
class - added the
reset()
method to theTraceableEventDispatcherInterface
- Implementing
TraceableEventDispatcherInterface
without thereset()
method has been deprecated.
- The ContainerAwareEventDispatcher class has been deprecated. Use EventDispatcher with closure factories instead.
- The method
getListenerPriority($eventName, $listener)
has been added to theEventDispatcherInterface
. - The methods
Event::setDispatcher()
,Event::getDispatcher()
,Event::setName()
andEvent::getName()
have been removed. The event dispatcher and the event name are passed to the listener call.
- added Debug\TraceableEventDispatcher (originally in HttpKernel)
- changed Debug\TraceableEventDispatcherInterface to extend EventDispatcherInterface
- added RegisterListenersPass (originally in HttpKernel)
- added TraceableEventDispatcherInterface
- added ContainerAwareEventDispatcher
- added a reference to the EventDispatcher on the Event
- added a reference to the Event name on the event
- added fluid interface to the dispatch() method which now returns the Event object
- added GenericEvent event class
- added the possibility for subscribers to subscribe several times for the same event
- added ImmutableEventDispatcher