NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #217 most downloaded on Packagist
Provides a tight integration between Symfony components and the Symfony full-stack framework
Last release 7 days ago
28 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Rarely documented
notes for 7 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
798 releases · first in 2011
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Deprecated support for templating engine in TemplateController, use Twig instead
lint:container command to check that services wiring matches type declarationsMailerAssertionsTraittemplating engine in TemplateController, use Twig instead$parser argument of ControllerResolver::__construct() and DelegatingLoader::__construct()controller_name_converter and resolve_controller_name_subscriber servicesControllerResolver and DelegatingLoader classes have been marked as finalWebTestCase::createClient() while a kernel has been booted, ensure the kernel is shut down before calling the methodrouting.loader.service, use routing.loader.container instead.routing.route_loader has been deprecated.KernelTestCase::tearDown() and WebTestCase::tearDown() without the void return-type is deprecated.error_controller configuration to handle system exceptionstranslation:update command.framework.messenger.routing.senders config key is not deeply merged anymore.secrets:* commands to deal with secrets seamlessly.framework.session.handler_id accept a DSNRouterDataCollector class as @final.framework.messenger.buses.<name>.middleware config key is not deeply merged anymore.MailerAssertionsTrait in KernelTestCaseNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Deprecated the framework.templating option, configure the Twig bundle instead.
framework.templating option, configure the Twig bundle instead.WebTestAssertionsTrait (included by default in WebTestCase)Client to KernelBrowserAssetsInstallCommand is deprecated. This argument will
be mandatory in 5.0.serializer option for each
transport underframework.messenger.transports.RegisterLocaleAwareServicesPass and configured the LocaleAwareListenerPhpSerializer, which uses
PHP's native serialize() and unserialize() functions. To use the
original serialization method, set the framework.messenger.default_serializer
config option to messenger.transport.symfony_serializer. Or set the
serializer option under one specific transport.framework.messenger.serializer config key changed to
framework.messenger.default_serializer, which holds the string service
id and framework.messenger.symfony_serializer, which configures the
options if you're using Symfony's serializer.framework.messenger.routing.send_and_handle configuration.
Instead of setting it to true, configure a SyncTransport and route messages to it.debug:autowiringsid_length and sid_bits_per_character
to the session section of the configurationmessenger:setup-transports command to setup messenger transportsInMemoryTransport to Messenger. Use it with a DSN starting with in-memory://.framework.property_access.throw_exception_on_invalid_property_path config option.cache:pool:list command to list all available cache pools.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Deprecated auto-injection of the container in AbstractController instances, register them as service subscribers instead
AbstractController::addLink() method to add Link headers to the current responseframework.cache.pools.tags option (bool|service-id)cache.adapter.pdo abstract servicesecurity.expression_language_provider in favor of a new AddExpressionLanguageProvidersPass in SecurityBundle.Symfony\Bundle\FrameworkBundle\Controller\Controller class in favor of Symfony\Bundle\FrameworkBundle\Controller\AbstractController.Psr\Log\LoggerAwareInterfaceframework.session.cookie_secure to turn it on when HTTPS is usedframework.messenger.encoder and framework.messenger.decoder options. Use the framework.messenger.serializer.id option to replace the Messenger serializer.ContainerAwareCommand class in favor of Symfony\Component\Console\Command\Commanddebug:container and debug:autowiring ignore backslashes in service idsTemplating\Helper\TranslatorHelper::transChoice() method, use the trans() one instead with a %count% parameterCacheCollectorPass. Use Symfony\Component\Cache\DependencyInjection\CacheCollectorPass instead.CachePoolClearerPass. Use Symfony\Component\Cache\DependencyInjection\CachePoolClearerPass instead.CachePoolPass. Use Symfony\Component\Cache\DependencyInjection\CachePoolPass instead.CachePoolPrunerPass. Use Symfony\Component\Cache\DependencyInjection\CachePoolPrunerPass instead.src/Resources/translations/ and src/Resources/<BundleName>/translations/, use translations/ instead.translation:update and debug:translation commands.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Using a RouterInterface that does not implement the WarmableInterface is deprecated.
LoggerInterface $logger instance to the Routerparameter_bag service with related autowiring aliases to access parameters as-a-serviceRouter to work with any PSR-11 containerRouterInterface that does not implement the WarmableInterface is deprecated.RouterCacheWarmer that does not implement the WarmableInterface is deprecated and will not
be supported anymore in 5.0.RequestDataCollector class has been deprecated. Use the Symfony\Component\HttpKernel\DataCollector\RequestDataCollector class instead.RedirectController class allows for 307/308 HTTP status codesbundle:controller:action syntax to reference controllers. Use serviceOrFqcn::method instead where serviceOrFqcn
is either the service ID or the FQCN of the controller.Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParsercontainer.service_locator tag of ServiceLocators is now autoconfigured.debug:router.Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →