Release Notes
certpost 1.0.0 - 23 Apr 2026
Initial release.
- Let's Encrypt certificate issuance and renewal via ACME v2 with DNS-01 challenges
- Single static binary, zero runtime dependencies, native Go crypto (no openssl)
- Pluggable DNS provider system — Cloudflare and Technitium DNS Server supported
- Separate DNS providers for ACME challenges (TXT) and domain records (A/CNAME), or a single provider for both
- Web admin panel with login, domain management, token management, and logs
- Domains tab with collapsible rows, sort toggles (Name / Expires), substring filter, and multi-select with an Export modal (fetch config, proxy config, CSV, or ready-to-run CLI commands)
- Per-domain API tokens (auto-generated, visible in full, rotatable)
- Admin panel UI preferences persisted server-side in
prefs.json - HTML-escaping of all user-supplied values throughout the admin panel
- Background certificate renewal — proactively renews the 2 oldest certs daily, with a 30-day expiry safety net; errored domains retried automatically; renewal state persisted across restarts
- TLS termination proxy with SNI routing and automatic certificate refresh
certpost fetchsupports a single domain or adomainsmap for multiple certificates per cycle; domain optional and resolved from token via/api/token-info- Interactive setup wizards for server (
certpost-server setup) and client (certpost init) certpost sample-configcommand — prints example fetch, fetch-multi, or proxy config- Client config validation against server during init
- OpenAPI spec, version, and help API endpoints
- Coloured CLI help (auto-disabled in pipes, respects
NO_COLOR) - ISO 8601 timestamps throughout
- Cross-compilation for 6 platforms (macOS/Linux/Windows × amd64/arm64)