- Client HTTP user agent has been changed to 'Symfony BrowserKit' (was 'Symfony2 BrowserKit' before).
- The
doctrine/annotationsdependency has been removed; require it viacomposer require doctrine/annotationsif you are using annotations in your project - The
symfony/security-coreandsymfony/security-csrfdependencies have been removed; require them viacomposer require symfony/security-core symfony/security-csrfif you depend on them and don't already depend onsymfony/symfony - The
symfony/templatingdependency has been removed; require it viacomposer require symfony/templatingif you depend on it and don't already depend onsymfony/symfony - The
symfony/translationdependency has been removed; require it viacomposer require symfony/translationif you depend on it and don't already depend onsymfony/symfony - The
symfony/assetdependency has been removed; require it viacomposer require symfony/assetif you depend on it and don't already depend onsymfony/symfony - The
Resources/public/images/*files have been removed. - The
Resources/public/css/*.cssfiles have been removed (they are now inlined in TwigBundle).
- Setting unknown style options is deprecated and will throw an exception in Symfony 4.0.
- Calling
get()on aContainerBuilderinstance before compiling the container is deprecated and will throw an exception in Symfony 4.0.
- Passing a
ParserCacheInterfaceinstance to theExpressionLanguagehas been deprecated and will not be supported in Symfony 4.0. You should use theCacheItemPoolInterfaceinterface instead.
-
Calling
isValid()on aForminstance before submitting it is deprecated and will throw an exception in Symfony 4.0.Before:
if ($form->isValid()) { // ... }
After:
if ($form->isSubmitted() && $form->isValid()) { // ... }
- The service
serializer.mapping.cache.doctrine.apcis deprecated. APCu should now be automatically used when available.
-
DataCollector::varToString()is deprecated and will be removed in Symfony 4.0. Use thecloneVar()method instead. -
Surrogate name in a
Surrogate-CapabilityHTTP request header has been changed to 'symfony'.Before:
Surrogate-Capability: symfony2="ESI/1.0"
After:
Surrogate-Capability: symfony="ESI/1.0"
-
Extending the following methods of
Responseis deprecated (these methods will befinalin 4.0):setDate/getDatesetExpires/getExpiressetLastModified/getLastModifiedsetProtocolVersion/getProtocolVersionsetStatusCode/getStatusCodesetCharset/getCharsetsetPrivate/setPublicgetAgegetMaxAge/setMaxAgesetSharedMaxAgegetTtl/setTtlsetClientTtlgetEtag/setEtaghasVary/getVary/setVaryisInvalid/isSuccessful/isRedirection/isClientError/isServerErrorisOk/isForbidden/isNotFound/isRedirect/isEmpty
- Deprecated the possibility to inject the Form Twig Renderer into the form
extension. Inject it into the
TwigRendererEngineinstead.
-
Tests\Constraints\AbstractConstraintValidatorTesthas been deprecated in favor ofTest\ConstraintValidatorTestCase.Before:
// ... use Symfony\Component\Validator\Tests\Constraints\AbstractConstraintValidatorTest; class MyCustomValidatorTest extends AbstractConstraintValidatorTest { // ... }
After:
// ... use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; class MyCustomValidatorTest extends ConstraintValidatorTestCase { // ... }
-
Setting the strict option of the
ChoiceConstraint tofalsehas been deprecated and the option will be changed totrueas of 4.0.// ... use Symfony\Component\Validator\Constraints as Assert; class MyEntity { /** * @Assert\Choice(choices={"MR", "MRS"}, strict=true) */ private $salutation; }
-
Support for silently ignoring duplicate mapping keys in YAML has been deprecated and will lead to a
ParseExceptionin Symfony 4.0. -
Mappings with a colon (
:) that is not followed by a whitespace are deprecated and will lead to aParseExceptionin Symfony 4.0 (e.g.foo:barmust befoo: bar).