# Stork 2.0.0 Release Notes, November 13 2024 Welcome to Stork 2.0.0, the first stable release. The changes introduced in this version are: 1. **Version reporting**: Stork is now able to provide detailed reports on the software versions deployed for Kea, BIND 9, and Stork itself. This includes warnings and informational messages on whether the software has newer versions with known security issues fixed, has any updates available, or has mismatched DHCPv4/DHCPv6 server versions, and many other situations are also detected. This Stork version uses offline checking, which means that the Stork release has built-in information (stored as a JSON file) that contains the release information for all the evaluated software. Future Stork versions will have the capability for online verification of the availability of newer versions. This feature was tested in a synthetic environment; feedback from actual deployments would be much appreciated [#222, #1558, #1516]. 2. **Customizable login screen**: It is now possible to customize the Stork login screen. This might be useful as a way to add deployment-specific details, such as offering help if users are unable to log in, warning about unauthorized access being forbidden, or providing any other public information [#1431]. 3. **Grafana dashboards**: Grafana dashboards for DHCPv4, DHCPv6, and BIND 9 were updated to recent Grafana 10.3.3 [#1322]. We fixed missing Grafana links for IPv6 [#774]. 4. **Bug fixes**: Earlier Stork versions could consume excessive amounts of memory and experience slowdowns when dealing with a massive configuration using thousands of shared networks. This release includes a fix for the excessive memory consumption. Performance issues when handling such a large configuration are being investigated; a proper performance fix will require a larger refactoring [#1552]. This version offers improved compatibility with older versions. Stork now sets set `ddns-use-conflict-resolution` and `ddns-conflict-resolution-mode`, depending on the configured Kea version. Previously a user could set one of these parameters for the Kea versions that did not support them, causing configuration errors [#1536]. We fixed a problem with migrating back to schema 55 [#1553]. Stork no longer repeats its logs about detecting BIND 9, RNDC key status, or certain persistent detection errors [#1422, #1384]. We fixed a problem with the LDAP login method not being selected on the login page [#1540]. The error messages for a failed configuration update are now more descriptive and include the Kea error response [#1535]. The High Availability (HA) panel no longer scrolls when its content is being updated [#1472]. 5. **Build improvements**: A release checklist was created. While it's not visible to users, this checklist allows our release engineers to ensure all release steps are completed, thus giving users a more consistent experience across releases [#1521]. We have improved compatibility with older systems (e.g. RHEL 8) by building deb and RPM packages with GLIBC 2.31. This also improves compatibility with ARM systems (Debian and Ubuntu running on aarch64) [#1364, #1538]. The deb packages now use `useradd` instead of `adduser`, making it easier to build packages on some deb-based distros [#1537]. The Stork server now detects the directory with static UI files relative to the `stork-server` binary when `rest-static-files-dir` is not specified, eliminating the need to specify this parameter when the Stork server is installed in a custom directory [#1434]. 6. **Security**: After installation, Stork now enforces changing the admin password. By default, it also prompts new users to change the initial password. The `super-admin` user is able to force specific users to change their passwords on the next login [#1385]. The character-set checks for passwords were relaxed; it is now possible to use a space in passwords [#1532]. All Stork dependencies were updated [#1559]. We fixed agent registration using a server token [#1491]. 7. **Documentation updates**: The Stork Administrator Reference Manual (ARM) received a major update. A glossary was added with definitions of common terms, and a new section with an overview of major features was added. New sections dedicated to Kea management and security deployment were added. Usage examples were added to the manual pages [#1365]. The version-checking feature is now documented [#1556]. We removed obsolete notes [#1531]. We fixed line breaks before links [#1525]. The contributing guidelines were updated [#1524]. 8. **Demo**: Several aspects of the Stork demo were updated. A crash was fixed in the traffic simulator [#445]. 9. **Testing**: The unit-tests executions no longer fail silently [#1563]. We expanded the list of systems to run tests on (we added Alpine 3.17, 3.19, 3.20). The test results are now exported in junit format, making it easier for our QA team to track test results automatically [#1503]. Please see this link for known issues: https://gitlab.isc.org/isc-projects/stork/-/wikis/Known-issues. ## Incompatible Changes None. ## Release Model Starting with this release, Stork has stable (even minor version, e.g. 2.0.1) and development (odd minor version, e.g. 2.1.2) releases; development releases are issued bi-monthly with some exceptions. New stable releases are expected roughly every 6 months. For ISC's detailed software support policy, see https://kb.isc.org/docs/aa-00896#stork. Usage of stable versions is recommended, unless the latest features with possibly some bug fixes are desired. We encourage users to test the development releases and report back their findings on the stork-users mailing list (available at https://lists.isc.org/mailman/listinfo/stork-users) or open Gitlab issues. ISC paid support customers may also report issues via our support portal. This text references issue numbers. For more details, visit the Stork GitLab page at https://gitlab.isc.org/isc-projects/stork/issues. ## License Stork is released under the Mozilla Public License, version 2.0. https://www.mozilla.org/en-US/MPL/2.0 ## Download The easiest way to install the software is to use native deb or RPM packages. They can be downloaded from: https://cloudsmith.io/~isc/repos/stork/ The Stork source and PGP signature for this release may be downloaded from: https://downloads.isc.org/isc/stork The signature was generated with the ISC code-signing key, which is available at: https://www.isc.org/pgpkey ISC provides documentation in the Stork Administrator Reference Manual (ARM). It is available on ReadTheDocs.io at https://stork.readthedocs.io/en/latest/, and in source form in [the doc/ directory](https://gitlab.isc.org/isc-projects/stork/-/tree/master/doc). 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 stork-users mailing list (https://lists.isc.org/mailman/listinfo/stork-users). We would also like to hear whether the documentation is adequate and accurate. Please open tickets in the Stork GitLab project for bugs, documentation omissions and errors, and enhancement requests. We want to hear from you even if everything worked. ## Support Starting with release 2.0.0, professional support for Stork is available from ISC. We encourage all professional users to consider this option; Stork and Kea maintenance is funded with support subscriptions. For more information on ISC's Kea and Stork 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/mailinglists/. If you have any comments or questions about working with Stork, please share them to the stork-users list (https://lists.isc.org/mailman/listinfo/stork-users). Bugs and feature requests may be submitted via GitLab at https://gitlab.isc.org/isc-projects/stork/issues. ## Changes The following summarizes changes and important upgrades since the previous Stork release versioned 1.19.0. * 472 [bug] marcin Fixed a problem with resetting the database schema to the initial version, using the stork-tool db-reset command, when some of the database users had no email assigned. (Gitlab #1583) * 471 [perf] slawek Solved a problem with consuming abnormally much memory if the Stork server monitored multiple Kea servers that simultaneously managed thousands of shared networks. (Gitlab #1552) * 470 [func] marcin Conditionally set ddns-use-conflict-resolution and ddns-conflict-resolution-mode, depending on the configured Kea version. Previously a user could set one of these parameters for the Kea versions that did not support them, causing configuration errors. (Gitlab #1536) * 469 [bug] slawek Fixed a migration to downgrade a database version that failed if any host reservation was specified both in a configuration file and in a database. (Gitlab #1553) * 468 [func] slawek Upgraded Grafana and Prometheus versions. Fixed a bug with fetching statistics from a single DHCPv6 daemon. Added Grafana links for IPv6 subnets. (Gitlab #1322, #1529) * 467 [build] slawek Build Stork DEB and RPM packages with GLIBC 2.31 to preserve compatibility with legacy operating systems. (Gitlab #1538) * 466 [func] piotrek Implemented a new feature to inform about used Kea, Bind9 and Stork versions. There is a new view where all found versions are summarized together with information about current ISC software releases. (Gitlab #222) * 465 [bug] piotrek Fixed a bug where login was not possible using the LDAP authentication method. (Gitlab #1540) * 464 [bug] slawek Fixed a ping request handling issue in the agent registration flow with the server token. It caused an error at the end of the registration attempt. (Gitlab #1491) * 463 [func] slawek Added a possibility to force users to change a password. The default administrator must always change password when logging in for the first time. (Gitlab #1385) * 462 [build] marcin Changes in DEB packages to use useradd instead of adduser command. The former is available by default on deb-based distributions but the latter isn't, causing potential issues with installing Stork on these systems. (Gitlab #1537) * 461 [func] marcin Return errors reported by Kea to a Stork user unsuccessfully updating Kea configuration. (Gitlab #1535) * 460 [func] slawek Refactored the application detection loop in the Stork agent to prevent continuous logging of the same detection errors. Removed the log message about successfully finding the BIND 9 configuration. Stork agent no longer logs the RNDC key status for BIND 9 statistics channel. (Gitlab #1422, #1388, #1384) * 459 [func] marcin Stork passwords can contain space characters. (Gitlab #1532) * 458 [func] marcin Stork server detects the directory with static UI files relative to the stork-server binary when rest-static-files-dir is not specified. It eliminates the need to specify this parameter when Stork server is installed in a custom directory. (Gitlab #1434) * 457 [build] marcin Moved High Availability monitoring panel to the bottom of the Kea daemon tab. This change prevents browser scroller's position change when the HA status is updated. (Gitlab #1472) * 456 [func] marcin Added possibility to set custom welcome message in the Stork login page. (Gitlab #1431) Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.