- 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$hiddenparameter
- 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\ContainerInterfaceandSymfony\Component\DependencyInjection\ContainerInterfacealiases of theservice_containerservice, 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
$usePutenvfrom Dotenv's constructor, useDotenv::usePutenv()instead.
- Removed
LegacyEventDispatcherProxy. Use the event dispatcher without the proxy.
- The default value of the
rounding_modeoption of thePercentTypehas been changed to\NumberFormatter::ROUND_HALFUP. - The default rounding mode of the
PercentToLocalizedStringTransformerhas been changed to\NumberFormatter::ROUND_HALFUP. - Added the
getIsEmptyCallback()method to theFormConfigInterface. - Added the
setIsEmptyCallback()method to theFormConfigBuilderInterface. - Added argument
callable|null $filtertoChoiceListFactoryInterface::createListFromChoices()andcreateListFromLoader(). - The
Symfony\Component\Form\Extension\Validator\Util\ServerParamsclass has been removed, use its parentSymfony\Component\Form\Util\ServerParamsinstead. - The
NumberToLocalizedStringTransformer::ROUND_*constants have been removed, use\NumberFormatter::ROUND_*instead. - Removed
PropertyPathMapperin favor ofDataMapperandPropertyPathAccessor.
MicroKernelTrait::configureRoutes()is now always called with aRoutingConfigurator- The "framework.router.utf8" configuration option defaults to
true - Removed
session.attribute_bagservice andsession.flash_bagservice. - The
form.factory,form.type.file,translator,security.csrf.token_manager,serializer,cache_clearer,filesystemandvalidatorservices 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:actionsyntax to reference controllers. UseserviceOrFqcn::methodinstead.
- The component has been removed, use
EnglishInflectorfrom the String component instead.
- Removed the
SesApiTransportclass. UseSesApiAsyncAwsTransportinstead. - Removed the
SesHttpTransportclass. UseSesHttpAsyncAwsTransportinstead.
- Removed AmqpExt transport. Run
composer require symfony/amqp-messengerto keep the transport in your application. - Removed Doctrine transport. Run
composer require symfony/doctrine-messengerto keep the transport in your application. - Removed RedisExt transport. Run
composer require symfony/redis-messengerto 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
@expectedDeprecationannotations, 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_extractioncontext option inReflectionExtractor::getWriteInfo()andReflectionExtractor::getReadInfo()in favor ofenable_magic_methods_extraction.
- Removed
RouteCollectionBuilder. - Added argument
$prioritytoRouteCollection::add() - Removed the
RouteCompiler::REGEX_DELIMITERconstant
- Removed
ROLE_PREVIOUS_ADMINrole in favor ofIS_IMPERSONATORattribute - Removed
LogoutSuccessHandlerInterfaceandLogoutHandlerInterface, register a listener on theLogoutEventevent instead. - Removed
DefaultLogoutSuccessHandlerin 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::$providerKeyproperty in favor ofAbstractRememberMeServices::$firewallName
- The
twigservice is now private.
-
Removed the
allowEmptyStringoption from theLengthconstraint.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
0oas octal numbers. -
Removed support for parsing numbers starting with
0as octal numbers. They will be parsed as strings. Prefix numbers with0oso that they are parsed as octal numbers.Before:
Yaml::parse('072');After:
Yaml::parse('0o72'); -
Removed support for using the
!php/objectand!php/consttags without a value.