Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions PROVIDERS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,10 @@ classification, whether there are breaking changes, new features or just bugs co
Upgrading Minimum supported version of Airflow
----------------------------------------------

.. note::

The following policy applies for Airflow 2. It has not yet been finalized for Airflow 3 and is subject to changes.

One of the important limitations of the Providers released by the community is that we introduce the limit
of a minimum supported version of Airflow. The minimum version of Airflow is the ``MINOR`` version (2.4, 2.5 etc.)
indicating that the providers might use features that appeared in this release. The default support timespan
Expand All @@ -153,8 +157,8 @@ Airflow version to the next MINOR release, when 12 months passed since the first
MINOR version of Airflow.

For example this means that by default we upgrade the minimum version of Airflow supported by providers
to 2.9.0 in the first Provider's release after 8th of April 2025. 8th of April 2024 is the date when the
first ``PATCHLEVEL`` of 2.9 (2.9.0) has been released.
to 3.0.0 in the first Provider's release after 22nd of April 2026. 22nd of April 2025 is the date when the
first ``PATCHLEVEL`` version of 3.0 (3.0.0) was released.

When we increase the minimum Airflow version, this is not a reason to bump ``MAJOR`` version of the providers
(unless there are other breaking changes in the provider). The reason for that is that people who use
Expand Down
6 changes: 0 additions & 6 deletions dev/breeze/src/airflow_breeze/global_constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -687,12 +687,6 @@ def generate_provider_dependencies_if_needed():
]

