Skip to content

Releases: CloudVE/cloudbridge

v4.1.0

15 Jun 14:51
f38c243

Choose a tag to compare

Release highlights

This minor release adds Azure DNS support and modernizes the release pipeline. The public CloudBridge API is backward compatible with 4.0 — no code changes are required.

What's new

  • Azure DNS support. The Azure provider can now manage DNS zones and records, bringing it in line with the DNS service already offered by the other providers. This adds azure-mgmt-dns to the Azure dependency set.

Fixes and maintenance

  • Azure disks now use the region name (not the zone name) when resolving their location.
  • Test reliability: retry default-subnet creation, and allow storage-account creation enough time to resolve DNS.

Build and CI

  • PyPI releases now use a trusted publisher (PyPI OIDC) from GitHub Actions instead of a stored API token. The deploy workflow is split into separate build and publish jobs, and integration runs are skipped on docs-only changes.

Pull Requests

  • Use a trusted publisher when publishing to PyPI by @ksuderman in #330
  • Add Azure DNS support by @nuwang in #331
  • CI hygiene: split deploy job + dedicated env, skip CI on docs-only changes by @nuwang in #332

Full Changelog: v4.0.0...v4.1.0

v4.0.0

15 May 15:01
d149616

Choose a tag to compare

Release highlights

This is a major release that brings the dependency stack up to date. The public CloudBridge API is unchanged — most users will not need any code changes. The version bump reflects the breadth of the underlying modernization rather than interface breakage.

What users should know

Python 3.13 or higher is now required. Support for older Python versions, including 2.7 compatibility shims (six), has been removed. Earlier Python versions are no longer tested; the default test environment is Python 3.13.

Azure public IPs now use the Standard SKU. Basic-SKU public IPs are being retired by Azure. Public IPs created by CloudBridge are now Standard SKU. Within a single virtual network, public IPs of different SKUs cannot be mixed (Azure restriction). If you have a network that already contains Basic-SKU IPs created by CloudBridge 3.x, plan to standardize on one SKU before letting 4.0 add new IPs to that network.

Mock provider now requires moto >= 5.0. If you use MockAWSCloudProvider in your own test suite alongside direct moto usage, your test harness must be on moto 5. In moto 5, the per-service decorators (mock_ec2, mock_s3, …) were unified into a single mock_aws.

If you pin cloud SDKs alongside CloudBridge, you may need to relax upper bounds. The biggest jumps: azure-mgmt-compute (up to <39), azure-mgmt-network (<31), openstacksdk (<5).

Under the hood (no action required)

CloudBridge migrated off several abandoned Azure libraries (msrestazure, azure-cosmosdb-table, pysftp) and onto their maintained successors. The migration is transparent at the API level. Existing Azure resources created by 3.x — including key pairs stored in Azure Table Storage — are read by 4.0 without migration.

Pull Requests

  • Update codecov badge by @nuwang in #319
  • pull_request to pull_request_target for tests by @almahmoud in #322
  • Azure - add AZURE_NETWORK_RESOURCE_GROUP to pick vnet from another ResourceGroup by @patchkez in #321
  • Run in pull_request mode with approval by @nuwang in #327
  • Upgrade azure, openstack sdks and moto to latest by @nuwang in #323
  • Modernize project setup by @nuwang in #328

New Contributors

Full Changelog: v3.2.0...v4.0.0

release-3.2.0

07 Sep 07:43

Choose a tag to compare

What's Changed

Full Changelog: v3.1.0...v3.2.0

release-3.1.0

19 Aug 06:59

Choose a tag to compare

  • Added app credentials support to openstack.
  • Added VM instance create time property to all providers (thanks to @rodrigonull)
  • Added Azure stop VM instance method (thanks to @rodrigonull)
  • Cloud provider sdks updated to latest versions
  • Master branch renamed to main
  • Other misc fixes.

Full Changelog: v3.0.0...v3.1.0

release-3.0.0

05 Dec 08:08

Choose a tag to compare

  • 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 #294 (thanks to @FabioRosado)

Full Changelog: v2.2.0...v3.0.0

release-2.2.0

05 Nov 05:59
d1cbbcd

Choose a tag to compare

  • 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.

Full Changelog: v2.1.0...v2.2.0

release-2.1.0

01 Dec 20:03
5820f68

Choose a tag to compare

  • 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)

release-2.0.0

14 Mar 17:35
4f1683b

Choose a tag to compare

  • 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.

release-1.0.2

25 Sep 18:51

Choose a tag to compare

  • Added AWS instance types caching for better performance
  • Added router.subnets property
  • Ensure the default network for CloudBridge on AWS has subnets

release-1.0.1

07 Sep 08:03

Choose a tag to compare

  • Fixed minor bug when retrieving buckets with only limited access
  • Relaxed some library version dependencies (e.g. six)