Switching between Discourse release channels / versions

:bookmark: This guide explains how to configure the release channel of your Discourse instance.

:person_raising_hand: Required user level: System Administrator

:warning: Console access is required.

Managing your Discourse instance’s channel determines the frequency and type of updates you receive. This guide explains the channels available and provides a step-by-step approach to changing the branch on your setup.

Summary

Discourse offers several channels for tracking software updates: latest, release, and esr. This documentation explains the purpose of each, their key features, and how to configure them in your Discourse instance. For an illustration of the channels, see releases.discourse.org.

Supported channels

latest

:information_source: Recommended Default
This channel provides the latest bug fixes and compatibility updates for plugins. Every passing commit from the main branch is tested by the build server and added to the latest branch after successful verification.

  • Suitable for sites that want to stay up to date.
  • Sites can update manually at any time.

release

:information_source: For Sites That Prefer Monthly Releases

The release channel tracks the most recent monthly release of Discourse. Each month, a release branch (e.g. release/2026.2) is cut from latest, providing a stable snapshot.

  • Released approximately once per month.
  • Each release receives critical fixes for two full release cycles.

esr

:information_source: Extended Support Release

The esr tag tracks the latest Extended Support Release, intended for sites prioritizing long-term stability and security over frequent updates.

  • Declared approximately every 6 months from the monthly releases.
  • Receives security fixes and critical backports for an extended period.
  • May have limited compatibility with community plugins and theme components.

:warning: Note: Not receiving regular maintenance updates can leave some features outdated or visually inconsistent.

Deprecated aliases

For backwards compatibility, the following old branch/tag names still work but are considered deprecated:

  • tests-passedlatest
  • betarelease
  • stableesr

Other branches or references

:warning: Tracking other branches (e.g., specific release/YYYY.M branches or commit SHAs) is possible but requires expertise. These branches only receive critical fixes for a limited period.

Instructions for configuring your channel

Follow these steps to configure the desired branch in your Discourse instance:

  1. Access the configuration file
    Open the app.yml configuration file by running the following commands in your console:
cd /var/discourse
nano containers/app.yml

The nano editor will open the configuration file.
2. Edit the tracking branch
Locate the version parameter by searching for the word “version” in the file:

params:  
## Which Git revision should this container use? (default: latest)  
#version: latest
  • Uncomment the version line.
  • Replace latest with your desired branch or tag name (e.g., esr).Example:
params:  
## Which Git revision should this container use? (default: latest)  
version: esr  
  1. Save and exit
  • Press Ctrl+O to save your changes.
  • Press Enter to confirm.
  • Use Ctrl+X to exit the editor.
  1. Rebuild the container
    Once the changes are made and saved, rebuild the container to apply the new configuration:
./launcher rebuild app

:warning: Rebuilding will cause temporary downtime

Last edited by @david 2026-08-03T13:03:06Z

Check documentPerform check on document:
27개의 좋아요
Is it possible to upgrade Discourse up to a number of commits in the version?
Upgrade Button - Possible Window to Exploits
How to avoid Discourse BETA version and keep only stable?
Need a better way to explain what branch to be on, why, and what happens
Restoring Discourse 1.9 backup onto v2.3.0.beta9 +184
Cannot reorder categories
How to change the target channel from DEV to BETA?
Help us test the rewritten Composer
502 Bad Gateway after trying to rebuild test-passed branch
Upcoming changes to the beta branch of Discourse
I need help to edit the sidebar
Quote-feature occasionally missing on Android
Download My Posts failed
What’s the best/safest branch not break production site?
Stuck at v2.9.0.beta1 – Now Running 3.4.0.beta4-dev after Disabling Hooks: How Can I Lock to Stable Releases?
Self-hosted discourse instance appending "7d" to the FQDN
Update “3.4.0.beta4” failed
Issues with Discourse 3.5.0.beta2-dev - SMTP and Background Jobs
Landing Pages Plugin :small_airplane:
Install production ready stable on vps
Help deploying older versions of Discourse
[solved] How to avoid getting -dev versions when updating?
Production upgrades - correct procedure to follow
Production upgrades - correct procedure to follow
Problem with Upgrade [error 137]
ESR Usage Help
Is it possible to disable Discourse updates?
Is it possible to disable Discourse updates?
Error 500 after Update
Need a better way to explain what branch to be on, why, and what happens
Have I Installed the wrong version? - 3.5.0.beta2-dev

4 posts were merged into an existing topic: Help deploying older versions of Discourse

git pull은 필요한 단계인가요, 아니면 Discourse 업데이트(Discourse와 Docker 이미지를 최신 버전으로 수동 업데이트 )의 경우와 마찬가지로 레거시 문서에서 유래한 불필요한 단계인가요?

제 경험상 git pull가끔 유용합니다. 예를 들어 yarn에서 pnpm으로 전환할 때는 필수적이었죠 …

일반적인 재빌드에는 굳이 신경 쓸 필요가 없습니다.

2개의 좋아요

좋은 정보네요! 알려주셔서 감사합니다.

보통 이렇게 합니다 :sweat_smile: 재빌드를 시도해 보고, 만일 뭔가 명확하지 않은 이유로 실패하면 먼저 git pull을 시도해 봅니다. 잠시 걸리긴 하죠.

이론적으로는 절대 필요하지 않습니다. 런처가 오래된 복사본을 자동으로 감지하고 git pull을 직접 수행합니다:

1개의 좋아요

자세히 알려주셔서 감사합니다. 말씀하신 대로 맞는 것 같습니다. git pul 없이 시도해 보고 결과를 알려드리겠습니다.

1개의 좋아요

이상하네요. 해당 코드는 2015년에 작성되었고, 제 포럼은 2018년에 시작되었는데, 여기서 git pull이 필요한 경우가 여러 번 논의된 것 같습니다.

저는 기억이 나면 항상 git pull을 실행합니다. 아무 비용도 들지 않으니까요.

역사적인 문서들 때문인지 꽤 자주 언급되는 것 같습니다. 실제로 도움이 된다는 증거를 본 적이 있는지는 잘 모르겠어요.

하지만 수동으로 실행하는 데는 아무 해가 없으니까요 :person_shrugging:

1개의 좋아요

yml 파일이 supported tracking branch가 아니라 version을 사용하고 있으므로, 주제 제목에 (version)을 추가하는 것이 좋을까요?

처음에는 날짜에 조금 놀랐습니다. 하지만 버전 히스토리를 확인해보니, 최신 업데이트는 5월 18일이었습니다.

OP를 업데이트하여 최신 “채널” 용어를 사용하고, 불필요한 git pull 언급을 일부 제거하는 작업을 진행했습니다.

1개의 좋아요

확실히 매우 드문 경우에 "got me over the hump"라는 문제가 발생하므로, 적어도 엣지 케이스가 하나 이상은 존재해야 합니다.

주 스크립트가 제한된 상황에서 변경될 때 발생하는 것일 수 있을까요?

1개의 좋아요