1.3. Release notes

Before proceeding, it is advised to check the release notes for your PDNS version, as specified in the name of the distribution file.

1.3.1. Version 2.9.10

Small bugfixes, LDAP update. Released 3rd of July 2003. Apologies for the long delay, real life keeps interfering.

Warning

Do not use or try to use 2.9.9, it was a botched release!

Warning

There has been a change in behaviour whereby disable-axfr does what it means now! From now on, setting allow-axfr-ips automatically disables AXFR from unmentioned subnets.

  • 2.9.8 was prone to crash on adding additional records. Thanks to excellent debugging by PowerDNS users worldwide, the bug was found quickly and is in fact present in all earlier PowerDNS releases, but for some reason doesn't cause crashes there.

  • Notifications now jump in front of the queue of domains that need to be checked for changes, giving much greater perceived performance. This is needed if you have tens of thousands of slave domains and your master server is on a high latency link. Thanks to Mark Jeftovic of EasyDNS for suggesting this change and testing it on their platform.

  • Dean Mills reported that PowerDNS does confusing logging about changing GIDs and UIDs, fixed. Cosmetic only.

  • pdns_recursor may have logged empty lines for some users, fixed. Solution suggested by Norbert Sendetzky.

  • LDAP: DNS TTLs were random values (Norbert Sendetzky, Stefan Pfetzing). New ldap-default-ttl option.

  • LDAP: Now works with OpenLDAP 2.1 (Norbert Sendetzky)

  • LDAP: error handling for invalid MX records implemented (Norbert Sendetzky)

  • LDAP: better exception handling (Norbert Sendetzky)

  • LDAP: code cleanup of lookup() (Norbert Sendetzky)

  • LDAP: added support for scoped searches (Norbert Sendetzky)

1.3.2. Version 2.9.8

Queen's day release! 30th of April 2003.

Added support for AIX, fixed negative SOA caching. Some other cleanups. Not a major release but enough reasons to upgrade.

Bugs fixed:

Improvements:

  • Removed crypt.h dependency from powerldap.hh, which was a problem on some platforms (Richard Arends)

  • PowerDNS can't parse so called binary labels which we now detect and ignore, after printing a warning.

  • Specifying allow-axfr-ips now automatically disables AXFR for all non-mentioned addresses.

  • A Solaris ready init.d script is now part of the tar.gz (contributed, but I lost by whom).

  • Added some fixes to PowerDNS can work on AIX (spotted by Markus Heimhilcher).

  • Norbert Sendetzky contributed zone2ldap.

  • Everybody's favorite compiler warning from zone2sql.cc was removed!

  • Recursor now listens on TCP!

1.3.3. Version 2.9.7

Released on 2003-03-20.

This is a sweeping release in the sense of cleanup. There are some new features but mostly a lot of cleanup going on. Hiding inside is the bind2backend, the next generation of the bind backend. A work in progress. Those of you with overlapping zones, as mentioned in the changelog of 2.9.6, are invited to check it out by replacing launch=bind by launch=bind2 and renaming all bind- parameters to bind2-. Be aware that if you run with many small zones, this backend is faster, but if you run with a few large ones, it is slower. This will improve.

Features:

Improvements:

  • Zone2sql would happily try to read from a directory and not give a useful error about this.

  • PowerDNS now reports the case where it can't figure out any IP address of slave nameservers for a zone

  • Removed receiver-threads setting which was experimental and in fact only made things worse.

  • LDAP backend updates from its author Norbert Sendetzky. Reverse lookups should work now too.

  • An error message about unparseable packets did not include the originating IP address (fixed by Mark Bergsma)

  • PowerDNS can now be started via path resolution while running with a guardian. Suggested by Maurice Nonnekes.

  • pdns_recursor moved to sbin (reported by Norbert Sendetzky)

  • Retuned some logger errorlevels, a lot of master/slave chatter was logged as 'Error'. Reported by Willem de Groot.

