# Netdisco ChangeLog 
# netdisco.org
# $Id: ChangeLog,v 1.121 2011/03/31 10:12:27 olly_g Exp $

1.1 (2011-03-31)
Features:
    + []        Add report with number of ports per device that are up, recently 
                down and down for a longer time.
    + []        Allow selecting multiple devices in admin_dev.html for actions 
                that don't require confirmation (eg macsuck, arpnip, refresh).
                Based on patch by Michael Rubashenkov.
    + []        Add arpnip_min_age, macsuck_min_age and discover_min_age config 
                directives, which can be used to prevent polling devices too often.
    + [2982386] Add port_search page so that users can search for ports based
                on the configured description/name. -bldewolf
    + []        Add "Port Usage" report page. Work in progress. -jeroenvi
    + []        Add config option for adding edge styles for graphs. -bldewolf
    + []        Small changes to support devices without sysServices ("layers")
    + []        Add "show free ports" option to Device View. -jeroenvi
    + []        New version of device.html - more columns to be shown/hidden,
                (hopefully) easier to maintain & extend. For testing purposes
                added as "device-new.html". -jeroenvi
    + []        Detect wrapping in device uptime counter & compensate. -jeroenvi
    + [2982390] Added command line option for saving configurations that have
                been modified by jobs in the last x minutes.  Added commented
                cronjob to call this hourly.
    + []        Add support for IPv6 node address tracking. -jeroenvi
    + []        Add device_port_power.power column to store output power per 
                PSE port in milliwatts. -jeroenvi
    + [2777415] Improved PoE support in new Device View with accurate PoE sourced 
                power per port (if device supports it, fallback to class-based 
                estimation). -jeroenvi
    + []        IPv6 address to hostname resolving (quick hack by rkerr)
    + [3106690] Add "arpwalk", "macwalk" and "nbtwalk" to admin panel. Patch from
                Nic Bernstein.
    + [3148218] Detect Proxim wireless APs in WAP search (J R Binks)

Bugfixes:
    * []        Fix sort_port() for ports like "GigabitEthernet2/2/3" -maxb
    * [3002989] Performance improvement for add_arp SQL query. -bldewolf
    * [2991159] Fix complaints when doing a partial MAC search. -bldewolf
    * []        Fix complaints from reports.html with no report type. -bldewolf
    * []        Improve query performance in expire_ips(). -bldewolf

1.0 (2009-10-15)
Features:
    + []        Partial MAC search on an even number of hex digits
    + [1553561] (Optionally) display node NetBIOS info on device view page
    + [1107583] Use SQL transactions when bulk updating tables.
                Based on Daniel Weber's work; updated partially
                from experience in parallel arpnip+macsuck.
    + [1606309] Add subnet info to device_ip table, and keep
                device's primary ip address in device_ip too.
                (not yet in web front end)
    + []        Record device's SNMP::Info class for debugging
    + [1603913] Record module info from Entity MIB.
                (not yet in web front end)
    + [1364276] Multi-process parallel mode for macwalk, arpwalk and nbtwalk.
    + [1641944] LDAP authentication based on contributions from Bernhard Augenstein.
                Multiple root devices for -r.
                External program to get community.
                NetBIOS search node also matches usernames.
                Customer name and icon in config file.
    + []        Allow sql_column() to use sql_query()'s WHERE builder.
    + [1719517] Add discover_no_type config directive to exclude discovery of
                devices based on CDP device type data. (ralfgross)
    + []        Add "store_modules" configuration, defaulting to true,
                to allow disabling the possibly-large ENTITY-MIB fetch.
    + [1616058] Add device_vlan and device_port_vlan tables based on
                Justin Hunter's patch, modified for use with the new
                classes in SNMP::Info.
    + [1808041] Make locations in device and location inventory
                clickable to search for all devices at this location.
                Submitted by Stefan Radman.
    + []        Add Power-over-Ethernet data collection and reporting.
    + [1811819] New front-end enhancements, CSS
    + []        Allow override of the Net-SNMP bugginess detection
                introduced in 0.95 with "bulkwalk_off: false" (Stefan Radman)
    + [ 1850405 ] Adding Users via CLI - no "Full Name" option
    + [ 2081320 ] Search by Age fails to limit the search (dwpoon)
    + []        Add ignore_interfaces configuration option
    + [1811821] Add ZGRViewer SVG File netmap support
    + []        Node search on hostname will fully qualify using configured domain

