This page describes how Cloud Composer versioning works. Versioning enables you to select a Cloud Composer image version when you create an environment.
To run Apache Airflow smoothly, Cloud Composer builds Docker images
that bundle vanilla Airflow releases with other common binaries and Python
libraries. The images include Airflow modifications that are specific to
Cloud Composer and unsuitable for the upstream Airflow codebase. The
preinstalled packages along with Cloud Composer-specific Airflow
changes are referred to collectively as
Cloud Composer releases images that include new Airflow releases and
Airflow version support
Airflow follows the semantical software versioning schema. Cloud Composer supports the last two stable minor Airflow releases and the latest two patch versions for those minor releases. For example, if the latest Airflow release is X.Y.Z, then Cloud Composer supports the following releases:
- X.Y.Z and X.Y.Z-1: The latest two patch versions for the minor release X.Y.
- X.Y-1 and X.Y-2: The last two stable minor releases. We skip the patch number and assume that the patch is the last patch number for that particular minor release.
On top of vanilla Airflow releases, the Cloud Composer image includes
some common binaries and libraries, such as open-jdk, mysql, and
google-cloud-storage. The following Cloud Composer image versioning
schema captures the
composer-addon and Airflow versions:
composer-a.b.cis the version of Cloud Composer-managed customizations
airflow-x.y.zis the vanilla Airflow release
Currently, Cloud Composer supports Cloud Composer image
versions that are pinned to the latest
composer-addon version. When you
create an Cloud Composer environment, you can use the
flag to specify the environment version in the form
Alternatively, you can use the
--airflow-version flag to specify the Airflow
version in the form
airflow-x.y.z, which creates the environment using
composer-addon version and specified Airflow version.
Cloud Composer also supports using the following version aliases:
composer-latest-airflow-x.y.zspecifies the Cloud Composer image version with the latest supported
composer-a.b.c-airflow-x.yspecifies a Cloud Composer image version that automatically expands to
zis the latest patch number.
composer-latest-airflow-x.yspecifies a Cloud Composer image version with the latest supported
composer-addonversion that automatically expands to
zis the latest patch number.
Creating a Cloud Composer environment version with
composer-latest-airflow-x.y.z does not provide an automatic version upgrade.
Instead, Cloud Composer resolves the alias
composer-a.b.c-airflow-x.y.z at creation time.
If you don't specify the image version, Cloud Composer uses the default. For the list of supported versions and the default Cloud Composer image versions used for environment creation, see the Cloud Composer Version List. For information about specifying a version during environment creation, see Creating Environments.
Version deprecation and support
Cloud Composer versions are supported for a specific period of time after the version release. During this time period, Cloud Composer environments that use these versions are supported. After the support window closes, the Cloud Composer is deprecated and environments running deprecated versions are no longer supported. Cloud Composer version support is defined as follows:
- 0-12 months from the release date: Cloud Composer environments running the version are fully supported.
- 12-18 months from the release date: Cloud Composer environments running the version are unsupported except to notify customers about security issues.
- 18+ months from the release date: Cloud Composer environments running the version are unsupported and entirely user managed.