App-Netdisco
view release on metacpan or search on metacpan
2.109001 - 2026-09-18
[ENHANCEMENTS]
* netdisco's own configuration of the API browser is no longer kept inside
the vendored Swagger UI files, so updating them cannot quietly revert it
[BUG FIXES]
* the "Ports on Hosts" choice when creating an Access Control List made a
Host to Host mapping instead, so a port control rule using that list never
applied. the list also then showed the other type's name
* the session cookie key and API tokens are now minted from the operating
system's random source, not the database's. the netdisco-deploy manual
page says how to replace a key minted by the old code
* fix a stored CSV formula injection in CSV downloads: a cell that would be
read as a spreadsheet formula is now written as plain text
* fix a stored cross-site scripting hole in several report and search tables
* fix a stored cross-site scripting hole in the Ports tab and the node
search views
* fix arbitrary module loading in the SNMP browser's munge parameter
* fix a privilege escalation in the queue API and the admin job controls,
where a job action naming a backend command worker could be queued
* fix an open redirect in the login form's return_url
* warn at startup when metrics_path is set with neither metrics_allow nor
metrics_token, so the endpoint is not published unrestricted unnoticed
* raise the bcrypt work factor for locally stored passwords. an existing
password is rewritten at the new factor on its owner's next successful
login, and safe_password_store still governs whether that happens
* bound the port count accepted when creating a pseudo device
* fix a command injection in the external credentials command, where a
device's DNS name was substituted into it unchecked
2.109000 - 2026-09-13
[ENHANCEMENTS]
* this release needs Safari 16.4, Firefox 101, Chrome 74 or Edge 79, or
newer. it is the first that will not work on an older browser
* pages are now drawn in the display mode the current framework is written
for. rows in a table stand a little taller as a result
* Back and Forward now fetch the page again for the tab and options in the
address bar, so what you return to is current rather than the results as
they were when you left them
* changing your search or your columns while results are still loading now
abandons the request already in flight, so what you asked for last arrives
sooner and the results you replaced never flash up on the way
* a request whose answer never arrives now gives up after five minutes and
says so where the results would be, instead of leaving the spinner turning
* searching the SNMP browser now goes straight to the object, where it used
to open the tree a level at a time
* the SNMP browser tree and the suggestion lists under the search boxes are
drawn by netdisco itself now. they work as they did, and both look a little
different
* the arrow marking a sorted column is drawn differently and takes less room,
so tables are a little narrower
* the date range boxes on Node Search, IP Inventory and Subnet Utilization
are now a list of the usual ranges above two ordinary date fields. they
send what they always did
* the sidebar now opens and closes at once instead of sliding
* if you keep site-local templates or JavaScript, run netdisco-do
checksitelocal after upgrading. this release removes several things a copy
may still call, including script files and a stylesheet a copy of the
layout may still name, and the report names every file and what to change.
a shadowed layout is also reported when the web app starts, because it
leaves every page dead and says nothing otherwise
* the loadmibs action now loads the SQL bundled with netdisco-mibs. the
previous behavior, building the table from the OID reports, is now the
loadmibsfromoids action
[BUG FIXES]
* fix an authenticated server-side request forgery: any user could have the
backend poll an address of their choosing
* a non-admin job no longer forwards the extra and port parameters into the
backend configuration
* fix a privilege escalation in the port control endpoint, where a
port_control user could queue any backend job action
* fix an authenticated reflected XSS in the /t/<tenant> URL segment
* a /t/ URL naming a tenancy which is not configured is no longer a page
* fix an authenticated credential disclosure: the device API returned the
stored SNMP community in the device object
* fix an authenticated SQL injection in the device search "fields" parameter
* Device Search no longer returns the stored SNMP community, and a field name
which is not a Device column is refused rather than passed to the database
* fix an authenticated SQL injection in report sorting and searching
* the archived-node marker is drawn in one color everywhere it appears
* the delete button on the Duplicate Devices admin page shows its icon
again, rather than red on red
* the Neighbor Hops label in the netmap sidebar lines up with its radio
button again
* #1498 fix numeric warning when job log is NULL in jobqueue template
2.098001 - 2026-04-16
[BUG FIXES]
* add IO::Pty to build dependencies
2.098000 - 2026-04-16
[NEW FEATURES]
* #1492 add /api/v1/statistics API endpoint
* #1494 /health and /metrics endpoints for monitoring or load balancing
* #1496 add power_modules API endpoint and add PoE info to device API endpoint
[ENHANCEMENTS]
* #1493 check parameters to Hooks to avoid errors
* Improve documentation for NXOS SSH collector
[BUG FIXES]
* #1484 add the device IP to scheduled Hooks
* require Sys::SigAction 0.24
2.097003 - 2026-02-21
[ENHANCEMENTS]
* bump SNMP::Info dependency 3.975000
2.097002 - 2026-01-09
[ENHANCEMENTS]
* faster search for enterprise product number in netdisco-mibs
2.097001 - 2026-01-08
[ENHANCEMENTS]
* #1477 macsuck, arpnip, discover web buttons should follow is_* acls
* search for enterprise product number in netdisco-mibs
* add plain api driver type and adjust driver priorities
* update NetAddr::MAC dependency to 0.99
[BUG FIXES]
* #1479 error to GET /ajax/content/device/ports when subinterface without parent
* #1478 fixes vendor not known by netdisco
2.097000 - 2025-12-16
[NEW FEATURES]
* IOS-XE: add SSH ARP (multi-VRF) and MAC collectors (replaces IOSXEMac collector)
[ENHANCEMENTS]
* #1473 get_credentials can now also open a plain file
2.096001 - 2025-12-13
[ENHANCEMENTS]
* #1458 add login_banner_message setting to put text on the login page
[BUG FIXES]
* #1440 promote bare empty string to empty array if found on list custom field
2.096000 - 2025-12-07
[NEW FEATURES]
* #1467 run all transports in priority order instead of only highest priority one
[BUG FIXES]
* #1462 incorrect row height in Firefox
2.095006 - 2025-11-27
[BUG FIXES]
* remove netdisco-do build
2.095005 - 2025-11-27
[BUG FIXES]
* #1463 avoid error when seeing two power reports for the same device port
2.095004 - 2025-11-23
[ENHANCEMENTS]
* #1456 render arrays as multi-line cells in CSV exports
2.095003 - 2025-11-18
[ENHANCEMENTS]
* #1427 collapse large numbers of MAC and IP addresses in device ports
[BUG FIXES]
* #1452 fix problem with accented letters in the window title
2.095002 - 2025-11-16
[BUG FIXES]
* #1422 ensure known good community string always tried before config communities
2.095001 - 2025-11-15
[BUG FIXES]
* upload netdisco-postgresql-13 to container repositories
[NEW FEATURES]
* #910 implement import of snmpwalk and more robust snapshot handling (#1086)
* #1087 netdisco-do show handles qualified MIB leafs
[ENHANCEMENTS]
* better status reporting from SNMPFastDiscover
* check loadmibs has run before getting a snapshot
* allow deferrable_actions exceptions to device deferrals
[BUG FIXES]
* avoid tags worker if device not in storage
* make use of spefific device class in netdisco-do show work again
* fix bug with internal actions overriding job actions
2.064001 - 2023-07-25
[BUG FIXES]
* fix double encoding on JSON UTF-8 custom fields
* bump SNMP::Info dep to 3.94 for aggregate ports bug fix
2.064000 - 2023-07-22
[NEW FEATURES]
* #1063 allow ACLs to match custom_fields
* #1064 tags feature on devices and device ports (and ACLs)
[ENHANCEMENTS]
* #1072 remove stale custom fields keys on rediscover
[BUG FIXES]
* 1067b82d custom fields can only be set when device or port config matches
* #1062 fix job queue submit API to support extra field as subaction
2.063004 - 2023-07-15
[BUG FIXES]
* avoid mistaking v6 in ACL for prop:val
2.063003 - 2023-07-15
[BUG FIXES]
* allow ACL property match to contain ":"
* fix skip long SNMP timeout for initial discover
2.063002 - 2023-07-14
[ENHANCEMENTS]
* #1059 NETDISCO_SNMP_BULKWALK_OFF environment to disable bulkwalk
* #1060 portctl_topology setting to enable manual topology for port control users
* #1066 faster device credentials discovery and snmp_try_slow_connect setting
* #1067 netdisco-do --force to enqueue more than 512 jobs
* deleting a device is now always a job, never done in the web engine
* update netdisco-do documentation
[BUG FIXES]
* #1058 error when the log string is empty
2.063001 - 2023-06-28
[BUG FIXES]
* avoid CSS vulnerability in Job Queue page
* avoid CSS vulnerability in Find Anything
* explicitly use SameSite=Lax Cookie Attribute for dancer.session cookies
* avoid open redirect vulnerability with return_url login helper
2.063000 - 2023-06-28
[NEW FEATURES]
* #975 RBAC for port control with new portctl_by_role setting
2.062005 - 2023-06-26
[BUG FIXES]
* fix op:and not working for prop:value ACL rules
2.062004 - 2023-06-26
[ENHANCEMENTS]
* #843 redux - also refresh API token for getapikey
* #1036 redux - allow use of /login even when authN is delegated
[BUG FIXES]
* permit import of check_acl from Util::Permission
2.062003 - 2023-06-20
[ENHANCEMENTS]
* #1044 faster PortVLANMismatch query
* #1045 custom fields are now indexed in the DB
* add "phone" to phone_platforms default config
* swagger-ui allows adding X-REMOTE_USER header when behind proxy
[BUG FIXES]
* add missing validate_remote_user default setting to config
* fix for undef HTTP_SERVER and HTTP_PORT err when browsing swagger-ui
2.062002 - 2023-06-06
[BUG FIXES]
* fix mistaken release with device ports partial search default as on
2.042004 - 2019-03-28
[ENHANCEMENTS]
* #548 add IS-IS neighbor discovery support (pyro3d)
2.042003 - 2019-03-21
[BUG FIXES]
* minor enhancement to the way device_auth falls back to snmp_auth
2.042002 - 2019-03-20
[ENHANCEMENTS]
* allow pseudo devices to arpnip
[BUG FIXES]
* the store worker phase will return more accurate status
2.042001 - 2019-03-18
[BUG FIXES]
* Do not clobber sshcollector config
2.042000 - 2019-03-17
[NEW FEATURES]
* Implementation of API authentication and Swagger-UI (pyro3d and ollyg)
2.041002 - 2019-03-17
[BUG FIXES]
* fix precedence of device_auth over snmp_auth loading
* check legacy config name for nbtstat_response_timeout
2.041001 - 2019-03-15
[ENHANCEMENTS]
* add "store" and "late" phases to backend workers
* documentation updates
[BUG FIXES]
* #539 fix an issue with VLAN reindixing for VRFs (earendilfr)
* fix device port change check
2.041000 - 2019-03-12
[NEW FEATURES]
* netdisco-sshcollector no longer required - the functionality (arpnip via
ssh) will be run within netdisco's core schedule (rc9000 and ollyg)
* get_credentials replaces get_community and accepts any device_auth stanza
in JSON format (ollyg)
2.040007 - 2019-03-06
[BUG FIXES]
* #521-redux Search Node Date Range not working (ollyg)
2.040006 - 2019-03-04
[BUG FIXES]
* #527 update List::MoreUtils version requirement
2.040005 - 2019-03-04
[BUG FIXES]
* #526 fix discover syntax bug
2.040004 - 2019-03-03
[NEW FEATURES]
* #510 store ifindex in Device Port Properties table (rc9000)
* new discover_waps and discover_phones boolean settings (ollyg)
[ENHANCEMENTS]
* #428 Port-Channels now showing in netmap (ollyg)
* #490 use new LLDP capability checks for ports having phones (ollyg)
* #494 update Cisco ASA ssh collector (stromsoe)
[BUG FIXES]
* #492 Port Control incorrectly uses VLAN config check (inphobia)
* #493 HTML tag fix (inphobia)
* #498 Map with VLAN filter omits unconnected devices (ollyg)
* #499 netdisco-do renumber reports wrong ip (inphobia)
* #500 no more duplicate entries in vlan filter (ollyg)
* #505 renumbering device missed a few tables (ollyg)
* #512 fix regression in phone/wap discovery exclusion (ollyg)
* #514 ipinventory report returns consistent data (inphobia)
* #520 make sure aggports have a master<->slave (ollyg)
* #521 Search Node Date Range not working (ollyg)
* #522 TypeAhead.pm can reference empty data (inphobia)
* fix bug showing no nodes when only one matches in netmap (ollyg)
2.040003 - 2019-01-18
[NEW FEATURES]
* #485 new "VLANs" device tab showing a VLAN report (inphobia)
[ENHANCEMENTS]
* #408, #417 & 477 makerancidconf improvements re-added (earendilfr, inphobia)
* #420 IP Inventory Node column renamed to IP Address (ollyg)
* #420 sidebar defaults for IP Inventory report can be overridden (ollyg)
* #424 column name is "Connected Nodes & Devices" when both are shown (ollyg)
* Add log messages to the Daemon
* Use Path::Class for path and file name construction consistently
* All links and redirects are now relative
* More documentation on developing and deployment
[BUG FIXES]
* Avoid use of DNS when looking up devices in DB by IP
* Search by device port MAC no longer fatal
* URI and HTML escape template variables
* Prevent duplicate requets caused by favicon.ico link
* DB Schema upgrades are now all single-step in case user has applied any already
2.005000_002 - 2013-02-10
[ENHANCEMENTS]
* When linking to devices, use the DNS name in preference to the IP
(makes for more attractive navigation search bar, but need to watch for aliases)
* In general, device names do not have domain_suffix trimmed, but nodes do
* Search on device interface alias now works for typeahead and device redirect
[BUG FIXES]
* Updated the print CSS
* Minor fixes to POD
2.005000_001 - 2013-02-09
[NEW FEATURES]
* Support for Web Plugins (see App::Netdisco::Web::Plugin)
[ENHANCEMENTS]
* Do not include inventory items which don't have full OS details
* Hide Legend item relating to port control if not an admin
* No-Wrap on port name column
[BUG FIXES]
* Change port ordering for Arista and Foundry platforms
2.004002 - 2013-01-30
[BUG FIXES]
* Typo in one of the schema migration files
2.004001 - 2013-01-29
[ENHANCEMENTS]
* Device Port filter by vlan includes both tagging and untagged (closes #37)
* Change colour and name of Port Control toggle option in Device Port View
* Incorporate latest DB schema changes from upstream
* Add some doc clarifcations
[BUG FIXES]
* No longer prompt for demo/demo credentials (closes #38) (J. Binks)
* Display IP in Vlan search if device has no DNS (closes #36) (J. Binks)
2.004000 - 2013-01-14
[BUG FIXES]
* Very naughty typo in netmap code, which I forgot to merge a fix for.
* Typo in installation docs (S. Gupta)
2.002000 - 2013-01-06
[BUG FIXES]
* Syntax error in netdisco-daemon-fg
* Missing installation of netdisco-web-fg
2.001000_001 - 2013-01-06
[NEW FEATURES]
* Added daemonized version of the web-app server also using Daemon::Control
[ENHANCEMENTS]
* Daemons now log to ~/logs/netdisco-{web,daemon}.log
* Finally wrote the DEVELOPING.pod documentation
* Removed the MCE workarounds as upstream merged fixes
[BUG FIXES]
* Fix sloppy schema calls which broke netmap
2.01_001 - 2013-01-05
[ENHANCEMENTS]
* Rewrite of the daemon to use Daemon::Control and MCE (cleaner netdisco
code and fewer deps)
* Version bump so that we'll be releasing odd numbered beta dists
2.00_012 - 2012-12-21
[ENHANCEMENTS]
* Move Changes file to be in CPAN Dist
* Update install docs to use URL for package until we are CPAN-indexed
2.00_011 - 2012-12-20
[ENHANCEMENTS]
* store daemon db in the netdisco home area
* confirm db schema deployed
[BUG FIXES]
* fix mistake in docs for schema file name
* bug with using last inside try{}
* bug with txn_do in Manager worker
( run in 0.651 second using v1.01-cache-2.11-cpan-007c89162af )