Tout d’abord, félicitations à l’équipe Discourse pour la nouvelle ESR, et merci pour le travail qui a été accompli. Six mois de versions regroupées dans un seul point de contrôle supporté représentent BEAUCOUP de travail d’ingénierie, et le fait qu’il existe désormais un site de versionnement et un journal des modifications à explorer a rendu cette recherche beaucoup plus facile que lors des 4 dernières années.
Je suis sur la version ESR 2026.1.5. J’ai passé en revue chaque version après l’autre avant d’essayer de trouver une configuration où les mises à jour se déroulent aussi smoothly que possible.
J’ai tout fouillé entre 2026.1.5 et 2026.7.0 avant de toucher à quoi que ce soit, et j’ai pensé que ces notes seraient utiles à quiconque est actuellement sur la version 2026.1 et essaie de décider : appliquer les correctifs maintenant, ou faire le grand saut maintenant ?
J’ai appliqué les correctifs vers la version 2026.1.6 aujourd’hui pour les correctifs de sécurité, et je passerai à la version 2026.7.0 au cours de la première semaine du mois prochain, lorsque j’aurai le temps de tester correctement mes composants de thème et autres éléments.
Le piège du version: stable !
Si, comme chez moi, votre fichier app.yml indique :
version: stable
…alors votre prochaine reconstruction vous placera sur la version 2026.7.0, que vous le souhaitiez ou non. stable est un alias de compatibilité ascendante pour esr, et esr pointe toujours vers la dernière ESR, qui a changé aujourd’hui.
Il n’y a pas de chemin de rétrogradation que je connaisse, donc si vous reconstruisez juste pour récupérer le correctif de sécurité, vous obtenez le saut de six mois complet en plus !
Pour rester sur la version 2026.1 et obtenir uniquement les correctifs de sécurité, fixez explicitement :
version: release/2026.1
Pour passer à la nouvelle ESR et ne pas être déplacé automatiquement dans six mois :
version: release/2026.7
La version 2026.1 est supportée jusqu’en septembre 2026. La version 2026.7 sera supportée jusqu’en mars 2027. Donc le saut arrive de toute façon, la seule question est de savoir s’il se produit selon votre planning.
Prérequis
PostgreSQL 15 est désormais la version minimale. Vérifiez la vôtre depuis l’intérieur du conteneur :
cat /shared/postgres_data/PG_VERSION
Le mien a retourné 15, donc je suis bon. Si vous êtes sur la version 13 ou 14, je crois qu’il s’agit d’une mise à niveau separate à effectuer avant le saut de version.
Vaut la peine de noter : l’image du conteneur expédie désormais PG 18 aux côtés de PG 15, mais je refuse pour le moment, une variable à la fois.
Interruption de service ?
Effectuez une sauvegarde d’abord, et verrouillez les forums avec le mode maintenance.
Pas d’interruption de service, mais ils ne sont pas instantanés sur un forum mature :
La reconstruction a pris < 5 minutes sur mon VPS, prévoyez ~ 10 minutes sur la plupart des hébergeurs web, mais cela dépend aussi beaucoup du nombre de messages de votre forum, donc prévoyez une fenêtre de 30 à 45 minutes.
Sécurité : à quoi vous êtes exposé sur la version 2026.1.5
17 avis de sécurité s’appliquent si vous êtes sur la version 2026.1.5. Tout ce qui a été publié avant le 30 juin était déjà corrigé dans votre build. Les 17 sont corrigés dans les versions 2026.1.6 et 2026.7.0, ce qui rend l’option “correctif d’abord” légitime.
- 1 critique - empoisonnement de cache / XSS via les cookies de schéma de couleurs
- 2 élevés - RCE via un fichier HEIF malformé ; XSS stocké via un nom d’utilisateur de transcript de chat non échappé dans l’éditeur de texte riche
- 13 moyens, 1 faible - XSS stocké dans la file de révision, journaux d’actions du personnel, actions sur les messages, et dates locales ; fuites de noms et descriptions de tags cachés ; titres de topics restreints exposés via des URLs canonisées ; fuites de titres/extraits de brouillons partagés ; contournement de la liste noire de domaines onebox via une comparaison sensible à la casse ; écoute des conversations de bot IA ; contenu de MP accessible via les éléments révisables par IA ; incohérence d’ID de canal/fil de chat onebox ; extrait du premier post caché émis dans le JSON-LD Q&A
Si vous appliquez uniquement les correctifs, release/2026.1 + reconstruction ferme tous ces problèmes.
Ma petite obsession : Les choses qui changeront sans que vous le demandiez
C’est la section que je voulais le plus ces dernières années. Lors du saut vers la version 2026.7, voici quelques-unes des modifications de comportement qui arrivent d’elles-mêmes :
-
Les réactions Discourse activées par défaut pour tous les sites. Le déploiement a atteint
stablele 21 juillet. Si vous n’utilisez pas les Réactions aujourd’hui, elles arrivent. -
La catégorie “Non classé” est en train d’être supprimée. Trois paramètres sont masqués dans l’administration (
allow_uncategorized_topics,suppress_uncategorized_badge,uncategorized_category_id) et seront entièrement supprimés une fois le changement permanent. Géré comme une option de désactivation pour le moment. -
Le paramètre de site
rich_editorest supprimé. L’éditeur riche est désormais inconditionnel. La préférencecomposition_modepar utilisateur est le seul moyen restant de choisir entre Markdown et texte riche. Le basculement de prévisualisation Markdown a également été supprimé - le basculement de mode MD/RTE le remplace. -
Objets d’e-mails plus simples. Actuellement en bêta. Attention : l’activation de cette fonction écrase votre paramètre de site
email_subject, et sa désactivation revient à la valeur par défaut. Donc toute personnalisation que vous y avez peut être perdue. Vérifiez ce paramètre avant de basculer quoi que ce soit. -
Les cartes de topic à haut contexte Horizon ont atteint
stableen juin. Seulement pertinent si vous êtes sur Horizon, et il y a un paramètre de thème pour revenir aux cartes simples.
La bonne nouvelle : toutes ces modifications arrivent désormais via le système “Changements à venir”, ce qui signifie qu’elles ne sont pas dans la version 2026.1.5. Vous obtenez une page de configuration, un préavis, une option de désactivation par modification, et une correction (#39279) qui empêche spécifiquement un déploiement d’écraser un paramètre que vous avez déjà personnalisé vous-même.
Si, comme moi, vous avez été frustré par des paramètres qui bougent entre les versions, ce système est la solution, et rester sur la version 2026.1 vous maintient sur le build qui précède ce système. La première chose que je ferai après le saut sera de passer en revue les “Changements à venir” et de définir chaque élément en attente délibérément, avant que quoi que ce soit ne se promeuve lui-même.
Si vous utilisez des thèmes ou composants personnalisés
C’est là que je prévois de passer mon temps de test, et une partie de la raison pour laquelle je ne fais pas le saut aujourd’hui :
- Les avertissements administrateur sont désormais activés pour toutes les dépréciations en attente. Attendez-vous à ce que vos composants personnalisés commencent à afficher des notices administrateur s’ils utilisent quoi que ce soit d’obsolète. Mieux vaut savoir, mais c’est un passage en revue.
- Nouvelles dépréciations pour les extensions de fichiers
.hbset.js.es6. Vérifiez le nommage des fichiers de votre composant. - Les shim de widgets obsolètes supprimés, ainsi que les chemins de dépréciation pour
discourse.breadcrumbs.*,add-flag-property,add-header-panel, etbootbox. - Les sorties de plugin peuvent désormais être aliasées et dépréciées plutôt que de se casser silencieusement. Un changement vraiment positif. Les sorties renommées avertissent au lieu de disparaître.
- Les paramètres de thème déplacés du bundle JS vers les données préchargées, ce qui change le moment où ils sont disponibles au démarrage. Vaut la peine de vérifier si votre composant lit les paramètres tôt.
- Les paramètres de site en mode mobile obsolètes supprimés, et les feuilles de style mobiles/desktop vides du noyau supprimées. Si votre CSS cible le mobile et le desktop séparément, testez sur un vrai téléphone après la mise à niveau.
- Sous le capot : Ember 6.6 → 6.10, ember-cli 6.9 → 7.0.1, la migration Rolldown terminée, support TypeScript ajouté pour les thèmes et plugins, et beaucoup de jQuery supprimé partout.
Utilisateurs de House Ads : le JS inline est désormais bloqué dans les annonces maison, et l’interface administrateur a été reconstruite avec FormKit. house_ads_after_nth_root est également désormais respecté dans la vue des réponses imbriquées.
Nouvelles fonctionnalités notables
37 fonctionnalités ont été mises en avant au cours de ces six mois. Celles que je pense être les plus importantes pour un forum communautaire général :
- Changements à venir - la page de configuration et le système de déploiement décrits ci-dessus.
- Réponses imbriquées - vue de topic arborescente/filée expérimentale, configurable par topic et par catégorie, avec activation en masse depuis la liste des topics et une expérience mobile retravaillée.
- Connexion et inscription par code e-mail à usage unique (
enable_local_logins_via_code) - sans mot de passe, actuellement en alpha. L’inscription nécessite uniquement un e-mail plus un code. - Nouvelle page de gestion des catégories administrateur plus création de catégorie simplifiée. Un répertoire complet des catégories et de leurs types.
- Actions en masse partout - gestion en masse des tags (ajouter/supprimer/remplacer), épinglage/désépinglage en masse, et suspension en masse pour les utilisateurs non activés, avec un nouveau filtre de statut d’activation sur Admin → Utilisateurs. Cette dernière combinaison est excellente pour nettoyer les vagues d’inscription spam.
Vaut également la peine de mentionner : un paramètre de page d’accueil par défaut explicite, groupes d’emoji épinglés avec import/export en masse d’emoji personnalisés, points maintenant autorisés dans les noms de tags, une page de modification de tag dédiée, mode application complet pour l’intégration, synchronisation de groupe pour OAuth2 et OpenID Connect, et icônes de statut PR en direct sur les onebox GitHub inline.
Pourquoi j’ai appliqué les correctifs en premier
Rien ci-dessus n’est une raison de ne pas passer à la version 2026.7. Le système “Changements à venir” seul en vaut la peine, et je vais le faire au cours de la première ou deuxième semaine du mois prochain.
Mais les correctifs de sécurité sont disponibles sur les deux branches, ce qui signifiait que je pouvais découpler la partie urgente de la partie qui nécessite des tests. Comme l’éditeur riche est désormais inconditionnel. Je suis sûr qu’en lisant autour des forums, je trouverai un chemin rapide, j’espère.
Appliquer les correctifs aujourd’hui a fermé tous les avis de sécurité. Le saut maintenant obtient une fenêtre appropriée où je peux passer en revue les Changements à venir délibérément et vérifier mes composants de thème sur desktop et mobile sans courir après un CVE critique.
Si vous êtes sur la version 2026.1 et court de temps cette semaine, je suggère la même chose. Si vous avez le temps, passez directement à release/2026.7, fixez-le explicitement, et vérifiez votre version Postgres.
Merci encore à l’équipe. Le site de journal des modifications a rendu cette investigation beaucoup moins douloureuse qu’elle n’aurait été il y a un an.
Divulgation : J’ai utilisé l’IA pour m’aider à structurer ce post ; sinon, je n’aurais pas eu le temps de le publier. Veuillez signaler tout ce que je dois ajouter, supprimer ou modifier.

