Change record status: 
Project: 
Introduced in branch: 
8.4.x
Introduced in version: 
8.4.0
Description: 

UPDATE: Drupal 8.4.x now uses a minimum of Symfony 3.2.8: https://www.drupal.org/node/2891254

All Symfony components in Drupal 8.4.x have been updated to 3.2.6.

The following API breaks have been identified and fixed in Drupal core (already deprecated when Symfony was updated to 2.8):

  • CSS selectors in tests: the usage of \Symfony\Component\CssSelector\CssSelector::toXPath() has been converted to new Symfony\Component\CssSelector\CssSelectorConverter())->toXPath()
  • The class Symfony\Component\DependencyInjection\ContainerAware has been removed and must be replaced with Symfony\Component\DependencyInjection\ContainerAwareTrait
  • File uploads: the $deep parameter on the ParameterBag::get() method on the Request object has been removed.
    Old:
    $file_upload = $this->getRequest()->files->get('files[upload]', NULL, TRUE);
    

    New:

    $all_files = $this->getRequest()->files->get('files', []);
    $file_upload = $all_files['upload'];
    
  • \Symfony\Component\Validator\ExecutionContextInterface has been renamed to \Symfony\Component\Validator\Context\ExecutionContextInterface;
  • \Symfony\Component\Validator\ValidatorInterface has been renamed to \Symfony\Component\Validator\Validator\ValidatorInterface
  • The semantics of Request::get() have changed in Symfony 3. Request attributes are now examined first before request query parameters. The use of $request->get() is highly discouraged, use $request->query->get() instead if you need to access request query parameters.
  • \Symfony\Component\DependencyInjection\IntrospectableContainerInterface has been removed, use \Symfony\Component\DependencyInjection\ContainerInterface instead.

Complete symfony upgrade documents are available at
https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md
https://github.com/symfony/symfony/blob/master/UPGRADE-3.1.md
https://github.com/symfony/symfony/blob/master/UPGRADE-3.2.md

Impacts: 
Site builders, administrators, editors
Module developers