IM 0.10

    * Initial version

IM 0.20

    * Minor bugfixes
    * Improving the messages of the contextualization stage
    * Change radl module internals
    * Add support to spot instances in EC2 plugin

IM 0.30

    * Important internal code modifications

IM 0.40

    * Change OCCI connector to be OCCI 1.1 compliant
    * Minor bug fixes in InfrastructureManager
    * Minor bug fixes in OpenNebula connector
    * Minor changes in SSH module
    * Use Ansible Galaxy to install remote roles

IM 0.50

    * Support to application requirements in the Recipes D.B.
    * Minor bug fixes
    * Change Ansible version to 1.6.6
    * Add internal ID to VMs
    
IM 0.60
    * Solve some concurrency bug fixes
    * Add launch_time info to the EC2 VMs

IM 1.0.0
    * Minor bug fixes
    * Improve contextualization code
    * Enable to change the credentials of the VMI user
    * Change Ansible version to 1.7.1
    * Improve LibCloud connector
    * Modify setup to use in pip

IM 1.1.0
    * Minor bug fixes and code improvements
    * Add Docker connector
    * Add Google Compute Engine (GCE) connector
    * Bugfixes in OCCI connector
    * Improve EC2 connector
    * Improve OpenNebula connector to support version 4.8
    * Change GetVMInfo and AlterVM functions to return only RADL data 
    * Add GetVMProperty function to the API
    * Add provider information in the RADL
    * Bug fixes in LibVirt connector
    * Change Ansible version to 1.7.2
    * Use the ssh connector with the pipelining option in ansible to improve preformace in the contextualization step

IM 1.1.1
    * Minor bug fixes and code improvements
    * Bugfixes in EC2 connector

IM 1.2.0
    * Minor bug fixes and code improvements
    * Change the contextualization process:
    	* Enable to contextualize the VMs individually.
    	* Call Ansible inside a Thread.
    * Improve EC2 connector
    * Bugfixes in OCCI connector
    * Bugfixes in Docker connector
    * Add FogBow connector
    * Add GetInfrastructureRADL function to the API
    * Add GetInfrastructureContMsg function to the API
    * Add GetVMContMsg function to the API
    * Add new state 'unconfigured'

IM 1.2.1
    * Add SSH keygen funtion to GCE connector
    * Add PRIVATE_NET_AS_PUBLIC configuration variable
    * Add MAX_SIMULTANEOUS_LAUNCHES configuration variable
    * Add Azure connector
    * Update EC2 instance features
    * Update documentation to specify python version 2.6
    * Add provider_ids as network parameter in RADL
    * Add support to VPC in EC2 connector
    * Implement AlterVM in OpenNebula and EC2 connectors
    * Add DeployedNode connector to enable to configure nodes not deployed with the IM (i.e. physical nodes)
    * Minor bugfixed in InfrastructureManager class
    * Improve error messages
    * Bugfixes in OpenNebula connector

IM 1.2.2
    * Update Fogbow connector to recent changes of the software.
    * Implement the functions start & stop in GCE plugin
    * Minor bugfix in GCE connector
    * Minor bugfix in EC2 connector
    * Improve performance in contextualization step.
    * Improve the RADL parser code
    * Improve the connectors code
    * Improve the SSH connections in the contextualization step 
    * Improve contextualization performance
    * Bugfix in the Ansible installation playbook
    * Change Ansible version to 1.8.4

IM 1.2.3
    * Bugfix in the Ansible launcher with versions 1.9.X
    * Bugfix in VirtualMachine update_status function
    * Add the VM_INFO_UPDATE_ERROR_GRACE_PERIOD to manage errors in the conections with Cloud providers
    * Bugfix and code improvements in GCE connector

IM 1.2.4
    * Bugfix in OCCI, Azure and Docker connectors when reusing HTTP connections
    * Bugfix in OpenNebula, OCCI and OpenStack connectors when using mutiple auth of same type
    * Add a password check in the RADL parser
    * Dynamically refresh the Ctxt output
    * Minor bugfix in EC2 connector when deleting a non existing instance

