We are proud to announce the release of PowerDNS Recursor 5.0.1! This is the first public release of the 5.0 branch.
Compared to the latest 4.9 release, this release features the ability to read settings from YAML files, enhancing structure, processing and error-checking of settings.
There is also an internal change: the code processing the YAML file is written in Rust and generated from a table. The former allows for more secure code and the latter has the big advantage that old-style settings, YAML settings and documentation are automatically kept in sync.
Current old-style settings are still supported without change. There is a semi-automatic process to convert old setting files to the new format. A future release will remove support for the old-style settings.
Introducing Rust code implies that the build procedure has changed. Our own package builds for various distributions are adapted.
In addition to YAML settings, this release also includes the following changes
- The Recursor now has dedicated thread(s) to process incoming TCP queries.
- Improvements to the handling of a few edge cases related to NS records.
- A few files that are generated are now packaged in the source tarball, so that package builds do not have to generate them.
- The Recursor now includes extended errors in responses by default.
- By default, the Recursor now disallows queries without the Recursion Desired (RD) bit set.
- The default of nsec3-max-iterations has been lowered to 50.
We also made changes to our Open Source End of Life policy. Older release trains are now supported for one year after the following major release. Consult the EOL policy for more details.
We would also like to mention that with the 4.5 release we stopped supporting systems using 32-bit time. This includes many 32-bit Linux platforms.
We are grateful to the PowerDNS community for the reporting of bugs, issues, feature requests, and especially to the submitters of fixes and implementations of features.