L’intenzione è l’opposto. I branch di compatibilità sono solo per i branch “rilasciati” di Discourse. Discourse latest utilizzerà sempre main del tuo plugin. È lì che svilupperai nuove funzionalità.
Quindi la storia sarebbe:
Discourse rilascia v2026.2. Le azioni di GitHub sul tuo plugin lo rilevano automaticamente e creano un branch d-compat/v2026.2. Ora, chiunque utilizzi Discourse v2026.2 utilizzerà la versione d-compat/v2026.2 del tuo plugin.
Rilasci una nuova funzionalità su main del tuo plugin. Non devi preoccuparti della retrocompatibilità, perché il branch main viene utilizzato solo da coloro che eseguono Discourse latest.
Poi, mentre sorseggi il tuo terzo bicchiere di vino
, Discourse crea v2026.3. Inizialmente non c’è un branch del plugin per questa versione, quindi verrà utilizzato main. Le cose continuano a funzionare come prima per le persone su latest.
Entro poche ore, la tua azione di GitHub rileva la nuova versione e blocca d-compat/v2026.3, pronto per la tua prossima funzionalità del plugin che arriverà su main senza problemi di retrocompatibilità.
Questo è essenzialmente il flusso di lavoro che utilizziamo in CDCK per gestire la compatibilità stabile di temi/plugin. Dopo ogni rilascio stabile, abbiamo uno script per eseguire centinaia dei nostri temi/plugin e bloccarli tramite .discourse-compatibility. Questa proposta basata su branch mira ad essere una versione più leggera di quel flusso di lavoro.