# Kea 2.2.1 Release Notes, July 26th 2023 Welcome to Kea 2.2.1, a maintenance release of the stable 2.2 series. Kea is a DHCP implementation developed by Internet Systems Consortium (ISC) that features DHCPv4 and DHCPv6 servers with DNS update and a REST API; optional database support (MySQL and PostgreSQL); optional RADIUS, Kerberos, YANG/NETCONF, and GSS-TSIG support; and much more. Kea provides extensive management capabilities, including but not limited to: TLS support, Role-Based Access Control, run-time configuration monitoring and updates via a REST API, host reservations, client classification, and more. The text below references issue numbers. For more details, visit the Kea GitLab page at https://gitlab.isc.org/isc-projects/kea/issues. If you are upgrading from the previous stable version, the following items have been addressed since Kea 2.2.0: 1. **Database Improvements**. New database connection parameters, `read-timeout` and `write-timeout`, control the timeouts in communication with a MySQL database, while the `tcp-user-timeout` parameter controls the timeout in communication with a PostgreSQL database. Setting these timeouts can prevent occasional Kea hangs due to issues with database connectivity, and these new parameters are expected to improve compatibility with HAProxy. Also, compatibility with recently published PostgreSQL 15 has been improved [#2735]. We fixed a crash that could happen when Kea, linked with `libmysqlclient`, reconnected to the MySQL database during the execution of an SQL statement [#2978]. 2. **Stability**. A rare race condition when encapsulated options were used, was fixed [#2945]. We fixed a bug that was causing the Kea server to crash when using the High Availability hook library and running reconfiguration commands. Thanks to Caciano Machado for reporting this bug and providing detailed steps on how to replicate it [#2948]. 3. **Documentation**. The Sphinx generator has been corrected, so the Kea ARM no longer uses smart quotes. This allows examples from the ARM to be copied and reused without the need to change the quote characters [#2946]. ## Incompatible Changes There are no backward-incompatible changes. ## License This version of Kea is released under the Mozilla Public License, version 2.0. https://www.mozilla.org/en-US/MPL/2.0 Some Kea hook libraries are provided under the MPL 2.0; others are licensed with the Kea Hooks Basic Commercial End User License. The source for each hook library includes the applicable license. ## Download Pre-built ISC packages for current versions of the most popular Linux operating systems are available at: https://cloudsmith.io/~isc/repos/ The Kea source and PGP signature for this release may be downloaded from: https://www.isc.org/download The signature was generated with the ISC code-signing key, which is available at: https://www.isc.org/pgpkey ISC provides detailed documentation, including installation instructions and usage tutorials, in the Kea Administrator Reference Manual. Documentation is included with the installation or at https://kea.readthedocs.io/en/kea-2.2.1/ in HTML, PDF, or EPUB formats. ISC maintains a public open source code tree, wiki, issue tracking system, milestone planner, and roadmap at https://gitlab.isc.org/isc-projects/kea. Limitations and known issues with this release can be found at https://gitlab.isc.org/isc-projects/kea/-/wikis/known-issues-list. We ask 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 feedback on the Kea Users mailing list (https://lists.isc.org/mailman/listinfo/kea-users). We would also like to hear whether the documentation is adequate and accurate. Please open tickets in the Kea GitLab project for bugs, documentation omissions and errors, and enhancement requests. We want to hear from you even if everything worked. ## Support 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 Kea software support, see https://www.isc.org/support/. Free best-effort support is provided by our user community via a mailing list. Information on all public email lists is available at https://www.isc.org/community/mailing-list. If you have any comments or questions about working with Kea, please share them to the Kea Users list (https://lists.isc.org/mailman/listinfo/kea-users). Bugs and feature requests may be submitted via GitLab at https://gitlab.isc.org/isc-projects/kea/-/issues. ## Changes The following summarizes the open-source changes since the 2.2.0 release. 2053. [build] andrei The library version numbers have been bumped up for the Kea 2.2.1 stable release. 2052. [bug] marcin Applied a workaround in the connection to MySQL that prevents potential crashes in libmysqlclient library when connection to the database is lost and re-established. (Gitlab #2978, #2792) 2051. [bug] razvan Fixed a crash when splitting long options or sending user defined options when multi-threading is enabled. Also fixed some cases when options are not properly split if the serialized data reaches the end of the 255 bytes long boundary. (Gitlab #2945, #2942) 2050. [bug] razvan Fixed a bug which was causing the Kea server to crash when using high-availability hooks library and running reconfigure commands. Thanks to Caciano Machado for reporting this bug and providing detailed steps on how to replicate it. (Gitlab #2948, #2575) 2049. [doc] andrei Disabled smart quotes in Sphinx configuration to leave quotes unchanged. Prior to this change, quotes were converted into left-quotes and right-quotes. This made it difficult for users to copy and use chunks of configuration directly from the ARM. (Gitlab #2946, #2513) 2048. [bug] andrei A spacing issue in a prepared statement that prevented Config Backend from working with PostgreSQL 15 and above has been fixed. (Gitlab #2735, #2724) 2047. [bug] marcin Fixed a bug that caused a response to a config-get command to lack the configured read-timeout, write-timeout, and tcp-user-timeout parameters. (Gitlab #2735, #2741) 2046. [func] marcin New database connection parameters, "read-timeout" and "write-timeout", control the timeouts in communication with the MySQL database. The "tcp-user-timeout" controls the timeout in communication with the PostgreSQL database. Setting these timeouts can prevent occasional Kea hangs due to issues with the database connectivity. (Gitlab #2735, #2688) There were no significant changes in the premium hook libraries since the 2.2.0 release. Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.