기본 latest 채널의 테마/컴포넌트는 자동으로 비활성화되며, 테마 개발자는 직관적이지 않은 우회 방법을 사용해야 합니다.
다음 링크에서 이 문제를 확인했습니다: Featured Topics - #76 by cogdog 실제로 매칭해야 하는 현재 버전보다 낮은 xxx.x.999 형식의 최소 버전 형식을 사용해야 한다는 점은 매우 직관적이지 않습니다.
플랫폼
latest 브랜치를 사용하는 자체 호스팅 Discourse
Discourse 버전: 2026.8.0-latest.1
영향 범위: 테마/테마 컴포넌트 작성(about.json 메타데이터) 및 테마 호환성 검사
설명
실제 결과: about.json에 "minimum_discourse_version": "2026.8.0"이 설정된 테마는 사이트가 2026.8.0-latest.1이라는 -latest 빌드를 실행 중일 때 호환되지 않는 것으로 간주되어 자동으로 비활성화됩니다. 테마를 활성화 상태로 유지하는 유일한 방법은 "minimum_discourse_version": "2026.7.999"와 같이 더 낮은 버전을 설정하는 것입니다.
minimum_discourse_version을 -latest 스타일의 값(예: 2025.12.0-latest)으로 설정한 테마를 가져오는 경우에도 유사한 문제가 발생합니다. 이러한 값은 유효하지 않다고 거부됩니다 — 기존 보고서 참조: 主题配置文件中minimum_discourse_version不支持日期化版本格式
기대 결과: 2026.8.0-latest.1은 2026.8.0 릴리스 라인의 -latest 빌드이므로, 2026.8.0의 최소 요구 사항을 충족해야 합니다. Latest 빌드는 해당 릴리스된 버전보다 오래된 것이 아니라 더 새로운 것입니다.
하지만 -latest 버전은 해당 버전의 정식 릴리스 이전의 버전입니다. 호환성 항목들은 수년간 이 기준에 따라 작성되어 왔습니다.
<2026.7.999로 처리한 방식은 직관적이지 않아 보이지만, 왜 <2026.8.0-latest를 명시하지 않았나요?
2026.8 개발 중에 추가된 특정 커밋이 필요할 경우, 2026.8 릴리스를 사용하는 모든 사용자가 해당 커밋을 가지고 있다는 것을 확신할 수 있지만, 2026.8-latest를 사용하는 모든 사용자가 그것을 가지고 있다는 확신은 할 수 없습니다. 어쩌면 그들의 마지막 업데이트가 특정 커밋이 추가되기 전에 이루어졌을 수 있으니까요. 따라서 2026.8이 기본적으로 2026.8-latest를 포함하게 된다면 문제가 발생할 수 있습니다. 필수 커밋이 없어서 문제가 생길 위험을 감수하기보다는, 관리자가 테마를 사용하거나 업데이트할 수 있도록 몇 주를 기다리는 것이 더 낫다고 생각합니다.