Experts en Drupal

Adopció del “Semantic versioning” a drupal.org

El març de l’any 2020, la comunitat de drupal.org va començar a adoptar el “Semantic versioning” pels mòduls contribuïts. A continuació, n’analitzem els motius i com evoluciona el procés d’adopció.

Adopción del “Semantic versioning” en drupal.org

Amb l’arribada de la versió 9 de Drupal, es va començar a donar el cas que un mòdul contribuït podia ser compatible al mateix temps amb dues versions diferents del nucli (la 8 i 9). Per tant, la nomenclatura històrica consistent en posar com a prefix la versió del nucli a les versions ja no tenia sentit (per exemple 7.x-1.0 o bé 8.x-1.0). No obstant, aquesta nomenclatura continua sent necessària en el cas dels mòduls de la versió 7 perquè aquests no són compatibles amb les versions 8 i 9.

Aleshores, la comunitat va adoptar el “Semantic versioning” que és un estàndard que podem consultar a la seva pàgina web oficial. Segons aquesta normativa, els mòduls contribuïts han de definir un número de versió de la forma “MAJOR.MINOR.PATCH” on tenim que:

  • MAJOR: s’incrementa aquest número quan hi ha canvis incompatibles a l’API.
  • MINOR: s’incrementa aquest número quan hi ha canvis compatibles amb versions anteriors.
  • PATCH: s’incrementa aquest número quan hi ha correccions d’errors que són compatibles amb versions anteriors.

Per altra part, cal destacar que el canvi també afecta a la nomenclatura de les branques dels repositoris Git de drupal.org (actualment 7.x-1.x i/o 8.x-1.x). En aquest cas, també s’elimina el prefix que conté la versió del nucli. La nova nomenclatura permet branques com ara 1.x, 2.x, etc.

En qualsevol cas, el procés d’adopció de la nova normativa no implica esborrar cap versió alliberada ni cap branca del repositori. Simplement consisteix en el següent:

  • Les noves millores que es facin als mòduls contribuïts s’han de fer en noves branques del repositori.
  • Les noves versions s’han d’etiquetar seguint la nova normativa.

Finalment, revisant el lloc web de drupal.org, es pot veure que hi ha molts mòduls coneguts que encara no l’han adoptat: Token, Pathauto, Redirect, Metatag, Date, etc. D’altra banda, també trobem mòduls coneguts que si que l’han adoptat: Twig Tweak, Webform, Linkit, etc. Per tant, sembla que el procés d’adopció estar resultant ser molt lent.

Bibliografia

https://semver.org/lang/ca/

https://www.drupal.org/node/3108648

Comparteix aquest article

Articles Relacionats