This is a major release with many improvements:
- New
CLOUDFLARE_*
variables: Cloudflare is transitioning its tools to use the new prefixCLOUDFLARE_*
. Therefore, the updater now acceptsCLOUDFLARE_API_TOKEN
andCLOUDFLARE_API_TOKEN_FILE
. The oldCF_API_TOKEN
andCF_API_TOKEN_FILE
will still be fully supported until 2.0.0, then deprecated (but still supported) until 3.0.0. - Improved custom IP providers: The updater now forces IPv4 or IPv6 when connecting to custom IP providers
url:<URL>
. This solves a long-standing issue where custom providers couldn't be used on dual-stack machines supporting both IPv4 and IPv6. This enforcement ensures predictable IPv4/IPv6 detection on such machines. - Stricter IP validation: The updater now rejects unusual IP addresses for updating DNS records, such as link-local addresses or IPv4-mapped IPv6 addresses for AAAA records. These addresses are unsuitable and may cause trouble.
- Experimental support of using a network interface’s IP address (not finalized until 1.16.0): Experimental support lets you use the address assigned to a specific network interface, bypassing the routing table used by the
local
provider. The syntax for this feature is under development and will not be finalized until 1.16.0. Please refer to README and join the discussion on GitHub issue #713 if you are interested.
As a reminder, since 1.13.0, the updater no longer drops superuser privileges and PUID
and PGID
are ignored. Please use Docker’s built-in mechanism to drop privileges. The old Docker Compose template may grant unneeded privileges to the new updater, which is not recommended. Please review the new, simpler, and more secure template in README. In a nutshell, remove the cap_add
attribute and replace the environment variables PUID
and PGID
with the user: "UID:GID"
attribute. Similar options may exist for systems not using Docker Compose.
Bug Fixes
- ipnet: reject IPv4-mapped IPv6 addresses for updating IPv6 records (#936) (be5b3a7)
- ipnet: tighten the checking of IP addresses (#942) (640d30b)
- pp: print blank lines to separate each round of updating (#958) (0a6c71b)
- provider: fix the name and messages of custom URL providers (#940) (2d95d69)
- provider: force IPv4/IPv6 for custom URL providers (#939) (3e80358)
- updater: actively close idle connections for IP detection (#943) (05cbf7e)