Changes for version 2.117003 - 2026-11-07

  • ENHANCEMENTS
    • #1777 the Access Point Clients report shows AP names, interfaces, SSIDs, and per-SSID client counts
    • #1794 Ports tab: read PoE, SSIDs, the last comment and the neighbor MAC with one query each instead of one per port, and build the rows for the HTML and CSV output in one function. SSIDs are now listed sorted. A site-local ports.tt from before this release keeps working, and checksitelocal reports what it costs (rule ports-row-keys)
    • #1813 require current releases of Starman, HTTP::Body, Net::DNS and other dependencies
    • #1815 document that a new installation needs Perl 5.24, and that an older installation can still be upgraded
    • #1818 make Authen::TacacsPlus optional, so installs on GCC 15 no longer fail
    • #1820 require current releases of DBI and other indirect dependencies with advisories
  • BUG FIXES
    • #1808 apply the Ports tab's row-group filter to the Ports table only
    • #1816 install instructions: drop curl from the Red Hat list, where it conflicts with curl-minimal, and add the OpenSSL headers on openSUSE
    • #1819 NXOS CLI macsuck: keep Vlan and other unmapped port names as printed

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!
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
bulk INSERT ... ON CONFLICT for every result set
Warn when PostgreSQL is older than a future release will accept
find site-local files broken by shipped changes
Netdisco Web UI components
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/Deploy.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/DeviceIp.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/SchemaCheck.pm
in lib/App/Netdisco/DB/SchemaVersioned.pm
in lib/App/Netdisco/DB/SetOperations.pm
in lib/App/Netdisco/DB/StepFile.pm
in lib/App/Netdisco/DB/UpgradeMessage.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/Theme.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/CheckEncoding.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/LoadMIBsFromOIDs.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