IM 1.3.0
    * Bugfix in OCCI, OpenNebula and Docker connectors when using incorrect credentials.
    * Improve Docker connector code.
    * Add Kubernetes connector.
    * Bugfix in FogBow with 1.0 version
    * Bugfix in RADL with unicode strings
    * Add StarVM and StopVM functions to the API
    * Modify contextualziation process to ignore not running VMs enabling to configure the rest of VMs of an Inf. 
    * Enable SSH with retry in all the ctxt steps

IM 1.3.1
    * Bugfix in ConfManager when relaunching a VM afther a failure.
    * Enable to specify git repo and http file in applications, in addition of galaxy roles, in the RADL.
    * Add fstype property to disks and enable to automatically format and boot the disk.
    * Add DATA_DB config variable enabling the usage of MySQL as Backend to store IM data
    * Bugfix in OCCI storing the proxy filename
    * Add context optional parameter to AddResource and RemoveResource functions.
    * Add vm_list optional parameter to Reconfigure.
    * Bugfixes in OpenStack and LibCloud connectors.

IM 1.3.2
    * Bugfix in OpenNebula connector when no nets are available
    * Add instance_id and instance_name fields
    * Bugfix in RADL parser
    * Bugfix in ConfManager formatting volumes
    * Change Ansible version to 1.9.2
    * Improve documentation
    * Remove PRIVATE_NET_AS_PUBLIC configuration variable and add PRIVATE_NET_MASKS

IM 1.4.0
    * Bugfixes to ctxt_agent.py
    * Minor bugfixes and code improvements in VirtualMachine.py
    * Bugfixes and improvements in connectors
    * Enable to configure Windows nodes using native WinRM protocol supported by Ansible
    * Enable multiple image URLs
    * Enable to disable the contextualization step by RADL
    * Enable to use cloud-init contextualization
    * Add IM-USER tag to EC2 instances
    * Improve the DB serialization
    * Change Infrastructure ID from int to string: The API changes and the stored data is not compatible with old versions
    * Add GetInfrastructureState function
    * Bugfix managing public IPs in OCCI
    * Add suport for scp in SSH module in case that sftp is not available
    * Bugfixes to GCE connector
    * Make StartInfrastructure and StopInfrastructure operations in parallel

IM 1.4.1
    * Minor bugfixes to OCCI and GCE connectors
    * Minor bugfixes in Contextualization step
    * Bugfix in VM IP management
    * Add support for Ansible v2.X
    * Add supoort for using an external ansible master node
    * Bugfix in incorrects links inside containers

IM 1.4.2
    * Add support for new RADL JSON format
    * Change in Auth Header in new version of FogBow and support for requirements
    * Code improvements in OpenStack, OpenNebula and FogBow connectors
    * Added workaround to problems in ansible_launcher with HOSTS_PATTERNS_CACHE
    * Bugfixes in REST API

IM 1.4.3
    * Add IM_NODE_PUBLIC_IP and IM_NODE_PRIVATE_IP ansible variables
    * Bugfixes in REST API
    * Modify Docker connector using CpuShares as defined in swarm
    * Enable to use a /etc/im/logging.conf file to config logging properties
    * Bugfixes to OpenStack connector. Set default values to new versions.
    * Add GetVersion function
    * Bugfix returning protocol https in REST calls
    * Add IM_INFRASTRUCTURE_ID and IM_NODE_CLOUD_TYPE variables
    * Bugfix in REST API with auth data with new lines
    * Bugfix in ansible_executor_v2 with version ansible 2.0.1
    * Extract RADL as an external package
    * Bugfix in the ctxt_agent
    * Add logger messages to REST API
    * Add extra-ports to FogBow connector

IM 1.4.4
    * Add new org.fogbowcloud.order.resource-kind occi attribute
    * Enable to user image name and add IMAGE_UNAME config variable for OpenNebula connector
    * Bugfix in ctxt when different VMs has the same external ip
    * Improve the management of ansible galaxy roles
    * Bugfix in OCCI connector with endpoints with path
    * Enable to return REST error messages in JSON, HTML and plain text
    * Set correct permissions in some configuration files
    * Enable accept type in all REST API calls
    * Bugfix in threads management with ThreadPool
    * Bugfixes in Azure connector
    * Inprove conf-ansible recipe and set Ansible version to 2.0.2

