Как и во многих проектах с открытым исходным кодом, я искал релизы на GitHub. Кто-то пришёл к той же идее и также обнаружил, что у Discourse больше нет релизов на GitHub.
Моя следующая попытка заключалась в использовании тегов git на GitHub, что было бы следующим лучшим вариантом. По состоянию на сегодня, последний тег на GitHub — v3.6.0.beta2. Заглянув на страницу администратора моего собственного экземпляра Discourse, я увидел, что у меня запущена версия v3.6.0.beta3. Это означает, что не только последний релиз Discourse не помечен тегом на GitHub, но и сам Discourse (программное обеспечение) явно не использует теги GitHub как способ определения наличия нового релиза.
Я вспомнил, что моя установка работает в Docker, поэтому решил проследовать по этой «кроличьей норе» к месту, где размещены образы Discourse на Docker Hub. Там используется несколько соглашений об именовании тегов (например, 2.0.20251113-0018-web-only-stable), ни одно из которых, похоже, не соответствует формату v.X.Y.Z, который Discourse использует публично.
Итак, есть ли у кого-нибудь рекомендация, как решить эту задачу?
Похоже, вы используете ветку beta3-latest, что означает одну из промежуточных версий в процессе разработки beta3. Финальная версия beta3 ещё не выпущена, поэтому метка обозначает последнюю опубликованную бета-версию. Однако вы, вероятно, используете ветку latest, которая не основана на бета-выпусках.
Я ничего не использовал. Discourse сообщает мне, когда выходят обновления, и я нажимаю кнопку для их установки в интерфейсе. Я пытаюсь понять, откуда Discourse получает эту информацию.
Спасибо. Я уже наткнулся на это, но для этого мне пришлось бы регулярно выполнять git clone и просматривать этот файл, что не совсем удобно.
Первая ссылка не помогла мне получить последнюю версию (на самом деле, похоже, теперь нужно скачивать ещё больше), но вторая ссылка — полезная информация. Похоже, схема версионирования полностью изменится. Спасибо за ссылку.
Я думал, что объяснение о том, что уведомления отправляются после выхода новой бета-версии, может быть вам полезно. Когда вы обновитесь после уведомления о выпуске 3.6.0.beta3, при условии, что ваш форум настроен на “latest”, вы получите 3.6.0.beta4-latest.
Мне нужен какой-то URL, с помощью которого я мог бы с помощью языка программирования (или, скажем, curl) проверить, какая последняя версия (или версии) доступна. Обычно это какой-то фид, и ответ содержит структурированные данные, такие как JSON, XML, YAML и т. д.
где X — известная версия в ветке, о которой вы хотите получить информацию.
Если вам просто нужно получить последние 5 номеров бета-версий, используйте старую версию, например: https://api.discourse.org/api/version_check?installed_version=3.1.0.beta1
(Для бета-версий используйте https://github.com/discourse/discourse/blob/beta/lib/version.rb, для стабильных — https://github.com/discourse/discourse/blob/stable/lib/version.rb)
Вот именно. Это именно то, что я искал, но мой «гугло-фу» меня подвёл. Спасибо!
Этот API показывает v3.6.0 бета 2 как последнюю (как теги на GitHub), а не бета 3, на которой работает мой форум. Не понимаю, как так вышло, но это уже другая проблема.
Данные, предоставляемые api.discourse.org, берутся из тегов GitHub, поэтому вы можете использовать любой из них. Они всегда дадут одинаковый результат.
Это потому, что вы используете предварительную версию бета 3:
Суффикс -latest указывает на то, что это предварительная версия в ветке latest Discourse и не соответствует конкретному коммиту.