# Change Log

## 2.1.11 28/09/2018

* Catch some exceptions.

## 2.1.10 15/09/2018

* Include locale information and GNS3 VM version in crash reports.
* Fix small errors like unhandled exceptions etc.
* Import encodings.idna to avoid LookupError when standard library is in a zip file.
* Catch exceptions in various locations to fix small issues reported by Sentry.
* Check if serial pipe can be opened for VMware and VirtualBox VMs.
* Improve the invalid port format detection. Fixes https://github.com/GNS3/gns3-gui/issues/2580
* Update aiohttp verion requirement in order to support Python 3.7. Fixes https://github.com/GNS3/gns3-gui/issues/2566
* Update setup.py and fix minor issues.
* Catch asyncio.CancelledError when shutting down the server.
* Report GNS3 VM errors to the GUI server summary. Ref #1359.
* Replace vboxnet0 (if it does not exist) by the first available vboxnet interface on Windows. Fixes https://github.com/GNS3/gns3-vm/issues/102
* Check if the VirtualBox host-only network exists when starting a GNS3 VM running on VirtualBox. Ref https://github.com/GNS3/gns3-vm/issues/102
* Change file timestamps if necessary because ZIP does not support timestamps before 1980. Fixes #1360.
* Add missing coroutine decorator Ref https://github.com/GNS3/gns3-gui/issues/2566
* Refactor asyncio locking system for Python 3.7 support. Ref https://github.com/GNS3/gns3-gui/issues/2566 Ref https://github.com/GNS3/gns3-gui/issues/2568
* Use asyncio.ensure_future() instead of asyncio.async() with conservative approach to support Python < 3.4.4. Fixes https://github.com/GNS3/gns3-gui/issues/2566
* Forbid controller and computes to be different versions. Report last compute error to clients and display in the server summary.
* Fix exception with short names for Dynamips interfaces. Fixes #1386.
* Add missing Qemu boot priority values. Fixes https://github.com/GNS3/gns3-server/issues/1385

## 2.1.9 13/08/2018

* Fix some more problems with interface short names. Fixes https://github.com/GNS3/gns3-gui/issues/2562
* Fix incorrect short port names in topology summary. Fixes https://github.com/GNS3/gns3-gui/issues/2562
* Set lower process priority when computing idle-pc value on Windows. Ref #2522.
* Catch exception: ZIP does not support timestamps before 1980. Ref #1360.
* Sync appliances

## 2.1.8 14/06/2018

* 'caplog.text()' syntax is deprecated, use 'caplog.text' property instead.
* Remove problematic pytest-capturelog dev dependency.
* Fix API status code for start/stop/suspend/reload a node. Fixes #1353. Fix issues with test. Update documentation.
* Don't send variables to computes where are empty, Ref: #1340

## 2.1.7 12/06/2018

* Don't release NIO UDP ports when updating docker container.
* Timeout for stream file.
* Fix switching console type from telnet to VNC throws error.
* Fix timeout error with "save as" for large projects.
* Update API documentation
* Add API endpoint to return all links attached to a node.
* Fix issue with some SVG symbols that could not be used in GNS3. This was due to the height and width values being percentages.
* Show correct free disk space value.
* Force prompt-toolkit to version 1.0.15
* Remove unwanted trailing characters and other white spaces when reading .md5sum files.
* Change order to find vnetlib on Windows (PATH -> Registry -> Default directories).

## 2.1.6 22/05/2018

* Locks down async-timeout<3.0.0 for P3.4 support; Fixes: #1331
* Create/update project on compute when variables changes
* Support for nested global variables
* Don't clean logo images when applied to the project
* Support of supplier and variables in topology
* Project global variables
* Add command information when uBridge has an error. Ref #1289
* Handle asyncio timeouts. Ref #1307.
* Fix bug with export project. Ref #1187 #1307.
* Offload slow file operations to threads for snapshots and project "save as". Ref #1187 #1307.
*  support based on init.sh, Ref: #2482
* Fix exception from send_signal() on Windows.
* Add support of ExtraHosts for Docker, Ref. gns3-gui#2482

## 2.1.5 18/04/2018

* Set the first byte to 0C when generating a random MAC address for a Qemu VM. Ref #1267.
* Update appliance files.
* Do not use VMnet0 when allocating VMnet adapters.
* Use SO_REUSEADDR before calling bind() where missing. Fixes #1289.
* Do not fail a Dynamips project conversion if a file being used.
* Catch exceptions when using AsyncioTelnetServer. Fixes #1321.
* Grid size support for projects.
* Remove 'include INSTALL' from MANIFEST.
* Fix issue with start all.
* Check for valid IP address and prevent to run on non-Windows platforms.
* Enable UDP tunnel option and use ICMP probing by default.
* Use the configured IP address to trace.
* Have TraceNG start without needing cmd.exe

## 2.1.4 12/03/2018

* Add Juniper JunOS space appliance.
* Sync checkpoint gaia appliance template.
* Sync appliance templates.
* Make sure we use an IPv4 address in the remote install script.
* Delete old pcap file when starting a new packet capture.
* Fix bug preventing to export portable projects with IOU images.
* Ignore invalid BPF filters. Ref #1290.
* Different approach to handle no data returned by uBridge hypervisors. Fixes #1289.
* Do not raise exception if Dynamips or uBridge hypervisor don't return data and are still running. Fixes #1289
* Fix Dynamips private config not loaded into nvram when starting a router. Fixes #1313.
* Make sure we don't try to read when opening a file in binary more. Fixes #1301.
* Compatybility with controller, default_symbol and hover_symbol, Fixes: #2444
* Filter snapshots directory during the snapshot, Fixes: #1297
* Handle docker env with last empty line, Fixes: #2420
* Require uBridge version 0.9.14 on Linux
* Pywin32 instead of pypiwin32, Ref. #1276
* Fix missing 'locales' package in base image
* Implement a minimum interval between psutil calls. Fixes #2262
* Fix error when appliance template is broken (missing fields). Fixes #1287.
* Fix "Change of linked base VM doesn't work with templates migrated from 2.0"
* Fix "Unable to override non-custom VMware adapter".
* Let a project be opened when a port cannot be found (can happens if a project is corrupted).
* Add an error message when Docker container is not ready to be started. Ref #1281.
* Update documentation.
* Sync appliance files.
* Fix issue when running multiple project containing IOU nodes on the same server. Ref #1239.
* Set first byte to 52 when generating a random MAC address for a Qemu VM. Ref #1267.
* Update link state and save project when a link is suspended or filters are added/removed (without node properties set).
* More generic dependency for pypiwin32, Ref. #1276

## 2.1.3 19/01/2018

* Update appliance files.
* Suspend for Docker nodes.
* Unlock yarl version and multidict
* Fix same MAC address for duplicated Qemu nodes.
* Fix same base MAC for duplicated IOS routers. Fixes #1264.
* Fix "Creating multiple IOU nodes at once assigns the same application id". Fixes #1239.
* Fix "Transport selection via DSN is deprecated" message. Sync is configured with HTTPTransport.
* Refresh CPU/RAM info every 1 second. Ref #2262.
* Rename ethernet switch arp command to mac
* Fix error while getting appliance list. Fixes #1258.
* Fix UnboundLocalError: local variable 'node' referenced before assignment. Fixes #1256.
* Default symbol must be computer.svg
* Compatibility for old node templates (those with default_symbol and hover_symbol properties).
* Fix problem when searching for VBoxManage. Fixes #1261.
* Improve the search for VBoxManage.
* Fixing race condition when starting the GNS3 VM.
* Default VPCS name format is now PC-{0}.

## 2.1.2 08/01/2018

* Do not show log message if configuration file doesn't exist. Fixes #1206.
* Update API documentation
* Update API documentation. Fixes #1253.
* GNS3-API: implement GET for specific drawing and link Fixes #1249

## 2.1.1 22/12/2017

