[1.9.0] - 2026-07-19
Upgrade notes
- Container-only upgrades require no configuration or volume migration. Existing image consumers can continue using their current environment and container invocation. The public
/api/healthendpoint and Docker image health check retain their existing liveness behavior. - Detailed-health monitoring now includes resolver failures. Consumers of authenticated
/api/health/detailedmay see a node reported as unhealthy when its Technitium API is reachable but its DNS resolver health check fails. The response addsdnsResolution; pre-v15.3 nodes and sessions withoutDnsClient: Viewremain API-healthy and reportunsupportedorunavailablerespectively. - The repository Compose file requires Docker Compose 2.24 or later. It uses optional environment-file overlays so
.env.examplecan provide documented, backward-compatible defaults while.envremains the single user configuration source. Existing container names, networks, port bindings, timezone, and storage paths are preserved. - Compose log retention and hardening are now explicit. The stock service drops all Linux capabilities, enables
no-new-privileges, and rotates localjson-filelogs at three 10 MB files by default. The published image was validated with these restrictions; deployments that replace its entrypoint or add privileged integrations should review them before adopting the updated Compose file. Log limits are configurable through.env.
Added
- Scheduled Advanced Blocking configuration sync. Standalone deployments can periodically detect configuration drift, copy the complete Advanced Blocking configuration from a designated source node to selected targets, snapshot targets before writes, and notify operators of failures.
- Snapshot attribution. Configuration, DHCP, DNS Filtering, and zone snapshot history now identifies the user or background process responsible for each change.
- Live Technitium v15 compatibility matrix. A new opt-in Nest integration suite and GitHub Actions workflow exercise Companion login, status, settings/version, zone listing, and cluster discovery against the v15.3 minimum and latest supported v15 container.
- Resolver-aware detailed health. Authenticated node diagnostics now include Technitium's DNS resolution health result when supported.
Changed
- Technitium DNS v14 and earlier are now deprecated. Companion 1.x keeps existing deployments functional on a best-effort basis and surfaces an actionable Overview warning. Companion 2.0 will require Technitium DNS v15.3 or later, with removal planned no earlier than late October 2026.
- Docker Compose configuration is centralized in
.env. The Compose file loads the fully commented.env.exampledefaults first and overlays an optional.env, avoiding split user configuration and preserving the released deployment defaults. Obsolete v13/v14 sample files have been retired so.env.exampleis the single authoritative configuration reference. - Application and documentation branding is refreshed. The new product icon is used across PWA/browser assets, the application header, the About dialog, and the published MkDocs site.
- Repository Git hooks are consolidated under
.githooks. The existingpreparescript now activates both the protected-branch pre-commit check and the full-workspace pre-push tests. - Remote-container development is treated as a personal workflow. Incomplete public examples and documentation for the untracked local setup have been removed from the supported contributor surface.
Fixed
- Technitium v14/v15 authentication remains interoperable. Authenticated API requests preserve the legacy query token while also sending the v15-preferred Bearer header.
- DNS Override precedence guidance stays dismissed. Acknowledging the precedence note now persists across navigation and reloads instead of reappearing immediately.