# Stork 1.19.0 Release Notes, October 2, 2024 Welcome to Stork 1.19.0, another development release. The changes introduced in this version are: 1. **Global options management**: Stork is now able to manage (list, add, edit, and delete) global DHCP options in the Kea configuration [#1447]. The DHCP option form used on many pages now accepts option codes [#1461]. 2. **Global parameters management**: Stork is now able to manage (list, add, edit, and delete) selected global parameters in the Kea configuration [#1366]. 3. **Responsive UI**: Stork server now offers a responsive interface, which is reasonably useful on small form-factor displays such as tablets and smartphones [#104,#502,#1433]. We fixed many issues related to filtering. The filtering code is now common between shared networks, subnets, hosts, leases, apps, and machines [#880, #1415, #1464, #1468, #1469]. 4. **UI improvements**: The RPS (responses per second) statistic on the dashboard was updated; it is now presented as a fractional number, which offers better precision. Also, the tooltip describing the RPS was clarified [#1510]. The process of creating a new subnet and adding it immediately to a shared network was made more intuitive [#1438]. We added missing documentation links for some Kea hooks [#1466]. The authentication method selector is now displayed correctly as a dropdown [#1471]. An address pool bar for long IPv6 addresses is now placed inside a scrollable container [#1473]. The appearance of error messages was visually improved in log viewers [#1194]. The memory usage figure was made readable for small memory usage values [#662]. 5. **BIND 9 improvements**: The BIND 9 wildcard address is now handled properly [#1495]. We fixed a rare bug that caused a Stork server to crash when the Stork agent was able to detect the BIND 9 process, but it couldn't fetch its configuration due to insufficient rights [#1492]. The BIND 9 containers used in the Stork demo were updated, following the migration of the official BIND 9 images to Alpine [#1494]. 6. **New checker**: A new checker was implemented that verifies the presence of the open source Kea Lease Commands hook; if it is not found, the checker notifies the user and encourages that the hook be loaded [#1456]. 7. **Bug fixes**: A problem was fixed with the stork-agent crashing after running for a long time on FreeBSD and OpenBSD. The underlying BSD-specific fix was needed in gopsutil, an external library used; one of ISC's engineers developed a patch that eventually led to an updated gopsutil release. This Stork release uses the fixed gopsutil version [#1486]. Missing Grafana links are now visible on the dashboard [#1489]. We fixed a problem with not showing IPv6 statistics due to a bug in Stork [#1493]. 8. **Test improvements**: Unstable unit tests in the shared networks table were fixed [#1500]. Richgo was replaced by the tparse library, as richgo is no longer actively maintained. Both libraries are used for coloring the test output [#1398]. A couple of job dependencies were removed, making our CI build system simpler [#1465]. We added a system test for disabling machine registration [#1400]. It is now possible to run system tests on Apple M3 hardware. While the macOS remains officially not supported, some of our developers use it [#1498]. We increased the expiration time for system test artifacts [#1463]. We fixed unstable TestSubnetPrefixInPrometheusMetrics [#943]. 9. **Build improvements**: The build system now specifies the exact golang version to use [#1485]. We updated dependencies including the Go 1.23.1, Angular 17.3.12, and several JavaScript, Python, and Ruby packages [#1512]. Stork can now be built with a backend profiler and a performance monitor. This capability is mostly useful for Stork developers to investigate bottlenecks and get deeper insight into Stork's internal operations under load. This tool will be essential for better scaling and improved performance in the future [#1278]. OpenRC scripts were added in Alpine packages [#1457]. Many dependencies were updated [#1512]. We fixed a problem with stork-agent package installation failing on RedHat due to differences in the naming of the `kea` group [#1506]. We fixed a problem of variables not being substituted in LDAP hook package descriptions [#1470]. 10. **Documentation**: We updated Coding Guidelines with some recommendations after the UI refactoring effort [#1480]. We fixed the link for Alpine packages for the Cloudsmith repository in the documentation [#1462]. Please see this link for known issues: https://gitlab.isc.org/isc-projects/stork/-/wikis/Known-issues. ## Incompatible Changes There are no incompatible changes in this release. ## Release Model Stork has bi-monthly development releases. 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 report bugs at https://gitlab.isc.org/isc-projects/stork/-/issues/. 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 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, version 1.17.0. * 455 [func] marcin RPS statistics displayed with two fractional digits precision. (Gitlab #1510) * 454 [build] andrei Stork now installs OpenRC service files on Alpine systems. (Gitlab #1457) * 453 [build] slawek Updated dependencies including the Go 1.23.1, Angular 17.3.12, and several JavaScript, Python and Ruby packages. (Gitlab #1512) * 452 [bug] slawek Fixed a problem with recognising the wildcard IP address in the inet clause in the BIND9 configuration, preventing the Stork agent from establishing a connection to the named daemon. (Gitlab #1495) * 451 [func] slawek Extended a form for editing global Kea configuration with support for altering the global DHCP options. (Gitlab #1447) * 450 [bug] slawek Fixed the Kea and BIND 9 group names assigned to the user installed with the Stork agent package. (Gitlab #1506) * 449 [bug] slawek Fixed a rare bug that caused a Stork server to crash when the Stork agent was able to detect the BIND 9 process, but it couldn't fetch its configuration due to insufficient rights. (Gitlab #1492) * 448 [bug] marcin Restore missing links to the subnets in Grafana. (Gitlab #1489) * 447 [bug] marcin Corrected command name for fetching DHCPv6 statistics. The wrong command was sent previously causing a failure to fetch this statistics. (Gitlab #1493) * 446 [func] marcin Handle the case in Stork statistics presentation when the number of declined leases is lower than the number of assigned leases. In this case, Stork now estimates the number of leases with uncertain availability, and the number of free leases. These statistics are presented on the pie charts. It also eliminates negative lease statistics that were sometimes presented when the statistics returned by Kea were wrong. (Gitlab #1481) * 445 [build] tomek Fixed a problem with BIND9 containers used in the demo. Some time around Aug 2024, the official BIND9 images switched from Debian to Alpine. (Gitlab #1494) * 444 [func] marcin Implemented a form for editing selected global Kea configuration parameters. (Gitlab #1366) * 443 [func] slawek Added a Kea checker to verify the Kea Lease Commands Hooks Library is loaded in the Kea DHCP daemon. (Gitlab #1456) * 442 [doc] slawek Fixed a link in the docs to the script setting up the CloudSmith repository on Alpine operating systems. (Gitlab #1462) * 441 [bug] slawek Fixed the built-in description of the hook packages. The environment variables were not substituted. (Gitlab #1470) * 440 [func] piotrek Shared networks list view was refactored to be fully responsive. Filtering was reworked. Separate filters are now available in the shared networks table header. (Gitlab #1464) * 439 [func] marcin Server assignments panel moved to the beginning of the subnet and shared network form. It promotes the natural flow of editing the subnets and shared networks because the assignments selection impacts the later parts of the forms. (Gitlab #1438) * 438 [func] piotrek Stork UI was adjusted to be fully responsive. Now, it is usable on portable devices, e.g., smartphones and tablets. (Gitlab #1433) Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.