v2.7.0
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 providerSERVER_ENABLED
option defaulting toyes
- 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 setgodaddy
: link to comment when status code 403 is receivedovh
: 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 ofhttps://
- 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 typoidentifiersuffix
->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
: unexportcreateRecord
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