Темы и компоненты в канале latest по умолчанию автоматически отключаются, а авторам тем приходится использовать неудобные обходные решения.
Я столкнулся с этим здесь: Featured Topics - #76 by cogdog. Довольно неинтуитивно, что все минимальные версии должны использовать формат вроде xxx.x.999, меньший, чем текущая версия, с которой они должны соответствовать.
Платформа
Самостоятельно размещённый Discourse в ветке latest
Версия Discourse: 2026.8.0-latest.1
Затрагивает: создание тем и компонентов тем (метаданные about.json) и проверки совместимости тем
Описание
Фактический результат:
Тема с указанием "minimum_discourse_version": "2026.8.0" в файле about.json считается несовместимой и автоматически отключается, если сайт работает на сборке -latest версии 2026.8.0-latest.1. Единственный способ сохранить тему включённой — установить более низкую версию, например "minimum_discourse_version": "2026.7.999".
Похожая проблема возникает при импорте темы, которая устанавливает minimum_discourse_version в значение в стиле -latest (например, 2025.12.0-latest), которое отклоняется как недействительное — см. существующий отчёт: 主题配置文件中minimum_discourse_version不支持日期化版本格式
Ожидаемый результат:
Поскольку 2026.8.0-latest.1 является сборкой -latest для линии релизов 2026.8.0, она должна удовлетворять минимальному требованию 2026.8.0. Сборки latest новее соответствующей выпущенной версии, а не старше.
Но версия -latest — это версия, предшествующая выпуску данной версии. Именно на этом основывались записи о совместимости на протяжении многих лет.
То, как вы обходили это с помощью <2026.7.999, кажется неочевидным, но почему бы вам не указать <2026.8.0-latest?
Если мне нужен конкретный коммит, добавленный в процессе разработки 2026.8, я могу быть уверен, что все, кто использует релиз 2026.8, его имеют, но я не могу быть уверен, что все, кто использует 2026.8-latest, его имеют. Возможно, их последнее обновление произошло до того, как был добавлен этот конкретный коммит. Так что, если бы 2026.8 по умолчанию включала 2026.8-latest, некоторые вещи могли бы сломаться. Мне кажется, лучше, чтобы администратору пришлось подождать несколько недель, прежде чем он сможет использовать/обновить тему, чем рисковать тем, что что-то сломается из-за отсутствия необходимого коммита.
Нам следует это исправить. Авторам тем должно быть разрешено использовать:
minimumDiscourseVersion: "2026.8.0-latest"
Хотя, как отметил @moin, это может быть рискованно, поскольку -latest ссылается на огромное количество разных коммитов. Поэтому в идеальном мире нам следует подождать до следующего релиза, прежде чем полагаться на новую функцию ядра из темы/плагина.