Current Changelog
26.4.1
(2026-04-22)
A big thank you to the following 3 contributors this last month:
Thanks to maintainers and others that helped with pull requests this month:
Breaking Change
Device
Webui
Bug
- Fix path to composer wrapper in ComposerHelper (#19508) - laf
- Failture counter limits need to be grater then 0 (#19504) - mpikzink
Cleanup
- Variant lowercase (#19503) - murrant
- Fix YamlDiscoveryField null key deprecation (#19502) - murrant
- Fix PHP deprecation message in port discovery (#19498) - murrant
Documentation
Misc
- Add Rittal hardware product number (#19494) - mpikzink
- Update software version to 26.4.0 (#19493) - laf
- Cleanup convert_delay (#19408) - mpikzink
26.4.0
(2026-04-20)
A big thank you to the following 36 contributors this last month:
- Jellyfrog (44)
- murrant (21)
- laf (18)
- dependabot (9)
- mpikzink (7)
- eskyuu (7)
- chris9951 (4)
- kakohegyi (4)
- eduardomozart (3)
- fbourqui (3)
- bdg-robert (2)
- Taarek (2)
- Lantizia (2)
- ciroiriarte (2)
- MelonicOverlord (1)
- anthonyp-cns (1)
- nsn-amagruder (1)
- base-zero (1)
- Palerm0 (1)
- shpokas (1)
- iliyavl (1)
- karrots (1)
- richard-ririe (1)
- Cormoran96 (1)
- Jannos-443 (1)
- redundantredundancy (1)
- Florent4C (1)
- as8net (1)
- JeevesTuxis (1)
- CKeckNorthIO (1)
- ShanethPatterson (1)
- VVelox (1)
- elherr (1)
- kivu8 (1)
- NightowlKr (1)
- shrank (1)
Thanks to maintainers and others that helped with pull requests this month:
- laf (61)
- murrant (56)
- Jellyfrog (22)
- copilot-pull-request-reviewer (4)
- VVelox (3)
Feature
Breaking Change
- Refactor api-access page to Laravel and improve security (#19431) - laf
- Added alerting operations (#19306) - laf
- Store raw date for transceivers (#18026) - murrant
Security
- Fix XSS in alert template list (#19486) - murrant
- Escape libvirt cli commands (#19485) - murrant
- Escape nfsen cli command (#19484) - murrant
- Escape App status (#19483) - murrant
- Add device permission check to trigger_device_discovery api function (#19477) - laf
- Updated device inventory page to escape values (#19448) - laf
- Validate hostname for add_device API call (#19447) - laf
- Fix user role & misc permission cleanups (#19429) - murrant
Device
- Add Support for Dell FluidFS NAS Systems (#19455) - MelonicOverlord
- Added Meraki CW support (#19406) - nsn-amagruder
- Show temperature and power graphs in device overview (#19405) - chris9951
- Add support for Exeltech transfer switch (#19324) - murrant
- Added two new temperature sensors related to the battery for Riello UPS/Netman (#19312) - Taarek
- Add TRB160 to supported device list in YAML (#19297) - Cormoran96
- Add RoomAlert 12s support and fix sensor naming on 32s (#19288) - redundantredundancy
- OcNOS 7 uses vendor sysObjectID, add EdgeCore (#19277) - JeevesTuxis
- Remove explicit setting of SnmpQuery options to defaults in Zyxelnwa (#19226) - eskyuu
- Added detection for Unifi UCG devices (#19193) - laf
- Added OS Support for Huber+Suhner Cubo (#18988) - kivu8
- Add support for Alaxala OS and Sensors (#18703) - NightowlKr
Webui
- Improve visual space for device actions (#19469) - murrant
- Added severity buttons to Alert widget filter (#19466) - laf
- Updated Widgets controller to check for user access (#19465) - laf
- Fix unhandled Oxidized ConnectionException causing CRITICAL crash on device config tab (#19443) - eduardomozart
- Use localized timezone for Last Polled and Last Discovered in Device Edit view (#19426) - eduardomozart
- Add 90-day availability bar to device overview (#19342) - Palerm0
- FDB tables don't show duplicate IPs (#19303) - murrant
- Permissions refinement (#19295) - murrant
- Remove duplicate font-size in geomap, improve accessibility (#19285) - as8net
- Added filter for sensors to filter for errors, warning, alert and unknown values (#18639) - shrank
- Add option for ports controller to use ARP/MAC table lookup for IPv4 neighbours (#16899) - eskyuu
Alerting
- Add alert rules for Windows resources, Zebra printer traps, and Dell DRAC sensors (#19397) - chris9951
- Enhance Microsoft Teams alert delivery: support new Workflow webhooks (#19293) - fbourqui
- Reset alerted flag when a new alert cycle begins (#19086) - ciroiriarte
- Add SNMP Trap alert transport (#19068) - ciroiriarte
- Add PagerTree Alert Transport (#19037) - elherr
Applications
- Update to support form factor, rpm, and over temp info from extend, update docs, minor poller fixes, and add more alert examples (#19169) - VVelox
Api
- Added ability to specify graph type to override system settings in api (#19343) - laf
- Device groups API: Allow device groups to contain an empty list of devices (#19299) - richard-ririe
Discovery
Authentication
- Socialite decouples token attribute lookup from OAuth scopes (#19296) - Jannos-443
Bug
- Fix poller modules perf graph error when a module has no override (#19490) - bdg-robert
- Fix wireless_rate graph missing $unit_long (#19489) - bdg-robert
- Fix edit ports page toggling checkboxes when pressing enter (#19475) - laf
- Added defaults to some OSPFv3 fields missing from Arista (#19473) - laf
- FIX Lenovo-xclarity FAN metrics (#19404) - kakohegyi
- Fix the new SSL page to show HTML on the days until expiry column (#19401) - base-zero
- Fix missing translations for SSL Certificates and Alert Map application settings (#19396) - chris9951
- Fix malformed builder fields in collection templates (#19376) - chris9951
- Fix the high/low limits for Ocnos sensors discovered via php (#19373) - laf
- Fix condition for logging topology change time (#19371) - Jellyfrog
- Correct services() relationship (#19369) - Jellyfrog
- Add access control for devices (#19367) - Jellyfrog
- Host variable assignment logic (#19366) - Jellyfrog
- Tunnel status label assignment logic (#19365) - Jellyfrog
- Fail2ban wrong variable in log message (#19363) - Jellyfrog
- Role name regex inconsistency (#19362) - Jellyfrog
- Check correct variable (#19361) - Jellyfrog
- Some fixes running commands outside dir (#19338) - murrant
- Fix Redis polling crash due to undefined array keys (#19335) - shpokas
- Fix hardcoded font color in device inventory tab for dark mode (#19328) - iliyavl
- Fix IPv4 address parsing error from malformed SNMP data (#19259) (#19326) - Jellyfrog
- More fixes to permissions PR (#19319) - murrant
- Fix show_services menu config (#19314) - murrant
- Fix bridge FDB discovery TypeError when dot1dBasePort is an array (#19248) (#19313) - Jellyfrog
- Fix MIB OID references in Equallogic (#19304) - Jellyfrog
- Fix OID name in Fortigate SNMP query (#19300) - eskyuu
- Fix ambiguous transport_id column in transport-groups query (#19294) - fbourqui
- Fix dynamic service templates not applied during device discovery (#19286) - Florent4C
- Fixed Axos sensor discovery due to capitalisation of OID (#19282) - laf
- Fix an issue with realtime graph (#19280) - murrant
- Fix ArpTable TypeError when Mac::parse() receives array instead of string (#19278) - Jellyfrog
- Cast ignore and disabled to integers in addService (#19276) - CKeckNorthIO
- Fix non-existent state name "dellme" for dell-powervault sensors (#19273) - Jellyfrog
- Fix TnmsneInfo model class not found in Coriant OS (#19272) - Jellyfrog
- Fix undefined variable $oids in MEF discovery (#19271) - Jellyfrog
- Fix undefined array key for HH3C transceiver bias threshold keys (#19268) - Jellyfrog
- Fix undefined array key 0 in commander-plus sensor state (#19267) - Jellyfrog
- Fix undefined array key in awplus NTP discovery (#19266) - Jellyfrog
- Fix undefined array key 1 in avtech sensor pre-cache (#19265) - Jellyfrog
- Fix undefined array key in arubaos FDB discovery (#19264) - Jellyfrog
- Fix Areca OS: isHex() receives null when serial is not set (#19263) - Jellyfrog
- Fix undefined variable $port in aos6 FDB table discovery (#19262) - Jellyfrog
- Fix undefined array key in adva_fsp3kr7 sensor pre-cache (#19261) - Jellyfrog
- Fix undefined array key 1 in adva_fsp150 sensor pre-cache (#19260) - Jellyfrog
- Fix dark mode readability for legacy tables (#19213) - ShanethPatterson
- Fix missing ENTITY-MIB parent index handling in cisco entity sensor dâĤ (#19211) - kakohegyi
- Cisco CBQoS discovery against missing table keys (#19209) - kakohegyi
- Fix timezone override in outages DT picker (#19156) - murrant
- STP port discovery BUG : fix pvst discovery (#18771) - kakohegyi
Refactor
- IPMI refactor (#19424) - murrant
- Add IfOperStatus enum for port ifOperStatus/ifAdminStatus fields (#19400) - Jellyfrog
- Remove snmp_hexstring() and hex2str() (#19392) - mpikzink
- Replace deprecated Request::get() with input() (#19370) - Jellyfrog
- Remove unused state_draw_graph column from state_translations (#19356) - Jellyfrog
- Replace dbFetchCell() with Eloquent in alert rules and user perms (#19340) - Jellyfrog
- Replace dbFetchCell() value lookups with Eloquent (#19337) - Jellyfrog
- Replace dbFetchCell() COUNT queries with Eloquent (#19336) - Jellyfrog
- Replace dbUpdate() with Eloquent in two-column WHERE form handlers (#19331) - Jellyfrog
- Replace dbUpdate() with Eloquent in simple single-WHERE form handlers (#19330) - Jellyfrog
- Replace dbUpdate() with Eloquent in multi-field form handlers (#19329) - Jellyfrog
- Yaml, use SnmpQuery (#17371) - murrant
Cleanup
- Remove Oxidized config validation (#19476) - laf
- Cleanup device_by_name (#19434) - mpikzink
- Cleanup get_sensor_rrd (#19433) - mpikzink
- Cleanup step2 (#19428) - mpikzink
- Cleanup unused functions (#19422) - mpikzink
- Refractor gethostbyid (#19407) - mpikzink
- Add Collection generic type parameters under app/ (#19380) - Jellyfrog
- Convert Raisecom and Raisecom ROS sensors from PHP to YAML definitions (#19360) - Jellyfrog
- Convert nokia-isam temperature sensor from PHP to YAML (#19359) - Jellyfrog
- Improve IPv4 discovery detection for out of order OIDs (#19354) - eskyuu
- Fix OID order in snmprec files (#19353) - eskyuu
- Remove unused deviceArray function from SnmpQueryInterface (#19320) - eskyuu
- Migrate APC state discovery to modern API (#19301) - Jellyfrog
- Replace dbBulkInsert() with Eloquent (#19207) - Jellyfrog
- Convert all dbDelete() calls to Eloquent model methods (#19206) - Jellyfrog
Documentation
Tests
- Clear out phpunit bootstrap (#19412) - murrant
- Add PHPStan level 6 check on new PHP files in PRs (#19410) - Jellyfrog
- Add phpunit extension (#19402) - Jellyfrog
Misc
- Handle null last_polled and last_discovered values (#19450) - Taarek
- Update collation checks logic to use NOT IN and add utf8mb4_uca1400_aâĤ (#19440) - anthonyp-cns
- Validate utf8mb4_uca1400_ai_ci (#19437) - Lantizia
- Remove del_dev_attrib (#19418) - mpikzink
- Add IPv6 cleanup to maintenance:cleanup-networks command (#19318) - karrots
Internal Features
Dependencies
- Bump follow-redirects from 1.15.11 to 1.16.0 (#19451) - dependabot
- Bump phpseclib/phpseclib from 3.0.50 to 3.0.51 (#19430) - dependabot
- Bump axios from 1.13.5 to 1.15.0 (#19421) - dependabot
- Bump lodash from 4.17.23 to 4.18.1 (#19399) - dependabot
- Bump vite from 6.4.1 to 6.4.2 (#19395) - dependabot
- Bump serialize-javascript and terser-webpack-plugin (#19352) - dependabot
- Bump picomatch (#19323) - dependabot
- PHP Dependency updates (#19305) - Jellyfrog
- Bump league/commonmark from 2.8.1 to 2.8.2 (#19283) - dependabot
- Bump phpseclib/phpseclib from 3.0.48 to 3.0.50 (#19279) - dependabot
26.4.0
(2026-04-19)
A big thank you to the following 36 contributors this last month:
- Jellyfrog (44)
- murrant (21)
- laf (18)
- dependabot (9)
- mpikzink (7)
- eskyuu (7)
- chris9951 (4)
- kakohegyi (4)
- eduardomozart (3)
- fbourqui (3)
- bdg-robert (2)
- Taarek (2)
- Lantizia (2)
- ciroiriarte (2)
- MelonicOverlord (1)
- anthonyp-cns (1)
- nsn-amagruder (1)
- base-zero (1)
- Palerm0 (1)
- shpokas (1)
- iliyavl (1)
- karrots (1)
- richard-ririe (1)
- Cormoran96 (1)
- Jannos-443 (1)
- redundantredundancy (1)
- Florent4C (1)
- as8net (1)
- JeevesTuxis (1)
- CKeckNorthIO (1)
- ShanethPatterson (1)
- VVelox (1)
- elherr (1)
- kivu8 (1)
- NightowlKr (1)
- shrank (1)
Thanks to maintainers and others that helped with pull requests this month:
- laf (61)
- murrant (56)
- Jellyfrog (22)
- copilot-pull-request-reviewer (4)
- VVelox (3)
Feature
Breaking Change
- Refactor api-access page to Laravel and improve security (#19431) - laf
- Added alerting operations (#19306) - laf
- Store raw date (#18026) - murrant
Security
- Fix XSS in alert template list (#19486) - murrant
- Escape libvirt cli commands (#19485) - murrant
- Escape nfsen cli command (#19484) - murrant
- Escape App status (#19483) - murrant
- Add device permission check to trigger_device_discovery api function (#19477) - laf
- Updated device inventory page to escape values (#19448) - laf
- Validate hostname for add_device API call (#19447) - laf
- Fix user role & misc permission cleanups (#19429) - murrant
Device
- Add Support for Dell FluidFS NAS Systems (#19455) - MelonicOverlord
- Added Meraki CW support (#19406) - nsn-amagruder
- Show temperature and power graphs in device overview (#19405) - chris9951
- Add support for Exeltech transfer switch (#19324) - murrant
- Added two new temperature sensors related to the battery for Riello UPS/Netman (#19312) - Taarek
- Add TRB160 to supported device list in YAML (#19297) - Cormoran96
- Add RoomAlert 12s support and fix sensor naming on 32s (#19288) - redundantredundancy
- OcNOS 7 uses vendor sysObjectID, add EdgeCore (#19277) - JeevesTuxis
- Remove explicit setting of SnmpQuery options to defaults in Zyxelnwa (#19226) - eskyuu
- Added detection for Unifi UCG devices (#19193) - laf
- Added OS Support for Huber+Suhner Cubo (#18988) - kivu8
- Add support for Alaxala OS and Sensors (#18703) - NightowlKr
Webui
- Improve visual space for device actions (#19469) - murrant
- Added severity buttons to Alert widget filter (#19466) - laf
- Updated Widgets controller to check for user access (#19465) - laf
- Fix unhandled Oxidized ConnectionException causing CRITICAL crash on device config tab (#19443) - eduardomozart
- Use localized timezone for Last Polled and Last Discovered in Device Edit view (#19426) - eduardomozart
- Add 90-day availability bar to device overview (#19342) - Palerm0
- FDB tables don't show duplicate IPs (#19303) - murrant
- Permissions refinement (#19295) - murrant
- Remove duplicate font-size in geomap, improve accessibility (#19285) - as8net
- Added filter for sensors to filter for errors, warning, alert and unknown values (#18639) - shrank
- Add option for ports controller to use ARP/MAC table lookup for IPv4 neighbours (#16899) - eskyuu
Alerting
- Add alert rules for Windows resources, Zebra printer traps, and Dell DRAC sensors (#19397) - chris9951
- Enhance Microsoft Teams alert delivery: support new Workflow webhooks (#19293) - fbourqui
- Reset alerted flag when a new alert cycle begins (#19086) - ciroiriarte
- Add SNMP Trap alert transport (#19068) - ciroiriarte
- Add PagerTree Alert Transport (#19037) - elherr
Applications
- Update to support form factor, rpm, and over temp info from extend, update docs, minor poller fixes, and add more alert examples (#19169) - VVelox
Api
- Added ability to specify graph type to override system settings in api (#19343) - laf
- Device groups API: Allow device groups to contain an empty list of devices (#19299) - richard-ririe
Discovery
Authentication
- Socialite decouples token attribute lookup from OAuth scopes (#19296) - Jannos-443
Bug
- Fix poller modules perf graph error when a module has no override (#19490) - bdg-robert
- Fix wireless_rate graph missing $unit_long (#19489) - bdg-robert
- Fix edit ports page toggling checkboxes when pressing enter (#19475) - laf
- Added defaults to some OSPFv3 fields missing from Arista (#19473) - laf
- FIX Lenovo-xclarity FAN metrics (#19404) - kakohegyi
- Fix the new SSL page to show HTML on the days until expiry column (#19401) - base-zero
- Fix missing translations for SSL Certificates and Alert Map application settings (#19396) - chris9951
- Fix malformed builder fields in collection templates (#19376) - chris9951
- Fix the high/low limits for Ocnos sensors discovered via php (#19373) - laf
- Fix condition for logging topology change time (#19371) - Jellyfrog
- Correct services() relationship (#19369) - Jellyfrog
- Add access control for devices (#19367) - Jellyfrog
- Host variable assignment logic (#19366) - Jellyfrog
- Tunnel status label assignment logic (#19365) - Jellyfrog
- Fail2ban wrong variable in log message (#19363) - Jellyfrog
- Role name regex inconsistency (#19362) - Jellyfrog
- Check correct variable (#19361) - Jellyfrog
- Some fixes running commands outside dir (#19338) - murrant
- Fix Redis polling crash due to undefined array keys (#19335) - shpokas
- Fix hardcoded font color in device inventory tab for dark mode (#19328) - iliyavl
- Fix IPv4 address parsing error from malformed SNMP data (#19259) (#19326) - Jellyfrog
- More fixes to permissions PR (#19319) - murrant
- Fix show_services menu config (#19314) - murrant
- Fix bridge FDB discovery TypeError when dot1dBasePort is an array (#19248) (#19313) - Jellyfrog
- Fix MIB OID references in Equallogic (#19304) - Jellyfrog
- Fix OID name in Fortigate SNMP query (#19300) - eskyuu
- Fix ambiguous transport_id column in transport-groups query (#19294) - fbourqui
- Fix dynamic service templates not applied during device discovery (#19286) - Florent4C
- Fixed Axos sensor discovery due to capitalisation of OID (#19282) - laf
- Fix an issue with realtime graph (#19280) - murrant
- Fix ArpTable TypeError when Mac::parse() receives array instead of string (#19278) - Jellyfrog
- Cast ignore and disabled to integers in addService (#19276) - CKeckNorthIO
- Fix non-existent state name "dellme" for dell-powervault sensors (#19273) - Jellyfrog
- Fix TnmsneInfo model class not found in Coriant OS (#19272) - Jellyfrog
- Fix undefined variable $oids in MEF discovery (#19271) - Jellyfrog
- Fix undefined array key for HH3C transceiver bias threshold keys (#19268) - Jellyfrog
- Fix undefined array key 0 in commander-plus sensor state (#19267) - Jellyfrog
- Fix undefined array key in awplus NTP discovery (#19266) - Jellyfrog
- Fix undefined array key 1 in avtech sensor pre-cache (#19265) - Jellyfrog
- Fix undefined array key in arubaos FDB discovery (#19264) - Jellyfrog
- Fix Areca OS: isHex() receives null when serial is not set (#19263) - Jellyfrog
- Fix undefined variable $port in aos6 FDB table discovery (#19262) - Jellyfrog
- Fix undefined array key in adva_fsp3kr7 sensor pre-cache (#19261) - Jellyfrog
- Fix undefined array key 1 in adva_fsp150 sensor pre-cache (#19260) - Jellyfrog
- Fix dark mode readability for legacy tables (#19213) - ShanethPatterson
- Fix missing ENTITY-MIB parent index handling in cisco entity sensor dâĤ (#19211) - kakohegyi
- Cisco CBQoS discovery against missing table keys (#19209) - kakohegyi
- Fix timezone override in outages DT picker (#19156) - murrant
- STP port discovery BUG : fix pvst discovery (#18771) - kakohegyi
Refactor
- IPMI refactor (#19424) - murrant
- Add IfOperStatus enum for port ifOperStatus/ifAdminStatus fields (#19400) - Jellyfrog
- Remove snmp_hexstring() and hex2str() (#19392) - mpikzink
- Replace deprecated Request::get() with input() (#19370) - Jellyfrog
- Remove unused state_draw_graph column from state_translations (#19356) - Jellyfrog
- Replace dbFetchCell() with Eloquent in alert rules and user perms (#19340) - Jellyfrog
- Replace dbFetchCell() value lookups with Eloquent (#19337) - Jellyfrog
- Replace dbFetchCell() COUNT queries with Eloquent (#19336) - Jellyfrog
- Replace dbUpdate() with Eloquent in two-column WHERE form handlers (#19331) - Jellyfrog
- Replace dbUpdate() with Eloquent in simple single-WHERE form handlers (#19330) - Jellyfrog
- Replace dbUpdate() with Eloquent in multi-field form handlers (#19329) - Jellyfrog
- Yaml, use SnmpQuery (#17371) - murrant
Cleanup
- Remove Oxidized config validation (#19476) - laf
- Cleanup device_by_name (#19434) - mpikzink
- Cleanup get_sensor_rrd (#19433) - mpikzink
- Cleanup step2 (#19428) - mpikzink
- Cleanup unused functions (#19422) - mpikzink
- Refractor gethostbyid (#19407) - mpikzink
- Add Collection generic type parameters under app/ (#19380) - Jellyfrog
- Convert Raisecom and Raisecom ROS sensors from PHP to YAML definitions (#19360) - Jellyfrog
- Convert nokia-isam temperature sensor from PHP to YAML (#19359) - Jellyfrog
- Improve IPv4 discovery detection for out of order OIDs (#19354) - eskyuu
- Fix OID order in snmprec files (#19353) - eskyuu
- Remove unused deviceArray function from SnmpQueryInterface (#19320) - eskyuu
- Migrate APC state discovery to modern API (#19301) - Jellyfrog
- Replace dbBulkInsert() with Eloquent (#19207) - Jellyfrog
- Convert all dbDelete() calls to Eloquent model methods (#19206) - Jellyfrog
Documentation
Tests
- Clear out phpunit bootstrap (#19412) - murrant
- Add PHPStan level 6 check on new PHP files in PRs (#19410) - Jellyfrog
- Add phpunit extension (#19402) - Jellyfrog
Misc
- Handle null last_polled and last_discovered values (#19450) - Taarek
- Update collation checks logic to use NOT IN and add utf8mb4_uca1400_aâĤ (#19440) - anthonyp-cns
- Validate utf8mb4_uca1400_ai_ci (#19437) - Lantizia
- Remove del_dev_attrib (#19418) - mpikzink
- Add IPv6 cleanup to maintenance:cleanup-networks command (#19318) - karrots
Internal Features
Dependencies
- Bump follow-redirects from 1.15.11 to 1.16.0 (#19451) - dependabot
- Bump phpseclib/phpseclib from 3.0.50 to 3.0.51 (#19430) - dependabot
- Bump axios from 1.13.5 to 1.15.0 (#19421) - dependabot
- Bump lodash from 4.17.23 to 4.18.1 (#19399) - dependabot
- Bump vite from 6.4.1 to 6.4.2 (#19395) - dependabot
- Bump serialize-javascript and terser-webpack-plugin (#19352) - dependabot
- Bump picomatch (#19323) - dependabot
- PHP Dependency updates (#19305) - Jellyfrog
- Bump league/commonmark from 2.8.1 to 2.8.2 (#19283) - dependabot
- Bump phpseclib/phpseclib from 3.0.48 to 3.0.50 (#19279) - dependabot
26.4.0
(2026-04-19)
A big thank you to the following 36 contributors this last month:
- Jellyfrog (44)
- murrant (21)
- laf (18)
- dependabot (9)
- mpikzink (7)
- eskyuu (7)
- chris9951 (4)
- kakohegyi (4)
- eduardomozart (3)
- fbourqui (3)
- bdg-robert (2)
- Taarek (2)
- Lantizia (2)
- ciroiriarte (2)
- MelonicOverlord (1)
- anthonyp-cns (1)
- nsn-amagruder (1)
- base-zero (1)
- Palerm0 (1)
- shpokas (1)
- iliyavl (1)
- karrots (1)
- richard-ririe (1)
- Cormoran96 (1)
- Jannos-443 (1)
- redundantredundancy (1)
- Florent4C (1)
- as8net (1)
- JeevesTuxis (1)
- CKeckNorthIO (1)
- ShanethPatterson (1)
- VVelox (1)
- elherr (1)
- kivu8 (1)
- NightowlKr (1)
- shrank (1)
Thanks to maintainers and others that helped with pull requests this month:
- laf (61)
- murrant (56)
- Jellyfrog (22)
- copilot-pull-request-reviewer (4)
- VVelox (3)
Feature
- Small improvements to the ssl certificate tool (#19382) - laf
- Added SSL Certificate management (#19224) - laf
- Auth Roles management (#19195) - murrant
Breaking Change
- Refactor api-access page to Laravel and improve security (#19431) - laf
- Added alerting operations (#19306) - laf
- Store raw date (#18026) - murrant
Security
- Fix XSS in alert template list (#19486) - murrant
- Escape libvirt cli commands (#19485) - murrant
- Escape nfsen cli command (#19484) - murrant
- Escape App status (#19483) - murrant
- Updated device inventory page to escape values (#19448) - laf
- Validate hostname for add_device API call (#19447) - laf
- Fix user role & misc permission cleanups (#19429) - murrant
Device
- Added defaults to some OSPFv3 fields missing from Arista (#19473) - laf
- Add Support for Dell FluidFS NAS Systems (#19455) - MelonicOverlord
- CW9176 Device Discovery (#19406) - nsn-amagruder
- Show temperature and power graphs in device overview (#19405) - chris9951
- FIX Lenovo-xclarity FAN metrics (#19404) - kakohegyi
- Exeltech transfer switch (#19324) - murrant
- Added two new temperature sensors related to the battery for Riello UPS/Netman (#19312) - Taarek
- Add TRB160 to supported device list in YAML (#19297) - Cormoran96
- Add RoomAlert 12s support and fix sensor naming on 32s (#19288) - redundantredundancy
- Fixed Axos sensor discovery due to capitalisation of OID (#19282) - laf
- OcNOS 7 uses vendor sysObjectID, add EdgeCore (#19277) - JeevesTuxis
- Remove explicit setting of SnmpQuery options to defaults in Zyxelnwa (#19226) - eskyuu
- Fix missing ENTITY-MIB parent index handling in cisco entity sensor dâĤ (#19211) - kakohegyi
- Cisco CBQoS discovery against missing table keys (#19209) - kakohegyi
- Added detection for Unifi UCG devices (#19193) - laf
- Added OS Support for Huber+Suhner Cubo (#18988) - kivu8
- Add support for Alaxala OS and Sensors (#18703) - NightowlKr
Webui
- Fix wireless_rate graph missing $unit_long (#19489) - bdg-robert
- Fix edit ports page toggling checkboxes when pressing enter (#19475) - laf
- Improve visual space for device actions (#19469) - murrant
- Added severity buttons to Alert widget filter (#19466) - laf
- Updated Widgets controller to check for user access (#19465) - laf
- Update Oxidized validation to support missing native configuration parameters (#19446) - eduardomozart
- Fix unhandled Oxidized ConnectionException causing CRITICAL crash on device config tab (#19443) - eduardomozart
- Fix missing translations for SSL Certificates and Alert Map application settings (#19396) - chris9951
- Add 90-day availability bar to device overview (#19342) - Palerm0
- Fix hardcoded font color in device inventory tab for dark mode (#19328) - iliyavl
- More fixes to permissions PR (#19319) - murrant
- Fix show_services menu config (#19314) - murrant
- FDB tables don't show duplicate IPs (#19303) - murrant
- Permissions refinement (#19295) - murrant
- Fix ambiguous transport_id column in transport-groups query (#19294) - fbourqui
- Remove duplicate font-size in geomap, improve accessibility (#19285) - as8net
- Fix dark mode readability for legacy tables (#19213) - ShanethPatterson
- Added filter for sensors to filter for errors, warning, alert and unknown values (#18639) - shrank
- Add option for ports controller to use ARP/MAC table lookup for IPv4 neighbours (#16899) - eskyuu
Alerting
- Enhance Microsoft Teams alert delivery: support new Workflow webhooks (#19293) - fbourqui
- Reset alerted flag when a new alert cycle begins (#19086) - ciroiriarte
- Add SNMP Trap alert transport (#19068) - ciroiriarte
- Add PagerTree Alert Transport (#19037) - elherr
Applications
- Update to support form factor, rpm, and over temp info from extend, update docs, minor poller fixes, and add more alert examples (#19169) - VVelox
Api
- Add device permission check to trigger_device_discovery api function (#19477) - laf
- Added ability to specify graph type to override system settings in api (#19343) - laf
- Device groups API: Allow device groups to contain an empty list of devices (#19299) - richard-ririe
Discovery
Bug
- Fix poller modules perf graph error when a module has no override (#19490) - bdg-robert
- Fix malformed builder fields in collection templates (#19376) - chris9951
- Fix the high/low limits for Ocnos sensors discovered via php (#19373) - laf
- Fix condition for logging topology change time (#19371) - Jellyfrog
- Correct services() relationship (#19369) - Jellyfrog
- Add access control for devices (#19367) - Jellyfrog
- Host variable assignment logic (#19366) - Jellyfrog
- Tunnel status label assignment logic (#19365) - Jellyfrog
- Fail2ban wrong variable in log message (#19363) - Jellyfrog
- Role name regex inconsistency (#19362) - Jellyfrog
- Check correct variable (#19361) - Jellyfrog
- Some fixes running commands outside dir (#19338) - murrant
- Fix bridge FDB discovery TypeError when dot1dBasePort is an array (#19248) (#19313) - Jellyfrog
- Fix MIB OID references in Equallogic (#19304) - Jellyfrog
- Fix OID name in Fortigate SNMP query (#19300) - eskyuu
- Fix an issue with realtime graph (#19280) - murrant
- Fix ArpTable TypeError when Mac::parse() receives array instead of string (#19278) - Jellyfrog
- Cast ignore and disabled to integers in addService (#19276) - CKeckNorthIO
- Fix non-existent state name "dellme" for dell-powervault sensors (#19273) - Jellyfrog
- Fix TnmsneInfo model class not found in Coriant OS (#19272) - Jellyfrog
- Fix undefined variable $oids in MEF discovery (#19271) - Jellyfrog
- Fix undefined variable $port in aos6 FDB table discovery (#19262) - Jellyfrog
- Fix timezone override in outages DT picker (#19156) - murrant
Refactor
- IPMI refactor (#19424) - murrant
- Add IfOperStatus enum for port ifOperStatus/ifAdminStatus fields (#19400) - Jellyfrog
- Remove snmp_hexstring() and hex2str() (#19392) - mpikzink
- Replace deprecated Request::get() with input() (#19370) - Jellyfrog
- Remove unused state_draw_graph column from state_translations (#19356) - Jellyfrog
- Replace dbFetchCell() with Eloquent in alert rules and user perms (#19340) - Jellyfrog
- Replace dbFetchCell() value lookups with Eloquent (#19337) - Jellyfrog
- Replace dbFetchCell() COUNT queries with Eloquent (#19336) - Jellyfrog
- Replace dbUpdate() with Eloquent in two-column WHERE form handlers (#19331) - Jellyfrog
- Replace dbUpdate() with Eloquent in simple single-WHERE form handlers (#19330) - Jellyfrog
- Replace dbUpdate() with Eloquent in multi-field form handlers (#19329) - Jellyfrog
- Yaml, use SnmpQuery (#17371) - murrant
Cleanup
- Remove Oxidized config validation (#19476) - laf
- Cleanup device_by_name (#19434) - mpikzink
- Cleanup get_sensor_rrd (#19433) - mpikzink
- Cleanup step2 (#19428) - mpikzink
- Cleanup unused functions (#19422) - mpikzink
- Refractor gethostbyid (#19407) - mpikzink
- Add Collection generic type parameters under app/ (#19380) - Jellyfrog
- Convert Raisecom and Raisecom ROS sensors from PHP to YAML definitions (#19360) - Jellyfrog
- Convert nokia-isam temperature sensor from PHP to YAML (#19359) - Jellyfrog
- Improve IPv4 discovery detection for out of order OIDs (#19354) - eskyuu
- Fix OID order in snmprec files (#19353) - eskyuu
- Migrate APC state discovery to modern API (#19301) - Jellyfrog
- Replace dbBulkInsert() with Eloquent (#19207) - Jellyfrog
- Convert all dbDelete() calls to Eloquent model methods (#19206) - Jellyfrog
Tests
- Clear out phpunit bootstrap (#19412) - murrant
- Add PHPStan level 6 check on new PHP files in PRs (#19410) - Jellyfrog
- Add phpunit extension (#19402) - Jellyfrog
Misc
- Handle null last_polled and last_discovered values (#19450) - Taarek
- Update collation checks logic to use NOT IN and add utf8mb4_uca1400_aâĤ (#19440) - anthonyp-cns
- Validate utf8mb4_uca1400_ai_ci (#19437) - Lantizia
- Use localized timezone for Last Polled and Last Discovered in Device Edit view (#19426) - eduardomozart
- Remove del_dev_attrib (#19418) - mpikzink
- Fix the new SSL page to show HTML on the days until expiry column (#19401) - base-zero
- Add alert rules for Windows resources, Zebra printer traps, and Dell DRAC sensors (#19397) - chris9951
- Update SNMPv3 auth/priv example in docs (#19385) - Lantizia
- Fix Redis polling crash due to undefined array keys (#19335) - shpokas
- Fix IPv4 address parsing error from malformed SNMP data (#19259) (#19326) - Jellyfrog
- Remove unused deviceArray function from SnmpQueryInterface (#19320) - eskyuu
- Add IPv6 cleanup to maintenance:cleanup-networks command (#19318) - karrots
- Socialite decouples token attribute lookup from OAuth scopes (#19296) - Jannos-443
- Fix dynamic service templates not applied during device discovery (#19286) - Florent4C
- Fix undefined array key for HH3C transceiver bias threshold keys (#19268) - Jellyfrog
- Fix undefined array key 0 in commander-plus sensor state (#19267) - Jellyfrog
- Fix undefined array key in awplus NTP discovery (#19266) - Jellyfrog
- Fix undefined array key 1 in avtech sensor pre-cache (#19265) - Jellyfrog
- Fix undefined array key in arubaos FDB discovery (#19264) - Jellyfrog
- Fix Areca OS: isHex() receives null when serial is not set (#19263) - Jellyfrog
- Fix undefined array key in adva_fsp3kr7 sensor pre-cache (#19261) - Jellyfrog
- Fix undefined array key 1 in adva_fsp150 sensor pre-cache (#19260) - Jellyfrog
- STP port discovery BUG : fix pvst discovery (#18771) - kakohegyi
Internal Features
Dependencies
- Bump follow-redirects from 1.15.11 to 1.16.0 (#19451) - dependabot
- Bump phpseclib/phpseclib from 3.0.50 to 3.0.51 (#19430) - dependabot
- Bump axios from 1.13.5 to 1.15.0 (#19421) - dependabot
- Bump lodash from 4.17.23 to 4.18.1 (#19399) - dependabot
- Bump vite from 6.4.1 to 6.4.2 (#19395) - dependabot
- Bump serialize-javascript and terser-webpack-plugin (#19352) - dependabot
- Bump picomatch (#19323) - dependabot
- PHP Dependency updates (#19305) - Jellyfrog
- Bump league/commonmark from 2.8.1 to 2.8.2 (#19283) - dependabot
- Bump phpseclib/phpseclib from 3.0.48 to 3.0.50 (#19279) - dependabot
26.3.1
(2026-03-17)
A big thank you to the following 3 contributors this last month:
Thanks to maintainers and others that helped with pull requests this month:
- laf (2)
- murrant (1)
- copilot-pull-request-reviewer (1)
Bug
- Fixed health alert toggle button in settings (#19234) - laf
- Fix device wireless sensors (#19231) - murrant
Cleanup
26.3.0
(2026-03-16)
A big thank you to the following 37 contributors this last month:
- laf (23)
- murrant (19)
- Jellyfrog (18)
- chris9951 (9)
- eskyuu (7)
- sandap1 (4)
- kakohegyi (3)
- dependabot (3)
- VVelox (2)
- ciroiriarte (2)
- trakennedy (1)
- dgodglick (1)
- adadevlabs (1)
- gmarsay (1)
- dorkmatt (1)
- matemfromrussia (1)
- xinyumoe (1)
- octalparrot (1)
- Fehler12 (1)
- electrocret (1)
- peejaychilds (1)
- lrizzi (1)
- scamp (1)
- brianegge (1)
- erdems (1)
- Serazio (1)
- evheros (1)
- mhajder (1)
- shrank (1)
- Jannos-443 (1)
- glennmatth (1)
- peelman (1)
- freddy36 (1)
- Cormoran96 (1)
- Yoyasp (1)
- bennetgallein (1)
- slashdoom (1)
Thanks to maintainers and others that helped with pull requests this month:
Breaking Change
- [Procurve] New sensor "PoE Power Total" (#19188) - gmarsay
- Remove netcmd ajax (#19131) - murrant
- Cyberpower sensor alert updates (#19122) - Fehler12
Device
- Fixed sensor detection and divisor (#19203) - laf
- Tuning Cisco discovery (#19196) - kakohegyi
- Correct fsSystemElectricalSourceIsNormal state mappings (#19191) - dgodglick
- Add additional power sensors for ArubaOS-CX - PoE (#19189) - adadevlabs
- Microsens-g6 Fix issue #19146 (#19165) - sandap1
- Add additional support for FS.com Industrial switches (#19160) - dorkmatt
- Added support for XCP-NG Virtual Machines (#19158) - laf
- Updated Yunshan device os discovery yaml (#19155) - laf
- Added Eltex MES5324A rev. C1 support (#19151) - matemfromrussia
- Fix JetStream FDB port mapping using ifIndex lookup (#19127) - octalparrot
- Enhance Netagent2 - add UPS estimated runtime (#19112) - sandap1
- Enhancing support for MOXA EDS-528E / EDS-510E (#19109) - sandap1
- Add Opengear Lighthouse support (#19107) - peejaychilds
- Added support for PacketPower Enterprise Gateways (#19106) - laf
- Remove Unifi connection quality graph (#19104) - chris9951
- Filter Cisco reserved VLANs at discovery time (#19097) - kakohegyi
- Updated mbgLtNgRefclockType mbg-ltos6 sensor state definitions (#19074) - laf
- Updated Cisco transceiver container list (#19065) - laf
- VOSS switch discovery of fan and powersupplies giving errors in eventlog (#19063) - evheros
- Fix GAIA Checkpoint CPU (#19060) - murrant
- Enhancing support for MOXA PT-7528 / IKS-6728 / EDS-G512 (#19017) - sandap1
- Add FS Switch Campus S3410 Series (#18955) - glennmatth
- Fix TiMOS BGP established time (#18826) - peelman
- Improve edgecos support (#18813) - freddy36
- Improve BGP peer handling for incomplete data (#18812) - Cormoran96
- Add sensor support for GNSS on IOS-XR devices (#17772) - slashdoom
Webui
- Stop use of xss in device show config (#19218) - laf
- Updated graph background when dark mode used (#19201) - laf
- Modernise device edit health page (#19162) - laf
- Fix 2FA QR code scanning in dark mode (#19141) - murrant
- Fix SQL query when looking at all outages (#19116) - eskyuu
- Updated links to ports from Device overview page (#19067) - laf
- Fix alert log widget rule name (#19062) - murrant
- Improve the usability of the dashboard drag/drop widgets (#19055) - laf
- Add search to device ports tab (#18997) - Jannos-443
- Set timezone display based on user preference (#18977) - murrant
- Device-overview add clickable email & underline coordinates (#18605) - bennetgallein
Alerting
- Use FQDN for EHLO/HELO greeting per RFC2821 (#19084) - ciroiriarte
Snmp Traps
- SNMP Trap: Add SNMP trap handler for PowerNet-MIB communicationEstablished and ApcLowBattery (#19225) - chris9951
- Use 'trap' log type in Zebra printer handlers (#19194) - chris9951
- SNMP Trap Handler: Extend German SNMP trap translations for Zebra printers (#19185) - chris9951
- SNMP Trap Handler: Apc ups test and discharge traps (#19183) - chris9951
- Add additional German translations for Zebra SNMP trap handler (#19171) - chris9951
- Adds SNMP trap handlers for Zebra Link-OS label printers (#19061) - chris9951
Applications
Api
Discovery
Bug
- Modernise service discovery (#19212) - laf
- Fix service check_mssql_health using incorrect variable (#19205) - trakennedy
- Check variable is set for application metrics (#19192) - laf
- Fix DivisionByZeroError in Billing::getPredictedUsage when $since is 0 (#19142) - xinyumoe
- Fix phpstan issues in Http Controllers (#19139) - Jellyfrog
- Make sure timezone is set before trying to use it (#19129) - murrant
- Fix splunk invalid function reference (#19100) - murrant
- Cisco FDB discovery BUG (#19095) - kakohegyi
- Remove stray "; causing JS syntax error in device syslog filters (#19090) - brianegge
- Add missing xmlns declaration to utax.svg (#19083) - ciroiriarte
- Fix LLDP-MIB discovery (#19078) - murrant
- Fix entries with no port (#19004) - shrank
Refactor
- Modernize ip-system-stats module (#19200) - murrant
- Convert some sensor snmp_get() calls to SnmpQuery (#19186) - Jellyfrog
- More granular permissions (RBAC pre-requisite) (#19135) - murrant
- Convert Cisco BGP peer poll to use snmpwalk and SnmpQuery (#19027) - eskyuu
- Implement WirelessSensorType enum (#19000) - Jellyfrog
- Mac accounting module (#18950) - murrant
- Timezone handling fixes and documentation (#18802) - eskyuu
Cleanup
- Replace dbQuery and dbFetchColumn with Eloquent equivalents (#19210) - Jellyfrog
- Fix vrf-lite warning (#19181) - murrant
- Fix phpstan baseline issues in LibreNMS/Data/Store (#19180) - Jellyfrog
- Fix phpstan baseline issues in ComposerHelper and InternalHttpRequest (#19175) - Jellyfrog
- Fix phpstan baseline issues in LibreNMS/Device (#19172) - Jellyfrog
- Fix phpstan baseline issues in LibreNMS/Modules (#19170) - Jellyfrog
- Fix phpstan baseline issues in LibreNMS/OS (#19168) - Jellyfrog
- Removed mib: from discovery (#19152) - laf
- Use Sensor enum in device graph pages (#19149) - Jellyfrog
- Use Sensor enum in device health pages (#19147) - Jellyfrog
- Fix phpstan baseline entries for LibreNMS/Util (#19140) - Jellyfrog
- Replace Model::make() with new Model() in controllers (#19138) - Jellyfrog
- Fix phpstan baseline issues in DeviceRelatedModel and UserPref (#19137) - Jellyfrog
- Fix type hints for authSSOGetAttr() and set_null() to remove phpstan âĤ (#19136) - Jellyfrog
- Use Sensor enum in device overview pages (#19130) - Jellyfrog
- Cleanup null as array key (#19128) - murrant
- Narrow ip_or_hostname validation (#19118) - murrant
- Clean up some unused time and timezone relates variables in http controllers (#19114) - eskyuu
- Cleanup permissions when user is deleted (#19088) - erdems
- F5-ltm fix undefined variables (#19071) - murrant
- Remove explicit default null from config definition (#19066) - eskyuu
- Remove unused dispatcher legacy settings (#19058) - eskyuu
- Updated supercap to avoid being used to detect other devices (#19056) - laf
- Code cleanup (#19052) - murrant
- Normalize enum case names to PascalCase convention (#19036) - Jellyfrog
Documentation
- Add note/work around to GPSD extend being slow thanks to gpspipe and explain mode int (#19134) - VVelox
- Fixed mariadb configuration doc for Debian 13 (#19105) - lrizzi
- Add example for extending alert templates (#19064) - Serazio
- Updated docs to reflect use of MIB::OID usage in yaml and code (#19051) - laf
- Clarifies API routes and updates documentation (#19044) - mhajder
Misc
- Fix OS level SNMP repeaters (#19117) - electrocret
- Device edit legacy urls (#19103) - chris9951
- Fix iftype graph background (#19099) - scamp
- Update to allow maintenance:fetch-rss to use proxy servers (#19093) - eskyuu
Internal Features
- Third javascript time handling attempt (#19154) - murrant
- Javascript time functions complete (#19148) - murrant
Dependencies
- Bump league/commonmark from 2.8.0 to 2.8.1 (#19177) - dependabot
- Bump immutable from 5.1.4 to 5.1.5 (#19167) - dependabot
- Bump rollup from 4.57.1 to 4.59.0 (#19133) - dependabot
26.3.0
(2026-03-16)
A big thank you to the following 37 contributors this last month:
- laf (23)
- murrant (19)
- Jellyfrog (18)
- chris9951 (9)
- eskyuu (7)
- sandap1 (4)
- kakohegyi (3)
- dependabot (3)
- VVelox (2)
- ciroiriarte (2)
- trakennedy (1)
- dgodglick (1)
- adadevlabs (1)
- gmarsay (1)
- dorkmatt (1)
- matemfromrussia (1)
- xinyumoe (1)
- octalparrot (1)
- Fehler12 (1)
- electrocret (1)
- peejaychilds (1)
- lrizzi (1)
- scamp (1)
- brianegge (1)
- erdems (1)
- Serazio (1)
- evheros (1)
- mhajder (1)
- shrank (1)
- Jannos-443 (1)
- glennmatth (1)
- peelman (1)
- freddy36 (1)
- Cormoran96 (1)
- Yoyasp (1)
- bennetgallein (1)
- slashdoom (1)
Thanks to maintainers and others that helped with pull requests this month:
Breaking Change
- [Procurve] New sensor "PoE Power Total" (#19188) - gmarsay
- Remove netcmd ajax (#19131) - murrant
- Cyberpower sensor alert updates (#19122) - Fehler12
Device
- Fixed sensor detection and divisor (#19203) - laf
- Tuning Cisco discovery (#19196) - kakohegyi
- Correct fsSystemElectricalSourceIsNormal state mappings (#19191) - dgodglick
- Add additional power sensors for ArubaOS-CX - PoE (#19189) - adadevlabs
- Microsens-g6 Fix issue #19146 (#19165) - sandap1
- Add additional support for FS.com Industrial switches (#19160) - dorkmatt
- Added support for XCP-NG Virtual Machines (#19158) - laf
- Updated Yunshan device os discovery yaml (#19155) - laf
- Added Eltex MES5324A rev. C1 support (#19151) - matemfromrussia
- Fix JetStream FDB port mapping using ifIndex lookup (#19127) - octalparrot
- Enhance Netagent2 - add UPS estimated runtime (#19112) - sandap1
- Enhancing support for MOXA EDS-528E / EDS-510E (#19109) - sandap1
- Add Opengear Lighthouse support (#19107) - peejaychilds
- Added support for PacketPower Enterprise Gateways (#19106) - laf
- Remove Unifi connection quality graph (#19104) - chris9951
- Filter Cisco reserved VLANs at discovery time (#19097) - kakohegyi
- Updated mbgLtNgRefclockType mbg-ltos6 sensor state definitions (#19074) - laf
- Updated Cisco transceiver container list (#19065) - laf
- VOSS switch discovery of fan and powersupplies giving errors in eventlog (#19063) - evheros
- Fix GAIA Checkpoint CPU (#19060) - murrant
- Enhancing support for MOXA PT-7528 / IKS-6728 / EDS-G512 (#19017) - sandap1
- Add FS Switch Campus S3410 Series (#18955) - glennmatth
- Fix TiMOS BGP established time (#18826) - peelman
- Improve edgecos support (#18813) - freddy36
- Improve BGP peer handling for incomplete data (#18812) - Cormoran96
- Add sensor support for GNSS on IOS-XR devices (#17772) - slashdoom
Webui
- Stop use of xss in device show config (#19218) - laf
- Updated graph background when dark mode used (#19201) - laf
- Modernise device edit health page (#19162) - laf
- Fix 2FA QR code scanning in dark mode (#19141) - murrant
- Fix SQL query when looking at all outages (#19116) - eskyuu
- Updated links to ports from Device overview page (#19067) - laf
- Fix alert log widget rule name (#19062) - murrant
- Improve the usability of the dashboard drag/drop widgets (#19055) - laf
- Add search to device ports tab (#18997) - Jannos-443
- Set timezone display based on user preference (#18977) - murrant
- Device-overview add clickable email & underline coordinates (#18605) - bennetgallein
Alerting
- Use FQDN for EHLO/HELO greeting per RFC2821 (#19084) - ciroiriarte
Snmp Traps
- SNMP Trap: Add SNMP trap handler for PowerNet-MIB communicationEstablished and ApcLowBattery (#19225) - chris9951
- Use 'trap' log type in Zebra printer handlers (#19194) - chris9951
- SNMP Trap Handler: Extend German SNMP trap translations for Zebra printers (#19185) - chris9951
- SNMP Trap Handler: Apc ups test and discharge traps (#19183) - chris9951
- Add additional German translations for Zebra SNMP trap handler (#19171) - chris9951
- Adds SNMP trap handlers for Zebra Link-OS label printers (#19061) - chris9951
Applications
Api
Discovery
Bug
- Modernise service discovery (#19212) - laf
- Fix service check_mssql_health using incorrect variable (#19205) - trakennedy
- Check variable is set for application metrics (#19192) - laf
- Fix DivisionByZeroError in Billing::getPredictedUsage when $since is 0 (#19142) - xinyumoe
- Fix phpstan issues in Http Controllers (#19139) - Jellyfrog
- Make sure timezone is set before trying to use it (#19129) - murrant
- Fix splunk invalid function reference (#19100) - murrant
- Cisco FDB discovery BUG (#19095) - kakohegyi
- Remove stray "; causing JS syntax error in device syslog filters (#19090) - brianegge
- Add missing xmlns declaration to utax.svg (#19083) - ciroiriarte
- Fix LLDP-MIB discovery (#19078) - murrant
- Fix entries with no port (#19004) - shrank
Refactor
- Modernize ip-system-stats module (#19200) - murrant
- Convert some sensor snmp_get() calls to SnmpQuery (#19186) - Jellyfrog
- More granular permissions (RBAC pre-requisite) (#19135) - murrant
- Convert Cisco BGP peer poll to use snmpwalk and SnmpQuery (#19027) - eskyuu
- Implement WirelessSensorType enum (#19000) - Jellyfrog
- Mac accounting module (#18950) - murrant
- Timezone handling fixes and documentation (#18802) - eskyuu
Cleanup
- Replace dbQuery and dbFetchColumn with Eloquent equivalents (#19210) - Jellyfrog
- Fix vrf-lite warning (#19181) - murrant
- Fix phpstan baseline issues in LibreNMS/Data/Store (#19180) - Jellyfrog
- Fix phpstan baseline issues in ComposerHelper and InternalHttpRequest (#19175) - Jellyfrog
- Fix phpstan baseline issues in LibreNMS/Device (#19172) - Jellyfrog
- Fix phpstan baseline issues in LibreNMS/Modules (#19170) - Jellyfrog
- Fix phpstan baseline issues in LibreNMS/OS (#19168) - Jellyfrog
- Removed mib: from discovery (#19152) - laf
- Use Sensor enum in device graph pages (#19149) - Jellyfrog
- Use Sensor enum in device health pages (#19147) - Jellyfrog
- Fix phpstan baseline entries for LibreNMS/Util (#19140) - Jellyfrog
- Replace Model::make() with new Model() in controllers (#19138) - Jellyfrog
- Fix phpstan baseline issues in DeviceRelatedModel and UserPref (#19137) - Jellyfrog
- Fix type hints for authSSOGetAttr() and set_null() to remove phpstan âĤ (#19136) - Jellyfrog
- Use Sensor enum in device overview pages (#19130) - Jellyfrog
- Cleanup null as array key (#19128) - murrant
- Narrow ip_or_hostname validation (#19118) - murrant
- Clean up some unused time and timezone relates variables in http controllers (#19114) - eskyuu
- Cleanup permissions when user is deleted (#19088) - erdems
- F5-ltm fix undefined variables (#19071) - murrant
- Remove explicit default null from config definition (#19066) - eskyuu
- Remove unused dispatcher legacy settings (#19058) - eskyuu
- Updated supercap to avoid being used to detect other devices (#19056) - laf
- Code cleanup (#19052) - murrant
- Normalize enum case names to PascalCase convention (#19036) - Jellyfrog
Documentation
- Add note/work around to GPSD extend being slow thanks to gpspipe and explain mode int (#19134) - VVelox
- Fixed mariadb configuration doc for Debian 13 (#19105) - lrizzi
- Add example for extending alert templates (#19064) - Serazio
- Updated docs to reflect use of MIB::OID usage in yaml and code (#19051) - laf
- Clarifies API routes and updates documentation (#19044) - mhajder
Misc
- Fix OS level SNMP repeaters (#19117) - electrocret
- Device edit legacy urls (#19103) - chris9951
- Fix iftype graph background (#19099) - scamp
- Update to allow maintenance:fetch-rss to use proxy servers (#19093) - eskyuu
Internal Features
- Third javascript time handling attempt (#19154) - murrant
- Javascript time functions complete (#19148) - murrant
Dependencies
- Bump league/commonmark from 2.8.0 to 2.8.1 (#19177) - dependabot
- Bump immutable from 5.1.4 to 5.1.5 (#19167) - dependabot
- Bump rollup from 4.57.1 to 4.59.0 (#19133) - dependabot
26.2.0
(2026-02-16)
A big thank you to the following 30 contributors this last month:
- Jellyfrog (69)
- murrant (54)
- laf (32)
- dependabot (8)
- sandap1 (6)
- peelman (6)
- kakohegyi (5)
- eskyuu (2)
- electrocret (2)
- freddy36 (2)
- andr3jk (1)
- Salahzaar (1)
- cbuechler (1)
- DidierFlas (1)
- SoulKyu (1)
- bonzo81 (1)
- makriska (1)
- EinGlasVollKakao (1)
- nhnetsolutions (1)
- Jannos-443 (1)
- mrwold (1)
- shrank (1)
- ethanvos (1)
- goersr (1)
- heapdavid (1)
- adam-bishop (1)
- xorrkaz (1)
- sshockley (1)
- peejaychilds (1)
- loopodoopo (1)
Thanks to maintainers and others that helped with pull requests this month:
- laf (81)
- murrant (38)
- Jellyfrog (28)
- copilot-pull-request-reviewer (7)
- peelman (2)
- peejaychilds (1)
- Bongs81 (1)
Feature
- Dispatcher log stdout (#18920) - murrant
- Table export add button to export all records (#18800) - murrant
Breaking Change
- Alertmanager transport now strips stc_ label prefix (#18986) - SoulKyu
- Update Arris MIBs (removes legacy temperature sensor support) (#18868) - Jellyfrog
- Remove logfile function (#18852) - murrant
- Remove tcpdf and pest (#18850) - murrant
- Updated Moxa EDS-4000 (MX-NOS) for sensors and port data (#18702) - sandap1
Security
- Fix port group delete xss (#19042) - murrant
- Fix device group delete xss (#19041) - murrant
- Fix xss (#19040) - murrant
- Fix alert rule xss (#19039) - murrant
- Fix reflected XSS (#19038) - murrant
- Rewrite address search backend (#18777) - murrant
Device
- Updated transceiver interface discovery for Ocnos (#19028) - laf
- Add support for Spectracool Air Conditioning units (#18992) - laf
- Add PDU Active Power graphs for current power usage in watts for cyberpower (#18991) - cbuechler
- Handle Other entSensorThresholdSeverity for Cisco devices (#18974) - makriska
- Fix port polling for NOKIA-ISAM: Adding ifMtu fallback for PON Interfaces (#18954) - nhnetsolutions
- Advantech - Add port descriptions (#18941) - sandap1
- Add OID for Cisco Secure Firewall 4215 (#18925) - mrwold
- Add additional sensors for Supercap devices (#18912) - laf
- Fix opticalVoltage (#18856) - freddy36
- Add support for Microsens G6 devices (#18846) - sandap1
- Add support for PacketFlux SiteMonitor Base 3 (#18836) - ethanvos
- Additional sensors & build Version for Advantech (#18834) - sandap1
- Add Support for ZTE 5950 (#18832) - sandap1
- Updated Ocnos hardware list to fix transceiver discovery (#18823) - laf
- Improve transceiver support (#18815) - freddy36
- Add support for Conteg Databus Devices (#18811) - sandap1
- Add PHP-based sensor discovery for Nokia TiMOS NAT statistics: (#18807) - peelman
- Add support for Supercap supercapacitors (#18793) - laf
- Fix flip-flopped State values for tmnxNatIsaMemberSessionUsageHi (#18781) - peelman
- Add main/div/combined power on graphs (#18705) - loopodoopo
- Remove unneeded noindex from routeros (#18696) - murrant
Webui
- Fix device settings misc html (#19035) - murrant
- Add Alert Map widget (#19026) - laf
- Update leaflet css to stop Device group menu being hidden (#19014) - andr3jk
- Add Duplex status to ports lists (#18989) - DidierFlas
- Update alertlog widget to new backend (#18968) - murrant
- Add filters to device vlan tab (#18948) - Jannos-443
- Add long titles to service graphs (#18921) - shrank
- Set home link explicitly (#18862) - murrant
- Expose Applications settings in Global Settings UI (#18833) - peelman
- VLAN ports search include device fields (#18830) - kakohegyi
- Inventory use modern device link (#18797) - murrant
- Sort spanning tree instances by vlan (PVST) (#18791) - kakohegyi
Alerting
- Fix alert check null (#18919) - murrant
- Update mail transports to generate a single event log if no e-mail addresses are found (#18722) - eskyuu
- Alertmanager Transport - Try all nodes (#18655) - electrocret
Snmp Traps
Applications
- NFS application requires perl-IO-Compress, also fix a broken import (#18804) - adam-bishop
Billing
Api
Discovery
- Fix discovery-arp module query (#19030) - murrant
- Fix error in discovery (#18820) - murrant
- Fix relative includes in discovery code (#18799) - murrant
- Implement php state sensor translations (#18784) - murrant
- Improved device type handling (#18758) - murrant
Authentication
Bug
- ARP auto-discovery only device ARP (#19047) - murrant
- Update topChanges in stp table to unsigned int (#19034) - laf
- Fix legacy services discovery helper inclusion and PHP 8 warnings (#19001) - Salahzaar
- Fixed search on Device routing edit page (#18982) - laf
- Remove duplicate ssCpuRawWait from ucd-mib poller (#18976) - eskyuu
- Fix non-utf prefix for device fields (#18956) - murrant
- Fix relative include in unix-agent (#18858) - murrant
- Add idField to RoleController for role selector filtering (#18855) - peelman
- Updated cef punt2host column to use bigint (#18831) - laf
- Fix cisco-cef undefined variable (#18821) - murrant
- Handle malformed SNMP responses in discovery-protocols module (#18818) - peelman
- Handle malformed SNMP responses in fdb-table module (#18817) - peelman
- Updated cef columns to use bigint (#18816) - laf
- Fix save test data dependencies (#18810) - murrant
- Fix errors when device is missing for port (#18809) - murrant
- Fix device neighbour maps (#18805) - heapdavid
- Ports table fixes (#18801) - murrant
- Fix unix agent dmi parsing (#18798) - murrant
- MplsVpnVrfDescription is not allowed to be NULL. (#18795) - xorrkaz
- Fix maintenance:rrd-step with rrdcached (#18785) - murrant
- Handle rrd step validation timeout more gracefully. (#18783) - murrant
- Fix parse ipv6 prefix len (#18780) - murrant
- Fix incorrect config usage (#18776) - murrant
- Fix scheduler maintenance.log path (#18775) - murrant
Refactor
Cleanup
- Update os discovery yaml to use MIB::OID Misc (#19049) - laf
- Update os discovery yaml to use MIB::OID I (#19048) - laf
- Update os discovery yaml to use MIB::OID H (#19046) - laf
- Update os discovery yaml to use MIB::OID g (#19045) - laf
- Update os discovery yaml to use MIB::OID F (#19033) - laf
- Fix bad type in NetSnmpQuery (#19031) - murrant
- Update os discovery yaml to use MIB::OID for S (#19025) - Jellyfrog
- Update os discovery yaml to use MIB::OID e (#19024) - laf
- Update os discovery yaml to use MIB::OID for J files (#19023) - Jellyfrog
- Updated POSEIDON-MIB (#19022) - laf
- Update os discovery yaml to use MIB::OID for L files (#19021) - Jellyfrog
- Update os discovery yaml to use MIB::OID for M files (#19020) - Jellyfrog
- Update os discovery yaml to use MIB::OID for N files (#19019) - Jellyfrog
- Update os discovery yaml to use MIB::OID for O files (#19018) - Jellyfrog
- Update os discovery yaml to use MIB::OID for P files (#19016) - Jellyfrog
- Update os discovery yaml to use MIB::OID for Q files (#19013) - Jellyfrog
- Update os discovery yaml to use MIB::OID for R (#19012) - Jellyfrog
- Update os discovery yaml to use MIB::OID for T files (#19011) - Jellyfrog
- Update os discovery yaml to use MIB::OID for U files (#19010) - Jellyfrog
- Update os discovery yaml to use MIB::OID for V files (#19009) - Jellyfrog
- Update os discovery yaml to use MIB::OID D (#19006) - laf
- Update os discovery yaml to use MIB::OID W-Z (#19003) - Jellyfrog
- Update os discovery yaml to use MIB::OID C (#19002) - laf
- Update os discovery yaml to use MIB::OID B OSes (#18983) - laf
- Update os discovery yaml to use MIB::OID 5 (#18964) - laf
- Update os discovery yaml to use MIB::OID 4 (#18963) - laf
- Update os discovery yaml to use MIB::OID 3 (#18962) - laf
- Fix some array key null errors (#18939) - murrant
- Remove log driver output overrides (#18936) - murrant
- Update os discovery yaml to use MIB::OID 2 (#18935) - laf
- Fix app imports and backticks (#18851) - murrant
- Fix some deprecation warnings (#18849) - murrant
- Small cleanup for phpstan (#18848) - murrant
- Rector 2.3 fixes (#18845) - murrant
- Fix PHP 8.5 pdo deprecation message (#18840) - murrant
- Remove old discovery code (#18782) - murrant
Documentation
- Remove 'graphviz' references, its no longer used (#18859) - Jellyfrog
- Update Two-Factor-Auth.md (#18835) - goersr
- Correct SELinux policy installation instructions (#18792) - sshockley
Tests
- Add --testdox option to phpunit (#18996) - Jellyfrog
- Fix dev:check --os-modules-only without os (#18934) - murrant
- Fix DiscoverDevice destructor crash during test teardown (#18930) - Jellyfrog
- Custom validation tests (#18918) - murrant
Misc
- Prometheus escape sysName with slashes (#18958) - EinGlasVollKakao
- Add health check verbose output (#18940) - murrant
- Add safety checks for adding/deleting devices with no hostname (#18926) - laf
- Fix Alertmanager Auth (#18924) - electrocret
- Overview graph should be Power (which exists) not Voltage (which does not) (#18787) - peejaychilds
- STP Discovery fix for Cisco devices (#18767) - kakohegyi
Internal Features
Mibs
- Clean up dupes, move standard (#18995) - Jellyfrog
- Move Juniper OS mibs into shared folder (#18994) - Jellyfrog
- Rename to correct names (#18933) - Jellyfrog
- Sync from Netdisco (#18931) - Jellyfrog
- Update and reorganize Nokia mibs (#18928) - Jellyfrog
- Sync zyxel MIBs (#18910) - Jellyfrog
- Sync waystream MIBs (#18908) - Jellyfrog
- Sync vmware MIBs (#18907) - Jellyfrog
- Sync sonicwall MIBs (#18905) - Jellyfrog
- Sync smartoptics MIBs (#18904) - Jellyfrog
- Sync sentry MIBs (#18903) - Jellyfrog
- Sync sensatronics MIBs (#18902) - Jellyfrog
- Sync saf MIBs (#18901) - Jellyfrog
- Sync ruckus MIBs (#18900) - Jellyfrog
- Sync riverbed MIBs (#18899) - Jellyfrog
- Sync rittal MIBs (#18898) - Jellyfrog
- Sync raritan MIBs (#18897) - Jellyfrog
- Sync radlan MIBs (#18896) - Jellyfrog
- Sync nti MIBs (#18895) - Jellyfrog
- Sync nortel MIBs (#18894) - Jellyfrog
- Sync nokia MIBs (#18893) - Jellyfrog
- Sync nexans MIBs (#18892) - Jellyfrog
- Sync netgear MIBs (#18891) - Jellyfrog
- Sync netapp MIBs (#18890) - Jellyfrog
- Sync meinberg MIBs (#18889) - Jellyfrog
- Sync kemp MIBs (#18888) - Jellyfrog
- Sync junose MIBs (#18887) - Jellyfrog
- Sync juniper MIBs (#18886) - Jellyfrog
- Sync ixsystems MIBs (#18885) - Jellyfrog
- Sync ibm MIBs (#18884) - Jellyfrog
- Sync huawei MIBs (#18883) - Jellyfrog
- Sync hp MIBs (#18882) - Jellyfrog
- Sync hirschmann MIBs (#18881) - Jellyfrog
- Sync fortinet MIBs (#18880) - Jellyfrog
- Sync firebrick MIBs (#18879) - Jellyfrog
- Sync fibrolan MIBs (#18878) - Jellyfrog
- Sync f5 MIBs (#18877) - Jellyfrog
- Sync extreme MIBs (#18876) - Jellyfrog
- Sync delta MIBs (#18875) - Jellyfrog
- Sync dell MIBs (#18874) - Jellyfrog
- Sync cisco MIBs (#18873) - Jellyfrog
- Sync ciena MIBs (#18872) - Jellyfrog
- Sync checkpoint MIBs (#18871) - Jellyfrog
- Sync brocade MIBs (#18870) - Jellyfrog
- Sync avaya MIBs (#18869) - Jellyfrog
- Sync arista MIBs (#18867) - Jellyfrog
- Sync alpha MIBs (#18866) - Jellyfrog
- Sync adva MIBs (#18865) - Jellyfrog
- Sync adtran MIBs (#18864) - Jellyfrog
- Sync accedian MIBs (#18863) - Jellyfrog
- Update some MIBs (#18847) - Jellyfrog
Dependencies
- Bump webpack from 5.101.0 to 5.105.0 (#18990) - dependabot
- Bump psy/psysh from 0.12.18 to 0.12.19 (#18961) - dependabot
- Bump symfony/process from 7.4.3 to 7.4.5 (#18949) - dependabot
- Bump tar from 7.5.6 to 7.5.7 (#18945) - dependabot
- Bump phpunit/phpunit from 11.5.33 to 11.5.50 (#18937) - dependabot
- Bump lodash from 4.17.21 to 4.17.23 (#18843) - dependabot
- Bump tar from 7.5.3 to 7.5.6 (#18842) - dependabot
- PHP Dependency updates (#18841) - murrant
- Bump tar from 7.4.3 to 7.5.3 (#18824) - dependabot
26.1.0
(2026-01-12)
A big thank you to the following 28 contributors this last month:
- murrant (22)
- peelman (10)
- laf (9)
- sandap1 (9)
- eskyuu (6)
- peejaychilds (4)
- alagoutte (2)
- jezekus (2)
- dependabot (2)
- freddy36 (2)
- jediblair (2)
- SourceDoctor (1)
- Jellyfrog (1)
- kakohegyi (1)
- erdems (1)
- westerterp (1)
- shrank (1)
- lennarttd (1)
- andrewimeson (1)
- garlic17 (1)
- jakejakejakejakejakejake (1)
- knpo (1)
- VVelox (1)
- xorrkaz (1)
- Serazio (1)
- martinberg (1)
- Fehler12 (1)
- Npeca75 (1)
Thanks to maintainers and others that helped with pull requests this month:
- laf (48)
- murrant (13)
- copilot-pull-request-reviewer (10)
- Jellyfrog (9)
- PipoCanaja (9)
- peelman (1)
Breaking Change
- Change Algcom SM type to environment (#18730) - murrant
- Allow alerts to match users through device groups (#18720) - eskyuu
- Cisco IE3200 and IE3300 devices are actually IOS-XE (#18654) - knpo
Device
- Adding sensors for Nokia ESA, ISA, and NAT resources (#18770) - peelman
- Add grid power sensor, overload protection (#18763) - peelman
- Update ns-bsd MIBs and detection (#18762) - alagoutte
- Update geist-watchdog detection (#18757) - sandap1
- Corrected sensor name in Ironware OS (#18754) - laf
- Initial support for Alta Labs (#18753) - Jellyfrog
- Fix OID path for connection tracking RouterOS (#18752) - jezekus
- Fix RFC1628 sensors not skipping non-numeric values (#18746) - murrant
- Add Support for Vertiv DCS devices. (#18744) - sandap1
- Add additional sensors for Ironware devices (#18743) - laf
- Add Nokia 1830 PSS device discovery and inventory support (#18739) - peelman
- Add System Resource Usage counts for TiMOS (#18736) - peelman
- Fix fortigate cellular sensors (#18733) - murrant
- Fix Alpha CXC UPS input voltage divisor (#18729) - murrant
- New sensors for FTD (#18721) - kakohegyi
- Update SwOS and add support for SwOSLite (#18718) - jezekus
- Add support for HW-Group Perseus (#18712) - sandap1
- Add support for Zenitel Devices (#18711) - sandap1
- Update Nokia TIMETRA MIBs to latest versions (#18701) - peelman
- Add TransceiverDiscovery interface implementation for Timos OS (#18700) - peelman
- Add Transceiver Support to AXOS (#18699) - peelman
- Add support for Vertiv ITA2 UPS (#18698) - sandap1
- Add apdu10150sm support (#18690) - peejaychilds
- Improve transceiver support for BDCom (#18684) - freddy36
- Add support for SmartByte OS (#18681) - freddy36
- Add support for insyde - Supervyse (OpenBMC) (#18679) - sandap1
- Add SmokeSensors to APC NetBotz 750 (#18675) - peejaychilds
- Add support of IPBS3 for Ascom devices (#18668) - alagoutte
- Add APC Schneider Electric NetBotz 750 (#18665) - peejaychilds
- Fix MTS-COM rectopenstate inverted (#18660) - jakejakejakejakejakejake
- Add support for Cisco FTD 4245. (#18645) - xorrkaz
- Updated Alpha CXC support (sensors and hardware version) (#18643) - laf
- Add support for Pandacom Equipment (#18636) - Serazio
- Updated VyOS detection (#18624) - laf
- Add support for Tailyn Equipment (#18612) - sandap1
- Added POE data for Advantech Switches (#18601) - sandap1
- Add iDRAC RAID rebuild progress and SSD write endurance (#18599) - jediblair
- Incuded 7.4 Audiocodes MIBs and fixed call counter (#18555) - Fehler12
- MIKROTIK-MIB update (#18479) - Npeca75
- Update Tailyn OS logo & os icon from PNG to SVG (#18695) - sandap1
- Add CloudLinux OS logos (#18686) - lennarttd
Webui
- Devices page fix selected os text (#18759) - murrant
- Round Celsius temperature values to 2 decimal places (#18747) - peelman
- Fix ghost X bug in multiport selector widget (#18707) - peelman
- Add multi-sensor graph aggregation for dashboard widgets (#18706) - peelman
- Added age and message filter to eventlog widget (#18687) - shrank
- Allow to hide totals in availability map (#18677) - garlic17
- Service last_changed time display bug fix (#18673) - jediblair
- Update poller blade to be timezone aware (#18656) - eskyuu
- Panel component body class fix (#18647) - murrant
Alerting
Graphs
Billing
Api
Discovery
Authentication
Bug
- Fix scheduler maintenance.log path (#18775) - murrant
- Fix maintenance:fetch-rss relative path (#18766) - murrant
- Fix for generic_multi.inc.php (#18740) - eskyuu
- Fix rector mistake (#18697) - murrant
- Fix mtu status changed event log 1 -> 1 (#18683) - murrant
- Configure output for all commands (#18669) - murrant
- Fix alerts in app/Jobs/PingCheck.php (#18666) - eskyuu
- Fix packet size calculation for MTU test (#18663) - eskyuu
Cleanup
- Change useless log from warning to debug (#18765) - murrant
- Drop non-functioning (and redundant) parameter $sloped_mode (#18694) - westerterp
- Parse email cleanup (#18619) - murrant
Documentation
- Clarify in the docs to use MIB-NAME::OID (#18756) - laf
- Update Docs for NTP-Server Application rewrite (#18755) - SourceDoctor
- Fix documentation typos, fix Procurve/Aruba command quotes (#18682) - andrewimeson
- Add docs about additional_oids (#18625) - martinberg
Misc
- Fix discover log target (#18774) - murrant
- Maintenance:cleanup-syslog run hourly (#18737) - murrant
- Update maintenance:rrd-step to work with rrdcached (#18623) - murrant
Dependencies
- Bump paragonie/sodium_compat from 1.23.0 to 1.24.0 (#18750) - dependabot
- Bump composer/composer from 2.9.1 to 2.9.3 (#18726) - dependabot