2.018001 - 

  [ENHANCEMENTS]

  * Ports with active nodes are set to be "up" immediately (closes #9)
  * Avoid returning to the DB for every MAC on a neighbor port

  [BUG FIXES]

  * Update Print media CSS to handle new UI components
  * Deadlock in Discover over access to the device_ports table
  * Set canonical IP failed on synthesized cols (and was wrong anyway) (closes #35)
  * Remove dupe restriction on job queue, try for smarter *all queuing (closes #41)
  * Remove scary message from Auth::Extensible (closes #38)
  * Return first port neighbor match, if multiple devices claim the IP (closes #42)
  * Should handle empty ports preferences (closes #39)
  * Decode more entPhysicalEntry columns as UTF-8 (closes #37)
  * Lock device_port table when updating Device Ports (closes #40)
  * Fix missing node age column in device ports CSV (closes #33)

2.018000 - 2013-10-08

  [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
  * Correct *_only and *_no setting logic
  * Correct the instructions for runing dev instance of web and daemon

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.
