v1.5.0
qdm12/dnsv1.5.0Apr 2, 2021by qdm12
AI Summary
A major maintenance release upgrading to Go 1.16 and refactoring the codebase to prepare for future DNS over TLS/HTTP support, alongside CI and development environment improvements.
Key Highlights
- Upgraded to Go 1.16 and refactored main.go using signal.NotifyContext
- Split packages to prepare for DoT and DoH implementation
- Simplified CI GitHub Actions and Dockerfile
- Upgraded qdm12/golibs and all direct dependencies
New Features
- Preparation for DoT and DoH implementation in Go
Full Release Notes
## Bug fixes
- Fix settings formatting in logs of program
## Documentation
- Update readme
## Maintenance
- Upgrade qdm12/golibs and all direct dependencies
- Upgrade to Go 1.16
- Refactor main.go using `signal.NotifyContext`
- CI Github Actions and Dockerfile simplifications
- Run tests in CI to pass coverage
- Run lint and test on build architecture only
- Bump golangci-lint to 1.37.1
- Cross compile Go binary using native Go compiler
- Only the final image is run on emulated Docker CPU architecture
- Prepare for DoT and DoH implementation in Go
- Split apart blacklisting and OS related functions from `pkg/unbound` package to `pkg/blacklist` and `pkg/nameserver`
- Move `WaitForUnbound` from `pkg/unbound` to `pkg/check` as `WaitForDNS`
## Dev setup
- Fix Go extension name in dev container
- Change bind mounts in dev container
- `~/.ssh` as read and write (causing issue on Windows otherwise)
- Bind mount shell history `~/.zsh_history`