Skip to content

Releases: Atlas-Commons/home-assistant-technitiumdns

v3.0.0-Beta.1

22 May 16:37
c7c8768

Choose a tag to compare

v3.0.0-Beta.1 Pre-release
Pre-release

Release Notes — 3.0.0-Beta.1

Disclaimer: These release notes were AI-generated.

Compared to: v2.4.4

This is a major beta release. The biggest change is replacing the bundled api.py client with the published technitiumdns-api package, plus several user-facing improvements from open GitHub issues.


Highlights

  • PyPI API client — all Technitium API calls now go through technitiumdns-api (installed automatically by Home Assistant)
  • Cluster statistics — optional cluster mode at setup for aggregate stats across a Technitium cluster (#76)
  • Smarter ad blocking switch — switch state now reflects temporary disable buttons and auto-recovers when the timer expires (#66)
  • Configurable stats refresh rate — choose how often DNS statistics sensors poll (30s–5min), separate from the stats time window (#74)

New Features

Technitium API via PyPI (technitiumdns-api)

  • Removed the 680+ line embedded api.py
  • Added client.py (HA session–aware AsyncClient factory) and dns_logs.py (device-tracking log helpers)
  • Uses typed API models for dashboard stats, settings, DHCP leases, update checks, and DNS app query logs
  • Shares Home Assistant’s pooled aiohttp session (no duplicate HTTP clients)

Cluster Mode (Issue #76)

  • New Use cluster aggregate statistics checkbox during integration setup
  • When enabled, all API calls pass node=cluster for cluster-wide dashboard statistics
  • Defaults to off for single-node installs

Statistics Update Interval (Issue #74)

  • New option under Configure → Statistics Update Interval: 30, 60, 120, or 300 seconds (default: 60)
  • Clarifies the difference between:
    • Statistics duration (setup) — the stats window (LastHour, LastDay, etc.)
    • Statistics update interval (options) — how often sensors refresh
  • Update-available check remains hourly (unchanged from 2.4.x)

Ad Blocking Switch Improvements (Issue #66)

  • Switch now shows the effective blocking state, not just enableBlocking on first load
  • Shows off while a temporary disable timer is active (5 min / 10 min / etc. buttons)
  • Automatically returns on when the timer expires (polled every 30 seconds)
  • Turning the switch on during a temp disable re-enables blocking immediately (matches Technitium server behaviour)
  • New attribute: temporary_disable_until while a timer is active

Bug Fixes & Improvements

  • Fixed DHCP connection test in options flow missing SSL verification parameter
  • Config flow now uses proper InvalidTokenError / TransportError handling instead of generic failures
  • Improved config entry migration to version 4 (adds cluster_mode: false automatically)
  • Updated README, migration guide, strings, and all translation files for new options

Breaking Changes & Migration

Area 2.4.4 3.0.0-Beta.1
API client Bundled api.py PyPI technitiumdns-api>=0.1.1
manifest.json requirements aiohttp>=3.9.0 technitiumdns-api>=0.1.1
Config entry version 3 4
New config data key cluster_mode (default: false)
New option stats_update_interval (default: 60)

Upgrade steps:

  1. Update via HACS or copy the new custom_components/technitiumdns folder
  2. Restart Home Assistant (or reload the integration)
  3. Migration runs automatically — no reconfiguration required for existing installs
  4. Optional: open Configure to set statistics update interval or enable cluster mode (requires re-setup or manual config entry edit for cluster mode on existing entries)

Note: First load after upgrade may take slightly longer while Home Assistant installs technitiumdns-api from PyPI.


Not in This Release

  • Advanced Blocking controls (#75) — planned for a follow-up release using apps.get_config / apps.set_config via technitiumdns-api

Technical Summary

Files changed since v2.4.4: 19 files, ~1,000 net lines removed (mostly deleted api.py)

New files:

  • custom_components/technitiumdns/client.py
  • custom_components/technitiumdns/dns_logs.py

Removed:

  • custom_components/technitiumdns/api.py

Testing Checklist (Beta)

Before promoting to stable, please verify:

  • Fresh setup with valid/invalid token and SSL on/off
  • Cluster mode on a multi-node Technitium cluster
  • DNS statistics sensors update at the chosen interval
  • Ad blocking switch + temporary disable buttons behave correctly
  • DHCP device tracking and DNS log–based last-seen still work (with a query-logging DNS app installed)
  • Upgrade from 2.4.4 without losing config

Links

v2.4.4

12 Jan 12:56
dc69248

Choose a tag to compare

What's Changed

Full Changelog: v2.4.3...v2.4.4

v2.4.3

02 Dec 14:13
db8faf2

Choose a tag to compare

What's Changed

  • Check for updates hourly rather than every minute by @DigitallyRefined in #64
  • Fix deprecated config_entry explicit assignment for HA 2025.12 compatibility by @Copilot in #69
  • 2.4.3 by @Amateur-God in #70

New Contributors

Full Changelog: V2.4.1...v2.4.3

v2.4.3-Beta.1

02 Dec 13:56
d354152

Choose a tag to compare

v2.4.3-Beta.1 Pre-release
Pre-release

What's Changed

  • Fix deprecated config_entry explicit assignment for HA 2025.12 compatibility by @Copilot in #69

New Contributors

  • @Copilot made their first contribution in #69

Full Changelog: v2.4.2-Beta.1...v2.4.3-Beta.1

v2.4.2-Beta.1

24 Sep 01:22
b98ba4e

Choose a tag to compare

v2.4.2-Beta.1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: V2.4.1...v2.4.2-Beta.1

v2.4.1

24 Sep 01:21
0a51e7c

Choose a tag to compare

What's Changed

Full Changelog: v2.4.0...V2.4.1

v2.4.1-Beta.2

28 Jul 13:47
e44fa0d

Choose a tag to compare

v2.4.1-Beta.2 Pre-release
Pre-release

v2.4.1-Beta.1

28 Jul 11:40
d0feeb9

Choose a tag to compare

v2.4.1-Beta.1 Pre-release
Pre-release

Full Changelog: v2.4.0...v2.4.1-Beta.1

v2.4.0

25 Jul 01:50
38b9de7

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.3.0...v2.4.0

v2.4.0-Beta.5

23 Jul 15:48
d739cbf

Choose a tag to compare

v2.4.0-Beta.5 Pre-release
Pre-release