Release stats
How often Discord ships web client builds, how long a canary build takes to reach PTB and stable, when releases tend to land, and how the bundle grows over time.
Builds come from datamining commits, deploys from each channel's /app page. All times are UTC.
Deploy and bundle logging started Nov 9, 01:11 UTC, so promotion lag, release times and bundle growth only cover a few hours plus the current channel builds. They fill in as syncs run every 10 minutes. Builds per day come from datamining commit dates and go back to Nov 3, 2026.
Promotion lag
PTB 1h 1m stable 1h 8m medianPTB and stable builds are their own CI builds, so their exact number rarely runs on canary first. Lag is measured from the newest canary build numbered at or below the promoted build (the newest canary code it can contain) to the deploy's Last-Modified time. "Interval" is the time since that channel's previous deploy.
| Channel | Build | Deployed | Lag | Interval |
|---|---|---|---|---|
| PTB | 668923 | Nov 9, 08:22 UTC | 54m | 2d 23h |
| PTB | 667580 | Nov 6, 08:23 UTC | 1h 8m | – |
| Stablewith PTB | 667580 | Nov 6, 08:23 UTC | 1h 8m | – |
Only 3 deploys logged so far; medians mean little until there are a few weeks of them.
Builds per day
7 days, from datamining commits| Tue Nov 3 | 47 builds |
|---|---|
| Wed Nov 4 | 141 builds |
| Thu Nov 5 | 165 builds |
| Fri Nov 6 | 201 builds |
| Sat Nov 7 | 42 builds |
| Sun Nov 8 | 9 builds |
| Mon Nov 9 | 21 builds |
Last 14 days
With datamining notes
Canary deploys
per day| Nov 8 | 3 deploys |
|---|---|
| Nov 9 | 3 deploys |
Changes of the build number on canary.discord.com/app, checked every 10 minutes. Several builds inside one interval count once, so this runs below the commit count on the left.
When builds land
weekday by hour, UTC, 7 days| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mon | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 2 | 0 | 2 | 2 | 1 | 0 | 4 | 1 | 1 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Tue | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 14 | 12 | 14 |
| Wed | 19 | 10 | 2 | 5 | 4 | 2 | 4 | 0 | 1 | 0 | 0 | 0 | 3 | 1 | 2 | 6 | 8 | 10 | 6 | 8 | 9 | 12 | 14 | 15 |
| Thu | 15 | 16 | 17 | 10 | 5 | 2 | 2 | 3 | 0 | 1 | 0 | 1 | 1 | 2 | 0 | 0 | 2 | 15 | 15 | 16 | 10 | 8 | 11 | 13 |
| Fri | 15 | 16 | 14 | 2 | 6 | 1 | 4 | 2 | 1 | 0 | 1 | 0 | 0 | 4 | 3 | 6 | 7 | 16 | 16 | 14 | 11 | 20 | 20 | 22 |
| Sat | 20 | 8 | 5 | 2 | 1 | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| Sun | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 3 |
7 days of commits so far, so each weekday row covers 1 day of that weekday.
Stable and PTB releases
1 stable · 2 PTBStable by weekday
Stable by hour
| 00:00 UTC | 0 deploys |
|---|---|
| 01:00 UTC | 0 deploys |
| 02:00 UTC | 0 deploys |
| 03:00 UTC | 0 deploys |
| 04:00 UTC | 0 deploys |
| 05:00 UTC | 0 deploys |
| 06:00 UTC | 0 deploys |
| 07:00 UTC | 0 deploys |
| 08:00 UTC | 1 deploys |
| 09:00 UTC | 0 deploys |
| 10:00 UTC | 0 deploys |
| 11:00 UTC | 0 deploys |
| 12:00 UTC | 0 deploys |
| 13:00 UTC | 0 deploys |
| 14:00 UTC | 0 deploys |
| 15:00 UTC | 0 deploys |
| 16:00 UTC | 0 deploys |
| 17:00 UTC | 0 deploys |
| 18:00 UTC | 0 deploys |
| 19:00 UTC | 0 deploys |
| 20:00 UTC | 0 deploys |
| 21:00 UTC | 0 deploys |
| 22:00 UTC | 0 deploys |
| 23:00 UTC | 0 deploys |
PTB by hour
| 00:00 UTC | 0 deploys |
|---|---|
| 01:00 UTC | 0 deploys |
| 02:00 UTC | 0 deploys |
| 03:00 UTC | 0 deploys |
| 04:00 UTC | 0 deploys |
| 05:00 UTC | 0 deploys |
| 06:00 UTC | 0 deploys |
| 07:00 UTC | 0 deploys |
| 08:00 UTC | 2 deploys |
| 09:00 UTC | 0 deploys |
| 10:00 UTC | 0 deploys |
| 11:00 UTC | 0 deploys |
| 12:00 UTC | 0 deploys |
| 13:00 UTC | 0 deploys |
| 14:00 UTC | 0 deploys |
| 15:00 UTC | 0 deploys |
| 16:00 UTC | 0 deploys |
| 17:00 UTC | 0 deploys |
| 18:00 UTC | 0 deploys |
| 19:00 UTC | 0 deploys |
| 20:00 UTC | 0 deploys |
| 21:00 UTC | 0 deploys |
| 22:00 UTC | 0 deploys |
| 23:00 UTC | 0 deploys |
1 stable deploy logged. A weekday pattern needs a couple of months.
Lazy chunks
3 crawls with a changed list
Files the web client's webpack runtime can load on demand, read from current.js on each new build. Filenames are content hashes, so an edited chunk
shows up as one removed and one added. "Experiments" counts experiment definitions found inside lazy chunks rather than the entry scripts.
| 668885 · 6,401 chunks | 2 |
|---|---|
| 668969 · 6,400 chunks | 1 |
| 669021 · 6,400 chunks | 1 |