Blame | Letzte Änderung | Log anzeigen | RSS feed
CHANGELOG=========6.2---* Add constructor argument `bool $handleAllThrowable` to `HttpKernel`* Add `ControllerEvent::getAttributes()` to handle attributes on controllers* Add `#[Cache]` to describe the default HTTP cache headers on controllers* Add `absolute_uri` option to surrogate fragment renderers* Add `ValueResolverInterface` and deprecate `ArgumentValueResolverInterface`* Add argument `$reflector` to `ArgumentResolverInterface` and `ArgumentMetadataFactoryInterface`* Deprecate calling `ConfigDataCollector::setKernel()`, `RouterListener::setCurrentRequest()` without arguments6.1---* Add `BackedEnumValueResolver` to resolve backed enum cases from request attributes in controller arguments* Add `DateTimeValueResolver` to 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 `UidValueResolver` argument value resolver* Add `AbstractBundle` class for DI configuration/definition on a single file* Update the path of a bundle placed in the `src/` directory to the parent directory when `AbstractBundle` is used6.0---* Remove `ArgumentInterface`* Remove `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead* Remove support for returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()`* Remove `KernelEvent::isMasterRequest()`, use `isMainRequest()` instead* Remove support for `service:action` syntax to reference controllers, use `serviceOrFqcn::method` instead5.4---* Add the ability to enable the profiler using a request query parameter, body parameter or attribute* Deprecate `AbstractTestSessionListener` and `TestSessionListener`, use `AbstractSessionListener` and `SessionListener` instead* Deprecate the `fileLinkFormat` parameter of `DebugHandlersListener`* Add support for configuring log level, and status code by exception class* Allow ignoring "kernel.reset" methods that don't exist with "on_invalid" attribute5.3---* Deprecate `ArgumentInterface`* Add `ArgumentMetadata::getAttributes()`* Deprecate `ArgumentMetadata::getAttribute()`, use `getAttributes()` instead* Mark the class `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` as internal* Deprecate returning a `ContainerBuilder` from `KernelInterface::registerContainerConfiguration()`* Deprecate `HttpKernelInterface::MASTER_REQUEST` and add `HttpKernelInterface::MAIN_REQUEST` as replacement* Deprecate `KernelEvent::isMasterRequest()` and add `isMainRequest()` as replacement* Add `#[AsController]` attribute for declaring standalone controllers on PHP 8* Add `FragmentUriGeneratorInterface` and `FragmentUriGenerator` to generate the URI of a fragment5.2.0-----* added session usage* made the public `http_cache` service handle requests when available* allowed enabling trusted hosts and proxies using new `kernel.trusted_hosts`,`kernel.trusted_proxies` and `kernel.trusted_headers` parameters* content of request parameter `_password` is now also hiddenin the request profiler raw content section* Allowed adding attributes on controller arguments that will be passed to argument resolvers.* kernels implementing the `ExtensionInterface` will 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 `Accept` HTTP header when using `HttpKernelBrowser`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 `WarmableInterface` be part of the cache warmup stage* deprecated support for `service:action` syntax to reference controllers, use `serviceOrFqcn::method` instead* allowed using public aliases to reference controllers* added session usage reporting when the `_stateless` attribute of the request is set to `true`* added `AbstractSessionListener::onSessionUsage()` to report when the session is used while a request is stateless5.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\EngineInterface` in `HIncludeFragmentRenderer`, use a `Twig\Environment` only* removed `TranslatorListener` in favor of `LocaleAwareListener`* removed `getRootDir()` and `getName()` from `Kernel` and `KernelInterface`* removed `FilterControllerArgumentsEvent`, use `ControllerArgumentsEvent` instead* removed `FilterControllerEvent`, use `ControllerEvent` instead* removed `FilterResponseEvent`, use `ResponseEvent` instead* removed `GetResponseEvent`, use `RequestEvent` instead* removed `GetResponseForControllerResultEvent`, use `ViewEvent` instead* removed `GetResponseForExceptionEvent`, use `ExceptionEvent` instead* removed `PostResponseEvent`, use `TerminateEvent` instead* removed `SaveSessionListener` in favor of `AbstractSessionListener`* removed `Client`, use `HttpKernelBrowser` instead* added method `getProjectDir()` to `KernelInterface`* removed methods `serialize` and `unserialize` from `DataCollector`, store the serialized state in the data property instead* made `ProfilerStorageInterface` internal* 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%/Resources` and `%kernel.root_dir%` asfallback directories.* removed class `ExceptionListener`, use `ErrorListener` instead4.4.0-----* The `DebugHandlersListener` class has been marked as `final`* 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%/Resources` and `%kernel.root_dir%` asfallback directories. Resources like service definitions are usually loaded relative to thecurrent directory or with a glob pattern. The fallback directories have never been advocatedso 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 `ErrorController` to 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`,`RequestDataCollector` and `TimeDataCollector` classes as `@final`.* Marked the `RouterDataCollector::collect()` method as `@final`.* The `DataCollectorInterface::collect()` and `Profiler::collect()` methods third parameter signaturewill be `\Throwable $exception = null` instead of `\Exception $exception = null` in Symfony 5.0.* Deprecated methods `ExceptionEvent::get/setException()`, use `get/setThrowable()` instead* Deprecated class `ExceptionListener`, use `ErrorListener` instead4.3.0-----* renamed `Client` to `HttpKernelBrowser`* `KernelInterface` doesn't extend `Serializable` anymore* deprecated the `Kernel::serialize()` and `unserialize()` methods* increased the priority of `Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener`* made `Symfony\Component\HttpKernel\EventListener\LocaleListener` set the default locale early* deprecated `TranslatorListener` in favor of `LocaleAwareListener`* added the registration of all `LocaleAwareInterface` implementations into the `LocaleAwareListener`* made `FileLinkFormatter` final and not implement `Serializable` anymore* the base `DataCollector` doesn't implement `Serializable` anymore, you shouldstore all the serialized state in the data property instead* `DumpDataCollector` has been marked as `final`* added an event listener to prevent search engines from indexing applications in debug mode.* renamed `FilterControllerArgumentsEvent` to `ControllerArgumentsEvent`* renamed `FilterControllerEvent` to `ControllerEvent`* renamed `FilterResponseEvent` to `ResponseEvent`* renamed `GetResponseEvent` to `RequestEvent`* renamed `GetResponseForControllerResultEvent` to `ViewEvent`* renamed `GetResponseForExceptionEvent` to `ExceptionEvent`* renamed `PostResponseEvent` to `TerminateEvent`* added `HttpClientKernel` for handling requests with an `HttpClientInterface` instance* added `trace_header` and `trace_level` configuration options to `HttpCache`4.2.0-----* deprecated `KernelInterface::getRootDir()` and the `kernel.root_dir` parameter* deprecated `KernelInterface::getName()` and the `kernel.name` parameter* deprecated the first and second constructor argument of `ConfigDataCollector`* deprecated `ConfigDataCollector::getApplicationName()`* deprecated `ConfigDataCollector::getApplicationVersion()`4.1.0-----* added orphaned events support to `EventDataCollector`* `ExceptionListener` now logs exceptions at priority `0` (previously logged at `-128`)* 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.* 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, use `DataCollector::cloneVar()`instead* using the `DataCollector::cloneVar()` method requires the VarDumper component* removed the `ValueExporter` class* removed `ControllerResolverInterface::getArguments()`* removed `TraceableControllerResolver::getArguments()`* removed `ControllerResolver::getArguments()` and the ability to resolve arguments* removed the `argument_resolver` service dependency from the `debug.controller_resolver`* removed `LazyLoadingFragmentHandler::addRendererService()`* removed `Psr6CacheClearer::addPool()`* removed `Extension::addClassesToCompile()` and `Extension::getClassesToCompile()`* removed `Kernel::loadClassCache()`, `Kernel::doLoadClassCache()`, `Kernel::setClassCache()`,and `Kernel::getEnvParameters()`* support for the `X-Status-Code` when handling exceptions in the `HttpKernel`has been dropped, use the `HttpKernel::allowCustomResponseCode()` methodinstead* removed convention-based commands registration* removed the `ChainCacheClearer::add()` method* removed the `CacheaWarmerAggregate::add()` and `setWarmers()` methods* made `CacheWarmerAggregate` and `ChainCacheClearer` classes final3.4.0-----* added a minimalist PSR-3 `Logger` class that writes in `stderr`* made kernels implementing `CompilerPassInterface` able to process the container* deprecated bundle inheritance* added `RebootableInterface` and implemented it in `Kernel`* deprecated commands auto registration* deprecated `EnvParametersResource`* added `Symfony\Component\HttpKernel\Client::catchExceptions()`* deprecated the `ChainCacheClearer::add()` method* deprecated the `CacheaWarmerAggregate::add()` and `setWarmers()` methods* made `CacheWarmerAggregate` and `ChainCacheClearer` classes final* added the possibility to reset the profiler to its initial state* deprecated data collectors without a `reset()` method* deprecated implementing `DebugLoggerInterface` without a `clear()` method3.3.0-----* added `kernel.project_dir` and `Kernel::getProjectDir()`* deprecated `kernel.root_dir` and `Kernel::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()` and `Extension::getClassesToCompile()`* deprecated `Psr6CacheClearer::addPool()`3.2.0-----* deprecated `DataCollector::varToString()`, use `cloneVar()` instead* changed surrogate capability name in `AbstractSurrogate::addSurrogateCapability` to '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\ArgumentResolverInterface` as argument to `HttpKernel`* added `Symfony\Component\HttpKernel\Controller\ArgumentResolver`* added `Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getMethod()`* added `Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getRedirect()`* added the `kernel.controller_arguments` event, triggered after controller arguments have been resolved3.0.0-----* removed `Symfony\Component\HttpKernel\Kernel::init()`* removed `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle()` and `Symfony\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::import` and `Profiler::export`2.7.0-----* added the HTTP status code to profiles2.6.0-----* deprecated `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener`, use `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` instead* deprecated unused method `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle` and `Symfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle`2.5.0-----* deprecated `Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass`, use `Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass` instead2.4.0-----* added event listeners for the session* added the KernelEvents::FINISH_REQUEST event2.3.0-----* [BC BREAK] renamed `Symfony\Component\HttpKernel\EventListener\DeprecationLoggerListener` to `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener` and changed its constructor* deprecated `Symfony\Component\HttpKernel\Debug\ErrorHandler`, `Symfony\Component\HttpKernel\Debug\ExceptionHandler`,`Symfony\Component\HttpKernel\Exception\FatalErrorException` and `Symfony\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 moredetailed messages2.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() toTimeDataCollector::getDuration()* updated the MemoryDataCollector to include the memory used in thekernel.terminate event listeners* moved the Stopwatch classes to a new component* added TraceableControllerResolver* added TraceableEventDispatcher (removed ContainerAwareTraceableEventDispatcher)* added support for WinCache opcode cache in ConfigDataCollector2.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