Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Releases: zendframework/zend-eventmanager

zend-eventmanager 3.2.1

25 Apr 15:34
Compare
Choose a tag to compare

Added

  • #66 adds support for PHP 7.2.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

zend-eventmanager 2.6.4

12 Dec 17:50
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #68 fixes an issue whereby triggerListeners() was not resetting the event instance's "stop propagation" flag before triggering listeners; this could result in all listeners for a given event being skipped in cases where the event manager instance triggers multiple events.

zend-eventmanager 3.2.0

11 Jul 19:20
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • #47 removes support for PHP 5.5 and HHVM.

Fixed

  • Nothing.

zend-eventmanager 3.1.0

19 Dec 21:49
Compare
Choose a tag to compare

Added

Changes

  • #17 makes a number of internal changes to how listeners are stored in order to improve performance, by as much as 10% in the scenario used in the MVC layer.

    Additionally, it optimizes when the target and event arguments are injected into an event, eliminating that step entirely when either is unavailable.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

zend-eventmanager 3.0.1

18 Feb 20:56
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #24 updates the zend-stdlib dependency to ^2.7.3 || ^3.0, allowing either major version.

zend-eventmanager 2.6.3

18 Feb 20:50
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #23 updates the requirements to allow usage with PHP 7, bumps zend-stdlib to ^2.7, and requires PHP 7 builds to pass continuous integration.

zend-eventmanager 3.0.0

12 Jan 23:32
Compare
Choose a tag to compare

Documenation:

Migration docs:

Added

  • Migration documentation was added.
  • Automated benchmarks were added.
  • EventManager::__construct() now accepts an optional SharedEventManagerInterface instance as the first argument, and an optional array of identifiers as the second. As identifiers have no meaning without a shared manager present, they are secondary to providing the shared manager.
  • EventManagerInterface::trigger() changes its signature to trigger($eventName, $target = null, $argv = []); each argument has exactly one possible meaning; the $eventName can only be a string event name. The fourth $callback argument is removed.
  • EventManagerInterface::triggerUntil() changes its signature to triggerUntil(callable $callback, $eventName, $target = null, $argv = null). Each argument has exactly one meaning.
  • EventManagerInterface adds two new methods for triggering provided EventInterface arguments: triggerEvent(EventInterface $event) and triggerEventUntil(callable $callback, EventInterface $event).
  • EventManagerInterface::attach() and detach() change their signatures to attach($eventName, callable $listener, $priority = 1) and detach(callable $listener, $eventName = null), respectively. Note that $eventName can now only be a string event name, not an array or Traversable.
  • EventManagerInterface::setIdentifiers() and addIdentifiers() change their signatures to each only accept an array of identifiers.
  • SharedEventManagerInterface::getListeners() changes signature to getListeners(array $identifiers, $eventName) and now guarantees return of an array. Note that the second argument is now required.
  • SharedEventManagerInterface::attach() changes signature to attach($identifier, $eventName, callable $listener, $priority = 1). The $identifier and $eventName must be strings.
  • SharedEventManagerInterface::detach() changes signature to detach(callable $listener, $identifier = null, $eventName = null); $identifier and $eventName must be strings if passed.
  • ListenerAggregateInterface::attach() adds an optional $priority = 1 argument. This was used already in v2, but not dictated by the interface.
  • FilterInterface::attach() and detach() have changed signature to attach(callable $callback) and detach(callable $ilter), respectively.
  • LazyListener allows wrapping:
    • fetching a listener service from a container-interop container, and
    • invoking a designated listener method with the provided event.
  • LazyEventListener extends LazyListener, and provides metadata for discovering the intended event name and priority at which to attach the lazy listener; these are consumed by:
  • LazyListenerAggregate, which, provided a list of LazyEventListeners and/or definitions to use to create them, acts as an aggregate for attaching a number of such listeners at once.
  • #20 updates the trait Zend\EventManager\Test\EventListenerIntrospectionTrait so that the implementation will work with the v3 changes; the tests written for v2 continue to pass, allowing this trait to be used to provide compatibility testing between v2 and v3.

Deprecated

  • Nothing.

