	--- 9.16.13 released ---

5597.	[bug]		When serve-stale was enabled and starting the recursive
			resolution process for a query failed, a named instance
			could crash if it was configured as both a recursive and
			authoritative server. This problem was introduced by
			change 5573 and has now been fixed. [GL #2565]

5595.	[cleanup]	Public header files for BIND 9 libraries no longer
			directly include third-party library headers. This
			prevents the need to include paths to third-party header
			files in CFLAGS whenever BIND 9 public header files are
			used, which could cause build-time issues on hosts with
			older versions of BIND 9 installed. [GL #2357]

5594.	[bug]		Building with --enable-dnsrps --enable-dnsrps-dl failed.
			[GL #2298]

5593.	[bug]		Journal files written by older versions of named can now
			be read when loading zones, so that journal
			incompatibility does not cause problems on upgrade.
			Outdated journals are updated to the new format after
			loading. [GL #2505]

5592.	[bug]		Prevent hazard pointer table overflows on machines with
			many cores, by allowing the thread IDs (serving as
			indices into hazard pointer tables) of finished threads
			to be reused by those created later. [GL #2396]

5591.	[bug]		Fix a crash that occurred when
			"stale-answer-client-timeout" was triggered without any
			(stale) data available in the cache to answer the query.
			[GL #2503]

5590.	[bug]		NSEC3 records were not immediately created for dynamic
			zones using NSEC3 with "dnssec-policy", resulting in
			such zones going bogus. Add code to process the
			NSEC3PARAM queue at zone load time so that NSEC3 records
			for such zones are created immediately. [GL #2498]

5588.	[func]		Add a new "purge-keys" option for "dnssec-policy". This
			option determines the period of time for which key files
			are retained after they become obsolete. [GL #2408]

5586.	[bug]		An invalid direction field in a LOC record resulted in
			an INSIST failure when a zone file containing such a
			record was loaded. [GL #2499]

5584.	[bug]		No longer set the IP_DONTFRAG option on UDP sockets, to
			prevent dropping outgoing packets exceeding
			"max-udp-size". [GL #2466]

5582.	[bug]		BIND 9 failed to build when static OpenSSL libraries
			were used and the pkg-config files for libssl and/or
			libcrypto were unavailable. This has been fixed by
			ensuring that the correct linking order for libssl and
			libcrypto is always used. [GL #2402]

5581.	[bug]		Fix a memory leak that occurred when inline-signed zones
			were added to the configuration, followed by a
			reconfiguration of named. [GL #2041]

5580.	[test]		The system test framework no longer differentiates
			between SKIPPED and UNTESTED system test results. Any
			system test which is not run is now marked as SKIPPED.
			[GL !4517]

5573.	[func]		When serve-stale is enabled and stale data is available,
			named now returns stale answers upon encountering any
			unexpected error in the query resolution process.
			However, the "stale-refresh-time" window is still only
			started upon a timeout. [GL #2434]

5564.	[cleanup]	Network manager's TLSDNS module was refactored to use
			libuv and libssl directly instead of a stack of TCP/TLS
			sockets. [GL #2335]

	--- 9.16.12 released ---

5578.	[protocol]	Make "check-names" accept A records below "_spf",
			"_spf_rate", and "_spf_verify" labels in order to cater
			for the "exists" SPF mechanism specified in RFC 7208
			section 5.7 and appendix D.1. [GL #2377]

5577.	[bug]		Fix the "three is a crowd" key rollover bug in KASP by
			correctly implementing Equation (2) of the "Flexible and
			Robust Key Rollover" paper. [GL #2375]

5575.	[bug]		When migrating to KASP, BIND 9 considered keys with the
			"Inactive" and/or "Delete" timing metadata to be
			possible active keys. This has been fixed. [GL #2406]

5572.	[bug]		Address potential double free in generatexml().
			[GL #2420]

5571.	[bug]		named failed to start when its configuration included a
			zone with a non-builtin "allow-update" ACL attached.
			[GL #2413]

5570.	[bug]		Improve performance of the DNSSEC verification code by
			reducing the number of repeated calls to
			dns_dnssec_keyfromrdata(). [GL #2073]

5569.	[bug]		Emit useful error message when "rndc retransfer" is
			applied to a zone of inappropriate type. [GL #2342]

5568.	[bug]		Fixed a crash in "dnssec-keyfromlabel" when using ECDSA
			keys. [GL #2178]

5567.	[bug]		Dig now reports unknown dash options while pre-parsing
			the options. This prevents "-multi" instead of "+multi"
			from reporting memory usage before ending option parsing
			with "Invalid option: -lti". [GL #2403]

5566.	[func]		Add "stale-answer-client-timeout" option, which is the
			amount of time a recursive resolver waits before
			attempting to answer the query using stale data from
			cache. [GL #2247]

5565.	[func]		The SONAMEs for BIND 9 libraries now include the current
			BIND 9 version number, in an effort to tightly couple
			internal libraries with a specific release. [GL #2387]

5562.	[security]	Fix off-by-one bug in ISC SPNEGO implementation.
			(CVE-2020-8625) [GL #2354]

5561.	[bug]		KASP incorrectly set signature validity to the value of
			the DNSKEY signature validity. This is now fixed.
			[GL #2383]

5560.	[func]		The default value of "max-stale-ttl" has been changed
			from 12 hours to 1 day and the default value of
			"stale-answer-ttl" has been changed from 1 second to 30
			seconds, following RFC 8767 recommendations. [GL #2248]

5456.	[func]		Added "primaries" as a synonym for "masters" in
			named.conf, and "primary-only" as a synonym for
			"master-only" in the parameters to "notify", to bring
			terminology up-to-date with RFC 8499. [GL #1948]

5362.	[func]		Limit the size of IXFR responses so that AXFR will
			be used instead if it would be smaller. This is
			controlled by the "max-ixfr-ratio" option, which
			is a percentage representing the ratio of IXFR size
			to the size of the entire zone. This value cannot
			exceed 100%, which is the default. [GL #1515]

	--- 9.16.11 released ---

5559.	[bug]		The --with-maxminddb=PATH form of the build-time option
			enabling support for libmaxminddb was not working
			correctly. This has been fixed. [GL #2366]

5557.	[bug]		Prevent RBTDB instances from being destroyed by multiple
			threads at the same time. [GL #2317]

5556.	[bug]		Further tweak newline printing in dnssec-signzone and
			dnssec-verify. [GL #2359]

5555.	[bug]		server->reload_status was not properly initialized.
			[GL #2361]

5554.	[bug]		dnssec-signzone and dnssec-verify were missing newlines
			between log messages. [GL #2359]

5553.	[bug]		When reconfiguring named, removing "auto-dnssec" did not
			turn off DNSSEC maintenance. [GL #2341]

5552.	[func]		When switching to "dnssec-policy none;", named now
			permits a safe transition to insecure mode and publishes
			the CDS and CDNSKEY DELETE records, as described in RFC
			8078. [GL #1750]

5551.	[bug]		named no longer attempts to assign threads to CPUs
			outside the CPU affinity set. Thanks to Ole Bjørn
			Hessen. [GL #2245]

5550.	[func]		dnssec-signzone and named now log a warning when falling
			back to the "increment" SOA serial method. [GL #2058]

5545.	[func]		OS support for load-balanced sockets is no longer
			required to receive incoming queries in multiple netmgr
			threads. [GL #2137]

5543.	[bug]		Fix UDP performance issues caused by making netmgr
			callbacks asynchronous-only. [GL #2320]

5542.	[bug]		Refactor netmgr. [GL #1920] [GL #2034] [GL #2061]
			[GL #2194] [GL #2221] [GL #2266] [GL #2283] [GL #2318]
			[GL #2321]

	--- 9.16.10 released ---

5544.	[func]		Restore the default value of "nocookie-udp-size" to 4096
			bytes. [GL #2250]

5541.	[func]		Adjust the "max-recursion-queries" default from 75 to
			100. [GL #2305]

5540.	[port]		Fix building with native PKCS#11 support for AEP Keyper.
			[GL #2315]

5539.	[bug]		Tighten handling of missing DNS COOKIE responses over
			UDP by falling back to TCP. [GL #2275]

5538.	[func]		Add NSEC3 support to KASP. A new option for
			"dnssec-policy", "nsec3param", can be used to set the
			desired NSEC3 parameters. NSEC3 salt collisions are
			automatically prevented during resalting. Salt
			generation is now logged with zone context. [GL #1620]

5534.	[bug]		The CNAME synthesized from a DNAME was incorrectly
			followed when the QTYPE was CNAME or ANY. [GL #2280]

	--- 9.16.9 released ---

5533.	[func]		Add the "stale-refresh-time" option, a time window that
			starts after a failed lookup, during which a stale RRset
			is served directly from cache before a new attempt to
			refresh it is made. [GL #2066]

5530.	[bug]		dnstap did not capture responses to forwarded UPDATE
			requests. [GL #2252]

5527.	[bug]		A NULL pointer dereference occurred when creating an NTA
			recheck query failed. [GL #2244]

5525.	[bug]		Change 5503 inadvertently broke cross-compilation by
			replacing a call to AC_LINK_IFELSE() with a call to
			AC_RUN_IFELSE() in configure.ac.  This has been fixed,
			making cross-compilation possible again. [GL #2237]

5523.	[bug]		The initial lookup in a zone transitioning to/from a
			signed state could fail if the DNSKEY RRset was not
			found. [GL #2236]

5522.	[bug]		Fixed a race/NULL dereference in TCPDNS send. [GL #2227]

5520.	[bug]		Fixed a number of shutdown races, reference counting
			errors, and spurious log messages that could occur
			in the network manager. [GL #2221]

5518.	[bug]		Stub zones now work correctly with primary servers using
			"minimal-responses yes". [GL #1736]

5517.	[bug]		Do not treat UV_EOF as a TCP4RecvErr or a TCP6RecvErr.
			[GL #2208]

	--- 9.16.8 released ---

5516.	[func]		The default EDNS buffer size has been changed from 4096
			to 1232 bytes. [GL #2183]

5515.	[func]		Add 'rndc dnssec -rollover' command to trigger a manual
			rollover for a specific key. [GL #1749]

5514.	[bug]		Fix KASP expected key size for Ed25519 and Ed448.
			[GL #2171]

5513.	[doc]		The ARM section describing the "rrset-order" statement
			was rewritten to make it unambiguous and up-to-date with
			the source code. [GL #2139]

5512.	[bug]		"rrset-order" rules using "order none" were causing
			named to crash despite named-checkconf treating them as
			valid. [GL #2139]

5511.	[bug]		'dig -u +yaml' failed to display timestamps to the
			microsecond. [GL #2190]

5510.	[bug]		Implement the attach/detach semantics for dns_message_t
			to fix a data race in accessing an already-destroyed
			fctx->rmessage. [GL #2124]

5509.	[bug]		filter-aaaa: named crashed upon shutdown if it was in
			the process of recursing for A RRsets. [GL #1040]

5508.	[func]		Added new parameter "-expired" for "rndc dumpdb" that
			also prints expired RRsets (awaiting cleanup) to the
			dump file. [GL #1870]

5507.	[bug]		Named could compute incorrect SIG(0) responses.
			[GL #2109]

5506.	[bug]		Properly handle failed sysconf() calls, so we don't
			report invalid memory size. [GL #2166]

5505.	[bug]		Updating contents of a mixed-case RPZ could cause some
			rules to be ignored. [GL #2169]

5503.	[bug]		Cleaned up reference counting of network manager
			handles, now using isc_nmhandle_attach() and _detach()
			instead of _ref() and _unref(). [GL #2122]

	--- 9.16.7 released ---

5501.	[func]		Log CDS/CDNSKEY publication. [GL #1748]

5500.	[bug]		Fix (non-)publication of CDS and CDNSKEY records.
			[GL #2103]

5499.	[func]		Add '-P ds' and '-D ds' arguments to dnssec-settime.
			[GL #1748]

5497.	[bug]		'dig +bufsize=0' failed to disable EDNS. [GL #2054]

5496.	[bug]		Address a TSAN report by ensuring each rate limiter
			object holds a reference to its task. [GL #2081]

5495.	[bug]		With query minimization enabled, named failed to
			resolve ip6.arpa. names that had extra labels to the
			left of the IPv6 part. [GL #1847]

5494.	[bug]		Silence the EPROTO syslog message on older systems.
			[GL #1928]

5493.	[bug]		Fix off-by-one error when calculating new hash table
			size. [GL #2104]

5492.	[bug]		Tighten LOC parsing to reject a period (".") and/or "m"
			as a value. Fix handling of negative altitudes which are
			not whole meters. [GL #2074]

5491.	[bug]		rbtversion->glue_table_size could be read without the
			appropriate lock being held. [GL #2080]

5489.	[bug]		Named erroneously accepted certain invalid resource
			records that were incorrectly processed after
			subsequently being written to disk and loaded back, as
			the wire format differed. Such records include: CERT,
			IPSECKEY, NSEC3, NSEC3PARAM, NXT, SIG, TLSA, WKS, and
			X25. [GL !3953]

5488.	[bug]		NTA code needed to have a weak reference on its
			associated view to prevent the latter from being deleted
			while NTA tests were being performed. [GL #2067]

5486.	[func]		Add 'rndc dnssec -checkds' command, which signals to
			named that the DS record for a given zone or key has
			been updated in the parent zone. [GL #1613]

	--- 9.16.6 released ---

5484.	[func]		Expire zero TTL records quickly rather than using them
			for stale answers. [GL #1829]

5483.	[func]		A new configuration option "stale-cache-enable" has been
			introduced to enable or disable keeping stale answers in
			cache. [GL #1712]

5482.	[bug]		If the Duplicate Address Detection (DAD) mechanism had
			not yet finished after adding a new IPv6 address to the
			system, BIND 9 would fail to bind to IPv6 addresses in a
			tentative state. [GL #2038]

5481.	[security]	"update-policy" rules of type "subdomain" were
			incorrectly treated as "zonesub" rules, which allowed
			keys used in "subdomain" rules to update names outside
			of the specified subdomains. The problem was fixed by
			making sure "subdomain" rules are again processed as
			described in the ARM. (CVE-2020-8624) [GL #2055]

5480.	[security]	When BIND 9 was compiled with native PKCS#11 support, it
			was possible to trigger an assertion failure in code
			determining the number of bits in the PKCS#11 RSA public
			key with a specially crafted packet. (CVE-2020-8623)
			[GL #2037]

5479.	[security]	named could crash in certain query resolution scenarios
			where QNAME minimization and forwarding were both
			enabled. (CVE-2020-8621) [GL #1997]

5478.	[security]	It was possible to trigger an assertion failure by
			sending a specially crafted large TCP DNS message.
			(CVE-2020-8620) [GL #1996]

5477.	[bug]		The idle timeout for connected TCP sockets, which was
			previously set to a high fixed value, is now derived
			from the client query processing timeout configured for
			a resolver. [GL #2024]

5476.	[security]	It was possible to trigger an assertion failure when
			verifying the response to a TSIG-signed request.
			(CVE-2020-8622) [GL #2028]

5475.	[bug]		Wildcard RPZ passthru rules could incorrectly be
			overridden by other rules that were loaded from RPZ
			zones which appeared later in the "response-policy"
			statement. This has been fixed. [GL #1619]

5474.	[bug]		dns_rdata_hip_next() failed to return ISC_R_NOMORE
			when it should have. [GL !3880]

5473.	[func]		The RBT hash table implementation has been changed
			to use a faster hash function (HalfSipHash2-4) and
			Fibonacci hashing for better distribution. Setting
			"max-cache-size" now preallocates a fixed-size hash
			table so that rehashing does not cause resolution
			brownouts while the hash table is grown. [GL #1775]

5471.	[bug]		The introduction of KASP support inadvertently caused
			the second field of "sig-validity-interval" to always be
			calculated in hours, even in cases when it should have
			been calculated in days. This has been fixed. (Thanks to
			Tony Finch.) [GL !3735]

5469.	[port]		On illumos, a constant called SEC is already defined in
			<sys/time.h>, which conflicts with an identically named
			constant in libbind9. This conflict has been resolved.
			[GL #1993]

5468.	[bug]		Addressed potential double unlock in process_fd().
			[GL #2005]

5466.	[bug]		Addressed an error in recursive clients stats reporting.
			[GL #1719]

5465.	[func]		Added fallback to built-in trust-anchors, managed-keys,
			or trusted-keys if the bindkeys-file (bind.keys) cannot
			be parsed. [GL #1235]

5464.	[bug]		Requesting more than 128 files to be saved when rolling
			dnstap log files caused a buffer overflow. This has been
			fixed. [GL #1989]

5462.	[bug]		Move LMDB locking from LMDB itself to named. [GL #1976]

5461.	[bug]		The STALE rdataset header attribute was updated while
			the write lock was not being held, leading to incorrect
			statistics. The header attributes are now converted to
			use atomic operations. [GL #1475]

	--- 9.16.5 released ---

5458.	[bug]		Prevent a theoretically possible NULL dereference caused
			by a data race between zone_maintenance() and
			dns_zone_setview_helper(). [GL #1627]

5455.	[bug]		named could crash when cleaning dead nodes in
			lib/dns/rbtdb.c that were being reused. [GL #1968]

5454.	[bug]		Address a startup crash that occurred when the server
			was under load and the root zone had not yet been
			loaded. [GL #1862]

5453.	[bug]		named crashed on shutdown when a new rndc connection was
			received during shutdown. [GL #1747]

5452.	[bug]		The "blackhole" ACL was accidentally disabled for client
			queries. [GL #1936]

5451.	[func]		Add 'rndc dnssec -status' command. [GL #1612]

5449.	[bug]		Fix a socket shutdown race in netmgr udp. [GL #1938]

5448.	[bug]		Fix a race condition in isc__nm_tcpdns_send().
			[GL #1937]

5447.	[bug]		IPv6 addresses ending in "::" could break YAML
			parsing. A "0" is now appended to such addresses
			in YAML output from dig, mdig, delv, and dnstap-read.
			[GL #1952]

5446.	[bug]		The validator could fail to accept a properly signed
			RRset if an unsupported algorithm appeared earlier in
			the DNSKEY RRset than a supported algorithm. It could
			also stop if it detected a malformed public key.
			[GL #1689]

5444.	[bug]		'rndc dnstap -roll <value>' did not limit the number of
			saved files to <value>. [GL !3728]

5443.	[bug]		The "primary" and "secondary" keywords, when used
			as parameters for "check-names", were not
			processed correctly and were being ignored. [GL #1949]

5441.	[bug]		${LMDB_CFLAGS} was missing from make/includes.in.
			[GL #1955]

5440.	[test]		Properly handle missing kyua. [GL #1950]

5439.	[bug]		The DS RRset returned by dns_keynode_dsset() was used in
			a non-thread-safe manner. [GL #1926]

	--- 9.16.4 released ---

5438.	[bug]		Fix a race in TCP accepting code. [GL #1930]

5437.	[bug]		Fix a data race in lib/dns/resolver.c:log_formerr().
			[GL #1808]

5436.	[security]	It was possible to trigger an INSIST when determining
			whether a record would fit into a TCP message buffer.
			(CVE-2020-8618) [GL #1850]

5435.	[tests]		Add RFC 4592 responses examples to the wildcard system
			test. [GL #1718]

5434.	[security]	It was possible to trigger an INSIST in
			lib/dns/rbtdb.c:new_reference() with a particular zone
			content and query patterns. (CVE-2020-8619) [GL #1111]
			[GL #1718]

5431.	[func]		Reject DS records at the zone apex when loading
			master files. Log but otherwise ignore attempts to
			add DS records at the zone apex via UPDATE. [GL #1798]

5430.	[doc]		Update docs - with netmgr, a separate listening socket
			is created for each IPv6 interface (just as with IPv4).
			[GL #1782]

5428.	[bug]		Clean up GSSAPI resources in nsupdate only after taskmgr
			has been destroyed. Thanks to Petr Menšík. [GL !3316]

5426.	[bug]		Don't abort() when setting SO_INCOMING_CPU on the socket
			fails. [GL #1911]

5425.	[func]		The default value of "max-stale-ttl" has been changed
			from 1 week to 12 hours. [GL #1877]

5424.	[bug]		With KASP, when creating a successor key, the "goal"
			state of the current active key (predecessor) was not
			changed and thus never removed from the zone. [GL #1846]

5423.	[bug]		Fix a bug in keymgr_key_has_successor(): it incorrectly
			returned true if any other key in the keyring had a
			successor. [GL #1845]

5422.	[bug]		When using dnssec-policy, print correct key timing
			metadata. [GL #1843]

5421.	[bug]		Fix a race that could cause named to crash when looking
			up the nodename of an RBT node if the tree was modified.
			[GL #1857]

5420.	[bug]		Add missing isc_{mutex,conditional}_destroy() calls
			that caused a memory leak on FreeBSD. [GL #1893]

5418.	[bug]		delv failed to parse deprecated trusted-keys-style
			trust anchors. [GL #1860]

5416.	[bug]		Fix a lock order inversion in lib/isc/unix/socket.c.
			[GL #1859]

5415.	[test]		Address race in dnssec system test that led to
			test failures. [GL #1852]

5414.	[test]		Adjust time allowed for journal truncation to occur
			in nsupdate system test to avoid test failure.
			[GL #1855]

5413.	[test]		Address race in autosign system test that led to
			test failures. [GL #1852]

5412.	[bug]		'provide-ixfr no;' failed to return up-to-date responses
			when the serial was greater than or equal to the
			current serial. [GL #1714]

5411.	[cleanup]	TCP accept code has been refactored to use a single
			accept() and pass the accepted socket to child threads
			for processing. [GL !3320]

5409.	[performance]	When looking up NSEC3 data in a zone database, skip the
			check for empty non-terminal nodes; the NSEC3 tree does
			not have any. [GL #1834]

5408.	[protocol]	Print Extended DNS Errors if present in OPT record.
			[GL #1835]

5407.	[func]		Zone timers are now exported via statistics channel.
			Thanks to Paul Frieden, Verizon Media. [GL #1232]

5405.	[bug]		'named-checkconf -p' could include spurious text in
			server-addresses statements due to an uninitialized DSCP
			value. [GL #1812]

	--- 9.16.3 released ---

5404.	[bug]		'named-checkconf -z' could incorrectly indicate
			success if errors were found in one view but not in a
			subsequent one. [GL #1807]

5403.	[func]		Do not set UDP receive/send buffer sizes - use system
			defaults. [GL #1713]

5402.	[bug]		On FreeBSD, use SO_REUSEPORT_LB instead of SO_REUSEPORT.
			Enable use of SO_REUSEADDR on all platforms which
			support it. [GL !3365]

5401.	[bug]		The number of input queues allocated during dnstap
			initialization was too low, which could prevent some
			dnstap data from being logged. [GL #1795]

5400.	[func]		Add engine support to OpenSSL EdDSA implementation.
			[GL #1763]

5399.	[func]		Add engine support to OpenSSL ECDSA implementation.
			[GL #1534]

5398.	[bug]		Named could fail to restart if a zone with a double
			quote (") in its name was added with 'rndc addzone'.
			[GL #1695]

5397.	[func]		Update PKCS#11 EdDSA implementation to PKCS#11 v3.0.
			Thanks to Aaron Thompson. [GL !3326]

5396.	[func]		When necessary (i.e. in libuv >= 1.37), use the
			UV_UDP_RECVMMSG flag to enable recvmmsg() support in
			libuv. [GL #1797]

5395.	[security]	Further limit the number of queries that can be
			triggered from a request.  Root and TLD servers
			are no longer exempt from max-recursion-queries.
			Fetches for missing name server address records
			are limited to 4 for any domain. (CVE-2020-8616)
			[GL #1388]

5394.	[cleanup]	Named formerly attempted to change the effective UID and
			GID in named_os_openfile(), which could trigger a
			spurious log message if they were already set to the
			desired values. This has been fixed. [GL #1042]
			[GL #1090]

5392.	[bug]		It was possible for named to crash during shutdown
			or reconfiguration if an RPZ zone was still being
			updated. [GL #1779]

5390.	[security]	Replaying a TSIG BADTIME response as a request could
			trigger an assertion failure. (CVE-2020-8617)
			[GL #1703]

5389.	[bug]		Finish PKCS#11 code cleanup, fix a couple of smaller
			bugs and use PKCS#11 v3.0 EdDSA macros and constants.
			Thanks to Aaron Thompson. [GL !3391]

5387.	[func]		Warn about AXFR streams with inconsistent message IDs.
			[GL #1674]

5386.	[cleanup]	Address Coverity warnings in lib/dns/keymgr.c.
			[GL #1737]

5385.	[func]		Make ISC rwlock implementation the default again.
			[GL #1753]

5384.	[bug]		With "dnssec-policy" in effect, "inline-signing" was
			implicitly set to "yes". Now "inline-signing" is only
			set to "yes" if the zone is not dynamic. [GL #1709]

	--- 9.16.2 released ---

5383.	[func]		Add a quota attach function with a callback and clean up
			the isc_quota API. [GL !3280]

5382.	[bug]		Use clock_gettime() instead of gettimeofday() for
			isc_stdtime() function. [GL #1679]

5381.	[bug]		Fix logging API data race by adding rwlock and caching
			logging levels in stdatomic variables to restore
			performance to original levels. [GL #1675] [GL #1717]

5380.	[contrib]	Fix building MySQL DLZ modules against MySQL 8
			libraries. [GL #1678]

5378.	[bug]		Receiving invalid DNS data was triggering an assertion
			failure in nslookup. [GL #1652]

5376.	[bug]		Fix ineffective DNS rebinding protection when BIND is
			configured as a forwarding DNS server. Thanks to Tobias
			Klein. [GL #1574]

5375.	[test]		Fix timing issues in the "kasp" system test. [GL #1669]

5374.	[bug]		Statistics counters tracking recursive clients and
			active connections could underflow. [GL #1087]

5373.	[bug]		Collecting statistics for DNSSEC signing operations
			(change 5254) caused an array of significant size (over
			100 kB) to be allocated for each configured zone. Each
			of these arrays is tracking all possible key IDs; this
			could trigger an out-of-memory condition on servers with
			a high enough number of zones configured. Fixed by
			tracking up to four keys per zone and rotating counters
			when keys are replaced. This fixes the immediate problem
			of high memory usage, but should be improved in a future
			release by growing or shrinking the number of keys to
			track upon key rollover events. [GL #1179]

5372.	[bug]		Fix migration from existing DNSSEC key files
			("auto-dnssec maintain") to "dnssec-policy". [GL #1706]

5371.	[bug]		Improve incremental updates of the RPZ summary
			database to reduce delays that could occur when
			a policy zone update included a large number of
			record deletions. [GL #1447]

5370.	[bug]		Deactivation of a netmgr handle associated with a
			socket could be skipped in some circumstances.
			Fixed by deactivating the netmgr handle before
			scheduling the asynchronous close routine. [GL #1700]

5368.	[bug]		Named failed to restart if 'rndc addzone' names
			contained special characters (e.g. '/'). [GL #1655]

5367.	[bug]		Fixed a flaw in the calculation of the zone database
			size so that "max-journal-size default" uses the correct
			limit. [GL #1661]

	--- 9.16.1 released ---

5366.	[bug]		Fix a race condition with the keymgr when the same
			zone plus dnssec-policy is configured in multiple
			views. [GL #1653]

5365.	[bug]		Algorithm rollover was stuck on submitting DS
			because keymgr thought it would move to an invalid
			state.  Fixed by checking the current key against
			the desired state, not the existing state. [GL #1626]

5364.	[bug]		Algorithm rollover waited too long before introducing
			zone signatures.  It waited to make sure all signatures
			were regenerated, but when introducing a new algorithm,
			all signatures are regenerated immediately.  Only
			add the sign delay if there is a predecessor key.
			[GL #1625]

5363.	[bug]		When changing a dnssec-policy, existing keys with
			properties that no longer match were not being retired.
			[GL #1624]

5361.	[bug]		named might not accept new connections after
			hitting tcp-clients quota. [GL #1643]

5360.	[bug]		delv could fail to load trust anchors in DNSKEY
			format. [GL #1647]

5358.	[bug]		Inline master zones whose master files were touched
			but otherwise unchanged and were subsequently reloaded
			may have stopped re-signing. [GL !3135]

5357.	[bug]		Newly added RRSIG records with expiry times before
			the previous earliest expiry times might not be
			re-signed in time.  This was a side effect of 5315.
			[GL !3137]

	--- 9.16.0 released ---

5356.	[func]		Update dnssec-policy configuration statements:
			- Rename "zone-max-ttl" dnssec-policy option to
			  "max-zone-ttl" for consistency with the existing
			  zone option.
			- Allow for "lifetime unlimited" as a synonym for
			  "lifetime PT0S".
			- Make "key-directory" optional.
			- Warn if specifying a key length does not make
			  sense; fail if key length is out of range for
			  the algorithm.
			- Allow use of mnemonics when specifying key
			  algorithm (e.g. "rsasha256", "ecdsa384", etc.).
			- Make ISO 8601 durations case-insensitive.
			[GL #1598]

5355.	[func]		What was set with --with-tuning=large option in
			older BIND9 versions is now a default, and
			a --with-tuning=small option was added for small
			(e.g. OpenWRT) systems. [GL !2989]

5354.	[bug]		dnssec-policy created new KSK keys for zones in the
			initial stage of signing (with the DS not yet in the
			rumoured or omnipresent states).  Fix by checking the
			key goals rather than the active state when determining
			whether new keys are needed. [GL #1593]

5353.	[doc]		Document port and dscp parameters in forwarders
			configuration option. [GL #914]

5352.	[bug]		Correctly handle catalog zone entries containing
			characters that aren't legal in filenames. [GL #1592]

5351.	[bug]		CDS / CDNSKEY consistency checks failed to handle
			removal records. [GL #1554]

5350.	[bug]		When a view was configured with class CHAOS, the
			server could crash while processing a query for a
			non-existent record. [GL #1540]

5349.	[bug]		Fix a race in task_pause/unpause. [GL #1571]

5348.	[bug]		dnssec-settime -Psync was not being honoured.
			[GL !2925]

	--- 9.15.8 released ---

5347.	[bug]		Fixed a bug that could cause an intermittent crash
			in validator.c when validating a negative cache
			entry. [GL #1561]

5346.	[bug]		Make hazard pointer array allocations dynamic, fixing
			a bug that caused named to crash on machines with more
			than 40 cores. [GL #1493]

5345.	[func]		Key-style trust anchors and DS-style trust anchors
			can now both be used for the same name. [GL #1237]

5344.	[bug]		Handle accept() errors properly in netmgr. [GL !2880]

5343.	[func]		Add statistics counters to the netmgr. [GL #1311]

5342.	[bug]		Disable pktinfo for IPv6 and bind to each interface
			explicitly instead, because libuv doesn't support
			pktinfo control messages. [GL #1558]

5341.	[func]		Simplify passing the bound TCP socket to child
			threads by using isc_uv_export/import functions.
			[GL !2825]

5340.	[bug]		Don't deadlock when binding to a TCP socket fails.
			[GL #1499]

5339.	[bug]		With some libmaxminddb versions, named could erroneously
			match an IP address not belonging to any subnet defined
			in a given GeoIP2 database to one of the existing
			entries in that database. [GL #1552]

5338.	[bug]		Fix line spacing in `rndc secroots`.
			Thanks to Tony Finch. [GL !2478]

5337.	[func]		'named -V' now reports maxminddb and protobuf-c
			versions. [GL !2686]

	--- 9.15.7 released ---

5336.	[bug]		The TCP high-water statistic could report an
			incorrect value on startup. [GL #1392]

5335.	[func]		Make TCP listening code multithreaded. [GL !2659]

5334.	[doc]		Update documentation with dnssec-policy clarifications.
			Also change some defaults. [GL !2711]

5333.	[bug]		Fix duration printing on Solaris when value is not
			an ISO 8601 duration. [GL #1460]

5332.	[func]		Renamed "dnssec-keys" configuration statement
			to the more descriptive "trust-anchors". [GL !2702]

5331.	[func]		Use compiler-provided mechanisms for thread local
			storage, and make the requirement for such mechanisms
			explicit in configure. [GL #1444]

5330.	[bug]		'configure --without-python' was ineffective if
			PYTHON was set in the environment. [GL #1434]

5329.	[bug]		Reconfiguring named caused memory to be leaked when any
			GeoIP2 database was in use. [GL #1445]

5328.	[bug]		rbtdb.c:rdataset_{get,set}ownercase failed to obtain
			a node lock. [GL #1417]

5327.	[func]		Added a statistics counter to track queries
			dropped because the recursive-clients quota was
			exceeded. [GL #1399]

5326.	[bug]		Add Python dependency on 'distutils.core' to configure.
			'distutils.core' is required for installation.
			[GL #1397]

5325.	[bug]		Addressed several issues with TCP connections in
			the netmgr: restored support for TCP connection
			timeouts, restored TCP backlog support, actively
			close all open sockets during shutdown. [GL #1312]

5324.	[bug]		Change the category of some log messages from general
			to the more appropriate catergory of xfer-in. [GL #1394]

5323.	[bug]		Fix a bug in DNSSEC trust anchor verification.
			[GL !2609]

5322.	[placeholder]

5321.	[bug]		Obtain write lock before updating version->records
			and version->bytes. [GL #1341]

5320.	[cleanup]	Silence TSAN on header->count. [GL #1344]

	--- 9.15.6 released ---

5319.	[func]		Trust anchors can now be configured using DS
			format to represent a key digest, by using the
			new "initial-ds" or "static-ds" keywords in
			the "dnssec-keys" statement.

			Note: DNSKEY-format and DS-format trust anchors
			cannot both be used for the same domain name.
			[GL #622]

5318.	[cleanup]	The DNSSEC validation code has been refactored
			for clarity and to reduce code duplication.
			[GL #622]

5317.	[func]		A new asynchronous network communications system
			based on libuv is now used for listening for
			incoming requests and responding to them. (The
			old isc_socket API remains in use for sending
			iterative queries and processing responses; this
			will be changed too in a later release.)

			This change will make it easier to improve
			performance and implement new protocol layers
			(e.g., DNS over TLS) in the future. [GL #29]

5316.	[func]		A new "dnssec-policy" option has been added to
			named.conf to implement a key and signing policy
			(KASP) for zones. When this option is in use,
			named can generate new keys as needed and
			automatically roll both ZSK and KSK keys. (Note
			that the syntax for this statement differs from
			the dnssec policy used by dnssec-keymgr.)

			See the ARM for configuration details. [GL #1134]

5315.	[bug]		Apply the initial RRSIG expiration spread fixed
			to all dynamically created records in the zone
			including NSEC3. Also fix the signature clusters
			when the server has been offline for prolonged
			period of times. [GL #1256]

5314.	[func]		Added a new statistics variable "tcp-highwater"
			that reports the maximum number of simultaneous TCP
			clients BIND has handled while running. [GL #1206]

5313.	[bug]		The default GeoIP2 database location did not match
			the ARM.  'named -V' now reports the default
			location. [GL #1301]

5312.	[bug]		Do not flush the cache for `rndc validation status`.
			Thanks to Tony Finch. [GL !2462]

5311.	[cleanup]	Include all views in output of `rndc validation status`.
			Thanks to Tony Finch. [GL !2461]

5310.	[bug]		TCP failures were affecting EDNS statistics. [GL #1059]

5309.	[placeholder]

5308.	[bug]		Don't log DNS_R_UNCHANGED from sync_secure_journal()
			at ERROR level in receive_secure_serial(). [GL #1288]

5307.	[bug]		Fix hang when named-compilezone output is sent to pipe.
			Thanks to Tony Finch. [GL !2481]

5306.	[security]	Set a limit on number of simultaneous pipelined TCP
			queries. (CVE-2019-6477) [GL #1264]

5305.	[bug]		NSEC Aggressive Cache ("synth-from-dnssec") has been
			disabled by default because it was found to have
			a significant performance impact on the recursive
			service. [GL #1265]

5304.	[bug]		"dnskey-sig-validity 0;" was not being accepted.
			[GL #876]

5303.	[placeholder]

5302.	[bug]		Fix checking that "dnstap-output" is defined when
			"dnstap" is specified in a view. [GL #1281]

5301.	[bug]		Detect partial prefixes / incomplete IPv4 address in
			acls. [GL #1143]

5300.	[bug]		dig/mdig/delv: Add a colon after EDNS option names,
			even when the option is empty, to improve
			readability and allow correct parsing of YAML
			output. [GL #1226]

	--- 9.15.5 released ---

5299.	[security]	A flaw in DNSSEC verification when transferring
			mirror zones could allow data to be incorrectly
			marked valid. (CVE-2019-6475) [GL #1252]

5298.	[security]	Named could assert if a forwarder returned a
			referral, rather than resolving the query, when QNAME
			minimization was enabled. (CVE-2019-6476) [GL #1051]

5297.	[bug]		Check whether a previous QNAME minimization fetch
			is still running before starting a new one; return
			SERVFAIL and log an error if so. [GL #1191]

5296.	[placeholder]

5295.	[cleanup]	Split dns_name_copy() calls into dns_name_copy() and
			dns_name_copynf() for those calls that can potentially
			fail and those that should not fail respectively.
			[GL !2265]

5294.	[func]		Fallback to ACE name on output in locale, which does not
			support converting it to unicode.  [GL #846]

5293.	[bug]		On Windows, named crashed upon any attempt to fetch XML
			statistics from it. [GL #1245]
