Skip to content

Releases: jokob-sk/NetAlertX

v25.7.4 - Unifi hotfix 🩹

04 Jul 22:07
Compare
Choose a tag to compare

Quick hot-fix - left in some test code 🤦‍♂️

Thanks to @scalerow for quick report and fix 🙏

🔌Plugins

  • Fix for UNFIMP where I left some test code ✨

What's Changed

New Contributors

Full Changelog: v25.7.3...v25.7.4

v25.7.3 - 🌍 Arabic translation and various fixes

03 Jul 21:52
Compare
Choose a tag to compare

Hey everyone 👋,

This is a lighter release of some fixes I wanted to get out before implementing some bigger changes. I want to thank the community to help me translate NetAlertX into almost 15 languages! 🌐 The latest big addition is @bo3bdo for a full Arabic translation and @ond000 who started on the Czech translation. As always, thanks everyone keeping the translations up-to-date: @mapi68 @Atalanttoreweblate @Maksim2005UA @GitSpoon @YoSafeguard @slammingprogramming @oldmav

img

Any small contribution to translations or code helps to keep this project going - consistency is key! 🙂

Read on what additional fixes are included in this release. 🔽

💔 Breaking changes

Sometimes I have to introduce breaking changes

  • Reminder: Due to code refactoring in order to upgrade to this version you have to run a previous version of the application (run v25.5.24 before upgrading to this version). See the upgrades docs for details.

🏘️ Community

📚Docs updates

⚙Settings

  • Fixed incorrect REFRESH_FQDN check in the device name discovery scanners #1081

🔌Plugins

  • Fix for devices with number only names that were not sent via MQTT #1102
  • Fix for the FREEBOX plugin by @mathoudebine #1084
  • Fix for VNDRPDT not updating the vendor database #1080

🖼 UI

  • Archived devices are now being hidden in the Network topology view ✨

Other Info

🆕 - New features ✨ - Fixes & Improvements ⚠ - Possibly breaking changes 🧪 - Experimental/work in progress

What's Changed

New Contributors

Full Changelog: v25.6.7...v25.7.3

v25.6.7 - Legacy upgrade removal and Fully Qualified Domain Names 🆎

06 Jun 23:44
Compare
Choose a tag to compare

Hi everyone! 👋

To simplify code maintenance (the database.py file has been reduced from 1000 to 500 lines), I’ve removed legacy migration support from PiAlert and dropped support for older database upgrade paths.

There’s no impact if you're upgrading from version v25.5.24 to this release.
However, if you're on an older version, please upgrade to v25.5.24 first by pulling the previous image:

ghcr.io/jokob-sk/netalertx:25.5.24

Then restart the application.

Upgrading from PiAlert is still supported — just ensure you first run the v25.5.24 version before upgrading to the latest release.


New in this version:

  • ✅ Auto-updated FQDN (Fully Qualified Domain Name) collection
  • 🔍 New DIGSCAN plugin to collect FQDN via active scans
  • 🛠️ Added init check under the Maintenance section to help debug startup issues

Big thanks to @johnwang16 for the reverse proxy fixes, and to everyone who submitted translations so quickly — @GitSpoon, @mapi68, @Maksim2005UA, @yunyi35 🙏

Hope you find the new features useful! As always, happy to hear your feedback here or on Discord.

img

💔 Breaking changes

Sometimes I have to introduce breaking changes

  • Due to code refactoring in order to upgrade to this version you have to run a previous version of the application (e.g. run ghcr.io/jokob-sk/netalertx:25.5.24 before upgrading to this version). To simplify maintenance migration from PiAlert has been removed and previous PiAlert installations will have to run the ghcr.io/jokob-sk/netalertx:25.5.24 image for an automated migration. See the migration docs for details.

📚Docs updates

⚙Settings

  • A new REFRESH_FQDN setting to auto-update the Device Fully Qualified Domain Name (FQDN) #1065 🆕

🔌Plugins

  • DIGSCAN new Dig plugin from code refactoring 🆕

