3.0.0 - December 3, 2021 (sha 327e330bed78b8b70c9ff9d256513d71bc27545f) --------------------------------------------------------------------- * This is a major release due to packaging changes, although there are no backward incompatible interface changes. * The cloudbridge package no longer installs any providers by default, and you must use `pip install cloudbridge[full]` instead of `pip install cloudbridge` to obtain previous behaviour. This is to allow greater control over what providers are installed. To install only specific providers, use `pip install cloudbridge[aws,gcp]` etc. #292 (thanks to @RyanSiu1995) * Allow users to create signed urls with write permissions #292 (thanks to @FabioRosado) 2.2.0 - November 5, 2021 (sha f3fb8e18781cd3ede4509ef75a69e7c2a420a167) --------------------------------------------------------------------- * This is a maintenance release with no backward incompatible changes. * Azure dependencies updated to latest version and associated fixes #274, #277, #278, #279, #281, #282 (thanks to @FabioRosado) * AWS, GCP and OpenStack dependencies updated to latest versions and associated fixes. * AWS resources use TagSpecification support, removing extra requests for initial tagging. * Fixed wrong logging object in cloud provider #272 (thanks to @MosheFriedland) * Switched to github actions from travis * Patch discovery.build calls in GCP provider to use google's improved httplib2 #263 (thanks to @selshowk) * Added feature to start and stop aws instance #271 (thanks to @abhi005) * Miscellaneous doc and maintenance fixes. 2.1.0 - December 1, 2020 (sha a5c3af8ebc5be3ed44db34ebba097848f17305fb) --------------------------------------------------------------------- * This release introduces the DNS service, which is a top level service for managing DNS zones and records. * Support for using the newly added AWS instance type offerings API. This removes the dependency on a static machine type list, and returns up-to-date information on instance type availability. * The default package no longer bundles Azure, as the Azure python libraries are very large and affects docker container size when using cloudbridge. To install with Azure, use `pip install cloudbridge[full]` or `pip install cloudbridge[azure]`. * A convenience method for cloning providers in different zones has been added, which helps with multi-zone operations. * Support for specifying s3 signature version for the AWS provider. * Miscellaneous bug fixes and error handling improvements. * Support for python<3 dropped. * No major backward incompatible changes (apart from Azure not being bundled by default) 2.0.0 - March 13, 2019 (sha 10e28a0d07251af4a424fcbf11435fa4d52e5277) --------------------------------------------------------------------- * This is a major release which contains many improvements and some breaking changes to the interface, but the changes are fairly straightforward. * Support for Google Cloud (thanks to @mbookman, @chiniforooshan, @baizhang) * Support for middleware, event listening and interception, allowing CloudBridge to be extended without needing to modify library code (This is also potentially useful for handling corner cases for specific clouds). * The mock provider is now available by default as a standard cloud provider, which is useful for testing applications that use CloudBridge. * Providers now operate in a single zone, and therefore, all methods that previously required the zone as a parameter no longer do. Specifically, ``instance.create()``, ``volume.create()``, ``subnet.create``, ``subnet.get_or_create_default()`` are affected in services, and ``snap.create_volume`` is affected in resources. The provider's default zone must now be specified through the provider config. * All exceptions that are generated by CloudBridge will now extend from ``CloudBridgeBaseException`` * The cloud package is deprecated and everything under it has been moved one level up. For example, instead of ``from cloudbridge.cloud.factory import CloudProviderFactory`` use ``from cloudbridge.factory import CloudProviderFactory``. * Services are much more uniform now, and sub-services have been introduced for greater uniformity. For example, ``net.create_subnet()`` is now ``net.subnets.create()`` * ``gateways.get_or_create_inet_gateway()`` is now simply ``gateways.get_or_create()`` * AWS instance types are now served through Amazon CloudFront for better performance. * Miscellaneous bug fixes and improvements. 1.0.2 - September 25, 2018 (sha 621aeed1a8d7c5ad270649f8ee960e9682e57dae) ------------------------------------------------------------------------- * Added AWS instance types caching for better performance * Added ``router.subnets`` property * Ensure the default network for CloudBridge on AWS has subnets 1.0.1 - September 7, 2018. (sha 3130492008c5e0e115b8dfec880d32a4ac90b761) ------------------------------------------------------------------------- * Fixed minor bug when retrieving buckets with only limited access. * Relaxed some library version dependencies (e.g. six). 1.0.0 - September 6, 2018. (sha 11bccd822f21a598fc753995440cf1a409984889) ------------------------------------------------------------------------- * Added Microsoft Azure as a provider. * Restructured the interface to make it more comprehensible and uniform across all supported providers. See `issue #69 `_ for more details as well as the library layout image for an easy visual reference: https://github.com/CloudVE/cloudbridge#quick-reference. * Migrated AWS implementation to use the boto3 library (thanks @01000101) * Cleaned up use of ``name`` property for resources. Resources now have ``id``, ``name``, and ``label`` properties to represent respectively: a unique identifier supplied by the provider; a descriptive, unchangeable name; and a user-supplied label that can be modified during the existence of a resource. * Added enforcement of name and label value: names must be at least 3 characters in length at minimum, and 64 characters at maximum, consisting of only lower case letters and dashes. Should not start or end with a dash. * Refactored tests and extracted standard interface tests where all resources are being tested using the same code structure. Also, tests will run only for providers that implement a given service. * Moved the repository from github.com/gvlproject to github.com/cloudve org. * When deleting an OpenStack network, clear any ports. * Added support for launching OpenStack instances into a specific subnet * Update image list interface to allow filtering by owner. * When listing images on AWS, filter only the ones by current account owner. * Retrieve AWS instance types from a public service to include latest values. * Instance state uses ``DELETED`` state instead of ``TERMINATED``. * Return VM type RAM in GB. * Add implementation for ``generate_url`` on OpenStack. * General documentation updates. 0.3.3 - August 7, 2017. (sha 348e1e88935f61f53a83ed8d6a0e012a46621e25) ---------------------------------------------------------------------- * Remove explicit versioning of requests and Babel. 0.3.2 - June 10, 2017. (sha f07f3cbd758a0872b847b5537d9073c90f87c24d) --------------------------------------------------------------------- * Patch release to support files>5GB with OpenStack (thanks @MartinPaulo). * Misc bug fixes. 0.3.1 - April 18, 2017. (sha f36a462e886d8444cb2818f6573677ecf0565315) ---------------------------------------------------------------------- * Patch for binary file handling in OpenStack. 0.3.0 - April 11, 2017. (sha 13539ccda9e4809082796574d18b1b9bb3f2c624) ---------------------------------------------------------------------- * Reworked test framework to rely on tox's test generation features. This allows for individual test cases to be run on a per provider basis. * Added more OpenStack swift config options (OS_AUTH_TOKEN and OS_STORAGE_URL) * Added supports for accessing EC2 containers with restricted permissions. * Removed exists() method from object store interface. Use get()==None check instead. * New method (img.min_disk) for getting size of machine image. * Test improvements (flake8 during build, more tests). * Misc bug fixes and improvements. * Changed library to beta state * General documentation updates (testing, release process) 0.2.0 - March 23, 2017. (sha a442d96b829ea2c721728520b01981fa61774625) ---------------------------------------------------------------------- * Reworked the instance launch method to require subnet vs. network. This removed the option of adding network interface to a launch config object. * Added object store methods: upload from file path, list objects with a prefix, check if an object exists, (AWS only) get an accessible URL for an object (thanks @VJalili). * Modified `get_ec2_credentials()` method to `get_or_create_ec2_credentials()` * Added an option to read provider config values from a file (`~/.cloudbridge` or `/etc/cloudbridge`). * Replaced py35 with py36 for running tests. * Added logging configuration for the library. * General documentation updates. 0.1.1 - Aug 10, 2016. (sha 0122fb1173c88ae64e40140ffd35ff3797e9e4ad) -------------------------------------------------------------------- * For AWS, always launch instances into private networking (i.e., VPC). * Support for using OpenStack Keystone v3. * Add functionality to manipulate routers and routes. * Add FloatingIP resource type and integrate with Network service. * Numerous documentation updates. * For an OpenStack provider, add method to get the ec2 credentials for a user. 0.1.0 - Jan 30, 2016. --------------------- * Initial release of CloudBridge. * Support for Bucket, Instance, Instance type, Key pair, Machine image. Region, Security group, Snapshot, Volume, Network and Subnet services. * Support for paging results, block device mapping and launching into VPCs. * Support for AWS and OpenStack clouds. * Basic usage docs and complete API docs. * 95% test coverage. * Support for AWS mock test provider (via `moto `_).