5.9 KiB
UPGRADE FROM 3.2 to 3.3
ClassLoader
- The component is deprecated and will be removed in 4.0. Use Composer instead.
Debug
- The
ContextErrorException
class is deprecated.\ErrorException
will be used instead in 4.0.
DependencyInjection
-
Autowiring-types have been deprecated, use aliases instead.
Before:
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader" public="false"> <autowiring-type>Doctrine\Common\Annotations\Reader</autowiring-type> </service>
After:
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader" public="false" /> <service id="Doctrine\Common\Annotations\Reader" alias="annotations.reader" public="false" />
-
The
Reference
andAlias
classes do not make service identifiers lowercase anymore. -
Case insensitivity of service identifiers is deprecated and will be removed in 4.0.
-
Using the
PhpDumper
with an uncompiledContainerBuilder
is deprecated and will not be supported anymore in 4.0. -
Extending the containers generated by
PhpDumper
is deprecated and won't be supported in 4.0. -
The
DefinitionDecorator
class is deprecated and will be removed in 4.0, use theChildDefinition
class instead. -
The
strict
attribute in service arguments has been deprecated and will be removed in 4.0. The attribute is ignored since 3.0, so you can simply remove it.
EventDispatcher
- The
ContainerAwareEventDispatcher
class has been deprecated. UseEventDispatcher
with closure-proxy injection instead.
Finder
- The
ExceptionInterface
has been deprecated and will be removed in 4.0.
FrameworkBundle
-
The
Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddConsoleCommandPass
has been deprecated. UseSymfony\Component\Console\DependencyInjection\AddConsoleCommandPass
instead. -
The
Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\SerializerPass
class has been deprecated and will be removed in 4.0. Use theSymfony\Component\Serializer\DependencyInjection\SerializerPass
class instead. -
The
Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\FormPass
class has been deprecated and will be removed in 4.0. Use theSymfony\Component\Form\DependencyInjection\FormPass
class instead. -
The
Symfony\Bundle\FrameworkBundle\EventListener\SessionListener
class has been deprecated and will be removed in 4.0. Use theSymfony\Component\HttpKernel\EventListener\SessionListener
class instead. -
The
Symfony\Bundle\FrameworkBundle\EventListener\TestSessionListener
class has been deprecated and will be removed in 4.0. Use theSymfony\Component\HttpKernel\EventListener\TestSessionListener
class instead. -
The
Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\ConfigCachePass
class has been deprecated and will be removed in 4.0. UseSymfony\Component\Config\DependencyInjection\ConfigCachePass
class instead.
HttpKernel
-
The
Psr6CacheClearer::addPool()
method has been deprecated. Pass an array of pools indexed by name to the constructor instead. -
The
LazyLoadingFragmentHandler::addRendererService()
method has been deprecated and will be removed in 4.0.
Process
-
The
ProcessUtils::escapeArgument()
method has been deprecated, use a command line array or give env vars to theProcess::start/run()
method instead. -
Not inheriting environment variables is deprecated.
-
Configuring
proc_open()
options is deprecated. -
Configuring Windows and sigchild compatibility is deprecated - they will be always enabled in 4.0.
-
Extending
Process::run()
,Process::mustRun()
andProcess::restart()
is deprecated and won't be supported in 4.0.
Security
-
Deprecated the ability to pass multiple user providers to the
ContextListener
. Pass only the user provider responsible for the active firewall instead. -
The
RoleInterface
has been deprecated. Extend theSymfony\Component\Security\Core\Role\Role
class in your custom role implementations instead.
SecurityBundle
-
The
FirewallContext::getContext()
method has been deprecated and will be removed in 4.0. Use thegetListeners()
method instead. -
The
FirewallMap::$map
and$container
properties have been deprecated and will be removed in 4.0. -
The
UserPasswordEncoderCommand
command expects to be registered as a service and its constructor arguments fully provided. Registering by convention the command or commands extending it is deprecated and will not be allowed anymore in 4.0. -
UserPasswordEncoderCommand::getContainer()
is deprecated, and this class won't extendContainerAwareCommand
nor implementContainerAwareInterface
anymore in 4.0. -
[BC BREAK] Keys of the
users
node forin_memory
user provider are no longer normalized.
Serializer
- Extending
ChainDecoder
,ChainEncoder
,ArrayDenormalizer
is deprecated and won't be supported in 4.0.
TwigBridge
- The
TwigRendererEngine::setEnvironment()
method has been deprecated and will be removed in 4.0. Pass the Twig Environment as second argument of the constructor instead.
TwigBundle
- The
ContainerAwareRuntimeLoader
class has been deprecated and will be removed in 4.0. Use the TwigTwig_ContainerRuntimeLoader
class instead.
Workflow
- Deprecated class name support in
WorkflowRegistry::add()
as second parameter. Wrap the class name in an instance of ClassInstanceSupportStrategy instead.
Yaml
-
Omitting the key of a mapping is deprecated and will throw a
ParseException
in Symfony 4.0. -
The constructor arguments
$offset
,$totalNumberOfLines
and$skippedLineNumbers
of theParser
class are deprecated and will be removed in 4.0