# Kea 2.7.1 Release Notes, July 31st, 2024 Welcome to Kea 2.7.1, the second monthly release of the 2.7 development series. 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 update and a REST API; optional database support (MySQL and PostgreSQL); optional RADIUS, Kerberos, YANG/NETCONF, and GSS-TSIG support; and much more. Kea provides extensive management capabilities, including but not limited to: TLS support, Role-Based Access Control, run-time configuration monitoring and updates via a REST API, host reservations, and client classification. The text below references issue numbers. For more details, visit the Kea GitLab page at https://gitlab.isc.org/isc-projects/kea/-/issues. For details about Docker issues, visit the page at https://gitlab.isc.org/isc-projects/kea-docker/-/issues/. For details about packaging, visit the page at https://gitlab.isc.org/isc-projects/kea-packaging/-/issues/. The following bug fixes and features have been implemented since the previous release, version 2.7.0: 1. **IPv6-only preferred**: Kea now supports truly `v6-only-preferred` mode, as described in RFC8925. When a dual-stack device visits a v6-only network, it still attempts to obtain IPv4 configuration using DHCPv4. The RFC8925 mechanism allows the network operator to set up a minimal DHCPv4 server that basically says "there's no IPv4 service here, stop asking." This is what `v6-only-preferred` communicates. Until recently, however, Kea sent back the option and assigned the IPv4 address at the same time; this is now fixed. Kea is now able to send back the option and send 0.0.0.0 to further indicate there's no address being assigned [#3094]. 2. **High Availability**: We fixed a potential problem with HA, where the remote `dhcp-disable` state was not cleared after the `config-reload` or `config-set` commands. Also, the `dhcp-state` is now included in the `status-get` command; it indicates whether the dhcp service is enabled or the reason why it is disabled (user command, HA command, or database connection failure) [#3446]. 3. **Security**: All permissions for other users are now removed from configuration files created by Kea agents and servers [#3050]. 4. **Bug fixes**: We corrected an issue with overlapping enum values for the option definition data type stored in the Config Backend (CB). This was causing option definitions of type "record", created via CB commands, to not load properly when fetched from the backend. This change updates DB schemas for both PostgreSQL and MySQL [#3476]. We addressed a CB issue when upgrading from 2.4.0 to 2.6.0 [#3472]. We corrected a bug in storing and fetching encapsulated DHCP options from the CB; these options were sometimes not returned when they were specified at the subnet, shared-network, or client-class level [#3481]. The `remote-class6-get` command now returns the lifetime values properly [#3469]. The encoding of long options in DHCPv4 (RFC3396) was fixed [#2917, #3440]. We fixed a file descriptor leak in the High Availability hook library [#3449]. 5. **Two malfunctioning options removed**: The `control-socket.socket-name` and `control-socket.socket-type` parameters were removed from the CB; they were broken and never functioned properly [#3479]. 6. **Build improvements**: A script was added that detects and flags duplicate and unused messages [#1723]. The upgrade scripts for schema version 23 are now included [#3480]. 7. **Testing**: We adapted the database script checking for the CI job to accept minor schema version numbers [#3497]. Much effort was spent on making our fuzzing environment more robust. A crash was investigated in the fuzzing framework and fixed [#3233]. ## Incompatible Changes 1. The `control-socket.socket-name` and `control-socket.socket-type` parameters were removed from the Config Backend (CB). ## Other ## License This version of Kea is released under the Mozilla Public License, version 2.0. https://www.mozilla.org/en-US/MPL/2.0 Some Kea hook libraries are provided under the MPL 2.0; others are licensed with the [Kea Hooks Basic Commercial End User License](https://www.isc.org/kea-premium-license/). The source for each hook library includes the applicable license. ## Download Pre-built ISC packages for current versions of the most popular Linux operating systems are available at: https://cloudsmith.io/~isc/repos/ Pre-built Docker images, as well as Docker files, are available. For details, see: https://gitlab.isc.org/isc-projects/kea-docker 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 in HTML, PDF, or EPUB formats. ISC maintains a public open source code tree, wiki, issue tracking system, milestone planner, and roadmap at https://gitlab.isc.org/isc-projects/kea. 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 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. If you have any comments or questions about working with Kea, please share them to the Kea Users list (https://lists.isc.org/mailman/listinfo/kea-users). Bugs and feature requests may be submitted via GitLab at https://gitlab.isc.org/isc-projects/kea/-/issues. ## Changes The following summarizes changes and important upgrades since the 2.7.0 release. 2268. [build] ravan The library version numbers have been bumped up for the Kea 2.7.1 development release. (Gitlab #3515) 2267. [bug] tmark Corrected an issue in MySQL config back end that causes preferred life time values to be overwritten when updating client classes via remote-set-class6. command. (Gitlab #3469) 2266. [bug] fdupont Improved the code handling multiple instances of the same v4 option according to RFC 3396. (Gitlab #3440) 2265. [bug]* fdupont The 'control-socket' ('control-socket.socket-name' and 'control-socket.socket-type') was removed from the global maps which can be managed by the config backend because in fact if it is possible to change values they are not applied. (Gitlab #3479) 2264. [bug]* tmark Corrected an issue with overlapping enum values for option definition data type. This was causing option definitions of type "record", created via config backend commands, to not load properly when fetched from the back end. (Gitlab #3476) 2263. [func] fdupont RFC 8925 "IPv6-Only Preferred Option for DHCPv4" is now fully implemented: 0.0.0.0 address can be offerred. (Gitlab #3094) 2262. [bug] marcin Corrected a bug in storing and fetching the encapsulated DHCP options from the configuration backend. These options were sometimes not returned when they were specified at the subnet, shared network or client class level. (Gitlab #3481) 2261. [bug] razvan Reset the local and remote disabled state when applying configuration. The dhcp-state is now included in the 'status-get' command. It indicates if the dhcp service is enabled or the reason why it is disabled (user command, HA command or database connection failure). (Gitlab #3446) 2260. [bug] razvan Fixed a file descriptor leak in the High Availability hook library. (Gitlab #3449) 2259. [func] fdupont All permissions for other users are now removed from files created by Kea agents and servers. (Gitlab #3050) And for Kea premium: 202. [bug]* fdupont The control-socket was removed from the global maps which can be managed by the config backend because in fact if it is possible to change values they are not applied. (Gitlab #3479) Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.