github qdm12/ddns-updater v2.7.0

9 days ago

Pre-built binaries are attached at the bottom of this release notes in the Assets section. Feel free to 👍 the release!

Features

  • Web UI: improvements and fixes (#687)
  • changeip.com support
  • route53 simple routing support (#715)
  • CONFIG_FILEPATH (or --config-filepath) option to specify a configuration file path
  • healthchecks.io
    • fail and exit codes support
    • HEALTH_HEALTHCHECKSIO_BASE_URL option
  • container: /updater/data built-in with correct ownership (#634)
  • publicip/http:
    • add multiple providers for all IP versions: icanhazip, ident, nnev, wtfismyip, seeip.org
    • add changeip for ipv4orv6
  • publicip/info: add ip2location.io provider
  • SERVER_ENABLED option defaulting to yes
  • Print version when the first argument is version, -version or --version
  • server: serve root at /rooturl on top of /rooturl/
  • validate domain strings for providers using it (#638)

Fixes

See v2.6.1 for fixes incorporated in this release compared to v2.6.0

  • container: rename /updater/app to /updater/ddns-updater so it can easily be found in running processes (see #729)
  • health server: only run it when running in a container
  • trim spaces from each "host" value
  • cloudflare: prevent empty "key" value if "email" is set
  • godaddy: link to comment when status code 403 is received
  • ovh: add no host case handling

Documentation

  • readme: update for standalone binaries
    • update description and title to be generic and non-specific to containers
    • describe availability as container image and prebuilt binaries
    • split features in subsections
  • readme: fix public ip echo custom url prefix url:https:// instead of https://
  • readme: RESOLVER_ADDRESS description improved
  • readme: HEALTH_HEALTHCHECKSIO_UUID description improved
  • readme: reference Qnap setup guide (issue #708)
  • readme: better explain container directory and file creation
  • readme: fix missing allinkl document link
  • contributing document with example provider
    • add example provider in code and docs/example.md
    • merge contributing guides together
    • add contributing section on adding a new provider
  • contributing: change 'remote containers extension' to new 'dev containers extension' (#696)
  • devcontainer: change 'remote containers extension' to new 'dev containers extension'
  • docs/infomaniak.md: add missing details and guide (#677)
  • docs/: fix typo identifiersuffix -> identifier suffix

Maintenance

Coding

  • migrate to service architecture with github.com/qdm12/goservices (#743)
  • porkbun: add context to top level errors
  • linter
    • remove invalid configuration file fields
    • add multiple linters
  • cloudflare: unexport createRecord method
  • public ip: better error messages stating the provider type if unknown
  • cmd/updater: split main function into smaller functions
  • gcp: validate credentials JSON object has "type" field
  • change ttl type from int/uint/int32 to uint32

Dependencies

  • drop Google SDK dependency
    • depend only on golang.org/x/oauth2
    • reduce program size from 17MB to 11.5MB
  • bump github.com/qdm12/gosettings from 0.4.0-rc9 to 0.4.1 (#683)
  • bump github.com/breml/rootcerts from 0.2.14 to 0.2.17 (#612, #631, #741)
  • bump github.com/miekg/dns from 1.1.57 to 1.1.61 (#600, #745)
  • bump golang.org/x/mod from 0.14.0 to 0.18.0 (#637, #736)
  • bump github.com/go-chi/chi/v5 from 5.0.11 to 5.0.12 (#654)
  • bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#662)
  • Upgrade Go from 1.21 to 1.22

CI

  • bump actions/checkout from 3 to 4 (#599)
  • bump actions/setup-go from 2 to 5 (#630)
  • bump crazy-max/ghaction-github-labeler from 4 to 5 (#596)
  • bump DavidAnson/markdownlint-cli2-action from 14 to 16 (#629, #688)
  • bump docker/login-action from 2 to 3 (#597)
  • bump docker/setup-qemu-action from 2 to 3 (#584)
  • bump golangci-lint to v1.56.2
  • bump goreleaser/goreleaser-action from 5 to 6 (#737)
  • bump peter-evans/dockerhub-description from 3 to 4 (#610)
  • pin docker/build-push-action to v5

Don't miss a new ddns-updater release

NewReleases is sending notifications on new releases.