2.017001_003 - 
  [NEW FEATURES]
  * Add VLAN Inventory Report
  * Add Wireless SSID Inventory Report
  * Add Device Inventory by Location Report
  * Node DNS names resolved in their own job - see nodenames_no and nodenames_only
  [ENHANCEMENTS]
  * Respect ignore_interfaces and i_ignore when detecting wrapped device uptime
  * Try NodeIp OUI company name search if no node results found
  * Format About page numbers
  [BUG FIXES]
  * Update NodeWireless entries which match both MAC and SSID found, only
  * Fix SSL-proxy behaviour by using only path+query in links (W. Gould)
  * Avoid macsuck generated SQL bug when cleaning NULL VLAN (W. Gould)
  * During macsuck get VLAN from Q-BRIDGE if available (jeneric)
  * OK to include device ports when doing arpnip (jeneric)
  * Correct bulkwalk_off logic
  * Silence warnings when ports don't support i_lastchange
2.017000 - 2013-09-23
  [NEW FEATURES]
  * CSV download support for plugins
  * CSV download option for many reports and search/device results tabs
  * Icon in device port sidebar to reset to display defaults
  * Add "not" option in device port sidebar to invert Port/Name/VLAN filter
  [ENHANCEMENTS]
  * Try to make clear the intent of the navbar search and sidebar search
  * Device port sidebar legen display improvements
  * Minor CSS tweaks
  * Better logic for wildcarding on partial device port name match
  * Show manual topology links in device port table (yellow icon)
  * Change order or user tasks menu to have logout at the bottom
  * Show SNMP::Info version in the about page (if installed)
  * Navbar background image :-)
  * Documentation of the following features:
    Main App::Netdsisco page:
      - How to migrate from Netdisco 1.x
      - Suggest enable "housekeeping" setting in config after install
    Manual::Development:
      - How to git clone and run web server in dev mode
    Manual::WritingPlugins:
      - Plugins can return CSV data
      - Dancer route handler Role Based Access Control
      - ~/site_plugins INC dir supported for locally developed Plugins
      - App::NetdiscoX::Web::Plugin:: namespace for non-core Plugins
      - How to load Javascript and CSS files in <head> from a Plugin
      - Advice on supporting config settings (deployment.yml) in Plugins
      - Device Port column Plugins
      - Observium plugin (an example of a device port column plugin)
  [BUG FIXES]
  * Depend on newer Starman to avoid nasty EPIPE bug
  * Page title update fixes
  * Make sure navbar search field is always filled when internally linking
  * Fix APs channel list collapse when more than 10 APs
  * Make navbar search strikethrough work in more corner cases
  * Treat ifStatus "dormant" interfaces as "up"
  * Remove collision in "vendor" query string param name
  * Clear port remote_* details when manual topology is deleted
  * Misnamed no_port_control option is renamed to check_userlog
2.016003 - 2013-09-12
  [BUG FIXES]
  * Fix for Node Age being very broken.
  * Port status icon logic was incorrect for some up/down states.
2.016002 - 2013-09-11
  [BUG FIXES]
  * Fix device and device_port delete not to kill nodes during Discovery
2.016001 - 2013-09-11
  [BUG FIXES]
  * Fix for broken free port status
2.016000 - 2013-09-10
  [NEW FEATURES]
  * Wireless AP Reports (jeneric)
  * About page (jeneric)
  * Allow port list filtering by port state (up/down/etc)
  * Explicit partial match setting for port filter
  [ENHANCEMENTS]
  * Store port control and device delete log messages
  [BUG FIXES]
  * z-index fix for modals
  * Better toastr message on device delete
  * Delete manual topology on device delete
  * Fix Node age stamp option in ports
  * Prevent cascade operations on virtual tables in DBIC
2.015000 - 2013-09-06
  [NEW FEATURES]
  * Device Modules tab (jeneric)
  * Half Duplex Ports Report
  * Remember device ports columns and display options in a Cookie
  * Delete device button for admins
  [ENHANCEMENTS]
  * Change icon for shutdown ports
  * Modal confirm dialog boxes for dangerous admin actions
  [BUG FIXES]
  * Check device is in storage before comparing last_* times with *_min_age
  * Handle UTF-8 data in device module hw_ver, sw_ver, fw_ver, model
