We are proud to announce the first alpha release of what should become PowerDNS Recursor 4.5.0. This release contains various bug fixes, improvements and new features.
The upcoming 4.5.0 release features a re-worked negative cache that is shared between threads, allowing more efficient use of the cache and reduced memory consumption.
Support for Extended DNS Errors (RFC 8914) has been added. These can be enabled by setting the extended-resolution-errors setting to ‘yes’, this will send DNSSEC and resolution related errors to clients. Extended Errors are also hooked up to the Lua scripting engine, allowing fine-grained setting of both the error code and extra information in the response.
A “refresh almost expired records” (also called “refetch”) mechanism has been introduced to keep the record cache warm. In short, if a query comes in and the cached record’s TTL is almost expired (within N percent of its original value) the cached record is served to the client and the record queried for in the background, ensuring that new queries for that record are fresh and served from the cache.
Other new features and improvements are:
- The complete protobuffer and dnstap logging code has been rewritten to have much smaller performance impact.
- We have introduced non-offensive synonyms for words used in settings. See the upgrade guide.
- The default minimum TTL override has been changed from 0 to 1.
Please refer to the changelog for additional details.
With the future 4.5.0 final release, the 4.2.x releases will be EOL and the 4.3.x releases will go into critical security fixes only mode. Consult the EOL policy for more details.
We would also like to take this opportunity to announce that we will stop supporting systems using 32-bit time. This includes 32-bit Linux platforms like arm and i386 before kernel version 5.1.
We are grateful to the PowerDNS community for the reporting of bugs, issues, feature requests, and especially to the submitters of fixes and features.