18 KiB
18 KiB
CHANGELOG
6.2
- Add constructor argument
bool $handleAllThrowabletoHttpKernel - Add
ControllerEvent::getAttributes()to handle attributes on controllers - Add
#[Cache]to describe the default HTTP cache headers on controllers - Add
absolute_urioption to surrogate fragment renderers - Add
ValueResolverInterfaceand deprecateArgumentValueResolverInterface - Add argument
$reflectortoArgumentResolverInterfaceandArgumentMetadataFactoryInterface - Deprecate calling
ConfigDataCollector::setKernel(),RouterListener::setCurrentRequest()without arguments
6.1
- Add
BackedEnumValueResolverto resolve backed enum cases from request attributes in controller arguments - Add
DateTimeValueResolverto resolve request attributes into DateTime objects in controller arguments - Deprecate StreamedResponseListener, it's not needed anymore
- Add
Profiler::isEnabled()so collaborating collector services may elect to omit themselves - Add the
UidValueResolverargument value resolver - Add
AbstractBundleclass for DI configuration/definition on a single file - Update the path of a bundle placed in the
src/directory to the parent directory whenAbstractBundleis used
6.0
- Remove
ArgumentInterface - Remove
ArgumentMetadata::getAttribute(), usegetAttributes()instead - Remove support for returning a
ContainerBuilderfromKernelInterface::registerContainerConfiguration() - Remove
KernelEvent::isMasterRequest(), useisMainRequest()instead - Remove support for
service:actionsyntax to reference controllers, useserviceOrFqcn::methodinstead
5.4
- Add the ability to enable the profiler using a request query parameter, body parameter or attribute
- Deprecate
AbstractTestSessionListenerandTestSessionListener, useAbstractSessionListenerandSessionListenerinstead - Deprecate the
fileLinkFormatparameter ofDebugHandlersListener - Add support for configuring log level, and status code by exception class
- Allow ignoring "kernel.reset" methods that don't exist with "on_invalid" attribute
5.3
- Deprecate
ArgumentInterface - Add
ArgumentMetadata::getAttributes() - Deprecate
ArgumentMetadata::getAttribute(), usegetAttributes()instead - Mark the class
Symfony\Component\HttpKernel\EventListener\DebugHandlersListeneras internal - Deprecate returning a
ContainerBuilderfromKernelInterface::registerContainerConfiguration() - Deprecate
HttpKernelInterface::MASTER_REQUESTand addHttpKernelInterface::MAIN_REQUESTas replacement - Deprecate
KernelEvent::isMasterRequest()and addisMainRequest()as replacement - Add
#[AsController]attribute for declaring standalone controllers on PHP 8 - Add
FragmentUriGeneratorInterfaceandFragmentUriGeneratorto generate the URI of a fragment
5.2.0
- added session usage
- made the public
http_cacheservice handle requests when available - allowed enabling trusted hosts and proxies using new
kernel.trusted_hosts,kernel.trusted_proxiesandkernel.trusted_headersparameters - content of request parameter
_passwordis now also hidden in the request profiler raw content section - Allowed adding attributes on controller arguments that will be passed to argument resolvers.
- kernels implementing the
ExtensionInterfacewill now be auto-registered to the container - added parameter
kernel.runtime_environment, defined as%env(default:kernel.environment:APP_RUNTIME_ENV)% - do not set a default
AcceptHTTP header when usingHttpKernelBrowser
5.1.0
- allowed to use a specific logger channel for deprecations
- made
WarmableInterface::warmUp()return a list of classes or files to preload on PHP 7.4+; not returning an array is deprecated - made kernels implementing
WarmableInterfacebe part of the cache warmup stage - deprecated support for
service:actionsyntax to reference controllers, useserviceOrFqcn::methodinstead - allowed using public aliases to reference controllers
- added session usage reporting when the
_statelessattribute of the request is set totrue - added
AbstractSessionListener::onSessionUsage()to report when the session is used while a request is stateless
5.0.0
- removed support for getting the container from a non-booted kernel
- removed the first and second constructor argument of
ConfigDataCollector - removed
ConfigDataCollector::getApplicationName() - removed
ConfigDataCollector::getApplicationVersion() - removed support for
Symfony\Component\Templating\EngineInterfaceinHIncludeFragmentRenderer, use aTwig\Environmentonly - removed
TranslatorListenerin favor ofLocaleAwareListener - removed
getRootDir()andgetName()fromKernelandKernelInterface - removed
FilterControllerArgumentsEvent, useControllerArgumentsEventinstead - removed
FilterControllerEvent, useControllerEventinstead - removed
FilterResponseEvent, useResponseEventinstead - removed
GetResponseEvent, useRequestEventinstead - removed
GetResponseForControllerResultEvent, useViewEventinstead - removed
GetResponseForExceptionEvent, useExceptionEventinstead - removed
PostResponseEvent, useTerminateEventinstead - removed
SaveSessionListenerin favor ofAbstractSessionListener - removed
Client, useHttpKernelBrowserinstead - added method
getProjectDir()toKernelInterface - removed methods
serializeandunserializefromDataCollector, store the serialized state in the data property instead - made
ProfilerStorageInterfaceinternal - removed the second and third argument of
KernelInterface::locateResource - removed the second and third argument of
FileLocator::__construct - removed loading resources from
%kernel.root_dir%/Resourcesand%kernel.root_dir%as fallback directories. - removed class
ExceptionListener, useErrorListenerinstead
4.4.0
- The
DebugHandlersListenerclass has been marked asfinal - Added new Bundle directory convention consistent with standard skeletons
- Deprecated the second and third argument of
KernelInterface::locateResource - Deprecated the second and third argument of
FileLocator::__construct - Deprecated loading resources from
%kernel.root_dir%/Resourcesand%kernel.root_dir%as fallback directories. Resources like service definitions are usually loaded relative to the current directory or with a glob pattern. The fallback directories have never been advocated so you likely do not use those in any app based on the SF Standard or Flex edition. - Marked all dispatched event classes as
@final - Added
ErrorControllerto enable the preview and error rendering mechanism - Getting the container from a non-booted kernel is deprecated.
- Marked the
AjaxDataCollector,ConfigDataCollector,EventDataCollector,ExceptionDataCollector,LoggerDataCollector,MemoryDataCollector,RequestDataCollectorandTimeDataCollectorclasses as@final. - Marked the
RouterDataCollector::collect()method as@final. - The
DataCollectorInterface::collect()andProfiler::collect()methods third parameter signature will be\Throwable $exception = nullinstead of\Exception $exception = nullin Symfony 5.0. - Deprecated methods
ExceptionEvent::get/setException(), useget/setThrowable()instead - Deprecated class
ExceptionListener, useErrorListenerinstead
4.3.0
- renamed
ClienttoHttpKernelBrowser KernelInterfacedoesn't extendSerializableanymore- deprecated the
Kernel::serialize()andunserialize()methods - increased the priority of
Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener - made
Symfony\Component\HttpKernel\EventListener\LocaleListenerset the default locale early - deprecated
TranslatorListenerin favor ofLocaleAwareListener - added the registration of all
LocaleAwareInterfaceimplementations into theLocaleAwareListener - made
FileLinkFormatterfinal and not implementSerializableanymore - the base
DataCollectordoesn't implementSerializableanymore, you should store all the serialized state in the data property instead DumpDataCollectorhas been marked asfinal- added an event listener to prevent search engines from indexing applications in debug mode.
- renamed
FilterControllerArgumentsEventtoControllerArgumentsEvent - renamed
FilterControllerEventtoControllerEvent - renamed
FilterResponseEventtoResponseEvent - renamed
GetResponseEventtoRequestEvent - renamed
GetResponseForControllerResultEventtoViewEvent - renamed
GetResponseForExceptionEventtoExceptionEvent - renamed
PostResponseEventtoTerminateEvent - added
HttpClientKernelfor handling requests with anHttpClientInterfaceinstance - added
trace_headerandtrace_levelconfiguration options toHttpCache
4.2.0
- deprecated
KernelInterface::getRootDir()and thekernel.root_dirparameter - deprecated
KernelInterface::getName()and thekernel.nameparameter - deprecated the first and second constructor argument of
ConfigDataCollector - deprecated
ConfigDataCollector::getApplicationName() - deprecated
ConfigDataCollector::getApplicationVersion()
4.1.0
- added orphaned events support to
EventDataCollector ExceptionListenernow logs exceptions at priority0(previously logged at-128)- Added support for using
service::methodto reference controllers, making it consistent with other cases. It is recommended over theservice:actionsyntax with a single colon, which will be deprecated in the future. - Added the ability to profile individual argument value resolvers via the
Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver
4.0.0
- removed the
DataCollector::varToString()method, useDataCollector::cloneVar()instead - using the
DataCollector::cloneVar()method requires the VarDumper component - removed the
ValueExporterclass - removed
ControllerResolverInterface::getArguments() - removed
TraceableControllerResolver::getArguments() - removed
ControllerResolver::getArguments()and the ability to resolve arguments - removed the
argument_resolverservice dependency from thedebug.controller_resolver - removed
LazyLoadingFragmentHandler::addRendererService() - removed
Psr6CacheClearer::addPool() - removed
Extension::addClassesToCompile()andExtension::getClassesToCompile() - removed
Kernel::loadClassCache(),Kernel::doLoadClassCache(),Kernel::setClassCache(), andKernel::getEnvParameters() - support for the
X-Status-Codewhen handling exceptions in theHttpKernelhas been dropped, use theHttpKernel::allowCustomResponseCode()method instead - removed convention-based commands registration
- removed the
ChainCacheClearer::add()method - removed the
CacheaWarmerAggregate::add()andsetWarmers()methods - made
CacheWarmerAggregateandChainCacheClearerclasses final
3.4.0
- added a minimalist PSR-3
Loggerclass that writes instderr - made kernels implementing
CompilerPassInterfaceable to process the container - deprecated bundle inheritance
- added
RebootableInterfaceand implemented it inKernel - deprecated commands auto registration
- deprecated
EnvParametersResource - added
Symfony\Component\HttpKernel\Client::catchExceptions() - deprecated the
ChainCacheClearer::add()method - deprecated the
CacheaWarmerAggregate::add()andsetWarmers()methods - made
CacheWarmerAggregateandChainCacheClearerclasses final - added the possibility to reset the profiler to its initial state
- deprecated data collectors without a
reset()method - deprecated implementing
DebugLoggerInterfacewithout aclear()method
3.3.0
- added
kernel.project_dirandKernel::getProjectDir() - deprecated
kernel.root_dirandKernel::getRootDir() - deprecated
Kernel::getEnvParameters() - deprecated the special
SYMFONY__environment variables - added the possibility to change the query string parameter used by
UriSigner - deprecated
LazyLoadingFragmentHandler::addRendererService() - deprecated
Extension::addClassesToCompile()andExtension::getClassesToCompile() - deprecated
Psr6CacheClearer::addPool()
3.2.0
- deprecated
DataCollector::varToString(), usecloneVar()instead - changed surrogate capability name in
AbstractSurrogate::addSurrogateCapabilityto 'symfony' - Added
ControllerArgumentValueResolverPass
3.1.0
- deprecated passing objects as URI attributes to the ESI and SSI renderers
- deprecated
ControllerResolver::getArguments() - added
Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface - added
Symfony\Component\HttpKernel\Controller\ArgumentResolverInterfaceas argument toHttpKernel - added
Symfony\Component\HttpKernel\Controller\ArgumentResolver - added
Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getMethod() - added
Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getRedirect() - added the
kernel.controller_argumentsevent, triggered after controller arguments have been resolved
3.0.0
- removed
Symfony\Component\HttpKernel\Kernel::init() - removed
Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle()andSymfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle() - removed
Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher::setProfiler() - removed
Symfony\Component\HttpKernel\EventListener\FragmentListener::getLocalIpAddresses() - removed
Symfony\Component\HttpKernel\EventListener\LocaleListener::setRequest() - removed
Symfony\Component\HttpKernel\EventListener\RouterListener::setRequest() - removed
Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest() - removed
Symfony\Component\HttpKernel\Fragment\FragmentHandler::setRequest() - removed
Symfony\Component\HttpKernel\HttpCache\Esi::hasSurrogateEsiCapability() - removed
Symfony\Component\HttpKernel\HttpCache\Esi::addSurrogateEsiCapability() - removed
Symfony\Component\HttpKernel\HttpCache\Esi::needsEsiParsing() - removed
Symfony\Component\HttpKernel\HttpCache\HttpCache::getEsi() - removed
Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel - removed
Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass - removed
Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener - removed
Symfony\Component\HttpKernel\EventListener\EsiListener - removed
Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategy - removed
Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategyInterface - removed
Symfony\Component\HttpKernel\Log\LoggerInterface - removed
Symfony\Component\HttpKernel\Log\NullLogger - removed
Symfony\Component\HttpKernel\Profiler::import() - removed
Symfony\Component\HttpKernel\Profiler::export()
2.8.0
- deprecated
Profiler::importandProfiler::export
2.7.0
- added the HTTP status code to profiles
2.6.0
- deprecated
Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener, useSymfony\Component\HttpKernel\EventListener\DebugHandlersListenerinstead - deprecated unused method
Symfony\Component\HttpKernel\Kernel::isClassInActiveBundleandSymfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle
2.5.0
- deprecated
Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass, useSymfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPassinstead
2.4.0
- added event listeners for the session
- added the KernelEvents::FINISH_REQUEST event
2.3.0
- [BC BREAK] renamed
Symfony\Component\HttpKernel\EventListener\DeprecationLoggerListenertoSymfony\Component\HttpKernel\EventListener\ErrorsLoggerListenerand changed its constructor - deprecated
Symfony\Component\HttpKernel\Debug\ErrorHandler,Symfony\Component\HttpKernel\Debug\ExceptionHandler,Symfony\Component\HttpKernel\Exception\FatalErrorExceptionandSymfony\Component\HttpKernel\Exception\FlattenException - deprecated
Symfony\Component\HttpKernel\Kernel::init() - added the possibility to specify an id an extra attributes to hinclude tags
- added the collect of data if a controller is a Closure in the Request collector
- pass exceptions from the ExceptionListener to the logger using the logging context to allow for more detailed messages
2.2.0
- [BC BREAK] the path info for sub-request is now always _fragment (or whatever you configured instead of the default)
- added Symfony\Component\HttpKernel\EventListener\FragmentListener
- added Symfony\Component\HttpKernel\UriSigner
- added Symfony\Component\HttpKernel\FragmentRenderer and rendering strategies (in Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface)
- added Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel
- added ControllerReference to create reference of Controllers (used in the FragmentRenderer class)
- [BC BREAK] renamed TimeDataCollector::getTotalTime() to TimeDataCollector::getDuration()
- updated the MemoryDataCollector to include the memory used in the kernel.terminate event listeners
- moved the Stopwatch classes to a new component
- added TraceableControllerResolver
- added TraceableEventDispatcher (removed ContainerAwareTraceableEventDispatcher)
- added support for WinCache opcode cache in ConfigDataCollector
2.1.0
- [BC BREAK] the charset is now configured via the Kernel::getCharset() method
- [BC BREAK] the current locale for the user is not stored anymore in the session
- added the HTTP method to the profiler storage
- updated all listeners to implement EventSubscriberInterface
- added TimeDataCollector
- added ContainerAwareTraceableEventDispatcher
- moved TraceableEventDispatcherInterface to the EventDispatcher component
- added RouterListener, LocaleListener, and StreamedResponseListener
- added CacheClearerInterface (and ChainCacheClearer)
- added a kernel.terminate event (via TerminableInterface and PostResponseEvent)
- added a Stopwatch class
- added WarmableInterface
- improved extensibility between bundles
- added profiler storages for Memcache(d), File-based, MongoDB, Redis
- moved Filesystem class to its own component