Bugs fixed:

  • zone2sql did not remove trailing dots in SOA records.

  • ldapbackend did not include utility.hh which caused compilation problems on Solaris (reported by Remco Post)

  • pdns_control could leave behind remnants in case PowerDNS was not running (reported by dG)

  • Incoming AXFR did not work on Solaris and other big-endian systems (Willem de Groot helped debugging this long standing problem).

  • Recursor could crash on convoluted CNAME loops. Thanks to Dan Faerch for delivering coredumps.

  • Silly 'wuh' debugging output in zone2sql and bindbackend removed (spotted by Ivo van der Wijk)

  • Recursor neglected to differentiate between negative cache of NXDOMAIN and NOERROR, leading to problems with IPv6 enabled Windows clients. Thanks to Stuart Walsh for reporting this and testing the fix.

  • PowerDNS set the 'aa' bit on serving NS records in a zone for which it was authoritative. Most implementations drop the 'aa' bit in this case and Stephane Bortzmeyer informed us of this. PowerDNS now also drops the 'aa' bit in this case.

  • The webserver tended to fail after prolonged operation on FreeBSD, this was due to an uninitialised timeout, other platforms were lucky. Thanks to G.P. de Boer for helping debug this.

  • getAnswers() in dnspacket.cc could be forced to read bytes beyond the end of the packet, leading to crashes in the PowerDNS recursor. This is an ongoing project that needs more work. Reported by Dan Faerch, with a coredump proving the problem.

1.3.4. Version 2.9.6

Two new backends - Generic ODBC (windows only) and LDAP. Furthermore, a few important bugs have been fixed which may have hampered sites seeing a lot of outgoing zonetransfers. Additionally, the pdns recursor now has 'query throttling' which is pretty cool. In short this makes sure that PowerDNS does not send out heaps of queries if a nameserver is unable to provide an answer. Many operators of authoritative setups are all too aware of recursing nameservers that hammer them for zones they don't have, PowerDNS won't do that anymore now, no matter what clients request of it.

Warning

There is an unresolved issue with the BIND backend and 'overlapping' slave zones. So if you have 'example.com' and also have a separate slave zone called 'external.example.com', things may go wrong badly. Thanks to Christian Laursen for working with us a lot in finding this issue. We hope to resolve it soon.

1.3.5. Version 2.9.5

Released on 2002-02-03.

This version is almost entirely about recursion with major changes to both the pdns recursor, which is renamed to 'pdns_recursor' and to the main PowerDNS binary to make it interact better with the recursing component.

Sadly, due to technical reasons, compiling the pdns recursor and pdns authoritative nameserver into one binary is not immediately possible. During the release of 2.9.4 we stated that the recursing nameserver would be integrated in the next release - this won't happen now.

However, this turns out to not be that bad at all. The recursor can now be restarted without having to restart the rest of the nameserver, for example. Cooperation between the both halves of PDNS is also almost seamless. As a result, 'non-lazy recursion' has been dropped. See Chapter 11 for more details.

Furthermore, the recursor only works on Linux, Windows and Solaris (not entirely). FreeBSD does not support the required functions. If you know any important FreeBSD people, plea with them to support set/get/swapcontext! Alternatively, FreeBSD coders could read the solution presented here in figure 5.

The 'Contributor of the Month' award goes to Mark Bergsma who has responded to our plea for help with the label compressor and contributed a wonderfully simple and right fix that allows PDNS to compress just as well as Other namerervers out there. An honorary mention goes to Ueli Heuer who, despite having no C++ experience, submitted an excellent SRV record implementation.

Excellent work was also performed by Michel Stol, the Windows guy, in fixing all our non-portable stuff again. Christof Meerwald has also done wonderful work in porting MTasker to Windows, which was then used by Michel to get the recursor functioning on Windows.

Other changes:

1.3.6. Version 2.9.4

Yet another grand release. Big news is the addition of a recursing nameserver which has sprung into existence over the past week. It is in use on several computers already but it is not ready for prime time. Complete integration with PowerDNS is expected around 2.9.5, for now the recursor is a separate program.

In preliminary tests, the recursor appears to be four times faster than BIND 9 on a naive benchmark starting from a cold cache. BIND 9 managed to get through to some slower nameservers however, which were given up on by PowerDNS. We will continue to tune the recursor. See Chapter 12 for further details.

The BIND Backend has also been tested (see the bind-domain-status item below) rather heavily by several parties. After some discussion online, one of the BIND authors ventured that the newsgroup comp.protocols.dns.bind may now in fact be an appropriate venue for discussing PowerDNS. Since this discussion, traffic to the PowerDNS pages has increased sixfold and shows no signs of slowing down.

