This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a commit to branch v2-9-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 7e46acb11c21bf944ad77b0293258fdb932197da
Author: Ephraim Anierobi <[email protected]>
AuthorDate: Wed Mar 20 16:59:27 2024 +0100

    Update version to 2.9.0
---
 README.md                                                  | 14 +++++++-------
 airflow/__init__.py                                        |  2 +-
 airflow/api_connexion/openapi/v1.yaml                      |  2 +-
 dev/breeze/doc/images/output_ci-image_build.txt            |  2 +-
 dev/breeze/doc/images/output_ci_selective-check.svg        |  4 ++--
 dev/breeze/doc/images/output_ci_selective-check.txt        |  2 +-
 dev/breeze/doc/images/output_prod-image_build.txt          |  2 +-
 ...output_release-management_install-provider-packages.txt |  2 +-
 .../output_release-management_verify-provider-packages.txt |  2 +-
 dev/breeze/doc/images/output_shell.txt                     |  2 +-
 dev/breeze/doc/images/output_start-airflow.txt             |  2 +-
 docs/apache-airflow/installation/supported-versions.rst    |  2 +-
 docs/docker-stack/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 +-
 .../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 +-
 docs/docker-stack/entrypoint.rst                           | 14 +++++++-------
 generated/PYPI_README.md                                   | 12 ++++++------
 scripts/ci/pre_commit/pre_commit_supported_versions.py     |  2 +-
 27 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/README.md b/README.md
index 422168355a..609553c6e9 100644
--- a/README.md
+++ b/README.md
@@ -98,9 +98,9 @@ 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 (2.8.3)      |
+|             | Main version (dev)           | Stable version (2.9.0)      |
 |-------------|------------------------------|-----------------------------|
-| Python      | 3.8, 3.9, 3.10, 3.11, 3.12   | 3.8, 3.9, 3.10, 3.11        |
+| Python      | 3.8, 3.9, 3.10, 3.11, 3.12   | 3.8, 3.9, 3.10, 3.11, 3.12  |
 | Platform    | AMD64/ARM64(\*)              | AMD64/ARM64(\*)             |
 | Kubernetes  | 1.25, 1.26, 1.27, 1.28, 1.29 | 1.25, 1.26, 1.27, 1.28, 1.29|
 | PostgreSQL  | 12, 13, 14, 15, 16           | 12, 13, 14, 15, 16          |
@@ -180,15 +180,15 @@ them to the appropriate format and workflow that your 
tool requires.
 
 
 ```bash
-pip install 'apache-airflow==2.8.3' \
- --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-2.8.3/constraints-3.8.txt";
+pip install 'apache-airflow==2.9.0' \
+ --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-2.9.0/constraints-3.8.txt";
 ```
 
 2. Installing with extras (i.e., postgres, google)
 
 ```bash
-pip install 'apache-airflow[postgres,google]==2.8.3' \
- --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-2.8.3/constraints-3.8.txt";
+pip install 'apache-airflow[postgres,google]==2.9.0' \
+ --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-2.9.0/constraints-3.8.txt";
 ```
 
 For information on installing provider packages, check
@@ -293,7 +293,7 @@ Apache Airflow version life cycle:
 
 | Version   | Current Patch/Minor   | State     | First Release   | Limited 
Support   | EOL/Terminated   |
 
|-----------|-----------------------|-----------|-----------------|-------------------|------------------|
-| 2         | 2.8.3                 | Supported | Dec 17, 2020    | TBD        
       | TBD              |
+| 2         | 2.9.0                 | Supported | Dec 17, 2020    | TBD        
       | TBD              |
 | 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     |
 | 1.8       | 1.8.2                 | EOL       | Mar 19, 2017    | Jan 03, 
