• v0.0.16
    Gates / frontend (push) Successful in 1m57s
    Gates / test (push) Successful in 2m34s
    Gates / test-aarch64 (push) Successful in 8m9s
    Gates / package (push) Successful in 7m14s
    Gates / container (push) Successful in 17s
    CI / gates (push) Successful in 18m17s
    Release / guard (push) Successful in 33s
    Gates / test-aarch64 (push) Successful in 7m22s
    Gates / container (push) Successful in 11s
    Release / gates (push) Successful in 10m35s
    Gates / frontend (push) Successful in 2m8s
    Gates / test (push) Successful in 2m16s
    Gates / package (push) Successful in 44s
    Release / publish (push) Successful in 10m4s
    Stable

    mokhtar released this 2026-09-07 22:05:41 +00:00 | 19 commits to master since this release

    The Overview page is redesigned around the two dashboards people already know — Pi-hole's layout, NextDNS's charts — and every number in the admin is spelled one way.

    Changed

    • Overview reads like an analytics dashboard. Four centred totals (queries, blocked, active clients, and the blocked share), a smooth area chart of total and blocked queries where hovering marks the point and shows its figures beside it, a stacked client-activity chart in eight distinct hues with everything else as one gray band, and a row of cards under them: the cache hit rate as a progress bar, the query types as a single-hue ring, and the upstream breakdown.
    • Overview can be scoped to one device. A device selector sits beside the period selector; both are URL state, so /overview?period=7d&client=192.0.2.30 is a link to exactly that view. The API takes the same client parameter on GET /api/overview, and the tile links carry the scope into Activity.
    • One formatting contract. Counts are thousands-grouped, percentages always show two decimals (15.44%, never 15.4%), rates one decimal, and durations their two largest nonzero units ("6d 4h", "12m 5s", "6d 5s"). A test sweeps the sources for any number formatted outside the one module.
    • A quieter, more consistent chrome. One 4px corner radius everywhere, cards with a prominent title and a one-line description, the sidebar grouped into Monitoring and System with a status block at its foot (protection, queries per minute on Overview, uptime), and a top bar in place of the sidebar on narrow screens. The active navigation item and the accent blue are darkened to clear WCAG AA on their washes.

    Artifacts

    c682f6801aace3e1529b9a5e181abfc24fa3f421395bcc03aee19f9bcc6c908e  nxdns-0.0.16-x86_64-linux-musl.tar.gz
    0bfff7496e26bd10cd175a7e1e93e2ce94c1a2c3efa23348776b6258f44abb7f  nxdns-0.0.16-aarch64-linux-musl.tar.gz
    5ed07ca8e33c299669788e238e260c7f2a3db659f59e23f48c1ecf2331fb7569  IMAGE-DIGEST.txt
    
    git.mial.net/mokhtar/nxdns:0.0.16@sha256:e5b7360d4cc6d6f32e77094c554103978ce875893613d84aad25935a9e940966
    

    Compare v0.0.15...v0.0.16

    Commits since v0.0.15
    85b8be5 admin: overview redesign, device scope, one formatting contract (milestone 39)
    e656670 admin: ui polish pass, thirty findings from the emil audit
    
    Downloads