Expressive v1.0.0.rc3 Release Notes

Release Date: 2015-12-07 // over 8 years ago
  • ๐Ÿš€ Third release candidate.

    โž• Added

    • #185 Support casting zend-view models to arrays.
    • ๐Ÿ‘ #192 adds support for specifying arrays of middleware both when routing and when creating pipeline middleware. This feature is opt-in and backwards compatible; simply specify an array value that does not resolve as a callable. Values in the array must be callables, service names resolving to callable middleware, or fully qualified class names that can be instantiated without arguments, and which result in invokable middleware.
    • #200, #206, and #211 add functionality for observing computed RouteResults. Zend\Expressive\Application now implements Zend\Expressive\Router\RouteResultSubjectInterface, which allows attaching Zend\Expressive\RouteResultObserverInterface implementations and notifying them of computed RouteResult instances. The following methods are now available on the Application instance:
      • attachRouteResultObserver(Router\RouteResultObserverInterface $observer)
      • detachRouteResultObserver(Router\RouteResultObserverInterface $observer)
      • notifyRouteResultObservers(RouteResult $result); Application calls this internally within routeMiddleware. This feature enables the ability to notify objects of the calculated RouteResult without needing to inject middleware into the system.
    • #81 adds a cookbook entry for creating 404 handlers.
    • #210 adds a documentation section on the new zendframework/zend-expressive-helpers utilities.

    ๐Ÿ—„ Deprecated

    • Nothing.

    โœ‚ Removed

    ๐Ÿ›  Fixed

    • #187 Inject the route result as an attribute
    • โšก๏ธ #197 updates the Zend\Expressive\Container\ApplicationFactory to raise exceptions in cases where received configuration is unusable, instead of silently ignoring it. This is a small backwards compatibility break, but is done to eliminate difficult to identify issues due to bad configuration.
    • #202 clarifies that RouterInterface implements MUST throw a RuntimeException if addRoute() is called after either match() or generateUri() have been called.