IM 1.4.5
    * Bugfix killing ansible proceses
    * Enable to keygen in OpenNebula connector
    * Add env variable IM_DATA_DB to enable to change the DB in a container
    * Bugfox with VMRC lib and SOAPPy
    * Change winrm UnauthorizedError exception for new class Authentication

IM 1.4.6
    * Change conf-ansible recipe to use pip in case of CentOS 6
    * Improvements for VMs that reqs a priv IP but gets a public one
    * Put check_im_user in all api functions
    * Bugfix in Docker connector with CpuShares
    * Add ANSIBLE_INSTALL_TIMEOUT var
    * Create user with cloudinit in OpenStack connector
    * Improve error msg in ssh wait
    * Bugfixes in Azure connector

IM 1.4.7
    * Return 403 error in REST API when the user cannot access the infrastructure
    * Assure to kill ansible processes is case of ctxt timeout
    * Bugfix in some configuration cases
    * Bugfix not installing ansible roles defined in not master vm
    * Add im.service file add support to systemd
    * Enable to add a Storage to a running VM in the OCCI and OpenNebula connectors
    * Bugfix in OCCI not waiting the volumes on creation

IM 1.4.8
    * Bugfix setting step num in case if using contextualizes
    * Bugfix mapping ips to RADL networks in OpenStack and OpenNebula connectors
    * Bugfixes in OpenStack connector
    * Bugfixes in REST API not multithreaded
    * Bugfixes Error installing IM using pip in Ubuntu 16
    * Set restrictive permissions in the master VM data dir

