We are proud to announce the second release candidate 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 release candidate 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 release candidate. 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
- 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.
- The RUNTIME_DIRECTORY environment variable, as set by systemd is now respected again.
- Disabling structured logging has been deprecated and will be removed in a future release.
As always, there are also many smaller bug fixes and improvements, please refer to the changelog for additional details. When upgrading do not forget to check the upgrade guide.
Please send us all feedback and issues you might have via the mailing list, or in case of a bug, via GitHub.
The tarball (signature) is available from our download server and packages for several distributions are available from our repository.
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.