PowerDNS 4.0.0 is Released And Available For Download

PowerDNS is a free and open source daemon nameserver that provides high-performance and can be modelled to act as an advanced and modern authoritative-only nameserver on GNU/Linux operating systems, as well as BSD distributions.

A DNS server written from scratch
PowerDNS is written from scratch, conforms with all relevant DNS standards documents, and interfaces with almost any database. It is distributed in multiple, separate packages, including pdns, powerdns-server, pdns-recursor and pdns-server.

What's new in PowerDNS 4.0.0

Many of the changes are on the inside and were part of the great “spring cleaning“:
  • Moved to C++ 2011, a cleaner more powerful version of C++ that has allowed us to improve the quality of implementation in many places.
  • Implemented dedicated infrastructure for dealing with DNS names that is fully “DNS Native” and needs less escaping and unescaping. Due to this, the PowerDNS Authoritative Server can now serve DNSSEC-enabled root-zones.
  • All backends derived from the Generic SQL backend use prepared statements.
  • Both the server and pdns_control do the right thing when chroot‘ed.
  • Caches are now fully canonically ordered, which means entries can be wiped on suffix in all places
In addition to this cleanup, the following new and exciting features have been added:
  • A revived and supported ODBC backend (godbc).
  • A revived and supported LDAP backend (ldap).
  • Support for CDS/CDNSKEY and RFC 7344 key-rollovers.
  • Support for the ALIAS record.
  • The webserver and API are no longer experimental. The API-path has moved to /api/v1
  • DNSUpdate is no longer experimental.
  • ECDSA (algorithm 13 and 14) supported without in-tree cryptographic libraries (provided by OpenSSL).
  • Experimental support for ed25519 DNSSEC signatures (when compiled with libsodium support).
  • Many new pdnsutil commands, e.g.
  • help command now produces the help
  • Warns if the configuration file cannot be read
  • Does not check disabled records with check-zone unless verbose mode is enabled
  • create-zone command creates a new zone
  • add-record command to add records
  • delete-rrset and replace-rrset commands to delete and add rrsets
  • edit-zone command that spawns $EDITOR with the zone contents in zonefile format regardless of the backend used (blogpost)
  • GeoIP backend has gained many features, and can now e.g. run based on explicit netmasks not present in the GeoIP databases
With new features come removals. The following backends have been dropped in 4.0.0:
  • LMDB.
  • Geo (use the improved GeoIP instead).
Other important changes and deprecations include:
  • pdnssec has been renamed to pdnsutil.
  • Support for the PolarSSL/MbedTLS, Crypto++ and Botan cryptographic libraries have been dropped in favor of the (faster) OpenSSL libcrypto (except for GOST, which is still provided by Botan).
  • ECDSA P256 SHA256 (algorithm 13) is now the default algorithm when securing zones.
  • The PowerDNS Authoritative Server now listens by default on all IPv6 addresses.
  • Several superfluous queries have been dropped from the Generic SQL backends, if you use a non-standard SQL schema, please review the new defaults
  • insert-ent-query, insert-empty-non-terminal-query, insert-ent-order-query have been replaced by one query named insert-empty-non-terminal-order-query
  • insert-record-order-query has been dropped, insert-record-query now sets the ordername (or NULL)
  • insert-slave-query has been dropped, insert-zone-query now sets the type of zone
  • The INCEPTION, INCEPTION-WEEK and EPOCH SOA-EDIT metadata values are marked as deprecated and will be removed in 4.1.0