Drupal - What versions from the Symfony components are used from core?

It is more accurate to say that Drupal 8 uses Symfony components, rather than all of Symfony. If you look at 'core/composer.json' you will see all of the individual components that Drupal uses listed out. The precise versions that get installed are listed in the 'composer.lock' file.

Drupal 8.2.x uses the 2.8 versions of these components.

For Drupal 8.3.x, there are issues open for updating to 3.1 and 3.2, but these are still works in progress. (I think there may be a 3.3 issue, but I can't find it).

The goal is to start tracking the 3.x versions, but the conversion has not been straightforward.


To check this yourself whatever version of Drupal you are using, you can just ask composer:

composer info | grep -E '^symfony'

Or for an individual package:

composer info symfony/yaml

As of Drupal 8.4.3 here are the versions of Symfony libraries and other closely related libraries specified in core/composer.json:

"php": ">=5.5.9",
"symfony/class-loader": "~3.2.8",
"symfony/console": "~3.2.8",
"symfony/dependency-injection": "~3.2.8",
"symfony/event-dispatcher": "~3.2.8",
"symfony/http-foundation": "~3.2.8",
"symfony/http-kernel": "~3.2.8",
"symfony/routing": "~3.2.8",
"symfony/serializer": "~3.2.8",
"symfony/translation": "~3.2.8",
"symfony/validator": "~3.2.8",
"symfony/process": "~3.2.8",
"symfony/polyfill-iconv": "^1.0",
"symfony/yaml": "~3.2.8",
"twig/twig": "^1.23.1",
"doctrine/common": "^2.5",
"doctrine/annotations": "^1.2",
"symfony-cmf/routing": "^1.4",
"symfony/psr-http-message-bridge": "^1.0",

These can generally be updated using composer update (full composer info). Symfony 4 came out a few weeks ago and there are also 3.3 versions of libraries that exist. So it seems like Drupal 8 minor releases will lag behind Symfony releases, but not stop moving.

Tags:

8