2026-10-12 - 2026-10-15
Overview
2 Releases published by 1 user
Published
v1.0.0-rc2
Published
v1.0.0-rc1
15 Pull requests merged by 1 user
Merged
#295 notify: a reply other than 2xx is a failed delivery
Merged
#291 A nameserver is asked at each of its addresses in turn
Merged
#294 notify: the log names a notification endpoint, not its webhook URL
Merged
#290 watcher: a hostname whose zone's nameservers all stop answering gets NS Failure (closes #284)
Merged
#282 watcher: an IPv6 address is written in brackets before its port (closes #270)
Merged
#283 docs: TODO.md names only open issues as next steps (closes #281)
Merged
#280 watcher: a port check that finds 443 closed removes its certificate entries (closes #265)
Merged
#278 state: a state file without a section loads it empty (closes #267)
Merged
#279 watcher: a stop during the first scan sends no startup notification (closes #271)
Merged
#273 watcher: a removed nameserver is an NS Change, not an NS Failure (closes #262)
Merged
#277 config: a metrics username without a password stops startup (closes #268)
Merged
#276 state: Save syncs the state file before renaming it into place (closes #264)
Merged
#275 server: a port that cannot be bound stops startup (closes #266)
Merged
#274 config: a bad number or true/false setting stops startup (closes #269)
Merged
#272 state: GetSnapshot copies the state's maps (closes #261)
2 Pull requests proposed by 1 user
Proposed
#292 TESTING.md constraints match the resolver and the test-time policy
Proposed
#293 A directory under /s/ answers 404 instead of a listing
17 Issues closed from 1 user
Closed
#287 A webhook that answers with a redirect is counted as a successful delivery
Closed
#285 A nameserver with several addresses is asked at only the first one, so one unreachable address reports it as failed
Closed
#288 Debug logging writes the Slack, Mattermost and ntfy webhook URLs to the log on every delivery
Closed
#284 A hostname whose zone's nameservers all stop answering gets no NS Failure notification
Closed
#270 An IPv6 address joined with its port, as in a Port Change notification, cannot be told from the port
Closed
#281 TODO.md names closed issues as its next and future steps
Closed
#265 A certificate entry stays ok after its port 443 closes
Closed
#267 A state file holding {} crashes the watcher on its first check
Closed
#271 The startup notification says the initial scan completed when shutdown cut it short
Closed
#262 A nameserver removed from a domain's delegation is also reported as an NS Failure
Closed
#268 /metrics is served with an empty password when only DNSWATCHER_METRICS_USERNAME is set
Closed
#264 The state file is renamed into place without being synced, so a crash can leave it empty and stop the next start
Closed
#266 dnswatcher keeps running without its HTTP server when the listen port is in use
Closed
#269 A setting that is not a valid number or true/false is read as 0 or false instead of stopping startup
Closed
#261 The dashboard and /api/v1/status iterate the state's live maps without the lock, which can crash the process
Closed
#260 Defect hunt before the release candidate: a trial run of next and a read of its code paths
Closed
#263 A non-numeric DNSWATCHER_TLS_EXPIRY_WARNING or PORT is silently read as 0
19 Issues created by 1 user
Opened
#260 Defect hunt before the release candidate: a trial run of next and a read of its code paths
Opened
#261 The dashboard and /api/v1/status iterate the state's live maps without the lock, which can crash the process
Opened
#262 A nameserver removed from a domain's delegation is also reported as an NS Failure
Opened
#263 A non-numeric DNSWATCHER_TLS_EXPIRY_WARNING or PORT is silently read as 0
Opened
#264 The state file is renamed into place without being synced, so a crash can leave it empty and stop the next start
Opened
#265 A certificate entry stays ok after its port 443 closes
Opened
#266 dnswatcher keeps running without its HTTP server when the listen port is in use
Opened
#267 A state file holding {} crashes the watcher on its first check
Opened
#268 /metrics is served with an empty password when only DNSWATCHER_METRICS_USERNAME is set
Opened
#269 A setting that is not a valid number or true/false is read as 0 or false instead of stopping startup
Opened
#271 The startup notification says the initial scan completed when shutdown cut it short
Opened
#270 An IPv6 address joined with its port, as in a Port Change notification, cannot be told from the port
Opened
#281 TODO.md names closed issues as its next and future steps
Opened
#284 A hostname whose zone's nameservers all stop answering gets no NS Failure notification
Opened
#285 A nameserver with several addresses is asked at only the first one, so one unreachable address reports it as failed
Opened
#286 The static asset route serves directory listings at /s/ and /s/css/
Opened
#287 A webhook that answers with a redirect is counted as a successful delivery
Opened
#288 Debug logging writes the Slack, Mattermost and ntfy webhook URLs to the log on every delivery
Opened
#289 TESTING.md describes a root-server fan-out and a calibrated query timeout that the resolver does not have
3 Unresolved Conversations
Open
#152
next
Open
#59
No DNSSEC validation in iterative resolution
Open
#66
1.0/mvp