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

Releases: zendframework/zend-mvc

zend-mvc 2.7.2

08 Mar 18:32
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #95 re-introduces the various zend-di aliases and factories in Zend\Mvc\Service\ServiceListenerFactory, which were accidently removed in the 2.7.0 release.
  • #96 fixes shared event detachment/attachment within the Forward plugin to work with both v2 and v3 of zend-eventmanager.
  • #93 ensures that the Console Catchall route factory will not fail when the defaults $options array key is missing.
  • #43 updates the AbstractRestfulController to ensure it can accept textual (e.g., XML, YAML) data.
  • #79 updates the continuous integration configuration to ensure we test against lowest and highest accepted dependencies, and those in the current lockfile.

zend-mvc 2.7.1

02 Mar 15:11
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #88 addresses backwards compatibility concerns raised by users due to the new deprecation notices emitted by ServiceLocatorAware initializers; in particular, all AbstractController implementations were raising a deprecation wen first pulled from the ControllerManager.

    At this time, notices are now only raised in the following conditions:

    • When a non-controller, non-plugin manager, ServiceLocatorAware instance is detected.
    • When a plugin manager instance is detected that is ServiceLocatorAware and does not have a composed service locator. In this situation, the deprecation notice indicates that the factory for the plugin manager should be updated to inject the service locator via the constructor.
    • For controllers that do not extend AbstractController but do implement ServiceLocatorAware.
    • When calling getServiceLocator() from within an AbstractController extension; this properly calls out the practice that should be avoided and which requires updates to the controller.

zend-mvc 2.7.0

01 Mar 19:23
Compare
Choose a tag to compare

Added

  • #31 adds three new optional arguments to the Zend\Mvc\Application constructor: an EventManager instance, a Request instance, and a Response instance.

  • #36 adds more than a dozen service factories, primarily to separate conditional factories into discrete factories.

  • #32 adds Zend\Mvc\MiddlewareListener, which allows dispatching PSR-7-based middleware implementing the signature function (ServerRequestInterface $request, ResponseInterface $response). To dispatch such middleware, point the middleware "default" for a given route to a service name or callable that will resolve to the middleware:

    [ 'router' => 'routes' => [
        'path' => [
            'type' => 'Literal',
            'options' => [
                'route' => '/path',
                'defaults' => [
                    'middleware' => 'ServiceNameForPathMiddleware',
                ],
            ],
        ],
    ]

    This new listener listens at the same priority as the DispatchListener, but, due to being registered earlier, will invoke first; if the route match does not resolve to middleware, it will fall through to the original DispatchListener, allowing normal ZF2-style controller dispatch.

  • #84 publishes the documentation to https://zendframework.github.io/zend-mvc/

Deprecated

  • Two initializers registered by Zend\Mvc\Service\ServiceManagerConfig are now deprecated, and will be removed starting in version 3.0:
    • ServiceManagerAwareInitializer, which injects classes implementing Zend\ServiceManager\ServiceManagerAwareInterface with the service manager instance. Users should create factories for such classes that directly inject their dependencies instead.
    • ServiceLocatorAwareInitializer, which injects classes implementing Zend\ServiceManager\ServiceLocatorAwareInterface with the service manager instance. Users should create factories for such classes that directly inject their dependencies instead.

Removed

  • Zend\Mvc\Controller\AbstractController no longer directly implements Zend\ServiceManager\ServiceLocatorAwareInterface, but still implements the methods defined in that interface. This was done to provide forwards-compatibility, as zend-servicemanager v3 no longer defines the interface. All initializers that do ServiceLocatorInterface injection were updated to also inject when just the methods are present.

Fixed

  • #31 and #76 update the component to be forwards-compatible with zend-eventmanager v3.
  • #36, #76, #80, #81, and #82 update the component to be forwards-compatible with zend-servicemanager v3. Several changes were introduced to support this effort:
    • Added a RouteInvokableFactory, which can act as either a FactoryInterface or AbstractFactoryInterface for loading invokable route classes, including by fully qualified class name. This is registered as an abstract factory by default with the RoutePluginManager.
    • The DispatchListener now receives the controller manager instance at instantiation.
    • The ViewManager implementations were updated, and most functionality within separated into discrete factories.

zend-mvc 2.6.3

23 Feb 15:29
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #74 fixes the FormAnnotationBuilderFactory's usage of the FormElementManager::injectFactory() method to ensure it works correctly on all versions.

zend-mvc 2.6.2

22 Feb 18:46
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #71 fixes the ViewHelperManagerFactory to be backwards-compatible with v2 by ensuring that the factories for each of the url, basepath, and doctype view helpers are registered using the fully qualified class names present in Zend\View\HelperPluginManager; these changes ensure requests for these helpers resolve to these override factories, instead of the InvokableFactory.

zend-mvc 2.6.1

16 Feb 20:08
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #69 largely reverts #30, having the component utilize the HydratorPluginManager from zend-stdlib 2.7.5. This was done to provide backwards compatibility; while zend-stdlib Hydrator types can be used in place of zend-hydrator types, the reverse is not true.

    You can make your code forwards-compatible with version 3, where the HydratorPluginManager will be pulled from zend-hydrator, by updating your typehints to use the zend-hydrator classes instead of those from zend-stdlib; the instances returned from the zend-stdlib HydratorPluginManager, because they extend those from zend-hydrator, remain compatible.