PowerDNS Recursor 5.0.0-rc2 Released

Dec 20, 2023

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.


About the author

Otto Moerbeek

Otto Moerbeek

Senior Developer at PowerDNS


Related Articles

PowerDNS Authoritative Server 4.9.0-beta2

This is release 4.9.0-beta2 (beta1 was not released, due to a tagging mistake) of the Authoritative Server. It brings a few...

Peter van Dijk Feb 16, 2024

PowerDNS Recursor Security Advisory 2024-01

Today we have released PowerDNS Recursor 4.8.6, 4.9.3 and 5.0.2. These releases fix PowerDNS Security Advisory 2024-01:...

Otto Moerbeek Feb 13, 2024

PowerDNS Authoritative Server 4.9.0-alpha1

This is release 4.9.0-alpha1 of the Authoritative Server. It brings a few new features, and a collection of small...

Peter van Dijk Jan 12, 2024

PowerDNS Recursor 5.0.1 Released

We are proud to announce the release of PowerDNS Recursor 5.0.1! This is the first public release of the 5.0 branch....

Otto Moerbeek Jan 10, 2024