Added
- Unit tests for proxy code
- Unit tests for new code introduced to make ruff happy
- New `collect_ttl` setting to control collection of per-RR TTL metrics. Default is true.
- New `verify_certificate` bool setting to control validation of certificates on encrypted protocols. Default is true.
- New `verify_certificate_path` str setting to override the system CA when validating certificates on encrypted protocols. Leave empty to use the default system CA. Default is an empty string.
Changed
- Replace black, flake8, isort, pydocstyle with ruff
- Some refactoring to reduce complexity and ease testing
- Much linting
- Move coverage.py config to .coveragerc to make showing measurement contexts in coverage html work
- Proxy support for DoQ disabled, pending next dnspython release with https://github.com/rthalley/dnspython/pull/1060
- Improve unit tests
- Polish dockerhub action a bit (thanks dallemon!)
- Re-add custom histogram buckets for metric `dnsexp_dns_responsetime_sedonds` from 1 second doubling until 4194304 seconds (48 days).
- Build docs in `pre-commit` to avoid breaking them
- Include `protocol`, `server`, and `proxy` labels in the `dnsexp_scrape_failures_total` Counter metric.
Fixed
- Fixed a bug which made `fail_if_all_match_regexp` validation succeed on the first matching RR (not considering further RRs).