# Stork 1.18.0 Release Notes, August 7, 2024 Welcome to Stork 1.18.0, another development release. The changes introduced in this version are: 1. **Global parameters**: Stork is now able to present global parameters configured in Kea. The eventual goal is to be able to manage global Kea parameters in Stork; with this release, it is now possible to inspect them. The ability to add, edit, and delete them is coming soon [#1449]. 2. **Shared networks management**: Stork is now able to add new and delete existing shared networks in Kea. This requires the `subnet_cmds` subscriber hook library to work properly. This, together with capabilities introduced in previous releases, completes the capability to fully manage shared networks in Kea using Stork [#1402, #1403, #1405]. 3. **Theme update and UI improvements**: The layout has been updated to the latest PrimeNG themes. Stork now supports both light and dark themes. Besides getting a more modern look, we fixed a plethora of older UI bugs and glitches [#1379, #1294]. Resetting subnet pagination on filtering now works properly [#1306]. The spacing between the subnet tab menu and the filter box now looks better [#1302]. We now use a coherent color scheme and many custom styles were removed. While the changes may not be noticeable to the average user, using a simplified and consistent scheme across the whole interface gives us the ability to tweak it easily. This might prove very useful to implement high contrast for people with vision impairment [#1298]. The controls no longer overlap the event toasts [#692]. A minor problem with the red X icon being larger than other icons was fixed [#661]. The utilization bar now looks properly rounded for high values [#773]. Help tips in the HA status panel now work properly [#1420]. We fixed misplaced help tips for the table headers [#1399]. 4. **New Prometheus metrics**: Stork agent now exports additional Kea IPv6 metrics to Prometheus: `total_na` (total available IPv4 or IPv6 addresses), `assigned_na` (assigned IPv4 or IPv6 addresses), `total_pd` (total available prefixes for Prefix Delegation), and `assigned_pd` (assigned IPv6 prefixes) [#1375]. 5. **Connectivity errors reporting**: We added a new page for communication errors with agents. While this information was available previously, it required checking each machine separately. This new page gives an overview of all systems and makes it easier to spot problems in larger deployments [#1316]. 6. **Bug fixes**: A console error produced when opening the shared network tab was fixed [#1452]. Earlier Stork versions rendered the Stork server unresponsive to signals after SIGINT was received, after a database connection failure. This problem is now fixed [#1436]. We fixed a problem where pullers could stop permanently after a temporary database failure [#1437]. An old bug about filtering and searching for IPv6 networks was fixed [#768]. The Stork tool and server no longer attempt to access source files. The library we use for database migrations had a mechanism to auto-discover migration files; this mechanism was not used by Stork, but was left enabled. It is now disabled [#1439]. We implemented a workaround for a problem with the `subnet4-del` and `subnet6-del` commands with shared networks. This is related to Kea issue #3455, which will be fixed in the upcoming Kea 2.7.2 [#1425]. 7. **Security**: Golang was updated to its latest version, thus eliminating a potential vulnerability to CVE-2024-24791 [#1446]. A warning message was added when a new agent attempts to register. There is a trade-off between simplicity of registering new machines and potential abuse by bad actors who could attempt to spam registration requests. The ability to request new registration can now be disabled on the server [#1413]. Several improvements were made in the registration process. The agent can be registered in non-interactive mode (see the `--non-interactive` and possibly also `--agent-port` parameters), making it much easier for automatically created Dockers, VMs, or similar setups to automatically register. The documentation was improved to explain the registration process better [#1427]. We merged the system tests for an old security issue [#1345]. 8. **Packaging**: Alpine packages are now available [#863]. Packages are now built using `nfpm`; the `fpm` tool is no longer used. This allowed us, among other things, to start building Alpine packages [#1114]. 9. **Documentation**: We updated the list of supported systems in the ARM [#1297]. We added a section about high virtual memory usage by Stork [#1389]. 10. **Testing**: The system test results are now saved as artifacts. This is useful for getting deeper insight into results changing over time, spotting regressions, and detecting long-term trends in general [#1445]. The system tests are now compatible with the latest Kea 2.7.x [#1350]. All hook-related pipelines are now run on the master branch by default [#1392]. We fixed problems with CodeQL scanning on GitHub [#1279]. We fixed a failing `test_agent_over_ipv6` system test [#1441]. We upgraded Docker in our CI [#1440]. Testing for the elusive 502 bad gateway bug was improved [#1324, #1317]. The system test CI task no longer depends on packages [#1393]. The full system test pipeline is no longer run on all commits. This significantly speeds up automated pipelines, making code merges faster [#1391]. We improved several tests for fetching IPv6 statistics [#1335]. Please see this link for known issues: https://gitlab.isc.org/isc-projects/stork/-/wikis/Known-issues. ## Incompatible Changes 1. The hooks are now installed in `/usr/lib/stork-server/hooks` rather than `/var/lib/stork-server/hooks`. This solves the problem of strict security policies disallowing running any code from outside of the `/usr` directory [#1227]. ## 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. * 437 [build] slawek Changed the tool to build packages from "fpm" to "nfpm". This enabled automated build of Stork packages for Alpine Linux. (Gitlab #1114) * 436 [build] slawek Changed the default Stork hook directory to be located outside '/var' to be compatible with strict Linux security policies. (Gitlab #1227) * 435 [bug] slawek Added configurable timeouts for database read/write operations. These settings may be useful to avoid the read or write hangs when the server loses connectivity to the database. (Gitlab #1436) * 434 [build] slawek Fixed the security vulnerabilities reported by the GitHub Dependabot and updated dependencies, including Go 1.22.5, PrimeNG 17.18.5, and several Python and Ruby packages. (Gitlab #1446) * 433 [bug] slawek Fixed the permanent stopping of pullers on the temporary database failure. (Gitlab #1437) * 432 [func] marcin Added global Kea parameters view accessible from the Kea daemon tab. (Gitlab #1449) * 431 [func] marcin Display warning message when new machine requests registration. (Gitlab #1413) * 430 [func] slawek Minor improvements in the Stork agent register command. Added a CLI flag to run the registration in non-interactive mode. (Gitlab #1427) * 429 [doc] slawek Updated a section about supported operating systems. (Gitlab #1297) * 428 [bug] slawek, marcin, andrei Prevented Stork tool from auto-discovering migration files. This feature has never been necessary, but it could raise an error if the Stork user can't access the searched directory. (Gitlab #1439) * 427 [build] slawek Upgraded the Kea version in system tests to 2.7.0. (Gitlab #1350) * 426 [func] piotrek Applied most recent PrimeNG theme Aura Blue. This updates Stork UI. Also dark/light mode support was added. (Gitlab #1379) * 425 [bug] marcin Delete a subnet from shared network in Kea before deleting the subnet. It is a workaround for the Kea issue #3455. Before this change, a subnet could silently fail to delete from a Kea server when it belonged to a shared network. (Gitlab #1425) * 424 [bug] piotrek Fixed a bug with displaying help tooltip in views like Machines list or High Availability section of Kea app view. The help tip was not displayed in proper location, or was not displayed at all. (Gitlab #1399) * 423 [doc] slawek Described why Stork allocates so much virtual memory. (Gitlab #1389) * 422 [func] slawek The Stork server's Prometheus endpoint exports new metrics, such as the number of total and assigned addresses and delegated prefixes. (Gitlab #1375) * 421 [func] marcin Shared networks can be selectively deleted using the Stork UI. (Gitlab #1405) * 420 [func] marcin Implemented a UI form for creating new shared networks. (Gitlab #1403) * 419 [func] marcin Added new page displaying communication issues between the server and the monitored machines. (Gitlab #1316) Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.