<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">Hi everybody!</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">As recently announced, we have finished the great <a href="http://blog.powerdns.com/2015/11/28/powerdns-spring-cleaning/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">PowerDNS 4.x Spring Cleaning</a>. And it was indeed kind of grand. We consciously set out to fix many things that had been waiting for years to be addressed. We took the liberty to change many things that we could not change (break) within 3.x.  However, it was breaking for the better.</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">As noted in our previous post, we are very grateful to our community, users, developers and customers that we were able to devote significant time to cleaning up past mistakes. This is very rare in the world of software. Additionally, as usual a specific shout-out to Aki Tuomi (these days working for our sister-company Dovecot), our certified consultants <a href="https://www.monshouwer.eu/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Kees Monshouwer</a>, <a href="http://deduktiva.com/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Christian Hofstaedtler</a> and <a href="http://jpmens.net/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Jan-Piet Mens</a>, our independent code-contributors <a href="http://tilaa.net/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Ruben Kerkhof</a>, <a href="http://cyclops.nettrends.nl/blog/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Ruben d’Arco</a>, <a href="https://mark.zealey.org/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Mark Zealey</a>, <a href="https://github.com/paboldin?tab=repositories" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Pavel Boldin</a>, <a href="https://www.linkedin.com/in/jmschouten" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Mark Schouten</a> and all the others who contributed ideas, code and GitHub issues.</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">With this message, we bring good news and bad news just in time for our holidays. We promised 4.0 releases of PowerDNS Recursor, PowerDNS Authoritative and even a 1.0 release of dnsdist, in “December 2015”. The bad news is that we did not make it. The good news however is that we do have a set of Technology Preview releases that contain everything that 4.0 will.</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">In other words: the features are done, but we can’t yet sign off on the quality. However! Since most people won’t be deploying x.0 releases in December anyhow, we felt it was worthwhile to launch the 4.x series now with a strong technology preview. This preview will allow you to test our features, both to see if they work and to see if they actually fit in with your needs. And please do test, since that will speed up the advent of the actual 4.x release date!</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">In terms of roadmap, <a href="http://blog.powerdns.com/2015/05/26/powerdns-needs-your-help-what-are-we-missing/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">we consulted PowerDNS customers, community and developers</a>, and out came <a href="http://mailman.powerdns.com/pipermail/pdns-users/2015-June/011516.html" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">a plan for 4.x</a>. A few months into the development, various users and customers suddenly chimed in on absolutely mandatory features we had somehow missed. Because of that, 4.x both under- and overdelivers.</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">In addition to the huge internal cleanup, here are visible changes that did make it:</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class=""><strong style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">dnsdist</strong></p><ul style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; list-style-position: inside; list-style-image: initial; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class=""><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Fully-featured load balancer with a number of DNS-relevant load balancing policies. The default policy favours servers with the least amount of queries in flight and the fastest response times. This turns out to deliver tangible user experience improvements</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Comes with a host of rules to block, change, or redirect traffic based on your needs. For example, use dnsdist to implement ‘views’, or what has been called ‘Advanced DNS Protection’ by some closed source resellers of open source.</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">dnscrypt, EDNS Client Subnet adding (for GC-NAT traversal, for example)</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Realtime insights via HTTP/JSON/RESTful API & built-in live graphing website</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">For more about this new product, please see <a href="http://dnsdist.org/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">http://dnsdist.org/</a></li></ul><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class=""><strong style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Authoritative</strong></p><ul style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; list-style-position: inside; list-style-image: initial; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class=""><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">GeoIP backend has gained many features, and can now run based on explicit netmasks not present in the GeoIP databases</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Caches are now fully canonically ordered, which means entries can be wiped on suffix in all places</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Old geobackend has been deprecated and is no longer part of PowerDNS</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Newly revived ODBC backend for talking to Microsoft SQL Server & Azure, and with some tweaking, any other ODBC-database we do not support natively.</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">pdnssec tool does far more than DNSSEC, and has thus been renamed into ‘pdnsutil’.</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">ECDSA signing is now supported without external dependencies, and a single combined ECDSA signing key is the new default for securing zones.</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Experimental ed25519 signing support based on draft-sury-dnskey-ed25519-03.</li></ul><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class=""><strong style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Recursor</strong></p><ul style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; list-style-position: inside; list-style-image: initial; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class=""><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">DNSSEC processing: if you ask for DNSSEC records, you will get them</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">DNSSEC validation: if so configured, PowerDNS will attempt to perform DNSSEC validation of your answers</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Completely revamped Lua scripting API that is “DNSName” native and therefore far less error prone, and likely faster for most commonly used scenarios. Loads and indexes a 1 million domain custom policy list in a few seconds</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">New asynchronous per-domain, per-ip address, query engine. This allows PowerDNS to consult an external service in realtime to determine client or domain status. This could for example mean looking up actual customer identity from a DHCP server based on IP address (option 82 for example).</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">RPZ (from file, over AXFR or IXFR) support. This loads the largest Spamhaus zone in 5 seconds on our hardware, containing around 2 million instructions.<ul style="margin: 0px 40px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; list-style-position: inside; list-style-image: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class=""><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">More details <a href="http://mailman.powerdns.com/pipermail/pdns-users/2015-October/011711.html" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">here</a></li></ul></li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">All caches can now be wiped on suffixes, because of canonical ordering</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Many many more relevant performance metrics, including upstream authoritative performance measurements (‘is it me or the network that is slow’)</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">EDNS Client Subnet support, including cache awareness of subnet-varying answers</li></ul><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">More technical details are available in the <a href="https://doc.powerdns.com/md/changelog/#powerdns-recursor-400" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">changelog</a>.</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">Finally – the big question is of course: when will the actual 4.0.0 releases (and 1.0 for dnsdist) happen. The answer is that all this depends on what you find out during testing. We may be closer or further from the goal. As of now we can’t tell. We will report back to you in January to let you know when we expect to be able to do a release that meets our standards. But the more you test, the sooner this will be!</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">You can download tarballs:</p><ul style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; list-style-position: inside; list-style-image: initial; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class=""><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class=""><a href="http://downloads.powerdns.com/releases/pdns-4.0.0-alpha1.tar.bz2" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">pdns-4.0.0-alpha1.tar.bz2</a> (<a href="http://downloads.powerdns.com/releases/pdns-4.0.0-alpha1.tar.bz2.sig" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">sig</a>)</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class=""><a href="http://downloads.powerdns.com/releases/pdns-recursor-4.0.0-alpha1.tar.bz2" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">pdns-recursor-4.0.0-alpha1.tar.bz2</a> (<a href="http://downloads.powerdns.com/releases/pdns-recursor-4.0.0-alpha1.tar.bz2.sig" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">sig</a>)</li><li style="margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: baseline; background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class=""><a href="http://downloads.powerdns.com/releases/dnsdist-1.0.0-alpha1.tar.bz2" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">dnsdist-1.0.0-alpha1.tar.bz2</a> (<a href="http://downloads.powerdns.com/releases/dnsdist-1.0.0-alpha1.tar.bz2.sig" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">sig</a>)</li></ul><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">Packages for several distributions are available from our <a href="https://repo.powerdns.com/" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">repositories</a>.</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">Once again, thank you everyone for working with us on this release. Happy holidays and a splendid new year!</p><p style="margin: 0px 0px 20px; padding: 0px; border: 0px; outline: 0px; font-size: 15px; vertical-align: baseline; color: rgb(68, 68, 68); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 22px; widows: 1; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;" class="">The PowerDNS development & automation team:  <a href="https://twitter.com/habbie" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Peter</a>, <a href="https://twitter.com/lieter_" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Pieter</a>, <a href="https://twitter.com/rgacogne" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Remi</a> (and <a href="https://twitter.com/powerdns_bert" style="margin: 0px; padding: 0px; vertical-align: baseline; color: rgb(46, 110, 176); background-color: transparent; background-position: initial initial; background-repeat: initial initial;" class="">Bert</a>, who spent this release week on a sunny island, and not helping much!).</p><div class=""><br class=""></div></body></html>