RFC : Une nouvelle stratégie de versioning pour Discourse

L’intention est inverse. Les branches de compatibilité sont uniquement pour les branches ‘publiées’ de Discourse. Discourse latest utilisera toujours main de votre plugin. C’est là que vous développerez de nouvelles fonctionnalités.

L’histoire serait donc la suivante :

Discourse publie v2026.2. Les actions GitHub sur votre plugin le détectent automatiquement et créent une branche d-compat/v2026.2. Désormais, toute personne utilisant Discourse v2026.2 utilisera la version d-compat/v2026.2 de votre plugin.

Vous publiez une nouvelle fonctionnalité sur main de votre plugin. Vous n’avez pas besoin de penser à la rétrocompatibilité, car la branche main n’est utilisée que par les personnes exécutant Discourse latest.

Ensuite, pendant que vous sirotez votre troisième verre de vin :wine_glass:, Discourse publie v2026.3. Initialement, il n’y a pas de branche de plugin pour cette version, donc main sera utilisée. Les choses continueront de fonctionner comme avant pour les personnes sur latest.

En quelques heures, votre action GitHub détecte la nouvelle version et gèle d-compat/v2026.3, prête pour que votre prochaine fonctionnalité de plugin arrive sur main sans souci de rétrocompatibilité.

C’est essentiellement le flux de travail que nous utilisons chez CDCK pour gérer la compatibilité stable des thèmes/plugins. Après chaque version stable, nous avons un script pour parcourir nos centaines de thèmes/plugins et les geler via .discourse-compatibility. Cette proposition basée sur les branches vise à être une version plus légère de ce flux de travail.

16 « J'aime »