Cloud Composer versioning overview Stay organized with collections Save and categorize content based on your preferences.
This page describes Cloud Composer versioning and lists differencesbetween major Cloud Composer versions.
Major versions of Cloud Composer
Cloud Composer has the following major versions:
- Cloud Composer 1. Has manual environment scaling, the infrastructureis deployed to your projects and networks.
- Cloud Composer 2. In this version, the environment's cluster scalesautomatically to meet the resource demands.
- Cloud Composer 3. This version has simplified network setup and hidesinfrastructure components including the environment's cluster and environment's dependencies on other services.
Comparison of Cloud Composer versions
The following table lists major differences betweenCloud Composer 1, Cloud Composer 2, and Cloud Composer 3.
| Feature | Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3 |
|---|---|---|---|
| Image version | composer-1.b.c-airflow-x.y.z | composer-2.b.c-airflow-x.y.z | composer-3-airflow-x.y.z-build.t |
| Airflow versions | Airflow 1.10.* and Airflow 2 | Airflow 2 | Airflow 2 |
| Python versions | 3.8.12 | 3.11.8 (3.11.5 and 3.8.12 in earlier versions) | 3.11.8 |
| Environment's cluster | Standard mode VPC-native or Routes-based Google Kubernetes Engine cluster | Autopilot mode VPC-native Google Kubernetes Engine cluster | Environment's cluster is not deployed into your project. |
| Horizontal scaling | Can adjust the number of nodes in the environment's cluster. This changes the number of Airflow workers. Can adjust the number of Airflow schedulers. | Automatically scaling number of Airflow workers, based on demand. Can set and change upper and lower limits for the number of workers. Can adjust the number of Airflow schedulers and triggerers | Automatically scaling number of Airflow workers, based on demand. Can set and change upper and lower limits for the number of workers. Can adjust the number of Airflow schedulers, triggerers, and DAG processors |
| Vertical scaling | Can set machine types for cluster nodes, Airflow web server and database when creating an environment. Can change machine types for Airflow web server and database. | Can set and change the workloads configuration: CPU, memory, and storage parameters for Airflow workers, schedulers, web server, and the environment size. | Can set and change the workloads configuration: CPU, memory, and storage parameters for Airflow workers, schedulers, web server, DAG processors, and the environment size. |
| Pricing model | Cloud Composer 1 pricing model | Cloud Composer 2 pricing model | Cloud Composer 3 pricing model |
| Access control | Cloud Composer 1 roles | Cloud Composer roles. Uses Workload Identity Federation for GKE and requires additional permissions for the Cloud Composer Service Agent account. | Cloud Composer roles. Uses Workload Identity Federation for GKE. Extra permissions are not required |
| Access through Workforce Identity Federation | Not supported | Supported | Supported |
| Highly Resilient environments | Not supported | Supported | Supported |
| Database retention policy | Not supported | Not yet available | Supported |
| Private IP networking | VPC peerings | Private Service Connect | Simplified network setup. Can be changed between Public and Private IP in an existing environment. |
| VPC Service Controls | Supported | Supported | Supported |
| Airflow executors | Celery Executor | Celery Executor | CeleryKubernetes Executor |
| Airflow triggerer (deferrable operators) | Not supported | Supported | Supported |
| Custom service account for KubernetesPodOperator | Supported | Supported | Not supported |
| CMEK | Supported | Supported | Supported |
| Web server access controls | Supported | Supported | Supported |
| Restarting web server | Supported | Supported | Supported |
| Web server plugins | Supported in Airflow 1 environments with disabled DAG serialization. | Supported | Supported, plugins can be disabled and enabled on demand. |
| Scheduler plugins | Not supported | Supported | Not supported |
| Listeners | Not supported | Supported | Only task-level listeners |
| TimeTables | Only Built-In | Custom and Built-In | Only Built-In |
| Scheduler custom PyPI packages | Not supported | Supported | Not supported |
| Installing custom plugins | Supported | Supported | Supported |
| Maintenance operations | All tasks can be impacted. | Tasks that take less than 55 minutes to execute are not impacted. | Tasks that take less than 24 hours to execute are not impacted. |
| Storing Snapshots | Supported for Airflow 2.x and 1.10.15 versions | Supported | Supported |
| Loading Snapshots | Not supported | Supported | Supported |
| Scheduled Snapshots | Not supported | Supported | Supported |
| Custom environment's bucket | Not supported | Supported | Supported |
| Saving Airflow task logs only in Cloud Logging | Not supported | Supported | Supported |
| Data lineage integration | Not supported | Supported | Supported |
| Composer Local Development CLI tool | Not supported | Supported | Supported |
Cloud Composer images
To run Apache Airflow, Cloud Composer builds Docker imagesthat bundle Airflow releases with other common binaries and Pythonlibraries.
Cloud Composer images include Airflow modifications that arespecific to Cloud Composer and unsuitable for the upstream Airflowcodebase. Each Cloud Composer image contains preinstalled packagesalong with Cloud Composer-specific Airflow changes.
Google periodically releasesnew Cloud Composer images:
In Cloud Composer 3, images include new builds of supported Airflowversions. You can select an Airflow version and a build that you want touse. Your environment gets Cloud Composer improvementsautomatically.
In Cloud Composer 2 and Cloud Composer 1, images includeCloud Composer improvements and new builds of supportedAirflow versions. To get Cloud Composer improvements, youupgrade your environment to a later version of Cloud Composer.
Version deprecation and support
Composer 3
Google supports anAirflow build for a period of timeafter it was released:
0-12 months from the release date: Cloud Composer 3environments running this Airflow build are supported.
12+ months from the release date: Cloud Composer 3environments running these versions are unsupported.
After an Airflow build is no longer supported, environmentsrunning this Airflow build are also unsupported and entirely user-managed.
Environments work with supported and unsupported Airflow builds in thefollowing way:
You can create environments with all Airflow builds that are supported.
You can still use an environment with an Airflow build that is no longersupported. The environment still works, you can keep using it, and you canupgrade it to asupported Airflow build.
In some cases, an upgrade to a later Airflow version or build isthe only available solution for a security vulnerability.
Composer 2
Google supportsCloud Composer 2 versions for a period oftime after the version's release:
0-12 months from the release date: Cloud Composer 2environments running these versions are supported.
12+ months from the release date: Cloud Composer 2environments running these versions are unsupported.
Important: In some cases, an upgrade to a more recentCloud Composer and Airflow version is the only availablesolution for a security vulnerability.
You can use Cloud Composer versions after the date they areno longer supported. For example, if your environment is based on aCloud Composer version that is past the support period, theenvironment still works and you can keep using it. In this case, we recommendyou toupgrade your environment to asupported version.
Composer 1
New Cloud Composer 1 versions were released until the end of March 2023.All released Cloud Composer 1 versions followthe same version deprecation policy as Cloud Composer 2 and are supportedaccording to it.
Deprecated: OnMarch 25, 2024, Cloud Composer 1 entered itspost-maintenance mode. Google will not release any further updates toCloud Composer 1, including new versions of Airflow, bugfixes, and securityupdates. OnSeptember 15, 2026, all Cloud Composer 1 environments willreach their planned end of life, and you will not be able to use them. Werecommendmigration to Cloud Composer 3.Airflow version support
Airflow followsthesemantical software versioning schema.Each version of Airflow has amajor,minor, andpatch version.
Composer 3
In Cloud Composer 3, new Airflow versions and builds become available as thetime goes.
Your environment can function with all previous Airflow versions and builds,and receives updates to its infrastructure components automatically. Eachversion and build is supported as described inVersion deprecation and support, and youcan choose to upgrade your Airflow version to a later version or build.
Composer 2
For a list of Airflow versions supported in each Cloud Composerversion, see thelist of Cloud Composer versions.
In each release, Cloud Composer 2 supportstwo minor versions of Airflow 2.
For example, Cloud Composer 2.4.0 supports Airflow 2.4.* andAirflow 2.5.*.
For each minor version of Airflow 2, Cloud Composersupports one patch version.
For example, for Airflow 2.4.*, Cloud Composer supportsAirflow 2.4.3.
When a new patch version of Airflow 2 becomes available inCloud Composer, the corresponding release hastwo patch versions of Airflow 2 available for the same minor versionof Airflow. The previous patch version is then removed in one of the nextreleases.
For example, Cloud Composer 2.3.4 supports both Airflow 2.5.1and Airflow 2.5.3.
Cloud Composer canskip some Airflow patch versions betweenreleases of Cloud Composer. In addition, if there arefunctional, quality, or performance issues with a specific patch versionof Airflow, Cloud Composer can also skip this version.
For example, Airflow 2.1.3 is skipped and Airflow 2.1.4 is available.
A Cloud Composer release running a stable Airflow version caninclude Airflow updates that are backported from a later Airflow version.
Composer 1
The latest version of Airflow supported in Cloud Composer 1 is Airflow 2.4.3.
Only Cloud Composer 1 supports Airflow 1.10.15, which is the latest releasedversion of Airflow 1.
Cloud Composer version schema
Composer 3
Cloud Composer 3 versioning schema captures Airflow versions and builds:
composer-3-airflow-x.y.z-build.t
Where:
composer-3is the major version of Cloud Composer.airflow-x.y.z.build.tis the Airflow version and build.Every next release of the same Airflow version in Cloud Composer 3 has ahigher build number. The build number is defined byCloud Composer and not by the Airflow open source project.
Composer 2
Cloud Composer 2 image versioning schema captures Cloud Composerand Airflow versions:
composer-2.b.c-airflow-x.y.z
Where:
composer-2.b.cdenotes the minor and patch version ofCloud Composer-managed customizations in Cloud Composer 2.As a general rule, minor versions of Cloud Composer correspondto significant changes in functionality compared to the previous minorversion, such as when the available set of Airflow versions is changed.Patch versions are updated in subsequent releases.airflow-x.y.zis the Airflow release, it denotes the major, minor, andpatch version of Airflow that's used in a specificCloud Composer image.
Composer 1
Cloud Composer 1 image versioning schema captures Cloud Composerand Airflow versions:
composer-1.b.c-airflow-x.y.z
Where:
composer-1.b.cis the version of Cloud Composer-managedcustomizationsairflow-x.y.zis the Airflow release
Version aliases
Version aliases work in the following way:
Cloud Composer resolves the version alias to the full format whenit creates your environment:
- All version aliases become
composer-3-airflow-x.y.z-build.tinCloud Composer 3. - All version aliases become
composer-a.b.c-airflow-x.y.zinCloud Composer 2 and Cloud Composer 1.
- All version aliases become
In Cloud Composer 3, using a version alias, such as
composer-3-airflow-x.ydoes not automatically upgrade the Airflow version and build of yourenvironment. The environment stays on the same Airflow build andversion until you upgrade it. The environment still receives automaticinfrastructure upgrades, as usual.In Cloud Composer 2 and Cloud Composer 1, using a version alias, such as
composer-a-airflow-x.y.zdoes not provide automatic upgrades for anenvironment. The environment stays on the same Cloud Composerand Airflow version until you upgrade it.
Cloud Composer 3 version aliases
Cloud Composer 3 supports the following version aliases:
| Alias | Airflow version |
|---|---|
composer-3-airflow-2 | Latest version and build of Airflow 2 |
composer-3-airflow-x.y | Latest version and build of Airflow withinx.y major and minor versions |
composer-3-airflow-x.y.z | Latest build of the specified version of Airflow |
Cloud Composer 2 version aliases
Cloud Composer 2 supports the following version aliases:
| Alias | Cloud Composer version | Airflow version |
|---|---|---|
composer-2-airflow-2 | Latest version of Cloud Composer 2 | Latest version of Airflow 2 |
composer-2-airflow-x.y | Latest version of Cloud Composer 2 | Latest version of Airflow withinx.y major and minor versions |
composer-2-airflow-x.y.z | Latest version of Cloud Composer 2 | Specified version of Airflow |
composer-2.b.c-airflow-x.y | Specified version of Cloud Composer 2 | Latest version of Airflow available withinx.y major and minor versions |
Cloud Composer 1 version aliases
Cloud Composer 1 supports the following version aliases:
| Alias | Cloud Composer version | Airflow version |
|---|---|---|
composer-1-airflow-2 | Latest version of Cloud Composer 1 | Latest version of Airflow 2 |
composer-1-airflow-1 | Latest version of Cloud Composer 1 | Latest version of Airflow 1 |
composer-1-airflow-x.y | Latest version of Cloud Composer 1 | Latest version of Airflow withinx.y major and minor versions |
composer-1-airflow-x.y.z | Latest version of Cloud Composer 1 | Specified version of Airflow |
composer-1.b.c-airflow-x.y | Specified version of Cloud Composer 1 | Latest version of Airflow available withinx.y major and minor versions. |
The following version aliases point to Cloud Composer 2. You can still usethem, but consider switching to aliases for your version ofCloud Composer.
composer-latest-airflow-x.yis equal tocomposer-2-airflow-x.y.composer-latest-airflow-x.y.zis equal tocomposer-2-airflow-x.y.z.
Version arguments in Google Cloud CLI
When youcreate orupgradea Cloud Composer environment using Google Cloud CLI, you canspecify Cloud Composer and Airflow versions:
Composer 3
--image-versionargument specifies the Airflow version and build in thecomposer-3-airflow-x.y.z-build.tformat. You can useversion aliases, which are resolved byGoogle Cloud CLI into the full format.--airflow-versionspecifies the Airflow version in the following formats:The
x.y.zformat is for the latest build of the specified version ofAirflow. This format is equal to thecomposer-3-airflow-x.y.zversion alias.The
x.yformat is for the latest build of Airflow available withinx.ymajor and minor versions. This format is equal to thecomposer-3-airflow-x.yversion alias.x.y.z-build.tis the specified version and build of Airflow. Thisformat is equal tocomposer-3-airflow-x.y.z-build.t.
Composer 2
--image-versionargument specifies Cloud Composer 2 and Airflowversions:composer-a.b.c-airflow-x.y.zformat creates an environment with thespecified versions of Cloud Composer and Airflow.- Version aliases first resolve tothe
composer-a.b.c-airflow-x.y.zformat and then create anenvironment with the specified versions of Cloud Composer 2and Airflow.
--airflow-versionspecifies the Airflow version in the following formats:The
x.y.zformat is for the latest version of Cloud Composer 2 andthe specified version of Airflow. This format is equal tothecomposer-2-airflow-x.y.zversion alias.The
x.yformat is for the latest version of Cloud Composer 2 and thelatest version of Airflow available withinx.ymajor and minorversions. This format is equal to thecomposer-2-airflow-x.yversion alias.
Composer 1
--image-versionargument specifies Cloud Composer 1 and Airflowversions:composer-a.b.c-airflow-x.y.zformat creates an environment with thespecified versions of Cloud Composer and Airflow.- Version aliases first resolve tothe
composer-a.b.c-airflow-x.y.zformat and then create anenvironment with the specified versions of Cloud Composer 1and Airflow.
--airflow-versionspecifies the Airflow version in the following formats:The
x.y.zformat is for the latest version of Cloud Composer 1 andthe specified version of Airflow. This format is equal tothecomposer-1-airflow-x.y.zversion alias.The
x.yformat is for the latest version of Cloud Composer 1 and thelatest version of Airflow available withinx.ymajor and minor versions. This format is equal to thecomposer-1-airflow-x.yversion alias.
What's next
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-11-04 UTC.