# Change Log ## 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.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.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.3.9 03/08/2015 * Backport: removes code that deletes IOS router instance files. ## 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.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.