Releases
A release is a snapshot of one environment: its counters, module installs and project-scoped resource rows. Module installs and resource rows are live as soon as you save them; counters only take effect in the runtime after a release. See Releases & Publishing for the full model.
Publish a release
Section titled “Publish a release”In the dashboard at https://app.rudder.build/, select staging in the environment switcher, open Releases and click Publish. Add an optional description and notes and confirm.
The release moves through statuses:
- building — the snapshot is being assembled and stored. The dashboard blocks another publish while one is building.
- completed — the snapshot is stored and the environment’s counters are reloaded from it.
- failed — nothing changed; the previous snapshot stays in use.
Each release gets a sequential version per project and environment (v1, v2, …). Every completed release keeps its snapshot, which is what makes rollback possible.
Promote to prod
Section titled “Promote to prod”On the Releases page, click Promote and confirm. Promotion copies counters, module installs and project-scoped resource rows from staging to prod:
- New entries are created in
prod; existing ones are updated in place. Resource rows keep the same id in both environments. - Entries in
prodthat are missing fromstagingare deleted. - A new
prodrelease is built in the background. Watch the prod release list for it to reach completed.
Player data in prod, including player-scoped resource rows, is not touched. Promotion runs in one transaction; if it fails, prod is unchanged.
Roll back
Section titled “Roll back”Open Releases, find the last good version and click Rollback:
- The target must be completed and still have its snapshot.
- The environment’s counters, module installs and project-scoped rows are replaced with the snapshot contents.
- A new release row is created for the rollback, so it can be rolled back again.
Rollback does not revert player data. Rewards granted in the meantime stay granted.
What the SDKs cache
Section titled “What the SDKs cache”- All SDKs keep
player,catalog(currencies) andstoragein memory and poll revisions every 30 seconds (±20% jitter); the C# SDK polls when you runclient.Sync, and the Unity component runs it for you. A completed release bumps the catalog revision, so new currencies reach connected clients within about half a minute. Callreload()/ReloadAsync()to refetch immediately. - Module calls (
client.modules.call,client.Modules.CallAsyncand generated clients) are never cached, so rows you change are visible to the module on the next call.
Limits and edge cases
Section titled “Limits and edge cases”- Only completed releases change the runtime. A building or failed release leaves the current counters in place.
- One build at a time per environment in the dashboard.
prodis read-only in the dashboard. Change content instagingand promote.- Scheduled module functions run in both environments against each environment’s own installs and rows.