Hi all 👋
Note: Had to re-publish this due to missing PATCH version in Tag (vYY.MM.PATCH)
This release brings structural reorganization under the hood, network visualization updates, and a transition to a more predictable versioning scheme.
On the architecture side, I’ve officially moved the plugins directory from /front/plugins to /server/plugins. Please note that this is a breaking change: if you use custom plugin mappings in your docker-compose files, you will need to update them.
To make future releases easier to track, I am also shifting to a streamlined CalVer format (YY.MM.PATCH). This removes guessing games and maps version numbers directly to release timelines.
I’m also expanding multi-site and multi-instance capabilities-strongly aligning with MSP deployment needs. This release introduces support for multi-instance Pi-hole monitoring (PIHOLEMON plugin by @mauricio-camayo), enhanced AdGuard DHCP imports, and site details for UniFi devices, making it easier to manage segmented network environments.
Finally, network maps are getting a visual upgrade: solid lines now cleanly represent numbered Ethernet ports while dashed lines handle other connections, and Wi-Fi indicators now dynamically check for SSID availability.
Thanks for the ongoing support, bug reports, and community contributions.
Now onto the changes.
Screenshots
💔 Breaking changes
- 🔺THIS RELEASE: moved plugins directory from
/front/pluginsto/server/plugins- update your custom plugin mappings in your docker-compose files. - 🔺NEXT RELEASE REMOVAL: If you have implemented external applications using the OLD API endpoints, please migrate to the NEW API endpoints.
🆕New capabilities
- Added site details to devices imported via the
UNIFIAPIplugin #1741 - Improved AdGuard DHCP imports to include dynamic leases and static reservations. #1746
- New custom header and URL query string support for
NTFYto use with reverse proxies or tunnels - by @justadityaraj 🙏#1663 - Pause scans to allow for quicker updating of the Device lists #1754
- Ethernet vs. Other Connections: Solid lines now represent numbered Ethernet ports; all other connection types display as dashed lines. #1763
- Wi-Fi Status: Displays the Wi-Fi icon when an SSID is available; defaults to a (?) icon when unavailable. #1763
- A new
PIHOLEMONplugin with 2 pihole instances support, including anomaly detection by @mauricio-camayo 🙏
✨Fixes and Improvements
- fix multiple recipients in smtp plugin by @etgocode 🙏
- clock shows wrong timezone after header reload (#1640) by @Valiante 🙏
- Improved repeated-notification filtering by consistently using UTC timestamps #1737
- Corrected parent device online-status handling when network interface devices are detected. #1736
- Escaped dynamic notification HTML and added formatting fallbacks. #1743
devCommentsnow displayable in the devices views tables- Session info fields were editable when dummy devices were created #1755
- Fix for theme initialization after cache reload by @Valiante 🙏
- Deleting a device referenced as
devParentMACwas causing data and rendering inconsistencies #1758
What's Changed
- fix multiple recipients in smtp plugin by @etgocode in #1732
- sync by @jokob-sk in #1733
- Next release by @jokob-sk in #1734
- Fix: clock shows wrong timezone after header reload (#1640) by @Valiante in #1735
- fix: correct UTC/localtime mismatch in skip_repeated_notifications cooldown by @jokob-sk with @Copilot in #1738
- Fix: NIC child presence no longer forces a directly-detected parent offline (#1736) by @jokob-sk with @Copilot in #1739
- Escape notification HTML device fields and fall back on indent errors by @jokob-sk with @Copilot in #1744
- Add custom header and URL query string options to the ntfy publisher by @justadityaraj in #1695
- sync by @jokob-sk in #1748
- Next release by @jokob-sk in #1740
- fix: lazy-import write_notification to prevent partial module load in CI tests by @jokob-sk with @Copilot in #1757
- feat(ntfy): allow more than one custom header by @justadityaraj in #1756
- Fix: theme reverts to Light after header reload (#943) by @Valiante in #1759
- sync by @jokob-sk in #1760
- FE: Implement pause/resume functionality for automatic scans with API… by @jokob-sk in #1753
- fix(mikrotik): continue scans past leases without MAC addresses by @justadityaraj in #1761
- docs: fix typo shoudl -> should by @vaibhav8a in #1764
- Update download link for Proxmox installer by @andrewbeaton in #1767
- PLG+DOCS: plugins dev docs for temp files + adguard export cleanup by @jokob-sk in #1768
- Add pihole_monitor plugin: combined Pi-hole device import + query anomaly detection by @mauricio-camayo in #1765
- Sync by @jokob-sk in #1769
- Next release by @jokob-sk in #1770
New Contributors
- @etgocode made their first contribution in #1732
- @Valiante made their first contribution in #1735
- @justadityaraj made their first contribution in #1695
- @vaibhav8a made their first contribution in #1764
- @andrewbeaton made their first contribution in #1767
- @mauricio-camayo made their first contribution in #1765
Full Changelog: v26.8.5...v26.9.0
