@Moin 님의 두 가지 수정 사항, 즉 Reactions 옵트아웃과 ESR에서 Upcoming Changes가 실제로 어떻게 동작하는지에 대한 내용입니다. 두 가지 모두 전체 내용을 읽어볼 가치가 있습니다.
우선, 새 ESR 출시를 축하드리며, 그 안에 담긴 노고에 감사드립니다. 6개월간의 릴리스가 하나의 지원되는 체크포인트에 통합되는 것은 상당한 엔지니어링 작업입니다. 이제 제대로 된 릴리스 사이트와 변경 로그(changelog)를 살펴볼 수 있게 되어 이전 4년간보다 이 조사 작업이 훨씬 쉬워졌습니다.
저는 현재 2026.1.5 ESR을 사용 중입니다. 업그레이드가 최대한 원활하게 진행되도록 설정을 찾기 위해 릴리스를 하나씩 확인해 왔습니다.
무언가를 변경하기 전에 2026.1.5와 2026.7.0 사이의 모든 내용을 꼼꼼히 살펴봤고, 이 노트가 현재 2026.1에 머물러 있으면서 지금 패치를 할지, 아니면 지금 바로 점프할지를 결정하려는 다른 사람들에게 유용할 것 같아 작성했습니다.
오늘 보안 수정을 위해 2026.1.6으로 패치했고, 테마 컴포넌트와 기타 항목을 제대로 테스트할 시간이 있는 다음 달 첫 주에 2026.7.0으로 이동할 계획입니다.
version: stable 함정!
제 경우처럼 app.yml에 다음과 같이 적혀 있다면:
version: stable
…그러면 다음 재빌드 시 의도했든与否(부정)에 상관없이 2026.7.0으로 이동하게 됩니다. stable은 esr의 하위 호환성 별칭이며, esr은 항상 최신 ESR을 가리키는데, 이는 오늘 변경되었습니다.
아는 한 다운그레이드 경로가 없으므로, 보안 수정만 받으려고 재빌드하면 6개월에 걸친 전체 점프를 함께 받게 됩니다!
2026.1에 머물면서 보안 패치만 받으려면 명시적으로 고정하세요:
version: release/2026.1
새 ESR로 이동하되 6개월 후 자동으로 다시 이동되지 않으려면:
version: release/2026.7
2026.1은 2026년 9월까지 지원됩니다. 2026.7은 2027년 3월까지 실행됩니다. 따라서 점프는 어쨌든 찾아올 것이며, 단지 그것이 당신의 일정에 따라 이루어질지의 문제일 뿐입니다.
사전 요구 사항
PostgreSQL 15가 이제 최소 버전입니다. 컨테이너 내부에서 확인하세요:
cat /shared/postgres_data/PG_VERSION
제 경우 15가 반환되어 문제없었습니다. 13이나 14를 사용 중이라면 버전 점프 이전에 별도의 업그레이드가 필요하다고 생각합니다.
참고할 점: 컨테이너 이미지는 이제 PG 15와 함께 PG 18도 포함하지만, 지금은 변수를 하나씩만 변경하기 위해 거절하고 있습니다.
다운타임?
먼저 백업을 수행하고, 유지 관리 모드로 포럼을 잠가 두세요.
다운타임은 없지만, 성숙한 포럼에서는 즉시 완료되지 않습니다:
제 VPS에서는 재빌드가 5분 미만으로 소요되었지만, 대부분의 웹 호스트에서는 약 10분을 예상해야 하며, 포럼의 게시글 수에 따라 크게 달라지므로 30분에서 45분의 창을 확보하는 것이 좋습니다.
보안: 2026.1.5에서 노출되는 내용
2026.1.5를 사용 중이라면 17개의 보안 공지가 적용됩니다. 6월 30일 이전에 게시된 모든 항목은 이미 당신의 빌드에서 수정되었습니다. 17개 항목 모두 2026.1.6과 2026.7.0 양쪽에서 패치되었는데, 이것이 패치 우선이 정당한 옵션인 이유입니다.
- 심각(Critical) 1건 - 색상 스키마 쿠키를 통한 캐시 오염 / XSS
- 높음(High) 2건 - 변형된 HEIF 파일을 통한 RCE; 리치 텍스트 에디터에서 이스케이프되지 않은 채트 전사 사용자 이름을 통한 저장형 XSS
- 중간(Medium) 13건, 낮음(Low) 1건 - 검토 대기열, 스태프 작업 로그, 게시글 작업, 로컬 날짜에서의 저장형 XSS; 숨겨진 태그 이름 및 태그 설명 누출; 정규화된 URL을 통한 제한된 주제 제목 노출; 공유 초안 제목/요약 누출; 대소문자 구별 비교를 통한 원박스 도메인 차단 목록 우회; AI 봇 대화 도청; AI 검토 가능 항목을 통한 PM 콘텐츠 접근; 채팅 원박스 채널/스레드 ID 불일치; Q&A JSON-LD에서 출력되는 숨겨진 첫 게시글 요약
패치만 수행하는 경우, release/2026.1 + 재빌드로 모두 해결됩니다.
제 불만: 요청하지 않아도 변경되는 것들
이것은 지난 몇 년간 가장 원했던 섹션입니다. 2026.7로 점프할 때, 스스로 찾아오는 행동 변경 사항 중 일부는 다음과 같습니다:
-
모든 사이트에 대해 Discourse Reactions가 기본적으로 활성화됩니다. 롤아웃은 2026년 7월 초에
stable에 도달했습니다. 현재 Reactions를 사용하지 않더라도 곧 도입됩니다. -
분류 없음(Uncategorized)이 제거됩니다. 분류 없음 관련 설정이 영향을 받으며, 변경 사항이 영구화되면 완전히 제거됩니다. 현재는 옵트아웃으로 관리됩니다.
-
rich_editor사이트 설정이 사라졌습니다. 리치 에디터는 이제 조건부 없이 항상 적용됩니다. 마크다운과 리치 텍스트를 선택할 수 있는 유일한 남은 방법은 사용자별composition_mode환경 설정입니다. 마크다운 미리보기 토글도 제거되었습니다 - MD/RTE 모드 토글이 이를 대체합니다.
(이것이 당신의 특정 환경에서 사실인 경우에만 유지하세요. 그렇지 않으면 제거하거나 조건을 명시하세요.) -
더 단순한 이메일 제목. 현재 베타 버전입니다. 주의: 이를 활성화해도
email_subject사이트 설정이 덮어쓰기되지 않습니다. 수동으로 지우지 않는 한 사용자 지정이 보존됩니다. 새 기본값을 사용하려면 먼저 사용자 지정email_subject및 관련 사이트 텍스트를 지워야 합니다. -
Horizon 고맥락(High-context) 주제 카드가 6월에
stable에 도달했습니다. Horizon을 사용 중일 때만 관련되며, 단순 카드로 되돌리는 테마 설정이 있습니다.
좋은 소식: 이 모든 것이 이제 Upcoming Changes 시스템을 통해 도입됩니다. 즉, 이러한 변경 사항은 2026.1.5에는 존재하지 않습니다. 설정 페이지, 사전 공지, 변경 사항별 옵트아웃, 그리고 이미 사용자 지정된 설정이 롤아웃에 의해 덮어쓰기되는 것을 특정적으로 방지하는 수정 사항이 제공됩니다.
저처럼 릴리스 간에 설정이 이리저리 이동하는 것에 좌절해 왔다면, 그 시스템이 답입니다. 2026.1에 머물러 있으면 그 시스템 이전의 빌드를 유지하게 됩니다. 점프한 후 제가 할 첫 번째 일은 Upcoming Changes를 살펴보고, 모든 대기 중인 항목을 의도적으로 설정하는 것입니다.
커스텀 테마나 컴포넌트를 실행 중이라면
테스트 시간을 보내고 싶은 곳이자, 오늘 점프하지 않는 이유 중 하나입니다:
- 대기 중인 비추천(deprecation)에 대한 관리자 경고가 이제 표시됩니다. 7월 중순부터, 남은
.hbs사용은 관리자에게 경고 배너를 트리거하며, 컴포넌트의 레거시 코드는 일반적으로 관리자 알림을 표시합니다. 알아두는 것이 좋지만, 검토 패스가 필요합니다. 실제로 사용 중인 테마와 컴포넌트에 대해서만 알림이 표시되므로, 활성인 것뿐만 아니라 설치된 모든 테마를 확인하세요. - 테마와 플러그인에서
.hbs가 비추천되었습니다. 2026.7은.hbs지원을 포함하는 마지막 ESR입니다. Discourse 팀은2026.8.0-latest사이클 동안 이를 제거할 계획이므로, 2027.1은 이를 포함하지 않는 첫 번째 ESR가 될 것입니다. 템플릿을.gjs형식으로 마이그레이션하세요. 대부분의 작업을 자동화하는 codemod이 있으며, 팀은 특정 플러그인에 막힌 사람들을 위해 이를 실행하고 PR을 열겠다고 제안했습니다. .js.es6도 동일한 타임라인으로 비추천되었습니다. 이 부분은 자명합니다: 파일을.js로 이름 변경하세요.- 레거시 위젯 심(shims)과 오래된 비추천 경로가 정리되었습니다. 위젯 렌더링 시스템 자체는 2026.1 이전에 제거되었으므로,
createWidget및 관련 항목을 여전히 사용 중이었다면 몇 달 전에 이미 알았을 것입니다. 2026.7에서 제거되는 것은discourse.breadcrumbs.*,add-flag-property,add-header-panel,bootbox에 대한 남은 심과 레거시 경로입니다. - 플러그인 아웃렛 비추천 사항이 이제 더 잘 보입니다. 이름이 변경된 아웃렛은 단순히 사라지는 대신 경고를 표시합니다.
- 테마 설정 처리가 변경되었습니다. 이는 설정이 부팅 시점에 언제 사용 가능한지에 영향을 줄 수 있습니다. 컴포넌트가 초기에 설정을 읽는 경우 확인해 볼 가치가 있습니다.
- 레거시 모바일 모드 사이트 설정과 구식 모바일/데스크톱 분리는 사실상 사라졌습니다. 레이아웃은 이제 순수하게 너비에 반응적입니다. CSS가 모바일과 데스크톱을 별도로 대상화한다면, 업그레이드 후 실제 휴대폰에서 테스트하세요.
- 내부적으로: 지속적인 프레임워크 업그레이드(Ember, ember-cli), Rolldown 마이그레이션 완료, 추가적인 jQuery 제거, 테마와 플러그인에 대한 개선된 TypeScript 지원.
House Ads 사용자: 하우스 광고에서 인라인 JS가 이제 차단되며, 관리자 UI가 FormKit으로 재구축되었습니다. house_ads_after_nth_root도 이제 중첩된 답변 보기에서 준수되는 것으로 보입니다.
주목할 만한 새 기능
이 6개월 동안 37개의 기능이 강조되었습니다. 일반 커뮤니티 포럼에서 가장 중요하다고 생각하는 것들은 다음과 같습니다:
- Upcoming Changes - 위에서 설명한 설정 페이지 및 롤아웃 시스템.
- 중첩된 답변(Nested replies) - 실험적인 트리/스레드 스타일 주제 보기, 주제별 및 카테고리별 구성 가능, 주제 목록에서 일괄 활성화 및 재구성된 모바일 경험.
- 일회성 이메일 코드 로그인 및 가입 (
enable_local_logins_via_code) - 비밀번호 없음, 현재 알파 버전. 가입에는 이메일과 코드만 필요합니다. - 새 관리자 카테고리 관리 페이지 및 단순화된 카테고리 생성. 카테고리 및 그 유형의 전체 디렉터리.
- 전반적인 일괄 작업 - 일괄 태그 관리(추가/제거/교체), 일괄 고정/고정 해제, 비활성화 사용자의 일괄 정지, 그리고 Admin → Users의 새 활성화 상태 필터. 마지막 조합은 스팸 가입 물결을 정리하는 데 훌륭합니다.
또 언급할 가치가 있는 것들: 명시적인 기본 홈페이지 설정, 일괄 커스텀 이모지 가져오기/내보내기가 포함된 고정 이모지 그룹, 태그 이름에 마침표 허용, 전용 태그 편집 페이지, 임베딩을 위한 전체 앱 모드, OAuth2 및 OpenID Connect 모두에 대한 그룹 동기화, 인라인 GitHub 원박스에서 라이브 PR 상태 아이콘.
왜 먼저 패치했는가
위 내용은 2026.7로 이동하지 말아야 할 이유가 아닙니다. Upcoming Changes 시스템만으로도 실행할 가치가 있으며, 다음 달 첫 번째 또는 두 번째 주에 진행할 것입니다.
하지만 보안 수정은 두 가지 분기(branch) 모두에서 사용할 수 있었기 때문에, 긴급한 부분을 테스트가 필요한 부분과 분리할 수 있었습니다. 리치 에디터가 이제 조건부 없이 항상 적용되는 것처럼요. 포럼을 둘러보며 빠른 경로를 찾을 수 있을 것으로 확신합니다.
오늘 패치로 모든 보안 공지가 해결되었습니다. 이제 점프는 Upcoming Changes를 의도적으로 살펴보고, 심각한 CVE와 경쟁하지 않으면서 데스크톱과 모바일에서 테마 컴포넌트를 확인할 수 있는 적절한 창을 제공합니다.
2026.1을 사용 중이고 이번 주에 시간이 부족하다면, 같은 조치를 제안합니다. 시간이 있다면 release/2026.7으로 바로 가되, 명시적으로 고정하고 Postgres 버전을 확인하세요.
팀에 다시 한번 감사드립니다. 변경 로그 사이트 덕분에 1년 전보다 훨씬 덜 고통스러운 조사가 되었습니다.
고지: 이 게시글을 작성하는 데 AI를 사용했습니다. 그렇지 않았다면 이 게시글을 올릴 시간이 없었을 것입니다. 추가, 제거 또는 변경이 필요한 부분이 있으면 지적해 주십시오.


