annotate vendor/symfony/http-foundation/CHANGELOG.md @ 7:848c88cfe644

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