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
RouteResult
s.Zend\Expressive\Application
now implementsZend\Expressive\Router\RouteResultSubjectInterface
, which allows attachingZend\Expressive\RouteResultObserverInterface
implementations and notifying them of computedRouteResult
instances. The following methods are now available on theApplication
instance:attachRouteResultObserver(Router\RouteResultObserverInterface $observer)
detachRouteResultObserver(Router\RouteResultObserverInterface $observer)
notifyRouteResultObservers(RouteResult $result)
;Application
calls this internally withinrouteMiddleware
. This feature enables the ability to notify objects of the calculatedRouteResult
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
- ๐ #204 removes the
Router
andTemplate
components, as they are now shipped with the following packages, respectively:- zendframework/zend-expressive-router
- zendframework/zend-expressive-template This package has been updated to depend on each of them.
๐ 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 aRuntimeException
ifaddRoute()
is called after eithermatch()
orgenerateUri()
have been called.