What's Changed
Features
- Retry mechanism for transient Porkbun API failures —
RETRY_COUNT/RETRY_DELAYenv vars (Docker) and--retry-count/--retry-delayCLI flags (closes #113, #142) - Webhook notifications on IP change —
WEBHOOK_URL,WEBHOOK_TEMPLATE,WEBHOOK_TEMPLATE_FILEwith Jinja2 templating; Slack / MS Teams / Mattermost / Google Chat compatible by default (closes #116, #144) - Configurable log verbosity —
LOG_LEVELenv var /--log-levelCLI flag (DEBUG, INFO, WARNING, ERROR, CRITICAL) (closes #136, #143) - API endpoint override for the Docker image —
API_ENDPOINTenv var (e.g. mirror/proxy) (#146) - Docs updated for retry, webhook and log-level features (#145)
Bug fixes
- Deprecated
IPV4_ONLY/IPV6_ONLYenv vars now raise the intended error message instead of aNameError - Python 3.10/3.11 datetime UTC compatibility fixes
Testing
- Hermetic mock-based e2e test suite (pytest) covering retry, webhook, IPv4/IPv6 update flows + daily live-API canary (#147)
- Container-level e2e against a sidecar mock: IP change, IPv6/AAAA, invalid config validation, subdomains, log levels, retry — runs on native amd64 and arm64 runners (#148, #149)
Full Changelog: v1.1.27...v1.2.0