2018      | Jan 03, 2018     |
diff --git a/airflow/__init__.py b/airflow/__init__.py
index 6b06293876..f3aa6c3277 100644
--- a/airflow/__init__.py
+++ b/airflow/__init__.py
@@ -17,7 +17,7 @@
 # under the License.
 from __future__ import annotations
 
-__version__ = "2.9.0.dev0"
+__version__ = "2.9.0"
 
 import os
 import sys
diff --git a/airflow/api_connexion/openapi/v1.yaml 
b/airflow/api_connexion/openapi/v1.yaml
index 4d8a48e04f..6a9c64ad14 100644
--- a/airflow/api_connexion/openapi/v1.yaml
+++ b/airflow/api_connexion/openapi/v1.yaml
@@ -231,7 +231,7 @@ info:
     This means that the server encountered an unexpected condition that 
prevented it from
     fulfilling the request.
 
-  version: "2.9.0.dev0"
+  version: "2.9.0"
   license:
     name: Apache 2.0
     url: http://www.apache.org/licenses/LICENSE-2.0.html
diff --git a/dev/breeze/doc/images/output_ci-image_build.txt 
b/dev/breeze/doc/images/output_ci-image_build.txt
index 782ff33f9c..2982deaaf5 100644
--- a/dev/breeze/doc/images/output_ci-image_build.txt
+++ b/dev/breeze/doc/images/output_ci-image_build.txt
@@ -1 +1 @@
-eeb71cb74afe5c0a59ea3236626c79e6
+1bed239404de42d2ba8e4d1cf398af78
diff --git a/dev/breeze/doc/images/output_ci_selective-check.svg 
b/dev/breeze/doc/images/output_ci_selective-check.svg
index 2ec3ba6a04..cd4a7188a2 100644
--- a/dev/breeze/doc/images/output_ci_selective-check.svg
+++ b/dev/breeze/doc/images/output_ci_selective-check.svg
@@ -140,9 +140,9 @@
 </text><text class="breeze-ci-selective-check-r5" x="0" y="142" 
textLength="24.4" 
clip-path="url(#breeze-ci-selective-check-line-5)">╭─</text><text 
class="breeze-ci-selective-check-r5" x="24.4" y="142" textLength="280.6" 
clip-path="url(#breeze-ci-selective-check-line-5)">&#160;Selective&#160;check&#160;flags&#160;</text><text
 class="breeze-ci-selective-check-r5" x="305" y="142" textLength="1134.6" 
