Repository navigation
Releases
DigitDNS v5.8.15 — complete DNS, relay and ad blocking
DigitDNS v5.8.15 — quiet switches, a calm live log
A UI polish release on top of v5.8.14. No database schema migration is required;
existing settings, clients, blocklists, certificates, relay agents, egress
options and stored query history are preserved.
Fixed
- Server-backed switches no longer animate when a page opens. They were
rendered in the markup as off and corrected only after the settings fetch
returned, so every visit replayed an OFF→ON slide. The six affected switches —
Enable ad blocking, Relay mode, query-log Enabled, alerts Enabled,
Public/Whitelist mode and Single upstream resolver — now start hidden with
their space reserved and are revealed already carrying the saved value. A
failed read reveals the markup state instead of leaving an invisible control. - The live-log status pill no longer flickers or shifts the toolbar. Every
dropped EventSource used to paint three labels in a row —Reconnecting…from
the error,Pollingfrom the REST fallback,Livefrom the 1-second
reconnect — and because the label changes width, the Pause/Clear buttons moved
with it. Degraded states are now delayed: the current label holds through the
first backoff,Reconnecting…appears after 1.5 s, andPollingonly after
12 s if the fallback is actually carrying the log. Any delivered frame restores
Livein one step. The pill also has a fixed width for every label. - An idle stream is no longer labelled
Polling. Opening the Logs tab, or
returning to the browser, used to start the REST fallback whenever no query had
arrived for three seconds — even though the EventSource was open and healthy.
The fallback now starts only when the socket is not open; the buffered-stream
check at connect time still detects a proxy that swallows the stream. - Android: the live-log connection chip moved to the right edge of the filter
row. It used to sit at the end of the scrolling Reload/Sort/Pause/Clear row,
which put it off-screen on a phone exactly when it mattered. The action chips
scroll; the status stays pinned and visible.
Changed
- The AdGuard rules field grows with the window. The Ad Blocking page's left
column ended in dead space under the rule tester while the blocklist card ran
to the bottom. The policy card now fills that height and the Custom filtering
rules textarea absorbs it (minimum 9 rem, still resizable), so both columns end
level at any window height. On a short window the card keeps its content height
and the column scrolls instead of compressing the fields.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.15 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.15/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.15
docker pull ghcr.io/digitrob/digitdns-agent:5.8.15
docker pull robmeister/digitdns:5.8.15
docker pull robmeister/digitdns-agent:5.8.15Stable release (v5.8.15).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.14...v5.8.15
DigitDNS v5.8.14 — complete DNS, relay and ad blocking
DigitDNS v5.8.14 — query history parity and a live log that tells the truth
A polish and correctness release on top of v5.8.13. No database schema migration
is required; existing settings, clients, blocklists, certificates, relay agents,
egress options and stored query history are preserved.
Added
- Query history is paged, not truncated.
/api/query-lognow returns a
cursor (next_cursor/has_more) built from the stored record key, so both
the web dashboard and the Android app can page through the whole retention
window instead of seeing the newest slice and nothing else. One page is 100
records by default, 500 at most. - Full-answer history on Android. History rows open the same DNS-response
dialog as the live log: answer chain with TTLs, response code, latency,
transports, cache state, upstream, block source and relay. Both screens now
share oneDnsDetailsmodel, so the two views cannot drift apart. - Filters that match the data. Query history gained time range, query type,
response code and cache-state filters on both clients, alongside the existing
domain, client, action and protocol filters. Query type and response code are
accepted as either wire numbers (28) or names (AAAA). - Visible connectivity. The live log has a status pill that says
Live,
Connecting,Reconnecting,PollingorOffline. The Android live log
shows the stream state it was already tracking but never displayed. The panel
reacts to the browser going offline and reconnects immediately when the network
returns instead of waiting out the 30-second backoff. - Storage is visible and bounded. The query-log card shows how many records
are stored and how much space they occupy against the configured cap, and the
cap is now editable (64 MB to 2 GB). Cleanup enforces a storage cap.
Changed
- CSV and JSON exports stream the whole result set — up to 100 000 records —
instead of the first 1000 rows, and report truncation in an
X-Query-Log-Truncatedtrailer when the ceiling is reached. CSV gained
qtype_name,rcode_name,upstream,resolved_ipsandanswers. - The fallback poll revalidates.
/api/stream/recentserves an ETag, so the
two-second fallback costs a 304 with no body when the ring has not changed. - Query-log cleanup runs every 15 minutes and deletes in bounded batches, so a
large retention sweep no longer stalls the store. - The mobile DNS-response panel becomes a full-width bottom sheet; the desktop
popover keeps its caret and stays anchored beside the (i) button.
Fixed
- Saving query-log settings no longer resets fields the form does not edit.
The web card used to sendopt_out: []andmax_mb: 256on every save,
silently un-excluding every opted-out client and resetting the storage cap. - Time filtering honours both bounds. The descending walk now breaks at the
lower bound and skips rows newer than the upper bound; an upper bound used to
return nothing. - Clearing history survives a pending flush.
Clearis routed through the
writer goroutine, so a batch already queued cannot land after the delete. - Records are serialised before the write transaction opens, shortening the
time the query store is write-locked.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.14 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.14/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.14
docker pull ghcr.io/digitrob/digitdns-agent:5.8.14
docker pull robmeister/digitdns:5.8.14
docker pull robmeister/digitdns-agent:5.8.14Stable release (v5.8.14).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.13...v5.8.14
DigitDNS v5.8.13 — complete DNS, relay and ad blocking
DigitDNS v5.8.13 — live-log DNS response detail
A feature release on top of v5.8.11. No database schema migration is required;
existing settings, clients, blocklists, certificates, relay agents and egress
options are preserved.
Added
-
See what a query actually resolved to, from the live log. Both the web
dashboard and the Android app can open a DNS-response panel for any row. It
shows the answer section in the order the resolver returned it — the CNAME
chain followed by the address records, each with its own TTL:Response code NOERROR Response CNAME: proud-forest-0346aa81e.4.azurestaticapps.net. (ttl=30) CNAME: azurestaticappstm4.trafficmanager.net. (ttl=30) A: 51.105.228.104 (ttl=30)It also carries the processing latency, the client and upstream transports,
the cache state, the query type, the block source and the relay. -
Web popover. Hovering the (i) button in the ACTION column opens a panel
anchored beside it, with a caret pointing at the button. The pointer can move
into the panel; moving away closes it. Values keep the same protocol colours
used everywhere else in the panel. -
Android dialog. Tap the domain on a live-log row to open a compact
DNS-response dialog; long-press still copies the domain. The per-row info
button was removed, so the row keeps its width for the domain.
Changed
- Sub-millisecond latency is shown, not rounded. Cache hits, blocks and
proxied names are usually answered in well under a millisecond and used to read
0 ms; they now read values such as0.042 ms. - Answer records are grouped under one Response field, one record per line,
instead of repeating the label for each address. - Labels: Latency, Response code, Response, Query Type; block
categories are spelled Ads, Tracker, Malware.
Fixed
- Blocked queries no longer show the null-IP sinkhole (
0.0.0.0) as a
resolved answer. A block is a policy reply, not a resolution. - DNSCrypt keeps readable contrast on the light theme in the response panel.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.13 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.13/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.13
docker pull ghcr.io/digitrob/digitdns-agent:5.8.13
docker pull robmeister/digitdns:5.8.13
docker pull robmeister/digitdns-agent:5.8.13Stable release (v5.8.13).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.12...v5.8.13
DigitDNS v5.8.12 — complete DNS, relay and ad blocking
DigitDNS v5.8.11 — Android sinkhole status alignment
A patch release on top of v5.8.10. No database schema migration is required;
existing settings, clients, blocklists, certificates, relay agents and egress
options are preserved.
Fixed
- Android: the folded Custom Blocklist (Sinkhole) row now puts its Blocked pill
in the right-hand status column. It used to sit immediately after the
chevron, on the left, while every domain row below carried its status pill on
the right. The group row now lays the title/count out first and reserves the
same gap + switch width as a domain row, so the Blocked pill lines up with the
DIRECT/PROXY/BLOCKED pills it summarises. The pill width is shared with the row
pills, so the column stays consistent at every font scale.
Also in this line (v5.8.10)
- Type scale. The stylesheet gained a named text-size scale
(--text-2xxs…--text-2xl, with line-height variants) and every hard-coded
font-size: Npxwas replaced with a token reference, so type adjustments are
one-token changes rather than a sweep. - Semantic button intents.
.btn-primary,.btn-ghostand.btn-softcarry
their own token-based colours and render correctly on dark, light and grey
without per-theme overrides. They replace the brittle
[data-theme="grey"] button[class*="bg-cyan-500/"]substring selectors.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.11 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.11/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.11
docker pull ghcr.io/digitrob/digitdns-agent:5.8.11
docker pull robmeister/digitdns:5.8.11
docker pull robmeister/digitdns-agent:5.8.11Stable release (v5.8.12).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.11...v5.8.12
DigitDNS v5.8.11 — complete DNS, relay and ad blocking
DigitDNS v5.8.11 — Android sinkhole status alignment
A patch release on top of v5.8.10. No database schema migration is required;
existing settings, clients, blocklists, certificates, relay agents and egress
options are preserved.
Fixed
- Android: the folded Custom Blocklist (Sinkhole) row now puts its Blocked pill
in the right-hand status column. It used to sit immediately after the
chevron, on the left, while every domain row below carried its status pill on
the right. The group row now lays the title/count out first and reserves the
same gap + switch width as a domain row, so the Blocked pill lines up with the
DIRECT/PROXY/BLOCKED pills it summarises. The pill width is shared with the row
pills, so the column stays consistent at every font scale.
Also in this line (v5.8.10)
- Type scale. The stylesheet gained a named text-size scale
(--text-2xxs…--text-2xl, with line-height variants) and every hard-coded
font-size: Npxwas replaced with a token reference, so type adjustments are
one-token changes rather than a sweep. - Semantic button intents.
.btn-primary,.btn-ghostand.btn-softcarry
their own token-based colours and render correctly on dark, light and grey
without per-theme overrides. They replace the brittle
[data-theme="grey"] button[class*="bg-cyan-500/"]substring selectors.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.11 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.11/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.11
docker pull ghcr.io/digitrob/digitdns-agent:5.8.11
docker pull robmeister/digitdns:5.8.11
docker pull robmeister/digitdns-agent:5.8.11Stable release (v5.8.11).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.10...v5.8.11
DigitDNS v5.8.10
DigitDNS v5.8.9 — complete DNS, relay and ad blocking
DigitDNS v5.8.9 — sinkhole groups, faster dashboard, pasted-list repair
A minor release on top of v5.8.8. No database schema migration is required;
existing settings, clients, blocklists, certificates, relay agents and egress
options are preserved.
Added
- Custom Blocklist (Sinkhole) is now one entry in the Domains list. The
blocked set collapses into a single expandable row with a live domain count;
the chevron reveals every blocked name inline, each with its normal checkbox,
service, relay, Remove and status pill. Expanding a large sinkhole grows 50
members at a time. The same grouping ships in the Android app. - Android live-log copy. Long-press a domain in the Live Log to copy it, with
long-press haptics and a confirmation toast. TalkBack gets the long-click
action too.
Changed
- Faster dashboard loading. The dashboard document is minified at build time
(287 KB → 195 KB; 58 KB → 37 KB gzipped), JavaScript and CSS are served as
Brotli sidecars (app.js 108 KB → 87 KB), andapp.jsis preloaded. The
ten-second delay before the first stats poll is gone, so the dashboard fills
immediately; the stats settings card is fetched on first Settings visit instead
of on every boot. - Startup benchmark. The first upstream benchmark waits ten seconds after the
listeners are up, so its figures describe the steady state rather than boot
contention. Adaptive mode performs one forced selection at that point and then
sleeps until the configured interval, instead of probing twice at startup. - Blocked status naming. The blocked status reads “Blocked” everywhere
(web and Android), matching the filter chip and the Android app. Other status
labels are unchanged. - Domains table. The domain column is now Domain/Blocklist and the web
sidebar page is Domains/Blocklists. The blocked pill sits in the STATUS
column; the sinkhole title stays in the Domain column.
Fixed
- Pasted blocklists were stored as one unmatched pattern. Pasting a list into
the single-line Block or Add box used to save the whole blob as one
space-separated entry: the Domains page showed one row and the matcher blocked
none of the names. The Add boxes now split on whitespace, commas and
semicolons, and the server splits any existing blob on load and save. Existing
installs are repaired automatically. - Android sinkhole expansion. Expanded member domains now render directly
under the group instead of after the flat list. - Domain/Blocklist header no longer overlaps SERVICE at narrow widths.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.9 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.9/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.9
docker pull ghcr.io/digitrob/digitdns-agent:5.8.9
docker pull robmeister/digitdns:5.8.9
docker pull robmeister/digitdns-agent:5.8.9Stable release (v5.8.9).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.8...v5.8.9
DigitDNS v5.8.8 — complete DNS, relay and ad blocking
DigitDNS v5.8.2 — AdGuard custom rules, command palette, performance
A minor release on top of v5.8.1. No database schema migration is required;
existing settings, clients, blocklists, certificates, relay agents and egress
options are preserved.
Added
- AdGuard-syntax custom filtering rules. A text area on the Ad Blocking card
(web + Android) accepts AdGuard/uBlock network rules (||domain^,@@||,
$dnsrewrite=,$important, hosts format). Rules compile into the same index
as your blocklists. $dnsrewritesupport.$dnsrewrite=IP(A/AAAA),$dnsrewrite=host
(CNAME),$dnsrewrite=TXT "text", and$dnsrewrite=NXDOMAIN/REFUSED/SERVFAIL.- Command palette. Ctrl/Cmd+K opens a fuzzy search over tabs, settings
sections and global actions (theme toggle, sign out) on the web panel. - Android status widget. A 2×1 home-screen widget showing queries today and
the live query rate; tap to open the app. - Android toggle widget. A 1×1 widget showing filtering on/off; tap opens
the app's Ad Blocking page. - Android switches contrast. Switches in the grey theme now use the success
colour for the checked track (was nearly white).
Changed
- Resolver hot path. System metrics sampled once per second in
telemetryLoopinstead of on every/api/statscall.normalizeProtouses
EqualFold(zero alloc per query). Aggregator uses a per-bucket mutex and an
atomic current-bucket pointer. - Web theming. Non-theme-mapped
sky-*andviolet-*Tailwind utilities
replaced with theme-mappedcyan-*/purple-*across DoT settings, custom
policy groups, the top-upstreams icon, the 2FA card and the zap icon. - Adaptive selection.
adaptiveHealthynow accepts resolvers that have a
successful probe, so the Force button switches to the fastest probed resolver
even if it never served live traffic. The timer resets after each forced run.
Fixed
- Upstream Force button. Not all the time did it switch to the fastest
resolver (probed-but-unmeasured resolvers were excluded). Fixed. - Android detekt.
TransportChipsno longer exceeds the
cyclomatic-complexity threshold (the transport colour/label lookup moved to
the theme). - Android alert channel name collapse. The
weight(1f)field now has a
real row to fill instead of being squeezed beside the kind selector, switch
and delete button. - Web alert type picker. The native
<select>(which cannot render icons)
was replaced with a pictogram menu.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.2 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.2/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.2
docker pull ghcr.io/digitrob/digitdns-agent:5.8.2
docker pull robmeister/digitdns:5.8.2
docker pull robmeister/digitdns-agent:5.8.2Stable release (v5.8.8).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.7...v5.8.8
DigitDNS v5.8.2 — complete DNS, relay and ad blocking
DigitDNS v5.8.2 — AdGuard custom rules, command palette, performance
A minor release on top of v5.8.1. No database schema migration is required;
existing settings, clients, blocklists, certificates, relay agents and egress
options are preserved.
Added
- AdGuard-syntax custom filtering rules. A text area on the Ad Blocking card
(web + Android) accepts AdGuard/uBlock network rules (||domain^,@@||,
$dnsrewrite=,$important, hosts format). Rules compile into the same index
as your blocklists. $dnsrewritesupport.$dnsrewrite=IP(A/AAAA),$dnsrewrite=host
(CNAME),$dnsrewrite=TXT "text", and$dnsrewrite=NXDOMAIN/REFUSED/SERVFAIL.- Command palette. Ctrl/Cmd+K opens a fuzzy search over tabs, settings
sections and global actions (theme toggle, sign out) on the web panel. - Android status widget. A 2×1 home-screen widget showing queries today and
the live query rate; tap to open the app. - Android toggle widget. A 1×1 widget showing filtering on/off; tap opens
the app's Ad Blocking page. - Android switches contrast. Switches in the grey theme now use the success
colour for the checked track (was nearly white).
Changed
- Resolver hot path. System metrics sampled once per second in
telemetryLoopinstead of on every/api/statscall.normalizeProtouses
EqualFold(zero alloc per query). Aggregator uses a per-bucket mutex and an
atomic current-bucket pointer. - Web theming. Non-theme-mapped
sky-*andviolet-*Tailwind utilities
replaced with theme-mappedcyan-*/purple-*across DoT settings, custom
policy groups, the top-upstreams icon, the 2FA card and the zap icon. - Adaptive selection.
adaptiveHealthynow accepts resolvers that have a
successful probe, so the Force button switches to the fastest probed resolver
even if it never served live traffic. The timer resets after each forced run.
Fixed
- Upstream Force button. Not all the time did it switch to the fastest
resolver (probed-but-unmeasured resolvers were excluded). Fixed. - Android detekt.
TransportChipsno longer exceeds the
cyclomatic-complexity threshold (the transport colour/label lookup moved to
the theme). - Android alert channel name collapse. The
weight(1f)field now has a
real row to fill instead of being squeezed beside the kind selector, switch
and delete button. - Web alert type picker. The native
<select>(which cannot render icons)
was replaced with a pictogram menu.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.2 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.2/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.2
docker pull ghcr.io/digitrob/digitdns-agent:5.8.2
docker pull robmeister/digitdns:5.8.2
docker pull robmeister/digitdns-agent:5.8.2Stable release (v5.8.2).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.1...v5.8.2
DigitDNS v5.8.1 — complete DNS, relay and ad blocking
DigitDNS v5.8.1 — alert pictograms and resolver hot-path
A minor release on top of v5.8.0. No database schema migration is required;
existing settings, clients, blocklists, certificates, relay agents and egress
options are preserved.
Added
- Alert channel pictograms. Web and Android alert channel rows show a
destination pictogram (ntfy, Telegram, Discord, Slack, Gotify, Webhook) in the
kind picker and on the card, with a check on the active choice. The web
picker is a custom menu so the glyphs render in dark, grey and light themes. - Android alert channel cards. Each channel is its own bordered tile: the
kind pictogram opens the type menu, "Enabled" is labelled, and the channel
name gets its own full-width row so it can never collapse on a phone. - Empty state. "No channels yet — add one to receive alerts." on both
clients when there are no channels. - Benchmarks.
BenchmarkOrderedByLatencyWarm,BenchmarkRecordStatand
BenchmarkQueryLogPushDisabledin the upstream and service packages.
Changed
- Resolver hot path. Upstream stats are published through an
atomic.PointersorecordStatandupstreamAvailableno longer take the
poolRLockon every answer; the cached latency order is an immutable
snapshot read with a single atomic load (Hedged/Best Known). The query-log
service caches its settings, soPushno longer reads (and decrypts) the
setting from bbolt on every DNS query — the default, with logging off, is
8.5 ns/op, 0 allocs. - Dashboard 1 Hz polish.
renderCacheHealth,renderProxyDropsand the
latency badge compare before writing, and the resolver list and QPS chart are
skipped while another tab is visible — the poll keeps running, only the paint
is deferred. - Transport palette sharing. The Android resolver chips resolve their colour
and label from the theme'sProtocolPalette(transportColor/
transportLabelRes) instead of a second local table, matching the live log
and history cards.
Fixed
- Android detekt.
TransportChipsno longer exceeds the
cyclomatic-complexity threshold (the transport colour/label lookup moved to
the theme). - Android alert channel name collapse. The
weight(1f)field now has a
real row to fill instead of being squeezed beside the kind selector, switch
and delete button. - Web alert type picker. The native
<select>(which cannot render icons)
was replaced with a pictogram menu.
Upgrade
In-place upgrades from the dashboard are supported. The release assets include
the Linux amd64/arm64 hub binary, relay-agent binaries, the offline bundle,
checksums and their ed25519 signature, and the Android APKs attached from the
android-v5.8.1 tag.
curl -fsSL https://raw.githubusercontent.com/digitrob/DigitDNS/v5.8.1/scripts/install.sh | sudo bashDocker:
docker pull ghcr.io/digitrob/digitdns:5.8.1
docker pull ghcr.io/digitrob/digitdns-agent:5.8.1
docker pull robmeister/digitdns:5.8.1
docker pull robmeister/digitdns-agent:5.8.1Stable release (v5.8.1).
Recommended for production. Install with the one-liner in the README,
or upgrade in place from the dashboard's self-updater.
Full list of changes: docs/CHANGELOG.md.
Full Changelog: v5.8.0...v5.8.1