.. changelog::
:version: 4.9.15
:released: 20th of May 2026
This is release 4.9.15 of the Authoritative Server.
It contains bug fixes and security fixes.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 17444
Fix PowerDNS Security Advisory 2026-06 for PowerDNS Authoritative Server: Multiple Issues
.. change::
:tags: Bug Fixes
:pullreq: 17295
:tickets: 17284
use less inefficient code in web server
.. change::
:tags: Bug Fixes
:pullreq: 17293
:tickets: 17240
harden xfr*BitInt writers
.. change::
:tags: Bug Fixes
:pullreq: 17260
:tickets: 16636
perform axfr immediately when creating an autosecondary domain
.. change::
:tags: Bug Fixes
:pullreq: 17262
:tickets: 16731
web: stricter control of statistics rings changes
.. change::
:tags: Bug Fixes
:pullreq: 17265
:tickets: 16831
stricter handing of the Lua DNS update policy
.. change::
:tags: Bug Fixes
:pullreq: 17267
:tickets: 17000
correctly delete ENT records from the API
.. change::
:tags: Bug Fixes
:pullreq: 17269
:tickets: 17126
lua: one more bad case of createForward
.. change::
:tags: Bug Fixes
:pullreq: 17271
:tickets: 17130
minor pdns_control bugfixes
.. change::
:tags: Bug Fixes
:pullreq: 17272
:tickets: 17149
webserver: correctly split the basic authorization cookie
.. change::
:tags: Bug Fixes
:pullreq: 17274
:tickets: 17152
fixes to AXFR in Bind backend
.. change::
:tags: Bug Fixes
:pullreq: 17276
:tickets: 17155
dnsupdate handling buglet
.. changelog::
:version: 4.9.14
:released: 22th of April 2026
This is release 4.9.14 of the Authoritative Server.
It contains security fixes only.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 17192
Fix PowerDNS Security Advisory 2026-05 for PowerDNS Authoritative Server: Multiple Issues
.. changelog::
:version: 4.9.13
:released: 20th of February 2026
This is release 4.9.13 of the Authoritative Server.
It contains bug fixes only.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 16877
fix stupid logic error in lmdb-write-update-notification=no
.. change::
:tags: Bug Fixes
:pullreq: 16875
Stricter timestamp checks
.. change::
:tags: Bug Fixes
:pullreq: 16873
Correctly compute public key exponent length when larger than 255.
.. change::
:tags: Bug Fixes
:pullreq: 16788
lmdb: be sure to abort pending transactions in the correct order.
.. change::
:tags: Bug Fixes
:pullreq: 16789
Wrap SSql pointers in a unique pointer earlier
.. change::
:tags: Bug Fixes
:pullreq: 16686
fix geoip_mmdb backend MMDB_open error handling
.. change::
:tags: Bug Fixes
:pullreq: 16684
more robustness in createReverse*
.. changelog::
:version: 4.9.12
:released: 11th of December 2025
This is release 4.9.12 of the Authoritative Server.
It contains bug fixes and a minor feature.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: New Features
:pullreq: 16600
:tickets: 16589
allow finer-grained rrset changes through the API
.. change::
:tags: Bug Fixes
:pullreq: 16604
:tickets: 16538
m4/pdns_check_libcrypto: fix ecdsa/eddsa includedir (famfo)
.. change::
:tags: Bug Fixes
:pullreq: 16567
:tickets: 16564
add missing catch block for STL exceptions in createForward
.. change::
:tags: Bug Fixes
:pullreq: 16550
:tickets: 15716
auth backend transaction fixes in error cases
.. change::
:tags: Bug Fixes
:pullreq: 16534
:tickets: 16059
REST API: bring back 404 errors
.. change::
:tags: Bug Fixes
:pullreq: 16535
:tickets: 16287
Prevent a potential race condition in cache cleaning
.. changelog::
:version: 4.9.11
:released: 15th of October 2025
This is release 4.9.10 of the Authoritative Server.
It contains a minor feature.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: New Features
:pullreq: 16196
lmdb: optional memory-only freshness check timestamp
.. changelog::
:version: 4.9.10
:released: never
Technical issues in the release process prevented the 4.9.10 release to be
created correctly.
Therefore 4.9.10 was never released, in favour of 4.9.11.
.. changelog::
:version: 4.9.9
:released: 24th of September 2025
This is release 4.9.9 of the Authoritative Server.
It contains a minor feature and a few fixes.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 16158
memory corruption in ODBC plus tweaks to appease coverity
.. change::
:tags: Bug Fixes
:pullreq: 16157
Fix EDNS Cookie & Proxy protocol
.. change::
:tags: New Features
:pullreq: 16154
lmdb: optional memory-only notification timestamps (:ref:`setting-lmdb-write-notification-update`)
.. changelog::
:version: 4.9.8
:released: 7th of August 2025
This is release 4.9.8 of the Authoritative Server.
It contains a minor feature.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: New Features
:pullreq: 15961
Return record last modification time in the API when known.
.. changelog::
:version: 4.9.7
:released: 7th of July 2025
This is release 4.9.7 of the Authoritative Server.
It contains bug fixes, mainly in LMDB.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 15770
:tickets: 15063
compilation fix: Include cstdint to get uint64_t
.. change::
:tags: Bug Fixes
:pullreq: 15772
:tickets: 15594
auth docker: avoid crash on --version caused by doubly loaded modules
.. change::
:tags: Bug Fixes
:pullreq: 15771
:tickets: 15518
TSIG payload: use canonical (lowercase) name format
.. change::
:tags: Bug Fixes
:pullreq: 15736
:tickets: 15677
LMDB: honour map-size for all files
.. change::
:tags: Bug Fixes
:pullreq: 15720
Close race window during which LMDB lightning stream flag values might be incorrect.
.. changelog::
:version: 4.9.6
:released: never
Technical issues in the release process prevented the 4.9.6 release to be
created correctly.
Therefore 4.9.6 was never released, in favour of 4.9.7.
.. changelog::
:version: 4.9.5
:released: 7th of May 2025
This is release 4.9.5 of the Authoritative Server.
It contains an LMDB performance optimization and bug fixes.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Improvements
:pullreq: 15237
:tickets: 15176
Faster LMDB list/lookup/get operations
.. change::
:tags: Bug Fixes
:pullreq: 15347
:tickets: 15339
Correctly handle marked-as-deleted elements in LMDB read-only queries
.. change::
:tags: Bug Fixes
:pullreq: 15345
:tickets: 15340
Fix MySQL operation on 64-bit big-endian platforms
.. change::
:tags: Bug Fixes
:pullreq: 15228
:tickets: 15222
Fix incorrect behaviour of Lua createForward and createForward6 functions
leading to possible SERVFAIL answers, when processing certain data.
.. changelog::
:version: 4.9.4
:released: 7th of February 2025
This is release 4.9.4 of the Authoritative Server.
It contains a bug fix.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 15094
:tickets: 15093
check return value of getCatalogMembers() (Kees Monshouwer)
.. changelog::
:version: 4.9.3
:released: 17th of December 2024
This is release 4.9.3 of the Authoritative Server.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 14968
SVCB parser: allow quotes around port=
.. changelog::
:version: 4.9.2
:released: 1st of October 2024
This is release 4.9.2 of the Authoritative Server.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 14711
pdnsutil check-zone: make LUA records optional
.. change::
:tags: Improvements
:pullreq: 14710
Yahttp router: appease coverity regarding unsigned underflow in match()
.. change::
:tags: Bug Fixes
:pullreq: 14708
json11: add include for cstdint
.. change::
:tags: Improvements
:pullreq: 14709
Fix build with boost 1.86.0
.. change::
:tags: Bug Fixes
:pullreq: 14675
API: when querying with rrset_name, respect it for comments too
.. change::
:tags: Improvements
:pullreq: 14707
more and better thread names
.. change::
:tags: New Features
:pullreq: 14712
provide dns packet when doing lookup for presigned signatures
.. change::
:tags: Improvements
:pullreq: 14706
webserver.cc: try to pass exception text with 500 errors
.. change::
:tags: Improvements
:pullreq: 14603
ssqlite3: use "begin immediate" to avoid later fights over upgrading to write
.. change::
:tags: Bug Fixes
:pullreq: 14526
fix domain ordering in catalog SQL query
.. change::
:tags: Improvements
:pullreq: 14403
switch el7 builds to Oracle Linux 7
.. change::
:tags: Improvements
:pullreq: 14405
dns.cc: use ``pdns::views::UnsignedCharView``
.. change::
:tags: Improvements
:pullreq: 14303
geoipbackend: link C++ filesystem lib if necessary
.. change::
:tags: New Features
:pullreq: 14245
auth web: make request/response timeout configurable (Samir Aguiar)
.. changelog::
:version: 4.9.1
:released: 28th of May 2024
This is release 4.9.1 of the Authoritative Server.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
.. change::
:tags: Bug Fixes
:pullreq: 14253
autoconf: allow prerelease systemd versions (Chris Hofstaedtler)
.. change::
:tags: Bug Fixes
:pullreq: 14251
ixfrdist: Fix broken 'uid' and 'gid' parsing for non-numerical values
.. change::
:tags: Bug Fixes
:pullreq: 14229
YaHTTP: Enforce max # of request fields and max request line size
.. change::
:tags: Improvements
:pullreq: 14188
rpm: Change home directory to /var/lib/pdns
.. change::
:tags: Bug Fixes
:pullreq: 14199
Fix memory leaks in the bind file format parser
.. change::
:tags: Bug Fixes
:pullreq: 14186
dnsproxy: fix build on s390x (Chris Hofstaedtler)
.. change::
:tags: Improvements
:pullreq: 14191
m4: Add option for 64-bit time_t on 32-bit systems with glibc-2.34 (Sven Wegener)
.. change::
:tags: Bug Fixes
:pullreq: 14189
pdnsutil check-zone: accept LUA A/AAAA as SVCB address targets
.. change::
:tags: Bug Fixes
:pullreq: 14190
Properly finalize PKCS11 modules before releasing them (Aki Tuomi)
.. change::
:tags: Improvements
:pullreq: 14187
Wrap backend factories in smart pointers
.. change::
:tags: Bug Fixes
:pullreq: 14058
don't crash when a catalog SOA is invalid
.. change::
:tags: Improvements
:pullreq: 14126
(optionally) drop whitespace on join
.. change::
:tags: Bug Fixes
:pullreq: 13929
debian: adjust option name in shipped postinst
.. changelog::
:version: 4.9.0
:released: 15th of March 2024
This is release 4.9.0 of the Authoritative Server.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
4.9 contains improvements to the API, ALIAS handling, catalog zones, and some tool improvements.
It also contains various bug fixes and smaller improvements, please see the list below.
.. change::
:tags: Improvements
:pullreq: 13901
on OpenBSD, try harder to send on a non-blocking socket
.. change::
:tags: New Features
:pullreq: 13900
LUA dblookup: switch qtype argument to int
.. change::
:tags: Bug Fixes
:pullreq: 13899
revive remotebackend tests and fix failures
.. change::
:tags: Improvements
:pullreq: 13898
Docker: Only print config if debug flag is set
.. change::
:tags: Bug Fixes
:pullreq: 13897
do not disable ns records at apex in consumer zones
.. change::
:tags: Bug Fixes
:pullreq: 13896
catalog: include groups in hash calculation
.. change::
:tags: New Features
:pullreq: 13895
LUA: support returning empty set in filterForward #13879
.. changelog::
:version: 4.9.0-beta2
:released: 16th of February 2024
This is release 4.9.0-beta2 of the Authoritative Server.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
4.9 contains improvements to the API, ALIAS handling, catalog zones, and some tool improvements.
It also contains various bug fixes and smaller improvements, please see the list below.
.. change::
:tags: Bug Fixes
:pullreq: 13803
lmdb: remove mapasync mode, it was always a lie
.. change::
:tags: New Features
:pullreq: 13753
ixfrdist: add support for outgoing notify
.. change::
:tags: New Features
:pullreq: 13752
LUA records, pickchashed function
.. change::
:tags: New Features
:pullreq: 13391
Add Lua function to pick records via name hash (Brian Rak)
.. change::
:tags: New Features
:pullreq: 12359
LUA records: add dblookup function
.. change::
:tags: Improvements
:pullreq: 13743
API: reject priority element in record
.. change::
:tags: Improvements
:pullreq: 13724
dnsname: Optimize parsing of uncompressed labels
.. change::
:tags: Bug Fixes
:pullreq: 13738
debian: adjust option names in shipped configs
.. change::
:tags: Improvements
:pullreq: 13110
Log port with all freshness check failure scenarios. (Sander Smeenk)
.. change::
:tags: Improvements
:pullreq: 13723
DNSName: correct len and offset types
.. change::
:tags: Bug Fixes
:pullreq: 13725
fix tinydnsbackend compilation issue
.. change::
:tags: Improvements
:pullreq: 13729
getAllDomains catalog: avoid useless copy
.. change::
:tags: Improvements
:pullreq: 13722
LUA createForward: allow non-hex word prefix
.. change::
:tags: Bug Fixes
:pullreq: 13633
set catalog in gsql getAllDomains
.. change::
:tags: New Features
:pullreq: 13649
add a configurable delay for notifications
.. change::
:tags: New Features
:pullreq: 13481
Add and document a `localwho()` function for LUA records (Bert Hubert)
.. changelog::
:version: 4.9.0-beta1
:released: not released
This version number was skipped.
.. changelog::
:version: 4.9.0-alpha1
:released: 12th of January 2024
This is release 4.9.0-alpha1 of the Authoritative Server.
Please review the :doc:`Upgrade Notes <../upgrading>` before upgrading from versions < 4.9.x.
This version contains improvements to the API, ALIAS handling, catalog zones, and some tool improvements.
It also contains various bug fixes and smaller improvements, please see the list below.
.. change::
:tags: New Features
:pullreq: 13441
forward EDNS Client Subnet option during ALIAS processing
.. change::
:tags: Improvements
:pullreq: 13693
iputils: avoid unused warnings on !linux
.. change::
:tags: Improvements
:pullreq: 13613
Remove the `extern`ed `StatBag` from `ws-auth`
.. change::
:tags: Improvements
:pullreq: 13642
allow building in separate build directory (Chris Hofstaedtler)
.. change::
:tags: Bug Fixes
:pullreq: 13635
improve wildcard CNAME handling (Kees Monshouwer)
.. change::
:tags: Bug Fixes
:pullreq: 13514
auth api: flush all caches when flushing (Chris Hofstaedtler)
.. change::
:tags: Improvements
:pullreq: 13153, 13641
Move method checking to Router (Aki Tuomi)
.. change::
:tags: Improvements
:pullreq: 13619
Add supervisor to Auth container image
.. change::
:tags: New Features
:pullreq: 13062
add loglevel-show setting to get logs formatted like structured logs
.. change::
:tags: Bug Fixes
:pullreq: 13072
CAA records: handle empty value more gracefully, fixes #13070
.. change::
:tags: Improvements
:pullreq: 13023
Remove legacy terms from the codebase (Kees Monshouwer)
.. change::
:tags: Improvements
:pullreq: 13191
Wrap ``DIR*`` objects in unique pointers to prevent memory leaks
.. change::
:tags: New Features
:pullreq: 13322
ixfrdist: add NOTIFY receive support
.. change::
:tags: Improvements
:pullreq: 13028
bindparser add primary/secondary/etc. keywords (Kees Monshouwer)
.. change::
:tags: Improvements
:pullreq: 13340
Netmask: Normalize subnet masks coming from a string
.. change::
:tags: New Features
:pullreq: 13287
dnsscope: Add a `--port` option to select a custom port
.. change::
:tags: Improvements
:pullreq: 13014
Report auth settings deprecated in 4.5 (Josh Soref)
.. change::
:tags: New Features
:pullreq: 13293
sdig: add rudimentary EDE output
.. change::
:tags: Improvements
:pullreq: 13192
Improve error message for missing GSS-TSIG feature (Andreas Jakum)
.. change::
:tags: New Features
:pullreq: 13238
add default-catalog-zone setting
.. change::
:tags: New Features
:pullreq: 12086
API: replace zone contents et al (Chris Hofstaedtler)
.. change::
:tags: New Features
:pullreq: 11597
geoipbackend: Support reading zones from directory (Aki Tuomi)
.. change::
:tags: Improvements
:pullreq: 13162
Print the list of loaded modules next to the config.h preset
.. change::
:tags: Improvements
:pullreq: 13168
Change the default for building with net-snmp from `auto` to `no`
.. change::
:tags: Improvements
:pullreq: 12565
harmonize \*xfr log messages (Josh Soref)
.. change::
:tags: Improvements
:pullreq: 12949
Refactor the MultiThreadDistributor using `pdns::channel`
.. change::
:tags: Bug Fixes
:pullreq: 13018
calidns: Fix setting an ECS source of 0
.. change::
:tags: Bug Fixes
:pullreq: 13019
calidns: Prevent a crash on an empty domains file
.. change::
:tags: Improvements
:pullreq: 13065
report which backend failed to instantiate
.. change::
:tags: Improvements
:pullreq: 13063
add remote to logs when tcp thread dies (Chris Hofstaedtler)
.. change::
:tags: Improvements
:pullreq: 13049
Add missing tools to pdns-tools package description (control) (Andreas Jakum)
.. change::
:tags: Improvements
:pullreq: 12753
pkcs11signers: If private key object has `CKA_ALWAYS_AUTHENTICATE` attribute, perform `CKU_CONTEXT_SPECIFIC` login after `OperationInit` to make it actually work. (Aki Tuomi)
.. change::
:tags: Improvements
:pullreq: 13029
wait for `mysql.service` (Andras Kovacs)
.. change::
:tags: Improvements
:pullreq: 12877
bump sdist builders to alpine 3.18
.. change::
:tags: Improvements
:pullreq: 11510
new option 'ignore-errors' for setting 'outgoing-axfr-expand-alias' (Klaus Darilion)