clip-path="url(#breeze-ci-selective-check-line-5)">────────────────────────────────────────
 [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="166.4" 
textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-6)">│</text><text 
class="breeze-ci-selective-check-r4" x="24.4" y="166.4" textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-6)">-</text><text 
class="breeze-ci-selective-check-r4" x="36.6" y="166.4" textLength="85.4" 
clip-path="url(#breeze-ci-selective-check-line-6)">-commit</text><text 
class="breeze-ci-selective-check-r4" x="122" y="166.4" text [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="190.8" 
textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-7)">│</text><text 
class="breeze-ci-selective-check-r4" x="24.4" y="190.8" textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-7)">-</text><text 
class="breeze-ci-selective-check-r4" x="36.6" y="190.8" textLength="36.6" 
clip-path="url(#breeze-ci-selective-check-line-7)">-pr</text><text 
class="breeze-ci-selective-check-r4" x="73.2" y="190.8" textLen [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="215.2" 
textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-8)">│</text><text 
class="breeze-ci-selective-check-r4" x="24.4" y="215.2" textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-8)">-</text><text 
class="breeze-ci-selective-check-r4" x="36.6" y="215.2" textLength="97.6" 
clip-path="url(#breeze-ci-selective-check-line-8)">-default</text><text 
class="breeze-ci-selective-check-r4" x="134.2" y="215.2" t [...]
+</text><text class="breeze-ci-selective-check-r5" x="0" y="215.2" 
textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-8)">│</text><text 
class="breeze-ci-selective-check-r4" x="24.4" y="215.2" textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-8)">-</text><text 
class="breeze-ci-selective-check-r4" x="36.6" y="215.2" textLength="97.6" 
clip-path="url(#breeze-ci-selective-check-line-8)">-default</text><text 
class="breeze-ci-selective-check-r4" x="134.2" y="215.2" t [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="239.6" 
textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-9)">│</text><text 
class="breeze-ci-selective-check-r4" x="24.4" y="239.6" textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-9)">-</text><text 
class="breeze-ci-selective-check-r4" x="36.6" y="239.6" textLength="97.6" 
clip-path="url(#breeze-ci-selective-check-line-9)">-default</text><text 
class="breeze-ci-selective-check-r4" x="134.2" y="239.6" t [...]
-</text><text class="breeze-ci-selective-check-r5" x="0" y="264" 
textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-10)">│</text><text 
class="breeze-ci-selective-check-r5" x="414.8" y="264" textLength="646.6" 
clip-path="url(#breeze-ci-selective-check-line-10)">[default:&#160;constraints-main]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-ci- [...]
+</text><text class="breeze-ci-selective-check-r5" x="0" y="264" 
textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-10)">│</text><text 
class="breeze-ci-selective-check-r5" x="414.8" y="264" textLength="646.6" 
clip-path="url(#breeze-ci-selective-check-line-10)">[default:&#160;constraints-2-9]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breez [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="288.4" 
textLength="1464" 
clip-path="url(#breeze-ci-selective-check-line-11)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-ci-selective-check-r1" x="1464" y="288.4" textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-11)">
 </text><text class="breeze-ci-selective-check-r5" x="0" y="312.8" 
textLength="24.4" 
clip-path="url(#breeze-ci-selective-check-line-12)">╭─</text><text 
class="breeze-ci-selective-check-r5" x="24.4" y="312.8" textLength="231.8" 
clip-path="url(#breeze-ci-selective-check-line-12)">&#160;Github&#160;parameters&#160;</text><text
 class="breeze-ci-selective-check-r5" x="256.2" y="312.8" textLength="1183.4" 
clip-path="url(#breeze-ci-selective-check-line-12)">──────────────────────────────────────
 [...]
 </text><text class="breeze-ci-selective-check-r5" x="0" y="337.2" 
textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-13)">│</text><text 
class="breeze-ci-selective-check-r4" x="24.4" y="337.2" textLength="12.2" 
clip-path="url(#breeze-ci-selective-check-line-13)">-</text><text 
class="breeze-ci-selective-check-r4" x="36.6" y="337.2" textLength="85.4" 
clip-path="url(#breeze-ci-selective-check-line-13)">-github</text><text 
class="breeze-ci-selective-check-r4" x="122" y="337.2" t [...]
diff --git a/dev/breeze/doc/images/output_ci_selective-check.txt 
b/dev/breeze/doc/images/output_ci_selective-check.txt
index 22984f7955..119fc2273f 100644
--- a/dev/breeze/doc/images/output_ci_selective-check.txt
+++ b/dev/breeze/doc/images/output_ci_selective-check.txt
@@ -1 +1 @@
-6657ed5d42affb7264b5efcc86f17a2a
+9df6450427d6d8b92c127264451656e1
diff --git a/dev/breeze/doc/images/output_prod-image_build.txt 
b/dev/breeze/doc/images/output_prod-image_build.txt
index 69f3356375..fa87fd26d5 100644
--- a/dev/breeze/doc/images/output_prod-image_build.txt
+++ b/dev/breeze/doc/images/output_prod-image_build.txt
@@ -1 +1 @@
-02caedd41d15c13971d75d87a57498df
+eb74e3b9fad64035090e6b945455213c
diff --git 
a/dev/breeze/doc/images/output_release-management_install-provider-packages.txt 
b/dev/breeze/doc/images/output_release-management_install-provider-packages.txt
index 0126dd0c7a..e62d7f2825 100644
--- 
a/dev/breeze/doc/images/output_release-management_install-provider-packages.txt
+++ 
b/dev/breeze/doc/images/output_release-management_install-provider-packages.txt
@@ -1 +1 @@
-5074c71f3f66e53ed0d5cb923a50663d
+13bb55b2124b0b267174e85a3d5f01df
diff --git 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
index 5b620200a7..a786e91bb5 100644
--- 
a/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
+++ 
b/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
@@ -1 +1 @@
-e86b7f1c3009f696b1ad9f027682d483
+e4668795fa584334051313815882a330
diff --git a/dev/breeze/doc/images/output_shell.txt 
b/dev/breeze/doc/images/output_shell.txt
index f51fc212f7..1b0181c602 100644
--- a/dev/breeze/doc/images/output_shell.txt
+++ b/dev/breeze/doc/images/output_shell.txt
@@ -1 +1 @@
-e2155a551cbd0ac33b7e1f3ddfed34f4
+54d6f9976022a728cfd41f351e3db280
diff --git a/dev/breeze/doc/images/output_start-airflow.txt 
b/dev/breeze/doc/images/output_start-airflow.txt
index 2d01e3ec61..f303517fef 100644
--- a/dev/breeze/doc/images/output_start-airflow.txt
+++ b/dev/breeze/doc/images/output_start-airflow.txt
@@ -1 +1 @@
-bdc07b607fe352a291f387be297e78c7
+105c0d2fc4501f94e22e50317b258bb9
diff --git a/docs/apache-airflow/installation/supported-versions.rst 
b/docs/apache-airflow/installation/supported-versions.rst
index 2d53aa8bb7..e105909838 100644
--- a/docs/apache-airflow/installation/supported-versions.rst
+++ b/docs/apache-airflow/installation/supported-versions.rst
@@ -29,7 +29,7 @@ Apache Airflow™ version life cycle:
 =========  =====================  =========  ===============  
=================  ================
 Version    Current Patch/Minor    State      First Release    Limited Support  
  EOL/Terminated
 =========  =====================  =========  ===============  
=================  ================
-2          2.8.3                  Supported  Dec 17, 2020     TBD              
  TBD
+2          2.9.0                  Supported  Dec 17, 2020     TBD              
  TBD
 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
 1.8        1.8.2                  EOL        Mar 19, 2017     Jan 03, 2018     
  Jan 03, 2018
diff --git a/docs/docker-stack/README.md b/docs/docker-stack/README.md
index 9b58311ad1..0a52bcabaa 100644
--- a/docs/docker-stack/README.md
+++ b/docs/docker-stack/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 
`2.9.0.dev0`):
+You can find the following images there (Assuming Airflow version `2.9.0`):
 
 * `apache/airflow:latest` - the latest released Airflow image with default 
Python version (3.8 currently)
 * `apache/airflow:latest-pythonX.Y` - the latest released Airflow image with 
specific Python version
-* `apache/airflow:2.9.0.dev0` - the versioned Airflow image with default 
Python version (3.8 currently)
-* `apache/airflow:2.9.0.dev0-pythonX.Y` - the versioned Airflow image with 
specific Python version
+* `apache/airflow:2.9.0` - the versioned Airflow image with default Python 
version (3.8 currently)
+* `apache/airflow:2.9.0-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.8 currently)
 * `apache/airflow:slim-latest-pythonX.Y`    - the latest released Airflow 
image with specific Python version
-* `apache/airflow:slim-2.9.0.dev0`           - the versioned Airflow image 
with default Python version (3.8 currently)
-* `apache/airflow:slim-2.9.0.dev0-pythonX.Y` - the versioned Airflow image 
with specific Python version
+* `apache/airflow:slim-2.9.0`           - the versioned Airflow image with 
default Python version (3.8 currently)
+* `apache/airflow:slim-2.9.0-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/docs/docker-stack/docker-examples/extending/add-airflow-configuration/Dockerfile
 
b/docs/docker-stack/docker-examples/extending/add-airflow-configuration/Dockerfile
index a4a61f2431..ad059586bc 100644
--- 
a/docs/docker-stack/docker-examples/extending/add-airflow-configuration/Dockerfile
+++ 
b/docs/docker-stack/docker-examples/extending/add-airflow-configuration/Dockerfile
@@ -15,7 +15,7 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 ENV AIRFLOW__CORE__LOAD_EXAMPLES=True
 ENV AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
 # [END Dockerfile]
diff --git 
a/docs/docker-stack/docker-examples/extending/add-apt-packages/Dockerfile 
b/docs/docker-stack/docker-examples/extending/add-apt-packages/Dockerfile
index 9636b7004a..30da6ab8bb 100644
--- a/docs/docker-stack/docker-examples/extending/add-apt-packages/Dockerfile
+++ b/docs/docker-stack/docker-examples/extending/add-apt-packages/Dockerfile
@@ -15,7 +15,7 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 USER root
 RUN apt-get update \
   && apt-get install -y --no-install-recommends \
diff --git 
a/docs/docker-stack/docker-examples/extending/add-build-essential-extend/Dockerfile
 
b/docs/docker-stack/docker-examples/extending/add-build-essential-extend/Dockerfile
index 43a885c1d7..bf6f91a40d 100644
--- 
a/docs/docker-stack/docker-examples/extending/add-build-essential-extend/Dockerfile
+++ 
b/docs/docker-stack/docker-examples/extending/add-build-essential-extend/Dockerfile
@@ -15,7 +15,7 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 USER root
 RUN apt-get update \
   && apt-get install -y --no-install-recommends \
diff --git 
a/docs/docker-stack/docker-examples/extending/add-providers/Dockerfile 
b/docs/docker-stack/docker-examples/extending/add-providers/Dockerfile
index d64f793de1..f247a5ed2f 100644
--- a/docs/docker-stack/docker-examples/extending/add-providers/Dockerfile
+++ b/docs/docker-stack/docker-examples/extending/add-providers/Dockerfile
@@ -15,7 +15,7 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 USER root
 RUN apt-get update \
   && apt-get install -y --no-install-recommends \
diff --git 
a/docs/docker-stack/docker-examples/extending/add-pypi-packages-constraints/Dockerfile
 
b/docs/docker-stack/docker-examples/extending/add-pypi-packages-constraints/Dockerfile
index cd7baf973c..7eb7663f74 100644
--- 
a/docs/docker-stack/docker-examples/extending/add-pypi-packages-constraints/Dockerfile
+++ 
b/docs/docker-stack/docker-examples/extending/add-pypi-packages-constraints/Dockerfile
@@ -15,6 +15,6 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 RUN pip install --no-cache-dir "apache-airflow==${AIRFLOW_VERSION}" lxml 
--constraint "${HOME}/constraints.txt"
 # [END Dockerfile]
diff --git 
a/docs/docker-stack/docker-examples/extending/add-pypi-packages-uv/Dockerfile 
b/docs/docker-stack/docker-examples/extending/add-pypi-packages-uv/Dockerfile
index 7cf6066842..f90581b5ff 100644
--- 
a/docs/docker-stack/docker-examples/extending/add-pypi-packages-uv/Dockerfile
+++ 
b/docs/docker-stack/docker-examples/extending/add-pypi-packages-uv/Dockerfile
@@ -15,7 +15,7 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 
 # The `uv` tools is Rust packaging tool that is much faster than `pip` and 
other installer
 # Support for uv as installation tool is experimental
diff --git 
a/docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerfile 
b/docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerfile
index 46858d6414..b6f85bee16 100644
--- a/docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerfile
+++ b/docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerfile
@@ -15,6 +15,6 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 RUN pip install --no-cache-dir "apache-airflow==${AIRFLOW_VERSION}" lxml
 # [END Dockerfile]
