Skip to content

Releases: ddclient/ddclient

v4.0.0

19 Jan 19:39
v4.0.0
Compare
Choose a tag to compare

Notable changes since v3.11.2:

Breaking changes

  • ddclient now looks for ddclient.conf in ${sysconfdir}/ddclient by default instead of ${sysconfdir}. #789

    To retain the previous behavior, pass '--with-confdir=${sysconfdir}' to configure. For example:

    # Before v4.0.0:
    ./configure --sysconfdir=/etc
    # Equivalent with v4.0.0 and later (the single quotes are intentional):
    ./configure --sysconfdir=/etc --with-confdir='${sysconfdir}'

    or:

    # Before v4.0.0:
    ./configure --sysconfdir=/etc/ddclient
    # Equivalent with v4.0.0 and later:
    ./configure --sysconfdir=/etc
  • The --ssl option is now enabled by default. #705

  • Unencrypted (plain) HTTP is now used instead of encrypted (TLS) HTTP if the URL uses http:// instead of https://, even if the --ssl option is enabled. #608

  • The string argument to --cmdv4 or --cmdv6 is now executed as-is by the system's shell, matching the behavior of the deprecated --cmd option. This makes it possible to pass command-line arguments, which reduces the need for a custom wrapper script. Beware that the string is also subject to the shell's command substitution, quote handling, variable expansion, field splitting, etc., so you may need to add extra escaping to ensure that any special characters are preserved literally. #766

  • The default web service for --webv4 and --webv6 has changed from Google Domains (which has shut down) to ipify. 5b104ad1

  • Invalid command-line options or values are now fatal errors (instead of discarded with a warning). #733

  • All log messages are now written to STDERR, not a mix of STDOUT and STDERR. #676

  • For --protocol=freedns and --protocol=nfsn, the core module Digest::SHA is now required. Previously, Digest::SHA1 was used (if available) as an alternative to Digest::SHA. #685

  • The he built-in web IP discovery service (--webv4=he, --webv6=he, and --web=he) was renamed to he.net for consistency with the new he.net protocol. The old name is still accepted but is deprecated and will be removed in a future version of ddclient. #682

  • Deprecated built-in web IP discovery services are not listed in the output of --list-web-services. #682

  • dyndns2: Support for "wait" response lines has been removed. The Dyn documentation does not mention such responses, and the code to handle them, untouched since at least 2006, is believed to be obsolete. #709

  • dyndns2: The obsolete static and custom options have been removed. Setting the options may produce a warning. #709

  • The diagnostic --geturl command-line argument was removed. #712

  • easydns: The default value for min-interval was increased from 5m to 10m to match easyDNS documentation. #713

  • woima: The dyn.woima.fi service appears to be defunct so support was removed. #716

  • googledomains: Support was removed because the service shut down. #716

  • The --retry option was removed. #732

