- Implementing
ParentNodeDefinitionInterface
without thegetChildNodeDefinitions()
method is deprecated.
- Deprecated the
setCrossingChar()
method in favor of thesetDefaultCrossingChar()
method inTableStyle
. - The
Processor
class has been made final - Deprecated the
setHorizontalBorderChar()
method in favor of thesetDefaultCrossingChars()
method inTableStyle
. - Deprecated the
getHorizontalBorderChar()
method in favor of thegetBorderChars()
method inTableStyle
. - Deprecated the
setVerticalBorderChar()
method in favor of thesetVerticalBorderChars()
method inTableStyle
. - Deprecated the
getVerticalBorderChar()
method in favor of thegetBorderChars()
method inTableStyle
. - Added support for
iterable
messages inwrite
andwriteln
methods ofSymfony\Component\Console\Output\OutputInterface
. If you have a custom implementation of the interface, you should make sure it works with iterable as well.
- Deprecated the
TypedReference::canBeAutoregistered()
andTypedReference::getRequiringClass()
methods. - Deprecated support for auto-discovered extension configuration class which does not implement
ConfigurationInterface
.
- The
TraceableEventDispatcherInterface
has been deprecated.
-
Deprecated the
ChoiceLoaderInterface
implementation inCountryType
,LanguageType
,LocaleType
andCurrencyType
, use thechoice_loader
option instead.Before:
class MyCountryType extends CountryType { public function loadChoiceList() { // override the method } }
After:
class MyCountryType extends AbstractType { public function getParent() { return CountryType::class; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefault('choice_loader', ...); // override the option instead } }
-
Added
help
option to the form field. If you have custom Form extension for it, you should remove it. Also remove it from the custom form theme.
-
Deprecated
bundle:controller:action
andservice:action
syntaxes to reference controllers. UseserviceOrFqcn::method
instead whereserviceOrFqcn
is either the service ID when using controllers as services or the FQCN of the controller.Before:
bundle_controller: path: / defaults: _controller: FrameworkBundle:Redirect:redirect service_controller: path: / defaults: _controller: app.my_controller:myAction
After:
bundle_controller: path: / defaults: _controller: Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction service_controller: path: / defaults: _controller: app.my_controller::myAction
-
Deprecated
Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser
-
Warming up a router in
RouterCacheWarmer
that does not implement theWarmableInterface
is deprecated and will not be supported anymore in 5.0. -
The
RequestDataCollector
class has been deprecated. Use theSymfony\Component\HttpKernel\DataCollector\RequestDataCollector
class instead.
- Passing the file size to the constructor of the
UploadedFile
class is deprecated. - The
getClientSize()
method of theUploadedFile
class is deprecated. UsegetSize()
instead. - Deprecated
Symfony\Component\HttpFoundation\Request::getSession()
when no session has been set. UseSymfony\Component\HttpFoundation\Request::hasSession()
instead.
- The
ContextListener::setLogoutOnUserChange()
method is deprecated. - Using the
AdvancedUserInterface
is now deprecated. To use the existing functionality, create a custom user-checker based on theSymfony\Component\Security\Core\User\UserChecker
. AuthenticationUtils::getLastUsername()
now always returns a string.- The
ExpressionVoter::addExpressionLanguageProvider()
method is deprecated. Register the provider directly on the injected ExpressionLanguage instance instead.
- The
logout_on_user_change
firewall option is deprecated. - The
switch_user.stateless
firewall option is deprecated, use thestateless
option instead. - The
SecurityUserValueResolver
class is deprecated, useSymfony\Component\Security\Http\Controller\UserValueResolver
instead.
- Decoding XML with
XmlEncoder
now ignores comment node types by default.
- The
FileDumper::setBackup()
method is deprecated. - The
TranslationWriter::disableBackup()
method is deprecated.
- Deprecated relying on the default value (
false
) of thetwig.strict_variables
configuration option. You should use%kernel.debug%
explicitly instead, which will be the new default in 5.0.
- The
Email::__construct()
'strict' property is deprecated. Use 'mode'=>"strict" instead. - Calling
EmailValidator::__construct()
method with a boolean parameter is deprecated, useEmailValidator("strict")
instead. - Deprecated the
checkDNS
anddnsMessage
options of theUrl
constraint.
- Deprecated the
DefinitionBuilder::reset()
method, use theclear()
one instead. - Deprecated the
add
method in favor of theaddWorkflow
method inWorkflow\Registry
. - Deprecated
SupportStrategyInterface
in favor ofWorkflowSupportStrategyInterface
. - Deprecated the class
ClassInstanceSupportStrategy
in favor of the classInstanceOfSupportStrategy
. - Deprecated passing the workflow name as 4th parameter of
Event
constructor in favor of the workflow itself.