From 6fa817b257e092c77f06bf27ea89d55a19fd1120 Mon Sep 17 00:00:00 2001 From: Mateusz Sip Date: Sun, 1 Oct 2017 22:31:12 +0200 Subject: [PATCH 1/5] Added orphaned events to TraceableEventDispatcherInterface, supported in collector --- .../Bundle/WebProfilerBundle/CHANGELOG.md | 1 + .../views/Collector/events.html.twig | 20 +++++++++++ .../Component/EventDispatcher/CHANGELOG.md | 1 + .../Debug/TraceableEventDispatcher.php | 16 +++++++++ .../TraceableEventDispatcherInterface.php | 7 ++++ .../Debug/TraceableEventDispatcherTest.php | 34 +++++++++++++++++++ src/Symfony/Component/HttpKernel/CHANGELOG.md | 1 + .../DataCollector/EventDataCollector.php | 26 ++++++++++++++ .../Tests/Fixtures/TestEventDispatcher.php | 5 +++ 9 files changed, 111 insertions(+) diff --git a/src/Symfony/Bundle/WebProfilerBundle/CHANGELOG.md b/src/Symfony/Bundle/WebProfilerBundle/CHANGELOG.md index e87949cbd3da8..f0f00efe7804d 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/CHANGELOG.md +++ b/src/Symfony/Bundle/WebProfilerBundle/CHANGELOG.md @@ -4,6 +4,7 @@ CHANGELOG 4.0.0 ----- + * added information about orphaned events * removed the `WebProfilerExtension::dumpValue()` method * removed the `getTemplates()` method of the `TemplateManager` class in favor of the ``getNames()`` method * removed the `web_profiler.position` config option and the diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig index 238096157acc3..d36bad9cda44b 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig +++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/events.html.twig @@ -45,6 +45,26 @@ {% endif %} + +
+

Orphaned events {{ collector.orphanedEvents|length }}

+
+ {% if collector.orphanedEvents is empty %} +
+

+ There are no orphaned events. +

+

+ All dispatched events were handled or an error occurred + when trying to collect orphaned events (in which case check the + logs to get more information). +