IM 1.5.0
    * Remove DATA_FILE from configuration. Only DB now.
    * Change DB format. Old 1.4.X data must be updated.
    	Use the script: db_1_4_to_1_5.py to update the DB format:
    		* Install new IM 1.5.0 version.
    		* In case that you were using a DATA_FILE to store the IM data (the default option in old version of IM), define the DATA_DB in the im.cfg file. 
    		* Execute the script db_1_4_to_1_5.py (https://raw.githubusercontent.com/grycap/im/master/scripts/db_1_4_to_1_5.py).
    			* In case that you were using a DATA_FILE you have to specify it as the first parameter of the script.
    			* If you were using a DATA_DB to store your data this parameter is not needed.
    		* The data will be moved to the new format and old data will be renamed as table inf_list_XXXXXX.
    * Remove use of insecure Pickle data.
    * Add Vault support.
    * Bugfix with sqlite databases.
    * Fix some Kubenetes connector errors.
    * Improve Docker connector.
    * Bugfix killing child processes.
    * Error in GCE connector in case of multiples nodes.
    * Add FW creation support in GCE connector.
    * Move connectors from httplib to requests lib enhancement.
    * Improve data management in DB to enable HA enhancement.
    * Move Azure connector to Resource Groups API enhancement.
    * Change SOAPpy lib to suds.
    * Add support for OpenStack pool name in OCCI connector.

IM 1.5.1
    * Fix error configuring VMs with sudo with password.
    * Improve load data.
    * Fix Bug in IM in HA mode getting old data.
    * Merge correctly local /etc/hosts with IM generated data.
    * Bootstrap ansible master VM with python if it does not have it installed.
    * Fix Error configuring VMs with sudo with password.
    * Fix errors in EC2, GCE and OCCI connectors.
    * Add new timeout config value for SSH access.
    * Add support for cheroot library.

IM 1.5.2
    * Improve error messages in case of internal connector errors.
    * Add Python 3 compatibility.
    * Improve VM launch paralelism.
    * Enrich the logging entries + stack trace with the infra id.
    * Improve OCCI cloud_init data process.
    * Add VMINFO_JSON conf var to enable the GetVMInfo function return JSON RADL.

IM 1.5.3
    * Fix errors with python3
    * Fix error in some SFTP functions in SSH class.
    * Change default value of REMOTE_CONF_DIR to /var/tmp.
    * Enable to specify a port range in outports.
    * Add functions to create VM snapshots.
    * Fix error in OCCI conn setting public key.
    * Improve SG management in connectors EC2 and OpenStack.
    * Add support to OTC.
    * In case of hybrid infrastructures some connector will not remove all resources.
    * Select a random pool in case of OpenStack site in OCCI conn.
    * Detach volumes before removing it in OCCI conn.
    * Support OpenStack calls with VOMS proxies.

IM 1.5.4
    * Fix error in contextualization nodes with private keys.
    * Improve OpenNebula conn with new ver. 5 functions as SGs.
    * Improve error mesage in case of invalid proxy in OCCI conn.
    * Fix error in Azure connector creating a VM with two nics.
    * Fix error in Azure connector creating Storage Account with more than 24 chars.

IM 1.5.5
    * Fix error getting IP info in OCCI conn.
    * Enable to reset the add_public_ip_count in the OCCI/OST conns.
    * Improve Azure instance_type selection.
    * Improve GCE instance type selection.
    * Manage DNS records in EC2, Azure and GCE connectors.
    * Fix error in Azure conn creating a VM with only a public net attached.

IM 1.6.0
    * Improve getting Public network name in OCCI conn enhancement P2
    * Improve Ansible contextualization to scale more than 50 VMs
    * Add Support Custom instance types in Google Conn
    * Implements Delete SGs in ONE conn only in last VM
    * Fix error getting contmsg output in case of use colors
    * Enable to set a limit in the number of parallel ctxt processes
    * Fix error in SSH module in sftp_put_dir if src dir ends with /
    * Fix SSL verification error in windows
    * Enable to add IPs in OCCI conn in AlterVM
    * Fix error in OpenStack conn trying to assing a floating IP to VM with public IP
    * Wait SSH access to VMs only in one ctxt task
    * Create only one storage account per Infrastructure instead of per VM in Azure conn.
    * Improve save data in VM creation process
    * Fix Error creating NGS in Azure conn
    * Return false if VM does not exists in updateVMInfo
    * Fix error creating NSG in Azure conn if port 22 is set in outports.
    * Update Ansible roles in Master node in reconfiguration.
    * Fix error in Azure conn creating subnet.
    * Fix error in Context. process in basic test in SSH tests.

IM 1.6.1
    * Fix error in ctxt process in some cases in OpenStack sites.
    * Fix error launching IM with Ansible 2.4.0.

IM 1.6.2
    * Enable config_drive option in OpenStack conn.
    * Improve wait_ssh_access function to test 22 port in case of Dockers.
    * Do not force install galaxy roles on basic task.
    * Enable to specify a name of a security group in the RADL.
    * Fix Ctxt process does not correctly stops in case of failure in one internal step.
    * Add support for Keystone v3 in OCCI connector.
    * Add support access RADL properties from Ansible recipes.

IM 1.6.3
    * Enable to reuse keystone tokens in OCCI conn.
    * Add support to specify the project in case of OCCI OpenStack sites.
    * Add the Inf ID in all the related log messages.
    * Fix error in auth process in old OpenStack sites.
    * Fix error setting Hostname in Docker, Kubernetes and AzureClassic conns.
    * Fix error connecting with Synefo OCCI sites.
    * Fix error deleting VM in OCCI OpenNebula sites.

IM 1.6.4
    * Store tenant and project in OCCI connector.
    * Fix error validating keystone token in OCCI conn.
    * Decrease timeout getting ansible process results.
    * Enable to get the initial infrastructure contextualization log.

IM 1.6.5
    * Homogenize Inf ID log message
    * Fix error cpu.count parameter is ignored in OpenStack conn.
    * Fix ansible_version is not available in ctxt process.

IM 1.6.6
    * Fix authorization file format does not allow passwords that contain ";".
    * Improve error message in ONE conn in case net without leases.
    * Fix error using disks.free_size in connectors.
    * Add retries in Azure RG deletion.
    * Avoid raising error in case that one auth line does not have the type field.

IM 1.6.7:
    * Fix error with the update of pyOpenSSL package causes Ansible error.
    * Fix error contextualizing docker containers.
    * Improves performance deleting an infra when configuring it.
    * Fix error in EC2 conn getting security groups in case of VPC usage.
    * Improve AlterVM function to allow receive complete RADL.
    * Add --version option in im_service.py.
    * Fix error reconfiguring nodes in case of addition of nodes.
    * Avoid "Failed to lock apt for exclusive operation" in contextualization.

IM 1.7.0:
    * Return correct URL path when IM is behind a nginx proxy (or similiar)
    * Fix error in case of Max contextualization time passed the nodes are maintained in running state.
    * Add availability_zone field in OpenStack conn.
    * Fix error showing error messages with special characters.
    * Fix error in occi connector in case of setting and slash at the end of the host URL.
    * Move FogBow connector to requests library
    * Enable to reference an existing volume in OCCI conn
    * Fix error Resources in Azure are not properly deleted and IM returns "successfully destroyed"
    * Fix error GCE conn assing public IPs to all VMs.
    * Fix error using vault recipe options with ubuntu 2.4
    * Fix than user/pass credentials can access OpenID infras
    * Enable to create an infrastructure async
    * Return IM list in correct order (by creation)
    * Add TOSCA support por managing node Endpoints
    * Fix error processing TOSCA node artifacts as lists
    * Improve VM launch paralelism
    * Add VM creation retry in conns
    * Change the behaviour en case of VM launch failure.
    * Add TOSCA support for REST AlterVM function
    * Add TOSCA support from INDIGO fork
    * Add export and import functions in REST API
    * Change in the DB schema in the case of MySQL DB. This command must be made
      in the current DB:
			ALTER TABLE `inf_list` ADD COLUMN `rowid` INT AUTO_INCREMENT UNIQUE FIRST;

IM 1.7.1:
    * Fix problems with nodes with IPv6 in OpenStack conn.
    * Fix Azure conn does not get the correct state (in case of suspended VMs).
    * Enable to specify pool_name in the network provider_ip in OpenStack conn.

IM 1.7.2:
    * Fix Error setting the INF_CACHE_TIME conf variable time.
    * Add support to availability_zone in tosca.policies.Placement.
    * Enable to set instance_tags in connectors.
    * Fix error in Azure conn: VM disks are not deleted when VM is finalized, only when Infrastructure is destroyed.

IM 1.7.3:
    * Fix error getting VM info in case of having an HD added.
    * Improve OpenStack network management.
    * Enable to set poolname in the TOSCA docs.
    * Error when trying to attach a storage in OCCI (OpenStack sites).

IM 1.7.4:
    * Fix error OCCI connector does not correctly AlterVM adding/removing ips.
    * Add VERIFI_SSL var.
    * Improve error messages in Async call.

IM 1.7.5:
    * Add option to disable XML-RPC API
    * Enable hybrid deployment
    * Create a connector to Apache CloudStack
    * Fix error reporting memory units in OCCI connector
    * Fix error deleting OCCI infrastructure: Volume deleting returns forbidden and takes too long
    * Fix error with OCCI server 2.0.4 authentication error
    * Fix problem installing specific branch of Ansible galaxy roles
    * Fix error in REST API in case of strange char in ansible output
    * Add support to disk.*.image_url in OpenStack connector
    * Fix error detecting ansible process end
    * Enable to specify spot to EC2 instances in TOSCA
    * Get EC2 instances info from ec2instances.info
    * Fix error geting the subnets of the default VPC on EC2 conn
    * Add volume_id to TOSCA BlockStorage type

IM 1.7.6:
    * Change FogBow connector to new APIs.
    * Use merge_how option in cloud-init.
    * Fix error VMS with Public IP cannot reach each other.
    * Enable to return TOSCA data with REST API: #719
    * Improve GCE conn instance type selection: #717
    * Order network in OpenStack conn to set public first:#710
    * IM is not mounting a disk in case of setting disk.X.image.url: #705
    * Error in ctxt process: #703
    * Return off in case of 404 message in OCCI: #694
    * Simplify Ansible API code: #680
    * Update Azure conn to new Auth methods: #589
    * Enable to open ports in SG in private nets in TOSCA: #687
    * Enable to link a VM with an existing disk in Azure conn: #590