From this, it is apparent that far more people are interested in PowerDNS than yet know about it. So spread the word!

In other news, we now have a security page at Section 1.4. Furthermore, Maurice Nonnekes contributed an OpenBSD port! See his page for more details!

New features and improvements:

A tremendous number of bugs were discovered and fixed:

1.3.7. Version 2.9.3a

Note

2.9.3a is identical to 2.9.3 except that zone2sql does work

Broad range of huge improvements. We now have an all-static .rpm and .deb for Linux users and a a link to an OpenBSD port. Major news is that work on the Bind backend has progressed to the point that we've just retired our last Bind server and replaced it with PowerDNS in Bind mode! This server is operating a number of master and slave setups so it should stress the Bind backend somewhat.

This version is rapidly approaching the point where it is a better-Bind-than-Bind and nearly a drop-in replacement for authoritative setups. PowerDNS is now equipped with a powerful master/slave apparatus that offers a lot of insight and control to the user, even when operating from Bind zonefiles and a Bind configuration. Observe.

After the SOA of ds9a.nl was raised:

pdns[17495]: All slave domains are fresh
pdns[17495]: 1 domain for which we are master needs notifications
pdns[17495]: Queued notification of domain 'ds9a.nl' to 195.193.163.3
pdns[17495]: Queued notification of domain 'ds9a.nl' to 213.156.2.1
pdns[17520]: AXFR of domain 'ds9a.nl' initiated by 195.193.163.3
pdns[17520]: AXFR of domain 'ds9a.nl' to 195.193.163.3 finished
pdns[17521]: AXFR of domain 'ds9a.nl' initiated by 213.156.2.1
pdns[17521]: AXFR of domain 'ds9a.nl' to 213.156.2.1 finished
pdns[17495]: Removed from notification list: 'ds9a.nl' to 195.193.163.3 (was acknowledged)
pdns[17495]: Removed from notification list: 'ds9a.nl' to 213.156.2.1 (was acknowledged)
pdns[17495]: No master domains need notifications
	  
If however our slaves would ignore us, as some are prone to do, we can send some additional notifications:
$ sudo pdns_control notify ds9a.nl         
Added to queue
pdns[17492]: Notification request for domain 'ds9a.nl' received
pdns[17492]: Queued notification of domain 'ds9a.nl' to 195.193.163.3
pdns[17492]: Queued notification of domain 'ds9a.nl' to 213.156.2.1
pdns[17495]: Removed from notification list: 'ds9a.nl' to 195.193.163.3 (was acknowledged)
pdns[17495]: Removed from notification list: 'ds9a.nl' to 213.156.2.1 (was acknowledged)
	    
Conversely, if PowerDNS needs to be reminded to retrieve a zone from a master, a command is provided:
$ sudo pdns_control retrieve forfun.net
Added retrieval request for 'forfun.net' from master 212.187.98.67
pdns[17495]: AXFR started for 'forfun.net', transaction started
pdns[17495]: Zone 'forfun.net' (/var/cache/bind/forfun.net) reloaded 
pdns[17495]: AXFR done for 'forfun.net', zone committed
	  
Also, you can force PowerDNS to reload a zone from disk immediately with pdns_control bind-reload-now. All this happens 'live', per your instructions. Without instructions, the right things also happen, but the operator is in charge.

For more about all this coolness, see Section B.1.1 and Section A.8.2.

Warning

Again some changes in compilation instructions. The hybrid pgmysql backend has been split up into 'gmysql' and 'gpgsql', sharing a common base within the PowerDNS server itself. This means that you can no longer compile --with-modules="pgmysql" --enable-mysql --enable-pgsql but that you should now use: --with-modules="gmysql gpgsql". The old launch-names remain available.

If you launch the Generic PgSQL backend as gpgsql2, all parameters will have gpsql2 as a prefix, for example pgsql2-dbname. If launched as gpsql, the regular names are in effect.

Warning

The pdns_control protocol was changed which means that older pdns_controls cannot talk to 2.9.3. The other way around is broken too. This may lead to problems with automatic upgrade scripts, so pay attention if your daemon is truly restarted.

Also make sure no old pdns_control command is around to confuse things.

