Changelogs for 4.2.x
====================
+.. changelog::
+ :version: 4.2.2
+ :released: 9th of April 2020
+
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 9010
+
+ fix records ending up in wrong packet section (Kees Monshouwer)
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 9003, 8736
+
+ cache: strictly enforce maximum size, and improve cleanup routine
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 9001
+
+ avoid IXFR-in corruption when deltas come in close together (please see the :ref:`ixfr-in-corruption-4.2.2` upgrade notes)
+
+ .. change::
+ :tags: New Features
+ :pullreq: 8786
+
+ api: add includerings option to statistics endpoint
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8612
+
+ fix out-of-bound access for zero length "serialized" string when using lmdbbackend. (Kees Monshouwer)
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8602
+
+ bind backend: pthread_mutex_t should be inited and destroyed and not be copied
+
+.. changelog::
+ :version: 4.2.1
+ :released: 2nd of December 2019
+
+ This release fixes several bugs and makes a few features more robust or intuitive. It also contains a few performance improvements for API users.
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8589
+ :tickets: 8572
+
+ LUA view: do not crash on empty IP list
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8576
+
+ API: Accept headers without spaces
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8570
+ :tickets: 8299
+
+ Avoid database state-related SERVFAILs after a LUA error
+
+ .. change::
+ :tags: Bug Fixes, Improvements, LMDB
+ :pullreq: 8568
+ :tickets: 8134
+
+ Just before 4.2.0, some SQL-related fixes broke edit-zone and other features with the LMDB backend. This has been fixed now. (backport by Kees Monshouwer)
+
+ .. change::
+ :tags: Performance, Improvements
+ :pullreq: 8457
+
+ API: reduce number of database connections (Kees Monshouwer)
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 8546
+
+ Register a few known RR types and remove an unknown one
+
+ .. change::
+ :tags: New Features, Improvements
+ :pullreq: 8549
+
+ Add SLAVE-RENOTIFY zone metadata support (Matti Hiljanen)
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8507
+ :tickets: 8217
+
+ rfc2136, pdnsutil: somewhat improve duplicate record handling
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 8548
+
+ bindbackend: use metadata for also-notifies as well (Matti Hiljanen)
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 8508
+ :tickets: 8218
+
+ pdnsutil increase-serial: under SOA-EDIT=INCEPTION-EPOCH, bump as if it is EPOCH
+
+ .. change::
+ :tags: New Features, Improvements
+ :pullreq: 8547
+
+ Add configurable timeout for inbound AXFR (Matti Hiljanen)
+
+ .. change::
+ :tags: Performance, Improvements
+ :pullreq: 8541
+
+ API: optionally do not return dnssec info in domain list (Chris Hofstaedtler)
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 8454
+
+ Basic validation of $GENERATE parameters
+
+ .. change::
+ :tags: New Features, Improvements
+ :pullreq: 8428
+
+ Add CentOS 8 as builder target
+
+ .. change::
+ :tags: New Features, Improvements
+ :pullreq: 8341
+
+ gmysql backend, add an option to send the SSL capability flag
+
.. changelog::
:version: 4.2.0
- :released: *unreleased*
+ :released: 30th of August 2019
+
+ Compared to the last release candidate, one more bug has been fixed.
+
+ The LMDB backend is incomplete in this version. Slaving zones works, loading zones with pdnsutil works, but more fine grained edits (using edit-zone, or the REST API) fail. We hope to fix this soon in a 4.2.x release.
+
+ For an overview of features new since 4.1.x, please see `the 4.2.0 announcement blog post <http://blog.powerdns.com/2019/08/29/powerdns-authoritative-server-4-2-0/>`__.
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8229
+
+ bind getAllDomains: ignore per-zone exceptions
+
+.. changelog::
+ :version: 4.2.0-rc3
+ :released: 29th of July 2019
+
+ Thanks to an overwhelming amount of testing by our fabulous user community, this release candidate contains a ton of bug fixes (and a few improvements) compared to the previous one. We hope this has shaken out all of the important bugs, so that we can release 4.2.0 soon!
+
+ This release, sadly, cripples the LMDB backend somewhat, due to `transaction-related fixes for the SQL backends <https://github.com/PowerDNS/pdns/pull/7891>`__. We hope to fix `this issue <https://github.com/PowerDNS/pdns/issues/8134>`__ before 4.2.0, or otherwise, early in 4.2.x.
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8168
+
+ packethandler: Compare TSIG key name using DNSName
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 8172, 8173
+
+ boost.m4 improvements
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8169
+
+ Make sure we always compile with BOOST_CB_ENABLE_DEBUG set to 0
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8058
+
+ Fix SERVFAIL when backend returns empty DNSName
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 8126
+
+ add metric for open TCP connections
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8149
+
+ stop using select() in places where FDs can be >1023
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8166
+
+ pdnsutil increase-serial: set right ordername
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8097
+
+ use BIGINT for notified_serial in pg schema (Klaus Darilion)
+
+ .. change::
+ :tags: Improvements, Robustness, Performance
+ :pullreq: 8092
+
+ Various robustness and performance improvements around domain IDs (Kees Monshouwer)
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8056
+
+ Fix the accounting of servfail-queries in the distributor
+
+ .. change::
+ :tags: Improvements, Build
+ :pullreq: 8064
+
+ remove unused import to enable compile on illumos (Thomas Mieslinger)
+
+ .. change::
+ :tags: Improvements, Performance
+ :pullreq: 8051
+
+ ixfrdist: limit XFR chunk size to 16k
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8028
+
+ limit compression pointers to 14 bits
+
+ .. change::
+ :tags: Bug Fixes
+ :pullreq: 8037
+
+ catch name & IP parse errors during outgoing notify preparations
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 7998
+
+ Fix a memory leak when sqlite3_exec() fails
+
+ .. change::
+ :tags: Improvements, Build
+ :pullreq: 8019, 7980
+
+ don't enable the tbhandler when libc only pretends to be glibc (James Taylor)
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 8006
+
+ Fix a leak on 'Backend reported permanent error which prevented lookup' error
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 7996
+
+ Clear CMSG_SPACE(sizeof(data)) in cmsghdr to appease valgrind
+
+ .. change::
+ :tags: New Features
+ :pullreq: 7550
+
+ web: make max request/response body size configurable
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 7918
+
+ deprecate SOA autocomplete in pdnsutil check-zone (Kees Monshouwer)
+
+ .. change::
+ :tags: Improvements, Packaging
+ :pullreq: 7889
+
+ move /var/lib/pdns to pdns-server debian package
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 7890
+
+ Show newer features in configure output and --version
+
+ .. change::
+ :tags: Improvements, Performance
+ :pullreq: 7910
+
+ completely disable the packet when cache-ttl=0 (Kees Monshouwer)
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 7943
+
+ Improve error when notification comes in for non-slave zone
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 7962
+
+ web: add edited_serial to Zone object
+
+ .. change::
+ :tags: Improvements, Build
+ :pullreq: 7871
+
+ Adapt calidns for openbsd and other systems without rcvmmsg(2)
+
+ .. change::
+ :tags: Improvements, Performance
+ :pullreq: 7699
+
+ DNSName, speed up toString() conversion
+
+.. changelog::
+ :version: 4.2.0-rc2
+ :released: 14th of June 2019
+
+ .. change::
+ :tags: Improvements, LMDB
+ :pullreq: 7807
+
+ Make explicit lmdbbackend synchronous option
+
+ .. change::
+ :tags: Improvements, LMDB
+ :pullreq: 7700
+
+ Reduce mmap size for lmdb on 32 bits plus restrict number of shards
+
+ .. change::
+ :tags: Bug Fixes, LMDB
+ :pullreq: 7784, 7697, 7643
+
+ LMDB improvements:
+
+ * lmdbbackend: auth was unset in get() (always true) (Kees Monshouwer)
+ * LMDB defaulted to port 0 for master addresses unless explicitly set
+ * fix ``getAllDomains()`` (Kees Monshouwer)
+
+ .. change::
+ :tags: Bug fixes, Backends
+ :pullreq: 7891
+
+ auth API, pdnsutil: improve backend transaction correctness
+
+ .. change::
+ :tags: Robustness, Backends
+ :pullreq: 7881
+
+ detect SOA cache pollution caused by broken backends (Kees Monshouwer)
+
+ .. change::
+ :tags: Improvements, Backends
+ :pullreq: 7852
+
+ sqlite3: make journal mode configurable; default to WAL
+
+ .. change::
+ :tags: Bug Fixes, Backends
+ :pullreq: 7854
+
+ auth gsql ``getAllDomains``: ignore stou errors
+
+ .. change::
+ :tags: Performance, Backends
+ :pullreq: 7460
+
+ speedup ``getUpdatedMasters()`` for the gsql backends (Kees Monshouwer)
+
+ .. change::
+ :tags: Bug Fixes, Backends
+ :pullreq: 7831, 7787
+
+ Rectify/ENT fixes:
+
+ * Allow updates to override existing ENT records
+ * Fix ENTs removal when "replacing" new records via the API
+
+ .. change::
+ :tags: Bug Fixes, Backends
+ :pullreq: 7363
+
+ Cleanup SOA editing (Kees Monshouwer)
+
+ .. change::
+ :tags: Backends
+ :pullreq: 7753
+
+ pdns_control reopens geoip databases on reload (jpmens)
+
+ .. change::
+ :tags: Backends
+ :pullreq: 7696
+
+ b2b-migrate did not open a transaction, breaking it for lmdb
+
+ .. change::
+ :tags: Backends
+ :pullreq: 7706
+
+ No longer filter DNSSEC metadata when DNSSEC is enabled in gsql
+
+ .. change::
+ :tags: Backends
+ :pullreq: 7580
+
+ Rectify for ent records in narrow zones was slightly wrong. (Kees Monshouwer)
+
+ .. change::
+ :tags: Backends
+ :pullreq: 7529
+
+ Clear caches (meta-data, keys) on domain deletion
+
+ .. change::
+ :tags: Performance, LUA
+ :pullreq: 7869, 7897
+
+ optionally reuse Lua state
+
+ .. change::
+ :tags: Improvements, Portability
+ :pullreq: 7862, 7861, 7818, 7668
+
+ Portability/building improvements:
+
+ * Update boost.m4 to the latest version
+ * Check if ``-latomic`` is needed instead of hardcoding (neheb)
+ * Use ``net-snmp-config --netsnmp-agent-libs`` instead of ``--agent-libs``
+ * bump boost requirement to 1.42 unconditionally
+
+ .. change::
+ :tags: Improvements, Robustness
+ :pullreq: 7864, 7865, 7708
+
+ Robustness improvements:
+
+ * Fix warnings reported by Coverity
+ * Initialize cURL before starting any thread
+ * Don't do unaligned memory access
+
+ .. change::
+ :tags: Improvements, Compliance
+ :pullreq: 7873
+
+ Always truncate when the additional records do not fit in a response (Kees Monshouwer)
+
+ .. change::
+ :tags: Improvements, Compliance
+ :pullreq: 7859
+
+ Remove ``disable-tcp`` option
+
+ .. change::
+ :tags: Improvements, Compliance
+ :pullreq: 7615
+
+ RKEY is missing algorithm field (DNS-Leo)
+
+ .. change::
+ :tags: Bug Fixes, Compliance
+ :pullreq: 7789, 7772
+
+ DNSSEC fixes:
+
+ * Don't sign insecure records with keys from other zones (Kees Monshouwer)
+ * always add DS for secure zones, broken since #7523 (Kees Monshouwer)
+
+ .. change::
+ :tags: Improvements, Compliance
+ :pullreq: 7410
+
+ Ignore Path MTU Discovery on UDP server socket
+
+ .. change::
+ :tags: Features, Tools
+ :pullreq: 7832
+
+ add DoH support to sdig
+
+ .. change::
+ :tags: Bug Fixes, Tools
+ :pullreq: 7801
+ :tickets: 7667
+
+ pdnsutil: show DS for second and further keys too
+
+ .. change::
+ :tags: Features, Tools
+ :pullreq: 7655
+
+ dumresp: add TCP support
+
+ .. change::
+ :tags: Deprecation, API
+ :pullreq: 7797
+
+ API: mark ``set-ptr`` as deprecated (zeha)
+
+ .. change::
+ :tags: Robustness
+ :pullreq: 7790, 7569, 7662, 7503, 7517, 7587
+
+ Various robustness improvements:
+
+ * Do not busy loop if we get lots of notifies.
+ * Improve error reporting with garbage in the 'master' field of the database
+ * Do not exit on exception resolving addresses to notify
+ * Auth ringbuffer summaries were case sensitive & accounted delegations incorrectly
+ * plug mysql_thread_init memory leak
+ * Ensure we increase the number of queued queries before decreasing it
+
+ .. change::
+ :tags: Performance, DNSSEC
+ :pullreq: 7523
+
+ disable dnssec pre-processing for non dnssec zones and avoid a lot of ``isSecuredZone()`` calls (Kees Monshouwer)
+
+ .. change::
+ :tags: Bug fixes
+ :pullreq: 7723
+
+ rename 'supermaster' option to 'superslave'
+
+ .. change::
+ :tags: Improvements, Webserver
+ :pullreq: 5932
+
+ improve logging in the web server
+
+ .. change::
+ :tags: Features, Tools
+ :pullreq: 7481
+
+ pdnsutil, dnswasher: add support for encrypting IP addresses
+
+ .. change::
+ :tags: Improvements
+ :pullreq: 7584
+
+ GSQL: Log more data in error messages
+
+.. changelog::
+ :version: 4.2.0-rc1
+ :released: 19th of March 2019
.. change::
:tags: Bug Fixes
:pullreq: 5361
:tickets: 3602
- Make requests always return to sender, for usage in multimaster slave zones. Also - made sure that the master that is questioned for updates will be selected randomly, to prevent repeatidally asking a dead master for updates.
+ Make requests always return to sender, for usage in multimaster slave zones. Also - made sure that the master that is questioned for updates will be selected randomly, to prevent repeatedly asking a dead master for updates.
.. change::
:tags: Improvements, API
:pullreq: 6220
:tickets: 5079, 5594, 5654
- Add XPF support.
+ Add XPF support to sdig, PowerDNS Recursor and dnsdist.
.. change::
:tags: Improvements, Internals