Kea 0.9.2, 28 July 2015, Release Notes

Welcome to the 0.9.2 release of Kea. Kea is an alternative DHCP implementation being developed by Internet Systems Consortium, Inc. that features fully functional DHCPv4, DHCPv6 and Dynamic DNS servers. Both DHCP servers fully support server discovery, address assignment, renewal, rebinding, release, DNS updates and host reservation. The DHCPv6 server supports prefix delegation.

Version 0.9.2 adds the following features to Kea:

  • statistics - Kea now records a number of measurements, e.g. number of packets received, type of packets, or leases assigned;
  • control channel - a control channel has been implemented. If configured, it allows a system administrator to send commands to the server. For 0.9.2 the commands supported are for retrieving, resetting and removing statistics, but the number of commands is expected to grow with each release;
  • logging: new loggers - our logging system received a significant upgrade. There are several new loggers specified, so it is now possible to better fine tune logging;
  • logging: new messages - many new log messages have been added, so there is now a better trace of what is happening in the system, especially in error conditions;
  • logging: updated existing messages - many existing messages were updated to include additional details;
  • The KEA_HOOKS_VERSION symbol has been updated, so all hooks code will need to be recompiled and re-linked against the new version of Kea, If this is not done, Kea will log a HOOKS_INCORRECT_VERSION message and refuse to load hooks libraries.

Note: when migrating from Kea 0.9.1 to 0.9.2:

  • There is a new MySQL schema, reported as version 3.0. (Kea 0.9.1 used schema version 2.0). The new schema introduces tables that will eventually store host reservations. Although this version of Kea does not make use of them, a future version will. If you are using MySQL as the database backend, it is suggested that the schema be updated now, using the kea-admin tool. Further details can be found in the section on kea-admin in the Kea guide (


The kea-0.9.2 source may be downloaded from:

A PGP signature of the distribution is at

The signature was generated with the ISC code signing key which is available at

Kea provides detailed documentation, including installation instructions and usage tutorials. In addition, all logging messages have unique documented explanations. This documentation is included with the installation or via in HTML, plain text, or PDF formats. We also maintain a public open source code tree and wiki pages with roadmap and issue tracking at

Limitations and known issues with this DHCP release can be found at

We'd like 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 configuration or use case. Also we would like to hear whether the documentation is adequate and accurate (please open tickets for documentation omissions and errors). We want to hear from you even if everything worked.


Professional support will be available when Kea reaches Release 1.0. Free best-effort support is provided by our user community via a mailing list. Information on all public email lists is available at

If you have any comments or questions about working with Kea, please share them to the Kea Users List or to the Kea Jabber room. Bugs and feature requests may be submitted via the ticket tracking system at


The following summarizes changes and important upgrade notes since the previous release (0.9.2-beta). (See the git history for more details and additional development.)

  1. [bug] fdupont

keactrl no longer returns an error when the "status" command is issued and the Kea configuration file doesn't exist. (Trac #3785, git a27d72ef3cb7640a41dca26c8728a9cbd9ad1ca9)

  1. [bug] marcin

Fixed textual representation of the options containing an array of 1 byte long unsigned numbers. (Trac #3959, git 9045fd9d6d282184cce10a622c0108abab029d5b)

  1. [bug] marcin

Fixed the failing lease allocation from the large address and prefix pools. (Trac #3958, git c86b6a68725e2f57679598ff4890fc82f4482c20)

  1. [bug] marcin

Eliminated extraneous debug-level DHCP6_RESPONSE_DATA entry from the DHCPv6 server log output. Prior to this the server was logging each response twice. (Trac #3949, git 023973cbce44e5fb92a2bc45e69f2786d5152091)

  1. [bug] tmark

Replaced use of "kill -0" with "ps -p" in keactrl when checking if servers are alive. This makes it possible for non-root users to use keactrl to monitor server status. (Trac #3954, git f7f22b244343a3dc2d06645a47c2c65a5134326e)

  1. [bug] fdupont

Enforce numeric month values in Posix date printing. (Trac #3944, git fdbe74b0235055057a37c6ce2b0aaf88f0cc7891)

  1. [bug] marcin

Fixed the typo in the name of the D2 logger. (Trac #3951, git 92305b2a1774df1cf1bdfeb93d787fea0ab27f74)

  1. [bug] tmark

keactrl now uses PID files to identify and control server instances. Prior to this it relied on the system command, "ps", which could lead to it misinterpreting which processes are or are not running. (Trac #3939, git 93a720ed7ffdffe66bd835cd64f78e4ad601637a)

  1. [doc] marcin

Updated Developer's Guide. (Trac #3484, git 220c337c31a592311363eca981c7f1578abbe15d)

  1. [bug] fdupont

Fixed two cases of public variables in a base class being hidden by variables in a derived class. (Trac #3920, git bd42a66fb67aab3fe397523c6fdbf14a939587c8)

  1. [func] tmark

DHCPv4, DHCPv6, and DHCP_DDNS now all create PID files upon startup. The PID file pathname is formed from:

<localstatedir>/<conf name>.<binary-name>.pid

If a server's PID file exists and contains the PID of a live process, it will emit a log message and exit. (Trac #3769, git cdce632add025aaadbcdc89078f5bd3e19cfb5ca)

  1. [doc] tomek

Frequently Asked Questions section added to the Kea User's Guide. (Trac #3873, #3847, git 95683c9d3c3dd7024269df1904b6cbe5817741a2)

  1. [build] tomek

Included missing Doxygen documentation images in the tarball. (Trac #3928, git 2fb63a18897b93b12a5fc4635d4ac29e0bf82841)

  1. [doc] marcin

Updated the list of standard DHCPv4 options in the User's Guide with the information of whether they are returned by the server even when they are not requested. (Trac #3578, git b361b28ce53729a5f2d59f79670a36cf1a4a0352)

  1. [bug]* marcin

Corrected invalid format of the DHCPv4 option 5 (name-servers). The corrected format comprises a list of IPv4 addresses, rather than a single IPv4 address. (Trac #3887, git 54d1dbe6138e74c5efacfbaf85b77c87aea9ddf1)

  1. [doc] marcin

Added new section to the User's Guide to describe the issues with unicast responses to the DHCPINFORM messages when ARP traffic is blocked. (Trac #3740, git 22bcb060ceca544dfa1779815321155668bf19dc)

  1. [doc] marcin

Updated sections of User's Guide concerning creation of the option definitions and Vendor Specific Information options for both DHCPv4 and DHCPv6. (Trac #3846, git 6aebe0867ca9cf6fb09a289d80051125db7fa34b)

  1. [func] fdupont

Changed all occurrences of unlink() to the more portable remove() to avoid problems on operating systems where the former is not available. (Trac #3841, git 3752529ed3d72137f6899ef8225a0b231db5b1f0)

  1. [bug] fdupont

Refactored some code to suppress cppcheck warnings. (Trac #3919, git 26be6ac4cefde012ca8ef12607b6beaadca13eed)

Thank you again to everyone who assisted us in making this release possible. If you would like to contribute to ISC to assist us in continuing to make quality open source software, please visit our donations page at

We look forward to receiving your feedback.

Last modified 4 years ago Last modified on Jul 28, 2015, 4:35:41 PM