diff --git 
a/docs/docker-stack/docker-examples/extending/add-requirement-packages/Dockerfile
 
b/docs/docker-stack/docker-examples/extending/add-requirement-packages/Dockerfile
index bbaac1e979..4c8383985b 100644
--- 
a/docs/docker-stack/docker-examples/extending/add-requirement-packages/Dockerfile
+++ 
b/docs/docker-stack/docker-examples/extending/add-requirement-packages/Dockerfile
@@ -15,7 +15,7 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 COPY requirements.txt /
 RUN pip install --no-cache-dir "apache-airflow==${AIRFLOW_VERSION}" -r 
/requirements.txt
 # [END Dockerfile]
diff --git 
a/docs/docker-stack/docker-examples/extending/custom-providers/Dockerfile 
b/docs/docker-stack/docker-examples/extending/custom-providers/Dockerfile
index a2752b25a6..7662b5946a 100644
--- a/docs/docker-stack/docker-examples/extending/custom-providers/Dockerfile
+++ b/docs/docker-stack/docker-examples/extending/custom-providers/Dockerfile
@@ -15,6 +15,6 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 RUN pip install "apache-airflow==${AIRFLOW_VERSION}" --no-cache-dir 
apache-airflow-providers-docker==2.5.1
 # [END Dockerfile]
diff --git 
a/docs/docker-stack/docker-examples/extending/embedding-dags/Dockerfile 
b/docs/docker-stack/docker-examples/extending/embedding-dags/Dockerfile
index 7b79a5a7ba..89bdec1feb 100644
--- a/docs/docker-stack/docker-examples/extending/embedding-dags/Dockerfile
+++ b/docs/docker-stack/docker-examples/extending/embedding-dags/Dockerfile
@@ -15,7 +15,7 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 
 COPY --chown=airflow:root test_dag.py /opt/airflow/dags
 
diff --git 
a/docs/docker-stack/docker-examples/extending/writable-directory/Dockerfile 
b/docs/docker-stack/docker-examples/extending/writable-directory/Dockerfile
index 1f7c0caab2..9ef25916ea 100644
--- a/docs/docker-stack/docker-examples/extending/writable-directory/Dockerfile
+++ b/docs/docker-stack/docker-examples/extending/writable-directory/Dockerfile
@@ -15,7 +15,7 @@
 
 # This is an example Dockerfile. It is not intended for PRODUCTION use
 # [START Dockerfile]
-FROM apache/airflow:2.9.0.dev0
+FROM apache/airflow:2.9.0
 RUN umask 0002; \
     mkdir -p ~/writeable-directory
 # [END Dockerfile]
diff --git a/docs/docker-stack/entrypoint.rst b/docs/docker-stack/entrypoint.rst
index c35b940bb2..e039bc8b56 100644
--- a/docs/docker-stack/entrypoint.rst
+++ b/docs/docker-stack/entrypoint.rst
@@ -132,7 +132,7 @@ if you specify extra arguments. For example:
 
 .. code-block:: bash
 
-  docker run -it apache/airflow:2.9.0.dev0-python3.8 bash -c "ls -la"
+  docker run -it apache/airflow:2.9.0-python3.8 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:2.9.0.dev0-python3.8 python -c 
"print('test')"
+  > docker run -it apache/airflow:2.9.0-python3.8 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:2.9.0.dev0-python3.8 airflow webserver
+   docker run -it apache/airflow:2.9.0-python3.8 airflow webserver
 
 If there are any other arguments - they are simply passed to the "airflow" 
command
 
 .. code-block:: bash
 
-  > docker run -it apache/airflow:2.9.0.dev0-python3.8 help
+  > docker run -it apache/airflow:2.9.0-python3.8 help
     usage: airflow [-h] GROUP_OR_COMMAND ...
 
     positional arguments:
@@ -363,7 +363,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:2.9.0.dev0-python3.8 webserver
+      apache/airflow:2.9.0-python3.8 webserver
 
 
 .. code-block:: bash
@@ -372,7 +372,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:2.9.0.dev0-python3.8 webserver
+      apache/airflow:2.9.0-python3.8 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.
@@ -412,6 +412,6 @@ Example:
     --env "_AIRFLOW_DB_MIGRATE=true" \
     --env "_AIRFLOW_WWW_USER_CREATE=true" \
     --env "_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin" \
-      apache/airflow:2.9.0.dev0-python3.8 webserver
+      apache/airflow:2.9.0-python3.8 webserver
 
 This method is only available starting from Docker image of Airflow 2.1.1 and 
above.
diff --git a/generated/PYPI_README.md b/generated/PYPI_README.md
index f1e81bec8e..b5c2d4af70 100644
--- a/generated/PYPI_README.md
+++ b/generated/PYPI_README.md
@@ -54,9 +54,9 @@ Use Airflow to author workflows as directed acyclic graphs 
(DAGs) of tasks. The
 
 Apache Airflow is tested with:
 
-|             | Main version (dev)           | Stable version (2.8.3)      |
+|             | Main version (dev)           | Stable version (2.9.0)      |
 |-------------|------------------------------|-----------------------------|
-| Python      | 3.8, 3.9, 3.10, 3.11, 3.12   | 3.8, 3.9, 3.10, 3.11        |
+| Python      | 3.8, 3.9, 3.10, 3.11, 3.12   | 3.8, 3.9, 3.10, 3.11, 3.12  |
 | Platform    | AMD64/ARM64(\*)              | AMD64/ARM64(\*)             |
 | Kubernetes  | 1.25, 1.26, 1.27, 1.28, 1.29 | 1.25, 1.26, 1.27, 1.28, 1.29|
 | PostgreSQL  | 12, 13, 14, 15, 16           | 12, 13, 14, 15, 16          |
@@ -132,15 +132,15 @@ them to the appropriate format and workflow that your 
tool requires.
 
 
 ```bash
-pip install 'apache-airflow==2.8.3' \
- --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-2.8.3/constraints-3.8.txt";
+pip install 'apache-airflow==2.9.0' \
+ --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-2.9.0/constraints-3.8.txt";
 ```
 
 2. Installing with extras (i.e., postgres, google)
 
 ```bash
-pip install 'apache-airflow[postgres,google]==2.8.3' \
- --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-2.8.3/constraints-3.8.txt";
+pip install 'apache-airflow[postgres,google]==2.9.0' \
+ --constraint 
"https://raw.githubusercontent.com/apache/airflow/constraints-2.9.0/constraints-3.8.txt";
 ```
 
 For information on installing provider packages, check
diff --git a/scripts/ci/pre_commit/pre_commit_supported_versions.py 
b/scripts/ci/pre_commit/pre_commit_supported_versions.py
index 78f863519a..3354af2cfe 100755
--- a/scripts/ci/pre_commit/pre_commit_supported_versions.py
+++ b/scripts/ci/pre_commit/pre_commit_supported_versions.py
@@ -27,7 +27,7 @@ AIRFLOW_SOURCES = 
Path(__file__).resolve().parent.parent.parent.parent
 HEADERS = ("Version", "Current Patch/Minor", "State", "First Release", 
"Limited Support", "EOL/Terminated")
 
 SUPPORTED_VERSIONS = (
-    ("2", "2.8.3", "Supported", "Dec 17, 2020", "TBD", "TBD"),
+    ("2", "2.9.0", "Supported", "Dec 17, 2020", "TBD", "TBD"),
     ("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"),
     ("1.8", "1.8.2", "EOL", "Mar 19, 2017", "Jan 03, 2018", "Jan 03, 2018"),

Reply via email to