Discourse는 곧 Ember JavaScript 프레임워크 버전을 3에서 5로 업그레이드할 예정입니다. 준비 작업의 대부분이 완료되었으며, 이미 많은 사이트가 Ember 5에서 운영되고 있습니다(Meta 포함!). ![]()
이 업그레이드는 현재 기능 플래그(feature flag) 뒤에 숨겨져 있습니다! 1월 10일부터 자체 호스팅(self-hosted) Discourse 설치의 기본값이 됩니다. 초기에는 Ember 3 지원이 플래그를 통해 계속 사용 가능하지만, 2024년 1분기 내에 제거될 예정입니다.
관리형 discourse.org 호스팅에서는 향후 몇 달 동안 플래그를 단계적으로 배포할 것입니다:
| 업그레이드 날짜 | |
|---|---|
| Basic | 2023-12-07 |
| Free | 2023-12-12 |
| Pro | 2024-01-15 |
| Business | 2024-01-22 |
| Enterprise | (건별 처리) |
나와 내 사이트에 이것이 무엇을 의미합니까?
추가 테마, 플러그인, 또는 테마 컴포넌트 없이 Discourse를 실행 중이라면… 준비가 끝났습니다! 아무것도 할 필요가 없으며, 걱정할 일도 없습니다.
또한 공식 테마/플러그인만 사용하는 경우에도 걱정하지 마세요! 모든 공식 테마, 테마 컴포넌트, 플러그인이 업그레이드를 위해 준비되도록 하겠습니다.
제3자(서드파티) 커스터마이징을 사용하는 경우, 해당 개발자들이 이러한 전환 과정에서 문제가 없도록 필요한 변경 사항을 적용해야 합니다.
그러나 자신의 사이트용으로 직접 제작하거나 의뢰한 자체 테마, 테마 컴포넌트, 또는 플러그인이 있다면 이 게시글이 당신을 위한 것입니다! 업그레이드 전에 문제를 식별하고 해결하는 방법을 안내해 드리겠습니다.
문제 식별
모든 Ember 5 관련 업그레이드 문제는 비추천(deprecated)된 API의 사용을 확인함으로써 업그레이드 전에 사전에 식별할 수 있습니다. 최근 Discourse 버전(Discourse 3.2.0.beta4-dev부터)에서는 이러한 중요한 비추천 사항이 트리거되면 관리자를 위한 경고 배너가 표시됩니다:
트리거된 비추천 사항에 대한 자세한 정보는 브라우저 개발자 콘솔에서 확인할 수 있습니다. 일반적으로 확인되는 모든 비추천 사항을 해결하는 것이 좋은 습관입니다. 하지만 이번 Ember 버전 업그레이드에서는 다음과 같은 핵심 항목들을 해결해야 합니다:
-
discourse.modal-controllers(자세한 정보는 이 토픽 참조) -
모든 Ember 비추천 사항 (즉,
-discourse.ID가 아닌 것들)
비추천 사항을 콘솔에 출력할 때, Discourse는 관련 테마/플러그인을 식별하려고 시도합니다.
개발자 및 호스팅 제공업체를 위해 비추천 사항을 일괄적으로 식별할 수 있는 몇 가지 도구를 제공합니다:
-
QUnit 테스트를 실행할 때, 끝부분에 미해결된 모든 비추천 사항 목록이 포함된 보고서가 출력됩니다. GitHub Actions에서는 이 보고서의 마크다운 버전이 워크플로우 요약 페이지에 추가됩니다.
-
호스팅 제공업체를 위해, 프로덕션 환경에서 비추천 사항이 발생될 때마다 prometheus 카운터를 증가시키는 discourse-deprecation-collector 플러그인이 있습니다.
비추천 사항 해결
일반적으로 콘솔 메시지는 문제의 설명과 해결에 필요한 단계를 포함합니다. 일부 경우에서는 Ember deprecations 웹사이트나 Discourse Meta와 같은 외부 리소스로 링크를 걸기도 합니다.
불분명한 부분이 있다면, 아래에 게시하거나 전용 Development 토픽에 질문해 주세요. 최선을 다해 도와드리겠습니다.
Ember 5에서 테스트
로컬 개발 환경에서 Ember 5로 테스트하려면 EMBER_VERSION 환경 변수를 사용하여 ember-cli 헬퍼를 시작할 수 있습니다. 예를 들어:
EMBER_VERSION=5 bin/ember-cli -u
기대대로 작동하는지 확인하려면, Discourse가 브라우저 콘솔에 출력하는 Ember 버전을 확인하세요.
프로덕션 환경에서는 app.yml 파일의 env: 섹션에 EMBER_VERSION: 5를 추가하여 동일한 결과를 얻을 수 있습니다.




