# Stork 2.3.1 Release Notes, October 15, 2025 Welcome to Stork 2.3.1, the second development release in the 2.3 series. The changes introduced in this version are: 1. **UI upgrade**: The user interface (UI) was upgraded to Angular 19 and PrimeNG 19, and several UI components were rewritten to better align with the new library versions [#1760]. We fixed a problem with some elements exceeding the viewport or container on small screens [#1528]. We fixed a problem where expanding IP reservations on the host reservations tab could crash the Stork UI [#2036]. We fixed a problem that when navigating away from the edit form, the editing capability would be locked out for 10 minutes, even for the same user [#1904]. Stateful tables have been globally disabled [#1894]. We fixed a problem with the tab menu underline not moving when a tab was closed [#1799]. The priority errors panel now tries to avoid using href [#1450]. We improved the handling of tabs when viewing, editing, or adding users in the Configuration > Users menu [#1390]. The list of apps can now be filtered by app type (Kea, BIND 9, PowerDNS) [#1956]. The PowerDNS server name is now displayed next to the version number on the machines page and the dashboard [#1973]. 2. **BIND 9 and DNS**: Stork's parser for BIND 9 was updated to use a proper parser rather than a series of regular expressions. This addresses problems with some valid BIND 9 configurations confusing Stork [#1926]. We fixed a problem with Stork being unable to parse a BIND 9 configuration with a dyndb configuration block [#1938]. We addressed performance issues with large BIND 9 configuration parsing [#1912]. We fixed a problem where some BIND 9 statistics pertaining to zone transfers were handled incorrectly. New statistics are now exported to Prometheus: XfrReqDone, AXFRReqv4, AXFRReqv6, IXFRReqv4, IXFRReqv6 [#1967]. We expanded the list of default locations where Stork tries to find PowerDNS configuration files [#1930]. 3. **Security**: We added a verification of the size of incoming requests to fix a DoS attack vector, and added a patch securing against an integer overflow bug in the go-pg library (CVE-2024-44905). This patch prevents potential vulnerabilities that could stem from this bug in the future [#1939, #1940]. 4. **Bug fixes**: We fixed a problem in the statistic counting that produced enormous negative values or crashed due to division by zero [#1953]. 5. **Build improvements**: The dependencies were updated [#2035]. The Stork logo is now stored as a local SVG file and no longer requires an external font [#1850]. Stork now manages independent requirement files for easier builds with different Python versions. Also, if the requirements file is missing for a specific version, it is generated dynamically on the fly [#1505]. We fixed a problem where a too-specific curl version was required, resulting in a failed build on some systems [#1966]. 6. **Documentation**: We rearranged some sections of the Administrator Reference Manual (ARM), and created new sections to cover DHCP- and DNS-specific topics. We described the process of detecting Kea, BIND 9, and PowerDNS, and the configuration requirements for the DNS servers, so they can be monitored by Stork [#1844]. We updated the issue templates for GitLab [#2019]. The list of authors was updated [#1855]. 7. **Demo**: We updated ca-certifcates dependencies to address a demo build problem due to older certificates no longer being available [#2005]. 8. **Testing**: We added Playwright support for Stork; Playwright is now used to run more comprehensive UI tests [#1224, #1992]. We implemented a reliable server-state reset mechanism for Playwright [#1949]. We created a dedicated test environment for Playwright automation [#1948]. We fixed several unstable unit-tests [#1572]. The test_search_leases system tests were extended [#1913]. 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 Alpine, 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. * 562 [func] piotrek Responsive UI was improved. Content overflow was minimized for smaller viewports. (Gitlab #1528) * 561 [sec] slawek Updated Go to version 1.24.9 which fixes CVE-2025-58187. (Gitlab #2035) * 560 [func] marcin BIND 9 configuration parser is used by the Stork agent during detection of BIND 9 instances. It is not user-visible change but it is explicitly noted here in case it introduces some issues with uncommon BIND 9 configurations. (Gitlab #1926) * 559 [bug] slawek Fixed a bug in the statistic counting that produced enormous big or negative values or crashed due to division by zero. (Gitlab #1953) * 558 [build] piotrek Updated frontend dependencies including Angular 19 and PrimeNG 19. Frontend code was refactored to support new Angular and PrimeNG versions. (Gitlab #1760) * 557 [bug] marcin Fixed parsing "dyndb" BIND 9 configuration statement. Previously, BIND 9 configuration parsing failed on this statement causing issues with detecting BIND 9 servers. (Gitlab #1938) * 556 [build] slawek Split Python requirements in separate files for each Python version. The Python requirement files are now generated dynamically if they do not already exist. This improves building, especially of the UI, on systems with old Python versions. (Gitlab #1505) * 555 [func] marcin Improved performance of BIND 9 configuration parsing by the agent. Added support for annotating parts of the BIND 9 configuration to skip parsing them. These annotations are useful in large deployments when parsing the BIND 9 configuration file can take significant amount of time. Use //@stork:no-parse:scope and //@stork:no-parse:end to skip parsing selected part of the configuration file. Use //@stork:no-parse:global to skip parsing the rest of the configuration file following the annotation. (Gitlab #1912) * 554 [ui] william Add drop-down menu to filter by app type (Kea, BIND9, PowerDNS) in the Services > Apps page. (Gitlab #1956) * 553 [bug] marcin Fix collecting and exporting some of the BIND 9 statistics pertaining to zone transfers. Exporting new statistics to Prometheus: XfrReqDone, AXFRReqv4, AXFRReqv6, IXFRReqv4, IXFRReqv6. (Gitlab #1967) * 552 [doc] marcin Restructured Stork ARM. Created new sections to cover DHCP and DNS-specific topics. Described the process of detecting Kea, BIND 9 and PowerDNS, and the configuration requirements for the DNS servers, so they can be monitored by Stork. (Gitlab #1844) * 551 [sec] slawek Added a verification of the size of incoming requests to fix the DoS attack vector. Added a patch securing against an integer overflow bug in go-pg library (CVE-2024-44905). This patch prevents potential vulnerabilities that could stem from this bug in the future. (Gitlab #1939, #1940) * 550 [ui] marcin PowerDNS server name is displayed next to the version number on the machines page and the dashboard. (Gitlab #1973) * 549 [build] marcin Improved detection of PowerDNS config file location. The agent tries to find the config file in typical locations. Added the command line argument (`--powerdns-path`) and environment variable (`STORK_AGENT_POWERDNS_CONFIG`) to specify custom PowerDNS config file location. (Gitlab #1930) * 548 [build] yavorpeev Playwright initial configuration for UI testing plus test example (Gitlab #1224) Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.