+
+ {% else %} + {{ helper.render_table(collector.orphanedEvents) }} + {% endif %} +
+
{% endif %} {% endblock %} diff --git a/src/Symfony/Component/EventDispatcher/CHANGELOG.md b/src/Symfony/Component/EventDispatcher/CHANGELOG.md index e570303e742cc..8a857e19e25a7 100644 --- a/src/Symfony/Component/EventDispatcher/CHANGELOG.md +++ b/src/Symfony/Component/EventDispatcher/CHANGELOG.md @@ -4,6 +4,7 @@ CHANGELOG 4.0.0 ----- + * The method `EventDispatcherInterface::getOrphanedEvents()` has been added. * removed the `ContainerAwareEventDispatcher` class * added the `reset()` method to the `TraceableEventDispatcherInterface` diff --git a/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php b/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php index 9b5c689ad7137..8ba18f5241b71 100644 --- a/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php +++ b/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php @@ -32,6 +32,7 @@ class TraceableEventDispatcher implements TraceableEventDispatcherInterface private $called; private $dispatcher; private $wrappedListeners; + private $orphanedEvents; public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, LoggerInterface $logger = null) { @@ -40,6 +41,7 @@ public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $sto $this->logger = $logger; $this->called = array(); $this->wrappedListeners = array(); + $this->orphanedEvents = array(); } /** @@ -247,6 +249,10 @@ protected function postDispatch($eventName, Event $event) private function preProcess($eventName) { + if (false === $this->dispatcher->hasListeners($eventName)) { + $this->orphanedEvents[] = $eventName; + } + foreach ($this->dispatcher->getListeners($eventName) as $listener) { $priority = $this->getListenerPriority($eventName, $listener); $wrappedListener = new WrappedListener($listener, null, $this->stopwatch, $this); @@ -319,4 +325,14 @@ private function sortListenersByPriority($a, $b) return 1; } + + /** + * Gets the orphaned events. + * + * @return array An array of orphaned events + */ + public function getOrphanedEvents() + { + return $this->orphanedEvents; + } } diff --git a/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php b/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php index 4adbe9693a787..e4bf60f1f1ef1 100644 --- a/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php +++ b/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php @@ -36,4 +36,11 @@ public function getNotCalledListeners(); * Resets the trace. */ public function reset(); + + /** + * Gets the orphaned events. + * + * @return array An array of orphaned events + */ + public function getOrphanedEvents(); } diff --git a/src/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php b/src/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php index 53a3421afaf6a..eac8c63eebdaf 100644 --- a/src/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php +++ b/src/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php @@ -153,6 +153,40 @@ public function testGetCalledListenersNested() $this->assertCount(2, $dispatcher->getCalledListeners()); } + public function testItReturnsNoOrphanedEventsWhenCreated() + { + // GIVEN + $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); + // WHEN + $events = $tdispatcher->getOrphanedEvents(); + // THEN + $this->assertEmpty($events); + } + + public function testItReturnsOrphanedEventsAfterDispatch() + { + // GIVEN + $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); + $tdispatcher->dispatch('foo'); + // WHEN + $events = $tdispatcher->getOrphanedEvents(); + // THEN + $this->assertCount(1, $events); + $this->assertEquals(array('foo'), $events); + } + + public function testItDoesNotReturnHandledEvents() + { + // GIVEN + $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); + $tdispatcher->addListener('foo', function () {}); + $tdispatcher->dispatch('foo'); + // WHEN + $events = $tdispatcher->getOrphanedEvents(); + // THEN + $this->assertEmpty($events); + } + public function testLogger() { $logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock(); diff --git a/src/Symfony/Component/HttpKernel/CHANGELOG.md b/src/Symfony/Component/HttpKernel/CHANGELOG.md index a8ec514ecc920..1467958933428 100644 --- a/src/Symfony/Component/HttpKernel/CHANGELOG.md +++ b/src/Symfony/Component/HttpKernel/CHANGELOG.md @@ -9,6 +9,7 @@ CHANGELOG 4.0.0 ----- + * added orphaned events support to `EventDataCollector` * removed the `DataCollector::varToString()` method, use `DataCollector::cloneVar()` instead * using the `DataCollector::cloneVar()` method requires the VarDumper component diff --git a/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php index e82a1fc19bb09..2a3d24e0ad9fb 100644 --- a/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php +++ b/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php @@ -38,6 +38,7 @@ public function collect(Request $request, Response $response, \Exception $except $this->data = array( 'called_listeners' => array(), 'not_called_listeners' => array(), + 'orphaned_events' => array(), ); } @@ -55,6 +56,7 @@ public function lateCollect() if ($this->dispatcher instanceof TraceableEventDispatcherInterface) { $this->setCalledListeners($this->dispatcher->getCalledListeners()); $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners()); + $this->setOrphanedEvents($this->dispatcher->getOrphanedEvents()); } $this->data = $this->cloneVar($this->data); } @@ -107,6 +109,30 @@ public function getNotCalledListeners() return $this->data['not_called_listeners']; } + /** + * Sets the orphaned events. + * + * @param array $events An array of orphaned events + * + * @see TraceableEventDispatcherInterface + */ + public function setOrphanedEvents(array $events) + { + $this->data['orphaned_events'] = $events; + } + + /** + * Gets the orphaned events. + * + * @return array An array of orphaned events + * + * @see TraceableEventDispatcherInterface + */ + public function getOrphanedEvents() + { + return $this->data['orphaned_events']; + } + /** * {@inheritdoc} */ diff --git a/src/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php b/src/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php index ca2e6a693da6e..2629f37e98678 100644 --- a/src/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php +++ b/src/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php @@ -29,4 +29,9 @@ public function getNotCalledListeners() public function reset() { } + + public function getOrphanedEvents() + { + return array(); + } } From e637fb35044ad0e7468b908d69bc9ee3171c47b4 Mon Sep 17 00:00:00 2001 From: Mateusz Sip Date: Mon, 2 Oct 2017 19:32:42 +0200 Subject: [PATCH 2/5] Drop usage of TraceableEventDispatcherInterface in favor of concrete implementation --- src/Symfony/Component/HttpKernel/CHANGELOG.md | 2 +- .../DataCollector/EventDataCollector.php | 50 +++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/Symfony/Component/HttpKernel/CHANGELOG.md b/src/Symfony/Component/HttpKernel/CHANGELOG.md index 1467958933428..ceb0ce6fb49db 100644 --- a/src/Symfony/Component/HttpKernel/CHANGELOG.md +++ b/src/Symfony/Component/HttpKernel/CHANGELOG.md @@ -9,7 +9,6 @@ CHANGELOG 4.0.0 ----- - * added orphaned events support to `EventDataCollector` * removed the `DataCollector::varToString()` method, use `DataCollector::cloneVar()` instead * using the `DataCollector::cloneVar()` method requires the VarDumper component @@ -34,6 +33,7 @@ CHANGELOG 3.4.0 ----- + * added orphaned events support to `EventDataCollector` * added a minimalist PSR-3 `Logger` class that writes in `stderr` * made kernels implementing `CompilerPassInterface` able to process the container * deprecated bundle inheritance diff --git a/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php index 2a3d24e0ad9fb..80fc4243574b4 100644 --- a/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php +++ b/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php @@ -11,10 +11,10 @@ namespace Symfony\Component\HttpKernel\DataCollector; +use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface; /** * EventDataCollector. @@ -53,7 +53,7 @@ public function reset() public function lateCollect() { - if ($this->dispatcher instanceof TraceableEventDispatcherInterface) { + if ($this->dispatcher instanceof TraceableEventDispatcher) { $this->setCalledListeners($this->dispatcher->getCalledListeners()); $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners()); $this->setOrphanedEvents($this->dispatcher->getOrphanedEvents()); @@ -66,7 +66,7 @@ public function lateCollect() * * @param array $listeners An array of called listeners * - * @see TraceableEventDispatcherInterface + * @see TraceableEventDispatcher */ public function setCalledListeners(array $listeners) { @@ -74,51 +74,51 @@ public function setCalledListeners(array $listeners) } /** - * Gets the called listeners. + * Sets the not called listeners. * - * @return array An array of called listeners + * @param array $listeners An array of not called listeners * - * @see TraceableEventDispatcherInterface + * @see TraceableEventDispatcher */ - public function getCalledListeners() + public function setNotCalledListeners(array $listeners) { - return $this->data['called_listeners']; + $this->data['not_called_listeners'] = $listeners; } /** - * Sets the not called listeners. + * Sets the orphaned events. * - * @param array $listeners An array of not called listeners + * @param array $events An array of orphaned events * - * @see TraceableEventDispatcherInterface + * @see TraceableEventDispatcher */ - public function setNotCalledListeners(array $listeners) + public function setOrphanedEvents(array $events) { - $this->data['not_called_listeners'] = $listeners; + $this->data['orphaned_events'] = $events; } /** - * Gets the not called listeners. + * Gets the called listeners. * - * @return array An array of not called listeners + * @return array An array of called listeners * - * @see TraceableEventDispatcherInterface + * @see TraceableEventDispatcher */ - public function getNotCalledListeners() + public function getCalledListeners() { - return $this->data['not_called_listeners']; + return $this->data['called_listeners']; } /** - * Sets the orphaned events. + * Gets the not called listeners. * - * @param array $events An array of orphaned events + * @return array An array of not called listeners * - * @see TraceableEventDispatcherInterface + * @see TraceableEventDispatcher */ - public function setOrphanedEvents(array $events) + public function getNotCalledListeners() { - $this->data['orphaned_events'] = $events; + return $this->data['not_called_listeners']; } /** @@ -126,7 +126,7 @@ public function setOrphanedEvents(array $events) * * @return array An array of orphaned events * - * @see TraceableEventDispatcherInterface + * @see TraceableEventDispatcher */ public function getOrphanedEvents() { From 59c8adf37f696127bfd90c8b6c63f3e6c16464eb Mon Sep 17 00:00:00 2001 From: Mateusz Sip Date: Mon, 2 Oct 2017 19:33:18 +0200 Subject: [PATCH 3/5] removed getOrphanedEvents from TraceableEventDispatcherInterface, introduced interface deprecation --- .../Bundle/WebProfilerBundle/CHANGELOG.md | 6 ++- .../Component/EventDispatcher/CHANGELOG.md | 6 ++- .../Debug/TraceableEventDispatcher.php | 24 ++++++------ .../TraceableEventDispatcherInterface.php | 9 +---- src/Symfony/Component/HttpKernel/CHANGELOG.md | 2 +- .../DataCollector/EventDataCollector.php | 39 +++++++++++-------- .../Tests/Fixtures/TestEventDispatcher.php | 5 +-- 7 files changed, 50 insertions(+), 41 deletions(-) diff --git a/src/Symfony/Bundle/WebProfilerBundle/CHANGELOG.md b/src/Symfony/Bundle/WebProfilerBundle/CHANGELOG.md index f0f00efe7804d..182a804583313 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/CHANGELOG.md +++ b/src/Symfony/Bundle/WebProfilerBundle/CHANGELOG.md @@ -1,10 +1,14 @@ CHANGELOG ========= -4.0.0 +4.1.0 ----- * added information about orphaned events + +4.0.0 +----- + * removed the `WebProfilerExtension::dumpValue()` method * removed the `getTemplates()` method of the `TemplateManager` class in favor of the ``getNames()`` method * removed the `web_profiler.position` config option and the diff --git a/src/Symfony/Component/EventDispatcher/CHANGELOG.md b/src/Symfony/Component/EventDispatcher/CHANGELOG.md index 8a857e19e25a7..6391c6c6b1795 100644 --- a/src/Symfony/Component/EventDispatcher/CHANGELOG.md +++ b/src/Symfony/Component/EventDispatcher/CHANGELOG.md @@ -1,10 +1,14 @@ CHANGELOG ========= +4.1.0 +----- + + * The method `TraceableEventDispatcher::getOrphanedEvents()` has been added. + 4.0.0 ----- - * The method `EventDispatcherInterface::getOrphanedEvents()` has been added. * removed the `ContainerAwareEventDispatcher` class * added the `reset()` method to the `TraceableEventDispatcherInterface` diff --git a/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php b/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php index 8ba18f5241b71..7860e3b6d950b 100644 --- a/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php +++ b/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php @@ -209,6 +209,16 @@ public function getNotCalledListeners() return $notCalled; } + /** + * Gets the orphaned events. + * + * @return array An array of orphaned events + */ + public function getOrphanedEvents() + { + return $this->orphanedEvents; + } + public function reset() { $this->called = array(); @@ -249,8 +259,10 @@ protected function postDispatch($eventName, Event $event) private function preProcess($eventName) { - if (false === $this->dispatcher->hasListeners($eventName)) { + if (!$this->dispatcher->hasListeners($eventName)) { $this->orphanedEvents[] = $eventName; + + return; } foreach ($this->dispatcher->getListeners($eventName) as $listener) { @@ -325,14 +337,4 @@ private function sortListenersByPriority($a, $b) return 1; } - - /** - * Gets the orphaned events. - * - * @return array An array of orphaned events - */ - public function getOrphanedEvents() - { - return $this->orphanedEvents; - } } diff --git a/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php b/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php index e4bf60f1f1ef1..c76918d0cdb7c 100644 --- a/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php +++ b/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php @@ -14,6 +14,8 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface; /** + * @deprecated since version 4.1, will be removed in 5.0. + * * @author Fabien Potencier */ interface TraceableEventDispatcherInterface extends EventDispatcherInterface @@ -36,11 +38,4 @@ public function getNotCalledListeners(); * Resets the trace. */ public function reset(); - - /** - * Gets the orphaned events. - * - * @return array An array of orphaned events - */ - public function getOrphanedEvents(); } diff --git a/src/Symfony/Component/HttpKernel/CHANGELOG.md b/src/Symfony/Component/HttpKernel/CHANGELOG.md index ceb0ce6fb49db..e22c724085cb4 100644 --- a/src/Symfony/Component/HttpKernel/CHANGELOG.md +++ b/src/Symfony/Component/HttpKernel/CHANGELOG.md @@ -4,6 +4,7 @@ CHANGELOG 4.1.0 ----- + * added orphaned events support to `EventDataCollector` * `ExceptionListener` now logs and collects exceptions at priority `2048` (previously logged at `-128` and collected at `0`) 4.0.0 @@ -33,7 +34,6 @@ CHANGELOG 3.4.0 ----- - * added orphaned events support to `EventDataCollector` * added a minimalist PSR-3 `Logger` class that writes in `stderr` * made kernels implementing `CompilerPassInterface` able to process the container * deprecated bundle inheritance diff --git a/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php index 80fc4243574b4..f9d5bed130cbd 100644 --- a/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php +++ b/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\DataCollector; use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher; +use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -53,11 +54,15 @@ public function reset() public function lateCollect() { - if ($this->dispatcher instanceof TraceableEventDispatcher) { + if ($this->dispatcher instanceof TraceableEventDispatcherInterface) { $this->setCalledListeners($this->dispatcher->getCalledListeners()); $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners()); + } + + if ($this->dispatcher instanceof TraceableEventDispatcher) { $this->setOrphanedEvents($this->dispatcher->getOrphanedEvents()); } + $this->data = $this->cloneVar($this->data); } @@ -74,51 +79,51 @@ public function setCalledListeners(array $listeners) } /** - * Sets the not called listeners. + * Gets the called listeners. * - * @param array $listeners An array of not called listeners + * @return array An array of called listeners * * @see TraceableEventDispatcher */ - public function setNotCalledListeners(array $listeners) + public function getCalledListeners() { - $this->data['not_called_listeners'] = $listeners; + return $this->data['called_listeners']; } /** - * Sets the orphaned events. + * Sets the not called listeners. * - * @param array $events An array of orphaned events + * @param array $listeners * * @see TraceableEventDispatcher */ - public function setOrphanedEvents(array $events) + public function setNotCalledListeners(array $listeners) { - $this->data['orphaned_events'] = $events; + $this->data['not_called_listeners'] = $listeners; } /** - * Gets the called listeners. + * Gets the not called listeners. * - * @return array An array of called listeners + * @return array * * @see TraceableEventDispatcher */ - public function getCalledListeners() + public function getNotCalledListeners() { - return $this->data['called_listeners']; + return $this->data['not_called_listeners']; } /** - * Gets the not called listeners. + * Sets the orphaned events. * - * @return array An array of not called listeners + * @param array $events An array of orphaned events * * @see TraceableEventDispatcher */ - public function getNotCalledListeners() + public function setOrphanedEvents(array $events) { - return $this->data['not_called_listeners']; + $this->data['orphaned_events'] = $events; } /** diff --git a/src/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php b/src/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php index 2629f37e98678..d5456fe5dcadc 100644 --- a/src/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php +++ b/src/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php @@ -11,10 +11,9 @@ namespace Symfony\Component\HttpKernel\Tests\Fixtures; -use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface; -use Symfony\Component\EventDispatcher\EventDispatcher; +use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher; -class TestEventDispatcher extends EventDispatcher implements TraceableEventDispatcherInterface +class TestEventDispatcher extends TraceableEventDispatcher { public function getCalledListeners() { From e53b7f32b75d8d759af5c49ee44f56d37a1cdef4 Mon Sep 17 00:00:00 2001 From: Mateusz Sip Date: Sun, 3 Dec 2017 18:33:34 +0100 Subject: [PATCH 4/5] Deprecations documented in UPGRADE --- UPGRADE-4.1.md | 5 +++++ UPGRADE-5.0.md | 5 +++++ src/Symfony/Component/EventDispatcher/CHANGELOG.md | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPGRADE-4.1.md b/UPGRADE-4.1.md index 2b23d370cf95e..2d63da2911792 100644 --- a/UPGRADE-4.1.md +++ b/UPGRADE-4.1.md @@ -1,6 +1,11 @@ UPGRADE FROM 4.0 to 4.1 ======================= +Event Dispatcher +---------------- + + * The `TraceableEventDispatcherInterface` has been deprecated and will be removed in 5.0. + HttpFoundation -------------- diff --git a/UPGRADE-5.0.md b/UPGRADE-5.0.md index 4fdb14222921a..a431800f19a42 100644 --- a/UPGRADE-5.0.md +++ b/UPGRADE-5.0.md @@ -1,6 +1,11 @@ UPGRADE FROM 4.x to 5.0 ======================= +Event Dispatcher +---------------- + + * The `TraceableEventDispatcherInterface` has been removed. + HttpFoundation -------------- diff --git a/src/Symfony/Component/EventDispatcher/CHANGELOG.md b/src/Symfony/Component/EventDispatcher/CHANGELOG.md index 6391c6c6b1795..7a87a8d7e6ab2 100644 --- a/src/Symfony/Component/EventDispatcher/CHANGELOG.md +++ b/src/Symfony/Component/EventDispatcher/CHANGELOG.md @@ -4,7 +4,8 @@ CHANGELOG 4.1.0 ----- - * The method `TraceableEventDispatcher::getOrphanedEvents()` has been added. + * The `TraceableEventDispatcher::getOrphanedEvents()` method has been added. + * The `TraceableEventDispatcherInterface` has been deprecated and will be removed in 5.0. 4.0.0 ----- From 9d5cae5f8199d431c0783519c445a4e43d8b4e66 Mon Sep 17 00:00:00 2001 From: Mateusz Sip Date: Thu, 28 Dec 2017 03:53:59 +0100 Subject: [PATCH 5/5] Corrected component name in UPGRADE --- UPGRADE-4.1.md | 4 ++-- UPGRADE-5.0.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/UPGRADE-4.1.md b/UPGRADE-4.1.md index 2d63da2911792..a38288cd12f88 100644 --- a/UPGRADE-4.1.md +++ b/UPGRADE-4.1.md @@ -1,8 +1,8 @@ UPGRADE FROM 4.0 to 4.1 ======================= -Event Dispatcher ----------------- +EventDispatcher +--------------- * The `TraceableEventDispatcherInterface` has been deprecated and will be removed in 5.0. diff --git a/UPGRADE-5.0.md b/UPGRADE-5.0.md index a431800f19a42..705b3d80114c6 100644 --- a/UPGRADE-5.0.md +++ b/UPGRADE-5.0.md @@ -1,8 +1,8 @@ UPGRADE FROM 4.x to 5.0 ======================= -Event Dispatcher ----------------- +EventDispatcher +--------------- * The `TraceableEventDispatcherInterface` has been removed. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy