This is an automated email from the ASF dual-hosted git repository. vatsrahul1001 pushed a commit to branch changes-3.3.2rc1 in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 0ec02a6292e477f5beb0fde44017e099943e6e0e Author: Rahul Vats <[email protected]> AuthorDate: Thu Sep 10 23:00:06 2026 +0530 Update version to 3.3.2 (cherry picked from commit c33323d20dd1b9c8b57365186e22804d0d643f58) --- README.md | 12 ++++++------ airflow-core/docs/installation/supported-versions.rst | 2 +- airflow-core/pyproject.toml | 4 ++-- airflow-core/src/airflow/__init__.py | 2 +- docker-stack-docs/README.md | 10 +++++----- .../extending/add-airflow-configuration/Dockerfile | 2 +- .../docker-examples/extending/add-apt-packages/Dockerfile | 2 +- .../extending/add-build-essential-extend/Dockerfile | 2 +- .../docker-examples/extending/add-providers/Dockerfile | 2 +- .../extending/add-pypi-packages-constraints/Dockerfile | 2 +- .../extending/add-pypi-packages-uv/Dockerfile | 2 +- .../docker-examples/extending/add-pypi-packages/Dockerfile | 2 +- .../docker-examples/extending/add-python-venv/Dockerfile | 2 +- .../extending/add-requirement-packages/Dockerfile | 2 +- .../docker-examples/extending/custom-providers/Dockerfile | 2 +- .../docker-examples/extending/embedding-dags/Dockerfile | 2 +- .../extending/writable-directory/Dockerfile | 2 +- docker-stack-docs/entrypoint.rst | 14 +++++++------- pyproject.toml | 6 +++--- scripts/ci/prek/supported_versions.py | 2 +- task-sdk/src/airflow/sdk/__init__.py | 2 +- 21 files changed, 39 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 8f572bbfb48..f0fcf99a780 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ Airflow is not a streaming solution, but it is often used to process real-time d Apache Airflow is tested with: -| | Main version (dev) | Stable version (3.3.1) | Deprecate version (2.11.2) | +| | Main version (dev) | Stable version (3.3.2) | Deprecate version (2.11.2) | |------------|------------------------------------|-------------------------------------|------------------------------| | Python | 3.10, 3.11, 3.12, 3.13, 3.14 | 3.10, 3.11, 3.12, 3.13, 3.14 | 3.10, 3.11, 3.12 | | Platform | AMD64/ARM64 | AMD64/ARM64 | AMD64/ARM64(\*) | @@ -174,15 +174,15 @@ them to the appropriate format and workflow that your tool requires. ```bash -pip install 'apache-airflow==3.3.1' \ - --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.3.1/constraints-3.10.txt" +pip install 'apache-airflow==3.3.2' \ + --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.3.2/constraints-3.10.txt" ``` 2. Installing with extras (i.e., postgres, google) ```bash -pip install 'apache-airflow[postgres,google]==3.3.1' \ - --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.3.1/constraints-3.10.txt" +pip install 'apache-airflow[postgres,google]==3.3.2' \ + --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.3.2/constraints-3.10.txt" ``` For information on installing provider distributions, check @@ -296,7 +296,7 @@ Apache Airflow version life cycle: | Version | Current Patch/Minor | State | First Release | Limited Maintenance | EOL/Terminated | |-----------|-----------------------|-------------|-----------------|-----------------------|------------------| -| 3 | 3.3.1 | Maintenance | Apr 22, 2025 | TBD | TBD | +| 3 | 3.3.2 | Maintenance | Apr 22, 2025 | TBD | TBD | | 2 | 2.11.2 | EOL | Dec 17, 2020 | Oct 22, 2025 | Apr 22, 2026 | | 1.10 | 1.10.15 | EOL | Aug 27, 2018 | Dec 17, 2020 | June 17, 2021 | | 1.9 | 1.9.0 | EOL | Jan 03, 2018 | Aug 27, 2018 | Aug 27, 2018 | diff --git a/airflow-core/docs/installation/supported-versions.rst b/airflow-core/docs/installation/supported-versions.rst index 2c43585ac84..837de6809de 100644 --- a/airflow-core/docs/installation/supported-versions.rst +++ b/airflow-core/docs/installation/supported-versions.rst @@ -29,7 +29,7 @@ Apache Airflow® version life cycle: ========= ===================== =========== =============== ===================== ================ Version Current Patch/Minor State First Release Limited Maintenance EOL/Terminated ========= ===================== =========== =============== ===================== ================ -3 3.3.1 Maintenance Apr 22, 2025 TBD TBD +3 3.3.2 Maintenance Apr 22, 2025 TBD TBD 2 2.11.2 EOL Dec 17, 2020 Oct 22, 2025 Apr 22, 2026 1.10 1.10.15 EOL Aug 27, 2018 Dec 17, 2020 June 17, 2021 1.9 1.9.0 EOL Jan 03, 2018 Aug 27, 2018 Aug 27, 2018 diff --git a/airflow-core/pyproject.toml b/airflow-core/pyproject.toml index 3621eb41252..0372ea09f26 100644 --- a/airflow-core/pyproject.toml +++ b/airflow-core/pyproject.toml @@ -64,7 +64,7 @@ classifiers = [ ] # Version is defined in src/airflow/__init__.py and it is automatically synchronized by prek hook -version = "3.3.1" +version = "3.3.2" dependencies = [ "a2wsgi>=1.10.8", @@ -151,7 +151,7 @@ dependencies = [ "typing-extensions>=4.14.1", "universal-pathlib>=0.3.8", "uuid6>=2024.7.10", - "apache-airflow-task-sdk==1.3.1", + "apache-airflow-task-sdk==1.3.2", # pre-installed providers "apache-airflow-providers-common-compat>=1.7.4", "apache-airflow-providers-common-io>=1.6.3", diff --git a/airflow-core/src/airflow/__init__.py b/airflow-core/src/airflow/__init__.py index 99606843156..5d1ddcf9051 100644 --- a/airflow-core/src/airflow/__init__.py +++ b/airflow-core/src/airflow/__init__.py @@ -25,7 +25,7 @@ # lib.) This is required by some IDEs to resolve the import paths. __path__ = __import__("pkgutil").extend_path(__path__, __name__) -__version__ = "3.3.1" +__version__ = "3.3.2" import os diff --git a/docker-stack-docs/README.md b/docker-stack-docs/README.md index 644d1165ebf..c2dd2aa77ac 100644 --- a/docker-stack-docs/README.md +++ b/docker-stack-docs/README.md @@ -31,12 +31,12 @@ Every time a new version of Airflow is released, the images are prepared in the [apache/airflow DockerHub](https://hub.docker.com/r/apache/airflow) for all the supported Python versions. -You can find the following images there (Assuming Airflow version `3.3.1`): +You can find the following images there (Assuming Airflow version `3.3.2`): * `apache/airflow:latest` - the latest released Airflow image with default Python version (3.12 currently) * `apache/airflow:latest-pythonX.Y` - the latest released Airflow image with specific Python version -* `apache/airflow:3.3.1` - the versioned Airflow image with default Python version (3.12 currently) -* `apache/airflow:3.3.1-pythonX.Y` - the versioned Airflow image with specific Python version +* `apache/airflow:3.3.2` - the versioned Airflow image with default Python version (3.12 currently) +* `apache/airflow:3.3.2-pythonX.Y` - the versioned Airflow image with specific Python version Those are "reference" regular images. They contain the most common set of extras, dependencies and providers that are often used by the users and they are good to "try-things-out" when you want to just take Airflow for a spin, @@ -47,8 +47,8 @@ via [Building the image](https://airflow.apache.org/docs/docker-stack/build.html * `apache/airflow:slim-latest` - the latest released Airflow image with default Python version (3.12 currently) * `apache/airflow:slim-latest-pythonX.Y` - the latest released Airflow image with specific Python version -* `apache/airflow:slim-3.3.1` - the versioned Airflow image with default Python version (3.12 currently) -* `apache/airflow:slim-3.3.1-pythonX.Y` - the versioned Airflow image with specific Python version +* `apache/airflow:slim-3.3.2` - the versioned Airflow image with default Python version (3.12 currently) +* `apache/airflow:slim-3.3.2-pythonX.Y` - the versioned Airflow image with specific Python version The Apache Airflow image provided as convenience package is optimized for size, and it provides just a bare minimal set of the extras and dependencies installed and in most cases diff --git a/docker-stack-docs/docker-examples/extending/add-airflow-configuration/Dockerfile b/docker-stack-docs/docker-examples/extending/add-airflow-configuration/Dockerfile index bc16b1c8acb..230f96be12e 100644 --- a/docker-stack-docs/docker-examples/extending/add-airflow-configuration/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-airflow-configuration/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 ENV AIRFLOW__CORE__LOAD_EXAMPLES=True ENV AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string # [END Dockerfile] diff --git a/docker-stack-docs/docker-examples/extending/add-apt-packages/Dockerfile b/docker-stack-docs/docker-examples/extending/add-apt-packages/Dockerfile index 5724d8b92bd..a0ca5db46ef 100644 --- a/docker-stack-docs/docker-examples/extending/add-apt-packages/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-apt-packages/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 USER root RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/docker-stack-docs/docker-examples/extending/add-build-essential-extend/Dockerfile b/docker-stack-docs/docker-examples/extending/add-build-essential-extend/Dockerfile index abdbc091f78..77fcc4eeef7 100644 --- a/docker-stack-docs/docker-examples/extending/add-build-essential-extend/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-build-essential-extend/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 USER root RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/docker-stack-docs/docker-examples/extending/add-providers/Dockerfile b/docker-stack-docs/docker-examples/extending/add-providers/Dockerfile index 8702888356a..9626380ddb3 100644 --- a/docker-stack-docs/docker-examples/extending/add-providers/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-providers/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 USER root RUN apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/docker-stack-docs/docker-examples/extending/add-pypi-packages-constraints/Dockerfile b/docker-stack-docs/docker-examples/extending/add-pypi-packages-constraints/Dockerfile index 723bdde578a..b33c3421faf 100644 --- a/docker-stack-docs/docker-examples/extending/add-pypi-packages-constraints/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-pypi-packages-constraints/Dockerfile @@ -17,6 +17,6 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 RUN pip install --no-cache-dir "apache-airflow==${AIRFLOW_VERSION}" lxml --constraint "${HOME}/constraints.txt" # [END Dockerfile] diff --git a/docker-stack-docs/docker-examples/extending/add-pypi-packages-uv/Dockerfile b/docker-stack-docs/docker-examples/extending/add-pypi-packages-uv/Dockerfile index afca4cc074f..3e97a84359f 100644 --- a/docker-stack-docs/docker-examples/extending/add-pypi-packages-uv/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-pypi-packages-uv/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 # The `uv` tools is Rust packaging tool that is much faster than `pip` and other installers # Support for uv as installation tool is experimental diff --git a/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile b/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile index e82219d02e0..58b6eeb429b 100644 --- a/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile @@ -17,6 +17,6 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 RUN pip install --no-cache-dir "apache-airflow==${AIRFLOW_VERSION}" lxml # [END Dockerfile] diff --git a/docker-stack-docs/docker-examples/extending/add-python-venv/Dockerfile b/docker-stack-docs/docker-examples/extending/add-python-venv/Dockerfile index 29fe1a21654..a9260b98703 100644 --- a/docker-stack-docs/docker-examples/extending/add-python-venv/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-python-venv/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 COPY requirements.txt / RUN python -m venv /opt/airflow/venv \ && /opt/airflow/venv/bin/pip install --no-cache-dir -r /requirements.txt diff --git a/docker-stack-docs/docker-examples/extending/add-requirement-packages/Dockerfile b/docker-stack-docs/docker-examples/extending/add-requirement-packages/Dockerfile index 1ebdd92726c..f5bbc0c486c 100644 --- a/docker-stack-docs/docker-examples/extending/add-requirement-packages/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/add-requirement-packages/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 COPY requirements.txt / RUN pip install --no-cache-dir "apache-airflow==${AIRFLOW_VERSION}" -r /requirements.txt # [END Dockerfile] diff --git a/docker-stack-docs/docker-examples/extending/custom-providers/Dockerfile b/docker-stack-docs/docker-examples/extending/custom-providers/Dockerfile index f08bc006a63..705279ec3e2 100644 --- a/docker-stack-docs/docker-examples/extending/custom-providers/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/custom-providers/Dockerfile @@ -17,6 +17,6 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 RUN pip install "apache-airflow==${AIRFLOW_VERSION}" --no-cache-dir apache-airflow-providers-docker==2.5.1 # [END Dockerfile] diff --git a/docker-stack-docs/docker-examples/extending/embedding-dags/Dockerfile b/docker-stack-docs/docker-examples/extending/embedding-dags/Dockerfile index 70f30f6d98a..d2e6455d1ce 100644 --- a/docker-stack-docs/docker-examples/extending/embedding-dags/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/embedding-dags/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 COPY --chown=airflow:root test_dag.py /opt/airflow/dags diff --git a/docker-stack-docs/docker-examples/extending/writable-directory/Dockerfile b/docker-stack-docs/docker-examples/extending/writable-directory/Dockerfile index 934abb76f86..f770221e3bb 100644 --- a/docker-stack-docs/docker-examples/extending/writable-directory/Dockerfile +++ b/docker-stack-docs/docker-examples/extending/writable-directory/Dockerfile @@ -17,7 +17,7 @@ # This is an example Dockerfile. It is not intended for PRODUCTION use # [START Dockerfile] -FROM apache/airflow:3.3.1 +FROM apache/airflow:3.3.2 RUN umask 0002; \ mkdir -p ~/writeable-directory # [END Dockerfile] diff --git a/docker-stack-docs/entrypoint.rst b/docker-stack-docs/entrypoint.rst index afff13ca41d..eedc3ac9dd8 100644 --- a/docker-stack-docs/entrypoint.rst +++ b/docker-stack-docs/entrypoint.rst @@ -132,7 +132,7 @@ if you specify extra arguments. For example: .. code-block:: bash - docker run -it apache/airflow:3.3.1-python3.10 bash -c "ls -la" + docker run -it apache/airflow:3.3.2-python3.10 bash -c "ls -la" total 16 drwxr-xr-x 4 airflow root 4096 Jun 5 18:12 . drwxr-xr-x 1 root root 4096 Jun 5 18:12 .. @@ -144,7 +144,7 @@ you pass extra parameters. For example: .. code-block:: bash - > docker run -it apache/airflow:3.3.1-python3.10 python -c "print('test')" + > docker run -it apache/airflow:3.3.2-python3.10 python -c "print('test')" test If first argument equals to ``airflow`` - the rest of the arguments is treated as an Airflow command @@ -152,13 +152,13 @@ to execute. Example: .. code-block:: bash - docker run -it apache/airflow:3.3.1-python3.10 airflow webserver + docker run -it apache/airflow:3.3.2-python3.10 airflow webserver If there are any other arguments - they are simply passed to the "airflow" command .. code-block:: bash - > docker run -it apache/airflow:3.3.1-python3.10 help + > docker run -it apache/airflow:3.3.2-python3.10 help usage: airflow [-h] GROUP_OR_COMMAND ... Positional Arguments: @@ -366,7 +366,7 @@ database and creating an ``admin/admin`` Admin user with the following command: --env "_AIRFLOW_DB_MIGRATE=true" \ --env "_AIRFLOW_WWW_USER_CREATE=true" \ --env "_AIRFLOW_WWW_USER_PASSWORD=admin" \ - apache/airflow:3.3.1-python3.10 webserver + apache/airflow:3.3.2-python3.10 webserver .. code-block:: bash @@ -375,7 +375,7 @@ database and creating an ``admin/admin`` Admin user with the following command: --env "_AIRFLOW_DB_MIGRATE=true" \ --env "_AIRFLOW_WWW_USER_CREATE=true" \ --env "_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin" \ - apache/airflow:3.3.1-python3.10 webserver + apache/airflow:3.3.2-python3.10 webserver The commands above perform initialization of the SQLite database, create admin user with admin password and Admin role. They also forward local port ``8080`` to the webserver port and finally start the webserver. @@ -415,6 +415,6 @@ Example: --env "_AIRFLOW_DB_MIGRATE=true" \ --env "_AIRFLOW_WWW_USER_CREATE=true" \ --env "_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin" \ - apache/airflow:3.3.1-python3.10 webserver + apache/airflow:3.3.2-python3.10 webserver This method is only available starting from Docker image of Airflow 2.1.1 and above. diff --git a/pyproject.toml b/pyproject.toml index be55a72d7de..ec11d393648 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,11 +56,11 @@ classifiers = [ ] # Version is defined in src/airflow/__init__.py and it is automatically synchronized by prek -version = "3.3.1" +version = "3.3.2" dependencies = [ - "apache-airflow-task-sdk==1.3.1", - "apache-airflow-core==3.3.1", + "apache-airflow-task-sdk==1.3.2", + "apache-airflow-core==3.3.2", ] packages = [] diff --git a/scripts/ci/prek/supported_versions.py b/scripts/ci/prek/supported_versions.py index c438e11d1b4..2e218381c1f 100755 --- a/scripts/ci/prek/supported_versions.py +++ b/scripts/ci/prek/supported_versions.py @@ -39,7 +39,7 @@ HEADERS = ( ) SUPPORTED_VERSIONS = ( - ("3", "3.3.1", "Maintenance", "Apr 22, 2025", "TBD", "TBD"), + ("3", "3.3.2", "Maintenance", "Apr 22, 2025", "TBD", "TBD"), ("2", "2.11.2", "EOL", "Dec 17, 2020", "Oct 22, 2025", "Apr 22, 2026"), ("1.10", "1.10.15", "EOL", "Aug 27, 2018", "Dec 17, 2020", "June 17, 2021"), ("1.9", "1.9.0", "EOL", "Jan 03, 2018", "Aug 27, 2018", "Aug 27, 2018"), diff --git a/task-sdk/src/airflow/sdk/__init__.py b/task-sdk/src/airflow/sdk/__init__.py index bfe39fb61d5..b1e0ec5c1b5 100644 --- a/task-sdk/src/airflow/sdk/__init__.py +++ b/task-sdk/src/airflow/sdk/__init__.py @@ -119,7 +119,7 @@ __all__ = [ "teardown", ] -__version__ = "1.3.1" +__version__ = "1.3.2" if TYPE_CHECKING: from airflow.sdk.api.datamodels._generated import DagRunState, TaskInstanceState, TriggerRule, WeightRule