Bugfixes:
    * []        Correct vlan search url params
    * [2838181] fix &netdisco::dbh to allow multiple instances
    * [2565682] Handle xxxx-xxxx-xxxx MAC address format (J R Binks)
    * [1605351] admin_dev.html could take a long time to load.
                (only partially fixed)
    * []        Fix RFC1918 range (and abstract into netdisco.pm)
    * []        Don't believe netmask 0.0.0.0 (from buggy Net-SNMP agent)
    * []        Look up remote device name if we get 0.0.0.0 or 127.x
                   from CDP instead of skipping altogether.
    * [1641944] Reload configuration in daemon if changed.
                Clear variables in daemon so you can run discover
                   multiple times.
    * []        Properly handle -1 return from create_device when
                   a device is discovered, added to the database,
                   then SNMP::Info can't handle that type of device.
    * []        Set active='f' properly when a node moves from one port
                   to another of the same switch.
    * []        Allow \# escape in topology file. Patch from Maxim Gelin.
    * [1702383] Fix to getip() to allow subnets (allows using subnets in
                _only and _no config options).  Patch from Oliver Gorwits.
    * [1807941] Forgot to add new tables in netdisco.conf (Stefan Radman)
    * [1807954] Location, SSID and VLAN inventories brought you to the
                top of the page (Stefan Radman)
    * [1824229] Newer postgres doesn't add oids by default, so fix
                portcontrol to not rely on them. (Justin A)
    * [1470984] Allow -M, -A and -d to use device aliases.
                This may also resolve the problem that devices get
                discovered multiple times with different IP addresses.
    * [1252726] Properly daemonize admin daemon (mknaus)


0.95 (11/28/2006)

New Device Support in SNMP::Info 1.0:
    + Foundry EdgeIron
    + Nortel Passport/Accelar 1100 and 1200 series
    + Nortel Passport/Accelar 8100 series
    + Nortel Ethernet Routing Switch/Passport 1600 series
    + Extreme Alpine and Summit switches
    + Aruba wireless switches
    + Nortel 2700 series (Airespace) wireless switches
    + Nortel/Bay/Synoptics System 3000 and 281X hubs
    + Juniper

Features:
    + [1107564] Disable BULKWALK on a per device or per device type basis:
                bulkwalk_no, arpnip_no, macsuck_no, discover_no use same
                syntax, see README
    + [1111654] Allow wrap in config file with \ char
    + [969117]  Automatically reloads config file in web front end when it
                changes.
    + [1392968] The map key is now automatically derived from configuration
                (i.e., entries in node_map)
    + [1107578] Port Control via VLANs
    + [744598]  Inventory by subnet - IP Inventory feature improved to dump
                whole subnets
    + [1107579] The map can be clustered by device Location fields.
                Thanks to Bjorn Isaksson for the patch.
    + Apache-based HTTP authentication added.
    + Apache2 + mod_perl2 support from Manuel Bouyer
    + [1393653] Modules for optional features (e.g., NBT) are now loaded when
                needed, not at startup.
    + [1116552] The devices in the "Choose Device" box on the Admin Panel
                are now listed in numerical order by IP address, to make
                it easier to find the one you're looking for.
    + [1116547] Contact field is now searched in the device search.
    + New backend database field time_recent in node database, for
      nodes that move around a lot, it's the last time this node moved
      *back* to this device (time_first is the first time ever).
    + Add macsuck_only, arpnip_only, discover_only limits
    + Get SSIDs and channel from wireless base station ports, and display
      SSID in device port, add SSID inventory and SSID search
    + [1462199] Add SNMP timeout parameter to create_device()
    + [1492791] Added options snmp_force_v*
    + []        pg_all, pg_run, pg_init, pg_back unified into single sql/pg script
                This script parses netdisco.conf for database settings.
    + []        Add graph_png option to use png output from graphviz