Improvements:

Changes:

Bugfixes:

1.3.8. Version 2.9.2

Bugfixes galore. Solaris porting created some issues on all platforms. Great news is that PowerDNS is now in Debian 'sid' (unstable). The 2.9.1 packages in there currently aren't very good but the 2.9.2 ones will be. Many thanks to Wichert Akkerman, our 'downstream' for making this possible.

Warning

The Generic MySQL backend, part of the Generic MySQL & PostgreSQL backend, is now the DEFAULT! The previous default, the 'mysql' backend (note the lack of 'g') is now DEPRECATED. This was the source of much confusion. The 'mysql' backend does not support MASTER or SLAVE operation. The Generic backends do.

To get back the mysql backend, add --with-modules="mysql" or --with-dynmodules="mysql" if you prefer to load your modules at runtime.

Bugs fixed:

Documentation:

Features:

1.3.9. Version 2.9.1

Thanks to the great enthusiasm from around the world, powerdns is now available for Solaris and FreeBSD users again! Furthermore, the Windows build is back. We are very grateful for the help of:

We are happy to have been able to work with the open source community to improve PowerDNS!

Changes:

  • The monitor command set no longer allows the changing of non-existant variables.

  • IBM Universal Database DB2 backend now included in source distribution (untested!)

  • Oracle backend now included in source distribution (sligthly tested!)

  • configure script now searches for postgresql and mysql includes

  • Bind parser now no longer dies on records with a ' in them (Erik Bos)

  • The pipebackend was accidentally left out of 2.9

  • FreeBSD fixes (with help from Erik Bos, Alex Bleeker, Niels Bakker)

  • Heap of Solaris work (with help from Edvard Tuinder, Stefan Van Steen, Koos van den Hout, Roel van der Made and especially Mark Bakker). Now compiles in 2.7 and 2.8, haven't tried 2.9. May be a bit dysfunctional on 2.7 though - it won't do IPv6 and it won't serve AAAA. Patches welcome!

  • Windows 32 build is back! Michel Stol updated his earlier work to the current version.

  • S/Linux (Linux on Sparc) build works now (with help from steven stillaway).

  • Silly debugging message ('sd.ttl from cache') removed

  • .debs are back, hopefully in 'sid' soon! (Wichert Akkerman)

  • Removal of bzero and other less portable constructs. Discovered that recent Linux glibc's need -D_GNU_SOURCE (Wichert Akkerman).

1.3.10. Version 2.9

Open source release. Do not deploy unless you know what you are doing. Stability is expected to return with 2.9.1, as are the binary builds.

1.3.11. Version 2.8

From this release onwards, we'll concentrate on stabilising for the 3.0 release. So if you have any must-have features, let us know soonest. The 2.8 release fixes a bunch of small stability issues and add two new features. In the spirit of the move to stability, this release has already been running 24 hours on our servers before release.

1.3.12. Version 2.7 and 2.7.1

This version fixes some very long standing issues and adds a few new features. If you are still running 2.6, upgrade yesterday. If you were running 2.6.1, an upgrade is still strongly advised.

Features:

Bugs:

  • 2.7 briefly broke the mysql backend, so don't use it if you use that. 2.7.1 fixes this.

  • SOA records could sometimes have the wrong TTL. Thanks to Jonas Daugaard for reporting this.

  • An ANY query might lead to duplicate SOA records being returned under exceptional circumstances. Thanks to Jonas Daugaard for reporting this.

  • Underlying the above bug, packet compression could sometimes suddenly be turned off, leading to overly large responses and non-removal of duplicate records.

  • The allow-axfr-ips setting did not accept IP ranges (1.2.3.0/24) which the documentation claimed it did (thanks to Florus Both of Ascio technologies for being sufficiently persistent in reporting this).

  • Killed backends were not being respawned, leading to suboptimal behaviour on intermittent database errors. Thanks to Steve Bromwich for reporting this.

  • Corrupt packets during an incoming AXFR when acting as a slave would cause a PowerDNS reload instead of just failing that AXFR. Thanks to Mike Benoit and Simon Kirby of NetNation for reporting this.

  • Label compression in incoming AXFR had problems with large offsets, causing the above mentioned errors. Thanks to Mike Benoit and Simon Kirby of NetNation for reporting this.

