mirror of
https://github.com/qdm12/ddns-updater.git
synced 2026-03-31 06:24:01 -04:00
-
released this
2023-06-07 03:51:11 -04:00 | 399 commits to master since this release📅 Originally published on GitHub: Wed, 07 Jun 2023 09:07:40 GMT
🏷️ Git tag created: Wed, 07 Jun 2023 07:51:11 GMTFeatures
- 🆕 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_ADDRESSenvironment variable - Specify resolver timeout with the
RESOLVER_TIMEOUTenvironment variable - Retry getting IP address up to 3 times
- Use
github.com/breml/rootcertsv0.2.11 for TLS certs - Add destination to notification errors
- Add GHCR registry image (#259)
pkg/publicip/infopackage (#189)pkg/publicip: do not use providers banning us
Fixes
- Cloudflare:
key->userServiceKeyvariable name (#462)- fix service key regex
- dd24:
- API call and fix (#236)
- Handle non-empty responses
- ddnss.de add
dual_stackparameter (#270, thanks @quantum-byte) - DNSOMatic:
- allow email addresses as
userfield - remove password regex check
- allow email addresses as
- DNSPod add IPv6 record ID finder
- FreeDNS fix
no ip changemessages decoding - Linode fix error decoding and set
namefield 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
nochgresponses
- Spdyn response handling for
goodandnochg SHOUTRRR_ADDRESSEScase 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/datadirectory in Dockerfile - Use
github.com/qdm12/gosplashfor program start log information - Update
.devcontainerdefinition 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/backuppackage refactorinternal/health: remove unneededloggerargument from functionsinternal/settings/*: validate using local regexesinternal/settings/dyn: change JSON field tag frompasswordtoclient_key(with retro-compatibility)internal/settings/providers/dyn: more information on bad request errorinternal/settings/providers/ovh: Add error context to errorsinternal/settings/providers: rework IP string search code- Change database id to be
uintinstead ofint - Remove
GetAllDomainsHostsdatabase method - Return
stringinstead oferrorwhen 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,structcheckandvarcheck - Update exclude rules
Build
- Upgrade Go from 1.16 to 1.20
- Remove unneeded alpine
tzdatapackage - 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/loginstead of logger fromgithub.com/qdm12/golibs - Upgrade
qdm12/goshutdownfrom 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_ADDRESSenvironment variable - Add Build the image section
- Clarify how to use another user ID for the container
- Rework metadata badges
- Fix lint errors
- Remove
sanitizequery parameter from svg tag - Autoformat document
./docsDownloads