v2.0.0-rc9

davidfowl/tallyv2.0.0-rc9Nov 5, 2025by qdm12

AI Summary

A release candidate focusing on DNS functionality fixes, IPv6 improvements, and dependency upgrades.

Key Highlights

  • DNS loop fixed to handle errors before subsequent starts
  • IPv6 improvements with Cloudflare and Google fallback
  • Listening on port 53 now works
  • Upgraded Go from 1.23 to 1.25

New Features

  • Re-added 'plain' upstream type
  • DNS server filtering for private IP addresses
  • Lowercase all question Name field
  • Optimized code scanning for blockbuilder

Full Release Notes

## Features

- Re-add "plain" upstream type (needed for debugging and Gluetun)
- pkg/exchanger: add round trip duration to error message
- pkg/middlewares/filter/mapfilter
  - map filter by IP version to reduce memory usage

## Fixes

- Listening on another port than 53 now works
- lowercase all question Name field to avoid any oddities
- internal/dns: loop fixed to handle error before subsequent start completes (fixing whole program being stuck at starting steps)
- do not modify system wide nameservers on Unix systems to avoid permission issues
- internal/support/ipv6:
  - try both cloudflare and google in case one is not available (hum hum cloudflare)
  - detection failure logged as warning not error
- pkg/blockbuilder: skip malformed hostnames instead of returning an error
- pkg/middlewares/localdns:
  - only use DNS servers with a private IP address
  - lowercase all fqdns before checking for locality
- pkg/middlewares/filter/mapfilter
  - blocked ip prefixes metric fixed
- pkg/nameserver: get both private and public DNS servers on Windows

## Maintenance

- pkg/dot: revert to use `tls.Client` and finer steps for more control
- pkg/blockbuilder: optimized code scanning big files line by line
- bump Go from 1.23 to 1.25
- upgrade linter to v2.4.0
- Dependencies
  - bump qdm12/goservices to 6bee97bd4978 in order to have the httpserver handler context cancelation feature
- CI
  - bump actions/setup-go from v2 to v6
  - use Go version from go.mod
  - bump Alpine from 3.20 to 3.22
  - pull container images at build time from ghcr.io when possible
- disable package comments requirement warning in dev container
- upgrade dev container to v0.21 
  - Go upgraded from 1.23 to 1.25
  - golangci-lint upgraded to v2.4.0
  - Alpine upgraded from 3.20 to 3.22
  - Disable package comment requirement by gopls' staticcheck
  - Pull container image from ghcr.io