1.3.13. Version 2.6.1

Quick fix release for a big cache problem.

1.3.14. Version 2.6

Performance release. A lot of work has been done to raise PDNS performance to staggering levels in order to take part in benchmarketing efforts. Together with our as yet unnamed partner, PDNS has been benchmarked at 60.000 mostly cached queries/second on off the shelf PC hardware. Uncached performance was 17.000 uncached DNS queries/second on the .ORG domain.

Performance has been increased by both making PDNS itself quicker but also by lowering the number of backend queries typically needed. Operators will typically see PDNS taking less CPU and the backend seeing less load.

Furthermore, some real bugs were fixed. A couple of undocumented performance switches may appear in --help output but you are advised to stay away from these.

Developers: this version needs the pdns-2.5.1 development kit, available on http://downloads.powerdns.com/releases/dev. See also Appendix C.

Performance:

Bugs fixed:

Features:

1.3.15. Version 2.5.1

Brown paper bag release fixing a huge memory leak in the new Query Cache.

Developers: this version needs the new pdns-2.5.1 development kit, available on http://downloads.powerdns.com/releases/dev. See also Appendix C.

And some small changes:

1.3.16. Version 2.5

An important release which has seen quite a lot of trial and error testing. As a result, PDNS can now run with a huge cache and concurrent invalidations. This is useful when running of a slower database or under high traffic load with a fast database.

Furthermore, the gpgsql2 backend has been validated for use and will soon supplant the gpgsql backend entirely. This also bodes well for the gmysql backend which is the same code.

Also, a large amount of issues biting large scale slave operators were addressed. Most of these issues would only show up after prolonged uptime.

New features:

Enhancements:

Bugs fixed:

1.3.17. Version 2.4

Developers: this version is compatible with the pdns-2.1 development kit, available on http://downloads.powerdns.com/releases/dev. See also Appendix C.

This version fixes some stability issues with malformed or malcrafted packets. An upgrade is advised. Furthermore, there are interesting new features.

New features:

Bugs fixed:

Documentation: added details for strict-rfc-axfrs. This feature can be used if very old clients need to be able to do zone transfers with PDNS. Very slow.

1.3.18. Version 2.3

Developers: this version is compatible with the pdns-2.1 development kit, available on http://downloads.powerdns.com/releases/dev. See also Appendix C.

This release adds the Generic MySQL backend which allows full master/slave semantics with MySQL and InnoDB tables (or other tables that support transactions). See Section A.5.

Other new features:

Bugs fixed:

1.3.19. Version 2.2

Developers: this version is compatible with the pdns-2.1 development kit, available on http://downloads.powerdns.com/releases/dev. See also Appendix C.

Again a big release. PowerDNS is seeing some larger deployments in more demanding environments and these are helping shake out remaining issues, especially with recursing backends.

The big news is that wildcard CNAMEs are now supported, an oft requested feature and nearly the only part in which PDNS differed from BIND in authoritative capabilities.

If you were seeing signal 6 errors in PDNS causing reloads and intermittent service disruptions, please upgrade to this version.

For operators of PowerDNS Express trying to host .DE domains, the very special soa-serial-offset feature has been added to placate the new DENIC requirement that the SOA serial be at least six digits. PowerDNS Express uses the SOA serial as an actual serial and not to insert dates and hence often has single digit soa serial numbers, causing big problems with .DE redelegations.

Bugs fixed:

New features:

1.3.20. Version 2.1

This is a somewhat bigger release due to pressing demands from customers. An upgrade is advised for installations using Recursion. If you are using recursion, it is vital that you are aware of changes in semantics. Basically, local data will now override data in your recursing backend under most circumstances. Old behaviour can be restored by turning lazy-recursion off.

Developers: this version has a new pdns-2.1 development kit, available on http://downloads.powerdns.com/releases/dev. See also Appendix C.

Warning

Most users will run a static version of PDNS which has no dependencies on external libraries. However, some may need to run the dynamic version. This warning applies to these users.

To run the dynamic version of PDNS, which is needed for backend drivers which are only available in source form, gcc 3.0 is required. RedHat 7.2 comes with gcc 3.0 as an optional component, RedHat 7.3 does not. However, the RedHat 7.2 Update gcc rpms install just fine on RedHat 7.3. For Debian, we suggest running 'woody' and installing the g++-3.0 package. We expect to release a FreeBSD dynamic version shortly.

