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 extend- Serializableanymore
- 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 as- final
- 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 priority- 0(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
