All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2026-05-12
- DNS backend adapters for Linux and BSD:
systemd-resolved— native D-Bus/CLI integrationNetworkManager—nmclidispatchresolvectl— fallback for systemd-based systemsresolv.conf— direct file manipulation with backup/restore- NixOS — declarative
configuration.nixexpression generation - FreeBSD / OpenBSD / NetBSD —
resolv.conf-style with scoped elevation - Stub resolver — DoQ via
unboundand DNSCrypt viadnscrypt-proxyfor protocols unsupported by the detected backend
- Protocol coverage: Plain DNS, DoT, DoH, DoQ, DNSCrypt, WARP
- Provider registry with 5 providers: Cloudflare, Google, AdGuard, Quad9, OpenDNS
- Tier system: Standard, malware, family, unfiltered, secured, ECS variants per provider
- Scoped privilege elevation: parent never runs as root; only config-write child elevates via
sudo/pkexec/doasusing argv arrays (no shell interpolation) - Backup & restore: timestamped snapshots with
YYYY-MM-DDTHH:MM:SSZ_<backend>.baknaming - VPN orchestration:
VpnProvidertrait with WARP and AdGuard VPN CLI adapters - NTP configuration: adapters for
systemd-timesyncd,chrony,ntpd,openntpd, and NixOS - Interactive TUI: ratatui-based provider/protocol/tier selection (gated behind
tuifeature, enabled by default) - MCP server: Model Context Protocol server surface for agentic integration (
dns mcp) - Schema introspection:
dns schemaemits structured command definitions for LLM function calling - Agent-friendly output: JSON envelope with metadata,
--fieldstrimming,--formatvariants (json, jsonl, yaml, csv, human, explore), AI-agent auto-detection viaAI_AGENT/AGENT/CIenv vars - Security hardening:
- Control character rejection on all string inputs
- Prompt-injection detection (12 pattern case-insensitive scan)
- Path traversal prevention with canonicalization and allow-listing
- Numeric bounds checking generic helper
- RELRO/NX/ASLR linker hardening flags
- Compliance: SPDX headers on all source files,
jifffor UTC timestamps,cargo-denylicense/advisory gating - CI/CD: GitHub Actions workflow with build, test, clippy, fmt, deny, and audit gates