1 |
cb15593b
|
Cajova-Houba
|
CHANGELOG
|
2 |
|
|
=========
|
3 |
|
|
|
4 |
|
|
3.0.0
|
5 |
|
|
-----
|
6 |
|
|
|
7 |
|
|
* The precedence of parameters returned from `Request::get()` changed from "GET, PATH, BODY" to "PATH, GET, BODY"
|
8 |
|
|
|
9 |
|
|
2.8.0
|
10 |
|
|
-----
|
11 |
|
|
|
12 |
|
|
* Finding deep items in `ParameterBag::get()` is deprecated since version 2.8 and
|
13 |
|
|
will be removed in 3.0.
|
14 |
|
|
|
15 |
|
|
2.6.0
|
16 |
|
|
-----
|
17 |
|
|
|
18 |
|
|
* PdoSessionHandler changes
|
19 |
|
|
- implemented different session locking strategies to prevent loss of data by concurrent access to the same session
|
20 |
|
|
- [BC BREAK] save session data in a binary column without base64_encode
|
21 |
|
|
- [BC BREAK] added lifetime column to the session table which allows to have different lifetimes for each session
|
22 |
|
|
- implemented lazy connections that are only opened when a session is used by either passing a dsn string
|
23 |
|
|
explicitly or falling back to session.save_path ini setting
|
24 |
|
|
- added a createTable method that initializes a correctly defined table depending on the database vendor
|
25 |
|
|
|
26 |
|
|
2.5.0
|
27 |
|
|
-----
|
28 |
|
|
|
29 |
|
|
* added `JsonResponse::setEncodingOptions()` & `JsonResponse::getEncodingOptions()` for easier manipulation
|
30 |
|
|
of the options used while encoding data to JSON format.
|
31 |
|
|
|
32 |
|
|
2.4.0
|
33 |
|
|
-----
|
34 |
|
|
|
35 |
|
|
* added RequestStack
|
36 |
|
|
* added Request::getEncodings()
|
37 |
|
|
* added accessors methods to session handlers
|
38 |
|
|
|
39 |
|
|
2.3.0
|
40 |
|
|
-----
|
41 |
|
|
|
42 |
|
|
* added support for ranges of IPs in trusted proxies
|
43 |
|
|
* `UploadedFile::isValid` now returns false if the file was not uploaded via HTTP (in a non-test mode)
|
44 |
|
|
* Improved error-handling of `\Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler`
|
45 |
|
|
to ensure the supplied PDO handler throws Exceptions on error (as the class expects). Added related test cases
|
46 |
|
|
to verify that Exceptions are properly thrown when the PDO queries fail.
|
47 |
|
|
|
48 |
|
|
2.2.0
|
49 |
|
|
-----
|
50 |
|
|
|
51 |
|
|
* fixed the Request::create() precedence (URI information always take precedence now)
|
52 |
|
|
* added Request::getTrustedProxies()
|
53 |
|
|
* deprecated Request::isProxyTrusted()
|
54 |
|
|
* [BC BREAK] JsonResponse does not turn a top level empty array to an object anymore, use an ArrayObject to enforce objects
|
55 |
|
|
* added a IpUtils class to check if an IP belongs to a CIDR
|
56 |
|
|
* added Request::getRealMethod() to get the "real" HTTP method (getMethod() returns the "intended" HTTP method)
|
57 |
|
|
* disabled _method request parameter support by default (call Request::enableHttpMethodParameterOverride() to
|
58 |
|
|
enable it, and Request::getHttpMethodParameterOverride() to check if it is supported)
|
59 |
|
|
* Request::splitHttpAcceptHeader() method is deprecated and will be removed in 2.3
|
60 |
|
|
* Deprecated Flashbag::count() and \Countable interface, will be removed in 2.3
|
61 |
|
|
|
62 |
|
|
2.1.0
|
63 |
|
|
-----
|
64 |
|
|
|
65 |
|
|
* added Request::getSchemeAndHttpHost() and Request::getUserInfo()
|
66 |
|
|
* added a fluent interface to the Response class
|
67 |
|
|
* added Request::isProxyTrusted()
|
68 |
|
|
* added JsonResponse
|
69 |
|
|
* added a getTargetUrl method to RedirectResponse
|
70 |
|
|
* added support for streamed responses
|
71 |
|
|
* made Response::prepare() method the place to enforce HTTP specification
|
72 |
|
|
* [BC BREAK] moved management of the locale from the Session class to the Request class
|
73 |
|
|
* added a generic access to the PHP built-in filter mechanism: ParameterBag::filter()
|
74 |
|
|
* made FileBinaryMimeTypeGuesser command configurable
|
75 |
|
|
* added Request::getUser() and Request::getPassword()
|
76 |
|
|
* added support for the PATCH method in Request
|
77 |
|
|
* removed the ContentTypeMimeTypeGuesser class as it is deprecated and never used on PHP 5.3
|
78 |
|
|
* added ResponseHeaderBag::makeDisposition() (implements RFC 6266)
|
79 |
|
|
* made mimetype to extension conversion configurable
|
80 |
|
|
* [BC BREAK] Moved all session related classes and interfaces into own namespace, as
|
81 |
|
|
`Symfony\Component\HttpFoundation\Session` and renamed classes accordingly.
|
82 |
|
|
Session handlers are located in the subnamespace `Symfony\Component\HttpFoundation\Session\Handler`.
|
83 |
|
|
* SessionHandlers must implement `\SessionHandlerInterface` or extend from the
|
84 |
|
|
`Symfony\Component\HttpFoundation\Storage\Handler\NativeSessionHandler` base class.
|
85 |
|
|
* Added internal storage driver proxy mechanism for forward compatibility with
|
86 |
|
|
PHP 5.4 `\SessionHandler` class.
|
87 |
|
|
* Added session handlers for custom Memcache, Memcached and Null session save handlers.
|
88 |
|
|
* [BC BREAK] Removed `NativeSessionStorage` and replaced with `NativeFileSessionHandler`.
|
89 |
|
|
* [BC BREAK] `SessionStorageInterface` methods removed: `write()`, `read()` and
|
90 |
|
|
`remove()`. Added `getBag()`, `registerBag()`. The `NativeSessionStorage` class
|
91 |
|
|
is a mediator for the session storage internals including the session handlers
|
92 |
|
|
which do the real work of participating in the internal PHP session workflow.
|
93 |
|
|
* [BC BREAK] Introduced mock implementations of `SessionStorage` to enable unit
|
94 |
|
|
and functional testing without starting real PHP sessions. Removed
|
95 |
|
|
`ArraySessionStorage`, and replaced with `MockArraySessionStorage` for unit
|
96 |
|
|
tests; removed `FilesystemSessionStorage`, and replaced with`MockFileSessionStorage`
|
97 |
|
|
for functional tests. These do not interact with global session ini
|
98 |
|
|
configuration values, session functions or `$_SESSION` superglobal. This means
|
99 |
|
|
they can be configured directly allowing multiple instances to work without
|
100 |
|
|
conflicting in the same PHP process.
|
101 |
|
|
* [BC BREAK] Removed the `close()` method from the `Session` class, as this is
|
102 |
|
|
now redundant.
|
103 |
|
|
* Deprecated the following methods from the Session class: `setFlash()`, `setFlashes()`
|
104 |
|
|
`getFlash()`, `hasFlash()`, and `removeFlash()`. Use `getFlashBag()` instead
|
105 |
|
|
which returns a `FlashBagInterface`.
|
106 |
|
|
* `Session->clear()` now only clears session attributes as before it cleared
|
107 |
|
|
flash messages and attributes. `Session->getFlashBag()->all()` clears flashes now.
|
108 |
|
|
* Session data is now managed by `SessionBagInterface` to better encapsulate
|
109 |
|
|
session data.
|
110 |
|
|
* Refactored session attribute and flash messages system to their own
|
111 |
|
|
`SessionBagInterface` implementations.
|
112 |
|
|
* Added `FlashBag`. Flashes expire when retrieved by `get()` or `all()`. This
|
113 |
|
|
implementation is ESI compatible.
|
114 |
|
|
* Added `AutoExpireFlashBag` (default) to replicate Symfony 2.0.x auto expire
|
115 |
|
|
behaviour of messages auto expiring after one page page load. Messages must
|
116 |
|
|
be retrieved by `get()` or `all()`.
|
117 |
|
|
* Added `Symfony\Component\HttpFoundation\Attribute\AttributeBag` to replicate
|
118 |
|
|
attributes storage behaviour from 2.0.x (default).
|
119 |
|
|
* Added `Symfony\Component\HttpFoundation\Attribute\NamespacedAttributeBag` for
|
120 |
|
|
namespace session attributes.
|
121 |
|
|
* Flash API can stores messages in an array so there may be multiple messages
|
122 |
|
|
per flash type. The old `Session` class API remains without BC break as it
|
123 |
|
|
will allow single messages as before.
|
124 |
|
|
* Added basic session meta-data to the session to record session create time,
|
125 |
|
|
last updated time, and the lifetime of the session cookie that was provided
|
126 |
|
|
to the client.
|
127 |
|
|
* Request::getClientIp() method doesn't take a parameter anymore but bases
|
128 |
|
|
itself on the trustProxy parameter.
|
129 |
|
|
* Added isMethod() to Request object.
|
130 |
|
|
* [BC BREAK] The methods `getPathInfo()`, `getBaseUrl()` and `getBasePath()` of
|
131 |
|
|
a `Request` now all return a raw value (vs a urldecoded value before). Any call
|
132 |
|
|
to one of these methods must be checked and wrapped in a `rawurldecode()` if
|
133 |
|
|
needed.
|