Version 4 (modified by vicky, 2 years ago) (diff)


Kea 1.3.0, October 27 2017, Release Notes

Welcome to the 1.3.0 release of Kea. 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 REST API to control DHCP servers, an example shell client to connect to the CA and a DHCP performance measurement tool. Both DHCP servers fully 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 can be stored in a MySQL, PostgreSQL or Cassandra database; it can also be stored in a CSV file. Host reservations can be stored in the configuration file; they can also be stored in a MySQL or PostgreSQL database.

Version 1.3.0 adds the following features to Kea:

  • Shared networks - This feature allows the administrator to group multiple subnets together. This is commonly used to pool addresses from multiple subnets when the network has grown and more address are needed than are available on a single subnet. Clients in the shared network may be dynamically assigned any address from any of the included subnets. Shared networks are also useful for specifying common parameters such as options for multiple subnets. If necessary, you can specify a parameter on the shared network scope and then override its value in the subnet scope, client class or on a host reservation.
  • REST interface over HTTPS - We have secured the new REST API for Kea using HTTPS, which provides authentication, confidentiality and integrity. The sample client provided is updated to use HTTPS. We have expanded the size of commands and possible responses via the REST API, removing the 64K limitation present in Kea 1.2. This makes handling of large configurations possible. With these changes the REST API is now ready for production use. Development of this feature was sponsored by a Mozilla MOSS award.
  • Lease management via REST API - New API commands enable querying, adding, reporting on current leases, and modifying existing leases while Kea is running. This allows the administrator (or any system that interacts with Kea) to check presence and status of leases and make necessary changes as needed. Development of this feature was sponsored by a Mozilla MOSS award.
  • Subnet management via REST API - Add, remove and modify subnets in Kea via the API, without resending the entire Kea configuration. This will make managing subnets via the api more feasible for configurations with a large number of subnets or deployments that want to avoid small interruptions when updating the whole configuration. This feature will be in the new Subnet Commands hook library, available only in the Kea Subscription package to encourage financial support for the project.
  • New options - This release introduced support for 21 DHCPv4 and 10 DHCPv6 options. Support for DHCPv4 vendor specific option (code 43) has been improved. It is now possible to use vendor-specific syntax for that option.
  • Other bug fixes and small improvements - As usual, we fixed many bugs and did other small improvements. In total 74 tickets were closed.

Kea 1.3.0 is released under the Mozilla Public License, version 2.0.


The Kea 1.3.0source 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

ISC provides detailed documentation, including installation instructions and usage tutorials in the Kea Administrator Reference Manual. Documentation is included with the installation or via in HTML, plain text, or PDF formats. ISC maintains a public open source code tree at and wiki pages with roadmap and issue tracking at

Limitations and known issues with this 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 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 DHCP software support see 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 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 (1.3.0-beta). (See the git history for more details and additional development.)

  1. [bug] marcin

Fixed a bug in the DHCPv6 server whereby a lease with zero lifetimes could be mistakenly included in the server's response. (Trac #5387, git 140e7239096c0d5b9fc82b2c9c461476bf9d5729)

  1. [doc] tmark