🖼 UI

  • New Initialization check under Maintenance 🆕
  • devMac added to workflow fields for more automation options 🆕

Other Info

🆕 - New features ✨ - Fixes & Improvements ⚠ - Possibly breaking changes 🧪 - Experimental/work in progress

What's Changed

Full Changelog: v25.5.24...v25.6.7

v25.5.24 - MQTT, UI improvements, multiple notification emails

23 May 23:47
Compare
Choose a tag to compare

Hi everyone!

This update includes brings small enhancements across the board:

  • MQTT plugin now supports an "Alert Down" flag to better track device status
  • SMTP plugin supports multiple recipient emails
  • New localized date/time UI and improved tooltips
  • In-app notifications auto-cleanup with MAINT_NOTI_LENGTH
  • Plus: better error reporting in WEBMON, more reliable long emails, and fixes to plugin-watching alerts

Thanks to @jangrewe for the SMTP fix! See details below.

⚙Settings

  • A new MAINT_NOTI_LENGTH setting to auto-delete in-app notifications #1052 🆕

🔌Plugins

  • MQTT additional Alert Down attribute so you can check and filter down devices #1057
  • WEBMON more statuses for different errors (SSL, timeout) ✨
  • SMTP now supports multiple email addresses #1061

🖼 UI

  • Dates are localized in most places based on the TIMEZONE setting #1044 🆕
  • Fixed tooltips in presence view hover #1066

💠Core app updates

  • Watched_Value1-4 changes didn't trigger notifications if you were watching plugin changes #1053
  • Some SMTP servers were not handling 1000+ characters per line which could result in broken links in emails #1049 ✨ - thanks to @jangrewe 🙏

Other Info

🆕 - New features ✨ - Fixes & Improvements ⚠ - Possibly breaking changes 🧪 - Experimental/work in progress

What's Changed

New Contributors

Full Changelog: v25.4.14...v25.5.24

v25.4.14 - Styling, Workflows and other fixes

13 Apr 22:42
Compare
Choose a tag to compare

Hi,

This is a small release to fix some of the outstanding styling issues and a workflow issue, where a newly created workflow won't trigger unless the trigger type is changed.

Best,
Jokob

What's Changed

New Contributors

Full Changelog: v25.4.1...v25.4.14

v25.4.1 - 🔀 Workflows - automate device management

31 Mar 21:32
Compare
Choose a tag to compare

#1036 [bug] 🐛 There is a bug where a new workflow is not executed until you switch the Trigger type

Hey y'all 👋

You, your setup, your use cases... are different from mine and everyone's else's. I also don't like implementing really narrow features, that help only a handful of users.

So I thought, well, how about I let YOU to change the application behavior?

Here come 🔀 Workflow Automations 🥳

image

So, what can you do? You can change any Device field, or delete the Device itself, if any number of custom conditions are fulfilled. For example, you can UN-archive a device if it's detected online. Or group devices with a specific name or vendor into a group. Or assign devices to a location depending on the IP they get...

These are only examples, but I think you get the idea. Happy tinkering and automating! Share your workflows in Discord or GitHub Discussions.

There are also some smaller improvements, so check them out below ⏬

image

📚Docs updates

⚙Settings

  • A new LUCIRPC_only_reachable setting on the LUCIRPC to be able to import reachable or unreachable devices from OpenWRT #1010 🆕

🔌Plugins

  • ICMP failed if the setting LOG_LEVEL was set to verbose or higher #1025
  • MQTT didn't send updates for all fields, only some #1019

🖼 UI

  • Cleanup of the Network topology view ✨

💠Core app updates

Internal changes affecting the whole app and usually significant to developers 👩‍💻👨‍💻

  • LOADED_PLUGINS docker environment variable didn't work with the default app.conf #1023
  • Custom values of the devParentNode and devParentPort field were overwritten by plugins #1021

Other Info

🆕 - New features ✨ - Fixes & Improvements ⚠ - Possibly breaking changes 🧪 - Experimental/work in progress

