You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ep...@apache.org on 2022/06/30 16:16:00 UTC

[airflow] branch v2-3-test updated (c711b76fe9 -> a9eca078cb)

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

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


    from c711b76fe9 docs: sqlalchemy link update (#24627)
     new 0a252fbcc8 Update version to 2.3.3
     new a9eca078cb Add release note for 2.3.3

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md                                          |  14 +--
 RELEASE_NOTES.rst                                  | 114 +++++++++++++++++++++
 airflow/utils/db.py                                |   3 +-
 .../installation/supported-versions.rst            |   2 +-
 docs/docker-stack/README.md                        |  10 +-
 docs/docker-stack/changelog.rst                    |   2 +-
 .../customizing/pypi-extras-and-deps.sh            |   2 +-
 .../customizing/pypi-selected-version.sh           |   2 +-
 .../extending/add-apt-packages/Dockerfile          |   2 +-
 .../add-build-essential-extend/Dockerfile          |   2 +-
 .../extending/add-providers/Dockerfile             |   2 +-
 .../extending/add-pypi-packages/Dockerfile         |   2 +-
 .../extending/custom-providers/Dockerfile          |   2 +-
 .../extending/embedding-dags/Dockerfile            |   2 +-
 .../extending/writable-directory/Dockerfile        |   2 +-
 docs/docker-stack/entrypoint.rst                   |  18 ++--
 newsfragments/24399.significant.rst                |  31 ------
 newsfragments/24519.misc.rst                       |   1 -
 .../ci/pre_commit/pre_commit_supported_versions.py |   2 +-
 setup.py                                           |   2 +-
 20 files changed, 149 insertions(+), 68 deletions(-)
 delete mode 100644 newsfragments/24399.significant.rst
 delete mode 100644 newsfragments/24519.misc.rst


[airflow] 02/02: Add release note for 2.3.3

Posted by ep...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit a9eca078cb66987366ca616921f83e1fe374aa30
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Thu Jun 30 17:14:51 2022 +0100

    Add release note for 2.3.3
---
 RELEASE_NOTES.rst                   | 114 ++++++++++++++++++++++++++++++++++++
 newsfragments/24399.significant.rst |  31 ----------
 newsfragments/24519.misc.rst        |   1 -
 3 files changed, 114 insertions(+), 32 deletions(-)

diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index 9629aebedf..fa85317a4a 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -21,6 +21,120 @@
 
 .. towncrier release notes start
 
+
+Airflow 2.3.3 (2022-07-04)
+--------------------------
+
+Significant Changes
+^^^^^^^^^^^^^^^^^^^
+
+- We've upgraded Flask Application Builder to a major version 4.*.
+
+  Flask Application Builder is one of the important components of Airflow Webserver, as
+  it uses a lof of dependencies that are essential to run the webserver and integrate it
+  in enterprise environments - especially authentication.
+
+  The FAB 4.* upgrades a number of dependencies to major releases, which upgrades them to versions
+  that have a number of security issues fixed. A lot of tests were performed to bring the dependencies
+  in a backwards-compatible way, however the dependencies themselves implement breaking changes in their
+  internals so it might be that some of those changes might impact the users in case they are using the
+  libraries for their onw purposes.
+
+  One important change that you likely will need to apply to Oauth configuration is to add
+  ``server_metadata_url`` or ``jwks_uri`` and you can read about it more
+  in `this issue <https://github.com/dpgaspar/Flask-AppBuilder/issues/1861>`_.
+
+  Here is the list of breaking changes in dependencies that comes together with FAB 4:
+
+  * Flask from 1.X to 2.X `breaking changes <https://flask.palletsprojects.com/en/2.0.x/changes/#version-2-0-0>`_
+
+  * flask-jwt-extended 3.X to 4.X `breaking changes: <https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/>`_
+
+  * Jinja2 2.X to 3.X `breaking changes: <https://jinja.palletsprojects.com/en/3.0.x/changes/#version-3-0-0>`_
+
+  * Werkzeug 1.X to 2.X `breaking changes <https://werkzeug.palletsprojects.com/en/2.0.x/changes/#version-2-0-0>`_
+
+  * pyJWT 1.X to 2.X `breaking changes: <https://pyjwt.readthedocs.io/en/stable/changelog.html#v2-0-0>`_
+
+  * Click 7.X to 8.X `breaking changes: <https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-0>`_
+
+  * itsdangerous 1.X to 2.X `breaking changes <https://github.com/pallets/itsdangerous/blob/main/CHANGES.rst#version-200>`_ (#24399)
+
+
+Bug Fixes
+^^^^^^^^^
+
+- Allow for ``LOGGING_LEVEL=DEBUG`` (#23360)
+- Update Dockerfile (#24397)
+- Fix grid date ticks (#24738)
+- Debounce status highlighting in Grid view (#24710)
+- Fix Grid vertical scrolling (#24684)
+- don't try to render child rows for closed groups (#24637)
+- Restore tooltip animation (#24503)
+- Do not calculate grid root instances (#24528)
+- Maintain grid view selection on filtering upstream (#23779)
+- Speed up grid_data endpoint by 10x (#24284)
+- Apply per-run log templates to log handlers (#24153)
+- Don't crash scheduler if exec config has old k8s objects (#24117)
+- ``TI.log_url`` fix for ``map_index`` (#24335)
+- Fix migration ``0080_2_0_2`` - Replace null values before setting column not null (#24585)
+- Patch ``sql_alchemy_conn`` if old Postgres schemes used (#24569)
+- Seed ``log_template`` table (#24511)
+- Fix deprecated ``log_id_template`` value (#24506)
+- Fix toast messages (#24505)
+- Add indexes for CASCADE deletes for task_instance (#24488)
+- Return empty dict if Pod JSON encoding fails (#24478)
+- Remove ``framer-motion`` from custom tooltip (#24449)
+- Improve grid rendering performance with a custom tooltip (#24417)
+- Check for run_id for grid group summaries (#24327)
+- Optimize calendar view for cron scheduled DAGs (#24262)
+- Use ``get_hostname`` instead of ``socket.getfqdn`` (#24260)
+- Check that edge nodes actually exist (#24166)
+- Fix ``useTasks`` crash on error (#24152)
+- Do not fail requeued TIs (#23846)
+- Reduce grid view API calls (#24083)
+- Rename Permissions to Permission Pairs. (#24065)
+- Replace ``use_task_execution_date`` with ``use_task_logical_date`` (#23983)
+- Grid fix details button truncated and small UI tweaks (#23934)
+- Add TaskInstance State ``REMOVED`` to finished states and success states (#23797)
+- Fix mapped task immutability after clear (#23667)
+- Fix permission issue for dag that has dot in name (#23510)
+- Fix closing connection ``dbapi.get_pandas_df`` (#23452)
+- Check bag DAG ``schedule_interval`` match tiemtable (#23113)
+- Parse error for task added to multiple groups (#23071)
+
+
+Doc only changes
+^^^^^^^^^^^^^^^^
+
+- docs: sqlalchemy link update (#24627)
+- Update ui.rst (#24514)
+- Update production-deployment.rst (#24121)
+- Fix inverted section levels in best-practices.rst (#23968)
+- Alphabetizes two tables (#23923)
+- Clarify that users should not use Maria DB (#24556)
+- Add imports to deferring code samples (#24544)
+- Add note about image regeneration in June 2022 (#24524)
+- Small cleanup of ``get_current_context()`` chapter (#24482)
+- Docs: Fix default 2.2.5 log_id_template (#24455)
+- Update description of installing providers separately from core (#24454)
+- Mention context variables and logging (#24304)
+
+
+Misc/Internal
+^^^^^^^^^^^^^
+
+- Remove internet explorer support (#24495)
+- Fix flaky order of returned dag runs (#24405)
+- Removing magic status code numbers from api_connecxion (#24050)
+- Upgrade FAB to 4.1.2 (#24619)
+- Switch Markdown engine to markdown-it-py (#19702)
+- Update 'rich' to latest version across the board. (#24186)
+- Get rid of TimedJSONWebSignatureSerializer (#24519)
+- Update flask-appbuilder authlib/oauth dependency (#24516)
+- The JWT claims in the request to retrieve logs have been standardized: we use "nbf" and "aud" claims for maturity and audience of the requests. Also "filename" payload field is used to keep log name. (#24519)
+
+
 Airflow 2.3.2 (2022-06-04)
 --------------------------
 
diff --git a/newsfragments/24399.significant.rst b/newsfragments/24399.significant.rst
deleted file mode 100644
index 7f1833a8e8..0000000000
--- a/newsfragments/24399.significant.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-We've upgraded Flask Application Builder to a major version 4.*.
-
-Flask Application Builder is one of the important components of Airflow Webserver, as
-it uses a lof of dependencies that are essential to run the webserver and integrate it
-in enterprise environments - especially authentication.
-
-The FAB 4.* upgrades a number of dependencies to major releases, which upgrades them to versions
-that have a number of security issues fixed. A lot of tests were performed to bring the dependencies
-in a backwards-compatible way, however the dependencies themselves implement breaking changes in their
-internals so it might be that some of those changes might impact the users in case they are using the
-libraries for their onw purposes.
-
-One important change that you likely will need to apply to Oauth configuration is to add
-``server_metadata_url`` or ``jwks_uri`` and you can read about it more
-in `this issue <https://github.com/dpgaspar/Flask-AppBuilder/issues/1861>`_.
-
-Here is the list of breaking changes in dependencies that comes together with FAB 4:
-
-* Flask from 1.X to 2.X `breaking changes <https://flask.palletsprojects.com/en/2.0.x/changes/#version-2-0-0>`_
-
-* flask-jwt-extended 3.X to 4.X `breaking changes: <https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/>`_
-
-* Jinja2 2.X to 3.X `breaking changes: <https://jinja.palletsprojects.com/en/3.0.x/changes/#version-3-0-0>`_
-
-* Werkzeug 1.X to 2.X `breaking changes <https://werkzeug.palletsprojects.com/en/2.0.x/changes/#version-2-0-0>`_
-
-* pyJWT 1.X to 2.X `breaking changes: <https://pyjwt.readthedocs.io/en/stable/changelog.html#v2-0-0>`_
-
-* Click 7.X to 8.X `breaking changes: <https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-0>`_
-
-* itsdangerous 1.X to 2.X `breaking changes <https://github.com/pallets/itsdangerous/blob/main/CHANGES.rst#version-200>`_
diff --git a/newsfragments/24519.misc.rst b/newsfragments/24519.misc.rst
deleted file mode 100644
index 799d9141d2..0000000000
--- a/newsfragments/24519.misc.rst
+++ /dev/null
@@ -1 +0,0 @@
-The JWT claims in the request to retrieve logs have been standardized: we use "nbf" and "aud" claims for maturity and audience of the requests. Also "filename" payload field is used to keep log name.


[airflow] 01/02: Update version to 2.3.3

Posted by ep...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 0a252fbcc8290f5d4ecc7768513b660628a33e06
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Thu Jun 30 17:14:08 2022 +0100

    Update version to 2.3.3
---
 README.md                                              | 14 +++++++-------
 airflow/utils/db.py                                    |  3 +--
 .../apache-airflow/installation/supported-versions.rst |  2 +-
 docs/docker-stack/README.md                            | 10 +++++-----
 docs/docker-stack/changelog.rst                        |  2 +-
 .../customizing/pypi-extras-and-deps.sh                |  2 +-
 .../customizing/pypi-selected-version.sh               |  2 +-
 .../extending/add-apt-packages/Dockerfile              |  2 +-
 .../extending/add-build-essential-extend/Dockerfile    |  2 +-
 .../docker-examples/extending/add-providers/Dockerfile |  2 +-
 .../extending/add-pypi-packages/Dockerfile             |  2 +-
 .../extending/custom-providers/Dockerfile              |  2 +-
 .../extending/embedding-dags/Dockerfile                |  2 +-
 .../extending/writable-directory/Dockerfile            |  2 +-
 docs/docker-stack/entrypoint.rst                       | 18 +++++++++---------
 scripts/ci/pre_commit/pre_commit_supported_versions.py |  2 +-
 setup.py                                               |  2 +-
 17 files changed, 35 insertions(+), 36 deletions(-)

diff --git a/README.md b/README.md
index 3f38a69808..bc2957eb9e 100644
--- a/README.md
+++ b/README.md
@@ -85,7 +85,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 (2.3.2)       |
+|                     | Main version (dev)           | Stable version (2.3.3)       |
 |---------------------|------------------------------|------------------------------|
 | Python              | 3.7, 3.8, 3.9, 3.10          | 3.7, 3.8, 3.9, 3.10          |
 | Platform            | AMD64/ARM64(\*)              | AMD64/ARM64(\*)              |
@@ -160,15 +160,15 @@ them to the appropriate format and workflow that your tool requires.
 
 
 ```bash
-pip install 'apache-airflow==2.3.2' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.3.2/constraints-3.7.txt"
+pip install 'apache-airflow==2.3.3' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.3.3/constraints-3.7.txt"
 ```
 
 2. Installing with extras (i.e., postgres, google)
 
 ```bash
-pip install 'apache-airflow[postgres,google]==2.3.2' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.3.2/constraints-3.7.txt"
+pip install 'apache-airflow[postgres,google]==2.3.3' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.3.3/constraints-3.7.txt"
 ```
 
 For information on installing provider packages, check
@@ -273,7 +273,7 @@ Apache Airflow version life cycle:
 
 | Version   | Current Patch/Minor   | State     | First Release   | Limited Support   | EOL/Terminated   |
 |-----------|-----------------------|-----------|-----------------|-------------------|------------------|
-| 2         | 2.3.2                 | Supported | Dec 17, 2020    | TBD               | TBD              |
+| 2         | 2.3.3                 | 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     |
@@ -303,7 +303,7 @@ They are based on the official release schedule of Python and Kubernetes, nicely
 2. The "oldest" supported version of Python/Kubernetes is the default one until we decide to switch to
    later version. "Default" is only meaningful in terms of "smoke tests" in CI PRs, which are run using this
    default version and the default reference image available. Currently `apache/airflow:latest`
-   and `apache/airflow:2.3.2` images are Python 3.7 images. This means that default reference image will
+   and `apache/airflow:2.3.3` images are Python 3.7 images. This means that default reference image will
    become the default at the time when we start preparing for dropping 3.7 support which is few months
    before the end of life for Python 3.7.
 
diff --git a/airflow/utils/db.py b/airflow/utils/db.py
index cd7f82fea0..7bdd33fb93 100644
--- a/airflow/utils/db.py
+++ b/airflow/utils/db.py
@@ -93,6 +93,7 @@ REVISION_HEADS_MAP = {
     "2.3.0": "b1b348e02d07",
     "2.3.1": "1de7bc13c950",
     "2.3.2": "3c94c427fdf6",
+    "2.3.3": "f5fcbda3e651",
 }
 
 
@@ -876,7 +877,6 @@ def reflect_tables(tables: List[Union[Base, str]], session):
     This function gets the current state of each table in the set of models provided and returns
     a SqlAlchemy metadata object containing them.
     """
-
     import sqlalchemy.schema
 
     metadata = sqlalchemy.schema.MetaData(session.bind)
@@ -1188,7 +1188,6 @@ def _move_duplicate_data_to_new_table(
         building the DELETE FROM join condition.
     :param target_table_name: name of the table in which to park the duplicate rows
     """
-
     bind = session.get_bind()
     dialect_name = bind.dialect.name
     query = (
diff --git a/docs/apache-airflow/installation/supported-versions.rst b/docs/apache-airflow/installation/supported-versions.rst
index 11ce85f00e..3867ed0305 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.3.2                  Supported  Dec 17, 2020     TBD                TBD
+2          2.3.3                  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 1a374e9e1d..c474d888a6 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.3.2`):
+You can find the following images there (Assuming Airflow version `2.3.3`):
 
 * `apache/airflow:latest` - the latest released Airflow image with default Python version (3.7 currently)
 * `apache/airflow:latest-pythonX.Y` - the latest released Airflow image with specific Python version
-* `apache/airflow:2.3.2` - the versioned Airflow image with default Python version (3.7 currently)
-* `apache/airflow:2.3.2-pythonX.Y` - the versioned Airflow image with specific Python version
+* `apache/airflow:2.3.3` - the versioned Airflow image with default Python version (3.7 currently)
+* `apache/airflow:2.3.3-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.7 currently)
 * `apache/airflow:slim-latest-pythonX.Y`    - the latest released Airflow image with specific Python version
-* `apache/airflow:slim-2.3.2`           - the versioned Airflow image with default Python version (3.7 currently)
-* `apache/airflow:slim-2.3.2-pythonX.Y` - the versioned Airflow image with specific Python version
+* `apache/airflow:slim-2.3.3`           - the versioned Airflow image with default Python version (3.7 currently)
+* `apache/airflow:slim-2.3.3-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/changelog.rst b/docs/docker-stack/changelog.rst
index 45e57cd992..9f53bf9987 100644
--- a/docs/docker-stack/changelog.rst
+++ b/docs/docker-stack/changelog.rst
@@ -48,7 +48,7 @@ here so that users affected can find the reason for the changes.
 +==============+=====================+=========================================+========================+==============================================+
 | 17 June 2022 | 2.2.5               | * The ``Authlib`` library downgraded    | Flask App Builder      | https://github.com/apache/airflow/pull/24516 |
 |              |                     |   from 1.0.1 to 0.15.5 version          | not compatible with    |                                              |
-|              | 2.3.0-2.3.2         |                                         | Authlib >= 1.0.0       |                                              |
+|              | 2.3.0-2.3.3         |                                         | Authlib >= 1.0.0       |                                              |
 +--------------+---------------------+-----------------------------------------+------------------------+----------------------------------------------+
 | 18 Jan 2022  | All 2.2.\*, 2.1.\*  | * The AIRFLOW_GID 500 was removed       | MySQL changed keys     | https://github.com/apache/airflow/pull/20912 |
 |              |                     | * MySQL ``apt`` repository key changed. | to sign their packages |                                              |
diff --git a/docs/docker-stack/docker-examples/customizing/pypi-extras-and-deps.sh b/docs/docker-stack/docker-examples/customizing/pypi-extras-and-deps.sh
index 86ed94b252..5bf3893a2e 100755
--- a/docs/docker-stack/docker-examples/customizing/pypi-extras-and-deps.sh
+++ b/docs/docker-stack/docker-examples/customizing/pypi-extras-and-deps.sh
@@ -26,7 +26,7 @@ pushd "${TEMP_DOCKER_DIR}"
 cp "${AIRFLOW_SOURCES}/Dockerfile" "${TEMP_DOCKER_DIR}"
 
 # [START build]
-export AIRFLOW_VERSION=2.3.2
+export AIRFLOW_VERSION=2.3.3
 export DEBIAN_VERSION="bullseye"
 export DOCKER_BUILDKIT=1
 
diff --git a/docs/docker-stack/docker-examples/customizing/pypi-selected-version.sh b/docs/docker-stack/docker-examples/customizing/pypi-selected-version.sh
index 950effa69d..f53bae8c4f 100755
--- a/docs/docker-stack/docker-examples/customizing/pypi-selected-version.sh
+++ b/docs/docker-stack/docker-examples/customizing/pypi-selected-version.sh
@@ -26,7 +26,7 @@ pushd "${TEMP_DOCKER_DIR}"
 cp "${AIRFLOW_SOURCES}/Dockerfile" "${TEMP_DOCKER_DIR}"
 
 # [START build]
-export AIRFLOW_VERSION=2.3.2
+export AIRFLOW_VERSION=2.3.3
 export DOCKER_BUILDKIT=1
 
 docker build . \
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 4eee65a40b..6a1ba125d1 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.3.2
+FROM apache/airflow:2.3.3
 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 e158b57c16..d316e18be8 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.3.2
+FROM apache/airflow:2.3.3
 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 bfa4162c01..ae88a437a6 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.3.2
+FROM apache/airflow:2.3.3
 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/Dockerfile b/docs/docker-stack/docker-examples/extending/add-pypi-packages/Dockerfile
index b23423a932..06a9df3427 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.3.2
+FROM apache/airflow:2.3.3
 RUN pip install --no-cache-dir lxml
 # [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 d618405912..0395ee6dbe 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.3.2
+FROM apache/airflow:2.3.3
 RUN pip install --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 d2ce4f59e4..9c22233f85 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.3.2
+FROM apache/airflow:2.3.3
 
 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 6d048ecdf1..f5225819ca 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.3.2
+FROM apache/airflow:2.3.3
 RUN umask 0002; \
     mkdir -p ~/writeable-directory
 # [END Dockerfile]
diff --git a/docs/docker-stack/entrypoint.rst b/docs/docker-stack/entrypoint.rst
index 716a885868..f20c143815 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.3.2-python3.6 bash -c "ls -la"
+  docker run -it apache/airflow:2.3.3-python3.6 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.3.2-python3.6 python -c "print('test')"
+  > docker run -it apache/airflow:2.3.3-python3.6 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.3.2-python3.6 airflow webserver
+   docker run -it apache/airflow:2.3.3-python3.6 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.3.2-python3.6 help
+  > docker run -it apache/airflow:2.3.3-python3.6 help
     usage: airflow [-h] GROUP_OR_COMMAND ...
 
     positional arguments:
@@ -206,7 +206,7 @@ propagation (See the next chapter).
 
 .. code-block:: Dockerfile
 
-    FROM airflow:2.3.2
+    FROM airflow:2.3.3
     COPY my_entrypoint.sh /
     ENTRYPOINT ["/usr/bin/dumb-init", "--", "/my_entrypoint.sh"]
 
@@ -250,7 +250,7 @@ Similarly to custom entrypoint, it can be added to the image by extending it.
 
 .. code-block:: Dockerfile
 
-    FROM airflow:2.3.2
+    FROM airflow:2.3.3
     COPY my_after_entrypoint_script.sh /
 
 Build your image and then you can run this script by running the command:
@@ -363,7 +363,7 @@ database and creating an ``admin/admin`` Admin user with the following command:
     --env "_AIRFLOW_DB_UPGRADE=true" \
     --env "_AIRFLOW_WWW_USER_CREATE=true" \
     --env "_AIRFLOW_WWW_USER_PASSWORD=admin" \
-      apache/airflow:2.3.2-python3.8 webserver
+      apache/airflow:2.3.3-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_UPGRADE=true" \
     --env "_AIRFLOW_WWW_USER_CREATE=true" \
     --env "_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin" \
-      apache/airflow:2.3.2-python3.8 webserver
+      apache/airflow:2.3.3-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_UPGRADE=true" \
     --env "_AIRFLOW_WWW_USER_CREATE=true" \
     --env "_AIRFLOW_WWW_USER_PASSWORD_CMD=echo admin" \
-      apache/airflow:2.3.2-python3.8 webserver
+      apache/airflow:2.3.3-python3.8 webserver
 
 This method is only available starting from Docker image of Airflow 2.1.1 and above.
diff --git a/scripts/ci/pre_commit/pre_commit_supported_versions.py b/scripts/ci/pre_commit/pre_commit_supported_versions.py
index 86ff4100ef..d21c62194e 100755
--- a/scripts/ci/pre_commit/pre_commit_supported_versions.py
+++ b/scripts/ci/pre_commit/pre_commit_supported_versions.py
@@ -25,7 +25,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.3.2", "Supported", "Dec 17, 2020", "TBD", "TBD"),
+    ("2", "2.3.3", "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/setup.py b/setup.py
index 20f3d00432..4d5dbd1bb8 100644
--- a/setup.py
+++ b/setup.py
@@ -44,7 +44,7 @@ PY39 = sys.version_info >= (3, 9)
 
 logger = logging.getLogger(__name__)
 
-version = '2.3.2'
+version = '2.3.3'
 
 my_dir = dirname(__file__)