# Kea 1.8.1, Nov 12th 2020, Release Notes Welcome to Kea 1.8.1, the first maintenance release of the 1.8 series. Kea is a DHCP implementation developed by Internet Systems Consortium, Inc. that features fully functional DHCPv4 and DHCPv6 servers, a dynamic DNS update daemon, a Control Agent (CA) that provides a REST API to control the DHCP and DNS update servers, an example shell client to connect to the CA, a daemon that is able to retrieve YANG configuration and updates from Sysrepo, and a DHCP performance-measurement tool. Both DHCP servers support server discovery, address assignment, renewal, rebinding, release, decline, information request, DNS updates, client classification, and host reservations. The DHCPv6 server also supports prefix delegation. Lease information is stored in a CSV file by default; it can optionally be stored in a MySQL, PostgreSQL, or Cassandra database instead. Host reservations can be stored in a configuration file, or in a MySQL, PostgreSQL, or Cassandra database. They can also be retrieved from a RADIUS server, although this functionality is somewhat limited. Kea DHCPv4 and DHCPv6 daemons provide support for YANG models, which are stored in a Sysrepo datastore and can be configured via the NETCONF protocol. This is a maintenance release. If you are interested in the latest development releases with new features, please look at the development 1.9.x series. 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 bug fixes were implemented since version 1.8.0: 1. **Fix the lease commands DB backend**. Kea 1.8 introduced multi-threading which, by its parallel nature, introduces races where two or more threads attempt to use the same lease. Kea introduced a mechanism to detect those races, by checking the value of the old lease expiration time that is currently stored in the database. This mechanism works well for threads running on the same machine; however, under certain conditions it could fail if the lease update was triggered externally using lease commands. Unfortunately, one of the primary use cases of the lease updates commands is the High Availability (HA) feature. This fix was originally released in Kea 1.9.1 and was backported to 1.8.1. #1488, #1434 2. **DHCP-DDNS fails to create an A record**. kea-dhcp4 now correctly updates DNS when a client returns for a lease after the lease has expired. Before this fix, the server removed the entries when the lease expired but then failed to add them when the client reacquired the lease unless the hostname (or FQDN) changed. This change also eliminates redundant DNS removals when expired leases are reclaimed and given to different clients. #1409, #1419 3. **Remove multi-threading warning**. This is a purely cosmetic change. During the development of the multi-threading capability in Kea, a warning log message was added to caution against the experimental nature of MT. With the release of stable 1.8.0, the MT is no longer considered experimental and the now-obsolete log message has been removed. This fix addresses this small problem. #1431, #1435 ## 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 via https://kb.isc.org/docs/kea-administrator-reference-manual in HTML, plain text, or PDF 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 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. 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 upgrade notes since the 1.8.1 ``` 1801. [build] razvan Library version numbers bumped for Kea 1.8.1 stable release version. (Gitlab #1530) 1800. [bug] razvan Fixed lease update when using HA and lease_cmds hooks with database backend. Previously, HA updates were rejected because the database backend rejects operations on the lease if the old expiration time is different than what it is already stored, to act as a protection mechanism for parallel updates from several threads or processes. (Gitlab #1434,#1488) 1799. [bug] tmark kea-dhcp4 now correctly updates DNS when a client returns for a lease after the lease has expired. Prior to this, the server would remove the entries but then fail to add them unless the hostname (or FQDN) changed. This change also eliminates redundant DNS removals when expired leases are reclaimed and given to different clients. (Gitlab #1419,#1409) 1798. [func] razvan,tmark Removed "Multithreading is experimental" warning log message from kea-dhcp4 and kea-dhcp6 servers. (Gitlab #1435,#1431) ``` Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.