# Change Log ## 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 server * 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 informations * 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.