Changes for version 2.108000 - 2026-09-05
- ENHANCEMENTS
- the Ports tab with Connected Nodes shown is several times faster to load on a device with many nodes
- a connected-node list longer than the collapse threshold now loads when you open it, rather than with the rest of the page. until you open one, its nodes are not in the page, so your browser's find-in-page and copying the table will not see them
- the Ports table filter now matches a node's MAC both as displayed and in the plain colon-separated form, so a MAC pasted from elsewhere is found whichever format the sidebar is showing. it no longer matches a node's age text such as "2 days 3 hours"
- checksitelocal reports a site-local device.tt, search.tt or report.tt copied before the htmx tab transport, and the web app warns about one at startup because that tab renders an empty pane and says nothing
- the navbar Reports and Admin submenus open from the keyboard as well as the pointer, so their entries can be reached without a mouse
- the loading indicator now stays up until a tab is ready to use, instead of coming down when the server answered and leaving an unsorted, unpaged table on screen while the browser worked through it
- BUG FIXES
- the Show and Hide control on a port's connected-node list could not be clicked, because the first node in the list was drawn on top of it
- the Ports tab SSID column showed one SSID on a port that has several
- the Ports CSV export omitted the SSID value, shifting every later column
- GET /api/v1/object/device/{ip}/port/{port}/ssid returned only one SSID for a port that has several, and now answers with a list
- checksitelocal named the wrong release for the do_search deprecation
- #1667 the Show all Ports tooltip stayed on screen, at the top left of the window, after clicking the bin to clear the ports filter
- a tooltip could be left on screen the same way when the sidebar, the CSV download link or a port control icon was hidden
- a page fragment could 404 for the rest of a web worker's life after one request to its URL from outside the application
- behind_proxy, which no deployment needs to set, made the client address read as the whole X-Forwarded-For chain where more than one proxy stood in front of the web server, so an API token restricted by an ACL was refused and every login failed to log
Documentation
Create DB Schema Versions for Netdisco
Import a Nedisco 1.x Manual Topology File
Job Control Daemon for Netdisco
Job Control for Netdisco
Database deployment for Netdisco
Database, OUI and MIB deployment for Netdisco
Run any Netdisco job from the command-line.
DEPRECATED!
DEPRECATED!
Web Application Server for Netdisco
Web Application for Netdisco
Modules
An open source web-based network management tool.
Request NetBIOS node status with AnyEvent
Support for PostgreSQL Lock Modes
find site-local files broken by shipped changes
Netdisco Web UI components
Netdisco Workers
Generate rancid Configuration
Provides
in lib/App/Netdisco/Backend/Job.pm
in lib/App/Netdisco/Backend/Role/Manager.pm
in lib/App/Netdisco/Backend/Role/Poller.pm
in lib/App/Netdisco/Backend/Role/Scheduler.pm
in lib/App/Netdisco/Builder.pm
in lib/App/Netdisco/Configuration.pm
in lib/App/Netdisco/DB.pm
in lib/App/Netdisco/DB/Result.pm
in lib/App/Netdisco/DB/Result/Admin.pm
in lib/App/Netdisco/DB/Result/Community.pm
in lib/App/Netdisco/DB/Result/Device.pm
in lib/App/Netdisco/DB/Result/DeviceBrowser.pm
in lib/App/Netdisco/DB/Result/DeviceIp.pm
in lib/App/Netdisco/DB/Result/DeviceModule.pm
in lib/App/Netdisco/DB/Result/DevicePort.pm
in lib/App/Netdisco/DB/Result/DevicePortLog.pm
in lib/App/Netdisco/DB/Result/DevicePortPower.pm
in lib/App/Netdisco/DB/Result/DevicePortProperties.pm
in lib/App/Netdisco/DB/Result/DevicePortSsid.pm
in lib/App/Netdisco/DB/Result/DevicePortVlan.pm
in lib/App/Netdisco/DB/Result/DevicePortWireless.pm
in lib/App/Netdisco/DB/Result/DevicePower.pm
in lib/App/Netdisco/DB/Result/DeviceSkip.pm
in lib/App/Netdisco/DB/Result/DeviceVlan.pm
in lib/App/Netdisco/DB/Result/Enterprise.pm
in lib/App/Netdisco/DB/Result/Log.pm
in lib/App/Netdisco/DB/Result/Manufacturer.pm
in lib/App/Netdisco/DB/Result/NetmapPositions.pm
in lib/App/Netdisco/DB/Result/Node.pm
in lib/App/Netdisco/DB/Result/NodeIp.pm
in lib/App/Netdisco/DB/Result/NodeMonitor.pm
in lib/App/Netdisco/DB/Result/NodeNbt.pm
in lib/App/Netdisco/DB/Result/NodeWireless.pm
in lib/App/Netdisco/DB/Result/Oui.pm
in lib/App/Netdisco/DB/Result/Process.pm
in lib/App/Netdisco/DB/Result/Product.pm
in lib/App/Netdisco/DB/Result/SNMPFilter.pm
in lib/App/Netdisco/DB/Result/SNMPObject.pm
in lib/App/Netdisco/DB/Result/Session.pm
in lib/App/Netdisco/DB/Result/Statistics.pm
in lib/App/Netdisco/DB/Result/Subnet.pm
in lib/App/Netdisco/DB/Result/Topology.pm
in lib/App/Netdisco/DB/Result/User.pm
in lib/App/Netdisco/DB/Result/UserLog.pm
in lib/App/Netdisco/DB/Result/Virtual/ACLEntriesWithDNS.pm
in lib/App/Netdisco/DB/Result/Virtual/ActiveNode.pm
in lib/App/Netdisco/DB/Result/Virtual/ActiveNodeWithAge.pm
in lib/App/Netdisco/DB/Result/Virtual/ApRadioChannelPower.pm
in lib/App/Netdisco/DB/Result/Virtual/CidrIps.pm
in lib/App/Netdisco/DB/Result/Virtual/DeviceDnsMismatch.pm
in lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm
in lib/App/Netdisco/DB/Result/Virtual/DevicePlatforms.pm
in lib/App/Netdisco/DB/Result/Virtual/DevicePoeStatus.pm
in lib/App/Netdisco/DB/Result/Virtual/DevicePortSpeed.pm
in lib/App/Netdisco/DB/Result/Virtual/DuplexMismatch.pm
in lib/App/Netdisco/DB/Result/Virtual/FilteredSNMPObject.pm
in lib/App/Netdisco/DB/Result/Virtual/GenericReport.pm
in lib/App/Netdisco/DB/Result/Virtual/LastNode.pm
in lib/App/Netdisco/DB/Result/Virtual/NodeIp4.pm
in lib/App/Netdisco/DB/Result/Virtual/NodeIp6.pm
in lib/App/Netdisco/DB/Result/Virtual/NodeMonitor.pm
in lib/App/Netdisco/DB/Result/Virtual/NodeWithAge.pm
in lib/App/Netdisco/DB/Result/Virtual/NodesDiscovered.pm
in lib/App/Netdisco/DB/Result/Virtual/OrphanedDevices.pm
in lib/App/Netdisco/DB/Result/Virtual/PollerPerformance.pm
in lib/App/Netdisco/DB/Result/Virtual/PortMacs.pm
in lib/App/Netdisco/DB/Result/Virtual/PortUtilization.pm
in lib/App/Netdisco/DB/Result/Virtual/PortVLANMismatch.pm
in lib/App/Netdisco/DB/Result/Virtual/SlowDevices.pm
in lib/App/Netdisco/DB/Result/Virtual/SubnetUtilization.pm
in lib/App/Netdisco/DB/Result/Virtual/TastyJobs.pm
in lib/App/Netdisco/DB/Result/Virtual/UnDirEdgesAgg.pm
in lib/App/Netdisco/DB/Result/Virtual/UndiscoveredNeighbors.pm
in lib/App/Netdisco/DB/Result/Virtual/UserRole.pm
in lib/App/Netdisco/DB/Result/Virtual/WalkJobs.pm
in lib/App/Netdisco/DB/ResultSet.pm
in lib/App/Netdisco/DB/ResultSet/AccessControlListMap.pm
in lib/App/Netdisco/DB/ResultSet/AccessControlListName.pm
in lib/App/Netdisco/DB/ResultSet/Admin.pm
in lib/App/Netdisco/DB/ResultSet/Device.pm
in lib/App/Netdisco/DB/ResultSet/DeviceBrowser.pm
in lib/App/Netdisco/DB/ResultSet/DeviceModule.pm
in lib/App/Netdisco/DB/ResultSet/DevicePort.pm
in lib/App/Netdisco/DB/ResultSet/DevicePortLog.pm
in lib/App/Netdisco/DB/ResultSet/DevicePortSsid.pm
in lib/App/Netdisco/DB/ResultSet/DevicePower.pm
in lib/App/Netdisco/DB/ResultSet/DeviceSkip.pm
in lib/App/Netdisco/DB/ResultSet/Node.pm
in lib/App/Netdisco/DB/ResultSet/NodeIp.pm
in lib/App/Netdisco/DB/ResultSet/NodeNbt.pm
in lib/App/Netdisco/DB/ResultSet/NodeWireless.pm
in lib/App/Netdisco/DB/ResultSet/Subnet.pm
in lib/App/Netdisco/DB/SchemaVersioned.pm
in lib/App/Netdisco/DB/SetOperations.pm
in lib/App/Netdisco/Environment.pm
in lib/App/Netdisco/GenericDB.pm
in lib/App/Netdisco/GenericDB/Result/Virtual/GenericReport.pm
in lib/App/Netdisco/JobQueue/PostgreSQL.pm
in lib/App/Netdisco/Util/Configuration.pm
in lib/App/Netdisco/Util/CustomFields.pm
in lib/App/Netdisco/Util/MCE.pm
in lib/App/Netdisco/Util/NodeMonitor.pm
in lib/App/Netdisco/Util/Noop.pm
in lib/App/Netdisco/Util/Python.pm
in lib/App/Netdisco/Util/Worker.pm
in lib/App/Netdisco/Web.pm
in lib/App/Netdisco/Web/API/Objects.pm
in lib/App/Netdisco/Web/API/Queue.pm
in lib/App/Netdisco/Web/API/Statistics.pm
in lib/App/Netdisco/Web/API/User.pm
in lib/App/Netdisco/Web/AdminTask.pm
in lib/App/Netdisco/Web/Auth/Provider/DBIC.pm
in lib/App/Netdisco/Web/AuthN.pm
in lib/App/Netdisco/Web/CustomFields.pm
in lib/App/Netdisco/Web/Device.pm
in lib/App/Netdisco/Web/GenericReport.pm
in lib/App/Netdisco/Web/Health.pm
in lib/App/Netdisco/Web/Metrics.pm
in lib/App/Netdisco/Web/Password.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/ACLEditor.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/ACLManager.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/Divider.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/DuplicateDevices.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/JobQueue.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/NodeMonitor.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/OrphanedDevices.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/PollerPerformance.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/PseudoDevice.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/SlowDevices.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/TimedOutDevices.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/Topology.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/UndiscoveredNeighbors.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/UserLog.pm
in lib/App/Netdisco/Web/Plugin/AdminTask/Users.pm
in lib/App/Netdisco/Web/Plugin/Device/Addresses.pm
in lib/App/Netdisco/Web/Plugin/Device/Details.pm
in lib/App/Netdisco/Web/Plugin/Device/Modules.pm
in lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm
in lib/App/Netdisco/Web/Plugin/Device/Ports.pm
in lib/App/Netdisco/Web/Plugin/Device/SNMP.pm
in lib/App/Netdisco/Web/Plugin/Device/Vlans.pm
in lib/App/Netdisco/Web/Plugin/Inventory.pm
in lib/App/Netdisco/Web/Plugin/Report/ApChannelDist.pm
in lib/App/Netdisco/Web/Plugin/Report/ApClients.pm
in lib/App/Netdisco/Web/Plugin/Report/ApRadioChannelPower.pm
in lib/App/Netdisco/Web/Plugin/Report/DeviceAddrNoDNS.pm
in lib/App/Netdisco/Web/Plugin/Report/DeviceByLocation.pm
in lib/App/Netdisco/Web/Plugin/Report/DeviceDnsMismatch.pm
in lib/App/Netdisco/Web/Plugin/Report/DevicePoeStatus.pm
in lib/App/Netdisco/Web/Plugin/Report/DuplexMismatch.pm
in lib/App/Netdisco/Web/Plugin/Report/HalfDuplex.pm
in lib/App/Netdisco/Web/Plugin/Report/InventoryByModelByOS.pm
in lib/App/Netdisco/Web/Plugin/Report/IpInventory.pm
in lib/App/Netdisco/Web/Plugin/Report/ModuleInventory.pm
in lib/App/Netdisco/Web/Plugin/Report/Netbios.pm
in lib/App/Netdisco/Web/Plugin/Report/NodeMultiIPs.pm
in lib/App/Netdisco/Web/Plugin/Report/NodeVendor.pm
in lib/App/Netdisco/Web/Plugin/Report/NodesDiscovered.pm
in lib/App/Netdisco/Web/Plugin/Report/PortAdminDown.pm
in lib/App/Netdisco/Web/Plugin/Report/PortBlocking.pm
in lib/App/Netdisco/Web/Plugin/Report/PortLog.pm
in lib/App/Netdisco/Web/Plugin/Report/PortMultiNodes.pm
in lib/App/Netdisco/Web/Plugin/Report/PortSsid.pm
in lib/App/Netdisco/Web/Plugin/Report/PortUtilization.pm
in lib/App/Netdisco/Web/Plugin/Report/PortVLANMismatch.pm
in lib/App/Netdisco/Web/Plugin/Report/SsidInventory.pm
in lib/App/Netdisco/Web/Plugin/Report/SubnetUtilization.pm
in lib/App/Netdisco/Web/Plugin/Report/VlanInventory.pm
in lib/App/Netdisco/Web/Plugin/Search/Device.pm
in lib/App/Netdisco/Web/Plugin/Search/Node.pm
in lib/App/Netdisco/Web/Plugin/Search/Port.pm
in lib/App/Netdisco/Web/Plugin/Search/VLAN.pm
in lib/App/Netdisco/Web/PortControl.pm
in lib/App/Netdisco/Web/Report.pm
in lib/App/Netdisco/Web/Search.pm
in lib/App/Netdisco/Web/Static.pm
in lib/App/Netdisco/Web/Statistics.pm
in lib/App/Netdisco/Web/TypeAhead.pm
in lib/App/Netdisco/Worker/Loader.pm
in lib/App/Netdisco/Worker/Plugin/AddPseudoDevice.pm
in lib/App/Netdisco/Worker/Plugin/Arpnip.pm
in lib/App/Netdisco/Worker/Plugin/Arpnip/Hooks.pm
in lib/App/Netdisco/Worker/Plugin/Arpnip/Nodes.pm
in lib/App/Netdisco/Worker/Plugin/Arpnip/Subnets.pm
in lib/App/Netdisco/Worker/Plugin/Arpwalk.pm
in lib/App/Netdisco/Worker/Plugin/CheckSiteLocal.pm
in lib/App/Netdisco/Worker/Plugin/Contact.pm
in lib/App/Netdisco/Worker/Plugin/Delete.pm
in lib/App/Netdisco/Worker/Plugin/Delete/Hooks.pm
in lib/App/Netdisco/Worker/Plugin/Discover.pm
in lib/App/Netdisco/Worker/Plugin/Discover/CanonicalIP.pm
in lib/App/Netdisco/Worker/Plugin/Discover/Entities.pm
in lib/App/Netdisco/Worker/Plugin/Discover/Hooks.pm
in lib/App/Netdisco/Worker/Plugin/Discover/Neighbors.pm
in lib/App/Netdisco/Worker/Plugin/Discover/Neighbors/DOCSIS.pm
in lib/App/Netdisco/Worker/Plugin/Discover/NextHopNeighbors.pm
in lib/App/Netdisco/Worker/Plugin/Discover/PortPower.pm
in lib/App/Netdisco/Worker/Plugin/Discover/PortProperties.pm
in lib/App/Netdisco/Worker/Plugin/Discover/Properties.pm
in lib/App/Netdisco/Worker/Plugin/Discover/Properties/Tags.pm
in lib/App/Netdisco/Worker/Plugin/Discover/VLANs.pm
in lib/App/Netdisco/Worker/Plugin/Discover/Wireless.pm
in lib/App/Netdisco/Worker/Plugin/DiscoverAll.pm
in lib/App/Netdisco/Worker/Plugin/DumpConfig.pm
in lib/App/Netdisco/Worker/Plugin/DumpInfoCache.pm
in lib/App/Netdisco/Worker/Plugin/Expire.pm
in lib/App/Netdisco/Worker/Plugin/ExpireNodes.pm
in lib/App/Netdisco/Worker/Plugin/GetAPIKey.pm
in lib/App/Netdisco/Worker/Plugin/Graph.pm
in lib/App/Netdisco/Worker/Plugin/Hook.pm
in lib/App/Netdisco/Worker/Plugin/Hook/Exec.pm
in lib/App/Netdisco/Worker/Plugin/Hook/HTTP.pm
in lib/App/Netdisco/Worker/Plugin/Internal/BackendFQDN.pm
in lib/App/Netdisco/Worker/Plugin/Internal/SNMPFastDiscover.pm
in lib/App/Netdisco/Worker/Plugin/Linter.pm
in lib/App/Netdisco/Worker/Plugin/LoadMIBs.pm
in lib/App/Netdisco/Worker/Plugin/Location.pm
in lib/App/Netdisco/Worker/Plugin/Macsuck.pm
in lib/App/Netdisco/Worker/Plugin/Macsuck/Hooks.pm
in lib/App/Netdisco/Worker/Plugin/Macsuck/InterfacesStatus.pm
in lib/App/Netdisco/Worker/Plugin/Macsuck/Nodes.pm
in lib/App/Netdisco/Worker/Plugin/Macsuck/PortAccessEntity.pm
in lib/App/Netdisco/Worker/Plugin/Macsuck/WirelessNodes.pm
in lib/App/Netdisco/Worker/Plugin/Macwalk.pm
in lib/App/Netdisco/Worker/Plugin/Nbtstat.pm
in lib/App/Netdisco/Worker/Plugin/Nbtstat/Core.pm
in lib/App/Netdisco/Worker/Plugin/Nbtwalk.pm
in lib/App/Netdisco/Worker/Plugin/NodeMonitor.pm
in lib/App/Netdisco/Worker/Plugin/Noop.pm
in lib/App/Netdisco/Worker/Plugin/PingSweep.pm
in lib/App/Netdisco/Worker/Plugin/PortControl.pm
in lib/App/Netdisco/Worker/Plugin/PortName.pm
in lib/App/Netdisco/Worker/Plugin/Power.pm
in lib/App/Netdisco/Worker/Plugin/PrimeSkiplist.pm
in lib/App/Netdisco/Worker/Plugin/Psql.pm
in lib/App/Netdisco/Worker/Plugin/PythonShim.pm
in lib/App/Netdisco/Worker/Plugin/Renumber.pm
in lib/App/Netdisco/Worker/Plugin/Scheduler.pm
in lib/App/Netdisco/Worker/Plugin/Show.pm
in lib/App/Netdisco/Worker/Plugin/Snapshot.pm
in lib/App/Netdisco/Worker/Plugin/Stats.pm
in lib/App/Netdisco/Worker/Plugin/TastyJobs.pm
in lib/App/Netdisco/Worker/Plugin/Vlan.pm
in lib/App/Netdisco/Worker/Plugin/Vlan/Core.pm
in lib/App/Netdisco/Worker/Runner.pm
in lib/App/Netdisco/Worker/Status.pm
in lib/Dancer/Template/NetdiscoTemplateToolkit.pm
in lib/App/Netdisco/Transport/SSH.pm