development. Regular users should refer to :ref:`Release Notes <relnotes>`
for changes relevant to them.
+(-dev)
+------
+
+New Features
+~~~~~~~~~~~~
+
+- Print the full path of the working directory in startup log messages.
+ ``99ce0d6b838``
+
+ named now prints its initial working directory during startup and the
+ changed working directory when loading or reloading its configuration
+ file if it has a valid 'directory' option defined. :gl:`#4731`
+ :gl:`!9373`
+
+Feature Changes
+~~~~~~~~~~~~~~~
+
+- Restore the ability to select individual unit tests. ``a59fe212a34``
+
+ This adds the command line arguments: `-d` (debug), `-l` (list tests)
+ and `-t test` (run this test) to the unit tests.
+
+ e.g. ``` % ./rdata_test -t zonemd [==========] selected:
+ Running 1 test(s). [ RUN ] zonemd [ OK ] zonemd
+ [==========] selected: 1 test(s) run. [ PASSED ] 1 test(s).
+ % ``` :gl:`#4579` :gl:`!9386`
+
+- Process also the ISC_R_CANCELED result code in rpz_rewrite()
+ ``26df9f6255b``
+
+ Log canceled resolver queries (e.g. when shutting down a hung fetch)
+ in DEBUG3 level instead of DEBUG1 which is used for the "unrecognized"
+ result codes. :gl:`#4797` :gl:`!9348`
+
+- Remove code to read and parse /proc/net/if_inet6 on Linux.
+ ``887a61a4082``
+
+ The getifaddr() works fine for years, so we don't have to keep the
+ callback to parse /proc/net/if_inet6 anymore. :gl:`#4852` :gl:`!9342`
+
+- Follow the number of CPU set by taskset/cpuset. ``17efe703cc2``
+
+ Administrators may wish to constrain the set of cores that BIND 9 runs
+ on via the 'taskset', 'cpuset' or 'numactl' programs (or equivalent on
+ other O/S).
+
+ If the admin has used taskset, the `named` will now follow to
+ automatically use the given number of CPUs rather than the system wide
+ count. :gl:`#4884` :gl:`!9443`
+
+Bug Fixes
+~~~~~~~~~
+
+- Change the NS_PER_SEC (and friends) from enum to #define.
+ ``0da22fc138e``
+
+ New version of clang (19) has introduced a stricter checks when mixing
+ integer (and float types) with enums. In this case, we used enum {}
+ as C17 doesn't have constexpr yet. Change the time conversion
+ constants to be #defined constants because of RHEL 8 compiler doesn't
+ consider static const unsigned int to be constant. :gl:`#4845`
+ :gl:`!9340`
+
+- Check the result of dirfd() before calling unlinkat() ``b9f0df60972``
+
+ Instead of directly using the result of dirfd() in the unlinkat()
+ call, check whether the returned file descriptor is actually valid.
+ That doesn't really change the logic as the unlinkat() would fail with
+ invalid descriptor anyway, but this is cleaner and will report the
+ right error returned directly by dirfd() instead of EBADF from
+ unlinkat(). :gl:`#4853` :gl:`!9344`
+
+- Checking whether a EDDSA key was private or not was broken.
+ ``e04839c08e8``
+
+ Checking whether a EDDSA key was private or not was broken could lead
+ to attempting to sign records with a public key and this could cause a
+ segmentation failure (read of a NULL pointer) within OpenSSL.
+ :gl:`#4855` :gl:`!9329`
+
+- Fix algoritm rollover bug when there are two keys with the same
+ keytag. ``43c8ed45e53``
+
+ If there is an algorithm rollover and two keys of different algorithm
+ share the same keytags, then there is a possibility that if we check
+ that a key matches a specific state, we are checking against the wrong
+ key. This has been fixed by not only checking for matching key tag but
+ also key algorithm. :gl:`#4878` :gl:`!9394`
+
+- Stop using malloc_usable_size and malloc_size. ``cccd26e942c``
+
+ The `malloc_usable_size()` can return size larger than originally
+ allocated and when these sizes disagree the fortifier enabled by
+ `_FORTIFY_SOURCE=3` detects overflow and stops the `named` execution
+ abruptly. Stop using these convenience functions as they are primary
+ used for introspection-only. :gl:`#4880` :gl:`!9419`
+
+- Preserve statement tag order in documentation. ``b4d1988c280``
+
+ This supports bit-for-bit reproducibility of built documentation.
+ :gl:`#4886` :gl:`!9409`
+
+- Fix clang-scan 19 warnings. ``01ee251d130``
+
+ Silence warnings generated by clang-scan. :gl:`!9388`
+
+
BIND 9.18.29
------------