What's Changed

  • Changing absolute path URL to relative path URL in devices.php by @cvc90 in #1022
  • Changing absolute path URL to relative path URL in userNotifications.php by @cvc90 in #1024
  • Next release - Workflow work by @jokob-sk in #1029

Full Changelog: v25.3.1...v25.4.1

v25.3.1 - 📚 New Docs portal, OMADA plugin and more MQTT attributes

28 Feb 23:27
Compare
Choose a tag to compare

Release Highlights 🚀

This release introduces a new OMADA (OMDSDNOPENAPI) plugin, contributed by @xfilo, as well as a revamped docs portal with improved search and navigation for a better user experience.

🔍 The MQTT plugin now sends additional attributes to Home Assistant’s device tracker object, enabling more detailed filtering of your devices.

To mitigate Docker Hub pull limits, container images will now also be available on the GitHub Container Registry (GHCR).

In other news, the Discord community has grown to nearly 100 members! 💙

Read on below for all the details included in this release!

image image

🏘️ Community

  • Almost 100 Discord members 🥳
  • @im-redactd created a OPNsense script to generate a dnsmasq compatible leases file for the DHCPLSS plugin 🆕

📚Docs updates

🔌Plugins

  • A new OMDSDNOPENAPI plugin by @xfilo 🆕
  • Easier filtering and listing in Home Assistant as MQTT now sends more device attributes into the app #999
  • The NTFY plugin supports now token authentication ✨

🖼 UI

  • Removal of some unnecessary default values from device dropdowns ✨
  • More control over new device names to keep or remove . (dots) in names #1002

Other Info

🆕 - New features ✨ - Fixes & Improvements ⚠ - Possibly breaking changes 🧪 - Experimental/work in progress

What's Changed

  • Fix spelling mistake in unifi plugin by @Peter-Maguire in #996
  • New plugin: Omada SDN import using OpenAPI (OMDSDNOPENAPI) by @xfilo in #1005
  • OMDSDNOPENAPI - Run command change due to plugin folder rename by @xfilo in #1006
  • OMDSDNOPENAPI - Fixed example in README.md, improved logging and code logic by @xfilo in #1007
  • OMDSDNOPENAPI - Refactored data collection into a class, improved code clarity with comments by @xfilo in #1008

New Contributors

Full Changelog: v25.2.8...v25.3.1

v25.2.8 - 🔽 Device filters and easier permission management

08 Feb 00:32
703ba5c
Compare
Choose a tag to compare

Hi there 👋

You can now configure Device filters on the main Devices listing screen with the UI_columns_filters setting. The app should also now reload a bit faster after you update devices and the app.log should contain more info for debugging when needed.

From the community @EinKantHolz helped figure out how to import DHCP leases files from Asus routers in a new guide, @labmonkey improved the ASUSWRT plugin and @vladaurosh helped with the Alpine upgrade and permissions setup, so you can specify PUID and PGID via docker compose variables.

One bigger change is the removal of the UNDIS plugin as there's now a simple way how to add devices manually and an accompanying ICMP plugin.

Have a look at what's more available in this release below. 🙂

image

🏘️ Community

  • @cvc90 fixed reverse proxy issues 🙏✨
  • @vladaurosh helped adding custom PUID and PGID variables and more 🙏✨

📚Docs updates

⚙Settings

  • A new UI_columns_filters setting so you can easily narrow down the devices list #953 🆕

🔌Plugins

  • UNDIS removal as covered by other functionality (manual device creation, ICMP plugin) ❌
  • ASUSWRT now supports custom ports - by @labmonkey 🙏✨

🖼 UI

  • New filters on the devices screen #953🆕
  • CRON format schedule validation check in Settings 🆕
  • IP address sorting in the Network screen was not working as expected #983

💠Core app updates