Added a discussion of conflict resolution to the DHCP-DDNS chapter of the Kea admin guide. (Trac #5275, git ce3fe30524cdc21a9cabeafbdcb2fc3cd2e86cff)

  1. [doc] tomek

Clarified list of supported options, added examples for using hex notation to specify option values. (Trac #5068, git c942586172a68a7fac09e366383d996ade7f3840)

  1. [func] marcin

Default "lfc-interval" value is now set to 3600. (Trac #5341, git dd1af78a49bfb68b88e8215dde65e40a470af81c)

  1. [bug] fdupont

The option length checks were relaxed for the V-I Vendor Class option. (Trac #5391, github #57,

git 8c1ea6684a808e8d3af9ea7eccecd93adc801e8a)

  1. [func] marcin

Added support for "client-id" identifier when querying for leases in the lease_cmds hooks library. Documentation updated accordingly. (Trac #5395, git aceafa67f4fbde55ed6724a7b7551ed251e4ee91)

  1. [doc] vicky

Acknowledgements section updated. (Trac #5385, git fe0658896f3784cd8f59bd5158244d6975cfe4c1)

  1. [build] marcin

Updated Kea libraries' version numbers and hooks version for the 1.3.0 release. (Trac #5375, git 70c0fc164c89716419b6ee42da3ca0d4be938a30)

  1. [func] fdupont

server-hostname and boot-file-name are now allowed in global, subnet4 and shared network scopes in DHCPv4. (Trac #5277, git 5a2454ec063530867dca2c46a71e342ccd98a5bb)

  1. [bug] marcin

Fixed a bug whereby a reserved address could be allocated to a different client when this client explicitly requested this address. (Trac #5393, git 0964c66d44516a04ec62c8e70be92f216fe3df5a)

  1. [doc] wlodek

Added examples of configuration for iPXE boot with DHCPv6 Kea server (Trac #5356, git c68b9b381930d1e44fd5daa1b9d033035e32cff2)

  1. [doc] marcin

Added new section to Kea Hooks Developer's Guide describing how to implement new control commands within hooks libraries. (Trac #5331, git b23f36ca4a410ba7bca7fd4a9f40c008c77e3c7c)

  1. [build] marcin

Copy all header files from Kea libraries during "make install". (Trac #5372, git cb38d39a942351ec04a655a396dd7396ea20548b)

  1. [doc] marcin

Better explained subnet selection within shared networks when client classification is in use. (Trac #5367, git 26b4d240c5a1ba73e5b61f45d5a832e52f6472dd)

  1. [doc] marcin

Improved documentation of shared networks within Kea Administrator Reference Manual. (Trac #5381, git c4be6a71ed3705c182d7ba4417a06ed8fa59f2b5)

  1. [func] marcin

Added support for DHCPv4 option 54 (dhcp-server-identifier). (Trac #5376, git aae2d91f101b8c61c0abfb3482de04a8dd074121)

  1. [doc] marcin

Updated Kea Administrator's Manual with the information about new capability of flex-id hook library to use value derived from flexible identifier as a client identifier or DUID. (Trac #5384, git cce58fee4aa0476712209a7ed92fab587258b49b)

  1. [bug] fdupont

The kea-admin script now behaves properly when -4 or -6 is missing while using lease-dump command. (Trac #5379, git 53870c07d1864faf2a25bdc4ed6c5cf2b0223f8d)

  1. [bug] marcin

Corrected a bug which caused a returning DHCPv4 client performing 4-way exchange to be assigned a different address from a shared network than previously allocated. (Trac #5388, git 601a387ba43d990947ee2e1a05e78851d8133a3c)

  1. [bug] marcin

Created unit test for the case when there are several IPv6 subnets within a shared network and each subnet specifies the same DHCP option with a different value. This test verifies the fix applied with ticket #5364 which address the problem of assigning options from invalid subnet. (Trac #5366, git 112addd4619509c464dc051f4885e00dc1f69d26)

  1. [bug] marcin, tomek

Improved unit tests for shared networks and corrected a bug in the allocation engine which caused wrong subnet id to be stored in the lease database and wrong subnet be used by the DHCPv6 server for options assignment. (Trac #5364, git 07ce52ee4ce65eeeea1890201812ac83a286658f)

  1. [bug] fdupont

Empty output_options structure is no longer returned by config-get or config-write commands. (Trac #5267, git f2290503ed899f00c7f2f2b905b90bc360617340)

  1. [func] marcin, tomek

Added new configuration parameter "outbound-interface", which controls how the outbound interface and source address is determined for the responses sent by DHCPv4 servers to relayed clients. The default setting is to use the same interface as the one over which the query has been received. The alternative is to use system routing to determine the right interface and source address. (Trac #5377, git d08088923ec1ea0d1cb8a947bd520174d874d25e)

  1. [build] fdupont

Improvements in --enable-shell and other parameters passed while building dist tarball. (Trac #5210, #5339, #5352, git e531cda4e10114a8f14bcbf3d7e25b6584230875)

  1. [bug] marcin

Documented "ia_pd" parameter for lease6_renew and lease6_rebind hook points. (Trac #5368, git 6842036714f84bf12529e1a43e12ac5a07e2e5c0)

  1. [func] fdupont

Kea-shell script now has an optional --path parameter that allows using not empty URL path. (Trac #5361, git 9a31c417d52f1481185b0880a10a4b5f16d8462a)

  1. [func] fdupont

Support for conditional token ifelse(condition, iftrue, iffalse) was added. It can be used in flex-id, client classification and possibly other expressions that may appear in the future. (Trac #5363, git 34c364abd23a1a745da79c10c69b94b8defad08b)

  1. [func] fdupont

When an option is defined with a record type and the array flag is true the last record field is an array. All standard options supported by ISC DHCP and using this are now supported by Kea (so now there is no standard option supported only by ISC DHCP). (Trac #5226, git f66951dbda8f62122187ac3a99f0fdcc65b383d8)

  1. [bug]* marcin

Respective Kea daemons now use their own default configuration files: kea-dhcp4.conf, kea-dhcp6.conf, kea-dhcp-ddns.conf and kea-ctrl-agent.conf. This change is aimed at eliminating the issue whereby 'config-write' command overrides configuration of all servers rather than just a configuration of the deamon to which this command has been sent. (Trac #5338, git 252e5e8a75fa42271b0cdb6edad3c152bbf3c515)

  1. [bug] tmark

Corrected logic that was causing kea-dhcp4 to remove DNS entries when renewing leases with generated FQDN names. Prior to this the server was incorrectly scheduling DNS removal when configured to generate the client's FQDN. (Trac #5369, git 18f57f502f1b9fb5bf7ef5ab995ddda60006fd39)

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.