---
title: "Changes to Be Aware of When Migrating to Kea 2.6.0"
slug: "changes-to-be-aware-of-when-migrating-to-kea-2-6-0"
description: "Helpful hints for users upgrading to Kea 2.6.0, including changes and removed/deprecated parameters"
updated: 2024-07-01T15:55:14Z
published: 2024-07-01T15:55:14Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://kb.isc.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Changes to Be Aware of When Migrating to Kea 2.6.0

### If migrating from an older version than 2.4.0

Users of pre-2.4 Kea (2.3.8 and prior) that are using MariaDB 10.10 or later for DHCPv6 lease storage are recommended to upgrade directly to 2.6.0 or later, to avoid an issue that expires all leases immediately on schema upgrade. For details, see GitLab [#3396](https://gitlab.isc.org/isc-projects/kea/-/issues/3396).

### Mandatory Subnet ID

Auto-generated subnet identifiers are no longer supported as of kea 2.6.0. Any configuration containing subnets with no subnet "id" defined will now generate a syntax error resembling `subnet configuration failed: missing parameter 'id'`, which will cause Kea to exit.

You must update your configuration if you currently do not use subnet IDs. The subnet ID is important, as it is used to associate leases with subnets in the lease database. Mismatched subnet IDs may cause problems for DHCP clients.

The `config-get` command output will contain the autogenerated subnet IDs, which you can use to update your configuration.

### Removed configuration parameters

#### Reservations

The deprecated `reservation-mode` configuration parameter has been removed.

For file configuration, see the bottom of [this section](https://kea.readthedocs.io/en/latest/arm/dhcp4-srv.html#fine-tuning-dhcpv4-host-reservation) for corresponding values between the old configuration parameter and the new.

Caveat: In Configuration Backend, the update to Kea 2.6.0 or later properly migrates to the new configuration parameters with one exception: if the top-level reservation-mode was set to global, apart from enabling `reservations-global` which is correct, the update also leaves `reservations-in-subnet` enabled by default. If you specifically want in-pool host reservations disabled at the top-level, please disable reservations-in-subnet with a `remote-global-parameter4-set` or a `remote-global-parameter6-set` command after the update.

#### `ip-address`

The deprecated `ip-address` configuration parameter under the `relay` JSON map has been been removed. Replace it with the `ip-addresses` configuration parameter.

#### `dhcp-ddns`

The following configuration parameters have been flattened. They now live in global, network, or subnet scope with the `ddns-` prefix added to them, whereas before they were under the `dhcp-ddns` map.

| Before 2.6.0 | After 2.6.0 |
| --- | --- |
| `generated-prefix` | `ddns-generated-prefix` |
| `qualifying-suffix` | `ddns-qualifying-suffix` |
| `replace-client-name` | `ddns-replace-client-name` |
| `override-client-update` | `ddns-override-client-update` |
| `override-no-update` | `ddns-override-no-update` |
| `hostname-char-replacement` | `ddns-hostname-char-replacement` |
| `hostname-char-set` | `ddns-hostname-char-set` |

#### `libreload`

The deprecated `libreload` command was removed.

### Deprecated configuration parameters

The `lease4-wipe`and `lease6-wipe` commands are now deprecated and will be removed in a future release.

The `output_options` parameter used in configuring logging was the only parameter that used an underscore rather than a hyphen. To maintain consistency with hundreds of other options, it has been updated to `output-options`. The old spelling is still supported when reading a configuration or when setting the configuration using `config-set`; however, when retrieving (`config-get`) or storing (`config-write`) the configuration, the new syntax will be used.

### RADIUS

FreeRADIUS support in versions up to Kea 2.5.4 was implemented with a patch from ISC. Starting with Kea version 2.5.4, ISC has replaced the patched FreeRADIUS client with an ISC-developed client. It is provided under the same package `isc-kea-premium-radius`.

### Building Kea from sources

Kea must now be compiled with a compiler that supports the C++14 standard or later; the previous minimum required standard was C++11. Compilation under the C++11 standard or prior will now fail.
