cloudflare-ddns v2.2.0 — Zulip Notifications, Safer Failure Handling & Helm Chart
This minor release adds new notification and deployment options, a safer
default when IP detection fails, and a stable IPv6 provider for Linux hosts.
⚠️ Behavior change: DELETE_ON_FAILURE now defaults to false (#277)
Previously, when a provider definitively reported no address for an IP
family, managed DNS records for that family were deleted by default —
which could take services offline after a transient misdetection.
DELETE_ON_FAILUREnow defaults tofalse: on detection failure the
update is skipped and existing records are preserved.- Transient detection errors (network failures) always preserve existing
records, regardless of this setting. - WAF list updates are now skipped when any configured IP family fails
detection, preventing a partial failure from silently stripping that
family's IPs from the list.
If you relied on the old behavior, set DELETE_ON_FAILURE=true explicitly.
New features
-
Zulip notifications (#271).
Nativezulip://shoutrrr URL support:zulip://bot-mail:bot-key@host/?stream=stream-name&topic=topic-nameMessages are sent to the Zulip API (
/api/v1/messages) with Basic auth.
The@in the bot email may be written literally or percent-encoded
(%40);topicis optional and defaults toCloudflare DDNS. -
Configurable JSON field for generic webhooks (#271).
Generic webhooks send{"message": "..."}by default. Append
?messagekey=<field>to rename the field — e.g.
generic://host/path?messagekey=textfor services expecting Slack-style
payloads (including Zulip's slack-compatible endpoints). -
Stable local IPv6 provider (#273).
Newlocal.iface.stable:<name>provider selects the preferred stable
IPv6 address from a Linux network interface, excluding temporary
(privacy-extension) and deprecated addresses. -
Helm chart (#278).
A Helm chart is now available undercharts/cloudflare-ddns, published
as an OCI artifact to GHCR via CI.
Dependency updates
- reqwest 0.13.4, rustls 0.23.42, tokio 1.52.4, rand 0.10.2,
serde_json 1.0.150, actions/checkout 7
Upgrade
docker pull timothyjmiller/cloudflare-ddns:2.2.0
# or
docker pull timothyjmiller/cloudflare-ddns:latestNo configuration changes are required unless you depend on records being
deleted when IP detection fails — in that case set DELETE_ON_FAILURE=true.