Changelog History
Page 3
-
v1.1.1 Changes
February 14, 2017โ Added
- Nothing.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- ๐ #447 fixes an
error in the
ApplicationFactory
that occurs when theconfig
service is anArrayObject
. Prior to the fix,ArrayObject
configurations would cause a fatal error when injecting the pipeline and/or routes.
-
v1.1.0 Changes
February 13, 2017โ Added
- #309 adds the
ability to provide options with which to instantiate the
FinalHandler
instance, via the configuration:
[ 'final_handler' => [ 'options' => [ /* array of options */ ], ],
#373 adds interception of exceptions from the
ServerRequestFactory
for invalid request information in order to return400
responses.#432 adds two new configuration flags for use with
Zend\Expressive\Container\ApplicationFactory
:zend-expressive.programmatic_pipelines
: when enabled, the factory will ignore themiddleware_pipeline
androutes
configuration, allowing you to wire these programmatically instead. We recommend creating these in the filesconfig/pipeline.php
andconfig/routes.php
, respectively, and modifying yourpublic/index.php
torequire
these files in statements immediately preceding the call to$app->run()
.zend-expressive.raise_throwables
: when enabled, this will be used to notify zend-stratigility's internal dispatcher to no longer catch exceptions/throwables, and instead allow them to bubble out. This allows you to write custom middleware for handling errors.
#429 adds
Zend\Expressive\Application::getDefaultDelegate()
as a forwards-compatibility measure for the upcoming version 2.0.0. Currently, it proxies togetFinalHandler()
.๐ #435 adds support for the 2.X versions of zend-expressive-router and the various router implementations. This change also allows usage of zend-expressive-helpers 3.X.
๐ Changed
โก๏ธ #429 updates the minimum supported zend-stratigility version to 1.3.3.
โก๏ธ #396 updates the
Zend\Expressive\Container\ApplicationFactory
to vary creation of theApplication
instance based on two new configuration variables:zend-expressive.programmatic_pipeline
will cause the factory to skip injection of the middleware pipeline and routes from configuration. It is then up to the developer to do so, or use theApplication
API to pipe middleware and/or add routed middleware.zend-expressive.raise_throwables
will cause the factory to call the newraiseThrowables()
method exposed byApplication
(and inherited fromZend\Stratigility\MiddlewarePipe
). Doing so will cause the application to raise anyThrowable
orException
instances caught, instead of catching them and dispatching them to (legacy) Stratigility error middleware.
๐ Deprecated
- ๐ #429 deprecates
the following methods and classes:
Zend\Expressive\Application::pipeErrorHandler()
; use theraise_throwables
flag and standard middleware to handle errors instead.Zend\Expressive\Application::routeMiddleware()
; this is extracted to a dedicated middleware class for 2.0.Zend\Expressive\Application::dispatchMiddleware()
; this is extracted to a dedicated middleware class for 2.0.Zend\Expressive\Application::getFinalHandler()
(this patch providesgetDefaultDelegate()
as a forwards-compatibility measure)Zend\Expressive\Container\Exception\InvalidArgumentException
; this will be removed in 2.0.0, and places where it was used will instead throwZend\Expressive\Exception\InvalidArgumentException
.Zend\Expressive\Container\Exception\NotFoundException
; this exception is never thrown at this point.Zend\Expressive\Container\TemplatedErrorHandlerFactory
Zend\Expressive\Container\WhoopsErrorHandlerFactory
Zend\Expressive\ErrorMiddlewarePipe
; Stratigility 1.3 deprecates itsZend\Stratigility\ErrorMiddlewareInterface
, and removes it in version 2.0. use theraise_throwables
flag and standard middleware to handle errors instead.Zend\Expressive\TemplatedErrorHandler
; the "final handler" concept is retired in Expressive 2.0, and replaced with default delegates (classes implementingInterop\Http\ServerMiddleware\DelegateInterface
that will be executed when the internal pipeline is exhausted, in order to guarantee a response). If you are using custom final handlers, you will need to rewrite them when adopting Expressive 2.0.Zend\Expressive\WhoopsErrorHandler
โ Removed
- ๐ #406 removes the
RouteResultSubjectInterface
implementation fromZend\Expressive\Application
, per the deprecation prior to the 1.0 stable release.
๐ Fixed
- ๐ #442 fixes how
the
WhoopsFactory
disables JSON output for whoops; previously, providing booleanfalse
values for either of the configuration flagsjson_exceptions.show_trace
orjson_exceptions.ajax_only
would result in enabling the settings; these flags are now correctly evaluated by theWhoopsFactory
.
- #309 adds the
ability to provide options with which to instantiate the
-
v1.0.6 Changes
January 09, 2017โ Added
- Nothing.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- ๐ #420 fixes the
routeMiddleware()
's handling of 405 errors such that it now no longer emits deprecation notices when running under the Stratigility 1.3 series.
-
v1.0.5 Changes
December 08, 2016โ Added
- Nothing.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- โก๏ธ #403 updates the
AppFactory::create()
logic to raise exceptions in either of the following scenarios:- no container is specified, and the class
Zend\ServiceManager\ServiceManager
is not available. - no router is specified, and the class
Zend\Expressive\Router\FastRouteRouter
is not available.
- no container is specified, and the class
- ๐ #405 fixes how
the
TemplatedErrorHandler
injects templated content into the response. Previously, it wouldwrite()
directly to the existing response body, which could lead to issues if previous middleware had written to the response (as the templated contents would append the previous contents). With this release, it now creates a newZend\Diactoros\Stream
, writes to that, and returns a new response with that new stream, guaranteeing it only contains the new contents. - ๐ #404 fixes the
swallowDeprecationNotices()
handler such that it will not swallow a global handler once application execution completes.
-
v1.0.4 Changes
December 07, 2016โ Added
- Nothing.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- ๐ #402 fixes how
Application::__invoke()
registers the error handler designed to swallow deprecation notices, as introduced in 1.0.3. It now checks to see if another error handler was previously registered, and, if so, creates a composite handler that will delegate to the previous for all other errors.
-
v1.0.3 Changes
November 11, 2016โ Added
- Nothing.
๐ Changes
- โก๏ธ #395 updates
Application::__invoke()
to add an error handler to swallow deprecation notices due to triggering error middleware when using Stratigility 1.3+. Since error middleware is triggered whenever theraiseThrowables
flag is not enabled and an error or empty queue situation is encountered, handling it this way prevents any such errors from bubbling out of the application.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- Nothing.
-
v1.0.2 Changes
November 11, 2016โ Added
- Nothing.
๐ Changes
- โก๏ธ #393 updates
Application::run()
to inject the request with anoriginalResponse
attribute using the provided response as the value.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- ๐ #393 fixes how
each of the
TemplatedErrorHandler
andWhoopsErrorHandler
access the "original" request, URI, and/or response. Previously, these used Stratigility-specific methods; they now use request attributes, eliminating deprecation notices emitted in Stratigility 1.3+ versions.
-
v1.0.1 Changes
November 11, 2016โ Added
- #306 adds a cookbook recipe covering flash messages.
- ๐ #384 adds support for Whoops version 2 releases, providing PHP 7 support for Whoops.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- ๐ #391 fixes the
Application::run()
implementation to prevent emission of deprecation notices when used with Stratigility 1.3.
-
v1.0.0 Changes
January 28, 2016๐ Initial stable release.
โ Added
- โก๏ธ #279 updates the documentation to provide automation for pushing to GitHub pages. As part of that work, documentation was re-organized, and a landing page provided. Documentation can now be found at: https://zendframework.github.io/zend-expressive/
- #299 adds component-specific CSS to the documentation.
- #295 adds support for handling PHP 7 engine exceptions in the templated and whoops final handlers.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- ๐ #280 fixes
references to the
PlatesRenderer
in the error handling documentation. - ๐ #284 fixes the reference to maximebf/php-debugbar in the debug bar documentation.
- โก๏ธ #285 updates the section on mtymek/blast-base-url in the "Using a Base Path" cookbook recipe to conform to its latest release.
- ๐ #286 fixes the documentation of the Composer "serve" command to correct a typo.
- ๐ #291 fixes the documentation links to the RC5 -> v1 migration guide in both the CHANGELOG as well as the error messages emitted, ensuring users can locate the correct documentation in order to upgrade.
- โก๏ธ #287 updates the
"standalone" quick start to reference calling
$app->pipeRoutingMiddleware()
and$app->pipeDispatchMiddleware()
per the changes in RC6. - #293 adds
a
require 'vendor/autoload.php';
line to the bootstrap script referenced in the zend-servicemanager examples. - โก๏ธ #294 updates the namespace referenced in the modulear-layout documentation to provide a better separation between the module/package/whatever, and the application consuming it.
- ๐ #298 fixes a typo in a URI generation example.
-
v1.0.0.rc7 Changes
January 21, 2016๐ Seventh release candidate.
โ Added
- #277 adds a new
class,
Zend\Expressive\ErrorMiddlewarePipe
. It composes aZend\Stratigility\MiddlewarePipe
, but implements the error middleware signature via its own__invoke()
method.
๐ Deprecated
- Nothing.
โ Removed
- Nothing.
๐ Fixed
- โก๏ธ #277 updates the
MarshalMiddlewareTrait
to create and return anErrorMiddlewarePipe
when the$forError
argument provided indicates error middleware is expected. This fix allows defining arrays of error middleware via configuration.
- #277 adds a new
class,