Knowledge Base ISC Main Website Ask a Question/Contact ISC
Kea 0.9.2-beta Release Notes
Author: Wlodzimierz Wencel Reference Number: AA-01268 Views: 4649 Created: 2015-07-01 09:37 Last Updated: 2015-07-01 13:08 0 Rating/ Voters
= Kea 0.9.2-beta, 30 June 2015, Release Notes =

Welcome to the 0.9.2-beta 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-beta 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 - If configured, it allows sysadmin to send commands
  to the server. For 0.9.2-beta 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's now possible to better
  fine tune logging;
* logging: new messages - many new log messages have been added to improve
  the traceability of the servers' behavior, especially in error conditions
* logging: updated existing messages - many existing messages were updated
  to include more tracing information 

Note: when migrating from Kea 0.9.1 to 0.9.2-beta:
* There is a new MySQL schema, reported as version 3.0. Kea 0.9.1 used 2.0.
  This new schema introduces tables that will eventually store host reservations.
  In 0.9.2-beta only database schema was updated, the new tables are not used
  by the code yet. kea-admin can be used to migrate to new schema.

== Download ==

The kea-0.9.2-beta 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.

== Support ==

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

== Changes ==

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

969.    [func]          tomek
        KEA_SOCKET_TEST_DIR environment variable can be used to specify
        the directory for opening Unix sockets during tests. That may
        be used to avoid path length limitations when running unit-tests
        in deeply nested directories.
        (Trac #3918, git 9cfd502e8d4605eaf34f8744f90272dc3e8a3e34)

968.    [bug]           marcin
        DHCPv6 server extends the lifetime of the client's lease
        in the database when the client sends the Request message.
        This prevents premature lease expiration before the client
        renews the lease, according to the timers and lifetimes
        returned by the server.
        (Tracc #3913, git 1d64829a3f1a8288dc833ed388d9ffc9fe4cf491)

967.    [doc]        tomek
    Management API section added in the DHCPv6 chapter of the Kea
    User's Guide
    (Trac #3917, git 21305d2da26090e3fad1ff9fb242a2bbb6b7e56b)

966.    [func]        fdupont
    Include database software details in extended version information.
    (Trac #3882, git b0e166c4d8b0383ebd6e2f51d55eed68a2bcafa8)

965.    [func]        sar
    Per IPv6 subnet statistics (subnet[id].assigned-nas, 
    subnet[id].total-nas, subnet[id].assigned-pds, and
    subnet[id].total-pds) has been implemented.
    (Trac #3799, git 4aa4808268bbc54290578f60ba60ed33cf344712)

964.    [doc]        tomek
    User's Guide and Developer's Guide updated with statistics and
    control channel description.
    (Trac #3800, git 7ce8ca560370ec5f9bd4d5199a177b441f08a47e)

963.    [func]        tmark
    DHCPv6 server now supports a control channel, implemented over
    a UNIX socket. Currently supported commands are: statistic-get,
    statistic-reset, statistic-remove, statistic-get-all,
    statistic-reset-all, statistic-remove-all, and shutdown.
    (Trac #3797, git f49828612d9030c9f3441acaf4b3a9f60b492a3e)

962.    [func]        fdupont
    Make the parsing of options and vendor options more consistent
    between v4 and v6. In addition make the parsing more robust
    against malformed packets.
    (Trac #3618, git f4066793c5e034386c689fd72d2a91a70ffb6d5f)

961.    [func]        fdupont
    Improved error messages when handling invalid or malformed
    configuration file. File and line number are printed, when
    (Trac #3697, git 70fc36e164e988c251bdaaee7e27c5f6407e0f4c)

960.    [build]        fdupont
    Get rid of the last bundy pieces of code.
    (Trac #3732, git 6b7da42f902fabb6855e54a19ea472c18ba82a93)

959.    [build]        fdupont
    Removed no longer used logging in cc and config libraries.
    (Trac #3732, git 8d0324f4786900db953489ebaa9e018b1238543f)

958.    [func]        tomek
    DHCPv4 server now supports control channel, implemented over UNIX
    socket. Currently supported commands are: statistic-get,
    statistic-reset, statistic-remove, statistic-get-all,
    statistic-reset-all, statistic-remove-all, shutdown.
    (Trac #3880, git 688658395518f0b97d5384af81ceab5206691ad5)

957.    [func]        tomek
    Per IPv4 subnet statistics (subnet[id].assigned-addresses and
    subnet[id].total-addresses) has been implemented.
    (Trac #3798, git bab2030f56bbf390959f9f9238a8acc62d583c70)

956.    [func]        marcin
    Improved log messages emitted by the allocation engine,
    which now uses a dedicated logger.
    (Trac #3852, git 923928774f4f59c887d768cf155b5978e838a6f2)

955.    [func]        tmark
    Added unit tests to kea-admin for testing the lease-dump command
    with a PostgreSQL backend. Updated PostgreSQL database installation
    instructions in Kea Administrator's guide to include use of kea-admin
    (Trac #3884, git 0772b7df2a89e1019141be1d0ddec30d53c4b919)

954.    [func]        fdupont
    Enhance the versioning information printed by the executables and
    make it more consistent across all of the executables. "-v" is for
    basic Kea version information, "-V" provides more detailed
    versioning and versions for external dynamic libraries, finally
    "-W" provides the configure report from the configuration step
    during the build of Kea.
    (Trac #3513, git 584cf666e101c6cb5c9af76175ddd867ece85764)
    (Trac #3859, git 384e6c6225de18fc97d606e4a1972baeef598ba4)

953.    [bug]        fdupont
    Corrected the setting of string characters to values above 127
    in HMAC tests.
    (Trac #3829, git 54f4ec64e513fea1547631122dc1af8579fae3db)

952.    [bug]        fdupont
    Made some loop indexes an unsigned type to avoid compiler warnings
    where the termination condition is comparison with an unsigned
    (Trac #3833, git 3db9f1d78f59856b982a1ff84c3b5a1ba7ea39df)

951.    [build]        fdupont
    Removed BUNDY configuration backend.
    (Trac #3732, git 96364cbbb15318c8f55d5b287cda0990d3eaae32)

950.    [doc]        marcin
    Updated section about logging in the User Guide. Also,
    updated Hooks Developer's Guide with the recommendations for
    the developers about use of logging in hooks libraries.
    (Trac #3805, git b403de1f335a2fb5098c9abc0858b8137892f868)

949.    [func]        tmark
    kea-admin now supports dumping MySQL and PostgreSQL lease tables
    to CSV file, via a new command "lease-dump".  This is primarily
    intended for use as a diagnostic tool.
    (Trac #3802, git 6ec774e8523e7f8415d6cd18c34062489e127847)

948.    [bug]        fdupont
    libdhcpsrv: check if new host reservation tries to use an already
    reserved address.
    (Trac #3652, git 4f10b78341b197bd321fbf2ec71db7420e40718d)

947.    [func]        marcin
    DHCPv6 server now supports Rapid Commit option.
    (Trac #3070, git a6b6156aaa95ab74c69a537e90483f82e9fbe4a2)

946.    [doc]        tmark
    Added documentation for kea-admin "lease-dump" command to the
    Kea Administrator’s Guide and kea-admin man page.
    (Trac #3803, git 54b59b7ef02f6428405794066ea779e9bd4c0b6e)

945.    [func]        marcin
    Improved log messages emitted by the DHCPv6 server. Also,
    the server is now using multiple distinct loggers for logging
    messages pertaining to different functional parts of the
    code, e.g. packet transmission, lease allocation, DDNS etc.
    (Trac #3807, git c95ebdaf39c3d8d78d83d53db15824c60078f566)

944.    [func]      tmark
    kea-admin commands lease-init, lease-version, and lease-upgrade
    now support PostgreSQL. Note that at this time the PostgreSQL
    backend only supports Kea schema version 1.0, so there are no
    upgrades available.
    (Trac #3883, git 990a0d72fa247e4a12e2608994204c48274e4cd6)

943.    [func]        sar
    Split the DHCP-DDNS logging messages among several loggers to
    allow the administrator finer control over debugging messages.
    Messages pertaining to the name change requests processing include
    an ID, currently the DHCID, to identify the transactions.
    (Trac #3808, git 4fbe08234049de6ef67bb5cdb244d180a7a4c3a9)

942.    [func]        tomek
    18 new statistics added in DHCPv4 server: generic packet counters,
    per packet type counters, parsing failure and packet drops.
    (Trac #3794, git a61f40c44910a09699a9a566a5ec35ab758564ba)

941.    [bug]        marcin
    Configuration parser for host reservations returns an error
    when an unsupported parameter is specified.
    (Trac 3810, git 54ee0f6328a303c366dd8239e768dfc4a23a5d9b)

940.    [bug]        fdupont
    DHCPv4 server drops DHCPRELEASE messages sent from a bad
    location (i.e., no subnet can be selected)
    (Trac 3504, git f0f13ac74779f76ed7af91bd5dab3d11ba00be79)

939.    [bug]        fdupont
    Small fix in HooksDhcpv4SrvTest.subnet4SelectSimple unit-test.
    (Trac 3881, git a21afdffec41fceb61e6760d4108d670b2eabe75)

938.    [build]        fdupont
    Removed Python from the log library (code, message compiler and
    (Trac #3734, git d24b7c9716c6eb7a3e9dd2cb3fd2d1bfe4e1201f)

937.    [bug]        fdupont
    The log ID LOG_UNRECOGNISED_DIRECTIVE was changed to
    LOG_UNRECOGNIZED_DIRECTIVE to follow US English spelling.
    (Trac #3762, git 235e3304746352e9341008225f9f2392586a9f66)

936.    [bug]        fdupont
    Added an ASSERT to avoid a crash in HooksDhcpv4SrvTest
    subnet4SelectSimple unit test. Fixed out of bounds vector accesses
    in perfdhcp (which should not be able to handle links
    with long (i.e., more than 6 bytes) link-layer addresses).
    (Trac #3868, git c20f47e19d6060605c0611754db7b66b08553caa)

935.    [bug]        fdupont
    Fixed 3 out of bounds accesses on vectors in DHCP++ code.
    (Trac #3854, git de263ad0008f3494a85592f78db1ec662b68e689)

934.    [bug]        fdupont
    to avoid conflicting with a constant of that name defined on some
    operating systems.
    (Trac #3861, git 28205225ceed03ff3126e43cd06cedbaa7d8d657)

933.    [func]*        marcin
    DHCPv4 server by default identifies a client using the
    client-identifier, if present. The new configuration
    parameter 'match-client-id' allows for disabling this
    behavior, i.e. 'chaddr' field is used to identify the
    client instead.
    (Trac #3747, git b9dc6ffd0f3396e9da8e0c83fd82164b8b8af011)

932.    [func]        kalmus
    MySQL schema has been extended with tables that can store
    host reservation. This ticket updates database schema only,
    the tables are not in use yet.
    (Trac #3567, git d2cd5d53b3f31422a342c9bb8946dad9ed1ea032)

931.    [func]        marcin
    Improved log messages emitted by the DHCPv4 server. Also,
    the server is now using multiple distinct loggers for logging
    messages pertaining to different functional parts of the
    code, e.g. packet transmission, lease allocation, DDNS etc.
    For complete list of logger names see User Guide.
    (Trac #3806, git 7b148c2dd5e2696a541883223ce1efd2de81f143)

930.    [func]        tomek
    Statistics Manager is now implemented. There is a new library
    libkea-stats that governs statistics collection. Its usage will
    be added in the upcoming tickets.
    (Trac #3793, git 68e9554ecabfc2a79731eeec1c706522e4d39332)

929.    [build]        fdupont
    Corrected problem in build system whereby specifying an
    installation directory on the "configure" command line that
    included a "+" in the name caused the build to fail.
    (Trac #3713, git 741ff09b743307bad28ae13db440e5e0f402d319)

928.    [build]        fdupont
    A CONFIG_H_WAS_INCLUDED define has been added to provide
    a way in source files to check whether config.h has been included.
    (Trac #3812, git cbb135d5f217b0692dcdbc9cfcc04f6a0dbc3922)

927.    [bug]        tmark
    DHCPv4 no longer attempts to update the lease database with the
    generated FQDN when processing DHCPDISCOVERs.
    (Trac #3779, git 0b413ee8aba1afa1643b216a1e8c35103c6c975b)

926.    [bug]        marcin
    Fixed the crash during the logging deinitialization.
    (Trac #3823, git 435b958860ec7b921645bd5923fff96ea4341f19)

925.    [func]        marcin
    libkea-hooks logs when the callouts execution begins or ends
    for the particular hook. It also logs the execution time of
    individual callouts and the total time for all callouts.
    (Trac #3804 git dd1432d7807e7d3b54c87dd4b3155d3110619fbd)

924.    [bug]        marcin
    Removed shell warning about the "missing format character"
    in the keactrl usage.
    (Trac #3784, git aa683395a4cd75af5340eb8603fe46b7b0dd8f4e)

923.    [func]        tmark
    The DHCPv4 server now logs packets it has either dropped as invalid
    or to which it has replied with a NAK to a separate logger,
    (Trac #3743, git cb91ca851099423e1b6c39cca3f3e2ba29795a51)

922.    [build]        fdupont
    The config.h file should never be included by another include file.
    Copy missing header files to the install directory.
    (Trac #3782, git ea6e9d166faa54b1f9781bc56d7d8fee6c87b1f9)

921.    [func]        marcin
    libdhcpsrv: Added log traces to the host manager.
    (Trac #3699, git 75b75c89db88eb1a81e76f5550f2a5b3155ce42d)

920.    [bug]        marcin
    Corrected issues with logging initialization in hooks
    libraries. The dynamically loaded hooks libraries may now
    define their own loggers which are configurable using Kea
    configuration file.
    (Trac #3198, git 8216a6b1a2ed6e2b38919280809ee21fc4107fd6)

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.

© 2001-2018 Internet Systems Consortium

For assistance with problems and questions for which you have not been able to find an answer in our Knowledge Base, we recommend searching our community mailing list archives and/or posting your question there (you will need to register there first for your posts to be accepted). The bind-users and the dhcp-users lists particularly have a long-standing and active membership.

ISC relies on the financial support of the community to fund the development of its open source software products. If you would like to support future product evolution and maintenance as well having peace of mind knowing that our team of experts are poised to provide you with individual technical assistance whenever you call upon them, then please consider our Professional Subscription Support services - details can be found on our main website.

  • There is no feedback for this article
Quick Jump Menu