Removed

  • GlobalEventManager and StaticEventManager are removed (with prejudice!).
  • ProvidesEvents, which was previously deprecated, is removed.
  • EventManagerInterface::setSharedManager() is removed. Shared managers are now expected to be injected during instantiation.
  • EventManagerInterface::getEvents() and getListeners() are removed; they had now purpose within the implementation.
  • EventManagerInterface::setEventClass() was renamed to setEventPrototype(), which now expects an EventInterface instance. That instance will be cloned whenever a new event is created.
  • EventManagerInterface::attachAggregate() and detachAggregate() are removed. Users should use the attach() and detach() methods of the aggregates themselves.
  • SharedEventAggregateAwareInterface and SharedListenerAggregateInterface are removed. This was an undocumented and largely unused feature.
  • SharedEventManagerAwareInterface is removed. A new interface, SharedEventsCapableInterface defines the getSharedManager() method from the interface, and EventManagerInterface extends that new interface.
  • SharedEventManagerInterface::getEvents() is removed, as it had no purpose in the implementation.
  • ResponseCollection::setStopped() no longer implements a fluent interface.

Fixed

  • FilterIterator::insert() has been modified to raise an exception if the value provided is not a callable.

zend-eventmanager 2.6.2

12 Jan 23:30
Compare
Choose a tag to compare

Added

  • #19 adds a new trait, Zend\EventManager\Test\EventListenerIntrospectionTrait, intended for composition in unit tests. It provides a number of methods that can be used to retrieve listeners with or without associated priority, and the assertion assertListenerAtPriority(callable $listener, $priority, $event, EventManager $events, $message = ''), which can be used for testing that a listener was registered at the specified priority with the specified event.

    The features in this patch are intended to facilitate testing against both version 2 and version 3 of zend-eventmanager, as it provides a consistent API for retrieving lists of events and listeners between the two versions.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

release-2.6.1

08 Dec 06:06
release-2.6.1
Compare
Choose a tag to compare

zend-eventmanager 2.6.1

This patch release fixes a dependency problem that prevented users to require
the component, as the dev-dependency athletic/athletic was required as
dev-master (#12).

zend-eventmanager 2.6.0

29 Sep 17:02
Compare
Choose a tag to compare

This release is geared towards forwards-compatibility with version 3.0. It primarily marks a number of interfaces, classes, and methods as deprecated, but also introduces several features to aid in preparing your code for version 3.

We recommend reading the migration guide to understand the impact of these changes and what changes you can make to your code base in order to minimize the impact of migration.

Added

  • Added Zend\EventManager\SharedEventsCapableInterface. This interface will largely replace Zend\EventManager\SharedEventManagerAwareInterface in version 3, and the latter was updated to extend it.
  • Added EventManager::triggerEvent(EventInterface $event) as a forwards-compatibility feature.
  • Add EventManager::triggerEventUntil(callable $callback, EventIterface $event) as a forwards-compatibility feature.
  • Adds Athletic benchmarks to aid in gauging performanc impact of changes; these are a development change only.

Deprecated

  • Marked GlobalEventManager as deprecated; this class will be removed in version 3.
  • Marked StaticEventManager as deprecated; this class will be removed in version 3.
  • Marked SharedListenerAggregateInterface as deprecated; this interface will be removed in version 3.
  • Marked SharedEventAggregateAwareInterface as deprecated; this interface will be removed in version 3.
  • Marked SharedEventManagerAwareInterface as deprecated; this interface will be removed in version 3.
  • Marked EventManager::setSharedManager() as deprecated; this method will be removed in version 3.
  • Marked EventManager::unsetSharedManager() as deprecated; this method will be removed in version 3.
  • Marked EventManagerInterface:: and EventManager::getEvents() as deprecated; this method will be removed in version 3.
  • Marked EventManagerInterface:: and EventManager::getListeners() as deprecated; this method will be removed in version 3.
  • Marked EventManagerInterface:: and Eventmanager::setEventClass() as deprecated; this method is renamed to setEventPrototype(EventInterface $event) in version 3.
  • Marked EventManagerInterface:: and EventManager::attachAggregate() as deprecated; this method will be removed in version 3.
  • Marked EventManagerInterface:: and EventManager::detachAggregate() as deprecated; this method will be removed in version 3.
  • Marked SharedEventManagerInterface:: and SharedEventManager::getEvents() as deprecated; this method will be removed in version 3.

Removed

  • Nothing.

Fixed

  • Nothing.