Releases: slimphp/Slim
Releases · slimphp/Slim
3.2.2
3.2.1
3.2.0
Added
- #1736 - Support the
hostOnly
cookie flag - #1764 - Write to the PHP error log if displayErrorDetails is false to make it easier to find out what's gone wrong!
- #1770 - Support PHP 7+ errors in the same way that Exceptions are handled.
Improved
- #1716 - Middleware is now only resolved when required.
- #1745 - Separate service registration from the container to make it easier to use your own Pimple container and then register the default Slim services.
Fixed
- #1733 & #1734 - Allow setting an empty array into the Request's query params and parsed body.
- #1737 - Do not explicitly set the HTTP status code in
withJson
. - #1738 - Named routes added after a call to
pathFor
can now be resolved in subsequent calls topathFor
. - #1739 - Responses with a body of indeterminate length can now have their content sent.
The full list of changes is here
3.1.0
This version makes a number of minor issues and improvements since the release of 3.0.0. The key changes are:
Added
- #1620 - Add
getParsedBodyParam()
andgetQueryParam()
toSlim\Http\Request
. - #1688 - Add
App::process()
to allow running a Slim application when you already have a request and response object. This allows a Slim application to be used within the middleware of another middleware pipeline. - #1697 - Add HTTP 451 status code to
Slim\Http\Response
.
Improved
- #1670 - Removed
final
fromSlim\Container
to allow extension. - #1684 -
withJson()
will now thrown an Exception if it fails to encode. - #1706 - Calling a non-existent method on
App
will now through an exception.
Fixed
- #1682 - Parse
REQUEST_URL
correctly inSlim\Http\Uri
. - #1698 -
Slim\Http\Request
now correctly determines the HTTP protocol version.
The full list of changes is here
3.0.0
This is the first stable release of Slim 3!
Changes since RC2
- #1643 - Revert detection of
Uri
's baseUrl so that routing of URLs of the form/foo/index.php/bar/baz
work again. - #1655 - Ensure that calling
$request->withMethod()
turns off detection of_METHOD
detection.
The full list of changes is here.
3.0.0 RC 3
This release fixes a security issue, clears up some inconsistencies and fixes a number of bugs.
Security fix in 3.0.0-RC3:
- #1624 - XXE attacks are now prevented when parsing XML input.
BC breaks in 3.0.0-RC3:
These are the BC breaks since RC2:
- #1631 - The route callable is now bound to the Container rather than to the App to be consistent with middleware binding. This means that if you are using
$this->subRequest
then you now need touse ($app)
and then$app->subRequest(…)
. Also if you were using$this->getContainer()->get(…)
, you need to change this to$this->get(…)
. Note that using$this->foo
to retrieve a service from the container continues to work. - #1626 - Route paths are now simply concatentated with no magic. This may affect the way route groups were previously set up, but from now on, it's very predictable.
- #1625 - Group middleware is now executed before the route's middleware as you would expect. See issue #1622 for details.
The full list of changes is here.
3.0.0 RC 2
BC breaks in 3.0.0-RC2:
- #1550 - The
MiddlewareTrait
'saddMiddleware()
method is now protected. Please use theadd()
method. - #1559 -
Request::getIp()
has been removed. Please use middleware such as rka-ip-address-middleware instead. - #1570 - Inspection of
X-Forwarded-Proto
andX-Forwarded-Host
headers inUri
have been removed. Please use middleware such as rka-scheme-and-host-detection-middleware instead.
New features in 3.0.0-RC2:
- #1509 - Slim 3's error handlers now only show exception information if you enable the
displayErrorDetails
setting. - #1552 - The router now has a new method called
internalPathFor()
for use withsubRequest()
. - We have adopted Glenn Eggleton's' PHP-View component for rendering using PHP view scripts.
The full list of changes is here
3.0.0 RC 1
BC breaks in 3.0.0-RC1:
- #1489 -
getParsedBody()
will now return an array in all situations when JSON or form-urlencoded data is sent by the client. Previously, it returned an object when the content type was JSON. - #1457 - The Container can now be configured via an array passed into the
App
's constructor. Note that this means that your settings must now live in a sub-array called 'settings
'. - #1443 -
pathFor
now prepends the base path, making URLs easier to generate when you are running Slim within a subdirectory and removes the need to prepend withgetBaseUrl()
.
New features in 3.0.0-RC1:
- #1490 - Slim 3's error handlers now return JSON, XML or HTML as determined by the request's Accept header.
- #1488 - You can now disable Slim 3's error handler completely.
The full list of changes is here
3.0.0 Beta 2
Key changes since 3.0-beta1:
- #1425 - Slim 3 now requires PHP 5.5 or higher
- #1393, #1369 & #1354 - Various updates to our PSR-7 implementation, including a fix to allow the request body to be read more than once.
- #1345 - New
foundHandler
to change the signature of the route callable. By default the handler isRequestResponse
which creates callables with a signature offunction($request, $response, $args)
, but we also supply aRequestResponseArgs
handler with a callable signature offunction($request, $response, $routeParam1, $routeParam2)
. - #1343 - Ability to set default attributes on a route which can then be accessed within the route callable.
- #1362 - None of the factories in the container need to return a new instance to make it compatible with container-interop.
The full list of changes is here
Version 2.6.2
- Update unit tests for JSON decoding session cookie data
- Update build status indicator in README file
- Escape HTML in PrettyExceptions message and stack trace