Salutations,
Nous hésitons pour la prochaine version entre une version 4.3 (PHP 8.0+) et une 5.0 (PHP 8.1+), pour quand elle sera prête (c’est pas vraiment demain, rassurez-vous)…
Petit rappel nous décidâmes un jour (pour une version n°X.Y.Z) que :
- une nouvelle version de SPIP X.Y+1 ou X+1 qui sort est compatible avec les versions de PHP maintenues uniquement,
- nous maintenions plus longtemps (LTS) la dernière version Y d’une branche X.
Il y a quelques points qui incitent à versionner la prochaine version 5, notamment :
- le passage à PHP 8.0 ou 8.1 minimum
- un projet de changement de format de «serialisation» de certaines données
- un projet de «repository» Composer géré avec Satis (pour le Core et plugins-dist)
D’autre part, afin que la version de SPIP s’approche plus d’une nomenclature «semver», il conviendrait de modifier notre précédente organisation de la sorte
-
une nouvelle version de SPIP :
- X+1 qui sort est compatible avec des versions de PHP maintenues uniquement,
- X.Y+1 qui sort est compatible avec la version PHP « mini » de la version X.Y précédente
-
nous maintenons plus longtemps la dernière version Y d’une branche X.
Ainsi, on fait une version X+1 si :
- on veux augmenter la version minimale requise de PHP
- on fait un changement majeur qui casse la compatibilité
Sur ce principe,
- s’il existait une version SPIP 4.3, elle resterait compatible PHP 7.4 (le PHP mini de SPIP 4.2),
- sinon la 4.2 deviendrait une version LTS (conservant le support PHP 7.4 entre autres)
Est-ce que cela paraît correct ?
Quelques projets dans les cartons
Nous suggérons donc que la future version soit directement une 5.0 avec PHP 8.1 minimum.
Effectivement certains points y incitent :
- L’un concerne le format de «serialisation» de certaines données, notamment, mais pas exclusivement de la table
spip_meta
, ce qui va casser certains usages sur des plugins lorsqu’ils ne passent pas par l’APIlire_config
ouecrire_config
(en lisant ou écrivant la globale directement). - L’autre concerne l’arrivée d’un «repository» Composer (généré avec Satis) pour mieux intégrer / découper / tester certaines parties du code SPIP. C’est un changement de découpage (pour le Core et les plugins-dist fournis) qui s’annonce intéressant à explorer.
- D’autre part, en utilisant plus avant des librairies via Composer, nous pensons que nécessiter PHP 8.1 minimum est plus intéressant, car actuellement de nombreuses librairies requièrent cette version minimum de PHP.
Quand au calendrier, si cette 5.0 sort en début d’année 2024, cela colle avec le planning de PHP, ce que nous avions prévu, et nous laisse du temps d’expérimentations. Il n’y aurait donc pas de 4.3 en juillet.
Y a t’il des remarques ?
–
Matthieu, qui tente synthèse et compromis, suite à des échanges avec b_b, Cédric & James