RFC: Una nueva estrategia de versionado para Discourse

La intención es la inversa. Las ramas de compatibilidad son solo para ramas ‘lanzadas’ de Discourse. Discourse latest siempre usará main de tu plugin. Ahí es donde desarrollarás nuevas funcionalidades.

Así que la historia sería:

Discourse lanza v2026.2. Las acciones de GitHub en tu plugin lo detectan automáticamente y crean una rama d-compat/v2026.2. Ahora, cualquiera que use Discourse v2026.2 usará la versión d-compat/v2026.2 de tu plugin.

Lanzas una nueva funcionalidad en main de tu plugin. No necesitas pensar en la compatibilidad hacia atrás, porque la rama main solo la usan las personas que ejecutan Discourse latest.

Luego, mientras te tomas tu tercera copa de vino :wine_glass:, Discourse lanza v2026.3. Inicialmente no hay una rama de plugin para esta versión, por lo que se usará main. Las cosas seguirán funcionando como lo hicieron para las personas en latest.

En cuestión de horas, tu acción de GitHub detecta la nueva versión y congela d-compat/v2026.3, lista para que tu próxima funcionalidad de plugin llegue a main sin preocupaciones de compatibilidad hacia atrás.

Este es esencialmente el flujo de trabajo que usamos en CDCK para manejar la compatibilidad estable de temas/plugins. Después de cada lanzamiento estable, tenemos un script para revisar nuestros cientos de temas/plugins y congelarlos a través de .discourse-compatibility. Esta propuesta basada en ramas tiene como objetivo ser una versión más ligera de ese flujo de trabajo.

16 Me gusta