Bugfixes:
    * [1094208] "problemnode" attribute on network map was being overriden by default color settings.
    * [1100029] Nbtwalk whole network bug - would die if couldn't connect to a node.
    * [1107565] Log file was trying to be written not in batch mode.
    * [1109221] node_nbt table not created in 0.94
    * [1107568] Netdisco will not work with new version of Graph.pm (0.5x) (Stéphane Bernaud)
    * [1242746] The port lastchange time was incorrectly calculated and
                could be off by the time between the device discovery and
                the web page view (up to a day, with the default crontab).
    * [1407942] IP Inventory needs to cross-reference device and device_ip
    * nbtwalk would crash at the end if there are no nodes to visit.
    * Device Inventory by Age wouldn't show the DNS name
    * [1085591] Loading the "Search on Vendor or OUI" list could take
                a long time if your database was full of bogus nodes
    * Nightly backup would crash with a million archived values in node_ip
    * Database clean (-K or part of -B) would delete nodes on ports
      that appeared to be uplink ports except the neighbor wasn't in
      netdisco.
    * Devices discovered from topo file were required to be in database
    * [1580283] Workaround for buggy Net-SNMP perl connectors: turn off
                bulkwalk if a buggy version is detected.
    * []        Don't work with undefined values if no link speed defined.
    * []        Print errors that would have been absorbed by eval.


0.94beta (12/06/04)

New Device Support in SNMP::Info 0.9:
    - Alteon AD
    - AP222x
    - BayRS
    - BayStack
    - Centillion
    - Contivity
    - Passport
    - Proxim / Orinoco
      (all Eric Miller)
    - More Limited Foundry Support
      (Bruce Rodger)
    * Added C3560s to the C3550 class. (Nicolai)

Features:
    + Log Files exposed to front-end.
    + IP Inventory (Node Inventory) can now show you all the unused IPs in a 
          given subnet, and if Netdisco has seen them or not.
    + Added Feature - Netbios polling of nodes. (Eric Miller)
            Nodes seen in last week are polled for NetBios (SMB) info. 
            Node Inventory by Netbios Domain (max)
            Search on node by netbios name
    + Added MIB database and support to select MIB directories.
    + Added Feature - Device Inventory by SNMP location field.
            Lindsay Druet and Colin Palmer (U of Waikato, Hamilton NZ)
    + Added Feature [ 836962 ]  - Admin Log
            Logs logins, logouts and oter things done inside the admin panel. 
            Reporting from the admin panel.
    + Added Feature - TimeFrame in Port_Report
            Revital Shvarzman @yorku.ca
    + Added Feature - Record last time port changed status (ifLastChange)
    + Added Feature - Device Inventory drill down now shows model/vendor/os/version for every subsearch
    + Added last_arpnip timestamp for arpnips (was never there?)
    + Added Feature - Real Name and Notes field for users in User Admin
    + Folded Advanced Node Search back into Node Search
            (it started off there a few years ago).
            Also fixed node_search to actually work.
    + Highlighting and grouping of search results in node view
    + Added Feature -  Match scope and sysName fields in device_search
    + Added Variable Expansion in Config Files 
            (eg. $home will translate to your setting)

New/Changed Config File Directives:
    + macsuck_bleed
    + macsuck_all_vlans
    + portctl_email, portctl_nophones, portctl_timeout, portctl_uplinks, portctl_vlans
    + mibdirs
    * db_*_env

Bugfixes:
    * Fixed Device Search to be more wildcard friendly
    * Fixed MacSuck to only Macsuck vlans that are currently in use
            macsuck_all_vlans config option overrides.
            (Dusty Hall and Walter Gould)
    * Bug Fixed - Trying to Making Graph when there is no topology info would fail
            (Found by Vaibhav Gupta)
    * !Bug Fixed [1037790] - Some uplink ports were allowed to be switched
    * Bug Fixed [ 1046252 ] SQL 'like' queries broken in PG 7.3/7.4
            (Found by Walter Gould)
    * Bug Fixed - DBD::Pg::db unterminated quoted string bug.
            Problem turned out to be Postgres barfing on null terminated strings.
    * Topology File now resolves aliases to their root devices (Eric Miller)
    * Multiple enviornment variables in db_*_env allowed now.
    * create_device() checks error() method on new device after creation.
    * macsuck() - does not do l2/l3 check on ports with neighbor info anymore
    * device.html - Aliases w/out DNS entries not being shown (bbaetz)
    * port_sort() - Failing on various cases (bbaetz)

0.93beta (6/19/04)
    + Added Feature [ 824527 ] VLAN and VTP Domain membership info
    + Added Feature - Search for and show IP phones that speak CDP
    + Added Feature [ 881202 ] Expire Devices and Nodes / Auto Database Maintenance
    + Added Feature [ 822720 ] Port Reporting
    + Added Feature [ 824521 ] Arpnip and Macsuck Exclusion lists
    + Added devices : Catalyst 4000,4500, C3750, C3500XL, C2970, HP 2650, HP 2626
    + Added ability to escape pound sign and commas for use in config file as \# or \,

    * More error checking for bad topology files  (warnings of 
      insert_or_update(INSERT into device_port (remote_port,remote_ip)... 
      Fail to add null value in not null attribute ip

    * Fixed Bug [ 976039 ] Won't use Config files in non-default dir
    * Update wireless access point list
    + Organized output into the data directory a little better.
    * batch_mode() now makes all directories automatically.
    * Fixed Bug [738991] The infamous Login Bug.
    * Fixed Bug [ 824534 ] Cisco VoIP CDP Enabled Phones mess up Topology
    * Fixed Bug [892024] Alias Clean (-k) wasn't working.
    * Fixed Bug [865492] Cisco port-channels not detected as uplink ports
    * Fixed Bug [824531] Graphviz was dependency.
    * Fixed bug        - Aliases listed on a device weren't sorted by IP.
    * Fixed Bug [810939] reverse lookup of the sysName.0 field used as IP
    * Fixed bug in device.html where the 'resolve ips' setting wasn't being kept
    * Fixed random warning in SNMP::Info -- see its ChangeLog
    * Added one more spot to check for serial numbers.  C/O baetz
    = next five items fixed by Bradley Baetz
    * Fixed bug where colons in CDP info where not being kept
    + added dns resolution for dead cdp neighbors
    * Fixed bug where oui.txt was looked for in the current dir not in the netdisco/ dir.
    * Fixed bug [872167] device.html - Links descriptions were not HTML escaped.
    * Fixed bug [872171] Port listings were not sorted correctly. 

0.92beta (08/14/03)
    + Added feature [753750] Export to NMIS style config file
    + Changed from GetOpt::Std to GetOpt::Long (running out of alphabet)
    + Added feature [762010] Expire nodes by subnet
    + Added Feature [749048] Find old IP addresses
    * Improved database clean up function to remove old nodes not just warn
    * Fixed bug where you couldn't Ctrl-C from macwalk/arpwalk
    * Fixed Bug [ 765422 ] MAC Address of switch port show up under connected devices
    + Added Feature [ 783093 ] Show IP address of connected node under Device View
    + Added Config setting to be able to skip certain VLANs during MacSucks
    * Changed walk_fwtable() to only call fw_port() and not fw_mac()
      to improve macsuck time. 
    * Added known access points to node_search from Kismet project


0.91beta (06/10/03)
    + added feature [ 744605 ] Discover device from the admin panel
    + Added version info for debugging in [About] (was network stats)
    * Fixed Makefile bug for symlinking doc/ files
    * Updated and fixed problems in INSTALL
    * Fixed problem in netdisco_apache.conf for Apache::Session::Postgres
    * Fixed session length bug (typo in autohandler)
    * Fixed Device Inventory bug where "not in the last" was broken
    * Updated graphing defs for GraphViz 0.9
    * fixed bug [ 745764 ] Can't discover device that is listed as IP alias of other
    * fixed bug [ 745746 ] BatchMode called for jobs in admin daemon

0.90beta (5/16/03)
    * First public release