Internal changes affecting the whole app and usually significant to developers 👩‍💻👨‍💻

  • LOADED_PLUGINS docker compose variable #975 🆕
  • PUID and PGID docker compose variables #939 #974 🆕
  • Re-base to Alpine 3.21 with cleanup of the Dockerfile certificate management by @vladaurosh #968🙏✨
  • Support for regex validation in settings via the base64Regex property in elementOptions 🆕
  • API refresh between plugin execution to minimize Loading times on the devices page after editing a device #923

Other Info

🆕 - New features ✨ - Fixes & Improvements ⚠ - Possibly breaking changes 🧪 - Experimental/work in progress

What's Changed

  • Using busybox crond instead of dcron, starting it with s6 by @vladaurosh in #966
  • [ASUSWRT] Added router port to configurtation by @labmonkey in #970
  • Changed the "absolute URL" target to "relative URL" in common.js by @cvc90 in #976
  • Adding option to set user ID and GID by @vladaurosh in #980
  • Update default PUID and PGID, and update documentation by @vladaurosh in #981

Full Changelog: v24.1.19...v25.2.8

v25.1.19 - 🧪Experimental Home Assistant addon and AsusWRT import

19 Jan 12:16
Compare
Choose a tag to compare

Hey 👋

(re-release due to wrong tag)

This release brings you a new ASUSWRT Plugin to import devices from Asus routers by @labmonkey 🙏 Additionally, me and @alexbelgium have been working on enabling the installation of NetAlertX via a Home Assistant addon. This release contains fixes that will allow for ingress support (displaying the UI of NetAlertX) in Home Assistant. You can now also export your settings via the Maintenance section and there's more details displayed in the Plugins MAC columns.

image image
image image

🏘️ Community

⚙Settings

  • A new setting UI_TOPOLOGY_ORDER to change the order of devices in the Network view by the port number #949

🔌Plugins

  • A new ASUSWRT Plugin to import devices from Asus routers by @labmonkey 🙏🆕

🖼 UI

  • More information in MAC columns in plugins #951
  • Export and Import of the app.conf file via UI in Maintenance 🆕

Other Info

🆕 - New features ✨ - Fixes & Improvements ⚠ - Possibly breaking changes 🧪 - Experimental/work in progress

What's Changed

New Contributors

Full Changelog: v25.1.8...v24.1.19

v25.1.8 - ⚙️ Custom Device Properties and OpenWRT support

08 Jan 00:57
Compare
Choose a tag to compare

Happy new year! 🥳

Did you ever want to add some info to a device but none of the fields seemed right? 🤔 This release enables custom device properties where you can add any number of fields to a device. There are some predefined actions you can use and I might add things in the future as feedback trickles in. Read more about Custom Device Properties.

We also got a late Christmas present from @vaga9938 who developed the LUCIRPC plugin to import devices from OpenWRT 🎁

The release also contains some other minor improvements and fixes, so please check the full list of improvements below.

image

📚Docs updates

⚙Settings

  • New ICMP_IN_REGEX to include IPs to the ICMP (ping) scan to speed up the scan cycles 🆕

🔌Plugins

  • OpenWRT import via the LUCIRPC plugin by @vaga9938 🙏🆕
  • A new WOL plugin to automate Wake-On-Lan calls for down devices 🆕
  • ICMP didn't manage device online status #934
  • More robust FREEBOX device parsing to prevent errors #927
  • Custom names from Mikrotik fix in MKSCAN + cleanups by @kpolszewski 🙏✨

🖼 UI

  • A fix for archived devices still being displayed in the My devices listing #920
  • Network Site changed to dropdown for easier population #930
  • Displaying of the Sync Node field in the device details #931

💠Core app updates

Internal changes affecting the whole app and usually significant to developers 👩‍💻👨‍💻

  • You can now store custom properties on devices 🆕
  • Installation didn't create /app/log/plugins if /app/log was mounted #921

Other Info

🆕 - New features ✨ - Fixes & Improvements ⚠ - Possibly breaking changes 🧪 - Experimental/work in progress

What's Changed

  • Restore manual naming of static leases using comments for MKSCAN + cleanups by @kpolszewski in #940

New Contributors

Full Changelog: v24.12.23...v25.1.8