[Kea-announce] Kea 1.9.2, a new development release of Kea, is now available
cathya at isc.org
Wed Nov 25 15:16:09 UTC 2020
Internet Systems Consortium is pleased to announce the release of Kea 1.9.2.
- - -
# Kea 1.9.2, November 25th 2020, Release Notes
Welcome to Kea 1.9.2, the third monthly release of the 1.9 development
branch. As with any other development release, use this with caution:
development releases are not recommended for production use. This
development release tackles an assortment of feature improvements and
The most significant changes introduced in this version are:
1. **Global and subnet reservations**. Earlier Kea versions had a single
configuration parameter called `reservation-mode` that governed whether
host reservations were global (out-of-pool) or subnet-level (in pool),
and it was not possible to use different reservation types at the same
time. However, in some deployments there is a need to use several types
at the same time. As a result, the `reservation-mode` parameter is now
deprecated and replaced by three separate boolean parameters:
`reservations-global`, `reservations-in-subnet`, and
`reservations-out-of-pool`, each of which can be controlled
independently. This gives users more flexibility in their configuration.
Caution is recommended as enabling more lookups has performance
implications. The older parameters will still work in this version, with
a warning, but will be removed after Kea 2.0. #1405, #1550
2. **Fix for the `lease4-update` command in multi-threaded DHCPv4**. A
bug has been discovered in the `lease4-update` command when the DHCPv4
server is running in multi-threaded mode. This command is used in HA
scenarios. The bug caused the server to fail to update the lease
properly, while reporting incorrectly that the update was successful.
This has now been fixed. A patch for 1.8.0 and 1.8.1 is attached to
https://gitlab.isc.org/isc-projects/kea/-/issues/1542; the maintenance
release of 1.8.2 that will include this fix is expected in December
3. **Authentication hook points**. New `auth` and `response` hook points
have been implemented in the Control Agent (CA). It is now possible to
develop a hook that processes incoming HTTP requests and performs access
control and audit logging on them. This is a preparation step for a new
hook library that will provide Access Control (RBAC). #1421
4. **Documentation updates**. Peter (#1536) and Suzanne (#1539) made
many edits to the Kea ARM. The Developer's guide has been corrected in
several places (#1516), and some examples in the ARM have been corrected
(#1457). There are also new KnowledgeBase (https://kb.isc.org/) articles
on accessing the Cloudsmith repository (#1476) and comparing Host
Reservations in Kea to the analogous mechanism in ISC DHCP. #1355
5. **Test improvements**. `perfdhcp` can now control the "secs" field in
DHCPv4 and the "elapsed time" option in DHCPv6. Both are used to
simulate clients not getting timely responses from the server, which is
essential for triggering an HA failure (#1332). A number of test issues
were fixed as reported by running unit-tests with reshuffle mode turned
6. **Build improvements**. The messages printed when dependencies are
missing have been reworded to make it clearer which libraries are needed
(#1492). The config.h header file is now included in all .cc files, to
ensure that the global parameters are really applied in all parts of the
## Known Issues
## Release Model
The Kea project has a significant production deployment base with users
who are looking for stability, rather than a constant stream of new
"bleeding-edge" features. At the same time, we want to continue
developing the software and add some new powerful, but
difficult-to-implement, features. To meet both of these requirements we
have both Stable and Development branches.
Stable releases are what you would expect: stable, released
infrequently, without new features or significant changes, very
well-tested. These can be identified by an even-numbered major version
number. The current stable releases are 1.8.0, with an old stable
version of 1.6.3. If we discover important bugs that require fixing, we
may release additional maintenance versions on the 1.8 branch, but that
will be determined on a case-by-case basis. The next major stable
version will be 2.0.0.
Development releases can be easily identified by an odd major version
number: for example, 1.9.0 is a development release. We will continue
our development work with 1.9.1, then 1.9.2, and so on.
Our goal is to make the development release available on the last
Wednesday of each month. There may be exceptions (such as during
holidays), but that's the general plan.
We encourage users to test the development releases and report back
For more details on the plan, see ISC's Software Support Policy at
## Kea overview
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
This text references issue numbers. For more details, visit the Kea
GitLab page at https://gitlab.isc.org/isc-projects/kea/issues.
This version of Kea is released under the Mozilla Public License,
The premium and subscriber-only hooks libraries are provided in source
code form, under the terms of an End User License Agreement (you will
get the source code that you can modify freely, but you are not
permitted to redistribute it).
Pre-built ISC packages for current versions of the most popular Linux
operating systems are available at:
The Kea source and PGP signature for this release may be downloaded from:
The signature was generated with the ISC code signing key which is
ISC provides detailed documentation, including installation instructions
and usage tutorials, in the Kea Administrator Reference Manual.
Documentation is included with the installation, at
https://kea.readthedocs.io/en/latest/, 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, a wiki, an issue tracking system, milestone planning, and a
roadmap at https://gitlab.isc.org/isc-projects/kea.
Limitations and known issues with this release can be found at
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
Professional support for Kea is available from ISC. We encourage all
professional users to consider this option; Kea development and
maintenance are 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
The following summarizes changes and important upgrade notes since the
previous release (1.9.1).
Kea 1.9.2 (development) released on Nov 25, 2020
1836. [build] razvan
Library version numbers bumped for Kea 1.9.2 development
1835. [doc] peterd
Several Kea ARM corrections.
1834. [func] fdupont
Added two new callouts (hook points) in the control agent.
The "auth" callout is executed after the basic authentication
(if configured) and the command processing. The "response"
callout is executed after the command processing and before
the HTTP response is returned.
1833. [doc] sgoldlust
Many documentation corrections.
1832. [func] tomek, wlodek
Perfdhcp extended with functionality to gradually
increase elapsed time in solicit and secs field in offer.
1831. [bug] razvan
Fixed the DHCPv6 server implementation of the
reservations-out-of-pool flag to match the DHCPv4 one. When the
flag is true:
* the server assumes that all reserved address do not belong to
the dynamic pool.
* the server will not assign reserved addresses that are inside
the dynamic pool to the respective clients.
* addresses matching the respective reservations from inside
the dynamic pools (if any) can be dynamically assigned to any
1830. [func] fdupont, razvan
Added new configuration options reservations-global,
reservations-in-subnet and reservations-out-of-pool to replace
the old reservation-mode parameter. The new flags can be
configured independently, adding support for new configuration
scenarios when global and in subnet reservations are both
1829. [bug] fdupont, razvan
Fixed a bug in the hasAddressReservation function which was
causing the search for reservations to end as soon as no global
reservation was found when configuring a subnet or shared
network with global reservations enabled.
1828. [bug] andrei
Fix trivial logic error in handling the "lease4-update" command
manifesting itself on v4 if multi-threading is enabled.
Notable affected environment is a HA with the
"send-lease-updates" configuration setting explicitly set to
true. Prior to this fix, lease updates would not go through to
other HA nodes, even though some log lines would say they would.
A simple workaround prior to this fix is to disable
1827. [build] andrei
Add `tools/add-config-h.sh` script that can add
`#include <config.h>` lines to non-generated source files that
are missing it.
Thank you again to everyone who assisted us in making this release
We look forward to receiving your feedback.
More information about the Kea-announce