- Only calls DNS API(s) once the public IP address changes
- Only one ip method per ip version (ipv4, ipv6, ipv4/v6)
- Gets the ip address once every period for all records
- More object oriented coding instead of functional
- Support to update ipv4 and ipv6 records separately, for supported DNS providers
- Small UI adjustments
- Only show last 2 previous IP addresses in notifications and UI
- Database uses interfaces to be modular/pluggable in order to move away from sqlite
- Less dependencies, it even uses a switch statement instead of httprouter
- Updated golibs
- Changed default logging format to `console` (zap)
- Better code overall, modular updater and trigger system
- Refactored readme
- CI script improved
- Move from settings in environment variables `RECORDi` to a configuration file *config.json*
- Each entry can has its own delay optionally
- Proper cleanup on exit (close channels etc.)
- Fan out channels architecture for force and quit channels to all updates goroutines
- Each entry has its own set of fields explained in the readme
- Retrocompatibility for environment variables entries for now
- More enum types to avoid problems
- `LOGGING` environment variable `json` or `human`
- `NODEID` environment variable (integer)
- Much cleaner go code
- Listener for exit of program to do cleanup
- All code is in packages except main.go
- Custom logger package added
- Connectivity checks reworked
- Healthcheck server on localhost only, so not exposed to outside world
- Updated `go.mod` and `go.sum`