All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Allow adding default response headers to strategies.
- Expand error handling to include Throwable.
- Fixed issue where group middleware was being dublicated on internal routes.
- JSON strategy now allows array and object returns and builds JSON response. (Thanks @willemwollebrants)
- Fixed issue where setting strategy on specific routes had no effect. (Thanks @aag)
- Fixed a bug where content-type header would not be added to response in Json Strategy.
- Increased minimum PHP version to 7.1.0
- Now implements PSR-15 middleware and request handlers.
- No longer enforces use of container, one can be used optionally.
- Strategies now return PSR-15 middleare as handlers.
- Increased types of proxy callables that can be used as controllers.
- General housekeeping and refactoring for continued improvement.
- Group level strategies now handle exceptions if a route is not matched but the request falls within the group.
- Ensure JsonStrategy handles all exceptions by default.
- Handle multiline exception messages.
- Add port condition to routes.
- Middleware execution order.
- Middleware functionality for PSR-7 compatible callables, globally to route collection or individually per route/group.
- Allow setting of strategy for a route group.
- Add UUID as default pattern matcher.
- Now depend directly on PSR-11 implementation.
- Simplified default strategies to just
Application
andJson
. - Have strategies return a middleware to add to the stack.
- Have strategies handle decoration of exceptions.
- Have JsonStrategy handle all exceptions by default.
- All routing and dispatching now built around PSR-7.
- Can now group routes with prefix and match conditions.
- Routes now stored against a specific
Route
object that describes the route. - New
dispatch
method onRouteCollection
that is a compliant PSR-7 middleware. - Additional route matching conditions for scheme and host.
- API rewrite to simplify.
- API naming improvements.
- Strategies now less opinionated about return from controller.
- Can now use any callable as a controller.
- Request object is now built by the strategy when one is not available from the container.
- General tidying and removal of unused code.
- URI variables now correctly passed to controller in
MethodArgumentStrategy
.
- Added
addPatternMatcher
method to allow custom regex shortcuts within wildcard routes. - Refactored logic around matching routes.
- Added import statements for all used objects.
- Fixed dockblock annotations.
- PSR-2 standards improvements within tests.
- Migrated from Orno\Route.