This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
Affected surfaces
Summary
AI summaryUpdates Behavior, Upgrade notes, and Fixes & internals across a mixed release.
Full changelog
Two main themes in this release:
- OCSP stapling (Pro) — certificate monitors now capture the OCSP staple presented during the TLS handshake and raise a critical alert the moment a certificate is reported revoked.
- Status page on a dedicated subdomain — host the public status page at
status.example.com/with a clean URL, full personalization, and a single new env var.
OCSP stapling :material-crown: (Pro)
Revoked certificates can no longer hide behind a still-valid expiration date. Every certificate check — whether it comes from a standalone monitor or is auto-detected through an HTTPS endpoint — now captures the OCSP staple presented during the TLS handshake.
The captured fields are persisted on each check and exposed via the API:
| Field | Meaning |
|-------|---------|
| ocsp_status | good, revoked, unknown or error |
| ocsp_produced_at | Timestamp when the OCSP response was issued |
| ocsp_next_update | Timestamp until which the staple is considered fresh |
| ocsp_revoked_at | Set when the responder reports a revocation |
| ocsp_parse_error | Set when the staple is present but unparseable |
Behavior
revokedemits a newocsp_revokedcritical alert through the existing pipeline — triggers, escalations, silences, and acknowledgments all apply without any extra configuration.- Stale staples (
NextUpdatein the past) downgrade tounknownand never alert, avoiding noise during responder outages. - No staple presented is treated as
unknown— also silent. Pinging the OCSP responder out-of-band is out of scope. ocsp_revokedis resolved automatically the next time a check returnsgood(rotation deployed).
UI
The SSL Certificates surface gains:
- A dedicated OCSP block in the slideover detail (status badge, produced-at / next-update, parse error message).
- An OCSP badge on certificate cards — shown only when the status is
revokedorerror, so green and unknown stay quiet. - A new History tab on the slideover that renders the per-check history (status dot, days remaining, OCSP badge) from
GET /api/v1/certificates/{id}/checks. - Humanized alert labels in Active alerts and the Alerts list:
ocsp_revokedshows as "Certificate revoked (OCSP)".
Edition gating
OCSP stapling is a Pro feature. Capture runs in Community to keep the code path simple, but persistence, API exposure, and alert emission are skipped unless the Pro edition is active. A new ocsp_stapling feature flag is exposed on GET /api/v1/edition; Community users see a Pro teaser in the OCSP block instead of an empty section.
Migration
Migration 20_cert_ocsp adds five nullable columns to cert_check_results. Existing rows are unaffected. The down.sql is a no-op (SQLite < 3.35 does not support DROP COLUMN); rolling back means staying on v1.2.12.
Status page on its own subdomain
The public status page can now be hosted at its own URL (e.g. https://status.example.com/) with no visible /status in the address bar. It is served by the Vue SPA, so all personalization features introduced in v1.2.11 (branding, palette, announcement banner, footer, FAQ, localization) render on both same-domain and subdomain deployments.
MAINTENANT_STATUS_URL
A new optional environment variable that declares the canonical, externally-reachable URL of your status page:
MAINTENANT_STATUS_URL=https://status.example.com
It is exposed to the frontend through GET /api/v1/edition as status_url and surfaced via the useEdition().statusURL composable. The admin UI uses it for the View public status page link in /status-admin, with a fallback to /status when the variable is not set — so existing single-domain deployments continue to work unchanged.
Subdomain routing
When the status page is served from its own subdomain, the Vue router detects the dedicated-status context and mounts PublicStatusPage at /, so visitors see a clean address bar with no redirect flash.
For deployments behind Traefik, the recommended middleware is replacepathregex (only rewriting the root / to /status/) rather than addprefix — this keeps SPA asset paths (/assets/...) and SSE endpoints (/status/events) intact:
http.routers.maintenant-status.rule: "Host(`status.example.com`)"
http.routers.maintenant-status.middlewares: "status-rewrite@docker"
http.middlewares.status-rewrite.replacepathregex.regex: "^/$"
http.middlewares.status-rewrite.replacepathregex.replacement: "/status/"
Fixes & internals
- Certificate checks listing —
GET /api/v1/certificates/{id}/checksnow exposesdays_remainingin the JSON payload (previously omitted because it was a method, not a field). alert_advanced_filtersfeature flag — surfaced on the edition endpoint so the frontend can gate Pro-only trigger filters (scopes, tags) without a separate edition call.- Status page assets — fixed double-prefix 404s on CSS and SSE paths when Traefik
addprefix=/statuswas used; the favicon request is suppressed to avoid spurious 404s. - TriggerManager refactor — per-trigger rendering, channel-name lookup, and filter summarization extracted into a dedicated
TriggerList.vuecomponent. Pure refactor, no behavior change.
Upgrade notes
- OCSP stapling: nothing to configure — the feature activates automatically on Pro the moment v1.2.13 starts. Migration
20_cert_ocspruns at startup. The first check after upgrade will populate OCSP fields where a staple is present. - Status page (single-domain setups): nothing to do —
MAINTENANT_STATUS_URLis optional and the admin link falls back to/status. - Status page (subdomain setups): set
MAINTENANT_STATUS_URL=https://status.example.comand route the subdomain to the same backend. If you use Traefik, preferreplacepathregex(^/$→/status/) overaddprefix=/statusso SPA assets and SSE paths are not double-prefixed.
Documentation
- Updated: Certificates, Configuration, Status Page.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]