2.014000 - 2013-08-26
  [NEW FEATURES]
  * Support store_modules config (default true)
  * Support for discover_min_age, macsuck_min_age, arpnip_min_age
  * Support for macsuck_no, macsuck_only, arpnip_no, arpnip_only
  * Support for macsuck_no_vlan and macsuck_no_devicevlan
  * Support for nonincreasing, bulkwalk_* settings and also property:match values
  [ENHANCEMENTS]
  * Display port descriptions in topology editing form
  [BUG FIXES]
  * Wireless node counters should be bigint
2.013001 - 2013-08-23
  [BUG FIXES]
  * Typo in authN module which prevented local auth
2.013000 - 2013-08-23
  [NEW FEATURES]
  * LDAP authentication support - see Configuration POD for details
  [ENHANCEMENTS]
  * Display "Auto" when there is no discovered duplex setting
  * Add suggest_guest option to display login banner offering Guest acct
2.012006 - 2013-08-23
  [BUG FIXES]
  * Duplicate port names are handled without error
2.012005 - 2013-08-16
  [ENHANCEMENTS]
  * Improved handling of automatic macsuck/arpnip after initial discover
  [BUG FIXES]
  * Fix no_auth to work with new Auth::Extensible plugin
  * Remove done job from local queue regardless of exit status
  * Set last arpnip timestamp
2.012002 - 2013-08-07
  [BUG FIXES]
  * Tidy up Device IP after deleting a pseudo device
2.012001 - 2013-08-06
  [BUG FIXES]
  * Add missing dependency on Dancer::Plugin::Auth::Extensible
2.012000 - 2013-08-06
  [ENHANCEMENTS]
  * Use icons for port status and archive presentation
  * Always offer to discover device on site homepage
  * Device re-discover/arpnip/macsuck is async with toastr notify
  * Implement extensible authN and role based access control
  * RW snmp community strings now in the "community" table
  [BUG FIXES]
  * Floating table headers not compatible with in-header drop-down menus
  * Fix blur events on editable cells
  * Pseudo device ports being counted properly since Port Utilization report
  * Manual topology is preserved when re-discovering neighbors
2.011000 - 2013-07-29
  [NEW FEATURES]
  * Port Utilization report
  * User Management (for admins only)
  [ENHANCEMENTS]
  * Add docs note about SSL support
  * Button to empty the job queue, and improve display when the queue is empty
  * Table headers float on the page when scrolling
  [BUG FIXES]
  * REMOTE_USER is an env var, not an HTTP Header
  * Swap play/pause icons in jobqueue
  * Find the RW snmp community string correctly now
2.010004 - 2013-07-24
  [BUG FIXES]
  * Navbar query box was being cleared sometimes under admin task panels
2.010002 - 2013-07-23
  [ENHANCEMENTS]
  * Nullify unused schema changes
  [BUG FIXES]
  * Fix FF bug with forms embedded in tables
  * Fix bugs in topo update code
2.010001_003 - 2013-06-20
  [BUG FIXES]
   * Pass event param to all js functions which require it
   * Handle UTF-8 data in the device port remote_id
2.010000 - 2013-06-16
  [NEW FEATURES]
  * Support for delegated authentication with REMOTE_USER and X-REMOTE_USER
  * Ask to set up guest user for Admin/Port Control rights in deploy script
  * Job Queue page play/pause/refresh controls
  [ENHANCEMENTS]
  * Database config simplified to only four essential settings
  * Use DBIx::Class new collapsed query support when we can
  * Add discoverall, macwalk, arpwalk items to the Admin Tasks menu
  * Increase default frequency of job queue polling to 2 seconds
  * Add tooltip showing the job queue item logged status message
  [BUG FIXES]
  * Macwalk and Arpwalk job defer fixed
  * Sort VLANs, MACs, IPs properly in Device Port view
  * Fix hyperlinks when running behind reverse proxy on custom path
  * Add workaround for https://github.com/PerlDancer/Dancer/issues/935
  * Fix Plack middleware config for Expiry
2.008002 - 2013-06-11
  [ENHANCEMENTS]
  * Initial (bootstrap) discover now queues an arpwalk and macwalk as well
  [BUG FIXES]
  * Fix logging when daemonized
  * Remove bad constraint on device_ip table
  * Limit queueing of discovery to things which can be discovered
