- The signature of method
NodeDefinition::setDeprecated()
has been updated toNodeDefinition::setDeprecation(string $package, string $version, string $message)
. - The signature of method
BaseNode::setDeprecated()
has been updated toBaseNode::setDeprecation(string $package, string $version, string $message)
. - Passing a null message to
BaseNode::setDeprecated()
to un-deprecate a node is not supported anymore. - Removed
BaseNode::getDeprecationMessage()
, useBaseNode::getDeprecation()
instead.
Command::setHidden()
has a default value (true
) for$hidden
parameter
- The signature of method
Definition::setDeprecated()
has been updated toDefinition::setDeprecation(string $package, string $version, string $message)
. - The signature of method
Alias::setDeprecated()
has been updated toAlias::setDeprecation(string $package, string $version, string $message)
. - The signature of method
DeprecateTrait::deprecate()
has been updated toDeprecateTrait::deprecation(string $package, string $version, string $message)
. - Removed the
Psr\Container\ContainerInterface
andSymfony\Component\DependencyInjection\ContainerInterface
aliases of theservice_container
service, configure them explicitly instead. - Removed
Definition::getDeprecationMessage()
, useDefinition::getDeprecation()
instead. - Removed
Alias::getDeprecationMessage()
, useAlias::getDeprecation()
instead. - The
inline()
function from the PHP-DSL has been removed, useinline_service()
instead. - The
ref()
function from the PHP-DSL has been removed, useservice()
instead. - Removed
Definition::setPrivate()
andAlias::setPrivate()
, usesetPublic()
instead
- Removed argument
$usePutenv
from Dotenv's constructor, useDotenv::usePutenv()
instead.
- Removed
LegacyEventDispatcherProxy
. Use the event dispatcher without the proxy.
- The default value of the
rounding_mode
option of thePercentType
has been changed to\NumberFormatter::ROUND_HALFUP
. - The default rounding mode of the
PercentToLocalizedStringTransformer
has been changed to\NumberFormatter::ROUND_HALFUP
. - Added the
getIsEmptyCallback()
method to theFormConfigInterface
. - Added the
setIsEmptyCallback()
method to theFormConfigBuilderInterface
. - Added argument
callable|null $filter
toChoiceListFactoryInterface::createListFromChoices()
andcreateListFromLoader()
. - The
Symfony\Component\Form\Extension\Validator\Util\ServerParams
class has been removed, use its parentSymfony\Component\Form\Util\ServerParams
instead. - The
NumberToLocalizedStringTransformer::ROUND_*
constants have been removed, use\NumberFormatter::ROUND_*
instead.
MicroKernelTrait::configureRoutes()
is now always called with aRoutingConfigurator
- The "framework.router.utf8" configuration option defaults to
true
- Removed
session.attribute_bag
service andsession.flash_bag
service. - The
form.factory
,form.type.file
,translator
,security.csrf.token_manager
,serializer
,cache_clearer
,filesystem
andvalidator
services are now private.
- Removed
Response::create()
,JsonResponse::create()
,RedirectResponse::create()
, andStreamedResponse::create()
methods (use__construct()
instead)
- Made
WarmableInterface::warmUp()
return a list of classes or files to preload on PHP 7.4+ - Removed support for
service:action
syntax to reference controllers. UseserviceOrFqcn::method
instead.
- The component has been removed, use
EnglishInflector
from the String component instead.
- Removed the
SesApiTransport
class. UseSesApiAsyncAwsTransport
instead. - Removed the
SesHttpTransport
class. UseSesHttpAsyncAwsTransport
instead.
- Removed AmqpExt transport. Run
composer require symfony/amqp-messenger
to keep the transport in your application. - Removed Doctrine transport. Run
composer require symfony/doctrine-messenger
to keep the transport in your application. - Removed RedisExt transport. Run
composer require symfony/redis-messenger
to keep the transport in your application. - Use of invalid options in Redis and AMQP connections now throws an error.
- The signature of method
RetryStrategyInterface::isRetryable()
has been updated toRetryStrategyInterface::isRetryable(Envelope $message, \Throwable $throwable = null)
. - The signature of method
RetryStrategyInterface::getWaitingTime()
has been updated toRetryStrategyInterface::getWaitingTime(Envelope $message, \Throwable $throwable = null)
.
- Removed
Address::fromString()
, useAddress::create()
instead
- The signature of method
OptionsResolver::setDeprecated()
has been updated toOptionsResolver::setDeprecated(string $option, string $package, string $version, $message)
. - Removed
OptionsResolverIntrospector::getDeprecationMessage()
, useOptionsResolverIntrospector::getDeprecation()
instead.
- Removed support for
@expectedDeprecation
annotations, use theExpectDeprecationTrait::expectDeprecation()
method instead.
- Dropped support of a boolean as the first argument of
PropertyAccessor::__construct()
. Pass a combination of bitwise flags instead.
- Dropped the
enable_magic_call_extraction
context option inReflectionExtractor::getWriteInfo()
andReflectionExtractor::getReadInfo()
in favor ofenable_magic_methods_extraction
.
- Removed
RouteCollectionBuilder
. - Added argument
$priority
toRouteCollection::add()
- Removed the
RouteCompiler::REGEX_DELIMITER
constant
- Removed
ROLE_PREVIOUS_ADMIN
role in favor ofIS_IMPERSONATOR
attribute - Removed
LogoutSuccessHandlerInterface
andLogoutHandlerInterface
, register a listener on theLogoutEvent
event instead. - Removed
DefaultLogoutSuccessHandler
in favor ofDefaultLogoutListener
. - Added a
logout(Request $request, Response $response, TokenInterface $token)
method to theRememberMeServicesInterface
. - Removed
setProviderKey()
/getProviderKey()
in favor ofsetFirewallName()/getFirewallName()
inPreAuthenticatedToken
,RememberMeToken
,SwitchUserToken
,UsernamePasswordToken
,DefaultAuthenticationSuccessHandler
. - Removed the
AbstractRememberMeServices::$providerKey
property in favor ofAbstractRememberMeServices::$firewallName
- The
twig
service is now private.
-
Removed the
allowEmptyString
option from theLength
constraint.Before:
use Symfony\Component\Validator\Constraints as Assert; /** * @Assert\Length(min=5, allowEmptyString=true) */
After:
use Symfony\Component\Validator\Constraints as Assert; /** * @Assert\AtLeastOneOf({ * @Assert\Blank(), * @Assert\Length(min=5) * }) */
-
Added support for parsing numbers prefixed with
0o
as octal numbers. -
Removed support for parsing numbers starting with
0
as octal numbers. They will be parsed as strings. Prefix numbers with0o
so that they are parsed as octal numbers.Before:
Yaml::parse('072');
After:
Yaml::parse('0o72');
-
Removed support for using the
!php/object
and!php/const
tags without a value.