RFC: Новая стратегия версионирования для Discourse

Это довольно круто :+1:

Правильно ли я понимаю, что сейчас нет стабильного обновления до версии 3.5.3, возможно, это совпадение?

Да, это просто совпадение. В этом месяце у нас не было исправлений безопасности для выпуска.

Стабильная версия 3.5 по-прежнему полностью поддерживается.

Здравствуйте,

Раньше я использовал тег beta, а теперь пытаюсь обновить свои скрипты для работы с новой настройкой. Вот как, насколько я понимаю, выглядит репозиторий:

* b541e99ea2 (origin/tests-passed, origin/main, origin/latest) DEV: Исключение новой таблицы в конфигурации IntermediateDB
* 02dfb651ae DEV: Добавлена поддержка конвертации и импорта `category_moderation_groups`
.
.
.
* 1dde082e96 UX: обновление иконки цитаты в лайтбоксе для применения тени (#36247)
* 3e7317b334 (tag: v2025.12.0-latest, tag: release) DEV: Начало разработки версии v2025.12.0-latest (#36249)
| * 48167b94d6 (origin/release/2025.11) Перенос ограниченного переполнения тела (#36256)
| * 75d61b40ee (tag: v2025.11.0) DEV: Обновление версии на ветке `release/2025.11` до `v2025.11.0` (#36251)
|/  
* e3f0320395 FIX: использование скрытого переполнения тела на iOS (#36248)
.
.
.
* 05cd20d401 Обновление версии до v3.6.0.beta3-latest
* 8a3cb59d5b (tag: v3.6.0.beta2, tag: latest-release, tag: beta) Обновление версии до v3.6.0.beta2
* 21e5ded097 DEV: удаление избыточного атрибута данных при обработке постов (#35650)
  • Ожидается ли, что тег beta всё ещё указывает на v3.6.0.beta2?
  • Ожидается ли, что тег release не указывает на ревизию в ветке release/2025.11?

Спасибо :slight_smile:

Привет, @simonk, спасибо за поднятые вопросы! Мы как раз обсуждали оба этих момента сегодня на внутренней встрече.

  • Старые теги beta и latest-release должны быть алиасами тега release.

  • Тег release должен указывать на последний коммит ветки release/2025.11.

Прямо сейчас работаем над исправлением этого.

Эти три тега теперь вручную перемещены в правильный коммит. Буду следить за тем, чтобы автоматизированные инструменты были обновлены и в дальнейшем удерживали их в нужном месте.

* коммит 48167b94d63faf8a41b9c8193ec5dd3e4e9f498e (HEAD -> release/2025.11, тег: release, тег: latest-release, тег: beta, origin/release/2025.11)
| Автор: Joffrey JAFFEUX <j.jaffeux@gmail.com>
| Дата:   ср, 26 ноя 14:31:55 2025 +0100
| 
|     Ограничение переполнения тела при бэкпортировании (#36256)
| 

Особенность в продакшн-среде.

Мой самодостаточный Discourse всё ещё показывал версию 3.6.0.beta2 как самую свежую. В панели администратора зелёная улыбающаяся рожица указывала, что я использую последнюю версию, но на самом деле я отставал на две версии.

Я выполнил ручное обновление и теперь нахожусь на версии 2025.12.0-latest.

Можете ли вы в инструменте релизов добавить возможность помечать версию 3.6.0.beta2 как устаревшую и требовать обновления?

Скорее всего, это связано с переходом от одной схемы к новой, но:

  • вчера была выпущена версия 3.5.4
  • версия 3.5 помечена как ESR и была выпущена в августе 2025 года
  • вчера была выпущена версия 2026.1, которая является версией ESR

однако версия 3.5 теперь помечена как устаревшая (end-of-life). Согласно вышеизложенному, она должна поддерживаться до конца марта?

Кроме того, на той странице указано, что 28 января — это «сегодня».

Да, всё верно. Стабильная версия 3.5 не имеет собственной ветки в git, поэтому её поддержка после преобразования ветки stable в тег затруднительна. Мы пометили тегом v3.5.4 (включающую последние исправления безопасности) непосредственно перед удалением ветки stable, поэтому её можно использовать, если вам нужно немного больше времени перед переходом на версию 2026.1. Однако любые будущие исправления безопасности для серии 3.5 больше не будут доступны.

После выпуска версии 2026.7 ESR будет два месяца, в течение которых мы продолжим поддерживать версию 2026.1 в её релизной ветке.

Разберёмся с этим, спасибо.

Я хочу узнать, как выглядит этот конкретный пример конфигурации?

env:
  DISCOURSE_VERSION: bd4e34ec04

или

version: bd4e34ec04

Я хочу установить версию ESR. Как это сделать? По умолчанию сейчас устанавливается последняя версия.

Если я не ошибаюсь, вы можете установить version в stable.

Да, я только что нашёл, что это можно настроить в templates/web.template.yml:

params:
  version: esr

Хм… тогда нужно ли изменить Understanding Discourse release channels?

Кажется, содержание этого поста устарело. В текущей стабильной версии достаточно использовать тег esr. Для новейших функций следует применять тег latest.

Кажется, да. Дэвид уже упоминал документацию ранее

Я всё ещё немного запутался в новой системе — вообще не менял свой app.yml.

И мне не хватает тем с объявлениями для каждого нового релиза.

Похоже, это только что сделали :partying_face:!