Releases
v2.5.0
qdm12
released this
07 Jun 09:07
Features
🆕 providers
Shoutrrr library update to v0.7.0
Cloudflare : create record if it does not exist (#477 )
DNSPod : log entire JSON response on error
Dreamhost : allow to specify a custom host
Specify resolver address with the RESOLVER_ADDRESS
environment variable
Specify resolver timeout with the RESOLVER_TIMEOUT
environment variable
Retry getting IP address up to 3 times
Use github.com/breml/rootcerts
v0.2.11 for TLS certs
Add destination to notification errors
Add GHCR registry image (#259 )
pkg/publicip/info
package (#189 )
pkg/publicip
: do not use providers banning us
Fixes
Cloudflare :
key
-> userServiceKey
variable name (#462 )
fix service key regex
dd24 :
API call and fix (#236 )
Handle non-empty responses
ddnss.de add dual_stack
parameter (#270 , thanks @quantum-byte )
DNSOMatic :
allow email addresses as user
field
remove password regex check
DNSPod add IPv6 record ID finder
FreeDNS fix no ip change
messages decoding
Linode fix error decoding and set name
field when creating record
LuaDNS match configured host instead of first record (#249 )
Namecheap XML decoding error & allow empty IP field in response
OVH :
fix signature in api mode
support nochg
responses
Spdyn response handling for good
and nochg
SHOUTRRR_ADDRESSES
case sensitivity fixed
Write JSON file from CONFIG variable
DNS public IP fetching timeout fixed
Better error messages for JSON decoding errors
Shoutrrr validation error wrapping
Maintenance
Fix line endings to lf (#220 )
Remove microbadger which went EOL
Remove unneeded /tmp/data
directory in Dockerfile
Use github.com/qdm12/gosplash
for program start log information
Update .devcontainer
definition files and readme
Code health
General refactoring involving:
Return concrete structs instead of interfaces
Accept locally defined interfaces as narrow as possible
Export returned struct types from exported functions
Do not export interfaces for other packages to use
Define and use sentinel errors
Wrap all sentinel errors
Use string comparisons instead of length for string variables
Remove short if error checks
Interface composition for Database
HTTP client logger middleware
internal/backup
package refactor
internal/health
: remove unneeded logger
argument from functions
internal/settings/*
: validate using local regexes
internal/settings/dyn
: change JSON field tag from password
to client_key
(with retro-compatibility)
internal/settings/providers/dyn
: more information on bad request error
internal/settings/providers/ovh
: Add error context to errors
internal/settings/providers
: rework IP string search code
Change database id to be uint
instead of int
Remove GetAllDomainsHosts
database method
Return string
instead of error
when appropriate (linode)
Linting
Upgrade golangci-lint from v1.41.1 to v1.52.2
Enable all default linters
Add linters and fix new errors: ireturn
, revive
, asasalint
, bidichk
, containedctx
, cyclop
, decorder
, durationcheck
, errchkjson
, errname
, errorlint
, execinquery
, forcetypeassert
, gomoddirectives
, grouper
, interfacebloat
, maintidx
, makezero
, nilnil
, nosprintfhostport
, promlinter
, reassign
, tenv
, usestdlibvars
, goerr113
, dupword
. paralleltest
, musttag
, gocheckcompilerdirectives
Remove deprecated linters: deadcode
, structcheck
and varcheck
Update exclude rules
Build
Upgrade Go from 1.16 to 1.20
Remove unneeded alpine tzdata
package
Upgraded Alpine from 3.13 to 3.18
CI
Allow slash in branch name for docker image tags (#219 )
Remove go modules tidy check
Add UID and GID build arguments
Bump GitHub actions versions (#353 )
Restrict publish image trigger events
Dependencies
Use github.com/qdm12/log
instead of logger from github.com/qdm12/golibs
Upgrade qdm12/goshutdown
from v0.1.0 to v0.3.0
Upgrade github.com/qdm12/golibs
Wrap errors in config package with environment variable name
Update logger
Documentation
Fix links in .github/CONTRIBUTING.md
Readme
Document RESOLVER_ADDRESS
environment variable
Add Build the image section
Clarify how to use another user ID for the container
Rework metadata badges
Fix lint errors
Remove sanitize
query parameter from svg tag
Autoformat document
./docs
Cloudflare:
host parameter should be @
remove unneeded steps (#363 )
DuckDNS: fix provider_ip
not for ipv6
Dyn: change JSON field from password
to client_key
(with retro-compatibility)
FreeDNS: add domain setup section (#238 )
Gandi: fix JSON example syntax (#362 )
Google: fix JSON example (#223 )
You can’t perform that action at this time.