2.008001 - 2013-06-11
  [BUG FIXES]
  * More fixes for localenv discovery in scripts
2.008000 - 2013-06-09
  [BUG FIXES]
  * localenv discovery in scripts is now more reliable
2.007000_002 - 2013-06-03
  [NEW FEATURES]
  * Finally we have a discover/refresh/arpnip/macsuck daemon jobs :)
  * Also... a Scheduler which removes need for crontab installation
  * The netdisco-do script can queue any one-off job
  * Select MAC Address display format on Node and Device Port search
  * Helper script to import the Netdisco 1.x Topology file to the database
  * Support for pseudo devices (useful for dummy device links)
  * Manual Topology editing via the web
  * Job Queue view and delete page
  * Empty device table prompts initial discover on homepage
  * Support for App::NetdiscoX::Web::Plugin namespace
  * Plugins can add columns to Device Ports display
  * Observium Sparklines port column plugin
  * Plugins can have CSS and Javascript loaded within <head>
  [ENHANCEMENTS]
  * SNMP connection now uses cached info if available
  * Better handling of MIBs home location in deploy script
  * Port filter in device port display is now highlighted green
  * Navbar search is fuzzier
  * Phone node icon is a little phone handset
  * User icon color indicates port_control/admin ability
  * Buttons for discover/macsuck/arpnip on device details page
  * Support 'path' config option as alternative to --path /mountpoint
  * Local plugins can be placed in ${NETDISCO_HOME}/site_plugins/...
  * Missing mibdirs causes all MIBs to be loaded (with a warning)
  * Include qtip2 libraries
  [BUG FIXES]
  * Rename plugins developer doc to .pod
  * Update to latest Bootstrap and JQuery, and temp. fix #7326 in Bootstrap
  * Partial Name in Port search now working
  * Add unique constraints to topology table
  * Handle whitespace ahead of OUI data
  * Wasn't using Bootstrap table class properly
2.007000_001 - 2013-03-17
  [NEW FEATURES]
  * Reports are implemented (as plugins) - new Duplex Mismatch plugin
  * Plugins can now 'register_template_path' and supply their own HTML templates
  [ENHANCEMENTS]
  * Upgraded to Twitter Bootstrap 2.3.1 - customized for 13px font 18px line
  [BUG FIXES]
  * Convert useless die to error+return in Plugin.pm
  * Documentation fixups
2.006000 - 2013-03-07
  [BUG FIXES]
  * Documentation fixups
2.005000_004 - 2013-03-05
  [BUG FIXES]
  * Documentation fixups
2.005000_003 - 2013-03-05
  [NEW FEATURES]
  * Partial Match option when searching on device port name
  * web,daemon,deploy scripts will try to find "localenv" automatically
  * Scripts can be run from a git clone
  * New NETDISCO_HOME env var to override Netdisco's HOME
  [ENHANCEMENTS]
  * random() and LIMIT the number of daemon jobs requested from Netdisco queue
  * Remove Daemon's job queue DBIC schema from user config
  * 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
2.00_010 - 2012-12-20
  [NEW FEATURES]
  * new netdisco-deploy script to do all deployment tasks at once
  [ENHANCEMENTS]
  * update README with full deployment instructions
  * add SNMP settings for daemon to environment
  [BUG FIXES]
  * upgrade db incrementally
  * rename schema files to be App-*
  * fix for older Perl which warns about a bug in File::Slurp
  * fix bug with empty DANCER_APPDIR
  * fix version strings for platform warning
  * add missing JSON dependency
  * fix sharedir to use dist dir not module dir
  * remove redundant lines in Makefile.PL
2.00_009 - 2012-12-17
  [NEW FEATURES]
  * Relocate into App::Netdisco namespace
  * Make a proper CPAN-ready dist using Module::Install
  * Update OUI data when the DB schema is deployed/upgraded
2.00_008 - 2012-12-16
  [NEW FEATURES]
  * Refactor to make less webby and more suitable to be a complete Netdisco app
  * Network Map now shows all device neighbors and allows click-through nav
  * Add new netdisco-daemon to handle port_control actions
  * Add PoE control to port_control (+ up/down,vlan,name,location,contact)
  [ENHANCEMENTS]
  * eradicate checks for dns column in node_ip table - now assumed to be there
  * remove .pl from script names
  * no longer deploy FK constraints with DB schema as they upset legacy netdisco.pm
  [BUG FIXES]
  * port cotrol user log check now looks for all actions
  * node search switchport link shows connected nodes again
  * show device IP in search results when DNS is not available
0.7 - 2012-11-25
  [NEW FEATURES]
  * Add Port Control (admin table) features to web
  * Implement DBIx::Class::Schema::Versioned support - DB schema is now versioned
  * Navbar query for device with single hit redirects to Device details page
  * Show device name on device details views (closes #30)
  * Migrated to Font Awesome for a wider range of icon fonts
  * Simple network map showing *some* links between devices
  * Individual column selections for connected nodes and devices
  [ENHANCEMENTS]
  * Move DBIC virtual tables into Virtual:: namespace (closes #19)
  * Maintain node search options when changing navbar query (closes #27)
  * Device port connected devices now off, Display Cols shown by default
  * Remove various dummy <a> tags that were encouraged by Bootstrap
  * Node search link enables connected devices column (closes #31)
  * Better layout of sidebar pinning
  [BUG FIXES]
  * Fix netgear port ordering (closes #26)
  * Fix Foundry 10GE port ordering
0.6 2012-08-28
  [NEW FEATURES]
  * Icon to copy Navbar search text to Device Search Options field (closes #11)
  * Typeahead on the main navbar search (for devices only)
  * Support for have_nodeip_dns_col setting (closes #14)
  * Set focus to navbar search on initial login or when changing to home (closes #24)
  * Port filter supports basic */?/%/_ wildcards (closes #25)
  [ENHANCEMENTS]
  * Native copy of the Netdisco sort_port routine (#17)
  * Refactor begin hooks (closes #16)
  * Re-engineer link generation to ensure sane defaults and remembered options.
    This came as a side-effect of removing JS-only links (closes #21)
  * Replace jquery-collapser with Bootstrap's collapser
  * Upgraded to Twitter Bootstrap 2.1.0 - customized for 13px font 18px line
  * Factor out inventory queries to the Device ResultSet (closes #20)
  * Clicking on a port to restrict search now uses AJAX instead of page get
  [BUG FIXES]
  * Fix sidebar hiding not making main content reflow to full window width (#15)
0.5 2012-03-09
  [NEW FEATURES]
  * Inventory page
  * Migrate to Twtitter Bootstrap v2.x (thanks Eric Miller!)
  [ENHANCEMENTS]
  * Device Ports table port name is clickable to limit to that port only
  * Tidy up display of Device Port Neighbors
  * Refactor all SQL/DBIC to be smarter and more efficient
  [BUG FIXES]
  * Fix Net::MAC explosion (#8)
  * Fix partial IP Addr explosion (#7)
  * Set distinct on device search (#12)
  * Fix strikethrough on tab change (#9)
0.4 2012-02-19
  [NEW FEATURES]
  * Sidebar can be pinned in place to keep it visible when scrolling.
0.3  2011-02-03
  [NEW FEATURES]
  * Browser History is updated with each tab change (HTML5 State). Also
    the browser url is updated, meaning the Bookmark icon is no longer
    necessary.
  * Sidebar is now on the right hand side of the window, and is only
    displayed when there are options for the current tab.
  [ENHANCEMENTS]
  * Refactor Javascript to place most in a static file, speed templating.
  * Refactor Stylsheets to better organise and comment the settings.
  * When Device Search sidebar is in use, strikethrough the navbar search.
0.2  2011-01-22
  [NEW FEATURES]
  * "Show All Ports" in Device Ports view:
    A little sweeping brush icon appears when the ports view is filtered.
    Clicking the icon will clear the filter and resubmit the form.
  * Sidebar can be hidden and unhidden to assist viewing of wide tables.
  * Added Print Stylesheet (hides navbar and sidebar).
  [ENHANCEMENTS]
  * Added this Changes file.
  * Reorganised TT template file names and locations.
  * Connected device Age is now rounded to the minute.
  [BUG FIXES]
  * Join type to OUI table is now "LEFT" to allow empty OUI table.
  * Device Ports Legend show/hide arrow was pointing the wrong way.
  * Increase TT WHILE_MAX to allow very long lists of ports.
0.1  2011-01-18
  * Initial release on an unsuspecting world.