Patch release: case-insensitive Cloudflare DNS record matching (#255), Pushover URL parsing fix for canonical shoutrrr format (#258), and Gotify URL parsing fix for ?token= query and ?disabletls=yes (#262). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.1 KiB
cloudflare-ddns v2.1.2 — Notification & Domain Casing Fixes
This patch release fixes three bugs reported on GitHub.
Bug fixes
-
Mixed-case domains now match existing DNS records (#255). In env-var mode, configuring a domain with mixed casing (for example
ExaMple.com) caused every update cycle to attempt a duplicate record create and fail with Cloudflare error81058: An identical record already exists.Cloudflare normalizes record names to lowercase server-side, so the lookup is now case-insensitive. -
Pushover notifications work again (#258). The shoutrrr-style URL
pushover://shoutrrr:TOKEN@USER(the canonical form fromcontainrrr/shoutrrr) was being parsed with the literalshoutrrr:username included in the API token, which Pushover rejected. The parser now strips the optional<user>:prefix from the token segment, restoring the v2.0.7 behavior. Optional shoutrrr query parameters (?devices=...,?priority=...) are tolerated. -
Gotify notifications now produce a valid request URL (#262). The Gotify URL parser blindly appended
/messageafter any query string, producing malformed webhook URLs likehttps://host:9090?token=XYZ/message. The parser now follows shoutrrr's canonical layout — token as the final path segment or?token=query — and supports?disabletls=yesto switch the resulting webhook from HTTPS to HTTP for typical home-LAN setups, plus thegotify+http:///gotify+https://aliases.
Already addressed (closing #257)
The robust public-IP discovery enhancements requested in #257 (multi-endpoint
trace fallback, strict address-family validation, API request timeouts,
duplicate record cleanup) were already folded into the Rust port shipped in
v2.0.8 — see src/provider.rs (CF_TRACE_PRIMARY / CF_TRACE_FALLBACK,
validate_detected_ip, build_split_client) and src/cloudflare.rs
(set_ips dedup behavior, per-request timeout).
Upgrade
docker pull timothyjmiller/cloudflare-ddns:2.1.2
# or
docker pull timothyjmiller/cloudflare-ddns:latest
No configuration changes are required.