mirror of
https://github.com/timothymiller/cloudflare-ddns.git
synced 2026-05-06 09:53:40 -03:00
Fix rand 0.10 compile error (RngExt trait import) and ship version bump alongside DELETE_ON_FAILURE, proportional jitter, and dependency refresh changes already merged on master. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# cloudflare-ddns v2.1.1
|
|
|
|
Maintenance release. Bug fix for `rand` 0.10 API change, plus opt-in failure-safe deletion behavior contributed in the v2.1.0 → v2.1.1 window, 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`, matching pre-2.1.1 behavior. Set it to `false` if you want stale records preserved during outages.
|
|
- No config file schema changes. Existing `config.json` deployments continue to 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`.
|
|
|
|
## Verification
|
|
|
|
- `cargo test` — 352 tests pass
|
|
- Release build succeeds, binary size ~1.7 MiB (pre-UPX)
|
|
- Smoke tested in both legacy `config.json` mode and env-var mode against the live Cloudflare API
|