- #2555 Added PSR-15 Middleware Support
- #2529 Slim no longer ships with a PSR-7 implementation. You need to provide a PSR-7 ServerRequest and a PSR-17 ResponseFactory to run Slim.
- #2507 Method names are now case-sensitive in Router::map(), and so, by extension, in App::map()
- #2497 PSR-15 RequestHandlers can now be used as route callables
- #2496 A Slim App can now be used as PSR-15 Request Handler
- #2405 RoutingMiddleware now adds the
routingResults
request attribute to hold the results of routing - #2404 Slim 4 requires PHP 7.0 or higher
- #2425 Added $app->redirect()
- #2398 Added Middleware\ErrorMiddleware
- #2329 Added Middleware\MethodOverrideMiddleware
- #2288 Separate routing from dispatching
- #2254 Added Middleware\ContentLengthMiddleware
- #2166 Added Middleware\OutputBufferingMiddleware
- #2555 Double-Pass Middleware Support has been deprecated
- #2589 Remove App::$settings altogether
- #2587 Remove Pimple as a dev-dependency
- #2398 Slim no longer has error handling built into App. Add ErrorMiddleware() as the outermost middleware.
- #2375 Slim no longer sets the
default_mimetype
to an empty string, so you need to set it yourself in php.ini or your app usingini_set('default_mimetype', '');
. - #2288
determineRouteBeforeAppMiddleware
setting is removed. Add RoutingMiddleware() where you need it now. - #2254
addContentLengthHeader
setting is removed - #2221
Slim\Http
has been removed and Slim now depends on the separate Slim-Http component - #2166
outputBuffering
setting is removed - #2078 Remove App::subRequest()
- #2098 Remove CallableResolverTrait
- #2102 Remove container from router
- #2124 Remove Slim\Exception\SlimException
- #2174 Switch from Container-Interop to PSR-11
- #2290 Removed container. Set your own using
App::setContainer()
- #2560 Remove binding of $this to group()
- #2104 Settings are the top level array elements in
App::__construct()