Hi all π
Iβve focused this release on giving you better visibility into where your device data comes from, along with tightening up state management across UI and notification workflows.
There is a new Field View within the Sources tab (previously called Plugins). While the Plugin View was already there to show you data grouped by source plugin, this new dimension lets you explore and audit raw device data grouped directly by specific attributes (IP, name, vendor, type). This makes it significantly easier to see how NetAlertX resolves network state across multiple inputs, which is useful in complex or MSP environments.
Additionally, I have extracted and expanded Session Info into its own separate tab. This keeps the main Details tab compact and focused purely on editing, while giving you a dedicated place to inspect active device details, known IPs, and IP history. I have also added clear visual indicators πΎ in navigation and Settings so you always know when configuration updates are being applied in the background.
On the bug fix front, I have resolved false "IP Changed" event spam by grouping multiple addresses per scan, prevented endless "ghost" notifications when deleting down devices, and fixed timestamp display inconsistencies across the device tables. A big thanks to @itwormz for fixing Safari network map rendering issues, and to @Svestis for fixing backslash and quote handling in saved settings π
NMAPDEV: action required on existing installs. When NetAlertX runs as the non-root netalertx user, nmap ignores its granted network capabilities. Update NMAPDEV_ARGS from sudo nmap -sn -PR -oX - to sudo nmap --privileged -sn -PR -oX -
Thanks to everyone who submitted bug reports, tested fixes, and contributed to this release!
Now onto the changes.
π Breaking changes
- πΊPHASING OUT: If you have implemented external applications using the OLD API endpoints, please migrate to the NEW API endpoints.
π New capabilities
- A navigation indicator now highlights pending updates, and Settings shows when saved changes are still being applied.
- Added a Sources tab with Plugin View and Field View options for exploring device data by plugin or by IP, name, vendor, and type.
- Added a read-only Session Info tab with device details, known IPs, and IP history.
β¨Fixes and Improvements
- Safari network view fixes by @itwormz π #1116
- Device tables display empty dates as blank and localize populated timestamps consistently. #1826
- Freebox presence detection handles reachable and unreachable devices, including hosts with missing connectivity details. #1828
- Saved settings preserve backslashes and quotes correctly by @Svestis π
- Device table labels now read βFirst Seenβ and βLast Seen.β as per field names
- IP-change events account for eligible plugin-reported addresses and group new addresses into one event per device per scan eliminating IP changed spam #1831
- Notifications exclude deleted devices to prevent ghost notifications #1841
INTRNTplugin checks now use HTTPS, explicitly request IPv4 addresses, and enforce connection and overall timeouts while preserving existing address validation and error handling. #1845- Timezone offsets caused down-notifications to be re-sent #1851
- Patches for CVE-2026-109618 / CVE-2026-109619 #1856
WIFICANARYimprovements by @mauricio-camayo πSYNCbug fixes of incorrect node name logging by @mauricio-camayo π- MCP server fixes by @frdmn π
What's Changed
- sync by @jokob-sk in #1829
- Escape backslashes in string settings written to app.conf by @Svestis in #1820
- Fix spelling errors in DEVICE_MANAGEMENT.md by @luisenrike in #1833
- fix(frontend): restore network topology rendering in Safari by @itwormz in #1834
- sync by @jokob-sk in #1835
- Next release by @jokob-sk in #1830
- fix(unifi): populate device SSIDs from wireless clients by @itwormz in #1836
- sync by @jokob-sk in #1838
- Translated using Weblate (Czech) by @jokob-sk in #1839
- BE+FE: Plugins -> Sources DevDetails tab by @jokob-sk in #1837
- Merge pull request #1837 from netalertx/next_release by @jokob-sk in #1842
- Next release by @jokob-sk in #1843
- Fix duplicate content in DOCKER_COMPOSE.md by @Clearmist in #1849
- fix(docker): require patched PHP 8.3 on Alpine 3.24 by @RobinMJD in #1857
- fix(mcp): advertise a relative SSE endpoint so clients work behind the /server proxy by @frdmn in #1855
- Sync + WIFICANARY: attribute synced detections to their node by @mauricio-camayo in #1858
New Contributors
- @Svestis made their first contribution in #1820
- @luisenrike made their first contribution in #1833
- @itwormz made their first contribution in #1834
- @Clearmist made their first contribution in #1849
- @RobinMJD made their first contribution in #1857
- @frdmn made their first contribution in #1855
Full Changelog: v26.10.0...v26.10.24