# Kea 2.3.3, November 30 2022, Release Notes

Welcome to Kea 2.3.3, the fourth monthly release of the 2.3 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 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.

This month the Kea team focused on preparations for upcoming features. 
The following bugfixes and features have been implemented since the 
previous release, version 2.3.2:

1. **TCP support for Bulk Leasequery**: Added the `libkea_tcp` library 
that provides support for a generic TCP listener. It will first be used 
in Bulk Leasequery. [#2583]

2. **Allocation strategies**: Allocation code has been moved from a 
global scope to a per-subnet scope, in preparation for the introduction 
of the random lease allocation and the free lease queue methods. [#2348]

3. **ignore-iaid**: If the newly added `ignore-iaid` configuration flag 
is enabled in the flex-id hook library, IAID will be ignored for IA 
requests that have exactly one IA_NA or IA_PD suboption. The IAID value 
is stored as 0 in the lease storage, but it is restored to its initial 
value in the response back to the client. This behavior breaks RFC 
compliance, so use it with care. [#2472]

4. **Template classes documentation**: Template classes are now 
documented in [Kea's Administrator Reference 
Manual](https://kea.readthedocs.io/en/latest/arm/classify.html?highlight=
template-test#configuring-classes). [#2606]

5. **NETCONF**: YANG modules have been updated with three configuration 
nodes: `extended-info-checks`, `ignore-rai-link-selection`, and 
`template-test`. The `keatest-module` has also gained a few missing node 
types. The code has been refactored to accommodate changes more easily 
in the future. [#2601]

6. **Bug fixes**: The built-in client class ALL can once again be used 
to apply lease limits and rate limits. [#2615]

## Incompatible Changes

Many of the native packages have been substantially updated. See item 2 
above for a brief overview, and the new [Installation From Cloudsmith 
Packages](https://kea.readthedocs.io/en/latest/arm/install.html?highlight
=cloudsmith#installation-from-cloudsmith-packages) and [Caveats for 
Upgrading Kea 
Packages](https://kea.readthedocs.io/en/latest/arm/install.html?highlight
=cloudsmith#caveats-for-upgrading-kea-packages) sections in the Kea ARM 
for more details.

## 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 hook libraries are provided under the 
terms of a Kea Hooks Basic Commercial 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

as well as from the Cloudsmith repository.

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.3.2 release for Kea core:

2078.	[build]		andrei
	The library version numbers have been bumped for the Kea 2.3.3
	development release.
	(Gitlab #2650)

2077.	[func]		andrei
	YANG modules have been updated with three configuration nodes:
	extended-info-checks, ignore-rai-link-selection, template-test.
	keatest-module has also gained empty, leafref and union nodes for
	proper testing of all YANG leaf types.
	Additionally, stable libyang and sysrepo versions are recommended
	for use in the ARM in place of the previous development versions.
	(Gitlab #2601)

2076.	[doc]		razvan
	Add documentation for template classes and the new parameter
	'template-test' which evaluates to a string value. This indicates
	if the class is spawning classes with the name containing the
	evaluated value: 'SPAWN_<template-class-name>_<evaluated-value>'
	only if the value is not empty string. This will also add the
	packet to the <template-class-name> class.
	(Gitlab #2606)

2075.	[bug]		razvan
	The builtin client class ALL can now be used again to apply lease
	limits and rate limits.
	(Gitlab #2615)

2074.	[func]		tmark
	Added a new library, libkea_tcp, that provides support for a
	generic TCP listener.  Initially, this library will be used
	for Bulk LeaseQuery.
	(Gitlab #2583)

And for Kea premium:

159.	[func]		razvan
	Added "ignore-iaid" configuration flag in flex-id hooks library
	which enables the server to ignore incoming IAID value if the
	packet contains at most one IA_NA or one IA_PD. The IAID value is
	stored as 0 in the lease storage, but it is restored to its
	initial value in the response back to the client.
	(Gitlab #2472)

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.