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

Commit

Permalink
Added CHANGELOG for #270
Browse files Browse the repository at this point in the history
  • Loading branch information
weierophinney committed Jan 18, 2016
1 parent 42f6fc5 commit 734d89e
Showing 1 changed file with 58 additions and 5 deletions.
63 changes: 58 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,32 @@

All notable changes to this project will be documented in this file, in reverse chronological order by release.

## 1.0.0 - TBD

First stable release.
## 1.0.0rc6 - TBD

Sixth release candidate.

This release contains backwards compatibility breaks with previous release
candidates. All previous functionality should continue to work, but will
emit `E_USER_DEPRECATED` notices prompting you to update your application.
In particular:

- The routing middleware has been split into two separate middleware
implementations, one for routing, another for dispatching. This eliminates the
need for the route result observer system, as middleware can now be placed
*between* routing and dispatching — an approach that provides for greater
flexibility with regards to providing route-based functionality.
- As a result of the above, `Zend\Expressive\Application` no longer implements
`Zend\Expressive\Router\RouteResultSubjectInterface`, though it retains the
methods associated (each emits a deprecation notice).
- Configuration for `Zend\Expressive\Container\ApplicationFactory` was modified
to implement the `middleware_pipeline` as a single queue, instead of
segregating it between `pre_routing` and `post_routing`. Each item in the
queue follows the original middleware specification from those keys, with one
addition: a `priority` key can be used to allow you to granularly shape the
execution order of the middleware pipeline.

A [migration guide](http://zend-expressive.rtfd.org/en/latest/migration/rc-to-v1/)
was written to help developers migrate to RC6 from earlier versions.

### Added

Expand All @@ -24,14 +47,44 @@ First stable release.
a flow/architectural diagram to the "features" chapter.
- [#262](https://github.com/zendframework/zend-expressive/pull/262) adds
a recipe demonstrating creating classes that can intercept multiple routes.
- [#270](https://github.com/zendframework/zend-expressive/pull/270) adds
new methods to `Zend\Expressive\Application`:
- `dispatchMiddleware()` is new middleware for dispatching the middleware
matched by routing (this functionality was split from `routeMiddleware()`).
- `routeResultObserverMiddleware()` is new middleware for notifying route
result observers, and exists only to aid migration functionality; it is
marked deprecated!
- `pipeDispatchMiddleware()` will pipe the dispatch middleware to the
`Application` instance.
- `pipeRouteResultObserverMiddleware()` will pipe the route result observer
middleware to the `Application` instance; like
`routeResultObserverMiddleware()`, the method only exists for aiding
migration, and is marked deprecated.
- [#270](https://github.com/zendframework/zend-expressive/pull/270) adds
`Zend\Expressive\MarshalMiddlewareTrait`, which is composed by
`Zend\Expressive\Application`; it provides methods for marshaling
middleware based on service names or arrays of services.

### Deprecated

- Nothing.
- [#270](https://github.com/zendframework/zend-expressive/pull/270) deprecates
the following methods in `Zend\Expressive\Application`, all of which will
be removed in version 1.1:
- `attachRouteResultObserver()`
- `detachRouteResultObserver()`
- `notifyRouteResultObservers()`
- `pipeRouteResultObserverMiddleware()`
- `routeResultObserverMiddleware()`

### Removed

- Nothing.
- [#270](https://github.com/zendframework/zend-expressive/pull/270) removes the
`Zend\Expressive\Router\RouteResultSubjectInterface` implementation from
`Zend\Expressive\Application`.
- [#270](https://github.com/zendframework/zend-expressive/pull/270) eliminates
the `pre_routing`/`post_routing` terminology from the `middleware_pipeline`,
in favor of individually specified `priority` values in middleware
specifications.

### Fixed

Expand Down

0 comments on commit 734d89e

Please sign in to comment.