mirror of
https://github.com/timothymiller/cloudflare-ddns.git
synced 2026-05-06 09:53:40 -03:00
Release v2.1.2
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>
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -92,7 +92,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cloudflare-ddns"
|
name = "cloudflare-ddns"
|
||||||
version = "2.1.1"
|
version = "2.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"if-addrs",
|
"if-addrs",
|
||||||
"rand",
|
"rand",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "cloudflare-ddns"
|
name = "cloudflare-ddns"
|
||||||
version = "2.1.1"
|
version = "2.1.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Access your home network remotely via a custom domain name without a static IP"
|
description = "Access your home network remotely via a custom domain name without a static IP"
|
||||||
license = "GPL-3.0"
|
license = "GPL-3.0"
|
||||||
|
|||||||
48
RELEASE_NOTES_2.1.2.md
Normal file
48
RELEASE_NOTES_2.1.2.md
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# 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 error `81058: 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
|
||||||
|
from `containrrr/shoutrrr`) was being parsed with the literal `shoutrrr:`
|
||||||
|
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 `/message` after any query string,
|
||||||
|
producing malformed webhook URLs like
|
||||||
|
`https://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=yes` to switch the resulting webhook from HTTPS
|
||||||
|
to HTTP for typical home-LAN setups, plus the `gotify+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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull timothyjmiller/cloudflare-ddns:2.1.2
|
||||||
|
# or
|
||||||
|
docker pull timothyjmiller/cloudflare-ddns:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
No configuration changes are required.
|
||||||
Reference in New Issue
Block a user