7 * added a minimalist PSR-3 `Logger` class that writes in `stderr`
8 * made kernels implementing `CompilerPassInterface` able to process the container
9 * deprecated bundle inheritance
10 * added `RebootableInterface` and implemented it in `Kernel`
11 * deprecated commands auto registration
12 * deprecated `EnvParametersResource`
13 * added `Symfony\Component\HttpKernel\Client::catchExceptions()`
14 * deprecated the `ChainCacheClearer::add()` method
15 * deprecated the `CacheaWarmerAggregate::add()` and `setWarmers()` methods
16 * made `CacheWarmerAggregate` and `ChainCacheClearer` classes final
17 * added the possibility to reset the profiler to its initial state
18 * deprecated data collectors without a `reset()` method
19 * deprecated implementing `DebugLoggerInterface` without a `clear()` method
24 * added `kernel.project_dir` and `Kernel::getProjectDir()`
25 * deprecated `kernel.root_dir` and `Kernel::getRootDir()`
26 * deprecated `Kernel::getEnvParameters()`
27 * deprecated the special `SYMFONY__` environment variables
28 * added the possibility to change the query string parameter used by `UriSigner`
29 * deprecated `LazyLoadingFragmentHandler::addRendererService()`
30 * deprecated `Extension::addClassesToCompile()` and `Extension::getClassesToCompile()`
31 * deprecated `Psr6CacheClearer::addPool()`
36 * deprecated `DataCollector::varToString()`, use `cloneVar()` instead
37 * changed surrogate capability name in `AbstractSurrogate::addSurrogateCapability` to 'symfony'
38 * Added `ControllerArgumentValueResolverPass`
42 * deprecated passing objects as URI attributes to the ESI and SSI renderers
43 * deprecated `ControllerResolver::getArguments()`
44 * added `Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface`
45 * added `Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface` as argument to `HttpKernel`
46 * added `Symfony\Component\HttpKernel\Controller\ArgumentResolver`
47 * added `Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getMethod()`
48 * added `Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getRedirect()`
49 * added the `kernel.controller_arguments` event, triggered after controller arguments have been resolved
54 * removed `Symfony\Component\HttpKernel\Kernel::init()`
55 * removed `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle()` and `Symfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle()`
56 * removed `Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher::setProfiler()`
57 * removed `Symfony\Component\HttpKernel\EventListener\FragmentListener::getLocalIpAddresses()`
58 * removed `Symfony\Component\HttpKernel\EventListener\LocaleListener::setRequest()`
59 * removed `Symfony\Component\HttpKernel\EventListener\RouterListener::setRequest()`
60 * removed `Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest()`
61 * removed `Symfony\Component\HttpKernel\Fragment\FragmentHandler::setRequest()`
62 * removed `Symfony\Component\HttpKernel\HttpCache\Esi::hasSurrogateEsiCapability()`
63 * removed `Symfony\Component\HttpKernel\HttpCache\Esi::addSurrogateEsiCapability()`
64 * removed `Symfony\Component\HttpKernel\HttpCache\Esi::needsEsiParsing()`
65 * removed `Symfony\Component\HttpKernel\HttpCache\HttpCache::getEsi()`
66 * removed `Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel`
67 * removed `Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass`
68 * removed `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener`
69 * removed `Symfony\Component\HttpKernel\EventListener\EsiListener`
70 * removed `Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategy`
71 * removed `Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategyInterface`
72 * removed `Symfony\Component\HttpKernel\Log\LoggerInterface`
73 * removed `Symfony\Component\HttpKernel\Log\NullLogger`
74 * removed `Symfony\Component\HttpKernel\Profiler::import()`
75 * removed `Symfony\Component\HttpKernel\Profiler::export()`
80 * deprecated `Profiler::import` and `Profiler::export`
85 * added the HTTP status code to profiles
90 * deprecated `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener`, use `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` instead
91 * deprecated unused method `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle` and `Symfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle`
96 * deprecated `Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass`, use `Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass` instead
101 * added event listeners for the session
102 * added the KernelEvents::FINISH_REQUEST event
107 * [BC BREAK] renamed `Symfony\Component\HttpKernel\EventListener\DeprecationLoggerListener` to `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener` and changed its constructor
108 * deprecated `Symfony\Component\HttpKernel\Debug\ErrorHandler`, `Symfony\Component\HttpKernel\Debug\ExceptionHandler`,
109 `Symfony\Component\HttpKernel\Exception\FatalErrorException` and `Symfony\Component\HttpKernel\Exception\FlattenException`
110 * deprecated `Symfony\Component\HttpKernel\Kernel::init()`
111 * added the possibility to specify an id an extra attributes to hinclude tags
112 * added the collect of data if a controller is a Closure in the Request collector
113 * pass exceptions from the ExceptionListener to the logger using the logging context to allow for more
119 * [BC BREAK] the path info for sub-request is now always _fragment (or whatever you configured instead of the default)
120 * added Symfony\Component\HttpKernel\EventListener\FragmentListener
121 * added Symfony\Component\HttpKernel\UriSigner
122 * added Symfony\Component\HttpKernel\FragmentRenderer and rendering strategies (in Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface)
123 * added Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel
124 * added ControllerReference to create reference of Controllers (used in the FragmentRenderer class)
125 * [BC BREAK] renamed TimeDataCollector::getTotalTime() to
126 TimeDataCollector::getDuration()
127 * updated the MemoryDataCollector to include the memory used in the
128 kernel.terminate event listeners
129 * moved the Stopwatch classes to a new component
130 * added TraceableControllerResolver
131 * added TraceableEventDispatcher (removed ContainerAwareTraceableEventDispatcher)
132 * added support for WinCache opcode cache in ConfigDataCollector
137 * [BC BREAK] the charset is now configured via the Kernel::getCharset() method
138 * [BC BREAK] the current locale for the user is not stored anymore in the session
139 * added the HTTP method to the profiler storage
140 * updated all listeners to implement EventSubscriberInterface
141 * added TimeDataCollector
142 * added ContainerAwareTraceableEventDispatcher
143 * moved TraceableEventDispatcherInterface to the EventDispatcher component
144 * added RouterListener, LocaleListener, and StreamedResponseListener
145 * added CacheClearerInterface (and ChainCacheClearer)
146 * added a kernel.terminate event (via TerminableInterface and PostResponseEvent)
147 * added a Stopwatch class
148 * added WarmableInterface
149 * improved extensibility between bundles
150 * added profiler storages for Memcache(d), File-based, MongoDB, Redis
151 * moved Filesystem class to its own component