# Kea 2.5.0 Release Notes, July 26th 2023

Welcome to Kea 2.5.0, the first monthly release of the 2.5 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.

The following bugfixes and features have been implemented since the 
previous release, version 2.4.0:

1. **Bulk Leasequery (BLQ)**. Empty relay ID and remote ID options in 
BLQ requests are now properly treated as malformed, and are met with a 
reply containing a proper message [#2906]. The by-link address query has 
been implemented for DHCPv6. The new command `extended-info6-upgrade` 
upgrades old DHCPv6 leases from the lease database to be visible by Bulk 
Leasequery. This one-time operation is useful for users who want to 
start using BLQ immediately and cannot wait for the normal lease renewal 
process to gradually fill in the data [#2869].

2. **Database improvements**. We fixed a crash that could happen when 
Kea, linked with `libmysqlclient`, reconnected to the MySQL database 
during the execution of an SQL statement [#2792].

## Incompatible Changes

1. **MySQL and PostgreSQL schema updates**. Both database schemas were 
updated to accommodate Bulk Leasequery support in DHCPv6.

2. **DDNS parameter deprecation**. The boolean 
`ddns-use-conflict-resolution` global parameter has been deprecated. The 
new enum parameter `ddns-conflict-resolution-mode` takes its place.

3. **Packages**. Packages for EL7 distributions, e.g. CentOS 7 and RHEL 
7, are no longer built for Kea in Cloudsmith, following its deprecation 
in Kea 2.4.0. Kea is officially no longer tested on these systems.

4. **Minimum C++ standard**. Kea must now be built under the C++14 
standard or later; the previous minimum required standard was C++11. 
Compilation under the C++11 standard or prior may now fail.

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

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.4.0 
release.

2170.	[build]		fdupont
	Moved from C++ 11 to C++ 14 as the minimal C++ version
	which must be supported by the C++ compiler tobuild Kea.
	(Gitlab #2876)

2169.	[bug]		marcin
	Applied a workaround in the connection to MySQL that prevents
	potential crashes in libmysqlclient library when connection
	to the database is lost and re-established.
	(Gitlab #2792)

2168.	[func]		fdupont
	Cross-reference tables to bind relay and remote
	identifiers from extended info of DHCPv6 leases
	were added to SQL backends. A new command
	"extended-info6-upgrade" (re)builds these tables
	making leases visible to Bulk Lease Queries.
	(Gitlab #2869)

2167.   [func]      tmark
	The kea-dhcp<4/6> parameter, ddns-use-conflict-resolution,
	has been deprecated and replaced with
	ddns-conflict-resolution-mode.  The new parameter supports
	four modes of behavior pertaining to DDNS update conflict
	resolution: check-with-dhcid, no-check-with-dhcid,
	check-exists-with-dhcid, and no-check-without-dhcid.
	Thanks to Shawn Routhier from Infoblox for contributing
	the patch to implement this feature.
	(Gitlab #2276)

The following summarizes changes in the premium hook libraries since the 
2.4.0 release:

177.	[func]		fdupont
	Bulk Lease Query now detects and logs empty relay or
	remote id values in received queries.
	(Gitlab #2906)

176.	[func]		fdupont
	Cross-reference tables to bind relay and remote
	identifiers from extended info of DHCPv6 leases
	were added to SQL backends. A new command
	"extended-info6-upgrade" (re)builds these tables
	making leases visible to Bulk Lease Queries.
	(Gitlab #2869)

Thank you again to everyone who assisted us in making this release 
possible.

We look forward to receiving your feedback.