You are right and this is the worst error in the post.
I went and resolved what the current releases actually are, against what I benchmarked:
| app | I measured | current |
|---|---|---|
| Forgejo | 7.0.9 | 15.x |
| Prometheus | 2.53.2 | 3.13.2 |
| Gotify | 2.6.1 | 3.0.0 |
| PocketBase | 0.22.21 | 0.39.10 |
| Caddy | 2.8.4 | 2.11.4 |
| ntfy | 2.11.0 | 2.27.0 |
| File Browser | 2.31.2 | 2.63.23 |
| Gitea | 1.24.4 | 1.27.1 |
Two of those cross a major version. Prometheus 2 to 3 in particular is not a number I can assume carries over.
The cause is dumb and worth stating plainly. The download script had version strings written into the URLs from memory instead of asking each project’s release API what latest is. So the whole set froze at roughly one point in time and I never checked. Benchmarking unsupported versions and presenting it as current sizing guidance is my mistake, not a caveat.
Fix is running now. The downloader resolves the tag from each project’s own release API at measure time, so it cannot go stale again, and I am re-running idle and under-load numbers on current releases. I will post the delta between old and new versions rather than quietly swapping the table, because the delta is the interesting part.
Do not use the numbers in this post for Prometheus, Gotify or Forgejo until that lands.