github timothymiller/cloudflare-ddns v2.1.0
v2.1.0 - Smaller, faster, fewer dependencies "Snow Leopard"

7 hours ago

This release focuses on reducing binary size and trimming the dependency tree with no changes to functionality or configuration.

Dependency changes

  • Switched from reqwest's bundled rustls feature to rustls-no-provider + explicit rustls with the ring crypto backend — avoids pulling in aws-lc-rs and its C build toolchain
  • Replaced regex with regex-lite — significantly smaller with no Unicode table overhead
  • Replaced chrono with simple arithmetic for the sleep interval display
  • Removed direct idna dependency (still available transitively via url)
  • Switched tokio from rt-multi-thread to single-threaded current_thread runtime

Binary optimization

  • Changed opt-level from "s" to "z" for maximum size optimization
  • Added UPX compression (--best --lzma) to the Docker build stage
  • Added .dockerignore to speed up Docker builds

Code cleanup (net −680 lines)

  • Consolidated 4 separate Cloudflare API methods (api_get, api_post, api_put, api_delete) into a single generic api_request method
  • Removed unused code: Domain enum, info_once/notice_once logging, Arc<Mutex<HashSet>> from the pretty-printer, dead describe() trait methods, and other unreachable code paths
  • No functional or configuration changes — all existing env vars and config.json options work identically

Compatibility

Drop-in replacement for 2.0.x. No migration needed.

Don't miss a new cloudflare-ddns release

NewReleases is sending notifications on new releases.