## 25.6.0
*(2025-06-16)*

A big thank you to the following 24 contributors this last month:

  - [murrant](https://github.com/murrant) (50)
  - [Jellyfrog](https://github.com/Jellyfrog) (29)
  - [Npeca75](https://github.com/Npeca75) (23)
  - [laf](https://github.com/laf) (16)
  - [PipoCanaja](https://github.com/PipoCanaja) (2)
  - [eskyuu](https://github.com/eskyuu) (2)
  - [mpikzink](https://github.com/mpikzink) (2)
  - [rhinoau](https://github.com/rhinoau) (2)
  - [kakohegyi](https://github.com/kakohegyi) (2)
  - [adiaczenko](https://github.com/adiaczenko) (1)
  - [VVelox](https://github.com/VVelox) (1)
  - [rudybroersma](https://github.com/rudybroersma) (1)
  - [erdems](https://github.com/erdems) (1)
  - [alagoutte](https://github.com/alagoutte) (1)
  - [gprabhat](https://github.com/gprabhat) (1)
  - [matemfromrussia](https://github.com/matemfromrussia) (1)
  - [RazielMalah](https://github.com/RazielMalah) (1)
  - [nickhilliard](https://github.com/nickhilliard) (1)
  - [L8SE](https://github.com/L8SE) (1)
  - [knpo](https://github.com/knpo) (1)
  - [Cormoran96](https://github.com/Cormoran96) (1)
  - [jediblair](https://github.com/jediblair) (1)
  - [slashdoom](https://github.com/slashdoom) (1)
  - [dot-mike](https://github.com/dot-mike) (1)

Thanks to maintainers and others that helped with pull requests this month:

  - [laf](https://github.com/laf) (63)
  - [murrant](https://github.com/murrant) (43)
  - [Jellyfrog](https://github.com/Jellyfrog) (14)
  - [copilot-pull-request-reviewer](https://github.com/apps/copilot-pull-request-reviewer) (3)
  - [PipoCanaja](https://github.com/PipoCanaja) (2)

#### Breaking Change
* Add deprecation notice for old style alerts ([#17752](https://github.com/librenms/librenms/pull/17752)) - [laf](https://github.com/laf)
* Convert Alpha Compas sensors to YAML ([#17565](https://github.com/librenms/librenms/pull/17565)) - [Npeca75](https://github.com/Npeca75)
* Move definitions in to resources/definitions ([#17341](https://github.com/librenms/librenms/pull/17341)) - [murrant](https://github.com/murrant)

#### Security
* Fix device edit group xss ([#17856](https://github.com/librenms/librenms/pull/17856)) - [murrant](https://github.com/murrant)

#### Device
* Update Parks OS to show Memory as a percentage ([#17817](https://github.com/librenms/librenms/pull/17817)) - [adiaczenko](https://github.com/adiaczenko)
* Better IPinfusion icon ([#17807](https://github.com/librenms/librenms/pull/17807)) - [murrant](https://github.com/murrant)
* CXC Alpha UPS support ([#17797](https://github.com/librenms/librenms/pull/17797)) - [murrant](https://github.com/murrant)
* Add support for Teltonika RUT955 ([#17773](https://github.com/librenms/librenms/pull/17773)) - [rudybroersma](https://github.com/rudybroersma)
* Add JetStream PoE power&status per port ([#17762](https://github.com/librenms/librenms/pull/17762)) - [Npeca75](https://github.com/Npeca75)
* Add RouterOS Firewall counters (ros 7.20) ([#17753](https://github.com/librenms/librenms/pull/17753)) - [Npeca75](https://github.com/Npeca75)
* Added fixes for Ocnos OSPFv3 and Transceivers ([#17746](https://github.com/librenms/librenms/pull/17746)) - [laf](https://github.com/laf)
* Added Cumulus BGP VRF support ([#17745](https://github.com/librenms/librenms/pull/17745)) - [laf](https://github.com/laf)
* Fix some discovery issues with the Cisco VRF Lite ([#17743](https://github.com/librenms/librenms/pull/17743)) - [eskyuu](https://github.com/eskyuu)
* Update Sharp OS serial number detection ([#17741](https://github.com/librenms/librenms/pull/17741)) - [gprabhat](https://github.com/gprabhat)
* Added MES2348B rev C. ([#17736](https://github.com/librenms/librenms/pull/17736)) - [matemfromrussia](https://github.com/matemfromrussia)
* Added detection for Eltex MES 3300-24F, 2308P, 2324P, 2348P ([#17734](https://github.com/librenms/librenms/pull/17734)) - [RazielMalah](https://github.com/RazielMalah)
* Added support for Zyxel USG Flex 100 ([#17701](https://github.com/librenms/librenms/pull/17701)) - [kakohegyi](https://github.com/kakohegyi)
* Added High connections for ASA devices ([#17700](https://github.com/librenms/librenms/pull/17700)) - [kakohegyi](https://github.com/kakohegyi)
* Add TRB255 support ([#17566](https://github.com/librenms/librenms/pull/17566)) - [Cormoran96](https://github.com/Cormoran96)
* Add Siteboss572 base support ([#17563](https://github.com/librenms/librenms/pull/17563)) - [jediblair](https://github.com/jediblair)
* New Device: Venturi VOE Server ([#17313](https://github.com/librenms/librenms/pull/17313)) - [slashdoom](https://github.com/slashdoom)

#### Webui
* Fix alert-log showing no entries ([#17850](https://github.com/librenms/librenms/pull/17850)) - [murrant](https://github.com/murrant)
* Alert Rule Table fixes ([#17810](https://github.com/librenms/librenms/pull/17810)) - [murrant](https://github.com/murrant)
* FDB Table fixes ([#17809](https://github.com/librenms/librenms/pull/17809)) - [murrant](https://github.com/murrant)
* Global Search: Dark icon background ([#17808](https://github.com/librenms/librenms/pull/17808)) - [murrant](https://github.com/murrant)
* Fix multi-port bits graph issue ([#17798](https://github.com/librenms/librenms/pull/17798)) - [murrant](https://github.com/murrant)
* Fix js issue with resolution ajax call ([#17794](https://github.com/librenms/librenms/pull/17794)) - [murrant](https://github.com/murrant)
* Workarounds for errors in bills ([#17793](https://github.com/librenms/librenms/pull/17793)) - [murrant](https://github.com/murrant)
* Restore Health\>Printer Supplies Page ([#17788](https://github.com/librenms/librenms/pull/17788)) - [murrant](https://github.com/murrant)
* Dark Theme: Light BG for OS logos ([#17765](https://github.com/librenms/librenms/pull/17765)) - [murrant](https://github.com/murrant)
* Some small UI fixes ([#17732](https://github.com/librenms/librenms/pull/17732)) - [laf](https://github.com/laf)
* Fix sensor table to link drill-down URL to the specific graph instead of to the device sensor list ([#17722](https://github.com/librenms/librenms/pull/17722)) - [nickhilliard](https://github.com/nickhilliard)
* Hide scaling aids for generic sensor diagrams ([#17719](https://github.com/librenms/librenms/pull/17719)) - [mpikzink](https://github.com/mpikzink)
* Fix inconsistent label in getServiceLabel ([#17716](https://github.com/librenms/librenms/pull/17716)) - [L8SE](https://github.com/L8SE)
* Fix compact availability map ignore alerts display classes ([#17704](https://github.com/librenms/librenms/pull/17704)) - [rhinoau](https://github.com/rhinoau)
* Fix table no results bg color on light theme ([#17686](https://github.com/librenms/librenms/pull/17686)) - [murrant](https://github.com/murrant)
* Remove extra ajax call from every page load ([#17685](https://github.com/librenms/librenms/pull/17685)) - [murrant](https://github.com/murrant)
* Improve graph theme dynamic changes ([#17684](https://github.com/librenms/librenms/pull/17684)) - [murrant](https://github.com/murrant)
* CSV Table export ([#17310](https://github.com/librenms/librenms/pull/17310)) - [dot-mike](https://github.com/dot-mike)
* Dashboard shared admin permissions ([#17160](https://github.com/librenms/librenms/pull/17160)) - [rhinoau](https://github.com/rhinoau)

#### Alerting
* Add WLED as an alert transport ([#17791](https://github.com/librenms/librenms/pull/17791)) - [VVelox](https://github.com/VVelox)

#### Billing
* Remove _ ifType = 'ethernetCsmacd'_  from billing query ([#17769](https://github.com/librenms/librenms/pull/17769)) - [erdems](https://github.com/erdems)

#### Api
* Added more device fields to list_devices api ([#17782](https://github.com/librenms/librenms/pull/17782)) - [laf](https://github.com/laf)
* Added additional field for fdb details api route ([#17758](https://github.com/librenms/librenms/pull/17758)) - [laf](https://github.com/laf)
* Add NAC endpoints ([#17649](https://github.com/librenms/librenms/pull/17649)) - [knpo](https://github.com/knpo)

#### Settings
* Fix branding setting in config definitions ([#17792](https://github.com/librenms/librenms/pull/17792)) - [murrant](https://github.com/murrant)
* Add bad_ifalias_regexp and bad_ifname_regexp ([#17697](https://github.com/librenms/librenms/pull/17697)) - [murrant](https://github.com/murrant)

#### Bug
* Fix bgp-peers polling arista offset on null ([#17835](https://github.com/librenms/librenms/pull/17835)) - [murrant](https://github.com/murrant)
* Fix CMM port polling ([#17834](https://github.com/librenms/librenms/pull/17834)) - [murrant](https://github.com/murrant)
* Fix device maintenance ([#17857](https://github.com/librenms/librenms/pull/17857)) - [murrant](https://github.com/murrant)
* Extract only the interface names to log ([#17827](https://github.com/librenms/librenms/pull/17827)) - [Jellyfrog](https://github.com/Jellyfrog)
* Fix HrDevice error ([#17820](https://github.com/librenms/librenms/pull/17820)) - [murrant](https://github.com/murrant)
* Check if we have valid hex data before trying to use it ([#17818](https://github.com/librenms/librenms/pull/17818)) - [Jellyfrog](https://github.com/Jellyfrog)
* Few fixes of PHP Errors in tests ([#17784](https://github.com/librenms/librenms/pull/17784)) - [PipoCanaja](https://github.com/PipoCanaja)
* Fix an issue in PortsStack module ([#17774](https://github.com/librenms/librenms/pull/17774)) - [murrant](https://github.com/murrant)
* Bug - route module - never update route_id ([#17747](https://github.com/librenms/librenms/pull/17747)) - [PipoCanaja](https://github.com/PipoCanaja)
* Handle LDAP malformed url consistently ([#17696](https://github.com/librenms/librenms/pull/17696)) - [murrant](https://github.com/murrant)
* Skyhigh web protect Remove quotes from description ([#17861](https://github.com/librenms/librenms/pull/17861)) - [PipoCanaja](https://github.com/PipoCanaja)

#### Refactor
* Convert Cyberpower sensors to YAML ([#17759](https://github.com/librenms/librenms/pull/17759)) - [Npeca75](https://github.com/Npeca75)
* Convert Netonix sensors to YAML ([#17755](https://github.com/librenms/librenms/pull/17755)) - [Npeca75](https://github.com/Npeca75)
* Convert delhost.php to lnms device:remove ([#17739](https://github.com/librenms/librenms/pull/17739)) - [Jellyfrog](https://github.com/Jellyfrog)
* Refactor Sensor and Wireless Sensor Tables ([#17687](https://github.com/librenms/librenms/pull/17687)) - [murrant](https://github.com/murrant)
* Refactor IPv4Addresses to Module ([#17627](https://github.com/librenms/librenms/pull/17627)) - [Npeca75](https://github.com/Npeca75)
* Route module Rewrite ([#17537](https://github.com/librenms/librenms/pull/17537)) - [Npeca75](https://github.com/Npeca75)
* Fix luminato errors & refactor ([#17667](https://github.com/librenms/librenms/pull/17667)) - [Npeca75](https://github.com/Npeca75)
* Drop arris-c4 precache and convert to app(sensor-discovery) ([#17712](https://github.com/librenms/librenms/pull/17712)) - [Npeca75](https://github.com/Npeca75)
* Convert Siklu sensors to YAML ([#17740](https://github.com/librenms/librenms/pull/17740)) - [Npeca75](https://github.com/Npeca75)
* Convert SAF sensors to YAML ([#17761](https://github.com/librenms/librenms/pull/17761)) - [Npeca75](https://github.com/Npeca75)
* Convert EatonUPS sensors to YAML ([#17760](https://github.com/librenms/librenms/pull/17760)) - [Npeca75](https://github.com/Npeca75)
* Convert CeraOS sensors to YAML ([#17754](https://github.com/librenms/librenms/pull/17754)) - [Npeca75](https://github.com/Npeca75)
* Convert Sentry3 sensors to YAML ([#17730](https://github.com/librenms/librenms/pull/17730)) - [Npeca75](https://github.com/Npeca75)
* Convert Arris-3 sensors to YAML ([#17711](https://github.com/librenms/librenms/pull/17711)) - [Npeca75](https://github.com/Npeca75)
* Drop aos-emu2 precache and use app(sensor-discovery) ([#17708](https://github.com/librenms/librenms/pull/17708)) - [Npeca75](https://github.com/Npeca75)
* Drop Dell Powervault precache and use app(sensor-discovery) ([#17692](https://github.com/librenms/librenms/pull/17692)) - [Npeca75](https://github.com/Npeca75)
* Drop Terra sdi410c precache and use app(sensor-discovery) ([#17691](https://github.com/librenms/librenms/pull/17691)) - [Npeca75](https://github.com/Npeca75)
* Drop Exos precache and use app('sensor-discovery') ([#17689](https://github.com/librenms/librenms/pull/17689)) - [Npeca75](https://github.com/Npeca75)
* Drop Ipoman precache and use app(sensor-discovery) ([#17707](https://github.com/librenms/librenms/pull/17707)) - [Npeca75](https://github.com/Npeca75)
* Drop CiscoSB precache and use app('sensor-discovery') ([#17693](https://github.com/librenms/librenms/pull/17693)) - [Npeca75](https://github.com/Npeca75)
* Drop Terra sdi480 precache and use app(sensor-discovery) ([#17690](https://github.com/librenms/librenms/pull/17690)) - [Npeca75](https://github.com/Npeca75)
* Drop Mes21xx precache, add LOS, move SFPs to transceivers group ([#17688](https://github.com/librenms/librenms/pull/17688)) - [Npeca75](https://github.com/Npeca75)


#### Cleanup
* Fix a couple issues in format_alert_details ([#17855](https://github.com/librenms/librenms/pull/17855)) - [murrant](https://github.com/murrant)
* Fix a graph issue ([#17853](https://github.com/librenms/librenms/pull/17853)) - [murrant](https://github.com/murrant)
* Fix cisco hardware rewrite returning non-string ([#17852](https://github.com/librenms/librenms/pull/17852)) - [murrant](https://github.com/murrant)
* Fix issue in showconfig ([#17851](https://github.com/librenms/librenms/pull/17851)) - [murrant](https://github.com/murrant)
* Don't error on missing prtMarkerCounterUnit ([#17847](https://github.com/librenms/librenms/pull/17847)) - [Jellyfrog](https://github.com/Jellyfrog)
* Prevent preg_match(): Passing null to parameter #2 ($subject) of type… ([#17846](https://github.com/librenms/librenms/pull/17846)) - [Jellyfrog](https://github.com/Jellyfrog)
* Depending on the default value of escape is deprecated ([#17845](https://github.com/librenms/librenms/pull/17845)) - [Jellyfrog](https://github.com/Jellyfrog)
* Misc fixes ([#17844](https://github.com/librenms/librenms/pull/17844)) - [Jellyfrog](https://github.com/Jellyfrog)
* Remove unnecessary function ([#17843](https://github.com/librenms/librenms/pull/17843)) - [Jellyfrog](https://github.com/Jellyfrog)
* Get rid of some "Undefined array key" ([#17842](https://github.com/librenms/librenms/pull/17842)) - [Jellyfrog](https://github.com/Jellyfrog)
* Get rid of some "Undefined array key" ([#17841](https://github.com/librenms/librenms/pull/17841)) - [Jellyfrog](https://github.com/Jellyfrog)
* Simplify logic and get rid of some "Undefined array key" ([#17840](https://github.com/librenms/librenms/pull/17840)) - [Jellyfrog](https://github.com/Jellyfrog)
* Get rid of some "Undefined array key" ([#17839](https://github.com/librenms/librenms/pull/17839)) - [Jellyfrog](https://github.com/Jellyfrog)
* Simplify logic and get rid of some "Undefined array key" ([#17838](https://github.com/librenms/librenms/pull/17838)) - [Jellyfrog](https://github.com/Jellyfrog)
* Fix bits2indices trying to convert non-hex ([#17837](https://github.com/librenms/librenms/pull/17837)) - [murrant](https://github.com/murrant)
* Services fixes ([#17833](https://github.com/librenms/librenms/pull/17833)) - [murrant](https://github.com/murrant)
* Fixes for multi port graph ([#17832](https://github.com/librenms/librenms/pull/17832)) - [murrant](https://github.com/murrant)
* Generic application fixes ([#17830](https://github.com/librenms/librenms/pull/17830)) - [murrant](https://github.com/murrant)
* Fix routing pages ([#17829](https://github.com/librenms/librenms/pull/17829)) - [laf](https://github.com/laf)
* Prevent undefined array key warning ([#17828](https://github.com/librenms/librenms/pull/17828)) - [Jellyfrog](https://github.com/Jellyfrog)
* Generic_multi_line graph fixes ([#17825](https://github.com/librenms/librenms/pull/17825)) - [murrant](https://github.com/murrant)
* IP search ui fixes ([#17824](https://github.com/librenms/librenms/pull/17824)) - [murrant](https://github.com/murrant)
* Alert UI fixes ([#17821](https://github.com/librenms/librenms/pull/17821)) - [murrant](https://github.com/murrant)
* Use Str function to prevent deprecation warning ([#17819](https://github.com/librenms/librenms/pull/17819)) - [Jellyfrog](https://github.com/Jellyfrog)
* Fail Scheduler validation when cache is unavailable. ([#17812](https://github.com/librenms/librenms/pull/17812)) - [murrant](https://github.com/murrant)
* Fix a couple errors in validate ([#17811](https://github.com/librenms/librenms/pull/17811)) - [murrant](https://github.com/murrant)
* Make json schema validations stricter ([#17804](https://github.com/librenms/librenms/pull/17804)) - [Jellyfrog](https://github.com/Jellyfrog)
* Remove duplicate enable_proxmox definition ([#17803](https://github.com/librenms/librenms/pull/17803)) - [Jellyfrog](https://github.com/Jellyfrog)
* Don't pass str_replace a null value ([#17801](https://github.com/librenms/librenms/pull/17801)) - [Jellyfrog](https://github.com/Jellyfrog)
* API functions: fix preg_match deprecation error ([#17800](https://github.com/librenms/librenms/pull/17800)) - [Jellyfrog](https://github.com/Jellyfrog)
* Passing null to parameter #1 ($string) of type string is d… ([#17799](https://github.com/librenms/librenms/pull/17799)) - [Jellyfrog](https://github.com/Jellyfrog)
* SnmpResponse filter No Such Object ([#17796](https://github.com/librenms/librenms/pull/17796)) - [murrant](https://github.com/murrant)
* Fix compareOid warning ([#17795](https://github.com/librenms/librenms/pull/17795)) - [murrant](https://github.com/murrant)
* Remove references to deprecated pastebin service ([#17768](https://github.com/librenms/librenms/pull/17768)) - [Jellyfrog](https://github.com/Jellyfrog)
* Remove unused files ([#17738](https://github.com/librenms/librenms/pull/17738)) - [Jellyfrog](https://github.com/Jellyfrog)
* Fix up some BGP undefined variables ([#17698](https://github.com/librenms/librenms/pull/17698)) - [murrant](https://github.com/murrant)
* Major error handling change ([#17672](https://github.com/librenms/librenms/pull/17672)) - [murrant](https://github.com/murrant)
* Remove port cache global ([#17668](https://github.com/librenms/librenms/pull/17668)) - [murrant](https://github.com/murrant)

#### Documentation
* Link should be clickable ([#17823](https://github.com/librenms/librenms/pull/17823)) - [murrant](https://github.com/murrant)
* Big document and WebUI config review ([#17771](https://github.com/librenms/librenms/pull/17771)) - [laf](https://github.com/laf)
* Docs update to flag the issue with worker distribution ([#17728](https://github.com/librenms/librenms/pull/17728)) - [laf](https://github.com/laf)
* Updated ilert transport docs to link to new ilert integration ([#17726](https://github.com/librenms/librenms/pull/17726)) - [laf](https://github.com/laf)
* PowerDNS sudo ([#17717](https://github.com/librenms/librenms/pull/17717)) - [murrant](https://github.com/murrant)
* Some lingering paths in docs for os definition move ([#17699](https://github.com/librenms/librenms/pull/17699)) - [laf](https://github.com/laf)
* Updated Ubuntu 22.04 to use php 8.3 and removed 20.04 instructions ([#17695](https://github.com/librenms/librenms/pull/17695)) - [laf](https://github.com/laf)

#### Translation
* Add Toner to lang ([#17718](https://github.com/librenms/librenms/pull/17718)) - [mpikzink](https://github.com/mpikzink)

#### Tests
* Location test: Don't test dns lookup ([#17805](https://github.com/librenms/librenms/pull/17805)) - [Jellyfrog](https://github.com/Jellyfrog)
* Don't delete devices in CI pipeline ([#17652](https://github.com/librenms/librenms/pull/17652)) - [Jellyfrog](https://github.com/Jellyfrog)

#### Misc
* Remove mac view ([#17731](https://github.com/librenms/librenms/pull/17731)) - [eskyuu](https://github.com/eskyuu)
* Improve git checks ([#17677](https://github.com/librenms/librenms/pull/17677)) - [Jellyfrog](https://github.com/Jellyfrog)
* Update schema dump ([#17664](https://github.com/librenms/librenms/pull/17664)) - [Jellyfrog](https://github.com/Jellyfrog)

#### Internal Features
* Error Reporting: skip vendor frames ([#17836](https://github.com/librenms/librenms/pull/17836)) - [murrant](https://github.com/murrant)

#### Mibs
* Update Fortigate (Fortinet) ([#17748](https://github.com/librenms/librenms/pull/17748)) - [alagoutte](https://github.com/alagoutte)

#### Dependencies
* Bump mkdocs-material version ([#17720](https://github.com/librenms/librenms/pull/17720)) - [Jellyfrog](https://github.com/Jellyfrog)
* Update PHP deps and cleanup unused ([#17713](https://github.com/librenms/librenms/pull/17713)) - [Jellyfrog](https://github.com/Jellyfrog)
* Update PHP deps ([#17709](https://github.com/librenms/librenms/pull/17709)) - [Jellyfrog](https://github.com/Jellyfrog)
* Update PHP deps ([#17694](https://github.com/librenms/librenms/pull/17694)) - [murrant](https://github.com/murrant)

## 25.5.0
*(2025-05-16)*

A big thank you to the following 31 contributors this last month:

  - [Jellyfrog](https://github.com/Jellyfrog) (42)
  - [murrant](https://github.com/murrant) (35)
  - [laf](https://github.com/laf) (11)
  - [Npeca75](https://github.com/Npeca75) (9)
  - [rhinoau](https://github.com/rhinoau) (4)
  - [thundersin](https://github.com/thundersin) (4)
  - [peejaychilds](https://github.com/peejaychilds) (4)
  - [VVelox](https://github.com/VVelox) (3)
  - [Domoninic](https://github.com/Domoninic) (3)
  - [andr3jk](https://github.com/andr3jk) (2)
  - [dependabot](https://github.com/apps/dependabot) (2)
  - [EinGlasVollKakao](https://github.com/EinGlasVollKakao) (2)
  - [h-barnhart](https://github.com/h-barnhart) (2)
  - [eskyuu](https://github.com/eskyuu) (2)
  - [Fiala06](https://github.com/Fiala06) (1)
  - [mivsvit](https://github.com/mivsvit) (1)
  - [PipoCanaja](https://github.com/PipoCanaja) (1)
  - [mwobst](https://github.com/mwobst) (1)
  - [dethmetaljeff](https://github.com/dethmetaljeff) (1)
  - [nbartley](https://github.com/nbartley) (1)
  - [pizu](https://github.com/pizu) (1)
  - [santiag0z](https://github.com/santiag0z) (1)
  - [danhusan](https://github.com/danhusan) (1)
  - [devhubpl](https://github.com/devhubpl) (1)
  - [opalivan](https://github.com/opalivan) (1)
  - [moonpyk](https://github.com/moonpyk) (1)
  - [guskarbos](https://github.com/guskarbos) (1)
  - [matdal5423](https://github.com/matdal5423) (1)
  - [Punicaa](https://github.com/Punicaa) (1)
  - [grupelpunt](https://github.com/grupelpunt) (1)
  - [Vireth4114](https://github.com/Vireth4114) (1)

Thanks to maintainers and others that helped with pull requests this month:

  - [laf](https://github.com/laf) (42)
  - [murrant](https://github.com/murrant) (35)
  - [Jellyfrog](https://github.com/Jellyfrog) (16)
  - [PipoCanaja](https://github.com/PipoCanaja) (5)
  - [copilot-pull-request-reviewer](https://github.com/apps/copilot-pull-request-reviewer) (3)
  - [VVelox](https://github.com/VVelox) (3)
  - [electrocret](https://github.com/electrocret) (1)

#### Feature
* Modern dark theme (follow device) ([#17567](https://github.com/librenms/librenms/pull/17567)) - [murrant](https://github.com/murrant)
* ARP and IPv6 ND modules split ([#17558](https://github.com/librenms/librenms/pull/17558)) - [murrant](https://github.com/murrant)
* Per user Fahrenheit temperature display units ([#17453](https://github.com/librenms/librenms/pull/17453)) - [murrant](https://github.com/murrant)

#### Breaking Change
* Awplus Transceivers ([#17421](https://github.com/librenms/librenms/pull/17421)) - [murrant](https://github.com/murrant)

#### Security
* Fix poller group name xss ([#17603](https://github.com/librenms/librenms/pull/17603)) - [murrant](https://github.com/murrant)

#### Device
* Added Server 2025 (24H2) ([#17678](https://github.com/librenms/librenms/pull/17678)) - [Fiala06](https://github.com/Fiala06)
* Added detection for Eltex MES2408C and MES2424 ([#17675](https://github.com/librenms/librenms/pull/17675)) - [rhinoau](https://github.com/rhinoau)
* Adva-fsp150cp input handling ([#17673](https://github.com/librenms/librenms/pull/17673)) - [murrant](https://github.com/murrant)
* Eltex mes23xx convert Battery Charge to YAML ([#17670](https://github.com/librenms/librenms/pull/17670)) - [Npeca75](https://github.com/Npeca75)
* Support for new device cisco ftd 1220 ([#17660](https://github.com/librenms/librenms/pull/17660)) - [andr3jk](https://github.com/andr3jk)
* Add ifName to LOS sensor descriptions for fs-bdcom OS ([#17655](https://github.com/librenms/librenms/pull/17655)) - [mivsvit](https://github.com/mivsvit)
* Fix Ruckus SZ wireless client & AP indexes ([#17641](https://github.com/librenms/librenms/pull/17641)) - [murrant](https://github.com/murrant)
* Sentry4 Fix yaml duplicate key error ([#17640](https://github.com/librenms/librenms/pull/17640)) - [murrant](https://github.com/murrant)
* Use correct snmp function ([#17612](https://github.com/librenms/librenms/pull/17612)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup ([#17611](https://github.com/librenms/librenms/pull/17611)) - [Jellyfrog](https://github.com/Jellyfrog)
* Dont discover state sensors without values ([#17609](https://github.com/librenms/librenms/pull/17609)) - [Jellyfrog](https://github.com/Jellyfrog)
* Fix user_func ([#17606](https://github.com/librenms/librenms/pull/17606)) - [Jellyfrog](https://github.com/Jellyfrog)
* Last Battery Replacement date for APC UPS devices ([#17604](https://github.com/librenms/librenms/pull/17604)) - [mwobst](https://github.com/mwobst)
* Add Branch monitoring for chatsworth pdus ([#17589](https://github.com/librenms/librenms/pull/17589)) - [dethmetaljeff](https://github.com/dethmetaljeff)
* Added support for various morningstar devices ([#17584](https://github.com/librenms/librenms/pull/17584)) - [laf](https://github.com/laf)
* Adding iqnos OS support ([#17578](https://github.com/librenms/librenms/pull/17578)) - [thundersin](https://github.com/thundersin)
* Ironware show temperature of whole stack ([#17569](https://github.com/librenms/librenms/pull/17569)) - [EinGlasVollKakao](https://github.com/EinGlasVollKakao)
* Update hpe-ilo.yaml ([#17554](https://github.com/librenms/librenms/pull/17554)) - [pizu](https://github.com/pizu)
* Ruckus Radius Traps v2 ([#17549](https://github.com/librenms/librenms/pull/17549)) - [h-barnhart](https://github.com/h-barnhart)
* Fix IPv6 Polling for Nokia BGP ([#17534](https://github.com/librenms/librenms/pull/17534)) - [thundersin](https://github.com/thundersin)
* Mpb new device template ([#17501](https://github.com/librenms/librenms/pull/17501)) - [thundersin](https://github.com/thundersin)
* [jetdirect] additional OS & Counters data ([#17495](https://github.com/librenms/librenms/pull/17495)) - [Npeca75](https://github.com/Npeca75)
* [sharp] add OS and Counters info ([#17488](https://github.com/librenms/librenms/pull/17488)) - [Npeca75](https://github.com/Npeca75)
* Adding support for cumulus hardware state sensors ([#17435](https://github.com/librenms/librenms/pull/17435)) - [Punicaa](https://github.com/Punicaa)
* Infinera-Groove DBm and BER Sensor Improvements ([#17330](https://github.com/librenms/librenms/pull/17330)) - [thundersin](https://github.com/thundersin)
* Exception Nimbleos.php ([#17261](https://github.com/librenms/librenms/pull/17261)) - [grupelpunt](https://github.com/grupelpunt)

#### Webui
* OUI search UI improvements ([#17651](https://github.com/librenms/librenms/pull/17651)) - [murrant](https://github.com/murrant)
* Fix menu alert icon colors ([#17614](https://github.com/librenms/librenms/pull/17614)) - [murrant](https://github.com/murrant)
* Theme quick select in user menu ([#17610](https://github.com/librenms/librenms/pull/17610)) - [murrant](https://github.com/murrant)
* HundredGigE and TwentyFiveGigE support in Rewrite ([#17607](https://github.com/librenms/librenms/pull/17607)) - [PipoCanaja](https://github.com/PipoCanaja)
* Fix dark global search background ([#17596](https://github.com/librenms/librenms/pull/17596)) - [murrant](https://github.com/murrant)
* Fix select2 style, copy classes ([#17581](https://github.com/librenms/librenms/pull/17581)) - [murrant](https://github.com/murrant)
* Fixed error message when saving max repeaters and oids ([#17532](https://github.com/librenms/librenms/pull/17532)) - [laf](https://github.com/laf)
* Device - reformat service table ([#17527](https://github.com/librenms/librenms/pull/17527)) - [Domoninic](https://github.com/Domoninic)
* Log service name on status change ([#17526](https://github.com/librenms/librenms/pull/17526)) - [Domoninic](https://github.com/Domoninic)
* Fixed bug not allowing sticky notifications to be unstickied ([#17525](https://github.com/librenms/librenms/pull/17525)) - [laf](https://github.com/laf)
* Add missing labels for auth.socialite settings ([#17516](https://github.com/librenms/librenms/pull/17516)) - [peejaychilds](https://github.com/peejaychilds)
* Fixed transceiver graphs on overview page ([#17502](https://github.com/librenms/librenms/pull/17502)) - [laf](https://github.com/laf)
* Fix an issue with the menu when there is only one group of custom maps ([#17498](https://github.com/librenms/librenms/pull/17498)) - [eskyuu](https://github.com/eskyuu)
* Device link include link in popup ([#17480](https://github.com/librenms/librenms/pull/17480)) - [murrant](https://github.com/murrant)
* Expose discovery protocol settings to webui ([#17474](https://github.com/librenms/librenms/pull/17474)) - [murrant](https://github.com/murrant)
* Fix ospfv3 page when port is missing ([#17469](https://github.com/librenms/librenms/pull/17469)) - [murrant](https://github.com/murrant)
* Improve device-overview-graphs ([#17466](https://github.com/librenms/librenms/pull/17466)) - [murrant](https://github.com/murrant)
* Remove more old css ([#17465](https://github.com/librenms/librenms/pull/17465)) - [murrant](https://github.com/murrant)
* Fix user preferences roles display ([#17450](https://github.com/librenms/librenms/pull/17450)) - [murrant](https://github.com/murrant)
* Fix menu ul styling ([#17449](https://github.com/librenms/librenms/pull/17449)) - [murrant](https://github.com/murrant)

#### Alerting
* Moved alert_id out of the if/else check ([#17568](https://github.com/librenms/librenms/pull/17568)) - [laf](https://github.com/laf)
* Added new options to SMTP (via TLS) settings for certificate verification ([#17486](https://github.com/librenms/librenms/pull/17486)) - [devhubpl](https://github.com/devhubpl)
* Add embedGraph support for Telegram Alert Transport. ([#17451](https://github.com/librenms/librenms/pull/17451)) - [matdal5423](https://github.com/matdal5423)
* Add a GLPI Alert Transport ([#17127](https://github.com/librenms/librenms/pull/17127)) - [Vireth4114](https://github.com/Vireth4114)

#### Graphs
* Fix the app graph smart_other for the application SMART ([#17483](https://github.com/librenms/librenms/pull/17483)) - [VVelox](https://github.com/VVelox)
* Escape % in device sensor graphs ([#17473](https://github.com/librenms/librenms/pull/17473)) - [murrant](https://github.com/murrant)

#### Snmp Traps
* Ruckus RADIUS SNMP Trap Handlers ([#17457](https://github.com/librenms/librenms/pull/17457)) - [h-barnhart](https://github.com/h-barnhart)

#### Applications
* Chronyd remove non-numeric metrics ([#17462](https://github.com/librenms/librenms/pull/17462)) - [murrant](https://github.com/murrant)

#### Api
* Fix API maintenance call notes and duration parsing ([#17583](https://github.com/librenms/librenms/pull/17583)) - [rhinoau](https://github.com/rhinoau)

#### Discovery
* Misc fixes ([#17617](https://github.com/librenms/librenms/pull/17617)) - [Jellyfrog](https://github.com/Jellyfrog)
* [ipv6] fix routeros route discovery (IPV6-MIB) ([#17426](https://github.com/librenms/librenms/pull/17426)) - [Npeca75](https://github.com/Npeca75)

#### Authentication
* SAML2 assigning a role by group bug ([#17487](https://github.com/librenms/librenms/pull/17487)) - [andr3jk](https://github.com/andr3jk)
* SocialiteController fix setRoles -\> syncRoles ([#17477](https://github.com/librenms/librenms/pull/17477)) - [peejaychilds](https://github.com/peejaychilds)

#### Bug
* Fix fdb bridge table array access on null ([#17663](https://github.com/librenms/librenms/pull/17663)) - [murrant](https://github.com/murrant)
* Fix install skipping schema dump ([#17657](https://github.com/librenms/librenms/pull/17657)) - [murrant](https://github.com/murrant)
* Auth resiliency improvements ([#17656](https://github.com/librenms/librenms/pull/17656)) - [murrant](https://github.com/murrant)
* DbFetchRow should return null ([#17636](https://github.com/librenms/librenms/pull/17636)) - [murrant](https://github.com/murrant)
* Fix vlan authorization ([#17615](https://github.com/librenms/librenms/pull/17615)) - [murrant](https://github.com/murrant)
* Miscellaneous fixes ([#17600](https://github.com/librenms/librenms/pull/17600)) - [Jellyfrog](https://github.com/Jellyfrog)
* Don't crash on missing lldpLocPortDesc ([#17599](https://github.com/librenms/librenms/pull/17599)) - [Jellyfrog](https://github.com/Jellyfrog)
* Dont throw exception when index is missing ([#17598](https://github.com/librenms/librenms/pull/17598)) - [Jellyfrog](https://github.com/Jellyfrog)
* Add device_id to ObjectCache key ([#17588](https://github.com/librenms/librenms/pull/17588)) - [Jellyfrog](https://github.com/Jellyfrog)
* Cleanup invalid socialite configs ([#17587](https://github.com/librenms/librenms/pull/17587)) - [Jellyfrog](https://github.com/Jellyfrog)
* [webui] fix mac search ([#17582](https://github.com/librenms/librenms/pull/17582)) - [Npeca75](https://github.com/Npeca75)
* Fix device edit SNMPv3 algorithm dropdown handling ([#17580](https://github.com/librenms/librenms/pull/17580)) - [rhinoau](https://github.com/rhinoau)
* Fix error in discovery-protocols ([#17579](https://github.com/librenms/librenms/pull/17579)) - [Npeca75](https://github.com/Npeca75)
* Fix install database issue from Laravel 11.x defaults ([#17552](https://github.com/librenms/librenms/pull/17552)) - [rhinoau](https://github.com/rhinoau)
* [arp-table] fix for pure IPv6 network ([#17538](https://github.com/librenms/librenms/pull/17538)) - [Npeca75](https://github.com/Npeca75)
* Bug - Fix for device--print-alert-rules.php ([#17485](https://github.com/librenms/librenms/pull/17485)) - [opalivan](https://github.com/opalivan)
* Fixed discovery logic in equallogic.inc.php ([#17481](https://github.com/librenms/librenms/pull/17481)) - [moonpyk](https://github.com/moonpyk)
* Fix MPLS polling for TiMOS 8.0.R6  (#17411) ([#17456](https://github.com/librenms/librenms/pull/17456)) - [guskarbos](https://github.com/guskarbos)

#### Refactor
* Remove snmp_translate ([#17638](https://github.com/librenms/librenms/pull/17638)) - [murrant](https://github.com/murrant)
* [datacom] dBm sensors to YAML ([#17557](https://github.com/librenms/librenms/pull/17557)) - [Npeca75](https://github.com/Npeca75)
* Remove LegacyQueryListener ([#17511](https://github.com/librenms/librenms/pull/17511)) - [murrant](https://github.com/murrant)

#### Cleanup
* Ignore unset variable ([#17647](https://github.com/librenms/librenms/pull/17647)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS V*, W*, X* ([#17646](https://github.com/librenms/librenms/pull/17646)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS S*, T*, V* ([#17643](https://github.com/librenms/librenms/pull/17643)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS O*, P*, R* ([#17635](https://github.com/librenms/librenms/pull/17635)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS N* ([#17633](https://github.com/librenms/librenms/pull/17633)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS L* ([#17632](https://github.com/librenms/librenms/pull/17632)) - [Jellyfrog](https://github.com/Jellyfrog)
* Don't try to loop none existing ports ([#17629](https://github.com/librenms/librenms/pull/17629)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup ([#17626](https://github.com/librenms/librenms/pull/17626)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup ([#17625](https://github.com/librenms/librenms/pull/17625)) - [Jellyfrog](https://github.com/Jellyfrog)
* Misc fixes 2 ([#17624](https://github.com/librenms/librenms/pull/17624)) - [Jellyfrog](https://github.com/Jellyfrog)
* Misc fixes ([#17623](https://github.com/librenms/librenms/pull/17623)) - [Jellyfrog](https://github.com/Jellyfrog)
* Misc fixes ([#17622](https://github.com/librenms/librenms/pull/17622)) - [Jellyfrog](https://github.com/Jellyfrog)
* Misc fixes ([#17621](https://github.com/librenms/librenms/pull/17621)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS E ([#17613](https://github.com/librenms/librenms/pull/17613)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS C ([#17608](https://github.com/librenms/librenms/pull/17608)) - [Jellyfrog](https://github.com/Jellyfrog)
* Bail early if allowed network list is empty ([#17601](https://github.com/librenms/librenms/pull/17601)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS A* ([#17597](https://github.com/librenms/librenms/pull/17597)) - [Jellyfrog](https://github.com/Jellyfrog)
* Remove invalid sensors from database ([#17595](https://github.com/librenms/librenms/pull/17595)) - [Jellyfrog](https://github.com/Jellyfrog)
* Miscellaneous cleanup - OS A* ([#17590](https://github.com/librenms/librenms/pull/17590)) - [Jellyfrog](https://github.com/Jellyfrog)
* Add Sensor Enum ([#17571](https://github.com/librenms/librenms/pull/17571)) - [Jellyfrog](https://github.com/Jellyfrog)
* Remove keys_in validation ([#17556](https://github.com/librenms/librenms/pull/17556)) - [murrant](https://github.com/murrant)
* Remove LibreNMS\Config as ([#17513](https://github.com/librenms/librenms/pull/17513)) - [murrant](https://github.com/murrant)
* Remove incorrect dirFromHost usage ([#17467](https://github.com/librenms/librenms/pull/17467)) - [murrant](https://github.com/murrant)

#### Documentation
* Add in info for clearing the boot strap cache for manual updating docs ([#17634](https://github.com/librenms/librenms/pull/17634)) - [VVelox](https://github.com/VVelox)
* DOC - Fix Markdown for Memory pools table in Entities ([#17540](https://github.com/librenms/librenms/pull/17540)) - [santiag0z](https://github.com/santiag0z)

#### Tests
* Don't suppress errors ([#17650](https://github.com/librenms/librenms/pull/17650)) - [Jellyfrog](https://github.com/Jellyfrog)
* Refactor UpsTrapOnBatteryTest to use `for($device)-\>create()` for sen… ([#17509](https://github.com/librenms/librenms/pull/17509)) - [Jellyfrog](https://github.com/Jellyfrog)

#### Misc
* Eltex mes23xx drop last php precache ([#17671](https://github.com/librenms/librenms/pull/17671)) - [Npeca75](https://github.com/Npeca75)
* Update DeviceController.php - Broaden search returns ([#17586](https://github.com/librenms/librenms/pull/17586)) - [nbartley](https://github.com/nbartley)
* Add validation for array keys not being empty ([#17585](https://github.com/librenms/librenms/pull/17585)) - [Jellyfrog](https://github.com/Jellyfrog)
* Set app name in config/app.php ([#17574](https://github.com/librenms/librenms/pull/17574)) - [VVelox](https://github.com/VVelox)
* Ironware disable bulkwalk for ifPhysAddress ([#17570](https://github.com/librenms/librenms/pull/17570)) - [EinGlasVollKakao](https://github.com/EinGlasVollKakao)
* Validate array key in array-sub-keyed type ([#17559](https://github.com/librenms/librenms/pull/17559)) - [Jellyfrog](https://github.com/Jellyfrog)
* Add --allow-releaseinfo-change to apt-get update ([#17543](https://github.com/librenms/librenms/pull/17543)) - [peejaychilds](https://github.com/peejaychilds)
* SocialiteControllerTest for testing setRolesFromClaim function ([#17542](https://github.com/librenms/librenms/pull/17542)) - [peejaychilds](https://github.com/peejaychilds)
* Laravel 12.x Shift ([#17515](https://github.com/librenms/librenms/pull/17515)) - [Jellyfrog](https://github.com/Jellyfrog)
* Revert "Ruckus RADIUS SNMP Trap Handlers" ([#17507](https://github.com/librenms/librenms/pull/17507)) - [Jellyfrog](https://github.com/Jellyfrog)
* Fix a HTML error in device.inc.php to correctly close a select tag ([#17499](https://github.com/librenms/librenms/pull/17499)) - [eskyuu](https://github.com/eskyuu)
* Fix proxmox cluster filtering ([#17493](https://github.com/librenms/librenms/pull/17493)) - [danhusan](https://github.com/danhusan)

#### Internal Features
* Throw exceptions when tests are running ([#17562](https://github.com/librenms/librenms/pull/17562)) - [murrant](https://github.com/murrant)

#### Dependencies
* Bump league/commonmark from 2.6.2 to 2.7.0 ([#17616](https://github.com/librenms/librenms/pull/17616)) - [dependabot](https://github.com/apps/dependabot)
* Bump vite from 6.2.6 to 6.3.4 ([#17573](https://github.com/librenms/librenms/pull/17573)) - [dependabot](https://github.com/apps/dependabot)
* Clear caches before update ([#17510](https://github.com/librenms/librenms/pull/17510)) - [murrant](https://github.com/murrant)
* Upgrade to Carbon 3 ([#17506](https://github.com/librenms/librenms/pull/17506)) - [Jellyfrog](https://github.com/Jellyfrog)
* Laravel 11.x Shift ([#17384](https://github.com/librenms/librenms/pull/17384)) - [Jellyfrog](https://github.com/Jellyfrog)


## 25.4.0
*(2025-04-14)*

A big thank you to the following 47 contributors this last month:

  - [murrant](https://github.com/murrant) (54)
  - [Jellyfrog](https://github.com/Jellyfrog) (11)
  - [laf](https://github.com/laf) (8)
  - [dependabot](https://github.com/apps/dependabot) (4)
  - [TheMysteriousX](https://github.com/TheMysteriousX) (4)
  - [VVelox](https://github.com/VVelox) (4)
  - [Npeca75](https://github.com/Npeca75) (4)
  - [rudybroersma](https://github.com/rudybroersma) (3)
  - [peejaychilds](https://github.com/peejaychilds) (2)
  - [mivsvit](https://github.com/mivsvit) (2)
  - [peelman](https://github.com/peelman) (2)
  - [mpikzink](https://github.com/mpikzink) (2)
  - [danhusan](https://github.com/danhusan) (1)
  - [systeembeheerder](https://github.com/systeembeheerder) (1)
  - [netdiver](https://github.com/netdiver) (1)
  - [mengy-yu](https://github.com/mengy-yu) (1)
  - [nonsensical-widget](https://github.com/nonsensical-widget) (1)
  - [LoveSkylark](https://github.com/LoveSkylark) (1)
  - [idanoo](https://github.com/idanoo) (1)
  - [alextremblay](https://github.com/alextremblay) (1)
  - [h-barnhart](https://github.com/h-barnhart) (1)
  - [loopodoopo](https://github.com/loopodoopo) (1)
  - [angel-pandey](https://github.com/angel-pandey) (1)
  - [martinberg](https://github.com/martinberg) (1)
  - [clmcavaney](https://github.com/clmcavaney) (1)
  - [MelonicOverlord](https://github.com/MelonicOverlord) (1)
  - [Sushi1324](https://github.com/Sushi1324) (1)
  - [PipoCanaja](https://github.com/PipoCanaja) (1)
  - [Manjunath-krishna](https://github.com/Manjunath-krishna) (1)
  - [dmbokhan](https://github.com/dmbokhan) (1)
  - [eskyuu](https://github.com/eskyuu) (1)
  - [andrecasas](https://github.com/andrecasas) (1)
  - [robje](https://github.com/robje) (1)
  - [HolgerHees](https://github.com/HolgerHees) (1)
  - [cgriffin352](https://github.com/cgriffin352) (1)
  - [xorrkaz](https://github.com/xorrkaz) (1)
  - [thundersin](https://github.com/thundersin) (1)
  - [bsteinert](https://github.com/bsteinert) (1)
  - [dot-mike](https://github.com/dot-mike) (1)
  - [takyanagida](https://github.com/takyanagida) (1)
  - [Vireth4114](https://github.com/Vireth4114) (1)
  - [sorano](https://github.com/sorano) (1)
  - [zombah](https://github.com/zombah) (1)
  - [jwestfall69](https://github.com/jwestfall69) (1)
  - [pdgunter](https://github.com/pdgunter) (1)
  - [bnoack-stepcg](https://github.com/bnoack-stepcg) (1)
  - [bionicman](https://github.com/bionicman) (1)

Thanks to maintainers and others that helped with pull requests this month:

  - [laf](https://github.com/laf) (58)
  - [murrant](https://github.com/murrant) (37)
  - [Jellyfrog](https://github.com/Jellyfrog) (25)
  - [PipoCanaja](https://github.com/PipoCanaja) (3)
  - [ottorei](https://github.com/ottorei) (2)
  - [electrocret](https://github.com/electrocret) (2)
  - [copilot-pull-request-reviewer](https://github.com/apps/copilot-pull-request-reviewer) (1)

#### Breaking Change
* Replace bouncer with laravel-permissions ([#17288](https://github.com/librenms/librenms/pull/17288)) - [murrant](https://github.com/murrant)
* Deprecate snmp.inc.php ([#17334](https://github.com/librenms/librenms/pull/17334)) - [murrant](https://github.com/murrant)

#### Feature
* Expose os_text as a report field ([#17422](https://github.com/librenms/librenms/pull/17422)) - [TheMysteriousX](https://github.com/TheMysteriousX)
* Add lnms report:devices field completion ([#17408](https://github.com/librenms/librenms/pull/17408)) - [murrant](https://github.com/murrant)
* Save link-local addresses ([#17314](https://github.com/librenms/librenms/pull/17314)) - [murrant](https://github.com/murrant)
* Support for docker/K8s container health check ([#16273](https://github.com/librenms/librenms/pull/16273)) - [murrant](https://github.com/murrant)

#### Security
* Use dynamic selects in edit user ([#17379](https://github.com/librenms/librenms/pull/17379)) - [murrant](https://github.com/murrant)

#### Device
* Add TRENDnet TL2-F7120 ([#17442](https://github.com/librenms/librenms/pull/17442)) - [danhusan](https://github.com/danhusan)
* Add minimal support for Sangoma Vega gateways os ([#17434](https://github.com/librenms/librenms/pull/17434)) - [netdiver](https://github.com/netdiver)
* Update definitions/webpower-smart2.yaml ([#17432](https://github.com/librenms/librenms/pull/17432)) - [mengy-yu](https://github.com/mengy-yu)
* Update raritan-pdu.inc.php ([#17425](https://github.com/librenms/librenms/pull/17425)) - [nonsensical-widget](https://github.com/nonsensical-widget)
* Eaton UPS M2 - Add battery health sensors ([#17423](https://github.com/librenms/librenms/pull/17423)) - [rudybroersma](https://github.com/rudybroersma)
* New Meraki APs ([#17416](https://github.com/librenms/librenms/pull/17416)) - [LoveSkylark](https://github.com/LoveSkylark)
* [ligoos] add DLB device variant 15-ac ([#17415](https://github.com/librenms/librenms/pull/17415)) - [Npeca75](https://github.com/Npeca75)
* [mes23xx] restore IPv6 discovery ([#17407](https://github.com/librenms/librenms/pull/17407)) - [Npeca75](https://github.com/Npeca75)
* [mes24xx] restore IPv6 discovery ([#17406](https://github.com/librenms/librenms/pull/17406)) - [Npeca75](https://github.com/Npeca75)
* Add support for Grandstream GWN7822P Switch ([#17405](https://github.com/librenms/librenms/pull/17405)) - [idanoo](https://github.com/idanoo)
* Algcom Site Monitor ([#17383](https://github.com/librenms/librenms/pull/17383)) - [murrant](https://github.com/murrant)
* ParseIpField() handles TiMOS SNMP-encoded hex IP strings (e.g. '… ([#17375](https://github.com/librenms/librenms/pull/17375)) - [loopodoopo](https://github.com/loopodoopo)
* Updated sysDescr for Aruba Os 10 ([#17372](https://github.com/librenms/librenms/pull/17372)) - [angel-pandey](https://github.com/angel-pandey)
* Handle Juniper version where JSU in use ([#17357](https://github.com/librenms/librenms/pull/17357)) - [peejaychilds](https://github.com/peejaychilds)
* Eatonups power per phase ([#17354](https://github.com/librenms/librenms/pull/17354)) - [martinberg](https://github.com/martinberg)
* Fix bison deprecated snmp ([#17345](https://github.com/librenms/librenms/pull/17345)) - [murrant](https://github.com/murrant)
* Update Cisco Platform Detection ([#17342](https://github.com/librenms/librenms/pull/17342)) - [MelonicOverlord](https://github.com/MelonicOverlord)
* Improved Sensor Discovery for Eaton PDU ([#17326](https://github.com/librenms/librenms/pull/17326)) - [Sushi1324](https://github.com/Sushi1324)
* Increase FS / BDCOM power supply failure severity ([#17324](https://github.com/librenms/librenms/pull/17324)) - [mivsvit](https://github.com/mivsvit)
* [transceivers] Eltex MES24xx Transceiver support ([#17323](https://github.com/librenms/librenms/pull/17323)) - [Npeca75](https://github.com/Npeca75)
* Adding Additional Sensors and Data Gathering for Nokia 1830 PSD ([#17320](https://github.com/librenms/librenms/pull/17320)) - [peelman](https://github.com/peelman)
* Add support for bison router ([#17316](https://github.com/librenms/librenms/pull/17316)) - [Manjunath-krishna](https://github.com/Manjunath-krishna)
* Added detection for Eltex MES2300D ([#17309](https://github.com/librenms/librenms/pull/17309)) - [dmbokhan](https://github.com/dmbokhan)
* Fix Datacom optical signal levels by changing divisor value ([#17294](https://github.com/librenms/librenms/pull/17294)) - [andrecasas](https://github.com/andrecasas)
* Update FORTINET-FORTIAP-MIB ([#17287](https://github.com/librenms/librenms/pull/17287)) - [rudybroersma](https://github.com/rudybroersma)
* Axis camera  temperature thresholds ([#17284](https://github.com/librenms/librenms/pull/17284)) - [robje](https://github.com/robje)
* Device OS fs-switch-dc: skip TX and RX transeiver sensors if interface is admin down ([#17283](https://github.com/librenms/librenms/pull/17283)) - [mivsvit](https://github.com/mivsvit)
* Fix rittal multi sensor detection ([#17282](https://github.com/librenms/librenms/pull/17282)) - [HolgerHees](https://github.com/HolgerHees)
* Non-Greedy version from hrSWInstalledName on junos ([#17267](https://github.com/librenms/librenms/pull/17267)) - [peejaychilds](https://github.com/peejaychilds)
* Fixing TIMOS BGP discovery ([#17250](https://github.com/librenms/librenms/pull/17250)) - [thundersin](https://github.com/thundersin)
* Nokia ISAM module improvement ([#17228](https://github.com/librenms/librenms/pull/17228)) - [bsteinert](https://github.com/bsteinert)
* Improve Cisco C1200/C1300 support by merging it into ciscosb ([#17208](https://github.com/librenms/librenms/pull/17208)) - [takyanagida](https://github.com/takyanagida)
* Fix FortiSwitch FDB discovery ([#17194](https://github.com/librenms/librenms/pull/17194)) - [rudybroersma](https://github.com/rudybroersma)
* Video decoder ([#17080](https://github.com/librenms/librenms/pull/17080)) - [sorano](https://github.com/sorano)
* Update tripp lite sensors ([#15671](https://github.com/librenms/librenms/pull/15671)) - [peelman](https://github.com/peelman)

#### Webui
* Load bootstrap in with tailwinds ([#17436](https://github.com/librenms/librenms/pull/17436)) - [laf](https://github.com/laf)
* Fix default language always showing current ([#17353](https://github.com/librenms/librenms/pull/17353)) - [murrant](https://github.com/murrant)
* Fix JS language files not loading ([#17351](https://github.com/librenms/librenms/pull/17351)) - [murrant](https://github.com/murrant)
* Fix device ssh links ([#17329](https://github.com/librenms/librenms/pull/17329)) - [murrant](https://github.com/murrant)
* Updated Custom map list to sub menu ([#17317](https://github.com/librenms/librenms/pull/17317)) - [laf](https://github.com/laf)
* Stop STP page from doing lookups on blanks ([#17301](https://github.com/librenms/librenms/pull/17301)) - [eskyuu](https://github.com/eskyuu)
* Migrate from Laravel Mix to Vite ([#17279](https://github.com/librenms/librenms/pull/17279)) - [murrant](https://github.com/murrant)
* Ifalias on alerts ([#17274](https://github.com/librenms/librenms/pull/17274)) - [cgriffin352](https://github.com/cgriffin352)
* Upgrade to Tailwind 4 ([#17253](https://github.com/librenms/librenms/pull/17253)) - [murrant](https://github.com/murrant)

#### Alerting
* Removed UKFastPSS Alert transport ([#17410](https://github.com/librenms/librenms/pull/17410)) - [laf](https://github.com/laf)
* Add MS Teams AdaptiveCard JSON example ([#17396](https://github.com/librenms/librenms/pull/17396)) - [alextremblay](https://github.com/alextremblay)
* Use the main ID for the alert within Grafana transport ([#17328](https://github.com/librenms/librenms/pull/17328)) - [laf](https://github.com/laf)
* Updated API Transport to support urlencoded forms ([#17389](https://github.com/librenms/librenms/pull/17389)) - [laf](https://github.com/laf)
* Log a message when an alert is unack'd too ([#17306](https://github.com/librenms/librenms/pull/17306)) - [TheMysteriousX](https://github.com/TheMysteriousX)
* Add alert rules for Dell DRAC and OME-M sensors ([#15905](https://github.com/librenms/librenms/pull/15905)) - [bionicman](https://github.com/bionicman)

#### Snmp Traps
* Ciena SAOS Port State SNMP Traps ([#17393](https://github.com/librenms/librenms/pull/17393)) - [h-barnhart](https://github.com/h-barnhart)

#### Api
* Add ip version specific endpoints ([#17007](https://github.com/librenms/librenms/pull/17007)) - [zombah](https://github.com/zombah)
* Add tagged VLANs to api call 'get_port_info' ([#14960](https://github.com/librenms/librenms/pull/14960)) - [mpikzink](https://github.com/mpikzink)
* API - allow add device to override sysLocation ([#16060](https://github.com/librenms/librenms/pull/16060)) - [pdgunter](https://github.com/pdgunter)

#### Discovery
* IPv6 prefix length: fallback to IP-MIB::ipAddressPrefixTable ([#17427](https://github.com/librenms/librenms/pull/17427)) - [murrant](https://github.com/murrant)
* Services trimming null ([#17403](https://github.com/librenms/librenms/pull/17403)) - [murrant](https://github.com/murrant)

#### Bug
* Fix incorrect usage of array_slice ([#17430](https://github.com/librenms/librenms/pull/17430)) - [TheMysteriousX](https://github.com/TheMysteriousX)
* Fix issue with wireless module when no sensors exist ([#17392](https://github.com/librenms/librenms/pull/17392)) - [murrant](https://github.com/murrant)
* Do not link IPv6 link-locals to a network ([#17386](https://github.com/librenms/librenms/pull/17386)) - [murrant](https://github.com/murrant)
* Only apply storage_perc_warn on created ([#17377](https://github.com/librenms/librenms/pull/17377)) - [murrant](https://github.com/murrant)
* Fix Yaml data fetch bug ([#17370](https://github.com/librenms/librenms/pull/17370)) - [murrant](https://github.com/murrant)
* Fix uncompressed ipv6 for mapped ipv4 ([#17369](https://github.com/librenms/librenms/pull/17369)) - [murrant](https://github.com/murrant)
* Fix admin only scope ([#17359](https://github.com/librenms/librenms/pull/17359)) - [murrant](https://github.com/murrant)
* Fix installer breakage ([#17350](https://github.com/librenms/librenms/pull/17350)) - [murrant](https://github.com/murrant)
* Roles migration ignore duplicate roles ([#17344](https://github.com/librenms/librenms/pull/17344)) - [murrant](https://github.com/murrant)
* Ospfv3 rewrite ([#17322](https://github.com/librenms/librenms/pull/17322)) - [murrant](https://github.com/murrant)
* Fetch all IPv6 Link-Local ([#17321](https://github.com/librenms/librenms/pull/17321)) - [murrant](https://github.com/murrant)
* Bug - Zyxel - Fix for FDB discovery ([#17318](https://github.com/librenms/librenms/pull/17318)) - [PipoCanaja](https://github.com/PipoCanaja)
* Fix SnmpResponse getRawWithoutBadLines ([#17315](https://github.com/librenms/librenms/pull/17315)) - [murrant](https://github.com/murrant)
* Fix popups background color ([#17278](https://github.com/librenms/librenms/pull/17278)) - [murrant](https://github.com/murrant)
* Groups of service template not updating ([#17123](https://github.com/librenms/librenms/pull/17123)) - [Vireth4114](https://github.com/Vireth4114)

#### Refactor
* Refactor processors table backend ([#17365](https://github.com/librenms/librenms/pull/17365)) - [murrant](https://github.com/murrant)
* Refactor storages table backend ([#17364](https://github.com/librenms/librenms/pull/17364)) - [murrant](https://github.com/murrant)
* Refactor sensors table backend ([#17363](https://github.com/librenms/librenms/pull/17363)) - [murrant](https://github.com/murrant)
* Remove includes/datastore.inc.php ([#17107](https://github.com/librenms/librenms/pull/17107)) - [mpikzink](https://github.com/mpikzink)

#### Cleanup
* Only join the device table when searching ([#17428](https://github.com/librenms/librenms/pull/17428)) - [murrant](https://github.com/murrant)
* Fix PHPStan/Larastan errors ([#17398](https://github.com/librenms/librenms/pull/17398)) - [Jellyfrog](https://github.com/Jellyfrog)
* Convert route options to fluent methods ([#17395](https://github.com/librenms/librenms/pull/17395)) - [Jellyfrog](https://github.com/Jellyfrog)
* Fix test namespaces ([#17339](https://github.com/librenms/librenms/pull/17339)) - [murrant](https://github.com/murrant)
* Remove CheckStatus ([#17305](https://github.com/librenms/librenms/pull/17305)) - [murrant](https://github.com/murrant)
* Correct casing of SmokepingGenerateCommand ([#17299](https://github.com/librenms/librenms/pull/17299)) - [Jellyfrog](https://github.com/Jellyfrog)
* Drop ospfv3_nbrs.ospfv3NbrIfIndex ([#17275](https://github.com/librenms/librenms/pull/17275)) - [TheMysteriousX](https://github.com/TheMysteriousX)
* Add missing config definitions and reformat ([#14797](https://github.com/librenms/librenms/pull/14797)) - [VVelox](https://github.com/VVelox)

#### Documentation
* Add Debian 13 "Trixie" install instructions ([#17438](https://github.com/librenms/librenms/pull/17438)) - [systeembeheerder](https://github.com/systeembeheerder)
* Improved health sensor docs ([#17419](https://github.com/librenms/librenms/pull/17419)) - [murrant](https://github.com/murrant)
* Updated Transport docs and some other small tweaks ([#17409](https://github.com/librenms/librenms/pull/17409)) - [laf](https://github.com/laf)
* Use SnmpQuery in the docs ([#17388](https://github.com/librenms/librenms/pull/17388)) - [murrant](https://github.com/murrant)
* Documentation for SnmpQuery ([#17368](https://github.com/librenms/librenms/pull/17368)) - [murrant](https://github.com/murrant)
* Clarify the naming convention for seeder keys. ([#17272](https://github.com/librenms/librenms/pull/17272)) - [xorrkaz](https://github.com/xorrkaz)
* Documentation: High Availability setup with redis sentinel ([#17214](https://github.com/librenms/librenms/pull/17214)) - [dot-mike](https://github.com/dot-mike)

#### Translation
* Updating minor help popup text grammatical error ([#17347](https://github.com/librenms/librenms/pull/17347)) - [clmcavaney](https://github.com/clmcavaney)

#### Tests
* Ospfv3 module has discovery, test it. ([#17440](https://github.com/librenms/librenms/pull/17440)) - [murrant](https://github.com/murrant)
* Update super-linter to v7 ([#17300](https://github.com/librenms/librenms/pull/17300)) - [Jellyfrog](https://github.com/Jellyfrog)
* Add assertions to mockery shouldReceive's ([#17292](https://github.com/librenms/librenms/pull/17292)) - [Jellyfrog](https://github.com/Jellyfrog)
* Remove auto snmpsim and migrate:fresh from phpunit calls ([#17290](https://github.com/librenms/librenms/pull/17290)) - [murrant](https://github.com/murrant)
* Use static data providers ([#17286](https://github.com/librenms/librenms/pull/17286)) - [murrant](https://github.com/murrant)
* PHPUnit 10 Shift ([#17285](https://github.com/librenms/librenms/pull/17285)) - [Jellyfrog](https://github.com/Jellyfrog)

#### Misc
* Sagan logging fix: properly get a list of old instances now to avoid constantly regarding something a new ([#17429](https://github.com/librenms/librenms/pull/17429)) - [VVelox](https://github.com/VVelox)
* App Sneck: now includes a easy means to view per check info as well as support debug only items ([#17414](https://github.com/librenms/librenms/pull/17414)) - [VVelox](https://github.com/VVelox)
* Add a json(with the capability of including additional info such as ports etc) and headerless mode to report:devices ([#17391](https://github.com/librenms/librenms/pull/17391)) - [VVelox](https://github.com/VVelox)
* Ignore errors when collecting snmprecs ([#17382](https://github.com/librenms/librenms/pull/17382)) - [murrant](https://github.com/murrant)
* PHP version check in webui ([#17367](https://github.com/librenms/librenms/pull/17367)) - [murrant](https://github.com/murrant)
* Revert "Update super-linter to v7" ([#17302](https://github.com/librenms/librenms/pull/17302)) - [Jellyfrog](https://github.com/Jellyfrog)
* Throttle dispatcher service's redis reconnection rate ([#16525](https://github.com/librenms/librenms/pull/16525)) - [jwestfall69](https://github.com/jwestfall69)

#### Dependencies
* Bump vite from 6.2.5 to 6.2.6 ([#17439](https://github.com/librenms/librenms/pull/17439)) - [dependabot](https://github.com/apps/dependabot)
* Bump vite from 6.2.4 to 6.2.5 ([#17401](https://github.com/librenms/librenms/pull/17401)) - [dependabot](https://github.com/apps/dependabot)
* Actually require PHP 8.2 ([#17387](https://github.com/librenms/librenms/pull/17387)) - [murrant](https://github.com/murrant)
* Bump vite from 6.2.3 to 6.2.4 ([#17378](https://github.com/librenms/librenms/pull/17378)) - [dependabot](https://github.com/apps/dependabot)
* Bump vite from 6.2.2 to 6.2.3 ([#17331](https://github.com/librenms/librenms/pull/17331)) - [dependabot](https://github.com/apps/dependabot)


## 25.3.0
*(2025-03-16)*

A big thank you to the following 26 contributors this last month:

  - [murrant](https://github.com/murrant) (15)
  - [laf](https://github.com/laf) (7)
  - [PipoCanaja](https://github.com/PipoCanaja) (6)
  - [mivsvit](https://github.com/mivsvit) (6)
  - [rhinoau](https://github.com/rhinoau) (6)
  - [rudybroersma](https://github.com/rudybroersma) (4)
  - [TheMysteriousX](https://github.com/TheMysteriousX) (2)
  - [w1ll14m](https://github.com/w1ll14m) (2)
  - [alagoutte](https://github.com/alagoutte) (2)
  - [adiaczenko](https://github.com/adiaczenko) (1)
  - [vhuk](https://github.com/vhuk) (1)
  - [opalivan](https://github.com/opalivan) (1)
  - [dethmetaljeff](https://github.com/dethmetaljeff) (1)
  - [fabriciotm](https://github.com/fabriciotm) (1)
  - [sthen](https://github.com/sthen) (1)
  - [kruczek8989](https://github.com/kruczek8989) (1)
  - [cgriffin352](https://github.com/cgriffin352) (1)
  - [deajan](https://github.com/deajan) (1)
  - [stefanl234](https://github.com/stefanl234) (1)
  - [runnane](https://github.com/runnane) (1)
  - [choicedraught](https://github.com/choicedraught) (1)
  - [medeiros405](https://github.com/medeiros405) (1)
  - [peejaychilds](https://github.com/peejaychilds) (1)
  - [takyanagida](https://github.com/takyanagida) (1)
  - [smos](https://github.com/smos) (1)
  - [lprosch](https://github.com/lprosch) (1)

Thanks to maintainers and others that helped with pull requests this month:

  - [laf](https://github.com/laf) (29)
  - [Jellyfrog](https://github.com/Jellyfrog) (13)
  - [PipoCanaja](https://github.com/PipoCanaja) (11)
  - [murrant](https://github.com/murrant) (5)
  - [electrocret](https://github.com/electrocret) (2)
  - [ottorei](https://github.com/ottorei) (1)

#### Feature
* IPv6 neighbor discovery ([#17089](https://github.com/librenms/librenms/pull/17089)) - [murrant](https://github.com/murrant)
* Add support for OSPFv3 discovery and polling ([#17046](https://github.com/librenms/librenms/pull/17046)) - [smos](https://github.com/smos)

#### Device
* Devices - add support for parks-switch ([#17263](https://github.com/librenms/librenms/pull/17263)) - [adiaczenko](https://github.com/adiaczenko)
* Fix invalid yaml fs-switch-dc ([#17255](https://github.com/librenms/librenms/pull/17255)) - [murrant](https://github.com/murrant)
* Fix for some Cisco Nexus Transceivers ([#17247](https://github.com/librenms/librenms/pull/17247)) - [PipoCanaja](https://github.com/PipoCanaja)
* Add RUT956 support with test cases ([#17245](https://github.com/librenms/librenms/pull/17245)) - [vhuk](https://github.com/vhuk)
* Add Support for Huawei Optix RTN family ([#17243](https://github.com/librenms/librenms/pull/17243)) - [opalivan](https://github.com/opalivan)
* Add cord balance to sentry pdu ([#17242](https://github.com/librenms/librenms/pull/17242)) - [dethmetaljeff](https://github.com/dethmetaljeff)
* Updated Flexbng to add individual dhcp pool % ([#17240](https://github.com/librenms/librenms/pull/17240)) - [laf](https://github.com/laf)
* Update features discovery for Panduit devices ([#17238](https://github.com/librenms/librenms/pull/17238)) - [mivsvit](https://github.com/mivsvit)
* Add support for Cisco Ultra-Reliable Wireless Backhaul APs ([#17232](https://github.com/librenms/librenms/pull/17232)) - [rudybroersma](https://github.com/rudybroersma)
* Fix discovery for IOS IE3200 with v17.12 ([#17231](https://github.com/librenms/librenms/pull/17231)) - [rudybroersma](https://github.com/rudybroersma)
* Add outlet, temperature, humidity sensor support for Panduit PDUs ([#17221](https://github.com/librenms/librenms/pull/17221)) - [mivsvit](https://github.com/mivsvit)
* Added detection for Eltex MES2448 ([#17211](https://github.com/librenms/librenms/pull/17211)) - [rhinoau](https://github.com/rhinoau)
* Cisco 400g transceiver ([#17209](https://github.com/librenms/librenms/pull/17209)) - [cgriffin352](https://github.com/cgriffin352)
* Eaton sc300 rectifer OS support ([#17201](https://github.com/librenms/librenms/pull/17201)) - [mivsvit](https://github.com/mivsvit)
* Correct discovery for Panduit G5 series PDUs ([#17188](https://github.com/librenms/librenms/pull/17188)) - [mivsvit](https://github.com/mivsvit)
* Properly display power supply numbers for YunShan OS in LibreNMS ([#17184](https://github.com/librenms/librenms/pull/17184)) - [medeiros405](https://github.com/medeiros405)
* FS S3900 switch sysobject additions ([#17181](https://github.com/librenms/librenms/pull/17181)) - [mivsvit](https://github.com/mivsvit)
* Support envPhysicalDescr for junos EVO transceivers ([#17173](https://github.com/librenms/librenms/pull/17173)) - [peejaychilds](https://github.com/peejaychilds)
* Fix cisco qos missing title ([#17158](https://github.com/librenms/librenms/pull/17158)) - [murrant](https://github.com/murrant)
* Fix for issue #16895 ([#17145](https://github.com/librenms/librenms/pull/17145)) - [rudybroersma](https://github.com/rudybroersma)
* Improve Zebra label printer support ([#17106](https://github.com/librenms/librenms/pull/17106)) - [takyanagida](https://github.com/takyanagida)

#### Webui
* Updated html/js/pace.min.js to 1.2.4 and added data-pace-options params to layouts/librenmsv1 ([#17205](https://github.com/librenms/librenms/pull/17205)) - [w1ll14m](https://github.com/w1ll14m)
* Fix alert history table verbose detail display ([#17178](https://github.com/librenms/librenms/pull/17178)) - [rhinoau](https://github.com/rhinoau)
* Fix 'page' selection for the ARP Search page. $page wasn't supplied to pagination. ([#17175](https://github.com/librenms/librenms/pull/17175)) - [w1ll14m](https://github.com/w1ll14m)

#### Alerting
* Adding alert transport for ilert. ([#15880](https://github.com/librenms/librenms/pull/15880)) - [lprosch](https://github.com/lprosch)

#### Snmp Traps
* Add trap handlers for loop detection traps ([#17202](https://github.com/librenms/librenms/pull/17202)) - [stefanl234](https://github.com/stefanl234)

#### Api
* Added some additional fields to list_alerts api ([#17234](https://github.com/librenms/librenms/pull/17234)) - [laf](https://github.com/laf)

#### Bug
* Mempool perc_warn, never update ([#17271](https://github.com/librenms/librenms/pull/17271)) - [murrant](https://github.com/murrant)
* Fix wireless sensor thresholds being lost ([#17270](https://github.com/librenms/librenms/pull/17270)) - [murrant](https://github.com/murrant)
* LDAP fixes ([#17269](https://github.com/librenms/librenms/pull/17269)) - [murrant](https://github.com/murrant)
* Bug - exception in IP::fromHexString ([#17260](https://github.com/librenms/librenms/pull/17260)) - [PipoCanaja](https://github.com/PipoCanaja)
* Fix discovery of new devices ([#17252](https://github.com/librenms/librenms/pull/17252)) - [murrant](https://github.com/murrant)
* Fix UCD not providing descr sometimes ([#17249](https://github.com/librenms/librenms/pull/17249)) - [PipoCanaja](https://github.com/PipoCanaja)
* Skip arp/nd on an interface when the interface is not found ([#17244](https://github.com/librenms/librenms/pull/17244)) - [TheMysteriousX](https://github.com/TheMysteriousX)
* Bug - bgp-peers.inc.php - check for null in $bgpPeer ([#17229](https://github.com/librenms/librenms/pull/17229)) - [PipoCanaja](https://github.com/PipoCanaja)
* Resolve NAC error polling ([#17227](https://github.com/librenms/librenms/pull/17227)) - [kruczek8989](https://github.com/kruczek8989)
* Block polling for new devices to avoid race condition ([#17207](https://github.com/librenms/librenms/pull/17207)) - [laf](https://github.com/laf)
* No new devices should not trigger error log ([#17206](https://github.com/librenms/librenms/pull/17206)) - [deajan](https://github.com/deajan)
* Remove implied nullables PHP8.4 ([#17193](https://github.com/librenms/librenms/pull/17193)) - [murrant](https://github.com/murrant)
* Avoid to update for each discovery ([#17170](https://github.com/librenms/librenms/pull/17170)) - [alagoutte](https://github.com/alagoutte)

#### Cleanup
* LDAP fixes for newer PHP versions ([#17257](https://github.com/librenms/librenms/pull/17257)) - [murrant](https://github.com/murrant)
* Fix the final implicitly nullable parameters ([#17256](https://github.com/librenms/librenms/pull/17256)) - [murrant](https://github.com/murrant)

#### Documentation
* Added Opsgenie EOL date and link to announcement ([#17241](https://github.com/librenms/librenms/pull/17241)) - [laf](https://github.com/laf)
* Remove weathermap from docs ([#17239](https://github.com/librenms/librenms/pull/17239)) - [murrant](https://github.com/murrant)
* Fix sudo example block for SNMP Extend ([#17212](https://github.com/librenms/librenms/pull/17212)) - [rhinoau](https://github.com/rhinoau)
* Doco updates for syslog_hooks lnms config ([#17210](https://github.com/librenms/librenms/pull/17210)) - [rhinoau](https://github.com/rhinoau)
* Changed composer install to one line in install docs ([#17191](https://github.com/librenms/librenms/pull/17191)) - [laf](https://github.com/laf)
* Update MySQL.md ([#17187](https://github.com/librenms/librenms/pull/17187)) - [choicedraught](https://github.com/choicedraught)
* Typo docs ([#17182](https://github.com/librenms/librenms/pull/17182)) - [alagoutte](https://github.com/alagoutte)

#### Translation
* Updated pt-BR translations ([#17237](https://github.com/librenms/librenms/pull/17237)) - [fabriciotm](https://github.com/fabriciotm)

#### Tests
* Fix dusk tests ([#17258](https://github.com/librenms/librenms/pull/17258)) - [murrant](https://github.com/murrant)
* Mock dns resolver for LOC test ([#17196](https://github.com/librenms/librenms/pull/17196)) - [murrant](https://github.com/murrant)

#### Misc
* Lnms user:add: add roles when missing ([#17265](https://github.com/librenms/librenms/pull/17265)) - [murrant](https://github.com/murrant)
* Update discovery to remove disabled modem sensor in critical state ([#17259](https://github.com/librenms/librenms/pull/17259)) - [rudybroersma](https://github.com/rudybroersma)
* Use raw string for Python regex ([#17235](https://github.com/librenms/librenms/pull/17235)) - [sthen](https://github.com/sthen)
* Updated leaflet doco for negative coordinates ([#17197](https://github.com/librenms/librenms/pull/17197)) - [rhinoau](https://github.com/rhinoau)
* Minor typo in PHP-FPM poller log ([#17195](https://github.com/librenms/librenms/pull/17195)) - [runnane](https://github.com/runnane)
* Typo in bdcom transceiver status sensor ([#17189](https://github.com/librenms/librenms/pull/17189)) - [mivsvit](https://github.com/mivsvit)
* Exclude irrelevant server state from Panorama servers ([#17180](https://github.com/librenms/librenms/pull/17180)) - [rhinoau](https://github.com/rhinoau)

#### Dependencies
* PHP package updates ([#17254](https://github.com/librenms/librenms/pull/17254)) - [murrant](https://github.com/murrant)

## 25.2.0
*(2025-02-20)*

A big thank you to the following 35 contributors this last month:

  - [murrant](https://github.com/murrant) (42)
  - [laf](https://github.com/laf) (18)
  - [mpikzink](https://github.com/mpikzink) (10)
  - [rhinoau](https://github.com/rhinoau) (8)
  - [dot-mike](https://github.com/dot-mike) (3)
  - [eskyuu](https://github.com/eskyuu) (3)
  - [gcaceres123](https://github.com/gcaceres123) (2)
  - [slashdoom](https://github.com/slashdoom) (2)
  - [djamp42](https://github.com/djamp42) (2)
  - [rudybroersma](https://github.com/rudybroersma) (2)
  - [mjonkers1989](https://github.com/mjonkers1989) (2)
  - [gunkaaa](https://github.com/gunkaaa) (2)
  - [w1ll14m](https://github.com/w1ll14m) (1)
  - [dependabot](https://github.com/apps/dependabot) (1)
  - [lanbowan-eric](https://github.com/lanbowan-eric) (1)
  - [alagoutte](https://github.com/alagoutte) (1)
  - [PipoCanaja](https://github.com/PipoCanaja) (1)
  - [garryshtern](https://github.com/garryshtern) (1)
  - [RayaneB75](https://github.com/RayaneB75) (1)
  - [ssvenn](https://github.com/ssvenn) (1)
  - [georgetasioulis](https://github.com/georgetasioulis) (1)
  - [Martin22](https://github.com/Martin22) (1)
  - [jasoncheng7115](https://github.com/jasoncheng7115) (1)
  - [trwhiteaker](https://github.com/trwhiteaker) (1)
  - [electrocret](https://github.com/electrocret) (1)
  - [STRUBartacus](https://github.com/STRUBartacus) (1)
  - [visbits](https://github.com/visbits) (1)
  - [Sweeny42](https://github.com/Sweeny42) (1)
  - [DBardino](https://github.com/DBardino) (1)
  - [Galileo77](https://github.com/Galileo77) (1)
  - [Cameron-84](https://github.com/Cameron-84) (1)
  - [Torstein-Eide](https://github.com/Torstein-Eide) (1)
  - [mggaskill](https://github.com/mggaskill) (1)
  - [JFisherDNS](https://github.com/JFisherDNS) (1)
  - [Calvario](https://github.com/Calvario) (1)

Thanks to maintainers and others who helped with pull requests this month:

  - [laf](https://github.com/laf) (49)
  - [murrant](https://github.com/murrant) (26)
  - [Jellyfrog](https://github.com/Jellyfrog) (16)
  - [PipoCanaja](https://github.com/PipoCanaja) (7)
  - [electrocret](https://github.com/electrocret) (2)
  - [ottorei](https://github.com/ottorei) (1)

#### Feature
* MAC OUI Vendor lookup ([#17049](https://github.com/librenms/librenms/pull/17049)) - [murrant](https://github.com/murrant)

#### Breaking Change
* Storage Module update ([#17024](https://github.com/librenms/librenms/pull/17024)) - [murrant](https://github.com/murrant)
* Moved currentInUse from custom table to sensors for Cisco ASA ([#16952](https://github.com/librenms/librenms/pull/16952)) - [laf](https://github.com/laf)
* Convert "Recommended Replace Date" from count to runtime sensor ([#16892](https://github.com/librenms/librenms/pull/16892)) - [mpikzink](https://github.com/mpikzink)

#### Security
* Web add hosts fixes ([#17162](https://github.com/librenms/librenms/pull/17162)) - [murrant](https://github.com/murrant)

#### Device
* Add support for wis bridge ([#17168](https://github.com/librenms/librenms/pull/17168)) - [lanbowan-eric](https://github.com/lanbowan-eric)
* Add ArubaCX Transceiver ([#17167](https://github.com/librenms/librenms/pull/17167)) - [alagoutte](https://github.com/alagoutte)
* Updated Moxa vendor logo ([#17146](https://github.com/librenms/librenms/pull/17146)) - [rhinoau](https://github.com/rhinoau)
* Opengear devices: Add missing sensors & support for new CM8100 model ([#17144](https://github.com/librenms/librenms/pull/17144)) - [garryshtern](https://github.com/garryshtern)
* Add power supply status to Yunshan OS (Huawei devices) ([#17143](https://github.com/librenms/librenms/pull/17143)) - [gcaceres123](https://github.com/gcaceres123)
* Add power supply status to VRP OS (Huawei devices) ([#17142](https://github.com/librenms/librenms/pull/17142)) - [gcaceres123](https://github.com/gcaceres123)
* Fix FS S3400 series polling using fs-bdcom mib ([#17141](https://github.com/librenms/librenms/pull/17141)) - [RayaneB75](https://github.com/RayaneB75)
* Added additional snr support ([#17133](https://github.com/librenms/librenms/pull/17133)) - [laf](https://github.com/laf)
* Add Palo Alto Panorama Server status ([#17119](https://github.com/librenms/librenms/pull/17119)) - [rhinoau](https://github.com/rhinoau)
* Workaround for Routeros LLDP local port index ([#17118](https://github.com/librenms/librenms/pull/17118)) - [eskyuu](https://github.com/eskyuu)
* Initial detection for Keenetic devices ([#17117](https://github.com/librenms/librenms/pull/17117)) - [rhinoau](https://github.com/rhinoau)
* Imcopower - added alarms and renamed temperature sensor ([#17113](https://github.com/librenms/librenms/pull/17113)) - [Martin22](https://github.com/Martin22)
* CIMC C220 M6 Model / Serial / Version Fix ([#17093](https://github.com/librenms/librenms/pull/17093)) - [djamp42](https://github.com/djamp42)
* Added support for WitchOS by Teltonika ([#17074](https://github.com/librenms/librenms/pull/17074)) - [laf](https://github.com/laf)
* Updated detection for Tachyon devices ([#17073](https://github.com/librenms/librenms/pull/17073)) - [laf](https://github.com/laf)
* Add Meraki MR WiFi Frequency polling ([#17069](https://github.com/librenms/librenms/pull/17069)) - [rudybroersma](https://github.com/rudybroersma)
* Repair support for Meraki MR28 accesspoints. ([#17065](https://github.com/librenms/librenms/pull/17065)) - [rudybroersma](https://github.com/rudybroersma)
* Hiveos has also added IQ Engine to the sysdescription ([#17063](https://github.com/librenms/librenms/pull/17063)) - [mjonkers1989](https://github.com/mjonkers1989)
* Additional support for SM-OS ([#17061](https://github.com/librenms/librenms/pull/17061)) - [laf](https://github.com/laf)
* Fix cumulus mellanox test data ([#17056](https://github.com/librenms/librenms/pull/17056)) - [murrant](https://github.com/murrant)
* Aruba Instant use SnmpQuery ([#17034](https://github.com/librenms/librenms/pull/17034)) - [murrant](https://github.com/murrant)
* Convert timos to SnmpQuery ([#17006](https://github.com/librenms/librenms/pull/17006)) - [murrant](https://github.com/murrant)
* Adtran ALM series ([#16984](https://github.com/librenms/librenms/pull/16984)) - [murrant](https://github.com/murrant)
* Viptela vendor - Processor and Memory fix ([#16983](https://github.com/librenms/librenms/pull/16983)) - [Cameron-84](https://github.com/Cameron-84)
* Add voltage and power sensors for Digipower PDUs ([#16803](https://github.com/librenms/librenms/pull/16803)) - [gunkaaa](https://github.com/gunkaaa)
* Add authz_status field to Arubaos-CX NAC ([#16453](https://github.com/librenms/librenms/pull/16453)) - [JFisherDNS](https://github.com/JFisherDNS)

#### Webui
* Add Device page default to preferred SNMP settings ([#17131](https://github.com/librenms/librenms/pull/17131)) - [rhinoau](https://github.com/rhinoau)
* Increased z-index for navbar css to ensure it stays on top. ([#17115](https://github.com/librenms/librenms/pull/17115)) - [ssvenn](https://github.com/ssvenn)
* Fix Proxmox module: Correct parameter usage for VM and device ID ([#17114](https://github.com/librenms/librenms/pull/17114)) - [georgetasioulis](https://github.com/georgetasioulis)
* Adding the new OPNsense Logo ([#17079](https://github.com/librenms/librenms/pull/17079)) - [STRUBartacus](https://github.com/STRUBartacus)
* Update the ordering of sensors for Overview page ([#17038](https://github.com/librenms/librenms/pull/17038)) - [laf](https://github.com/laf)
* Handle orphaned ports in port search ([#17037](https://github.com/librenms/librenms/pull/17037)) - [murrant](https://github.com/murrant)
* Dark mode for the new Sensor graphs addition ([#17015](https://github.com/librenms/librenms/pull/17015)) - [DBardino](https://github.com/DBardino)

#### Alerting
* Failed with 415 with content type not supported issue ([#17110](https://github.com/librenms/librenms/pull/17110)) - [jasoncheng7115](https://github.com/jasoncheng7115)
* Updated Grafana transport and docs to support richer information ([#16978](https://github.com/librenms/librenms/pull/16978)) - [laf](https://github.com/laf)
* Added ZenDuty Transport ([#16972](https://github.com/librenms/librenms/pull/16972)) - [laf](https://github.com/laf)
* Fix Alert diff, Add new AlertStatus changed, Fix AlertLog UI not showing the correct details ([#16313](https://github.com/librenms/librenms/pull/16313)) - [Calvario](https://github.com/Calvario)

#### Graphs
* Graph has trouble detecting the range if the sensor is constant ([#17096](https://github.com/librenms/librenms/pull/17096)) - [mpikzink](https://github.com/mpikzink)
* Fix multi port graph ([#17057](https://github.com/librenms/librenms/pull/17057)) - [murrant](https://github.com/murrant)

#### Maps
* Fullscreen map fixes ([#17136](https://github.com/librenms/librenms/pull/17136)) - [dot-mike](https://github.com/dot-mike)
* Map not working on device overview with custom engine ([#17134](https://github.com/librenms/librenms/pull/17134)) - [dot-mike](https://github.com/dot-mike)
* Add custom maps node warning state display ([#17036](https://github.com/librenms/librenms/pull/17036)) - [rhinoau](https://github.com/rhinoau)

#### Discovery
* Fix module override submodules ([#17081](https://github.com/librenms/librenms/pull/17081)) - [murrant](https://github.com/murrant)
* Work around bad bridge-mib implementations ([#17030](https://github.com/librenms/librenms/pull/17030)) - [murrant](https://github.com/murrant)

#### Polling
* Better handle issues with ipmitool/freeipmi so we try other types as … ([#17066](https://github.com/librenms/librenms/pull/17066)) - [visbits](https://github.com/visbits)

#### Bug
* Fix wlanAPChInterferenceIndex formula. Fixes Numeric value out of range: 1264 Out of range value for column 'interference' ([#17171](https://github.com/librenms/librenms/pull/17171)) - [w1ll14m](https://github.com/w1ll14m)
* Fix storage_perc_warn not being applied to new storages ([#17104](https://github.com/librenms/librenms/pull/17104)) - [murrant](https://github.com/murrant)
* Fix port churn port assoc mode if is non-existent field ([#17103](https://github.com/librenms/librenms/pull/17103)) - [murrant](https://github.com/murrant)
* Fix poller submodule support ([#17102](https://github.com/librenms/librenms/pull/17102)) - [murrant](https://github.com/murrant)
* Fix OS override in device settings ([#17095](https://github.com/librenms/librenms/pull/17095)) - [murrant](https://github.com/murrant)
* Re-add ifIndex index to ports table ([#17077](https://github.com/librenms/librenms/pull/17077)) - [murrant](https://github.com/murrant)
* Replace use of $config with Config::get() in poll-billing ([#17072](https://github.com/librenms/librenms/pull/17072)) - [laf](https://github.com/laf)
* Fix error in arp-table module ([#17031](https://github.com/librenms/librenms/pull/17031)) - [murrant](https://github.com/murrant)

#### Refactor
* Remove ObjectCache notifications page ([#17100](https://github.com/librenms/librenms/pull/17100)) - [murrant](https://github.com/murrant)
* Convert Wireless to a modern module ([#17086](https://github.com/librenms/librenms/pull/17086)) - [murrant](https://github.com/murrant)
* Remove snmp_getnext_multi() ([#17048](https://github.com/librenms/librenms/pull/17048)) - [murrant](https://github.com/murrant)
* Get_device_id_by_port_id(x) =\> PortCache::get() ([#16969](https://github.com/librenms/librenms/pull/16969)) - [mpikzink](https://github.com/mpikzink)
* Zeropad() =\> Str::padLeft() ([#16960](https://github.com/librenms/librenms/pull/16960)) - [mpikzink](https://github.com/mpikzink)
* Improve logging for use of values from SNMP;  improve logging for determining multiplier/divisor from YAML ([#16949](https://github.com/librenms/librenms/pull/16949)) - [gunkaaa](https://github.com/gunkaaa)
* Showconfig.inc.php changed svn_log() and svn_diff() to Process() ([#16483](https://github.com/librenms/librenms/pull/16483)) - [mggaskill](https://github.com/mggaskill)

#### Cleanup
* Add enable_syslog_hooks config defaults ([#17130](https://github.com/librenms/librenms/pull/17130)) - [rhinoau](https://github.com/rhinoau)
* Sizeof() =\> count() ([#17108](https://github.com/librenms/librenms/pull/17108)) - [mpikzink](https://github.com/mpikzink)
* Remove unused files ([#17101](https://github.com/librenms/librenms/pull/17101)) - [murrant](https://github.com/murrant)
* Remove Create sensor to state index ([#17097](https://github.com/librenms/librenms/pull/17097)) - [mpikzink](https://github.com/mpikzink)
* Check if json file is existing when saving test data ([#17087](https://github.com/librenms/librenms/pull/17087)) - [murrant](https://github.com/murrant)
* Remove echo calls from sensors polling ([#17076](https://github.com/librenms/librenms/pull/17076)) - [murrant](https://github.com/murrant)
* Remove echo from ports polling module ([#17075](https://github.com/librenms/librenms/pull/17075)) - [murrant](https://github.com/murrant)
* Remove some unused functions (part 2) ([#17013](https://github.com/librenms/librenms/pull/17013)) - [mpikzink](https://github.com/mpikzink)
* Remove unix agent global usage ([#17003](https://github.com/librenms/librenms/pull/17003)) - [murrant](https://github.com/murrant)

#### Documentation
* InfluxDBv2.md Fix ([#17124](https://github.com/librenms/librenms/pull/17124)) - [slashdoom](https://github.com/slashdoom)
* Update Custom-Graphs.md ([#17084](https://github.com/librenms/librenms/pull/17084)) - [slashdoom](https://github.com/slashdoom)
* Update Macros.md ([#17064](https://github.com/librenms/librenms/pull/17064)) - [dot-mike](https://github.com/dot-mike)
* Lnms dev:check modules only ([#17044](https://github.com/librenms/librenms/pull/17044)) - [murrant](https://github.com/murrant)
* Api force_add requires credentials ([#17019](https://github.com/librenms/librenms/pull/17019)) - [murrant](https://github.com/murrant)
* Doc application and RRDCached, refactoring and formatting ([#16920](https://github.com/librenms/librenms/pull/16920)) - [Torstein-Eide](https://github.com/Torstein-Eide)

#### Translation
* Settings typo ([#17083](https://github.com/librenms/librenms/pull/17083)) - [electrocret](https://github.com/electrocret)
* German typo correction for "channel" ([#17011](https://github.com/librenms/librenms/pull/17011)) - [Galileo77](https://github.com/Galileo77)

#### Tests
* Qos test fix ([#17050](https://github.com/librenms/librenms/pull/17050)) - [eskyuu](https://github.com/eskyuu)
* Wireless tests order data ([#17016](https://github.com/librenms/librenms/pull/17016)) - [murrant](https://github.com/murrant)
* Fix Tests for PHP IPv6 reserved handling changes ([#17009](https://github.com/librenms/librenms/pull/17009)) - [murrant](https://github.com/murrant)

#### Misc
* Updated Siklu vendor logo ([#17120](https://github.com/librenms/librenms/pull/17120)) - [rhinoau](https://github.com/rhinoau)
* Update detection for Planet WDAP devices ([#17116](https://github.com/librenms/librenms/pull/17116)) - [rhinoau](https://github.com/rhinoau)
* Fix comment syntax in rrdcached.service ([#17109](https://github.com/librenms/librenms/pull/17109)) - [trwhiteaker](https://github.com/trwhiteaker)
* Add support for Cisco CIMC State Sensors ([#17085](https://github.com/librenms/librenms/pull/17085)) - [djamp42](https://github.com/djamp42)
* Correct accidental addition of $agent_raw variable in unix-agent.inc.php ([#17060](https://github.com/librenms/librenms/pull/17060)) - [Sweeny42](https://github.com/Sweeny42)
* Storage deleted removal notification and alert rule ([#17055](https://github.com/librenms/librenms/pull/17055)) - [murrant](https://github.com/murrant)
* Add enable_proxmox to config defs ([#17032](https://github.com/librenms/librenms/pull/17032)) - [murrant](https://github.com/murrant)
* Remove some unused functions ([#17005](https://github.com/librenms/librenms/pull/17005)) - [mpikzink](https://github.com/mpikzink)
* StringHelper::shortenText(x) =\> Str::limit(x) ([#16973](https://github.com/librenms/librenms/pull/16973)) - [mpikzink](https://github.com/mpikzink)
* Allow ifIndex swaps during port discovery ([#16686](https://github.com/librenms/librenms/pull/16686)) - [eskyuu](https://github.com/eskyuu)

#### Internal Features
* Show unused cached snmp queries ([#17004](https://github.com/librenms/librenms/pull/17004)) - [murrant](https://github.com/murrant)
* Implement PortCache ([#17002](https://github.com/librenms/librenms/pull/17002)) - [murrant](https://github.com/murrant)

#### Mibs
* Update SCHLEIFENBAUER Mibs ([#17067](https://github.com/librenms/librenms/pull/17067)) - [mjonkers1989](https://github.com/mjonkers1989)

#### Dependencies
* Bump elliptic from 6.6.0 to 6.6.1 ([#17169](https://github.com/librenms/librenms/pull/17169)) - [dependabot](https://github.com/apps/dependabot)
* Update ENTITY and fix consequences ([#17147](https://github.com/librenms/librenms/pull/17147)) - [PipoCanaja](https://github.com/PipoCanaja)
* Update PHP dependencies ([#17059](https://github.com/librenms/librenms/pull/17059)) - [murrant](https://github.com/murrant)

## 25.1.0
*(2025-01-16)*

A big thank you to the following 32 contributors this last month:

  - [murrant](https://github.com/murrant) (14)
  - [mpikzink](https://github.com/mpikzink) (12)
  - [PipoCanaja](https://github.com/PipoCanaja) (7)
  - [laf](https://github.com/laf) (6)
  - [jasoncheng7115](https://github.com/jasoncheng7115) (5)
  - [adamsweet](https://github.com/adamsweet) (3)
  - [takyanagida](https://github.com/takyanagida) (2)
  - [btriller](https://github.com/btriller) (1)
  - [slashdoom](https://github.com/slashdoom) (1)
  - [jakejakejakejakejakejake](https://github.com/jakejakejakejakejakejake) (1)
  - [ZPrimed](https://github.com/ZPrimed) (1)
  - [dko-strd](https://github.com/dko-strd) (1)
  - [nickhilliard](https://github.com/nickhilliard) (1)
  - [fbouynot](https://github.com/fbouynot) (1)
  - [trakennedy](https://github.com/trakennedy) (1)
  - [garryshtern](https://github.com/garryshtern) (1)
  - [dependabot](https://github.com/apps/dependabot) (1)
  - [TotalGriffLock](https://github.com/TotalGriffLock) (1)
  - [dlangille](https://github.com/dlangille) (1)
  - [systeembeheerder](https://github.com/systeembeheerder) (1)
  - [makriska](https://github.com/makriska) (1)
  - [MelonicOverlord](https://github.com/MelonicOverlord) (1)
  - [r-duran](https://github.com/r-duran) (1)
  - [Martin22](https://github.com/Martin22) (1)
  - [kruczek8989](https://github.com/kruczek8989) (1)
  - [eg2965](https://github.com/eg2965) (1)
  - [rudybroersma](https://github.com/rudybroersma) (1)
  - [rinsekloek](https://github.com/rinsekloek) (1)
  - [JacobErnst98](https://github.com/JacobErnst98) (1)
  - [Calvario](https://github.com/Calvario) (1)
  - [samburney](https://github.com/samburney) (1)
  - [pozar](https://github.com/pozar) (1)

Thanks to maintainers and others that helped with pull requests this month:

  - [laf](https://github.com/laf) (41)
  - [murrant](https://github.com/murrant) (17)
  - [PipoCanaja](https://github.com/PipoCanaja) (13)
  - [Jellyfrog](https://github.com/Jellyfrog) (3)
  - [paulgear](https://github.com/paulgear) (1)
  - [SourceDoctor](https://github.com/SourceDoctor) (1)
  - [Taarek](https://github.com/Taarek) (1)
  - [electrocret](https://github.com/electrocret) (1)
  - [dorkmatt](https://github.com/dorkmatt) (1)

#### Breaking Change
* Remove wrong netvision sensors ([#16943](https://github.com/librenms/librenms/pull/16943)) - [mpikzink](https://github.com/mpikzink)
* Add datetime and level to librenms.log ([#16330](https://github.com/librenms/librenms/pull/16330)) - [Calvario](https://github.com/Calvario)

#### Device
* Timos MPLS ignore bad rows ([#16997](https://github.com/librenms/librenms/pull/16997)) - [murrant](https://github.com/murrant)
* Junos bgp non-null fallbacks for columns that are not nullable ([#16993](https://github.com/librenms/librenms/pull/16993)) - [murrant](https://github.com/murrant)
* Fix fs-centec bias thresholds ([#16990](https://github.com/librenms/librenms/pull/16990)) - [murrant](https://github.com/murrant)
* Fix Junos BGP polling ([#16988](https://github.com/librenms/librenms/pull/16988)) - [murrant](https://github.com/murrant)
* Added additional voltage sensor for RouterOS ([#16979](https://github.com/librenms/librenms/pull/16979)) - [laf](https://github.com/laf)
* Horizon Quantum Device Support ([#16970](https://github.com/librenms/librenms/pull/16970)) - [slashdoom](https://github.com/slashdoom)
* Add support for UTAX printers ([#16951](https://github.com/librenms/librenms/pull/16951)) - [dko-strd](https://github.com/dko-strd)
* Stulz wib8000 fixes ([#16948](https://github.com/librenms/librenms/pull/16948)) - [nickhilliard](https://github.com/nickhilliard)
* Fix some issues with aix returning "NULL" ([#16947](https://github.com/librenms/librenms/pull/16947)) - [murrant](https://github.com/murrant)
* Added some additional ip pool sensors ([#16946](https://github.com/librenms/librenms/pull/16946)) - [laf](https://github.com/laf)
* Corrected index for EXOS sensors ([#16928](https://github.com/librenms/librenms/pull/16928)) - [laf](https://github.com/laf)
* New HW revision of 7130L ([#16919](https://github.com/librenms/librenms/pull/16919)) - [garryshtern](https://github.com/garryshtern)
* Added DHCP Count for RouterOS (Mikrotik) ([#16913](https://github.com/librenms/librenms/pull/16913)) - [laf](https://github.com/laf)
* DELL drac: Move the remaining inc.php sensors to YAML ([#16912](https://github.com/librenms/librenms/pull/16912)) - [mpikzink](https://github.com/mpikzink)
* Cisco SIP voice count sensor ([#16902](https://github.com/librenms/librenms/pull/16902)) - [PipoCanaja](https://github.com/PipoCanaja)
* Procurve handle HPE rebrand ([#16897](https://github.com/librenms/librenms/pull/16897)) - [TotalGriffLock](https://github.com/TotalGriffLock)
* Skip creation of "Stack Ring - Redundant" sensor for Cisco StackWise Virtual ([#16890](https://github.com/librenms/librenms/pull/16890)) - [makriska](https://github.com/makriska)
* Added sensor monitoring for IBM 3584 Tape Library ([#16884](https://github.com/librenms/librenms/pull/16884)) - [MelonicOverlord](https://github.com/MelonicOverlord)
* Tachyon - Added wireless interface to ports ([#16867](https://github.com/librenms/librenms/pull/16867)) - [Martin22](https://github.com/Martin22)
* Fix for Cisco Transceivers ([#16856](https://github.com/librenms/librenms/pull/16856)) - [PipoCanaja](https://github.com/PipoCanaja)
* Add new vendor bitstream ([#16850](https://github.com/librenms/librenms/pull/16850)) - [kruczek8989](https://github.com/kruczek8989)
* Additional HPE Procurve Hardware State Data ([#16843](https://github.com/librenms/librenms/pull/16843)) - [eg2965](https://github.com/eg2965)
* Fix for FortiGate discovery - Issue ID #16544 ([#16753](https://github.com/librenms/librenms/pull/16753)) - [rudybroersma](https://github.com/rudybroersma)
* Initial detection with USB port detection ([#16718](https://github.com/librenms/librenms/pull/16718)) - [mpikzink](https://github.com/mpikzink)
* Nokia ISAM added extra context to also snmpwalk the ihub for uplink ports ([#16676](https://github.com/librenms/librenms/pull/16676)) - [rinsekloek](https://github.com/rinsekloek)
* Support for ESPHOME OS ([#16571](https://github.com/librenms/librenms/pull/16571)) - [JacobErnst98](https://github.com/JacobErnst98)
* Add support for Cisco ISA devices ([#16300](https://github.com/librenms/librenms/pull/16300)) - [samburney](https://github.com/samburney)
* Support for Ubiquiti UISP Fiber OLT XGS ([#15742](https://github.com/librenms/librenms/pull/15742)) - [pozar](https://github.com/pozar)

#### Webui
* Fix time intervals sometimes being wrong ([#16995](https://github.com/librenms/librenms/pull/16995)) - [murrant](https://github.com/murrant)
* Fix rrdgraph comment typo ([#16956](https://github.com/librenms/librenms/pull/16956)) - [ZPrimed](https://github.com/ZPrimed)
* Added time period names: threeday, tenday ([#16932](https://github.com/librenms/librenms/pull/16932)) - [takyanagida](https://github.com/takyanagida)
* Fixed port error red flag staying after error correction on FDB table and ARP table ([#16907](https://github.com/librenms/librenms/pull/16907)) - [takyanagida](https://github.com/takyanagida)
* Improve url validation check ([#16900](https://github.com/librenms/librenms/pull/16900)) - [murrant](https://github.com/murrant)
* Fix routes display ([#16898](https://github.com/librenms/librenms/pull/16898)) - [murrant](https://github.com/murrant)

#### Alerting
* Rename Jira Service Managment transport (#16195) ([#16967](https://github.com/librenms/librenms/pull/16967)) - [jakejakejakejakejakejake](https://github.com/jakejakejakejakejakejake)
* Fix Graph problems in Mail ([#16918](https://github.com/librenms/librenms/pull/16918)) - [mpikzink](https://github.com/mpikzink)
* Update queuemanager.py: Single element args tuple breaks alerts.php running ([#16873](https://github.com/librenms/librenms/pull/16873)) - [r-duran](https://github.com/r-duran)

#### Graphs
* Dark mode for the new Sensor graphs ([#16985](https://github.com/librenms/librenms/pull/16985)) - [mpikzink](https://github.com/mpikzink)

#### Snmp Traps
* Add support for Cisco-NS-MIB traps ([#16944](https://github.com/librenms/librenms/pull/16944)) - [adamsweet](https://github.com/adamsweet)
* Add HWG Poseidon-MIB traps ([#16934](https://github.com/librenms/librenms/pull/16934)) - [adamsweet](https://github.com/adamsweet)
* Add Axis camera alarm traps ([#16925](https://github.com/librenms/librenms/pull/16925)) - [adamsweet](https://github.com/adamsweet)

#### Discovery
* Extend STP discovery on Cisco devices + test fix for #15742 ([#16887](https://github.com/librenms/librenms/pull/16887)) - [PipoCanaja](https://github.com/PipoCanaja)

#### Polling
* Ensure ordering of poller modules ([#16929](https://github.com/librenms/librenms/pull/16929)) - [murrant](https://github.com/murrant)

#### Bug
* Fix SLA incomplete snmpwalk replies ([#16939](https://github.com/librenms/librenms/pull/16939)) - [PipoCanaja](https://github.com/PipoCanaja)
* OrderBy snmp_index because qos.title is not unique ([#16938](https://github.com/librenms/librenms/pull/16938)) - [PipoCanaja](https://github.com/PipoCanaja)
* Null strings in Junos Transceivers code ([#16937](https://github.com/librenms/librenms/pull/16937)) - [PipoCanaja](https://github.com/PipoCanaja)

#### Refactor
* Additional type declarations to Eventlog ([#16968](https://github.com/librenms/librenms/pull/16968)) - [mpikzink](https://github.com/mpikzink)
* Cast_number() =\> Number::cast() ([#16963](https://github.com/librenms/librenms/pull/16963)) - [mpikzink](https://github.com/mpikzink)
* Get_dev_attribs($device_id) =\> Use the Model Method ([#16961](https://github.com/librenms/librenms/pull/16961)) - [mpikzink](https://github.com/mpikzink)
* Accesspoint_by_id(x) =\> AccessPoint::find(x) ([#16958](https://github.com/librenms/librenms/pull/16958)) - [mpikzink](https://github.com/mpikzink)
* Refractor some Helpers part2 ([#16935](https://github.com/librenms/librenms/pull/16935)) - [mpikzink](https://github.com/mpikzink)
* Refractor some Helpers ([#16926](https://github.com/librenms/librenms/pull/16926)) - [mpikzink](https://github.com/mpikzink)

#### Documentation
* Update authentication docs ([#16996](https://github.com/librenms/librenms/pull/16996)) - [murrant](https://github.com/murrant)
* Update Install-LibreNMS.md ([#16982](https://github.com/librenms/librenms/pull/16982)) - [btriller](https://github.com/btriller)
* Add php-fpm requirements on Fedora for Applications ([#16933](https://github.com/librenms/librenms/pull/16933)) - [fbouynot](https://github.com/fbouynot)
* Update Dispatcher-Service.md ([#16921](https://github.com/librenms/librenms/pull/16921)) - [trakennedy](https://github.com/trakennedy)
* Update config.php.default ([#16896](https://github.com/librenms/librenms/pull/16896)) - [dlangille](https://github.com/dlangille)
* Update Authentication.md ([#16894](https://github.com/librenms/librenms/pull/16894)) - [systeembeheerder](https://github.com/systeembeheerder)
* Plugin docs udpate ([#16891](https://github.com/librenms/librenms/pull/16891)) - [murrant](https://github.com/murrant)

#### Translation
* Add multiple translation files for zh-TW. ([#16941](https://github.com/librenms/librenms/pull/16941)) - [jasoncheng7115](https://github.com/jasoncheng7115)
* Zh-TW components.php ([#16931](https://github.com/librenms/librenms/pull/16931)) - [jasoncheng7115](https://github.com/jasoncheng7115)
* Zh-TW port.php ([#16930](https://github.com/librenms/librenms/pull/16930)) - [jasoncheng7115](https://github.com/jasoncheng7115)
* Update zh-TW.json ([#16924](https://github.com/librenms/librenms/pull/16924)) - [jasoncheng7115](https://github.com/jasoncheng7115)
* Map.php - Traditional Chinese Translation ([#16906](https://github.com/librenms/librenms/pull/16906)) - [jasoncheng7115](https://github.com/jasoncheng7115)

#### Internal Features
* Snmpsim extra check ([#16936](https://github.com/librenms/librenms/pull/16936)) - [murrant](https://github.com/murrant)

#### Dependencies
* Bump tecnickcom/tcpdf from 6.7.7 to 6.8.0 ([#16914](https://github.com/librenms/librenms/pull/16914)) - [dependabot](https://github.com/apps/dependabot)

##[Old Changelogs](https://github.com/librenms/librenms/tree/master/doc/General/Changelogs)