Bugs fixed:

Unexpected behaviour:

Features:

1.3.21. Version 2.0.1

Maintenance release, fixing three small issues.

Developers: this version is compatible with 1.99.11 backends.

1.3.22. Version 2.0

Two bugfixes, one stability/security related. No new features.

Developers: this version is compatible with 1.99.11 backends.

Bugfixes:

1.3.23. Version 2.0 Release Candidate 2

Mostly bugfixes, no really new features.

Developers: this version is compatible with 1.99.11 backends.

Bugs fixed:

Features:

  • Win32 version now has a zone2sql tool.

  • Win32 version now has support for specifying how urgent messages should be before they go to the NT event log.

Remaining issues:

  • One persistent report of the default 'chroot=./' configuration not working.

  • One report of disable-axfr and allow-axfr-ips not working as intended.

  • Support for relative paths in zones and in Bind configuration is not bug-for-bug compatible with bind yet.

1.3.24. Version 2.0 Release Candidate 1

The MacOS X release! A very experimental OS X 10.2 build has been added. Furthermore, the Windows version is now in line with Unix with respect to capabilities. The ODBC backend now has the code to function as both a master and a slave.

Developers: this version is compatible with 1.99.11 backends.

Bugs fixed:

  • Zone2sql PostgreSQL mode neglected to lowercase $ORIGIN. Thanks to Maikel Verheijen of Ladot for spotting this.

  • Zone2sql PostgreSQL mode neglected to remove a trailing dot from $ORIGIN if present. Thanks to Thanks to Maikel Verheijen of Ladot for spotting this.

  • Zonefile parser was not compatible with bind when $INCLUDING non-absolute filenames. Thanks to Jeff Miller for working out how this should work.

  • Bind configuration parser was not compatible with bind when including non-absolute filenames. Thanks to Jeff Miller for working out how this should work.

  • Documentation incorrectly listed the Bind backend as 'slave capable'. This is not yet true, now labeled 'experimental'.

Windows changes. We are indebted to Dimitry Andric who educated us in the ways of distributing Windows software.

  • pdns.conf is now read if available.

  • Console version responds to ^c now.

  • Default pdns.conf added to distribution

  • Uninstaller missed several files, leaving remnants behind

  • DLLs are now installed locally, with the pdns executable.

  • pdns_control is now also available on Windows

  • ODBC backend can now act as master and slave. Experimental.

  • The example zone missed indexes and had other faults.

  • A runtime DLL that is present on most windows systems (but not all!) was missing.

1.3.25. Version 1.99.12 Prerelease

The Windows release! See Chapter 3. Beware, windows support is still very fresh and untested. Feedback is very welcome.

Developers: this version is compatible with 1.99.11 backends.

Bugs fixed:

Features:

1.3.26. Version 1.99.11 Prerelease

This release is important because it is the first release which is accompanied by an Open Source Backend Development Kit, allowing external developers to write backends for PDNS. Furthermore, a few bugs have been fixed:

1.3.27. Version 1.99.10 Prerelease

IMPORTANT: there has been a tiny license change involving free public webbased dns hosting, check out the changes before deploying!

PDNS is now feature complete, or very nearly so. Besides adding features, a lot of 'fleshing out' work is done now. There is an important performance bug fix which may have lead to disappointing benchmarks - so if you saw any of that, please try either this version or 1.99.8 which also does not have the bug.

This version has been very stable for us on multiple hosts, as was 1.99.9.

PostgreSQL users should be aware that while 1.99.10 works with the schema as presented in earlier versions, advanced features such as master or slave support will not work unless you create the new 'domains' table as well.

Bugs fixed:

Features:

1.3.28. Version 1.99.9 Early Access Prerelease

This is again a feature and an infrastructure release. We are nearly feature complete and will soon start work on the backends to make sure that they are all master, slave and 'superslave' capable.

Bugs fixed:

Features:

Internal:

1.3.29. Version 1.99.8 Early Access Prerelease

A lot of infrastructure work gearing up to 2.0. Some stability bugs fixed and a lot of new features.

Bugs fixed:

