Files
cc-ci-orchestrator/cc-ci-plan/upstream/discourse.md
T

4.5 KiB

Upstream sources — discourse

service image source repo releases / changelog
app discourse/discourse (official, was bitnamilegacy/discourse) https://github.com/discourse/discourse https://releases.discourse.org/ (per-version: https://releases.discourse.org/changelog/v/)
db discourse/postgres (pgvector + auto-upgrade layer, was pgvector/pgvector) https://github.com/discourse/discourse-postgres https://github.com/discourse/discourse-postgres (tags: pg13..pg18, latest; no semver — pg<MAJOR>)
redis redis https://github.com/redis/redis https://raw.githubusercontent.com/redis/redis/8.0/00-RELEASENOTES

Standing notes

  • The recipe switched from bitnamilegacy/discourse to the official discourse/discourse image in v1.0.0+3.5.3 (merged upstream 2026-06, PR #16 discourse-official). sidekiq now runs INSIDE the app container (no separate sidekiq service). The old bitnamilegacy path is dead; bitnamilegacy 9.x tags are Helm-chart OCI artifacts, not runnable images.
  • Discourse switched from semver (3.x) to calver (YYYY.M.x) starting v2026.1.0 (2026-01-28). v2026.1.0 is the first ESR (Extended Support Release), replacing the old "stable" branch. Sites on 3.5.x → 2026.1.x on next upgrade (normal, supported path; Rails migrations run automatically on boot via the official image). Release notes: https://releases.discourse.org/ . ESR line (2026.1.x) gets ~8 months support; monthly release channel gets ~2 months; latest is continuous. The esr Docker tag tracks the current ESR. Target the ESR line for stable deployments.
  • discourse/postgres tags are pg<MAJOR> (pg13..pg18), non-semver — abra can't parse them. Check Docker Hub directly: https://hub.docker.com/r/discourse/postgres/tags . pg18 is the newest (2026-07-01); no pg19 yet. The image auto-upgrades an older cluster in place on boot (pg_upgrade into versioned PGDATA); no manual dump/restore needed (the old "Welcome to hell" procedure is superseded for this image).
  • Redis 8.0 GA supports upgrade from 7.x data files. Discourse uses Redis only as a cache/queue (Sidekiq) with no persistence modules. Redis 8.0 integrates RediSearch/RedisJSON/etc. as built-ins; discourse does not use those modules so this is transparent. Redis 8.10-alpine is a safe sidecar bump from 8.8.
  • 2026.1 ESR → 2026.7 ESR jump (2026-07-28 release; 2026.7.1 = July 31 security intermediate): the big ~6-month ESR jump. Behavior changes that arrive on their own (all surfaced via the new Upcoming Changes opt-out system, so NOT hard breaks for the recipe boot): Discourse Reactions enabled by default (opt out via discourse_reactions_enabled); Uncategorized being removed (opt-out for now); rich_editor site setting gone (rich editor unconditional, per-user composition_mode remains); simpler email subject lines (beta). Web server: Discourse replaced Unicorn with Pitchfork (default in 2026.2, Unicorn removed entirely in 2026.4) — internal, healthcheck curl /srv/status still works. Theme/plugin deprecations: .hbs deprecated (2026.7 is last ESR with support, drop in 2026.8.0-latest → 2027.1 first ESR without it; codemod available); .js.es6 deprecated (rename to .js); legacy widget shims removed (discourse.breadcrumbs.*, add-flag-property, add-header-panel, bootbox). New features: Upcoming Changes config page, Nested replies (experimental), one-time email code login (alpha), new admin category management, bulk actions (tag/pin/suspend), livestreams in Discourse Events. Postgres: discourse-health-check flags anything below pg15; recipe is on pg18 so fine — do NOT bump the pg major in the weekly cron (operator decision). For a fresh CI deploy (no custom themes/plugins/data) the jump converges cleanly; the breaking-change surface is operator-facing for existing sites with custom themes. No Ruby version concern (Ruby ships in the image). Release notes: https://releases.discourse.org/changelog/v2026.7.1/ and https://releases.discourse.org/changelog/v2026.7.0/ ; community jump guide: https://meta.discourse.org/t/jumping-from-2026-1-esr-to-2026-7-what-i-found/408779 .
  • Recommended release bump for the ESR jump: -x major (it's a 6-month ESR jump with web-server swap, default-on behavior changes, and theme deprecations — signal operators to review). The recipe version label is NOT bumped in the upgrade PR; the operator runs abra recipe release discourse -x after the upstream PR merges.