github timothymiller/cloudflare-ddns v2.1.1
v2.1.1 - rand 0.10 fix + failure-safe delete + jitter

latest release: v2.1.2
4 hours ago

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.

Don't miss a new cloudflare-ddns release

NewReleases is sending notifications on new releases.