Stable releases of August 4, 2026¶
Everything that shipped on the stable channel on August 4, 2026 — v2.6.57 through v2.6.62, newest first. v2.6.62 is what you install; the versions below it are how you get there.
Stable v2.6.62¶
- fix(provisioning): first site on a fresh install no longer fails + rolls back
- feat(sites): Site Doctor Phase 2 — auto-monitoring, history, more one-click fixes
- feat(sites): Site Doctor shows the actual PHP errors under collapsible details
- fix(agent): detect per-customer FPM pool by pool.conf, not template is-enabled
- fix(metrics): admin resource dashboard throttle badge is also delta-based
- feat(sites): Site Doctor Phase 1b — server-side signals, one-click PHP restart
- feat(sites): add Site Doctor — per-site health diagnosis with one-click fixes
Stable v2.6.61¶
- feat(cra): proactive CVE feed refresh worker + notification
Stable v2.6.61¶
- docs(email): add compromised-account auto-suspend section (DE+EN)
- fix(import): import log/progress messages in English, not German
- docs: close documentation gaps from the docs audit (v2.6.30–2.6.60)
- fix(import): only the migrating customer's button spins, not all of them
- feat(mail): DMARC aggregate report collection + dashboard (RFC 7489)
Stable v2.6.60¶
- fix(mail): clear stale Maildir subscriptions on resync so strict clients see folders
Stable v2.6.59¶
- fix(channel): use apt-cache madison, not policy Candidate, for the align target
- fix(php): ensureSuryRepo was dead on existing servers — call it top-level
- fix(channel): force version alignment when switching apt channel
- fix(php): converge the sury repo onto one sources file (no apt dup warnings)
Stable v2.6.58¶
- fix(packages): remove the Toolkits tab entirely — one Extensions list
- fix(packages): hide the Toolkits/Extensions tab when it has no cards
- fix(notifications): delivery log rendered empty (double-unwrapped response)
Stable v2.6.57¶
- fix(hardening): heal root-owned subdomains/ container on agent start
- fix(import): detach re-migration paths from the HTTP request context
- fix(notifications): only alert on sustained resource throttling, not a spike
- fix(dkim): serve the bare TXT value, not rspamadm's BIND zone output
- fix(constraints): DB-governor nonneg checks belong to packages, not reseller_plans
- feat(packages): DB query/CPU governor — queries-per-hour + statement timeout
- feat(mail): TLS-RPT per domain (RFC 8460) DNS publishing
- feat(packages): inode quota limit (MaxInodes) enforced via setquota
- feat(notifications): bridge failed systemd units into the notification center
- feat(notifications): per-event delivery channels (in-app / email / webhook)