많은 오픈소스 프로젝트에서 그랬듯이, 저는 GitHub 릴리스를 찾고 있었습니다. 저와 같은 생각을 한 사람이 있었고, 그 역시 Discourse에 GitHub 릴리스가(더 이상) 없다는 사실을 발견했습니다.
다음 시도는 GitHub의 git 태그를 사용하는 것이었습니다. 이는 차선책이 될 수 있었죠. 오늘 기준으로 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), Discourse가 공개적으로 사용하는 v.X.Y.Z 형식과 일치하는 것은 없어 보였습니다.
이 문제를 해결할 방법에 대한 추천이 있는 분이 계신가요?
표시되는 버전은 하드코딩된 상수인 Discourse::VERSION::String으로 정의됩니다:
# frozen_string_literal: true
module Discourse
# work around reloader
unless defined?(::Discourse::VERSION)
module VERSION #:nodoc:
# Use the `version_bump:*` rake tasks to update this value
STRING = "2026.9.0-latest"
PARTS = STRING.split(".")
private_constant :PARTS
MAJOR = PARTS[0].to_i
MINOR = PARTS[1].to_i
TINY = PARTS[2].to_i
PRE = nil
DEV = PARTS[2]&.split("-", 2)&.[](1)
end
end
end
Moin
11월 13, 2025, 6:50오전
3
beta3-latest를 실행 중인 것으로 보입니다. 이는 beta3 개발 과정에서 한 버전 정도 차이가 나는 것을 의미합니다. beta3의 최종 버전은 아직 출시되지 않았으므로, 해당 태그는 출시된 최신 베타 버전을 나타냅니다. 하지만 아마도 latest를 사용 중일 텐데, 이는 베타 릴리스를 기반으로 하지 않습니다.
이 가이드에서는 Discourse 릴리스의 다양한 유형과 업데이트에 사용되는 서로 다른 채널에 대해 설명합니다.
필요한 사용자 권한: 모든 사용자
릴리스 채널
Discourse에는 각기 다른 목적을 위해 사용되는 네 가지 주요 릴리스 채널이 있습니다: main, latest, release, esr.
Discourse 프로덕션 버전을 설치할 때 기본적으로 사용되는 채널은 latest입니다.
2025년 11월부터 Discourse는 날짜 기반 버전 관리 체계(YYYY.MM.PATCH, 예: v2026.2.0)를 사용합니다. latest 분기에서는 버전 뒤에 -latest 접미사가 포함됩니다(예: v2026.3.0-latest).
각 릴리스 채널의 현재 상태를 확인하려면 다음 주소를 방문하세요:
main
GitHub: https://github.com/discourse/discourse/tree/main
이 …
새로운 버전 관리 전략에 관한 주제를 읽어보셨나요?
We’re planning to introduce a new versioning system for Discourse. Our goal is to provide more choice & predictability for community administrators, while maintaining our development velocity. We’re also adjusting some terminology to align better with other software.
This document will evolve as we receive comments, begin to implement the system, and then expand use of the new release streams.
If you have any comments/suggestions at this stage, please let us know by replying to this topic!
G…
Moin:
하지만 아마도 최신 버전을 사용 중이시겠죠
저는 아무것도 사용하지 않았습니다. Discourse가 업데이트가 있을 때 알려주면, UI에서 버튼을 클릭하여 설치합니다. Discourse가 이 정보를 어디서 가져오는지 알아보고 있습니다.
감사합니다. 그 부분을 발견하긴 했지만, 그렇게 하려면 정기적으로 git clone을 실행하고 해당 파일을 검사해야 해서 부담이 큽니다.
첫 번째 링크는 최신 버전(들)을 가져오는 데 도움이 되지 않습니다(사실 이제는 가져올 것이 더 많아진 것 같습니다)만, 두 번째 링크는 알아두면 좋습니다. 버전 관리 체계가 완전히 바뀔 것 같습니다. 링크를 공유해 주셔서 감사합니다.
Moin
11월 14, 2025, 3:57오후
6
새 베타 버전이 릴리스되면 알림이 한 번 전송된다는 설명이 도움이 될 것 같아서 알려드립니다. 포럼이 "latest"를 기반으로 하고 있을 때, 3.6.0.beta3 릴리스 알림을 받은 후 업데이트를 수행하면 3.6.0.beta4-latest가 설치됩니다.
프로그래밍 언어(또는 curl을 사용하여)로 최신 버전을 확인할 수 있는 URL이 필요합니다. 일반적으로 이러한 URL은 피드(feed) 형식이며, JSON, XML, YAML 등 구조화된 언어로 된 응답을 반환합니다.
RGJ
(Richard - Communiteq)
11월 14, 2025, 9:25오후
8
Discourse 코드 에 포함된 버전 확인을 사용할 수 있습니다.
https://api.discourse.org/api/version_check?installed_version=X
여기서 X는 정보를 얻고 싶은 브랜치에서 알려진 버전입니다.
최신 5개의 베타 버전 번호만 얻고 싶다면, 다음과 같이 오래된 버전을 간단히 사용하면 됩니다.
https://api.discourse.org/api/version_check?installed_version=3.1.0.beta1
최신 안정판(stable)을 원한다면 installed_version 매개변수를 생략하세요.
https://api.discourse.org/api/version_check
또는 https://github.com/discourse/discourse/blob/main/lib/version.rb 를 가져와서 STRING = 줄을 찾아보세요.
STRING = "3.6.0.beta3-latest"
(베타의 경우 https://github.com/discourse/discourse/blob/beta/lib/version.rb, 안정판의 경우 https://github.com/discourse/discourse/blob/stable/lib/version.rb를 사용하세요)
이거요. 제가 찾던 바로 그거였는데 구글 검색 실력이 부족했네요. 감사합니다!
이 API는 최신 버전을 v3.6.0 beta 2(GitHub 태그 기준)로 표시하는데, 제 포럼에서는 beta 3를 실행 중입니다. 어떻게 이런 일이 발생하는지 이해가 안 되지만, 이건 별개의 문제입니다.
도움 주셔서 감사합니다.
david
(David Taylor)
11월 14, 2025, 11:13오후
11
api.discourse.org에서 제공되는 데이터는 GitHub 태그에서 가져온 것이므로, 둘 중 하나를 사용해도 됩니다. 항상 동일한 결과가 반환됩니다.
beta3의 사전 릴리스 버전(pre-release version)을 실행 중이기 때문입니다.
-latest 접미사는 Discourse의 latest 브랜치에서 사전 릴리스 버전임을 나타내는 지표이며, 특정 커밋(commit)에 대응하지 않습니다.