Highlights
- Add ClouDNS DNS provider for ACME DNS-01 challenges (#260)
- Show the application version in the web GUI (#259): release Docker builds bake the git tag into the app, displayed in the sidebar logo block (desktop + mobile drawer) and under the login card. The same constant now feeds the OpenAPI spec version instead of the previously hardcoded 1.0.0.
- Fix OAuth link/unlink not synchronizing
users.providerandusers.subject(#261): the Profile page could show an account as not linked even though OAuth sign-in worked, and kept claiming it was linked after unlinking. The identity columns are now re-derived from the authoritativeaccountstable on link/sign-in and after unlinking, the Profile page derives its connection state fromaccountsdirectly, and a one-time repair migration fixes existing deployments. - Fix WAF timestamps flipping between dots and slashes after refresh (#233): locale- and timezone-dependent rendering made the server (UTC) and the browser disagree after a full page reload. Formatting is now pinned to en-GB/UTC across the WAF events page (table, drawer, mobile cards), the audit log and the analytics blocked-events table, and WAF custom-range filters use UTC to match the displayed timestamps — headers and inputs are labelled "(UTC)".
- Clarify secret decryption errors with component context (#263): error messages now name the stored value that failed to decrypt (DNS provider credential, OAuth provider secret, instance API token, certificate private key), explain the likely cause (the
SESSION_SECRETchanged) and how to recover.
Changes
- 04a75e7 Clarify secret decryption errors with component context (#263)
- 54816f3 Fix OAuth link/unlink not synchronizing users.provider and users.subject (#261)
- 15449c0 Show application version in the web GUI (#259)
- a52e537 caddy: bump google.golang.org/grpc in /docker/caddy (#262)
- 18a1073 Fix timezone-dependent epoch expectations in WAF period filter test
- 1f99a7f Add ClouDNS DNS provider for DNS-01 challenges (#260)
- cd74731 Fix WAF timestamps flipping between dots and slashes after refresh (#233)
Full Changelog: v1.10.0...v1.11.0