¿Qué versiones de los componentes de Symfony se utilizan desde el núcleo?

13

¿Qué versión de Symfony usa Drupal para los componentes de Symfony? ¿Es un objetivo admitir las últimas versiones de los componentes o simplemente no es posible?

Hyperfocus1337
fuente
2.x, pero parece que 8.3.x se ha actualizado a Symfony 3.x. drupal.org/node/2743809
Kevin
@ Kevin Ese parche fue revertido. Actualmente hay problemas separados para Symfony 3.1 y Symfony 3.2. Cada uno tiene sus propios desafíos debido a las interrupciones de la API.
mpdonadio

Respuestas:

12

Es más exacto decir que Drupal 8 usa componentes de Symfony, en lugar de todo Symfony. Si observa 'core / composer.json' verá todos los componentes individuales que utiliza Drupal enumerados. Las versiones precisas que se instalan se enumeran en el archivo 'composer.lock'.

Drupal 8.2.x utiliza las versiones 2.8 de estos componentes.

Para Drupal 8.3.x, hay problemas abiertos para actualizar a 3.1 y 3.2 , pero estos todavía están en progreso. (Creo que puede haber un problema 3.3, pero no puedo encontrarlo).

El objetivo es comenzar a rastrear las versiones 3.x, pero la conversión no ha sido sencilla.

mpdonadio
fuente
2
Una adición: composer.lock es el archivo que define qué versiones se usan exactamente. Un problema es que el uso de flujos de trabajo basados ​​en el compositor puede resultar fácilmente en la actualización de dichos componentes, y eso puede generar problemas si no es una versión que se haya probado explícitamente. @webflo proporciona un paquete que no hace más que contener un composer.json que tiene las dependencias exactas que tiene cualquier versión central dada: github.com/webflo/drupal-core-strict . Si usa eso, puede estar seguro de que nunca actualizará accidentalmente ninguna de esas dependencias.
Berdir
Gracias @ Berdir. La parte sobre la versión exacta es importante. Dudé en mencionar el archivo de bloqueo, ya que me resulta difícil de leer, y no siempre está claro a primera vista cuando un paquete está allí porque es una dependencia principal, o allí porque algo más lo requiere.
mpdonadio
¿Sigue siendo el caso? Necesito escribir un módulo personalizado para un sitio de Drupal 8 y estoy tratando de decidir qué Symphony usar.
MadPhysicist
1
@MadPhysicist Drupal 8.3.0 será etiquetado más tarde hoy. Parece que será 2.8.16 (lo que está en RC2) o 2.8.18 (lo que está en HEAD). El plan es comprometer 3.2.X (probablemente 3.2.7, que salió esta mañana y actualmente se está probando) a 8.3.X poco después para que haya tiempo suficiente para solucionar cualquier problema que aparezca antes de 8.4.0. La actualización 2.8-> 3.2 no fue fácil, y existe la preocupación de que pueda haber problemas que la cobertura de prueba no encuentre. No sé si el momento para 3.3 ya se ha discutido, ya que este no es un lanzamiento oficial todavía.
mpdonadio
Veo. Aparte del proyecto Drupal, ¿sabes si el resto del mundo está más o menos en Symphony 3? Gracias por la información.
MadPhysicist
4

Para verificar esto usted mismo, sea cual sea la versión de Drupal que esté utilizando, puede preguntarle al compositor:

composer info | grep -E '^symfony'

O para un paquete individual:

composer info symfony/yaml
Cameron
fuente
3

A partir de Drupal 8.4.3, aquí están las versiones de las bibliotecas de Symfony y otras bibliotecas estrechamente relacionadas especificadas en 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",

En general, estos pueden actualizarse utilizando composer update(información completa del compositor ). Symfony 4 salió hace unas semanas y también hay 3.3 versiones de bibliotecas que existen. Por lo tanto, parece que las versiones menores de Drupal 8 van a la zaga de las versiones de Symfony, pero no dejan de moverse.

HongPong
fuente