# Kea 2.1.3, Feb 23rd 2022, Release Notes Welcome to Kea 2.1.3, the fourth monthly release of the 2.1 development branch. As with any other development release, use this with caution: development releases are not recommended for production use. Kea is a DHCP implementation developed by Internet Systems Consortium (ISC) that features DHCPv4 and DHCPv6 servers with DNS updating and a REST API; optional database support (MySQL and PostgreSQL); optional RADIUS, Kerberos, and Yang/NETCONF support; and much more. Kea provides extensive management capabilities, including but not limited to: TLS support, run-time configuration monitoring and updates via a REST API, host reservations, client classification, and more. The text below references issue numbers. For more details, visit the Kea GitLab page at https://gitlab.isc.org/isc-projects/kea/issues. The following bugfixes and features have been implemented since the Kea 2.1.2 release: 1. **PostgreSQL Configuration Backend (experimental)**. The PG CB hook is now mature enough for early adopters to give it a try. It now handles global parameters, shared networks, subnets, pools, options and option definitions in `kea-dhcp4`. It does not handle client classes or anything related to classes yet. The DHCPv6 support is not implemented yet and will be coming in the future releases. Our QA team was able to run a substantial number of system tests and they seem to indicate proper operation in the test environment. Please use with care and keep in mind it's an experimental feature for now. Usage in production networks is strongly discouraged. [#95, #2275]. 2. **Server Identifier Override**. Kea now supports Relay Agent option for Server Identifier Override (sub-option 11), which is defined in RFC5107. With this capability, the relay agent can send its own IP address while forwarding client's packets to the server. The server will then insert it as the server identifier when sending back a response. This will ensure that all the traffic always goes through the relay, which is beneficial in some cases [#1695]. 3. **New statistics for failed allocations**. If the class requirements for your address pools are defined too tightly, it's possible that some clients won't get an address. To ease investigation of this problem, many new statistics were added if such a problem occurs: ``v4-allocation-fail``, ``v4-allocation-fail-shared-network``, ``v4-allocation-fail-subnet``, ``v4-allocation-fail-no-pools``, ``v4-allocation-fail-classes``, ``subnet[X].v4-allocation-fail``, ``subnet[X].v4-allocation-fail-shared-network``, ``subnet[X].v4-allocation-fail-subnet``, ``subnet[X].v4-allocation-fail-no-pools``, ``subnet[X].v4-allocation-fail-classes``, ``v6-allocation-fail``, ``v6-allocation-fail-shared-network``, ``v6-allocation-fail-subnet``, ``v6-allocation-fail-no-pools``, ``v6-allocation-fail-classes``, ``subnet[X].v6-allocation-fail``, ``subnet[X].v6-allocation-fail-shared-network``, ``subnet[X].v6-allocation-fail-subnet``, ``subnet[X].v6-allocation-fail-no-pools``, ``subnet[X].v6-allocation-fail-classes`` [#2054]. 4. **Lease/HR lookup order**. In principle, Kea needs to do at least two lookups before assigning an address: lease lookup and host reservation lookup. Depending on specific deployments, doing one or the other first may give a small performance boost. There is no best approach here and therefore the ``reservations-lookup-first`` configuration parameter has been added. This parameter has effect only when multi-threading is disabled. When multi-threading is enabled, host reservations lookup is always performed first. The ``reservations-lookup-first`` parameter defaults to ``false`` when multi-threading is disabled [#2036]. 5. **Bugfixes**. keactrl now properly handles status when kea-netconf is not available. Thank you to Jinmei Tatuya from Infoblox for the patch [#2262]. The maxsize and maxver parameters are no longer returned when the logger is configured to stdout [#2288]. Several problems reported by ASAN have been fixed [#2285]. 6. **Testing improvements**. TLS disabled if not explicitly configured [#2294], TLS tests failing with OpenSSL 1.1.1m [#2250]. ## Incompatible Changes None. ## License This version of Kea is released under the Mozilla Public License, version 2.0. https://www.mozilla.org/en-US/MPL/2.0 The premium and subscriber-only hooks libraries are provided under the terms of an End User License Agreement. ## Download Pre-built ISC packages for current versions of the most popular Linux operating systems are available at: https://cloudsmith.io/\~isc/repos/ The Kea source and PGP signature for this release may be downloaded from: https://www.isc.org/download The signature was generated with the ISC code signing key, which is available at: https://www.isc.org/pgpkey ISC provides detailed documentation, including installation instructions and usage tutorials, in the Kea Administrator Reference Manual. Documentation is included with the installation or at https://kea.readthedocs.io/en/latest/index.html. Limitations and known issues with this release can be found at https://gitlab.isc.org/isc-projects/kea/wikis/known-issues-list. We ask users of this software to please let us know how it worked for you and what operating system you tested on. Feel free to share your feedback on the Kea Users mailing list (https://lists.isc.org/mailman/listinfo/kea-users. We would also like to hear whether the documentation is adequate and accurate. Please open tickets in the Kea GitLab project for bugs, documentation omissions and errors, and enhancement requests. We want to hear from you even if everything worked. ## Support Professional support for Kea is available from ISC. We encourage all professional users to consider this option; Kea maintenance is funded with support subscriptions. For more information on ISC's Kea and DHCP software support see https://www.isc.org/support/. Free best-effort support is provided by our user community via a mailing list. Information on all public email lists is available at https://www.isc.org/community/mailing-list. ## Changes The following summarizes changes and important upgrade notes since the 2.1.2 release for Kea core: 1996. [build] razvan Library version numbers bumped for Kea 2.1.3 development version. (Gitlab #2317) 1995. [func] tmark kea-dhcp4 now supports using PostgreSQL for config back end for everything except client classes. The new hook library is libdhcp_pgsql_cb.so. This should be considered an experimental feature. (Gitlab #95) 1994. [func] razvan Added support for Server Identifier Override RAI sub-option (RFC 5107). The implementation is not complete according to the RFC, because the server does not store the RAI, but the functionality handles expected use cases. (Gitlab #1695) 1993. [func] razvan Added global and per subnet counters for allocation failures: ``v4-allocation-fail``, ``v4-allocation-fail-shared-network``, ``v4-allocation-fail-subnet``, ``v4-allocation-fail-no-pools``, ``v4-allocation-fail-classes``, ``subnet[X].v4-allocation-fail``, ``subnet[X].v4-allocation-fail-shared-network``, ``subnet[X].v4-allocation-fail-subnet``, ``subnet[X].v4-allocation-fail-no-pools``, ``subnet[X].v4-allocation-fail-classes``, ``v6-allocation-fail``, ``v6-allocation-fail-shared-network``, ``v6-allocation-fail-subnet``, ``v6-allocation-fail-no-pools``, ``v6-allocation-fail-classes``, ``subnet[X].v6-allocation-fail``, ``subnet[X].v6-allocation-fail-shared-network``, ``subnet[X].v6-allocation-fail-subnet``, ``subnet[X].v6-allocation-fail-no-pools``, ``subnet[X].v6-allocation-fail-classes``. There is a warning log message emitted in the logs each time one of the allocation failure counters is incremented. (Gitlab #2054) 1992. [bug] razvan The ``maxver`` and ``maxsize`` logger parameters are excluded from ``config-get`` command response if the logger output is ``stdout``, ``stderr`` or ``syslog``. (Gitlab #2288) 1991. [bug] jinmei, razvan Fixed keactrl exit code when netconf is not build. (Gitlab #2262) 1990. [func] razvan Adden the ``reservations-lookup-first`` configuration parameter which controls whether host reservations lookup should be performed before lease lookup. This parameter has effect only when multi-threading is disabled. When multi-threading is enabled, host reservations lookup is always performed first. The ``reservations-lookup-first`` parameter defaults to ``false`` when multi-threading is disabled. (Gitlab #2036) And for Kea premium: Nothing See https://gitlab.isc.org/isc-projects/kea/-/wikis/Release-Notes for a complete list of release notes. Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.