Feature enhancements:

1.3.30. Version 1.99.7 Early Access Prerelease

Named.conf parsing got a lot of work and many more bind configurations can now be parsed. Furthermore, error reporting was improved. Stability is looking good.

Bugs fixed:

Feature enhancements:

  • Line number counting goes on as it should when including files in named.conf

  • Added --no-config to enable users to start the pdns daemon without parsing the configuration file.

  • zone2sql now has --bare for unformatted output which can be used to generate insert statements for different database layouts

  • zone2sql now has --gpgsql, which is an alias for --mysql, to output in a format useful for the default Generic PgSQL backend

  • zone2sql is now documented.

1.3.31. Version 1.99.6 Early Access Prerelease

This version is now running on dns-eu1.powerdns.net and working very well for us. But please remain cautious before deploying!

Bugs fixed:

Feature enhancements:

  • The webserver now by default does not print out configuration statements, which might contain database backends. Use webserver-print-arguments to restore the old behaviour.

  • Generic PostgreSQL backend is now included. Still rather beta.

1.3.32. Version 1.99.5 Early Access Prerelease

The main focus of this release is stability and TCP improvements. This is the first release PowerDNS-the-company actually considers for running on its production servers!

Major bugs fixed:

Feature enhancements:

  • bindbackend can be instructed not to check the ctime of a zone by specifying bind-check-interval=0, which is also the new default.

  • pdns_server --list-modules lists all available modules.

Performance enhancements:

  • TCP code now only creates a new database connection for AXFR.

  • TCP connections timeout rather quickly now, leading to less load on the server.

1.3.33. Version 1.99.4 Early Access Prerelease

A lot of new named.confs can now be parsed, zone2sql & bindbackend have gained features and stability.

Major bugs fixed:

Feature enhancements:

  • Zone2sql and the bindbackend now understand the Bind $GENERATE{} syntax.

  • Zone2sql can optionally gloss over non-existing zones with --on-error-resume-next.

  • Zone2sql and the bindbackend now properly expand @ also on the right hand side of records.

  • Zone2sql now sets a default TTL.

  • DNS UPDATEs and NOTIFYs are now logged properly and sent the right responses.

Performance enhancements:

  • 'Fancy records' are no longer queried for on ANY queries - this is a big speedup.

1.3.34. Version 1.99.3 Early Access Prerelease

The big news in this release is the BindBackend which is now capable of parsing many more named.conf Bind configurations. Furthermore, PDNS has successfully parsed very large named.confs with large numbers of small domains, as well as small numbers of large domains (TLD).

Zone transfers are now also much improved.

Major bugs fixed:

Feature enhancements:

  • AXFR can now be disabled, and re-enabled per IP address

  • --help accepts a parameter, will then show only help items with that prefix.

  • zone2sql now accepts a --zone-name parameter

  • BindBackend maturing - 9500 zones parsed in 3.5 seconds. No longer case sensitive.

Performance enhancements:

  • Implemented RFC-breaking AXFR format (which is the industry standard). Zone transfers now zoom along at wirespeed (many megabits/s).

1.3.35. Version 1.99.2 Early Access Prerelease

Major bugs fixed:

Performance improvements:

  • removed a lot of unnecessary gettimeofday calls

  • removed needless select(2) call in case of listening on only one address

  • removed 3 useless syscalls in the fast path

Having said that, more work may need to be done. Testing on a 486 saw packet rates in a simple setup (question/wait/answer/question..) improve from 200 queries/second to over 400.

Usability improvements:

  • Fixed error checking in init.d script (show, mrtg)

  • Added 'uptime' to the mrtg output

  • removed further GNUisms from installer and init.d scripts for use on FreeBSD

  • Debian package and apt repository, thanks to Wichert Akkerman.

  • FreeBSD /usr/ports, thanks to Peter van Dijk (in progress).

Stability may be an issue as well as performance. This version has a tendency to log a bit too much which slows the nameserver down a lot.

1.3.36. Version 1.99.1 Early Access Prerelease

This is the first public release of what is going to become PDNS 2.0. As such, it is not of production quality. Even PowerDNS-the-company does not run this yet.

Stability may be an issue as well as performance. This version has a tendency to log a bit too much which slows the nameserver down a lot.