We are proud to announce the first beta release of PowerDNS Recursor 5.0.0.
Compared to the latest 4.9 release, this pre-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. We encourage third-party package maintainers to take this beta release and adapt their builds and provide feedback on this conversion. Our own package builds for various distributions are already adapted.
We invite everybody to test this beta release. Some suggestions of things to test:
- Reading an existing old-style configuration works as expected
- Converting existing settings file(s) to YAML using the conversion guide
- Running a converted or newly created YAML configuration
- (Automatic) conversion of configuration files managed by the Recursor through its REST API
In addition to YAML settings, this pre-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
With the upcoming final 5.0.0 release, the 4.7.x releases will be EOL and the 4.8.x and 4.9.x releases will go into critical fixes only mode. 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.