chore(deps): update timothyjmiller/cloudflare-ddns docker tag to v2.1.2 #69

Open
jaskaran wants to merge 1 commit from renovate/timothyjmiller-cloudflare-ddns-2.x into main
Owner

This PR contains the following updates:

Package Update Change
timothyjmiller/cloudflare-ddns patch 2.1.02.1.2

Release Notes

timothymiller/cloudflare-ddns (timothyjmiller/cloudflare-ddns)

v2.1.2: — Notification & Domain Casing Fixes

Compare Source

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

docker pull timothyjmiller/cloudflare-ddns:2.1.2

# or
docker pull timothyjmiller/cloudflare-ddns:latest

No configuration changes are required.

v2.1.1: - rand 0.10 fix + failure-safe delete + jitter

Compare Source

Maintenance release. Bug fix for rand 0.10 API change, plus opt-in failure-safe deletion behavior, dependency refresh, and proportional jitter for IP detection.

Highlights

  • Fix: Restore the build under rand 0.10 — random_range moved to the RngExt trait, and the unconditional jitter sleep in --repeat mode no longer fails to compile.
  • New: DELETE_ON_FAILURE (env-var mode) controls whether DNS records are removed when an IP detection or update fails. Defaults to true to preserve existing behavior; set DELETE_ON_FAILURE=false to keep stale records on transient failures instead of yanking them.
  • Improvement: Proportional jitter (up to 20% of the update interval) is added before each scheduled update to spread requests across clients and reduce synchronized spikes against the Cloudflare API.

Changes since v2.1.0

Features
  • DELETE_ON_FAILURE env var to prevent DNS record deletion on failed updates (#​263, thanks @​DMaxter)
  • Proportional jitter on update intervals to desynchronize API traffic (#​253, thanks @​jhutchings1)
Fixes
  • Compile fix for rand 0.10: import RngExt so random_range resolves
  • delete_on_failure regression test coverage added
Dependencies
  • rustls 0.23.37 → 0.23.40
  • rustls-webpki 0.103.10 → 0.103.13
  • tokio 1.50.0 → 1.52.1
  • reqwest 0.13.2 → 0.13.3
  • rand 0.9.2 → 0.10.1
Docs
  • Document DELETE_ON_FAILURE in the README

Upgrade notes

  • Default behavior unchanged. DELETE_ON_FAILURE defaults to true. Set it to false if you want stale records preserved during outages.
  • No config file schema changes. Existing config.json deployments work without edits.

Docker

docker pull timothyjmiller/cloudflare-ddns:2.1.1
docker pull timothyjmiller/cloudflare-ddns:latest

Multi-arch: linux/amd64, linux/arm64, linux/ppc64le.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [timothyjmiller/cloudflare-ddns](https://github.com/timothymiller/cloudflare-ddns) | patch | `2.1.0` → `2.1.2` | --- ### Release Notes <details> <summary>timothymiller/cloudflare-ddns (timothyjmiller/cloudflare-ddns)</summary> ### [`v2.1.2`](https://github.com/timothymiller/cloudflare-ddns/releases/tag/v2.1.2): — Notification & Domain Casing Fixes [Compare Source](https://github.com/timothymiller/cloudflare-ddns/compare/v2.1.1...v2.1.2) ### 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 ([#&#8203;255](https://github.com/timothymiller/cloudflare-ddns/issues/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 ([#&#8203;258](https://github.com/timothymiller/cloudflare-ddns/issues/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 ([#&#8203;262](https://github.com/timothymiller/cloudflare-ddns/issues/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 [#&#8203;257](https://github.com/timothymiller/cloudflare-ddns/issues/257)) The robust public-IP discovery enhancements requested in [#&#8203;257](https://github.com/timothymiller/cloudflare-ddns/issues/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. ### [`v2.1.1`](https://github.com/timothymiller/cloudflare-ddns/releases/tag/v2.1.1): - rand 0.10 fix + failure-safe delete + jitter [Compare Source](https://github.com/timothymiller/cloudflare-ddns/compare/v2.1.0...v2.1.1) Maintenance release. Bug fix for `rand` 0.10 API change, plus opt-in failure-safe deletion behavior, dependency refresh, and proportional jitter for IP detection. #### Highlights - **Fix:** Restore the build under `rand` 0.10 — `random_range` moved to the `RngExt` trait, and the unconditional jitter sleep in `--repeat` mode no longer fails to compile. - **New:** `DELETE_ON_FAILURE` (env-var mode) controls whether DNS records are removed when an IP detection or update fails. Defaults to `true` to preserve existing behavior; set `DELETE_ON_FAILURE=false` to keep stale records on transient failures instead of yanking them. - **Improvement:** Proportional jitter (up to 20% of the update interval) is added before each scheduled update to spread requests across clients and reduce synchronized spikes against the Cloudflare API. #### Changes since v2.1.0 ##### Features - `DELETE_ON_FAILURE` env var to prevent DNS record deletion on failed updates ([#&#8203;263](https://github.com/timothymiller/cloudflare-ddns/issues/263), thanks [@&#8203;DMaxter](https://github.com/DMaxter)) - Proportional jitter on update intervals to desynchronize API traffic ([#&#8203;253](https://github.com/timothymiller/cloudflare-ddns/issues/253), thanks [@&#8203;jhutchings1](https://github.com/jhutchings1)) ##### Fixes - Compile fix for `rand` 0.10: import `RngExt` so `random_range` resolves - `delete_on_failure` regression test coverage added ##### Dependencies - `rustls` 0.23.37 → 0.23.40 - `rustls-webpki` 0.103.10 → 0.103.13 - `tokio` 1.50.0 → 1.52.1 - `reqwest` 0.13.2 → 0.13.3 - `rand` 0.9.2 → 0.10.1 ##### Docs - Document `DELETE_ON_FAILURE` in the README #### Upgrade notes - **Default behavior unchanged.** `DELETE_ON_FAILURE` defaults to `true`. Set it to `false` if you want stale records preserved during outages. - No config file schema changes. Existing `config.json` deployments work without edits. #### Docker ```sh docker pull timothyjmiller/cloudflare-ddns:2.1.1 docker pull timothyjmiller/cloudflare-ddns:latest ``` Multi-arch: `linux/amd64`, `linux/arm64`, `linux/ppc64le`. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuNiIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZSJdfQ==-->
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/timothyjmiller-cloudflare-ddns-2.x:renovate/timothyjmiller-cloudflare-ddns-2.x
git switch renovate/timothyjmiller-cloudflare-ddns-2.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/timothyjmiller-cloudflare-ddns-2.x
git switch renovate/timothyjmiller-cloudflare-ddns-2.x
git rebase main
git switch main
git merge --ff-only renovate/timothyjmiller-cloudflare-ddns-2.x
git switch renovate/timothyjmiller-cloudflare-ddns-2.x
git rebase main
git switch main
git merge --no-ff renovate/timothyjmiller-cloudflare-ddns-2.x
git switch main
git merge --squash renovate/timothyjmiller-cloudflare-ddns-2.x
git switch main
git merge --ff-only renovate/timothyjmiller-cloudflare-ddns-2.x
git switch main
git merge renovate/timothyjmiller-cloudflare-ddns-2.x
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jaskaran/homelab!69
No description provided.