2012-04-26 20:53:50 +01:00
|
|
|
CHANGELOG
|
|
|
|
=========
|
|
|
|
|
2012-10-24 17:03:38 +01:00
|
|
|
2.2.0
|
|
|
|
-----
|
|
|
|
|
2013-01-10 15:47:11 +00:00
|
|
|
* added Request::getTrustedProxies()
|
|
|
|
* deprecated Request::isProxyTrusted()
|
2013-01-11 07:05:42 +00:00
|
|
|
* [BC BREAK] JsonResponse does not change a top level array to an object when the array is empty anymore in setData()
|
2012-11-13 16:48:13 +00:00
|
|
|
* added a IpUtils class to check if an IP belongs to a CIDR
|
2012-11-28 09:31:19 +00:00
|
|
|
* added Request::getRealMethod() to get the "real" HTTP method (getMethod() returns the "intended" HTTP method)
|
|
|
|
* disabled _method request parameter support by default (call Request::enableHttpMethodParameterOverride() to enable it)
|
2012-10-24 17:03:38 +01:00
|
|
|
* Request::splitHttpAcceptHeader() method is deprecated and will be removed in 2.3
|
2012-12-20 17:42:47 +00:00
|
|
|
* Deprecated Flashbag::count() and \Countable interface, will be removed in 2.3
|
2012-10-24 17:03:38 +01:00
|
|
|
|
2012-04-26 20:53:50 +01:00
|
|
|
2.1.0
|
|
|
|
-----
|
|
|
|
|
2012-06-28 16:12:08 +01:00
|
|
|
* added Request::getSchemeAndHttpHost() and Request::getUserInfo()
|
2012-04-26 20:53:50 +01:00
|
|
|
* added a fluent interface to the Response class
|
|
|
|
* added Request::isProxyTrusted()
|
|
|
|
* added JsonResponse
|
|
|
|
* added a getTargetUrl method to RedirectResponse
|
|
|
|
* added support for streamed responses
|
|
|
|
* made Response::prepare() method the place to enforce HTTP specification
|
|
|
|
* [BC BREAK] moved management of the locale from the Session class to the Request class
|
|
|
|
* added a generic access to the PHP built-in filter mechanism: ParameterBag::filter()
|
|
|
|
* made FileBinaryMimeTypeGuesser command configurable
|
|
|
|
* added Request::getUser() and Request::getPassword()
|
|
|
|
* added support for the PATCH method in Request
|
|
|
|
* removed the ContentTypeMimeTypeGuesser class as it is deprecated and never used on PHP 5.3
|
|
|
|
* added ResponseHeaderBag::makeDisposition() (implements RFC 6266)
|
|
|
|
* made mimetype to extension conversion configurable
|
|
|
|
* [BC BREAK] Moved all session related classes and interfaces into own namespace, as
|
|
|
|
`Symfony\Component\HttpFoundation\Session` and renamed classes accordingly.
|
|
|
|
Session handlers are located in the subnamespace `Symfony\Component\HttpFoundation\Session\Handler`.
|
2012-07-13 14:54:32 +01:00
|
|
|
* SessionHandlers must implement `\SessionHandlerInterface` or extend from the
|
|
|
|
`Symfony\Component\HttpFoundation\Storage\Handler\NativeSessionHandler` base class.
|
2012-04-26 20:53:50 +01:00
|
|
|
* Added internal storage driver proxy mechanism for forward compatibility with
|
|
|
|
PHP 5.4 `\SessionHandler` class.
|
|
|
|
* Added session handlers for custom Memcache, Memcached and Null session save handlers.
|
|
|
|
* [BC BREAK] Removed `NativeSessionStorage` and replaced with `NativeFileSessionHandler`.
|
|
|
|
* [BC BREAK] `SessionStorageInterface` methods removed: `write()`, `read()` and
|
|
|
|
`remove()`. Added `getBag()`, `registerBag()`. The `NativeSessionStorage` class
|
|
|
|
is a mediator for the session storage internals including the session handlers
|
|
|
|
which do the real work of participating in the internal PHP session workflow.
|
|
|
|
* [BC BREAK] Introduced mock implementations of `SessionStorage` to enable unit
|
|
|
|
and functional testing without starting real PHP sessions. Removed
|
|
|
|
`ArraySessionStorage`, and replaced with `MockArraySessionStorage` for unit
|
|
|
|
tests; removed `FilesystemSessionStorage`, and replaced with`MockFileSessionStorage`
|
|
|
|
for functional tests. These do not interact with global session ini
|
|
|
|
configuration values, session functions or `$_SESSION` superglobal. This means
|
|
|
|
they can be configured directly allowing multiple instances to work without
|
|
|
|
conflicting in the same PHP process.
|
|
|
|
* [BC BREAK] Removed the `close()` method from the `Session` class, as this is
|
|
|
|
now redundant.
|
|
|
|
* Deprecated the following methods from the Session class: `setFlash()`, `setFlashes()`
|
|
|
|
`getFlash()`, `hasFlash()`, and `removeFlash()`. Use `getFlashBag()` instead
|
|
|
|
which returns a `FlashBagInterface`.
|
|
|
|
* `Session->clear()` now only clears session attributes as before it cleared
|
|
|
|
flash messages and attributes. `Session->getFlashBag()->all()` clears flashes now.
|
|
|
|
* Session data is now managed by `SessionBagInterface` to better encapsulate
|
|
|
|
session data.
|
|
|
|
* Refactored session attribute and flash messages system to their own
|
|
|
|
`SessionBagInterface` implementations.
|
|
|
|
* Added `FlashBag`. Flashes expire when retrieved by `get()` or `all()`. This
|
|
|
|
implementation is ESI compatible.
|
|
|
|
* Added `AutoExpireFlashBag` (default) to replicate Symfony 2.0.x auto expire
|
2012-07-14 22:43:03 +01:00
|
|
|
behaviour of messages auto expiring after one page page load. Messages must
|
|
|
|
be retrieved by `get()` or `all()`.
|
2012-04-26 20:53:50 +01:00
|
|
|
* Added `Symfony\Component\HttpFoundation\Attribute\AttributeBag` to replicate
|
|
|
|
attributes storage behaviour from 2.0.x (default).
|
|
|
|
* Added `Symfony\Component\HttpFoundation\Attribute\NamespacedAttributeBag` for
|
|
|
|
namespace session attributes.
|
|
|
|
* Flash API can stores messages in an array so there may be multiple messages
|
|
|
|
per flash type. The old `Session` class API remains without BC break as it
|
|
|
|
will allow single messages as before.
|
|
|
|
* Added basic session meta-data to the session to record session create time,
|
|
|
|
last updated time, and the lifetime of the session cookie that was provided
|
|
|
|
to the client.
|
|
|
|
* Request::getClientIp() method doesn't take a parameter anymore but bases
|
|
|
|
itself on the trustProxy parameter.
|
|
|
|
* Added isMethod() to Request object.
|
|
|
|
* [BC BREAK] The methods `getPathInfo()`, `getBaseUrl()` and `getBasePath()` of
|
|
|
|
a `Request` now all return a raw value (vs a urldecoded value before). Any call
|
|
|
|
to one of these methods must be checked and wrapped in a `rawurldecode()` if
|
|
|
|
needed.
|