1440. [func] tmark The internal represenation of an "unused" subnet-id has been changed from zero to 0xFFFFFFFF. The largest, valid value for a subnet's ID is now 0xFFFFFFFE. Three new constants have been added so subnet_id.h: isc::dhcp::SUBNET_ID_GLOBAL isc::dhcp::SUBNET_ID_UNUSED isc::dhcp::SUBNET_ID_MAX which should be used in code/hooks in place of hard-coded values. (Trac #5704, git 90fe9ca2cd6f63bcc7168bdc3786677db57b65ec)

1438. [func] tomek subnet-id parameter is now optional in lease4-add, lease6-add, lease4-update and lease6-update commands. If not specified or its value is zero, Kea will attempt to figure out the correct value of subnet-id. If there is no matching subnet configured, the lease will be rejected. (Trac #5683, git a8ce7a78b5b294e6bce02de887552a1e4593db4e)

1437. [func] tomek DHCPv4 and DHCPv6 servers are now able to sanity check and possibly correct some inconsistencies in leases when loaded from disk (memfile). A new parameter to govern this behavior has been added. (Trac #5682, git 609bfa0a67caa91fac6834eb39260acfd19e3be4)1436. [func] tmark

Added two new configuration paramters to kea-dhcp4 and kea-dhcp6 DhcpDdns sections: 'hostname-char-set' and 'hostname-char-replacment'. These values (when not empty) are used by the server to sanitize host name and FQDN domain names sent by clients prior to using them to construct DNS names. (Trac #5680, git 32466ab3d4688e66c8c2f9fd24d4a98fcc871ff6)

1428. [bug] marcin Corrected behavior of the standby server in the HA hot-standby mode, which failed to monitor delays in responses to the DHCP queries sent to the primary server after the primary server became unavailable. This resulted in transition of the standby server to the partner-down state immediately after detecting interruption in communication with the primary over the control channel. (Trac #5654, git 7a83f05fe40fb1b6812b055e2d6d633d9e00160c)

1426. [func] fdupont Added KNOWN and UNKNOWN built-in client classes: after host lookup if a matching host entry is found the incoming packet is added to the KNOWN class, if none is found to the UNKNOWN class. Then expressions depending directly or indirectly on these classes are evaluated. Note these classes may be used to select a pool but they may not to select a subnet.

1424. [doc] marcin List of hooks libraries provided by ISC includes an information which Kea servers the libraries can be attached to. The detailed description of each supported hooks library also contains this information. (Trac #5613, git 9d6f8de3d988c42c413a7d628e31854e9c80d8c9)

1421. [build] marcin Moved libdhcp_ha (High Availability) hooks library from premium to main Kea repository and changed its license to MPLv2.0. Future ChangeLog entries for this library will be tracked in the Kea ChangeLog file. (Trac #5645, git 19b2553d4869bdd52b63b6f7969052d8a724f78d)

1418. [bug] marcin Corrected bug in the allocation engine which caused occasional lease allocation failures when a loaded hooks library set the callout status to non default value, e.g. "skip" rather than "continue". In such cases, the server reported that it failed to allocate a lease "after 0 attempts". (Trac #5638, git f2e9b686ae52e1b06f660e1b522588b1440e2620)

1415. [bug] tmark kea-dhcp4 and kea-dhcp6 now validate the schema version of lease and host back ends after establishing a connection. If a schema version does not match the version the server expects, the server will emit an error log and close the connection. This applies to MySQL, PostgreSQL, and Cassandra. (Trac #5629, git 15c34afdba45be609e35284a209ad18ed66605f8)

1414. [bug] tmark kea-dhcp4 parsing now treats renew-timer and rebind-timer as optional with no defaults. The logic for sending them to the client was changed to: send rebind-timer only when it is less than the lease lifetime; and send renew-timer only when it less than either the rebind-timer if specified, or lease lifetime in the absence of rebind-timer. (Trac #5596, git 38426e16ec04a786e35a65d27cbcb7dbabfe79b5)

1412. [func]* marcin The client classes used by the High Availability hook library use upper case "HA_" prefix and they are now built-in classes. This means that those classes do not need to be declared in the server configuration. (Trac #5632, git 2d590bfd7d1b0eca377eb99eef83a3083a1d7399)

1407. [bug] tmark Corrected an issue where the destruction of loggers prior to the destruction of the TimerMgr singleton caused unit tests to segfault. (Trac #5626, git 9f4e3f9cd8acf8e7d1d3e714d8f904754377c00f)