# 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.