PROVIDERS_COMPATIBILITY_TESTS_MATRIX: list[dict[str, str | list[str]]] = [
{
"python-version": "3.9",
"airflow-version": "2.9.3",
"remove-providers": "cloudant common.messaging fab edge3 git",
"run-tests": "true",
},
{
"python-version": "3.9",
"airflow-version": "2.10.5",
Expand Down
2 changes: 1 addition & 1 deletion dev/breeze/src/airflow_breeze/utils/packages.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
from airflow_breeze.utils.version_utils import remove_local_version_suffix
from airflow_breeze.utils.versions import get_version_tag, strip_leading_zeros_from_version

MIN_AIRFLOW_VERSION = "2.9.0"
MIN_AIRFLOW_VERSION = "2.10.0"
HTTPS_REMOTE = "apache-https-for-providers"

LONG_PROVIDERS_PREFIX = "apache-airflow-providers-"
Expand Down
4 changes: 2 additions & 2 deletions dev/breeze/tests/test_packages.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ def test_get_long_package_name():

def test_get_provider_requirements():
# update me when asana dependencies change
assert get_provider_requirements("asana") == ["apache-airflow>=2.9.0", "asana>=5.0.0"]
assert get_provider_requirements("asana") == ["apache-airflow>=2.10.0", "asana>=5.0.0"]


def test_get_removed_providers():
Expand Down Expand Up @@ -264,7 +264,7 @@ def test_validate_provider_info_with_schema():
@pytest.mark.parametrize(
"provider_id, min_version",
[
("amazon", "2.9.0"),
("amazon", "2.10.0"),
("fab", "3.0.0"),
],
)
Expand Down
2 changes: 1 addition & 1 deletion providers/airbyte/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
================== ==================
PIP package Version required
================== ==================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``airbyte-api`` ``>=0.52.0``
================== ==================

Expand Down
2 changes: 1 addition & 1 deletion providers/airbyte/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
"airbyte-api>=0.52.0",
]

Expand Down
4 changes: 2 additions & 2 deletions providers/airbyte/src/airflow/providers/airbyte/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "5.0.2"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-airbyte:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-airbyte:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/alibaba/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
============================ ==================
PIP package Version required
============================ ==================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``oss2`` ``>=2.14.0``
``alibabacloud_adb20211201`` ``>=1.0.0``
``alibabacloud_tea_openapi`` ``>=0.3.7``
Expand Down
2 changes: 1 addition & 1 deletion providers/alibaba/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
"oss2>=2.14.0",
"alibabacloud_adb20211201>=1.0.0",
"alibabacloud_tea_openapi>=0.3.7",
Expand Down
4 changes: 2 additions & 2 deletions providers/alibaba/src/airflow/providers/alibaba/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "3.0.3"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-alibaba:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-alibaba:{__version__}` needs Apache Airflow 2.10.0+"
)
6 changes: 4 additions & 2 deletions providers/amazon/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ Requirements
========================================== =====================
PIP package Version required
========================================== =====================
``apache-airflow`` ``>=2.9.0``
``apache-airflow-providers-common-compat`` ``>=1.6.0``
``apache-airflow`` ``>=2.10.0``
``apache-airflow-providers-common-compat`` ``>=1.6.1``
``apache-airflow-providers-common-sql`` ``>=1.20.0``
``apache-airflow-providers-http``
``boto3`` ``>=1.37.0``
Expand All @@ -68,7 +68,9 @@ PIP package Version required
``jmespath`` ``>=0.7.0``
``python3-saml`` ``>=1.16.0``
``xmlsec`` ``>=1.3.14,!=1.3.15``
``lxml`` ``>=5.3.2,<5.4.0``
``sagemaker-studio`` ``>=1.0.9``
``marshmallow`` ``>=3``
========================================== =====================

Cross provider package dependencies
Expand Down
2 changes: 1 addition & 1 deletion providers/amazon/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
"apache-airflow-providers-common-compat>=1.6.1",
"apache-airflow-providers-common-sql>=1.20.0",
"apache-airflow-providers-http",
Expand Down
4 changes: 2 additions & 2 deletions providers/amazon/src/airflow/providers/amazon/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "9.6.1"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/apache/beam/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
================== ======================================
PIP package Version required
================== ======================================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``apache-beam`` ``>=2.53.0; python_version < "3.12"``
``apache-beam`` ``>=2.57.0; python_version >= "3.12"``
``pyarrow`` ``>=14.0.1``
Expand Down
2 changes: 1 addition & 1 deletion providers/apache/beam/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
# Apache Beam > 2.53.0 and pyarrow > 14.0.1 fix https://nvd.nist.gov/vuln/detail/CVE-2023-47248.
'apache-beam>=2.53.0; python_version < "3.12"',
'apache-beam>=2.57.0; python_version >= "3.12"',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "6.0.4"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-apache-beam:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-apache-beam:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/apache/cassandra/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
==================== ==================
PIP package Version required
==================== ==================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``cassandra-driver`` ``>=3.29.1``
==================== ==================

Expand Down
2 changes: 1 addition & 1 deletion providers/apache/cassandra/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
"cassandra-driver>=3.29.1",
]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "3.7.2"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-apache-cassandra:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-apache-cassandra:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/apache/drill/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
======================================= ===========================
PIP package Version required
======================================= ===========================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``apache-airflow-providers-common-sql`` ``>=1.20.0``
``sqlalchemy-drill`` ``>=1.1.0,!=1.1.6,!=1.1.7``
======================================= ===========================
Expand Down
2 changes: 1 addition & 1 deletion providers/apache/drill/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
"apache-airflow-providers-common-sql>=1.20.0",
# Workaround until we get https://github.com/JohnOmernik/sqlalchemy-drill/issues/94 fixed.
"sqlalchemy-drill>=1.1.0,!=1.1.6,!=1.1.7",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "3.0.1"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-apache-drill:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-apache-drill:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/apache/druid/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
======================================= ==================
PIP package Version required
======================================= ==================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``apache-airflow-providers-common-sql`` ``>=1.20.0``
``pydruid`` ``>=0.4.1``
======================================= ==================
Expand Down
2 changes: 1 addition & 1 deletion providers/apache/druid/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
"apache-airflow-providers-common-sql>=1.20.0",
"pydruid>=0.4.1",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "4.1.1"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-apache-druid:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-apache-druid:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/apache/flink/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
============================================ ==================
PIP package Version required
============================================ ==================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``cryptography`` ``>=41.0.0``
``apache-airflow-providers-cncf-kubernetes`` ``>=5.1.0``
============================================ ==================
Expand Down
2 changes: 1 addition & 1 deletion providers/apache/flink/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
"cryptography>=41.0.0",
"apache-airflow-providers-cncf-kubernetes>=5.1.0",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "1.6.2"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-apache-flink:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-apache-flink:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/apache/hdfs/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Requirements
================================= =====================================
PIP package Version required
================================= =====================================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``hdfs[avro,dataframe,kerberos]`` ``>=2.5.4; python_version < "3.12"``
``hdfs[avro,dataframe,kerberos]`` ``>=2.7.3; python_version >= "3.12"``
``pandas`` ``>=2.1.2,<2.2``
Expand Down
2 changes: 1 addition & 1 deletion providers/apache/hdfs/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
'hdfs[avro,dataframe,kerberos]>=2.5.4;python_version<"3.12"',
'hdfs[avro,dataframe,kerberos]>=2.7.3;python_version>="3.12"',
"pandas>=2.1.2,<2.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "4.8.1"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-apache-hdfs:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-apache-hdfs:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/apache/hive/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
======================================= ==================
PIP package Version required
======================================= ==================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
``apache-airflow-providers-common-sql`` ``>=1.20.0``
``hmsclient`` ``>=0.1.0``
``pandas`` ``>=2.1.2,<2.2``
Expand Down
2 changes: 1 addition & 1 deletion providers/apache/hive/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
"apache-airflow-providers-common-sql>=1.20.0",
"hmsclient>=0.1.0",
# In pandas 2.2 minimal version of the sqlalchemy is 2.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "9.0.6"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-apache-hive:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-apache-hive:{__version__}` needs Apache Airflow 2.10.0+"
)
2 changes: 1 addition & 1 deletion providers/apache/iceberg/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Requirements
================== ==================
PIP package Version required
================== ==================
``apache-airflow`` ``>=2.9.0``
``apache-airflow`` ``>=2.10.0``
================== ==================

The changelog for the provider package can be found in the
Expand Down
2 changes: 1 addition & 1 deletion providers/apache/iceberg/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ requires-python = "~=3.9"
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
dependencies = [
"apache-airflow>=2.9.0",
"apache-airflow>=2.10.0",
]

[dependency-groups]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
__version__ = "1.2.1"

if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
"2.9.0"
"2.10.0"
):
raise RuntimeError(
f"The package `apache-airflow-providers-apache-iceberg:{__version__}` needs Apache Airflow 2.9.0+"
f"The package `apache-airflow-providers-apache-iceberg:{__version__}` needs Apache Airflow 2.10.0+"
)
Loading
Loading