2026-03-16 - 2026-09-16

Overview

12 Active Pull Requests
43 Active Issues
Excluding merges, 3 authors have pushed 7 commits to main and 19 commits to all branches. On main, 39 files have changed and there have been 3630 additions and 679 deletions.

9 Pull requests merged by 2 users

Merged #118 server: set ReadTimeout, WriteTimeout, and IdleTimeout (closes #99) 2026-09-09 15:17:44 +02:00

Merged #136 next 2026-09-09 14:57:56 +02:00

Merged #113 notify: drain in-flight deliveries at shutdown (closes #106) 2026-09-09 14:26:54 +02:00

Merged #96 build: update golangci-lint to v2.12.2 with org-standard v2 config 2026-08-07 23:15:48 +02:00

Merged #95 docs: document the no-DNS-mocking policy in README (closes #94) 2026-08-07 22:31:48 +02:00

Merged #92 scripts-to-rule-them-all 2026-07-07 02:14:32 +02:00

Merged #91 TODO 2026-07-06 21:20:44 +02:00

Merged #87 feat: add retry with exponential backoff for notification delivery 2026-03-22 07:14:59 +01:00

Merged #89 config: use /var/lib/dnswatcher as default data directory 2026-03-20 06:56:10 +01:00

3 Pull requests proposed by 1 user

16 Issues closed from 2 users

Closed #99 http.Server is missing ReadTimeout, WriteTimeout, and IdleTimeout 2026-09-09 15:17:44 +02:00

Closed #93 internal/resolver tests query live nameservers and fail nondeterministically 2026-09-09 14:57:56 +02:00

Closed #102 Add the MIT LICENSE file and README licence statement (1.0 blocker) 2026-09-09 14:57:56 +02:00

Closed #134 Run all linting in Docker via Dockerfile.lint + script/lint 2026-09-09 14:57:56 +02:00

Closed #137 Stale/incorrect comment text in script/bootstrap and script/cibuild, and record the config-verify tradeoff 2026-09-09 14:57:56 +02:00

Closed #139 make test is served from Go's test cache, so a repeat green proves no DNS was queried 2026-09-09 14:57:56 +02:00

Closed #106 In-flight notification goroutines are not awaited at shutdown, so alerts are lost 2026-09-09 14:26:54 +02:00

Closed #140 TODO.md collides on every single PR, and its Workflow section still says to branch from main 2026-09-05 11:32:51 +02:00

Closed #141 tryExchange discards a prior attempt's timeout error on context cancellation, downgrading StatusTimeout to StatusNoData 2026-09-05 11:32:51 +02:00

Closed #142 internal/server has no tests: deleting the SecurityHeaders router registration fails nothing 2026-09-05 11:32:51 +02:00

Closed #143 Live-DNS test harness never retries an answer that is missing the record type under test, so TestQueryNameserver_TXT flakes 2026-09-05 11:32:51 +02:00

Closed #135 TOP PRIORITY: consolidate all open PRs onto one next branch, one PR 2026-09-03 18:16:36 +02:00

Closed #94 Document the no-DNS-mocking policy in the README 2026-08-07 22:31:48 +02:00

Closed #90 Move schema_migrations table creation into 000.sql with INTEGER version column 2026-03-26 14:32:15 +01:00

Closed #62 Notification delivery: fire-and-forget with no retry 2026-03-22 07:15:00 +01:00

Closed #88 datadir should not be relative 2026-03-20 09:40:22 +01:00

42 Issues created by 1 user

Opened #88 datadir should not be relative 2026-03-17 13:04:52 +01:00

Opened #90 Move schema_migrations table creation into 000.sql with INTEGER version column 2026-03-25 02:22:02 +01:00

Opened #93 internal/resolver tests query live nameservers and fail nondeterministically 2026-08-04 02:28:02 +02:00

Opened #94 Document the no-DNS-mocking policy in the README 2026-08-07 18:25:13 +02:00

Opened #98 Add security response headers middleware (HSTS, CSP, X-Frame-Options, nosniff, Referrer-Policy, Permissions-Policy) 2026-08-09 03:35:55 +02:00

Opened #99 http.Server is missing ReadTimeout, WriteTimeout, and IdleTimeout 2026-08-09 03:36:09 +02:00

Opened #100 CORS wildcard applies to the authenticated /metrics route, and advertises methods that do not exist 2026-08-09 03:36:27 +02:00

Opened #101 No rate limiting on the Basic-Auth-protected /metrics endpoint 2026-08-09 03:36:47 +02:00

Opened #102 Add the MIT LICENSE file and README licence statement (1.0 blocker) 2026-08-09 03:37:20 +02:00

Opened #103 script/test always runs with -v instead of the conditional verbose rerun pattern 2026-08-09 03:37:37 +02:00

Opened #104 Per-nameserver query status is discarded: NS failure and NS recovery notifications never fire 2026-08-09 03:38:35 +02:00