New features

  • New --mail-from option to control the "From:" header of email messages. #565
  • Simultaneous/separate updating of IPv4 (A) records and IPv6 (AAAA) records is now supported in the following services: gandi (#558), nsupdate (#604), noip (#603), mythicdyn (#616), godaddy (#560).
  • porkbun: Added support for subdomains. #624
  • gandi: Added support for personal access tokens. #636
  • Comments after the \ line continuation character are now supported. 3c522a7a
  • Minor improvements to --help output. #659, #665
  • Improved formatting of ddclient's version number. #639
  • Updated sample systemd service unit file to improve logging in the systemd journal. #669
  • The second and subsequent lines in a multi-line log message now have a different prefix to distinguish them from separate log messages. #676 #719
  • Log messages now include context, making it easier to troubleshoot issues. #725
  • emailonly: New protocol option that simply emails you when your IP address changes. #654
  • he.net: Added support for updating Hurricane Electric records. #682
  • dyndns2, domeneshop, dnsmadeeasy, keysystems: The server option can now include http:// or https:// to control the use of TLS. If omitted, the value of the ssl option is used to determine the scheme. #703
  • ddns.fm: New protocol option for updating DDNS.FM records. #695
  • inwx: New protocol option for updating INWX records. #690
  • domeneshop: Add IPv6 support. #719
  • duckdns: Multiple hosts with the same IP address are now updated together. #719
  • directnic: Added support for updatng Directnic records. #726
  • porkbun: The update URL hostname is now configurable via the server option. #752
  • dnsexit2: Multiple hosts are updated in a single API call when possible. #684

Bug fixes

  • Fixed numerous bugs in cache file (recap) handling. #740
  • Fixed numerous bugs in command-line option and configuration file processing. #733
  • noip: Fixed failure to honor IP discovery settings in some circumstances. #591
  • Fixed --usev6 with providers that have not yet been updated to use the new separate IPv4/IPv6 logic. ad854ab7
  • HTTP redirects (301, 302) are now followed. #592
  • keysystems: Fixed update URL. #629
  • dondominio: Fixed response parsing. #646
  • Fixed --web-ssl-validate and --fw-ssl-validate options, which were ignored in some cases (defaulting to validate). #661
  • Explicitly setting --web-skip, --webv4-skip, --webv6-skip, --fw-skip, --fwv4-skip, and --fwv6-skip to the empty string now disables any built-in default skip. Before, setting to the empty string had no effect. #662
  • --use=disabled now works. #665
  • --retry and --daemon are incompatible with each other; ddclient now errors out if both are provided. #666
  • --usev4=cisco and --usev4=cisco-asa now work. #664
  • Fixed "Scalar value better written as" Perl warning. #667
  • Fixed "Invalid Value for keyword 'wtime' = ''" warning. #734
  • Fixed unnecessary repeated updates for some services. #670 #732
  • Fixed DNSExit provider when configured with a zone and non-identical hostname. #674
  • infomaniak: Fixed frequent forced updates after 25 days (max-interval). #691
  • infomaniak: Fixed incorrect parsing of server response. #692
  • infomaniak: Fixed incorrect handling of nochg responses. #723
  • regfishde: Fixed IPv6 support. #691
  • easydns: IPv4 and IPv6 addresses are now updated separately ...
Read more

v4.0.0-rc.3

11 Jan 08:28
v4.0.0-rc.3
Compare
Choose a tag to compare
v4.0.0-rc.3 Pre-release
Pre-release

Notable changes since v4.0.0-rc.2:

Breaking changes

  • The string argument to --cmdv4 or --cmdv6 is now executed as-is by the system's shell, matching the behavior of the deprecated --cmd option. This makes it possible to pass command-line arguments, which reduces the need for a custom wrapper script. Beware that the string is also subject to the shell's command substitution, quote handling, variable expansion, field splitting, etc., so you may need to add extra escaping to ensure that any special characters are preserved literally. #766

New features

  • dnsexit2: Multiple hosts are updated in a single API call when possible. #684

v4.0.0-rc.2

07 Jan 09:42
v4.0.0-rc.2
Compare
Choose a tag to compare
v4.0.0-rc.2 Pre-release
Pre-release

Notable changes since v4.0.0-rc.1:

Breaking changes

  • ddclient now looks for ddclient.conf in ${sysconfdir}/ddclient by default instead of ${sysconfdir}. #789

    To retain the previous behavior, pass '--with-confdir=${sysconfdir}' to configure. For example:

    # Before v4.0.0:
    ./configure --sysconfdir=/etc
    # Equivalent with v4.0.0 and later (the single quotes are intentional):
    ./configure --sysconfdir=/etc --with-confdir='${sysconfdir}'

    or:

    # Before v4.0.0:
    ./configure --sysconfdir=/etc/ddclient
    # Equivalent with v4.0.0 and later:
    ./configure --sysconfdir=/etc

New features

  • New --mail-from option to control the "From:" header of email messages. #565

v4.0.0-rc.1

25 Dec 07:34
v4.0.0-rc.1
Compare
Choose a tag to compare
v4.0.0-rc.1 Pre-release
Pre-release

Notable changes from v3.11.2:

Breaking changes

  • The --ssl option is now enabled by default. #705
  • Unencrypted (plain) HTTP is now used instead of encrypted (TLS) HTTP if the URL uses http:// instead of https://, even if the --ssl option is enabled. #608
  • The default web service for --webv4 and --webv6 has changed from Google Domains (which has shut down) to ipify. 5b104ad1
  • Invalid command-line options or values are now fatal errors (instead of discarded with a warning). #733
  • All log messages are now written to STDERR, not a mix of STDOUT and STDERR. #676
  • For --protocol=freedns and --protocol=nfsn, the core module Digest::SHA is now required. Previously, Digest::SHA1 was used (if available) as an alternative to Digest::SHA. #685
  • The he built-in web IP discovery service (--webv4=he, --webv6=he, and --web=he) was renamed to he.net for consistency with the new he.net protocol. The old name is still accepted but is deprecated and will be removed in a future version of ddclient. #682
  • Deprecated built-in web IP discovery services are not listed in the output of --list-web-services. #682
  • dyndns2: Support for "wait" response lines has been removed. The Dyn documentation does not mention such responses, and the code to handle them, untouched since at least 2006, is believed to be obsolete. #709
  • dyndns2: The obsolete static and custom options have been removed. Setting the options may produce a warning. #709
  • The diagnostic --geturl command-line argument was removed. #712
  • easydns: The default value for min-interval was increased from 5m to 10m to match easyDNS documentation. #713
  • woima: The dyn.woima.fi service appears to be defunct so support was removed. #716
  • googledomains: Support was removed because the service shut down. #716
  • The --retry option was removed. #732

New features

  • Simultaneous/separate updating of IPv4 (A) records and IPv6 (AAAA) records is now supported in the following services: gandi
    (#558), nsupdate (#604), noip
    (#603), mythicdyn (#616), godaddy (#560).
  • porkbun: Added support for subdomains. #624
  • gandi: Added support for personal access tokens. #636
  • Comments after the \ line continuation character are now supported. 3c522a7a
  • Minor improvements to --help output. #659, #665
  • Improved formatting of ddclient's version number. #639
  • Updated sample systemd service unit file to improve logging in the systemd journal. #669
  • The second and subsequent lines in a multi-line log message now have a different prefix to distinguish them from separate log messages. #676 #719
  • Log messages now include context, making it easier to troubleshoot issues. #725
  • emailonly: New protocol option that simply emails you when your IP address changes. #654
  • he.net: Added support for updating Hurricane Electric records. #682
  • dyndns2, domeneshop, dnsmadeeasy, keysystems: The server option can now include http:// or https:// to control the use of TLS. If omitted, the value of the ssl option is used to determine the scheme. #703
  • ddns.fm: New protocol option for updating DDNS.FM records. #695
  • inwx: New protocol option for updating INWX records. #690
  • domeneshop: Add IPv6 support. #719
  • duckdns: Multiple hosts with the same IP address are now updated together. #719
  • directnic: Added support for updatng Directnic records. #726
  • porkbun: The update URL hostname is now configurable via the server option. #752

Bug fixes

  • Fixed numerous bugs in cache file (recap) handling. #740
  • Fixed numerous bugs in command-line option and configuration file processing. #733
  • noip: Fixed failure to honor IP discovery settings in some circumstances. #591
  • Fixed --usev6 with providers that have not yet been updated to use the new separate IPv4/IPv6 logic. ad854ab7
  • HTTP redirects (301, 302) are now followed. #592
  • keysystems: Fixed update URL. #629
  • dondominio: Fixed response parsing. #646
  • Fixed --web-ssl-validate and --fw-ssl-validate options, which were ignored in some cases (defaulting to validate). #661
  • Explicitly setting --web-skip, --webv4-skip, --webv6-skip, --fw-skip, --fwv4-skip, and --fwv6-skip to the empty string now
    disables any built-in default skip. Before, setting to the empty string had no effect. #662
  • --use=disabled now works. #665
  • --retry and --daemon are incompatible with each other; ddclient now errors out if both are provided. #666
  • --usev4=cisco and --usev4=cisco-asa now work. #664
  • Fixed "Scalar value better written as" Perl warning. #667
  • Fixed "Invalid Value for keyword 'wtime' = ''" warning. #734
  • Fixed unnecessary repeated updates for some services. #670 #732
  • Fixed DNSExit provider when configured with a zone and non-identical hostname. #674
  • infomaniak: Fixed frequent forced updates after 25 days (max-interval). #691
  • infomaniak: Fixed incorrect parsing of server response. #692
  • infomaniak: Fixed incorrect handling of nochg responses. #723
  • regfishde: Fixed IPv6 support. #691
  • easydns: IPv4 and IPv6 addresses are now updated separately to be consistent with the easyDNS documentation.
    #713
  • easydns: Fixed parsing of result code from server response. #713
  • easydns: Fixed successful updates treated as failed updates. #713
  • Any IP addresses in an HTTP response's headers or in an HTTP error response's body are now ignored when obtaining the IP address from a web-based IP discovery service (--usev4=webv4, --usev6=webv6) or from a router/firewall device. #719
  • yandex: Errors are now retried. #719
  • gandi: Fixed handling of error responses. #721
  • dyndns2: Fixed handling of responses for multi-host updates. #728
  • porkbun: The default update URL was updated from porkbun.com to api.porkbun.com. #752

v3.11.2

23 Nov 12:11
v3.11.2
Compare
Choose a tag to compare

Quick release - primarily to get caching issues (#590) fixed.

Changelog can be found here.

v3.11.1

25 Oct 19:38
v3.11.1
Compare
Choose a tag to compare

Quick release to get the LSIO downstream issues mitigated for now.

Changelog can be found here.

v3.11.0

21 Oct 17:31
v3.11.0
Compare
Choose a tag to compare

Note: Check the changelog for breaking changes!

This release is the first release under new maintainership. If there is any issues with downstream maintenance, please reach out 👍

Changelog can be found here

v3.11.0_1

15 Oct 14:14
v3.11.0_1
Compare
Choose a tag to compare
v3.11.0_1 Pre-release
Pre-release

Note: Check the changelog for breaking changes

This release is the first prerelease under new maintainership. If there is any issues with downstream maintenance, please reach out 👍

Changelog can be found here

v3.10.0

20 Oct 18:09
v3.10.0
3e2cb0a
Compare
Choose a tag to compare

Note

Please also read the changelog for v3.10.0_2 and v3.10.0_1 which contains dependency changes.

New features

  • Added support for domaindiscount24.com
  • Added support for njal.la

v3.10.0_2

16 May 00:14
v3.10.0_2
0b8d391
Compare
Choose a tag to compare
v3.10.0_2 Pre-release
Pre-release

Bug fixes

  • Fix version number being unable to parse