You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

308 lines
16 KiB

3 years ago
  1. CHANGELOG
  2. =========
  3. 5.3
  4. ---
  5. * Deprecate `ArgumentInterface`
  6. * Add `ArgumentMetadata::getAttributes()`
  7. * Deprecate `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead
  8. * Mark the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal
  9. * Deprecate returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()`
  10. * Deprecate `HttpKernelInterface::MASTER_REQUEST` and add `HttpKernelInterface::MAIN_REQUEST` as replacement
  11. * Deprecate `KernelEvent::isMasterRequest()` and add `isMainRequest()` as replacement
  12. * Add `#[AsController]` attribute for declaring standalone controllers on PHP 8
  13. * Add `FragmentUriGeneratorInterface` and `FragmentUriGenerator` to generate the URI of a fragment
  14. 5.2.0
  15. -----
  16. * added session usage
  17. * made the public `http_cache` service handle requests when available
  18. * allowed enabling trusted hosts and proxies using new `kernel.trusted_hosts`,
  19. `kernel.trusted_proxies` and `kernel.trusted_headers` parameters
  20. * content of request parameter `_password` is now also hidden
  21. in the request profiler raw content section
  22. * Allowed adding attributes on controller arguments that will be passed to argument resolvers.
  23. * kernels implementing the `ExtensionInterface` will now be auto-registered to the container
  24. * added parameter `kernel.runtime_environment`, defined as `%env(default:kernel.environment:APP_RUNTIME_ENV)%`
  25. * do not set a default `Accept` HTTP header when using `HttpKernelBrowser`
  26. 5.1.0
  27. -----
  28. * allowed to use a specific logger channel for deprecations
  29. * made `WarmableInterface::warmUp()` return a list of classes or files to preload on PHP 7.4+;
  30. not returning an array is deprecated
  31. * made kernels implementing `WarmableInterface` be part of the cache warmup stage
  32. * deprecated support for `service:action` syntax to reference controllers, use `serviceOrFqcn::method` instead
  33. * allowed using public aliases to reference controllers
  34. * added session usage reporting when the `_stateless` attribute of the request is set to `true`
  35. * added `AbstractSessionListener::onSessionUsage()` to report when the session is used while a request is stateless
  36. 5.0.0
  37. -----
  38. * removed support for getting the container from a non-booted kernel
  39. * removed the first and second constructor argument of `ConfigDataCollector`
  40. * removed `ConfigDataCollector::getApplicationName()`
  41. * removed `ConfigDataCollector::getApplicationVersion()`
  42. * removed support for `Symfony\Component\Templating\EngineInterface` in `HIncludeFragmentRenderer`, use a `Twig\Environment` only
  43. * removed `TranslatorListener` in favor of `LocaleAwareListener`
  44. * removed `getRootDir()` and `getName()` from `Kernel` and `KernelInterface`
  45. * removed `FilterControllerArgumentsEvent`, use `ControllerArgumentsEvent` instead
  46. * removed `FilterControllerEvent`, use `ControllerEvent` instead
  47. * removed `FilterResponseEvent`, use `ResponseEvent` instead
  48. * removed `GetResponseEvent`, use `RequestEvent` instead
  49. * removed `GetResponseForControllerResultEvent`, use `ViewEvent` instead
  50. * removed `GetResponseForExceptionEvent`, use `ExceptionEvent` instead
  51. * removed `PostResponseEvent`, use `TerminateEvent` instead
  52. * removed `SaveSessionListener` in favor of `AbstractSessionListener`
  53. * removed `Client`, use `HttpKernelBrowser` instead
  54. * added method `getProjectDir()` to `KernelInterface`
  55. * removed methods `serialize` and `unserialize` from `DataCollector`, store the serialized state in the data property instead
  56. * made `ProfilerStorageInterface` internal
  57. * removed the second and third argument of `KernelInterface::locateResource`
  58. * removed the second and third argument of `FileLocator::__construct`
  59. * removed loading resources from `%kernel.root_dir%/Resources` and `%kernel.root_dir%` as
  60. fallback directories.
  61. * removed class `ExceptionListener`, use `ErrorListener` instead
  62. 4.4.0
  63. -----
  64. * The `DebugHandlersListener` class has been marked as `final`
  65. * Added new Bundle directory convention consistent with standard skeletons
  66. * Deprecated the second and third argument of `KernelInterface::locateResource`
  67. * Deprecated the second and third argument of `FileLocator::__construct`
  68. * Deprecated loading resources from `%kernel.root_dir%/Resources` and `%kernel.root_dir%` as
  69. fallback directories. Resources like service definitions are usually loaded relative to the
  70. current directory or with a glob pattern. The fallback directories have never been advocated
  71. so you likely do not use those in any app based on the SF Standard or Flex edition.
  72. * Marked all dispatched event classes as `@final`
  73. * Added `ErrorController` to enable the preview and error rendering mechanism
  74. * Getting the container from a non-booted kernel is deprecated.
  75. * Marked the `AjaxDataCollector`, `ConfigDataCollector`, `EventDataCollector`,
  76. `ExceptionDataCollector`, `LoggerDataCollector`, `MemoryDataCollector`,
  77. `RequestDataCollector` and `TimeDataCollector` classes as `@final`.
  78. * Marked the `RouterDataCollector::collect()` method as `@final`.
  79. * The `DataCollectorInterface::collect()` and `Profiler::collect()` methods third parameter signature
  80. will be `\Throwable $exception = null` instead of `\Exception $exception = null` in Symfony 5.0.
  81. * Deprecated methods `ExceptionEvent::get/setException()`, use `get/setThrowable()` instead
  82. * Deprecated class `ExceptionListener`, use `ErrorListener` instead
  83. 4.3.0
  84. -----
  85. * renamed `Client` to `HttpKernelBrowser`
  86. * `KernelInterface` doesn't extend `Serializable` anymore
  87. * deprecated the `Kernel::serialize()` and `unserialize()` methods
  88. * increased the priority of `Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener`
  89. * made `Symfony\Component\HttpKernel\EventListener\LocaleListener` set the default locale early
  90. * deprecated `TranslatorListener` in favor of `LocaleAwareListener`
  91. * added the registration of all `LocaleAwareInterface` implementations into the `LocaleAwareListener`
  92. * made `FileLinkFormatter` final and not implement `Serializable` anymore
  93. * the base `DataCollector` doesn't implement `Serializable` anymore, you should
  94. store all the serialized state in the data property instead
  95. * `DumpDataCollector` has been marked as `final`
  96. * added an event listener to prevent search engines from indexing applications in debug mode.
  97. * renamed `FilterControllerArgumentsEvent` to `ControllerArgumentsEvent`
  98. * renamed `FilterControllerEvent` to `ControllerEvent`
  99. * renamed `FilterResponseEvent` to `ResponseEvent`
  100. * renamed `GetResponseEvent` to `RequestEvent`
  101. * renamed `GetResponseForControllerResultEvent` to `ViewEvent`
  102. * renamed `GetResponseForExceptionEvent` to `ExceptionEvent`
  103. * renamed `PostResponseEvent` to `TerminateEvent`
  104. * added `HttpClientKernel` for handling requests with an `HttpClientInterface` instance
  105. * added `trace_header` and `trace_level` configuration options to `HttpCache`
  106. 4.2.0
  107. -----
  108. * deprecated `KernelInterface::getRootDir()` and the `kernel.root_dir` parameter
  109. * deprecated `KernelInterface::getName()` and the `kernel.name` parameter
  110. * deprecated the first and second constructor argument of `ConfigDataCollector`
  111. * deprecated `ConfigDataCollector::getApplicationName()`
  112. * deprecated `ConfigDataCollector::getApplicationVersion()`
  113. 4.1.0
  114. -----
  115. * added orphaned events support to `EventDataCollector`
  116. * `ExceptionListener` now logs exceptions at priority `0` (previously logged at `-128`)
  117. * Added support for using `service::method` to reference controllers, making it consistent with other cases. It is recommended over the `service:action` syntax with a single colon, which will be deprecated in the future.
  118. * Added the ability to profile individual argument value resolvers via the
  119. `Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver`
  120. 4.0.0
  121. -----
  122. * removed the `DataCollector::varToString()` method, use `DataCollector::cloneVar()`
  123. instead
  124. * using the `DataCollector::cloneVar()` method requires the VarDumper component
  125. * removed the `ValueExporter` class
  126. * removed `ControllerResolverInterface::getArguments()`
  127. * removed `TraceableControllerResolver::getArguments()`
  128. * removed `ControllerResolver::getArguments()` and the ability to resolve arguments
  129. * removed the `argument_resolver` service dependency from the `debug.controller_resolver`
  130. * removed `LazyLoadingFragmentHandler::addRendererService()`
  131. * removed `Psr6CacheClearer::addPool()`
  132. * removed `Extension::addClassesToCompile()` and `Extension::getClassesToCompile()`
  133. * removed `Kernel::loadClassCache()`, `Kernel::doLoadClassCache()`, `Kernel::setClassCache()`,
  134. and `Kernel::getEnvParameters()`
  135. * support for the `X-Status-Code` when handling exceptions in the `HttpKernel`
  136. has been dropped, use the `HttpKernel::allowCustomResponseCode()` method
  137. instead
  138. * removed convention-based commands registration
  139. * removed the `ChainCacheClearer::add()` method
  140. * removed the `CacheaWarmerAggregate::add()` and `setWarmers()` methods
  141. * made `CacheWarmerAggregate` and `ChainCacheClearer` classes final
  142. 3.4.0
  143. -----
  144. * added a minimalist PSR-3 `Logger` class that writes in `stderr`
  145. * made kernels implementing `CompilerPassInterface` able to process the container
  146. * deprecated bundle inheritance
  147. * added `RebootableInterface` and implemented it in `Kernel`
  148. * deprecated commands auto registration
  149. * deprecated `EnvParametersResource`
  150. * added `Symfony\Component\HttpKernel\Client::catchExceptions()`
  151. * deprecated the `ChainCacheClearer::add()` method
  152. * deprecated the `CacheaWarmerAggregate::add()` and `setWarmers()` methods
  153. * made `CacheWarmerAggregate` and `ChainCacheClearer` classes final
  154. * added the possibility to reset the profiler to its initial state
  155. * deprecated data collectors without a `reset()` method
  156. * deprecated implementing `DebugLoggerInterface` without a `clear()` method
  157. 3.3.0
  158. -----
  159. * added `kernel.project_dir` and `Kernel::getProjectDir()`
  160. * deprecated `kernel.root_dir` and `Kernel::getRootDir()`
  161. * deprecated `Kernel::getEnvParameters()`
  162. * deprecated the special `SYMFONY__` environment variables
  163. * added the possibility to change the query string parameter used by `UriSigner`
  164. * deprecated `LazyLoadingFragmentHandler::addRendererService()`
  165. * deprecated `Extension::addClassesToCompile()` and `Extension::getClassesToCompile()`
  166. * deprecated `Psr6CacheClearer::addPool()`
  167. 3.2.0
  168. -----
  169. * deprecated `DataCollector::varToString()`, use `cloneVar()` instead
  170. * changed surrogate capability name in `AbstractSurrogate::addSurrogateCapability` to 'symfony'
  171. * Added `ControllerArgumentValueResolverPass`
  172. 3.1.0
  173. -----
  174. * deprecated passing objects as URI attributes to the ESI and SSI renderers
  175. * deprecated `ControllerResolver::getArguments()`
  176. * added `Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface`
  177. * added `Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface` as argument to `HttpKernel`
  178. * added `Symfony\Component\HttpKernel\Controller\ArgumentResolver`
  179. * added `Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getMethod()`
  180. * added `Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getRedirect()`
  181. * added the `kernel.controller_arguments` event, triggered after controller arguments have been resolved
  182. 3.0.0
  183. -----
  184. * removed `Symfony\Component\HttpKernel\Kernel::init()`
  185. * removed `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle()` and `Symfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle()`
  186. * removed `Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher::setProfiler()`
  187. * removed `Symfony\Component\HttpKernel\EventListener\FragmentListener::getLocalIpAddresses()`
  188. * removed `Symfony\Component\HttpKernel\EventListener\LocaleListener::setRequest()`
  189. * removed `Symfony\Component\HttpKernel\EventListener\RouterListener::setRequest()`
  190. * removed `Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest()`
  191. * removed `Symfony\Component\HttpKernel\Fragment\FragmentHandler::setRequest()`
  192. * removed `Symfony\Component\HttpKernel\HttpCache\Esi::hasSurrogateEsiCapability()`
  193. * removed `Symfony\Component\HttpKernel\HttpCache\Esi::addSurrogateEsiCapability()`
  194. * removed `Symfony\Component\HttpKernel\HttpCache\Esi::needsEsiParsing()`
  195. * removed `Symfony\Component\HttpKernel\HttpCache\HttpCache::getEsi()`
  196. * removed `Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel`
  197. * removed `Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass`
  198. * removed `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener`
  199. * removed `Symfony\Component\HttpKernel\EventListener\EsiListener`
  200. * removed `Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategy`
  201. * removed `Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategyInterface`
  202. * removed `Symfony\Component\HttpKernel\Log\LoggerInterface`
  203. * removed `Symfony\Component\HttpKernel\Log\NullLogger`
  204. * removed `Symfony\Component\HttpKernel\Profiler::import()`
  205. * removed `Symfony\Component\HttpKernel\Profiler::export()`
  206. 2.8.0
  207. -----
  208. * deprecated `Profiler::import` and `Profiler::export`
  209. 2.7.0
  210. -----
  211. * added the HTTP status code to profiles
  212. 2.6.0
  213. -----
  214. * deprecated `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener`, use `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` instead
  215. * deprecated unused method `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle` and `Symfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle`
  216. 2.5.0
  217. -----
  218. * deprecated `Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass`, use `Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass` instead
  219. 2.4.0
  220. -----
  221. * added event listeners for the session
  222. * added the KernelEvents::FINISH_REQUEST event
  223. 2.3.0
  224. -----
  225. * [BC BREAK] renamed `Symfony\Component\HttpKernel\EventListener\DeprecationLoggerListener` to `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener` and changed its constructor
  226. * deprecated `Symfony\Component\HttpKernel\Debug\ErrorHandler`, `Symfony\Component\HttpKernel\Debug\ExceptionHandler`,
  227. `Symfony\Component\HttpKernel\Exception\FatalErrorException` and `Symfony\Component\HttpKernel\Exception\FlattenException`
  228. * deprecated `Symfony\Component\HttpKernel\Kernel::init()`
  229. * added the possibility to specify an id an extra attributes to hinclude tags
  230. * added the collect of data if a controller is a Closure in the Request collector
  231. * pass exceptions from the ExceptionListener to the logger using the logging context to allow for more
  232. detailed messages
  233. 2.2.0
  234. -----
  235. * [BC BREAK] the path info for sub-request is now always _fragment (or whatever you configured instead of the default)
  236. * added Symfony\Component\HttpKernel\EventListener\FragmentListener
  237. * added Symfony\Component\HttpKernel\UriSigner
  238. * added Symfony\Component\HttpKernel\FragmentRenderer and rendering strategies (in Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface)
  239. * added Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel
  240. * added ControllerReference to create reference of Controllers (used in the FragmentRenderer class)
  241. * [BC BREAK] renamed TimeDataCollector::getTotalTime() to
  242. TimeDataCollector::getDuration()
  243. * updated the MemoryDataCollector to include the memory used in the
  244. kernel.terminate event listeners
  245. * moved the Stopwatch classes to a new component
  246. * added TraceableControllerResolver
  247. * added TraceableEventDispatcher (removed ContainerAwareTraceableEventDispatcher)
  248. * added support for WinCache opcode cache in ConfigDataCollector
  249. 2.1.0
  250. -----
  251. * [BC BREAK] the charset is now configured via the Kernel::getCharset() method
  252. * [BC BREAK] the current locale for the user is not stored anymore in the session
  253. * added the HTTP method to the profiler storage
  254. * updated all listeners to implement EventSubscriberInterface
  255. * added TimeDataCollector
  256. * added ContainerAwareTraceableEventDispatcher
  257. * moved TraceableEventDispatcherInterface to the EventDispatcher component
  258. * added RouterListener, LocaleListener, and StreamedResponseListener
  259. * added CacheClearerInterface (and ChainCacheClearer)
  260. * added a kernel.terminate event (via TerminableInterface and PostResponseEvent)
  261. * added a Stopwatch class
  262. * added WarmableInterface
  263. * improved extensibility between bundles
  264. * added profiler storages for Memcache(d), File-based, MongoDB, Redis
  265. * moved Filesystem class to its own component