Opened #105 Nameserver glue/IP changes are never detected — README claims they trigger a notification 2026-08-09 03:38:55 +02:00

Opened #106 In-flight notification goroutines are not awaited at shutdown, so alerts are lost 2026-08-09 03:39:20 +02:00

Opened #107 DECISION NEEDED: DNSWATCHER_SENTRY_DSN is documented and accepted but does nothing 2026-08-09 03:39:41 +02:00

Opened #108 README accuracy sweep: architecture omissions, undocumented state field, overclaimed MAINTENANCE_MODE and /metrics 2026-08-09 03:40:07 +02:00

Opened #109 Dockerfile does not implement the mandated fail-fast lint stage, and does not pass VERSION as a build ARG 2026-08-09 03:40:38 +02:00

Opened #110 internal/globals, internal/healthcheck, and internal/logger have no tests at all 2026-08-09 03:41:03 +02:00

Opened #111 internal/state ships test-only constructors in the production build 2026-08-09 03:41:20 +02:00

Opened #114 Final state persistence at shutdown depends on implicit fx hook ordering and is untested 2026-08-09 07:06:08 +02:00

Opened #115 script/cibuild can report a green it did not earn: RUN make check is served from the Docker layer cache 2026-08-09 07:33:47 +02:00

Opened #116 internal/notify shutdown tests: misleading failure diagnostic and an overloaded timing constant 2026-08-09 07:34:11 +02:00

Opened #117 script/bootstrap installs pinned tools only when missing, so the golangci-lint pin is inert on any machine that already has one 2026-08-09 07:39:18 +02:00

Opened #119 fmt tooling is incomplete: fmt-check does not verify goimports, and no formatter covers Markdown 2026-08-09 07:44:52 +02:00

Opened #120 Server timeout tests protect the constructor but not the call site, and carry an inverted rationale comment 2026-08-09 07:53:56 +02:00

Opened #121 script/lint shares one golangci-lint cache and lock across concurrent worktrees, so results can come from another codebase 2026-08-09 08:04:02 +02:00

Opened #123 DECISION NEEDED: gomodguard linter is deprecated, and .golangci.yml can only be changed by you 2026-08-09 08:05:15 +02:00

Opened #124 script/docker has the same layer-cache hole as script/cibuild, so make docker can hand a developer an unearned green 2026-08-09 08:07:37 +02:00

Opened #125 CHECK_EPOCH freshness is host-conditional: busybox date silently drops %N 2026-08-09 08:42:18 +02:00

Opened #126 DECISION/ACCESS NEEDED: the CI job log Gitea returns for a commit does not correspond to that commit 2026-08-09 08:42:43 +02:00

Opened #129 script/install-precommit fails in a linked worktree: .git is a file, not a directory 2026-08-09 16:39:25 +02:00

Opened #130 Lint cache follow-ups: same-checkout runs abort instead of queueing, and make clean leaves .lint-cache/ 2026-08-09 16:49:13 +02:00

Opened #132 go.mod is untidy: golang.org/x/sync listed both direct and indirect, so script/bootstrap mutates a tracked file 2026-08-09 16:56:48 +02:00

Opened #133 script/lint and script/fmt invoke golangci-lint and goimports by bare name, so a PATH shadow still overrides the pin 2026-08-09 17:04:56 +02:00

Opened #134 Run all linting in Docker via Dockerfile.lint + script/lint 2026-08-10 13:14:06 +02:00

Opened #135 TOP PRIORITY: consolidate all open PRs onto one next branch, one PR 2026-08-10 14:30:21 +02:00

Opened #137 Stale/incorrect comment text in script/bootstrap and script/cibuild, and record the config-verify tradeoff 2026-08-10 14:50:03 +02:00

Opened #138 queryServers always tries servers in fixed order, so every resolution starts at a.root-servers.net 2026-08-10 15:17:05 +02:00

Opened #139 make test is served from Go's test cache, so a repeat green proves no DNS was queried 2026-08-10 15:26:52 +02:00

Opened #140 TODO.md collides on every single PR, and its Workflow section still says to branch from main 2026-09-03 18:17:07 +02:00

Opened #141 tryExchange discards a prior attempt's timeout error on context cancellation, downgrading StatusTimeout to StatusNoData 2026-09-04 01:22:19 +02:00

Opened #142 internal/server has no tests: deleting the SecurityHeaders router registration fails nothing 2026-09-04 01:25:27 +02:00

Opened #143 Live-DNS test harness never retries an answer that is missing the record type under test, so TestQueryNameserver_TXT flakes 2026-09-04 02:23:38 +02:00

2 Unresolved Conversations

Open #66 1.0/mvp 2026-08-09 07:35:34 +02:00

Open #59 No DNSSEC validation in iterative resolution 2026-08-09 03:42:01 +02:00