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
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
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
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/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