* Protect variable replacement for Qemu options. Escape double quotes.
* Add proper exception when cannot find tunnel on QEMU, Fixes: #1241
* Increase timeout for creation of image, Ref. #2239
* Protect variable replacement for Qemu options.
* Do not overwrites persistent Docker volumes. Fixes #2358.
* Allow users to see an error when the server cannot stream a PCAP file.
* Fix issue with Qemu + SPICE when IPv4 is not enabled.
* Warn users if the GNS3 VM and local server are not in the same subnet. Fixes #1231.
* Add missing appliance files.
* Update appliance files.
* Fix auto idle-pc from preferences.
* Keep consistance of aiohttp.web.HTTPForbidden() execution
* Make sure connected links are removed when a node is deleted.
* Validate idle-pc values for auto idle-pc feature.
* Fix error when updating packet filter on stopped Docker link. Fixes #1229.
* Remotely close telnet console. Ref #2330
* EthernetSwitch closing connections, Ref: gui/#2330
* Export files from remote server, Fixes: gui/#2271
* New option: require KVM. If false, Qemu VMs will not be prevented to run without KVM.
* Implement variable replacement for Qemu VM options.
* Avoid duplicate "-nographic" option.
* Show qemu-img stdout in case of an error.
* Use the correct NVRAM amount when pushing private config to IOU.
* Check and fix corrupt Qemu disk images. Fixes #2301.
* Update warning messages when connecting to non custom adapter for VMware VMs.
* Fix "Can't use VirtualBox VM when an interface is managed by VirtualBox". Fixes #2335.
* Add low disk space warning when creating a new project.

## 2.1.0 09/11/2017

* Fix typo in vcpus on VirtualBoxVM, fixes: #1213

## 2.1.0rc4 07/11/2017

* Fix GNS3VM vCPUs control on VMware, fixes: #2324
* Fix typo in sample gns3_server.conf. Fixes #1210.
* Warning for getting endpoint of compute
* Enable debug mode on async loop only in dev/debug mode
* Add warning when using IOU with a hostname length above 15 characters.
* Improve VMware VMs discovery process. Ref #1201.
* Improve error message when IOU VM process is unexpectedly stopped.
* Improved error message when the number of network adapters is above the maximum for VirtualBox VMs. Better support for potential future chipsets in addition of PIIX3 and ICH9.
* Added localhost and gns3.github.io CORS

## 2.1.0rc3 19/10/2017

