You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
In-cluster evergreen-tracks reconciler: detect floating-tag digest changes, roll subscribed environments in the maintenance window, verify convergence, alert — built, deployed, and armed across the prod fleet (dotCMS/infrastructure-as-code#8098).
Canary customer dev environments on latest (dotCMS/infrastructure-as-code#7987).
Telemetry: per-environment track feed in dotUsage; fleet observability dashboard (Build the fleet track observability dashboard #36533 — shipped); Ninety scorecard updated via local command for now (dotCMS/dotusage#71).
Internal enablement on the tagging mechanism (dotCMS/private-issues#653).
Reconciler armed (PUSH_ENABLED) across prod clusters; environments advance automatically per track (dotCMS/infrastructure-as-code#8098).
Canary coverage on latest: bcbs/dev-2310 (deemed sufficient for v1; CX lining up more customers as ongoing adoption) (dotCMS/infrastructure-as-code#7987).
Customers choose an update posture per environment; the platform honors it automatically; track changes are a routine support request. Self-service follows in #36775.
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
Tracks
lateststandardtrailingKey properties
devonlatestandprodontrailingwithin the same account.standard/trailingmove only on a deliberate, human-approved maintenance-window promotion (Rebuild track promotion engine to honor 2-week maintenance-window cadence #36520),latestper release.In scope (v1)
dotcms.cloud/evergreen-tracklabel in infrastructure-as-code manifests (Define Release Tracks data model and per-environment persistence #36528 — shipped; fleet labeled).latest(dotCMS/infrastructure-as-code#7987).Out of scope
Acceptance criteria (v1 = done)
latest: bcbs/dev-2310 (deemed sufficient for v1; CX lining up more customers as ongoing adoption) (dotCMS/infrastructure-as-code#7987).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
Links