This is an automated email from the ASF dual-hosted git repository.
eladkal pushed a commit to branch v2-6-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v2-6-test by this push:
new f37c1123ac Update RELEASE_NOTES.rst
f37c1123ac is described below
commit f37c1123ac802da4a2ca74db99340cd659507ddc
Author: Elad Kalif <eladkal [email protected]>
AuthorDate: Thu Jun 8 18:26:30 2023 +0300
Update RELEASE_NOTES.rst
---
README.md | 18 ++---
RELEASE_NOTES.rst | 88 ++++++++++++++++++++++
airflow/__init__.py | 2 +-
airflow/api_connexion/openapi/v1.yaml | 2 +-
airflow/utils/db.py | 1 +
docs/apache-airflow/howto/docker-compose/index.rst | 4 +-
.../installation/supported-versions.rst | 2 +-
docs/docker-stack/README.md | 10 +--
.../extending/add-apt-packages/Dockerfile | 2 +-
.../add-build-essential-extend/Dockerfile | 2 +-
.../extending/add-providers/Dockerfile | 2 +-
.../extending/add-pypi-packages/Dockerfile | 2 +-
.../extending/add-requirement-packages/Dockerfile | 2 +-
.../extending/custom-providers/Dockerfile | 2 +-
.../extending/embedding-dags/Dockerfile | 2 +-
.../extending/writable-directory/Dockerfile | 2 +-
docs/docker-stack/entrypoint.rst | 14 ++--
.../ci/pre_commit/pre_commit_supported_versions.py | 2 +-
18 files changed, 124 insertions(+), 35 deletions(-)
diff --git a/README.md b/README.md
index 95265f16f5..994c23eba2 100644
--- a/README.md
+++ b/README.md
@@ -86,15 +86,15 @@ 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.6.1) |
-|------------|------------------------------|------------------------|
-| Python | 3.7, 3.8, 3.9, 3.10, 3.11 | 3.7, 3.8, 3.9, 3.10 |
-| Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) |
-| Kubernetes | 1.23, 1.24, 1.25, 1.26, 1.27 | 1.23, 1.24, 1.25, 1.26 |
-| PostgreSQL | 11, 12, 13, 14, 15 | 11, 12, 13, 14, 15 |
-| MySQL | 5.7, 8 | 5.7, 8 |
-| SQLite | 3.15.0+ | 3.15.0+ |
-| MSSQL | 2017(\*), 2019(\*) | 2017(\*), 2019(\*) |
+| | Main version (dev) | Stable version (2.6.2) |
+|------------|------------------------------|---------------------------|
+| Python | 3.7, 3.8, 3.9, 3.10, 3.11 | 3.7, 3.8, 3.9, 3.10, 3.11 |
+| Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) |
+| Kubernetes | 1.23, 1.24, 1.25, 1.26, 1.27 | 1.23, 1.24, 1.25, 1.26 |
+| PostgreSQL | 11, 12, 13, 14, 15 | 11, 12, 13, 14, 15 |
+| MySQL | 5.7, 8 | 5.7, 8 |
+| SQLite | 3.15.0+ | 3.15.0+ |
+| MSSQL | 2017(\*), 2019(\*) | 2017(\*), 2019(\*) |
\* Experimental
diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index 8f209f8cee..b1168f880c 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -21,6 +21,94 @@
.. towncrier release notes start
+Airflow 2.6.2 (2023-06-12)
+--------------------------
+
+Significant Changes
+^^^^^^^^^^^^^^^^^^^
+
+No significant changes.
+
+Bug Fixes
+^^^^^^^^^
+- Fix Kubernetes executor set wrong task status (#31274)
+- Use keyword paramaters for migration methods for mssql (#31309)
+- Control permissibility of driver config in extra from airflow.cfg (#31754)
+- Retain on_failure_fail_dagrun attr when other task attrs are overriden
(#31678)
+- fixing broken links in openapi/v1.yaml (#31619)
+- Hide old alert box when testing conn with different value (#31606)
+- Add TriggererStatus to OpenAPI spec (#31579)
+- Resolving issue where Grid won't un-collapse when Details is collapsed
(#31561)
+- Fix sorting of tags (#31553)
+- Add the missing `map_index` to the xcom key when skipping downstream tasks
(#31541)
+- fix airflow users delete CLI command (#31539)
+- Include triggerer health status in Airflow /health endpoint (#31529)
+- Remove dependency already registered for this task warning (#31502)
+- Use kube_client over default CoreV1Api for deleting pods (#31477)
+- Ensure min backoff in base sensor is at least 1 (#31412)
+- Fix `max_active_tis_per_dagrun` for Dynamic Task Mapping (#31406)
+- Fix error handling when pre-importing modules in DAGs (#31401)
+- Fix dropdown default and adjust tutorial to use 42 as default for proof
(#31400)
+- Fix crash when clearing run with task from normal to mapped (#31352)
+- Make BaseJobRunner a generic on the job class (#31287)
+- Fix `url_for_asset` fallback and 404 on DAG Audit Log (#31233)
+- Don't present an undefined execution date (#31196)
+- Added spinner activity while the logs load (#31165)
+- Include rediss to the list of supported URL schemes (#31028)
+- Optimize scheduler by skipping "non-scheduable" DAGs (#30706)
+- Save scheduler execution time during search for queued dag_runs (#30699)
+- Fix ExternalTaskSensor to work correctly with task groups (#30742)
+- Fix DAG.access_control can't sync when clean access_control (#30340)
+- Fix failing get_safe_url tests for latest Python 3.8 and 3.9 (#31766)
+- Fix typing for POST user endpoint (#31767)
+- Fix wrong update for nested group default args (#31776)
+- Fix overriding `default_args` in nested task groups (#31608)
+- Mark `[secrets] backend_kwargs` as a sensitive config (#31788)
+
+Misc/Internal
+"""""""""""""
+- Replace unicodecsv with standard csv library (#31693)
+- Small cleanups / optimizations in DagRun.update_state (#31628)
+- Remove found_descendents param from get_flat_relative_ids (#31559)
+- Fix typing in external task triggers (#31490)
+- Wording the next and last run DAG columns better (#31467)
+- Skip auto-document things with :meta private: (#31380)
+- Add an example for sql_alchemy_connect_args conf (#31332)
+- Convert dask upper-binding into exclusion (#31329)
+- Upgrade FAB to 4.3.1 (#31203)
+- Added metavar and choices to --state flag in airflow dags list-jobs CLI for
suggesting valid state arguments. (#31308)
+- Use only one line for tmp dir log (#31170)
+- Executor events are not always "exited" here (#30859)
+- Rephrase comment in setup.py (#31312)
+
+Doc-only changes
+^^^^^^^^^^^^^^^^
+- update path of KubernetesPodOperator in core docs (#31683)
+- Fix wrong cron syntax (#31666)
+- 📝 Update release documentation (#31631)
+- Add docstring and signature for _read_remote_logs (#31623)
+- Updating UI screenshots in docs (#31577)
+- Remove typo in docs serializers.rst (#31507)
+- Remove note about triggerer being 3.7+ only (#31483)
+- Fix version support information (#31468)
+- Add missing BashOperator import to documentation example (#31436)
+- Update the output of airflow info command in the doc (#31336)
+- Fix task.branch error caused by incorrect initial parameter (#31265)
+- Update callbacks documentation (errors and context) (#31116)
+- Add an example for dynamic task mapping with non-TaskFlow operator (#29762)
+- Few doc fixes - links, grammer and wording (#31719)
+- Add description in a few more places about adding airflow to pip install
(#31448)
+
+Improvement Changes
+^^^^^^^^^^^^^^^^^^^
+- Trigger Button - Implement Part 2 of AIP-50 (#31583)
+- Make connection id validation consistent across interface (#31282)
+- Support for sorting DAGs by Last Run Date in the web UI (#31234)
+- FIPS environments: Mark uses of md5 as "not-used-for-security" (#31171)
+- Validate connection IDs (#31140)
+- Add Python 3.11 support (#27264)
+- Add fullname to owner on logging (#30185)
+
Airflow 2.6.1 (2023-05-16)
--------------------------
diff --git a/airflow/__init__.py b/airflow/__init__.py
index d30d43a131..10c3337c79 100644
--- a/airflow/__init__.py
+++ b/airflow/__init__.py
@@ -26,7 +26,7 @@ isort:skip_file
"""
from __future__ import annotations
-__version__ = "2.6.1"
+__version__ = "2.6.2"
# flake8: noqa: F401
diff --git a/airflow/api_connexion/openapi/v1.yaml
b/airflow/api_connexion/openapi/v1.yaml
index b7d06d3466..6ad9e84056 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.6.1'
+ version: '2.6.2'
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
diff --git a/airflow/utils/db.py b/airflow/utils/db.py
index 0a420feb44..aec0a6fe6d 100644
--- a/airflow/utils/db.py
+++ b/airflow/utils/db.py
@@ -81,6 +81,7 @@ REVISION_HEADS_MAP = {
"2.5.3": "290244fb8b83",
"2.6.0": "98ae134e6fff",
"2.6.1": "98ae134e6fff",
+ "2.6.2": "98ae134e6fff",
}
diff --git a/docs/apache-airflow/howto/docker-compose/index.rst
b/docs/apache-airflow/howto/docker-compose/index.rst
index 1ab56b2347..e4716daed5 100644
--- a/docs/apache-airflow/howto/docker-compose/index.rst
+++ b/docs/apache-airflow/howto/docker-compose/index.rst
@@ -307,14 +307,14 @@ you should do those steps:
to (use correct image tag):
```
-#image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.6.1}
+#image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.6.2}
build: .
```
2) Create ``Dockerfile`` in the same folder your ``docker-compose.yaml`` file
is with content similar to:
```
-FROM apache/airflow:2.6.1
+FROM apache/airflow:2.6.2
ADD requirements.txt .
RUN pip install apache-airflow==${AIRFLOW_VERSION} -r requirements.txt
```
diff --git a/docs/apache-airflow/installation/supported-versions.rst
b/docs/apache-airflow/installation/supported-versions.rst
index 00607489a4..dae078832c 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.6.1 Supported Dec 17, 2020 TBD
TBD
+2 2.6.2 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 869aa2224e..151c420144 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.6.1`):
+You can find the following images there (Assuming Airflow version `2.6.2`):
* `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.6.1` - the versioned Airflow image with default Python
version (3.7 currently)
-* `apache/airflow:2.6.1-pythonX.Y` - the versioned Airflow image with specific
Python version
+* `apache/airflow:2.6.2` - the versioned Airflow image with default Python
version (3.7 currently)
+* `apache/airflow:2.6.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.7 currently)
* `apache/airflow:slim-latest-pythonX.Y` - the latest released Airflow
image with specific Python version
-* `apache/airflow:slim-2.6.1` - the versioned Airflow image with
default Python version (3.7 currently)
-* `apache/airflow:slim-2.6.1-pythonX.Y` - the versioned Airflow image with
specific Python version
+* `apache/airflow:slim-2.6.2` - the versioned Airflow image with
default Python version (3.7 currently)
+* `apache/airflow:slim-2.6.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/docs/docker-stack/docker-examples/extending/add-apt-packages/Dockerfile
b/docs/docker-stack/docker-examples/extending/add-apt-packages/Dockerfile
index cc93b74db2..5167360207 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.6.1
+FROM apache/airflow:2.6.2
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 0a54cc4531..4d685bdb03 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.6.1
+FROM apache/airflow:2.6.2
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 63f8ce3e83..16571468d9 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.6.1
+FROM apache/airflow:2.6.2
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 473f6d5988..2c9ea8df80 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.6.1
+FROM apache/airflow:2.6.2
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 cb0b02739b..8500fdaf72 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.6.1
+FROM apache/airflow:2.6.2
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 32a8480a30..49f77e441d 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.6.1
+FROM apache/airflow:2.6.2
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 75180809d4..c463c0eae3 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.6.1
+FROM apache/airflow:2.6.2
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 a924f5284b..96e87ecbe2 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.6.1
+FROM apache/airflow:2.6.2
RUN umask 0002; \
mkdir -p ~/writeable-directory
# [END Dockerfile]
diff --git a/docs/docker-stack/entrypoint.rst b/docs/docker-stack/entrypoint.rst
index 21028f312f..6395dfb62a 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.6.1-python3.7 bash -c "ls -la"
+ docker run -it apache/airflow:2.6.2-python3.7 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.6.1-python3.7 python -c "print('test')"
+ > docker run -it apache/airflow:2.6.2-python3.7 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.6.1-python3.7 airflow webserver
+ docker run -it apache/airflow:2.6.2-python3.7 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.6.1-python3.7 help
+ > docker run -it apache/airflow:2.6.2-python3.7 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_UPGRADE=true" \
--env "_AIRFLOW_WWW_USER_CREATE=true" \
--env "_AIRFLOW_WWW_USER_PASSWORD=admin" \
- apache/airflow:2.6.1-python3.8 webserver
+ apache/airflow:2.6.2-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.6.1-python3.8 webserver
+ apache/airflow:2.6.2-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.6.1-python3.8 webserver
+ apache/airflow:2.6.2-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 8430ad8a6f..b4d38098bb 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.6.1", "Supported", "Dec 17, 2020", "TBD", "TBD"),
+ ("2", "2.6.2", "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"),