* Set vhv.enable before run for VMWare 14. Fixes #1184
* Tweak how VMware VMs are found with fallback to search in the default location for VMs.
* QEMU: fix logging of base mac address when creating a new node
* Sync appliance files.
* Fix creation of an VMware VM failed with invalid JSON. Fixes #2282.
* Endpoint for obtaining direct action on compute
* Fix IOU detection of layer 1 keepalive support. Fixes #1183.
* Fixes path normalization during file upload on nodes (Fixes: #2276)

## 2.1.0rc2 04/10/2017

* Don't create directory structure during json dump. Fixes #2270
* Add more information when qemu-img fails.
* Fix issue with multidict when upgrading GNS3 VM to use dev channel.
* Restore file permissions fails for volumes with soft links. Fixes #1180.
* Use RAW sockets by default on Linux.
* Add missing https console keyword in JSON schema. Fixes #1179.
* Allow projects to be opened even when a node port is already used.

## 2.1.0rc1 13/09/2017

* Fix NAT node not working on Windows. Fixes #1163.
* Do not prevent a project to be deleted. Fixes #2237.

## 2.1.0b2 05/09/2017

* Round-robin nodes across all available compute resources. Fixes #1165.
* Try to improve error reporting when streaming a PCAP file. Ref #2235.
* Use Npcap DLL on Windows when checking for uBridge version.
* Fixes running switch console inside PyCharm terminal (Ref. #1172)
* Load meta of the project on loading time (Fixes #2225)
* Added checking if NIO exists (Fixes #1160)
* Fixes NAT node not working on Windows (#1163)
* Fixes loading project when link_id is not set (#1159)
* Return platform value on appliances list (Fixes #2211)
* Fixes not known category in Appliances (Fixes #1156)

## 2.1.0b1 04/08/2017

* Sync appliances
* Interface starting with gns3 are not display by default in the cloud
* Catch error when something that is not the GNS3 server answer to virtualbox requests
* Catch KeyError: <aiohttp.connector._TransportPlaceholder
* Add a warning when you try to load and the server is not started with --local
* Sync appliances
* Fix permission on exited container

## 2.1.0a2 31/07/2017

* Handle invalid appliances files
* Sync appliances
* Fix naming of node with a number in the name
* Fix race condition in startup of capture
* Fix bug when exporting debug information with multiple remote servers
* Fix OSError when uploading images
* Fix an error when a symbol is not available on filesystem
* Fix ServerDisconnectedError for stop_all
* This fix the images always included in portable project
* Fix support of docker appliance with a usage
* Duplicate API for ATM, Ethernet Hub and Frame Relay Switch
* History support for console and telnet application
* Fix IOU image upload
* Duplicate IOU
* Support duplicate for Docker
* Duplicate support for qemu

## 2.1.0a1 24/07/2017

* Packet filtering
* Suspend a link
* Duplicate a node
* Move config to central server
* Appliance templates on server

## 2.0.3 13/06/2017

* Fixes #1068 - handle zipfile encoding issues at project duplication
* Fix: #1066 - Catching parsing errors at linked vbox file
* Ignoring virtualenv directory at gitignore
* Escaping VPCS name in regex #1067
* Fix racecondition when listing interface
* Fix Qemu disk creation with unicode characters not supported by local filesystem #1058 (#1063)
* Fix when config file doesn't have computes section (#1062)
* Check aiohttp version

## 2.0.2 30/05/2017

* Set correct permission on ubridge when doing a remote installation
* Remote install script should be totally non interactive
* Duplicate project on remote server use UUID
* Fix import of some old topologies from 1.3
* Fix error in logging of error during starting GNS3 VM
* Fix an error when logging Docker container fail to start
* Use docker version in error message of outdated docker installation
* Support images created by "docker commit". Fixes #1039
* Do not wait auto start to finish in order to complete project opening
* Improve logging for remote server connection lost

## 2.0.1 16/05/2017

* Handle HTTP 504 errors from compute node
* When connecting to a compute node ask for qemu images list
* When importing portable project NAT node is loaded on GNS3 VM
* Fix port numbering for Wic slot 1 & 2
* Fixes issue with connections when loading an ATM switch.
* Fixes ATM mapping.
* Fixes Frame-relay VC mapping.
* Fix export project is looking into the wrong directory
* Fix a race condition in logging when ubridge exit fast
* Fix conversion issue with old topology with C3640
* Fix error when you have a directory in your symbols directory
* Catch VMWare errors when getting status after GNS3 VM start
* Make sure upstart LANG is utf8
* Always install typing module (compat with python 3.4 on ubuntu)
* Fix KeyError: 'filename'
* Catch missing function listxattr on some Linux host.
* Sort image list
* Handle a race condition at project closing
* Fix unicode error when reading ios configuration
* Fix AttributeError: 'NoneType' object has no attribute 'send'
* Fix a conversion issue with some 1.3 topologies
* Fix an error with ethernetswitch when ethertype is null
* Raise an error if we can't create the dynamips configuration directory
* Catch timeout error when loading virtualbox VM
* Handle broken compute at server startup
* Catch error when we can't backup the topology
* Catch error when writting the topology file on read only device
* Catch a race condition in VirtualBox when editing and linking
* Fix a race condition when editing a qemu vm and connecting it
* Docker aux console is a VT100 terminal

## 2.0.0 02/05/2017

* Fix connection to websocket with last docker release
* Lower docker requirements in tests also
* Docker minimum api is 1.25
* Handling server disconnect error when docker daemon die
* Handle some invalid SVG images

## 2.0.0rc4 20/04/2017

* Fix a race condition when handling error at project opening
* Fix an issue with editing network on windows
* Fix windows tests
* Catch timeout error on docker
* typing is already included in Py >= 3.5 (#979)
* Fix import of some old topologies
* Fix AttributeError: 'NoneType' object has no attribute 'returncode'
* Fix ghost vmware vms
* Fix required field in schema not use
* Catch error and log them when we can't write the config
* Fix bridge 'bridge0' already exist when we have trouble with a container
* Catch an error at startup when the remote GNS3 VM is not a real GNS3 VM
* Fixes Qemu sata option. Ref #875.
* Catch GNS3 VM loading error at startup

## 1.5.4 13/04/2017

* Fix VPCS tests for recent version
* Freeze server dependencies to the same version used for 1.5.3
* Fix 1.5: Error message, when stopping IOU router #769
* Drop color logging for remote install, seem to fail in some conditions
* Cleanup the remote install script
* Support for Xenial in remote install

## 2.0.0rc3 31/03/2017

* Support IOU image without .bin at the end
* Allow to change some properties of an already connected ethernet switch
* Ensure we start only one ubridge
* Catch some broken hostname for compute node
* Fix limit of 20 docker containers
* Fix race conditions in creation of Frame Relay Switch
* Fix conversion of project from 1.X with custom symbol for cloud
* Dissallow parallel pull of docker images
* Add a scripts for running current dev version on GNS3 VM
* Fix a crash with missing size in the svg files
* Fix an utf8 error in auth code
* Improve vmrun timeout message
* Support utf-8 characters in user and password for auth
* Handle password configuration change on remote servers
* Fix Bug when delete fake-running VMBox
* Fix Can't connect to compute local on some computers
* Add a modification uuid to settings returned by the server
* Check python version in setup.py only for install
* Fix Session is closed when listing docker images
* Cleanup docker source code
* Use aiohttp session for docker queries
* Escape special characters from SVG text
* Fix some port short name display issues
* Catch server disconnected errors from computes
* Generate a node uuid if the uuid is missing in the .gns3
* Ensure to dump project before exporting it
* Fix return code check for SIGSEGV of IOU images
* Prevent vmname change for VirtualBox linked clone
* Upgrade to aiohttp 1.3.5 to solve issue with big file
* Handle some invalid svg
* Try to fix some 1.3 topology with corrupted data
* Fix ComputeError: Can't connect to Main server
* Catch error when the server as trouble to access to itself
* Catch a timeout error in docker
* Lock yarl version because 0.10 is not compatible with aiohttp 1.3
* Raise error if image are not avaible on main server during export
* Fix a race condition when killing ubridge
* If your settings from 1.X are broken with skip them at import
* Catch a permission error on symbols
* Catch unicode error when you try to duplicate a project with invalid characters
* Catch error when you try to put an invalid server url
* Fix an error when handling ubridge errors
* Fix crash when handling an error in project creation

## 2.0.0rc2 10/03/2017

* Drop color logging for remote install, seem to fail in some conditions
* Cleanup the remote install script
* Support for Xenial in remote install
* Fix GNS3VM settings are lost at startup
* When we receive settings from the client save them on disk

## 2.0.0 RC 1 06/03/2017

* Update the documentation
* Enable show in file manager for cloud
* Improve error log when you have trouble to load a topology
* Fix when qemu exit by itself clean other processes
* Fix an issue with some node name format
* Catch error when we can't save the settings
* Do not prevent the creation of a local server on a machine named gns3vm
* Load local server before anything else
* Remove noise from log when VMware is not installed
* Fix an error with some SVG
* Patch hostname in configuration file even if name is unsync
* If the GNS3 VM as failed to start reset his status
* Update the documentation
* Enable show in file manager for cloud
* Improve error log when you have trouble to load a topology
* Fix when qemu exit by itself clean other processes
* Fix an issue with some node name format
* Catch error when we can't save the settings
* Do not prevent the creation of a local server on a machine named gns3vm
* Load local server before anything else
* Remove noise from log when VMware is not installed
* Fix an error with some SVG
* Patch hostname in configuration file even if name is unsync
* If the GNS3 VM as failed to start reset his status
* Report aiohttp version in crash report
* Catch some invalid node name formatting
* Ensure we dump a .gns3 before exporting it
* Improve ACPI shutdown for virtualbox
* Fix an issue with serial capture for IOU
* Fix restoration of private config when using dynamips
* Avoid a crash when the connection with the server close
* Increase timeout for detecting VirtualBox GNS3 VM
* Fix headless startup of the GNS3 VM
* Do not crash at startup if local server as the same name as remote server
* Yarl 0.9.8 is require by aiohttp 1.3

## 2.0.0 beta 4 16/02/2017

* Lock aiohttp to 1.2.0 because 1.3 create bug with Qt
* Avoid a crash in some conditions when reading the serial console
* Disallow export of project with VirtualBox linked clone
* Fix linked_clone property lost during topology convert
* Catch permission error when restoring a snapshot
* Fix a rare crash when closing a project
* Fix error when you have error on your filesystem during project convertion
* Catch error when we can't access to a unix socket
* If we can't resolve compute name return 0.0.0.0
* Raise an error if you put an invalid key in node name
* Improve a lot project loading speed
* Fix a potential crash
* Fix the server don't start if a remote is unavailable
* Do not crash if you pass {name} in name
* Fix import/export of dynamips configuration
* Simplify conversion process from 1.3 to 2.0
* Prevent corruption of VM in VirtualBox when using linked clone
* Fix creation of qemu img
* Fix rare race condition when stopping ubridge
* Prevent renaming of a running VirtualBox linked VM
* Avoid crash when you broke your system permissions
* Do not crash when you broke permission on your file system during execution
* Fix a crash when you broke permission on your file system
* Fix a rare race condition when exporting debug informations
* Do not try to start the GNS3 VM if the name is none
* Fix version check for VPCS
* Fix pcap for PPP link with IOU
* Correct link are not connected to the correct ethernet switch port after conversion
* Fix an error if you don't have permissions on your symbols directory
* Fix an error when converting some topologies from 1.3

## 2.0.0 beta 3 19/01/2017

* Force the dependency on typing because otherwise it's broke on 3.4
* Fix sometimes you have an exception when closing GNS3
* Fix duplicate node names
* Fix bug with other directory of Qemu images
* Do not raise an error if no VM is selected for remote GNS3 VM
* Fix UnboundLocalError: local variable 'vmname' referenced before assignment
* Fix some race condition in project deletion
* If qemu status change internally we mirror it
* Fix hostname of VPCS is not changed
* Fix capture stop with Wireshark
* Drop a useless debug information
* Fix sometimes VirtualBox VM are not loading
* Drop NAT port from cloud from old topologies
* Fix Port labels for docker VMs incorrect
* Fix If cloud interface is down the project doesn't open
* Catch Timeout error from VirtualBox GNS3 VM
* Fix export of IOU configuration
* Fix a crash with VirtualBox in some conditions
* Sata disk interface support for Qemu VMs. (#862)
* Fix random error in the dynamips test suite after previous commit
* Support conversion to dynamips new directory layout on remote
* Catch error when a file is deleted during the compression of project
* Fix a crash with some docker images
* Fix Wrong slot numbering on IOS router
* Fix VPCS configuration is overwritten on project load
* Fix wrong short label for ethernet switch, hub & VPCS
* Fix binding console host for VMware and VirtualBox
* Fix resume of dynamips routers
* Fix sporadically systemd is unable to start gns3-server
* Fix RuntimeError: File size has increased during compressing
* Do not dump local compute configuration when saving topology
* Change directory layout for dynamips.
* Ensure we can't connect to occupy port
* Fix handling of UTF-8 in large SVG files
* Prevent a crash when you close a dynamips node and create a link at the same time
* Fix short label diplay instead of custom interface labels
* Improve error message about the netmask
* Do not mark VirtualBox adapter as connected when not connected to another node in GNS3.
* Add missing 'DLT_PPP_SERIAL' PCAP link type in schemas.
* Fix crash when converting topology with broken link
* Replace JSONDecodeError by ValueError (Python 3.4 compatibility)
* Catch an error when we can't create the IOU directory

## 1.5.3 12/01/2017

* Fix sporadically systemd is unable to start gns3-server

## 2.0.0 beta 2 20/12/2016

* Fix an error when docker hub failed to anwser
* Fix an issue with Docker and IOU packet capture
* Support aiohttp 1.2 (but not compatible with previous versions)
* Support UDP cloud from 1.5
* Relax permission check on OSX, it seem returning wrong info for setuid
* Fix start all create error if a docker container is already running
* Close project if one one the compute of the project is down
* Fix error when you upload an empty file
* Fix KeyError: 'color' when converting some 1.3 topologies
* Fix move a docker restart it
* Fix export of projects with docker with a / in the image name
* Fix an error on Linux during export
* Fix hot link issues in Docker
* Fix Can't delete link between docker VM after they were in use
* Fix hardware virtualization detection when an ethernet switch is running
* Trust user for host binding of link adress
* Code cleanup for docker interface creation
* Fix a rare crash when writing a file on a remote server
* Fix delete project on remote compute
* Fix trouble with builtin devices when we free ports
* When a dynamips command failed display the full command to the user
* Raise error when we can't found VboxManage at GNS3 VM startup
* Catch auth errors when adding a compute
* Do not block server startup if one project use non implemented conversion
* Fix an error when deleting a compute already deleted
* Catch cancelled error when you Ctrl-C during server initalisation
* Handle OSerror when listing images
* Fix a rare crash when stopping qemu
* Improve docker HTTP console
* Fix configuration lost during save as on remote server
* Add support for bios images
* Fix error when controller config file is corrupted

## 1.5.3 rc1 20/12/2016

* Support aiohttp 1.2 (but not compatible with previous versions)
* Explain that segfault on IOU is a issue with the image
* Fix an issue with finding vmrun and vboxmanage
* Support named remote servers for VPCS
* When checking for a free port check if the host and 0.0.0.0 are available
* smm=off is only for 64bits
* Fix set hostname on remote server
* Fix sending smm option to qemu
* Workaround a bug with KVM, Qemu >= 2.4 and Intel CPU
* Renable sleep at Vbox exit bug seem to be back
* Support large project (> 2GB) during export
* Fix Deleting running telnet docker VM shows error in log
* Fix when closing a container using VNC, root permission are not reset
* Use $PATH also for dynamips and cleanup some $PATH usages
* Fix a lock issue with some virtualbox vm
* Raise proper error when you try to load an empty qcow2 file
* Fix upload form crash
* Search bin from the $PATH for sample configuration file
* Updated systemd unit file and added sample configuration file

## 2.0.0 beta 1 07/12/2016

* Fix crash if at controller loading the remote server is not a GNS3 server
* Update the way we start controller to avoid hiding crash reports
* Fix when you switch console from VNC to telnet it's fail
* AttributeError: 'Project' object has no attribute 'emit'
* Improve autostart logging
* Fix warning when vmware is not installed
* If a VMware command fail retry
* Do not recurse scan for images in standard image directory
* When we restore snapshot on a fail project do not crash
* Catch error when qemuy can't connect to his console
* Catch error when no space left on disk during export
* Improve vmware error message for easier copy paste
* Catch error if you export a project deleted from disk
* Qemu UDP listen on all ips
* Force yarl version >= 0.7.0
* Ask user to refresh is user session if he just installed ubridge

## 2.0.0 alpha 4 24/11/2016

* Do not block traffic originating from an Ethernet interface in the cloud. Ref #771.
* Prevent capture on non running node
* Make the Ethernet side the source in uBridge connection and UDP tunnel the destination. Ref #771.
* IOURC is a text box instead of a file path
* Use vnetlib64.exe when possible
* Multiple improvements around starting the GNS3 VM
* Wait for the end of project loading before making new change
* Avoid crash due to permission error on the .backup file
* For security reason debug informations can only be exported from local server
* Add more debug informations if VM failed to start
* Fix opening a project whith the same non linked VM as current project
* Return default symbol if user asked for a non existing symbol
* Do not log warning at qemu exit on windows if it's normal
* Speed up interfaces listening on Windows
* Fix filtering special interfaces on Windows
* If server answer not found explain this could be due to the usage of 1.X server
* Do not reload a project via /load if the project is already opened
* Fix you can not pass auto close at project creation
* Fix traceback when sending invalid parameters to the server
* Require ubridge 0.9.7 this fix error with IOL bridge creation
* Display path of vnetlib during interface creations
* Catch errors when listing images
* Better handle compute unavailable errors
* Fix NameError: name 'available_ram' is not define
* If we can found a common subnet we return the host binding for link creation
* Do not connect GNS3 to remote server via 169.254.X.X
* Qemu telnet support multiple client connected
* Support multiple client connected to the same VPCS console
* Increase timeout for link creation
* Support for serial console for Virtual BOX and VMware using asyncio
* Fix timeout issues when starting VMware or VBox
* Ask for reboot if VBoxManage is not found
* Fix a crash with VirtualBox linked clone
* Replace iouyap by ubridge to handle IOU connections. Fixes #614.
* Lock VMware by VM instead of globally
* Support bridge in cloud
* Fix support of IOS images outside standard directories
* Raise clean error when node timeout when stopped
* Fix random VirtualBox creation error when using linked clone
* Drop console_type serial, and enable_remote_console for Vbox and VMware
* Do not dump iourc_content to .gns3 file
* Forward server disconnected errors
* Fix a crash when vboxmanage is not found
* Raise error if IOU image is not configured
* Fix crash when getting font
* Fix a crash when default font is missing
* Fix a crash when vmrun is not found

## 2.0.0 alpha 3 28/10/16

* Fix uuid of VirtualBox VM after a save as
* Explain that segfault on IOU is a issue with the image
* Fix crash when you import a corrupted SVG
* Fix Error while creating link: Port 0 is not allocated. when you have an invalid interface
* No timeout for listing images
* Handle 408 HTTP status code (request timeout)
* Move code for exposing VM ip to the VM itself. And display VM starting status
* Fix a crash when we have error during export project
* Improve remote server console host support when binding to 0.0.0.0
* Fix port naming for atm switch
* Fix port naming for FrameRelay switch
* Catch permission errors when listing images
* If we can't found the VMware version we use workstation
* CURL API sample for creating a dynamips router
* Fix crash in idlePC compute
* Add sample api call for creating a qemu node
* Try a different method in order to retrieve IP from VMware
* Fix naming of IOU serial interfaces
* Improve timeout management
* When exporting debug information export GNS3 VM vmx content
* /debug for exporting debug information
* Raise error if using a non linked clone VM twice
* Fix a possible deadlock at exit
* Fix import of some old dynamips topologies
* Fix a crash with some old virtualbox topologies
* Fix conflict issue between the GNS3VM and a remote server
* Fix typo in error message about the GNS3 VM
* Fix an error when importing old topology without color for label
* Use tap adapter instead of veth for docker (allow usage of vlan)
* Avoid crash during tests if VNC server run on host PC

## 2.0.0 alpha 2 20/10/2016
* Return md5sum and filesize in the list of images
* Disable binding to an IPV6
* Support symbol None (from old versions)
* Support named remote servers for VPCS
* Improve vmrun error messages
* If vmware raise an error about invalid host type we retry with player
* Do not trust client for the type of VMware host
* Improve error when default vm directory is not found
* Add a clear warning about /upload deprecated
* /duplicate support non opened projects
* Fix Snapshot restore does not work with IOS routers
* Use last zipstream version
* Strip space from all nodes names
* When checking for a free port check if the host and 0.0.0.0 are available
* If listen on all interface do not return localhost as console
* Fix HTTP console not working for docker containers
* Fix IPV6 server support
* Fix connection issue with IOU when a device as serial link
* Catch an error when docker is not running
* If docker container state failed to return we consider the container stopped
* Fix Error when converting some dynamips topologies from 1.3 => 2.0
* After conversion from 1.X check the topology before save to disk
* Keep forever .gns3 backup before version upgrade
* Update crash report key
* Fix save of topology size
* Missing busybox for docker
* GNS3 server can't be keep as zipped egg
* Check if GNS3 has access to all docker resssources
* Return the platform of a compute
* Handle errors when startup config path is wrong
* smm=off is only for 64bits
* Fix uploads of large images
* Stop raising error if VMware has not enough ram. Not working on some system
* Increase creation timeout for docker container
* Fix a rare crash in vbox
* Fix errors where free port as marked as used after an error
* Fix a bug when selecting a topology and deleting multiple linked device
* Set Qemu uuid for csr1000v
* Prevent connect a node to himself
* Fix BadZipFile: File is not a zip file
* The gns3_controller.conf is located in the same directory of gns3_server.conf
* Make sure the compute has an id
* Fix crash if you manually delete the project directory and use the delete button in interface
* Catch timeout error when closing project
* Fix a crash when importing some old topologies.
* Fix a crash if font information is missing

## 2.0.0 alpha 1 29/09/2016
* Save as you go
* Smart packet capture
* Capture on any link between any node
* Select where to run a VPCS node
* Delete a project from the GUI
* Project options
* The cloud is a real node
* Cloud templates
* New cloud interface
* VPCS / Ethernet Switch / Ethernet Hub templates
* Search OS images in multiple locations
* Periodic extraction of startup configs for Dynamips and IOU
* Custom cloud, Ethernet hub and Ethernet switch templates
* Snap to grid for all objects
* Synchronize the node templates when using multiple GUI
* Link label style
* New place holders in command line for opening consoles
* %i will be replaced by the project UUID
* %c will be replaced by the connection string
* Export a portable project from multiple remote servers
* New save as
* Snapshots with remote servers
* Better start / stop / suspend all nodes
* Edit config
* NAT node
* Support for colorblind users
* Support for non local server
* Support for profiles
* Suspend the GNS3VM when closing GNS3
* Edit the scene size
* New API

## 1.5.2 18/08/2016

* Move utils.vmnet to gns3 namespace
* Fix Exporting portable projects with QEMU includes base images even when selecting no.
* Catch error when md5sum file is corrupted
* requirements.txt : added support for newer aiohttp version
* Improve compaction of .gns3project
* Fix crash when winpcap is not installed

## 1.5.1 07/07/2016

* Increase the number of interface for docker
* Add the method in the bad request answer
* Fix a rare crash in IOU
* Fix a crash when docker is used but not installed
* Backport Docker node hot linking
* Allows hot-linking for Docker containers. Ref #267.

## 1.5.0 27/06/2016

* Fix import of project with no disk
* Allow for (a lot) more docker container ports. Fixes #593.
* Raise an error if you try to use Docker on non Linux host
* Fix a crash in Docker if daemon stop to respond
* Fix a crash if Dynamips router has no initial configuration
* Kill ghosts process at startup (Dynamips, VPCS, Ubridge)

## 1.5.0rc2 15/06/2016

* Fix black screen with Qt app in Docker container
* Detect when command in the container exit
* Docker when the aux console exit and restart it
* Pass by default the environment variable container=docker
* Fix busybox binary location
* Avoid loosing console port for Docker
* Workaround a crash in x11vnc
* Delete volume when dropping the container
* Catch connection reset in ioucon
* Delete vlan.dat for L2IOL during config import. Fixes #1285.
* Copy original ressources from VOLUMES

## 1.5.0rc1 01/06/2016

* Save an restore docker permission
* Export the list of volumes to a env variable accessible in the container
* Fix a crash when docker start command is None
* Ubridge 0.9.4 is require
* Generate a MAC address using the project + node UUID. Ref #522.
* Catch extra args in windows signal handler
* Allow to block network traffic originating from the host OS for vmnet interfaces (Windows only).
* Fix an import error when you have no GNS3 VM
* Warn if you can not export a file due to permission issue
* Do not delete adapters when stopping a VMware VM.  Ref #1066.
* Allocate a new vmnet interface if vmnet 0 1 or 8 is set to a custom adapter. Set adapter type to all adapters regardless if already configured or added by GNS3.
* Set default VMware VM adapter type to e1000.

## 1.5.0b1 23/05/2016

* Allow an IOS router to stop even the Dynamips hypervisor command fail to be sent. Ref #488.
* Extract private-config only when necessary (content is different than the default). Fixes #520.
* Fixes disabling the VPCS relay feature. Fixes #521.
* Fixes wrong exception in Docker VM implementation.
* Force Npcap DLL to be used first for Dynamips and uBridge (instead of the one from Winpcap if installed).
* Fixed startup-config is lost if you change any IOS router settings. Fixes #1233.
* Fixes check for NPF service and add check for NPCAP service on Windows.
* Fix ProcessLookupError X11VNC
* Force tag latest for docker image if no tag is specified
* Cleanup unbreakable space
* Do not raise error if vmrun.exe is named vmrun.EXE
* Load docker api only for Linux

## 1.5.0a2 10/05/2016

* Fix distribution on PyPi

## 1.5.0a1 10/05/2016

* Rebase Qcow2 disks when starting a VM if needed
* Docker support
* import / export portable projects (.gns3project)

## 1.4.6 28/04/2016

* More robust save/restore for VirtualBox linked clone VM hard disks.
* Prevent non linked cloned hard disks to be detached when using VirtualBox linked cloned VMs. Fixes #1184.
* Stricter checks to match VMware version to the right vmrun (VIX library) version. Also checks the VIX library version when only using the GNS3 VM running in VMware.
* Allow only .pcap to be downloaded from remote stream API
* Fix incrementation of qemu mac address
* Clear warnings about using linked clones with VMware Player.
* Alternative method to find the Documents folder on Windows.
* Add IOU support and install config in /etc

## 1.4.5 23/03/2016

* Stop the VMware VM if there is an error while setting up the network connections or console.
* Remote install on 14.04 ubuntu
* Include VMware VMs paths found preferences.ini
* Allow to stop a VMware VM from GNS3 even if halted within the VM. Fixes #1118.
* Keep Dynamips stdout log file in the project directory.
* Get MAC addresses for host interfaces to use for filtering frames from vmnet interfaces.
* Dynamips uuid hypervisor command is no longer supported.
* Restart NPF service after adding vmnet adapters on Windows.
* Support /etc/gns3/gns3_server.conf for the config
* Improve warning if fusion is not installed or in non standard location

## 1.4.4 23/02/2016
* Check if VMware Fusion is correctly installed when retrieving the VM list.

## 1.4.3 19/02/2016
* Nothing! (changes made in the GUI only).

## 1.4.2 17/02/2016
* Fix missing format in IOU export
* Fix number of arguments to the UDP errors on VBOX
* Add verification when UDP tunnel is created in a VirtualBox VM. Ref #899.
* Fixes VMware linked clone cleanup bug. Fixes #420.
* Removed docker support from 1.4 (drop unused code)
* Fix a crash if you create a file named IOS in the image dir
* Disallow creating project with " in the path
* Always look at the registry to find vmrun.exe on Windows.
* Check for VMware VIX library version. Fixes #413.
* Fixes VDE not working #345.
* Do not list qemu binary with -spice in the name
* Send command line used to start the VM to client
* Fix crash if you have a { in your user name

## 1.4.1 01/02/2016
* VMware raise error if version is not found
* For topologies before 1.4 manage qemu missing
* Fixes issue with packet capture on VMware VMs. Fixes #396.
* Fixes concurrency issue when closing multiple VMware linked clone VMs. Fixes #410.
* Fixes "can only use tap interfaces that both already exist and are up". Fixes #399.
* Send machine stats via the notification stream
* Check for /dev/kvm instead of kvm-ok
* Show a warning when starting ASA8
* Fix error when setting Qemu VM boot to 'cd' (HDD or CD/DVD-ROM)
* Fixed the VMware default VM location on Windows, so that it doesn't assume the "Documents" folder is within the %USERPROFILE% folder, and also support Windows Server's folder (which is "My Virtual Machines" instead of "Virtual Machines").
* Improve dynamips startup_config dump
* Dump environment to server debug log
* Fix usage of qemu 0.10 on Windows
* Show hostname when the hostname is missing in the iourc.txt

## 1.4.0 12/01/2016
* Release 1.4.0

## 1.4.0rc3 05/01/2016

* API documentation update
* Fix race condition when killing iouyap
* Catch exception if we can't change process priority on Windows
* Adds a handler for getting the Qemu related capabilities of the server. Currently includes just a check for KVM architectures.
* Fixed showing of Qemu hdb_disk_interface - it showed hda_disk_interface instead, which resulted in an odd visual glitch in the GUI.
* Made the gns3server.bat successfully start the server independent of the CWD at the time of running. It's now relative to the location of the .bat file itself.
* Add more informations in the debug status page
* Fix status link in GNS3 homepage
* Fix tests on Windows
* Fix missing boot priority order
* A debug status page embed in the server
* Fix test on Windows
* Update links for new website.
* Contributing instructions


## 1.3.13 11/12/2015

* Update links for new website.

## 1.3.12 11/12/2015

* Contributing instructions
* Correctly display log messages.
* Tentative fix for "WinError 64 The specified network name is no longer available" issues.
* Fix minor errors reported by codacy.com
* Add doc on how to got code coverage
* Raise an error when you use a port outside the ranges
* Fix asyncio error when closing the app
* Release UDP ports when closing a Qemu VM. Fixes #323.

## 1.4.0rc2 10/12/2015

* Add log about wher iou capture packet
* Replace by another TCP port if port is already used
* Fix ProcessLookupError in Qemu
* Increase vmrun timeout to 120 seconds. Ref #360.
* Fixes termination notification to indicate the right process name (IOU vs iouyap). Ref #359.
* Fixes error with non initialized uBridge. Fixes #367.
* Remove debug that can crash qemu
* Support VM usage for qemu
* Raise an error if psutil version is invalid

## 1.4.0rc1 12/11/2015

* Raise error if server received windows path
* Update sentry key
* Remove NIO FIFO and Mcast (unused). Fixes #348.
* Support VPCS 0.6.1
* Fix duplicate of -no-kvm options
* Raise an error if user send a non local path to remote server
* Fix minor issues
* Apply pep8 fix
* Sets console end port to 7000. Fixes #343.
* Drop netifaces (replaced by psutil). Fixes #344.
* Correctly display log messages.
* Tentative fix for "WinError 64 The specified network name is no longer available" issues.
* Return relative path for dynamips images
* Fix add existing IOS not working
* Correctly enable faulthandler for dev version
* Avoid test crash if GNS3 is running on the same computer
* Allow to return an empty project name because it's allowed in creation
* Test with python 3.5
* Add doc on how to got code coverage

## 1.4.0b5 02/11/2015

* Freeze requirements for aiohttp because 0.18 doesn't support Python 3.4.
* Fix crash in IOU config export.
* Raise an error when you use a port outside the ranges. Fixes #739.
* Fixes Windows named pipe issue. Fixes #340.

## 1.4.0b4 19/10/2015

* Support for modifications to a base Qemu VM (not a linked clone).
* Force canceling all task when shutdown server
* Update api documentation
* Enforce console port for VNC
* Fixes issue when loading a project using VMware vmnet interfaces. Fixes #319.
* Support for NAT connection with cloud for VMware VMs. Fixes #322.
* Change message when VMware is not installed on Linux. Ref #326.
* Send a warning notification if there is not enough RAM left to start a VM. Implements #329.
* Asyncio Qemu fix and raise error if coroutine not used
* Fix asyncio error when closing the app
* Removes VMware lock check. Fixes #328.
* Wait for pipe file to be created before starting the remote console for VMware and VirtualBox VMs. Fixes #331.
* Release UDP ports when closing a Qemu VM. Fixes #323.
* Escape other usage of glob
* Fix Dynamips identifier is already used by another router
* Protect Dynamips against bad glob.
* Fix issue with Qemu networking following merge.
* OVA file support
* Support listing images in subdirectories.
* Catch ProcessLookupError in Qemu VM.
* Fixes uncalled coroutine.
* Use the correct UDP tunnel Qemu syntax for version > 1.1.0 when legacy networking is enabled.
* VMware player linux support.
* Prevent launching a packet capture with a non-ASCII path when using Dynamips.
* Do not require a TAP interface to already exist. Fixes #321.
* Do not automatically delete Dynamips bootflash file because they are necessary to restore VLANs on the c3600 platform.

## 1.3.11 07/10/2015

* Escape other usage of glob
* Fix Dynamips identifier is already used by another router
* Protect dynamips against bad glob
* Catch ProcessLookupError in Qemu VM.
* Use the correct UDP tunnel Qemu syntax for version > 1.1.0 when legacy networking is enabled.
* Prevent launching a packet capture with a non-ASCII path when using Dynamips.
* Do not automatically delete Dynamips bootflash file because they are necessary to restore VLANs on the c3600 platform.
* Fix dynamips configuration lost when you delete a node
* Clarify error message when we got UTF-8 chars in the iourc file
* Check for valid FR or ATM switch mappings. Fixes #300.

## 1.4.0b3 22/09/2015

* Fix dynamips configuration lost when you delete a node
* Clarify error message when we got UTF-8 chars in the iourc file
* Use custom VMnet interfaces without host adapter when uBridge is not used. Fixes #673.
* Automatically add the -no-kvm option if -icount is detected to help with the migration of ASA VMs created before version 1.4
* Check for valid FR or ATM switch mappings. Fixes #300.
* Catch exception when a process cannot be killed. Fixes #296.


## 1.4.0beta2 17/09/2015

* Fix a crash at vmware stop
* Fix a crash when starting a VMware vm
* Add how to add vmnet interfaces explantion in the error message
* Fix path of VMinventory for fusion
* Force close the keep alive when sending a 401
* Do not automatically delete Dynamips bootflash file because they are necessary to restore VLANs on the c3600 platform.
* Wait that an user press a key to stop gns3vmnet.exe on Windows.
* Throw an error if ubridge as incorrect permissions. Fixes #312.
* This may fix "The semaphore timeout period has expired" error on Windows. #311.
* Fixes bug with VMware VM connections + moves some uBridge code to BaseVM.
* Support for packet capture on VMware VM links.
* Fix ProcessLookupError on _checkAlive Qemu
* VMware Fusion support with uBridge.
* Updates vmnet script to support Windows.
* Do not block on .lock for VMware OSX
* Require Dynamips version 0.2.16 to change the default QinQ Ethernet type.
* Initial Docker support from Google Summer of Code (not enabled)
* Check for valid FR or ATM switch mappings. Fixes #300.
* VirtualBox VMs can only be started if powered off. Fixes #299.
* Support of VPCS 0.8
* Allows VMware VMs to use vmnet interfaces for connections without using uBridge. Fixes #295.
* Fixes path to vmnet-cli on Mac OS X.
* Updates vmnet script to support Mac OS X.
* Fix closing project when multiple project is open
* Fix project not closing
* Qemu user options are at the end. It's allow user to add his own net interfaces
* Change the way we look for Qemu path
* Lock qemu vm during start / stop operations
* In the error message explain how to turn off KVM support
* Fix when you stop qemu on windows you have an error
* Fix Qemu cannot be used on Windows
* Allow to start server with python -m gns3server
* Should solve the BufferError by avoiding using thread
* Catch UnicodeEncodeError when passing unicode char as qemu options
* EthernetSwitch: Allow to choose ethertype for QinQ outer tag.
* Backport: fixes NAT NIO for Qemu VMs (do not launch any legacy scripts)
* Fixes NAT NIO for Qemu VMs (do not launch any legacy scripts)
* Lower VMware requirements to Workstation version 10 and Player version 6.
* Fixes Unicode error. Fixes #290.
* Don't delete Dynamips ROM files. They are used to restore the nvram.
* Adds pywin32 dependency in setup.py for Windows.

## 1.3.10 04/09/2015

* Catch exception when a process cannot be killed. Fixes #296.
* Backport: fixes NAT NIO for Qemu VMs (do not launch any legacy scripts)
* Fixes Unicode error. Fixes #290.
* Don't delete Dynamips ROM files. They are used to restore the nvram.

## 1.4.0beta1 07/08/2015

* Fix ram setting for Qemu
* Explicit set qemu memory as MB
* Turn off KVM for non x86 architectures
* Send an error when vmware executable cannot be found on Linux. Fixes #288.
* Support for CPUs setting for Qemu VMs.

## 1.4.0alpha4 04/08/2015

* Quote command in qemu debug logs so you can copy/paste them
* Support for Qemu disk interfaces, cd/dvd-rom image and boot priority. Fixes #278.
* Check for VMware Player version >= 7 and VMware Workstation >= 11. Fixes #286.
* Catch GeneratorExit exception when trying to create a Ghost IOS image.
* Backport: removes code that deletes IOS router instance files.

## 1.3.9 03/08/2015

* Backport: removes code that deletes IOS router instance files.

## 1.4.0alpha3 28/07/2015

* Raise error if qemu image already exist when creating disk
* Prevent user to create a qemu to a different directory on non local server
* VMnet manager on Linux: check that VMware has been installed.
* Fixes UnicodeDecodeError when reading a VMware file.
* Fixes KeyError: "ethernet0.connectiontype". Fixes #276.
* Fixes replace errors. Fixes #284.
* Catch ProcessLookupError when updating iouyap config. Fixes #255.
* API for creating a qemu disk image
* Prevent starting different hypervisors that leverage hardware virtualization (VT-x/AMD-V). Fixes #548.
* Fixes IOS adapters and WICS cannot be removed. Fixes #282.
* Makes sure the loop is running when closing the app.
* Catch Permission denied when writing to VMX file while closing VMware VM. Fixes #277.
* Catch GeneratorExit exception. Fixes #231.
* Fixes missing chipset info for VirtualBox VM (maybe some older VirtualBox version don't have it). Fixes #254.
* Changes how to look for the vmrun.exe location.
* Update documentation
* API for listing current projects

## 1.3.8 27/07/2015

* Catch ProcessLookupError when updating iouyap config. Fixes #255.
* Fixes IOS adapters and WICS cannot be removed. Fixes #282.
* Makes sure the loop is running when closing the app.
* Catch GeneratorExit exception. Fixes #231.
* Fixes missing chipset info for VirtualBox VM. Fixes #254.
* Fixes IOURC upload.
* Restore images & projects tarballs
* Allow users to backup projects and images.
* Update gns3.conf.upstart.
* Fix incorrect vboxmanage sudo command.
* Backport from 1.4: option to drop nvram & disk files for IOS routers in order to save disk space.
* Backport from 1.4: Remove timeout to wait for connections to finish.
* Backport from 1.4: Fixes RuntimeError: Event loop is closed.
* Backport from 1.4: Bind host on 0.0.0.0 when checking for a free UDP port.

## 1.4.0alpha2 22/07/2015

* Deactivate uBridge process monitoring (process returns 1 on Windows when stopping).
* Prevent using different hypervisors that leverage hardware virtualization. - Implemented for Qemu when a VMware or VirtualBox VM with hardware virtualization is already running. - Implemented for VirtualBox only when a Qemu VM with KVM is already running.
* Check for uBridge version and catch uBridge errors.
* Remove default FLASH when no hda disk for Qemu VMs. Fixes  #535.
* Use the registry to find vmrun if the default VMware install path does not exist.
* Bind host on 0.0.0.0 when checking for a free UDP port.
* Fixes RuntimeError: Event loop is closed. Fixes #266.
* Update gns3.conf.upstart
* Implements uBridge hypervisor.
* Take VMware file encoding into account. Fixes #261.

## 1.4.0alpha1 09/07/2015

* Update API documentation
* Allow to send the iourc when starting the VM
* Return stdout when a process crash for IOU, Dynamips, uBridge and VPCS.
* Adds -no-kvm to the ASA template and ignore -no-kvm on platforms other than Linux. Should resolve #472.
* Allow user to change the configuration file
* Fix double loading of config from working directory
* CORS support
* Support server config in current working directory
* List only valid existing IOS images (for IOS router wizard).
* Checks if IOS image exist at startup and not during node creation. Fixes #240.
* When a qemu VM crash send the log to the client.
* Add a vm_directory field
* Check for /dev/kvm. Fixes #245.
* Moves KVM setting to Qemu server preferences. Fixes #244.
* VNC console support for Qemu VMs.
* Test all IOU requirements at VM startup
* ACPI shutdown support for VMware VMs. Fixes #436.
* Compute a md5sum of images for futur purpose
* Adds gns3-netifaces to dependencies only if netifaces isn't already installed otherwise this requires a compilation and therefore the Python development files.
* Adds an IP address for each interface returned by the interfaces API method.
* Add log when we didn't close a project due to another client
* Limit file size during upload
* Convert old -enable-kvm to kvm settings for Qemu
* Cleanup SSL certificate support
* Improve memory consumption of file upload with the HTML form
* systemd start script 
* Enable KVM acceleration option.
* Check interface is up before connecting a NIO (Linux only). Fixes #277.
* IPv6 support.
* Import/Export support for IOU nvrams.
* Install qt5 for travis
* Option to drop nvram & disk files for IOS routers in order to save disk space.
* Drop python 3.3
* Support for base MAC address for Qemu VMs.
* ACPI shutdown support for Qemu VMs.
* ACPI shutdown support for VirtualBox VMs.
* Upload images API
* A notification stream with process monitoring
* VMware support 

## 1.3.7 22/06/2015

* Prevent install on Python 2

## 1.3.6 16/06/2015

* Fix an issue with 1.4dev compatibility

## 1.3.5 16/06/15

* Ignore invalid characters when reading the output of a process
* Turn on / off authentication
* Ensure no colored output on Windows
* Do not stop saving IOS router configs when there is an exception while a project is committed.
* Create a private config file if expected
* Distribute our own version of netifaces working with python 3
* Fix crash if a private config exist in IOS but no private config file
* Basic Auth support
* Fix crash when virtualbox list of VMS return an empty line

## 1.3.4 02/06/15

* Drop useless dependencie dateutil
* Check if port or adapter is connected before starting/stopping a packet capture. Fixes #196.
* Prevent users to add links to running Qemu VMs and start a capture on running VirtualBox VMs.
* Fixes bug: couldn't set PCMCIA disk1 size for IOS routers.
* Fix crash if you pass an invalid hostname
* Catch VPCS kill errors
* Raise a VirtualBox error if adapter doesn't exists
* Ignore VirtualBox VM Name with a carriage return in name
* Cleanup the temporary project after modules have been notified of the path change
* Do not return error if we can't remove the old project directory
* Catch encoding errors in windows logger
* Use setter for the qemu_path (allow to pass only the binary name)
* Fixes TAP connection when using VPCS.
* Fix crash launching qemu on OSX from another location.
* Adds NAT NIO in device schema validation so they can return an error that it is not supported.

## 1.3.3 14/05/15

* Check for empty iourc path.
* Fixes bugs with IOS router configs. Fixes #354.
* Use a temporary directory as egg cache
* Catch crash error in IOU in case of permission denied

## 1.3.3rc1 07/05/2015

* Return an error if an adapter slot doesn't exist on an IOS router.
* NIO NAT support for VirtualBox VMs.
* NIO NAT support for QEMU VMs (user mode back-end is used).
* Throw an error if user put an invalid port range in config file
* Turn off configuration parser interpolation
* Catch configuration file parsing errors
* Force closing the event loop to avoid warning with Python 3.4.3
* Catch error when you can't mark a project as no longer temporary
* Catch BrokenPipeError for OSX frozen server
* Match how IOU initial-config is set for VPCS VM.
* Refactors how startup-config and private-config are handled for IOS routers.
* Catch the "WinError 0 The operation completed successfully" exception at a higher level.
* Fix temporary project not cleanup with save as
* If image is not found in VM directory look in images folder
* Ordered MAC addresses for QEMU based VMs.
* Merge remote-tracking branch 'origin/master'
* Force utf-8 configuraton files reading
* Do not list file starting with a . in upload handler
* Do not crash when closing a project if VirtualBox is not accessible
* Catch connection reset errors


## 1.3.2 28/04/2015

* Cleanup the VirtualBox Media Manager after closing a project.
* Avoid Cygwin warning with VPCS on Windows.
* Close VirtualBox VM linked clone disks after the VM is unregistered.
* TAP interface support for QEMU VMs.
* Return an explicit error when a NIO type is not supported by a VM.
* Do not erase the IOU config
* Explicit utf-8 decoding.
* Check NIO exists when stopping an IOU capture.
* Fixes c7200 NPE setting.
* Fixes VPCS process termination.
* Catch FileNotFoundError exception in os.getcwd()
* Explicit utf-8 encoding where necessary to avoid Unicode errors on Windows (we require/set an utf-8 locale on other systems).
* Fixes #270. Relative paths management with empty ones.
* New crash report key and doesn't send report for developers
* Catch COM errors when connecting to WMI.
* Don't assume the PATH environment variable exists.
* Use UUIDs instead of the VM names for VirtualBox pipe paths.
* Add --log options for daemon support
* Basic upstart script
* Add qemu-kvm to the list of binary
* Fix IOU licence check flag
* Config paths are not used when updating Dynamips or IOU VM settings.
* Fixes initial-configs that were not restored when opening a project containing IOU VMs.
* Prevent parallel execution of VBox commands
* Fix a crash when in some cases you can't access to VBOX state
* Fix crash if VirtualBox doesn't return API version
* Fix a crash in VirtualBox vm creation
* Allocate random names for Dynamips NIOs.
* Explicitly delete Dynamips NIOs and unmap VCs for ATM and Frame-Relay switches.

## 1.3.1 11/04/2015

* Release

## 1.3.1rc4 09/04/2015

* Initial config file content can be empty (fix export issues)
* Fix crash if IOU initial config is emtpy
* Return more informations about bad requests for crash reports
* Allow less strict dependencies for easier install
* Missing project name in documentation
* Some spring cleaning


## 1.3.1rc3 07/04/2015

* Fix missing IOU documentation
* Add missing project name in curl documentation
* Look in old IOU images location in order to smooth transition

## 1.3.1rc2 06/04/2015

* Do not overwrite initial-config IOU if client send an empty
* Fix documentation about /ports/udp

## 1.3.1rc1 05/04/2015

* Fix issues with macos X dynamips not freeing UDP port
* Fix encoding error when saving dynamips configuration
* The upload web page return a 200 in case of error (IE compatibility)
* Do not crash if dynamips config contain non ascii chars
* Test path with chinese charcaters in Qemu
* Do not crash if no console port is available for VBox
* Raise a DynamipsError if we can't access to VM status
* Check name of the VBoxManage executable
* Exclude docs and tests package from distribution
* Catch error when qemu additional options are invalid
* Fix ClientDisconnectedError
* Fix crash when NIO doesn't exist
* Turn off crash report if raven not available
* Fix crash when IOU script file is incorrect

## 1.3.0 30/03/2015

* Fix issue when asyncio read is cancelled and data is still sent by Dynamips hypervisor.
* Fix unicode decode error when saving IOS router configs.
* Fix error when missing adapter in Dynamips IOS router.
* Fix crash if we call stop on dynamips on non started process.
* Fix use_default_iou_values param was not set.
* Fix issue when IOURC environment variable is set to None.
* Fix issue when exporting IOS router configs.
* Fix check if VPCS process is running.
* Fix bug when remove_nio() is not a coroutine for ATM and FR switches.
* Fix how to test if iou and iouyap are running.
* Allocate a random port for Qemu monitor. Fixes issue with pre 1.3 projects.
* Fix default chassis bug.

## 1.3.0rc2 23/03/2015

* Update sentry key
* Prevent error when suspend/resume is not supported in QEMU VM.
* Adds project id when requesting UDP port.
* Make sure used ports in a project are cleaned up when closing it.
* Save configs when project is committed.
* Initialize chassis when creating an IOS router. Fixes  #107.
* Lock the dynamips reader an writer

## 1.3.0rc1 19/03/2015

* Save IOS router config when saving the project
* Look in legacy IOU images directory
* Support IOURC upload
* Configuration on UNIX
* Support all QEMU status
* Bind tunnel UDP to the correct source index

## 1.3.0beta2 13/03/2015

* Fixed issue when VBoxManage returns an error.
* Server handler to shutdown a local server.
* List the iourc file in upload handler.
* Fixed hostid error.
* Support RAM setting for VirtualBox VMs.
* Alternative local server shutdown (intended for Windows).
* Request user permission to kill the local server if it cannot be stopped.

## 1.3.0beta1 11/03/2015

* Optional IOU license key check.
* Relative path support of IOU, IOS and Qemu images.
* Do not give attachment warning for generic attachments in VirtualBox.
* Support for HDC and HDD disk images in Qemu.
* Fixed bug when starting a packet capture in VirtualBox with the project path containing spaces.
* Renames server.conf and server.ini to gns3_server.conf and gns3_server.ini respectively.
* Use TCP instead of Telnet to communicate with Qemu monitor.
* Have the server look in the right place for relative image paths.
* Fixed bugs when checking if this is a local project.
* Concert old projects on remote servers.
* Properly restore configs for Dynamips routers.
* Fixed rename bug for linked clones in VirtualBox.
* Makes absolute path checks work on Windows.
* Upload IOURC file via the web interface
* Upload interface allows users to choose an image type.
* Fixed Qemu networking.
* Fixed suspend and resume for Qemu VMs.
* Fixed crash when you start capture on a non running IOU.
* Fixed Telnet server initialization issue in VirtualBox.
* Disconnect network cable if adapter is not attached in VirtualBox vNIC.

## 1.3.0alpha1 03/03/2015

* HTTP Rest API instead of WebSocket
* API documentation
* Create a dedicated configuration file for the server: server.conf
* Temporary projects are real project
* Use UUID instead of id

## 1.2.3 2015/01/17

* Fixed broken -netdev + legacy virtio in Qemu support.
* Ping and traceroute added to the IOU VM.

## 1.2.2 2015/01/16

### Small improvements / new features

* Auxiliary console support for IOS routers.
* Suspend / resume support for Qemu.
* Dynamically configure network connections of running Qemu VMs (only with recent Qemu versions).
* VPCS multi-host support (useful for old .net labs).
* Possibility to run VirtualBox as another user (Linux/OSX only).
* Support for IOURC file on the server side.
* Bumped the maximum network adapters to 32 for Qemu (depending on Qemu version you cannot go above 8 or even 28, Qemu will just not start).
* Added snapshot named 'reset' to linked cloned VirtualBox VMs.
* More network interface options to the Qemu VM configuration interface as well as descriptions for all NICs.
* More checks on minimum RAM for IOS routers and updates default values to match the latest IOS image requirements.
* Fixed bug when importing Host node with UDP NIOs.

## 1.2.1 2014/12/04

* Early support for IOSv and IOSv-L2 (with Qemu for now, which is slow on Windows/Mac OS X).
* Support for CPU throttling and process priority for Qemu.
* Fixed C7200 IO cards insert/remove issues and makes C7200-IO-FE the default.
* Updated the IOU VM with iouyap version 0.95 (packet capture).


## 1.2 2014/11/20

* New VirtualBox support
* New Telnet server for VirtualBox.
* Add detection of qemu and qemu.exe binaries.
* New host node (cloud with all available Ethernet & TAP interfaces added).
* Option to allow console connections to any local IP address when using the local server.
* VirtualBox linked clones support (experimental, still some problems with temporary projects).


## 1.1 2014/10/23

* Serial console for local VirtualBox.

