Skip to content

[Epic] Release Tracks: per-environment update channel selection #35693

Description

@sfreudenthaler

Summary

Introduce Release Tracks for dotCMS Cloud environments: each environment subscribes to a named update channel (latest / standard / trailing) that determines how recent a release it receives.

v1 scope (this epic): track selection, operated by dotCMS. Tracks are real and per-environment, the promotion and reconciliation machinery is live, and customers choose their posture — but track changes are made by dotCMS: customers request a change via a support ticket, actioned per the interim support runbook (#36522). Self-service (UI, public API, customer-initiated changes) is deliberately split out to the related epic #36775 and is not required for this epic to be done.

Background

dotCMS Cloud customers run multiple environments (dev, UAT, prod, etc.) and have asked for more predictability over how updates flow into those environments. Today, every dotCMS Cloud environment effectively receives the same release stream on the same cadence. Customers want the option to take updates conservatively in production while still validating newer releases in lower environments.

This epic introduces a named, documented model — Release Tracks — that makes the update posture an explicit, customer-owned choice instead of an implicit platform default.

User Story

As a dotCMS Cloud customer with multiple environments,
I want to choose a Release Track per environment
so that I can validate new releases in lower environments before they reach production.

Tracks

Track Description Intended use
latest Receives releases as soon as they are cut Dev / early validation
standard Receives releases after a short stabilization window Default for most environments
trailing Receives releases after an extended stabilization window Conservative / production-leaning

Key properties

  • Tracks are per-environment, not per-tenant. A customer can put dev on latest and prod on trailing within the same account.
  • Tracks describe version age, not update cadence. The platform decides when each track advances; standard/trailing move only on a deliberate, human-approved maintenance-window promotion (Rebuild track promotion engine to honor 2-week maintenance-window cadence #36520), latest per release.
  • Tracks do not introduce a separate code line. All tracks install the same released artifacts, at different points in time. No backporting.
  • Changing tracks is forward-only in normal use: moving faster applies at the next update; moving slower never rolls an environment back.

In scope (v1)

Out of scope

Acceptance criteria (v1 = done)

References

Desired Outcome

Customers choose an update posture per environment; the platform honors it automatically; track changes are a routine support request. Self-service follows in #36775.

Target Personas

  • Developer teams
  • Content teams
  • DevOps teams
  • System administrators (dotCMS)

Links

Metadata

Metadata

Type

Projects

Status
New

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions