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 2026/01/07 11:19:56 UTC
(airflow) branch changes-3.1.6rc1 created (now 19764bb9d0b)
This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a change to branch changes-3.1.6rc1
in repository https://gitbox.apache.org/repos/asf/airflow.git
at 19764bb9d0b Update RELEASE_NOTES.rst
This branch includes the following new commits:
new 1f5f5a208e2 Update version to 3.1.6
new 19764bb9d0b Update RELEASE_NOTES.rst
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.
(airflow) 01/02: Update version to 3.1.6
Posted by ep...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a commit to branch changes-3.1.6rc1
in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 1f5f5a208e25576341a7c05575a4703c22a9bb4f
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Wed Jan 7 09:42:58 2026 +0100
Update version to 3.1.6
---
README.md | 12 ++++++------
airflow-core/docs/installation/supported-versions.rst | 2 +-
airflow-core/pyproject.toml | 4 ++--
airflow-core/src/airflow/__init__.py | 2 +-
dev/breeze/src/airflow_breeze/global_constants.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 +-
.../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 +++++++-------
generated/PYPI_README.md | 10 +++++-----
pyproject.toml | 6 +++---
scripts/ci/prek/supported_versions.py | 2 +-
task-sdk/src/airflow/sdk/__init__.py | 2 +-
22 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/README.md b/README.md
index 3e5b966d86e..6ee4a01d5c4 100644
--- a/README.md
+++ b/README.md
@@ -99,7 +99,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.1.5) |
+| | Main version (dev) | Stable version (3.1.6) |
|------------|------------------------------|------------------------|
| Python | 3.10, 3.11, 3.12, 3.13 | 3.10, 3.11, 3.12, 3.13 |
| Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) |
@@ -177,15 +177,15 @@ them to the appropriate format and workflow that your tool requires.
```bash
-pip install 'apache-airflow==3.1.5' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.5/constraints-3.10.txt"
+pip install 'apache-airflow==3.1.6' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.6/constraints-3.10.txt"
```
2. Installing with extras (i.e., postgres, google)
```bash
-pip install 'apache-airflow[postgres,google]==3.1.5' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.5/constraints-3.10.txt"
+pip install 'apache-airflow[postgres,google]==3.1.6' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.6/constraints-3.10.txt"
```
For information on installing provider distributions, check
@@ -299,7 +299,7 @@ Apache Airflow version life cycle:
| Version | Current Patch/Minor | State | First Release | Limited Maintenance | EOL/Terminated |
|-----------|-----------------------|-----------|-----------------|-----------------------|------------------|
-| 3 | 3.1.5 | Supported | Apr 22, 2025 | TBD | TBD |
+| 3 | 3.1.6 | Supported | Apr 22, 2025 | TBD | TBD |
| 2 | 2.11.0 | Supported | 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 1daadae9ae9..da94acfbda0 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.1.5 Supported Apr 22, 2025 TBD TBD
+3 3.1.6 Supported Apr 22, 2025 TBD TBD
2 2.11.0 Supported 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 9b5ece9c096..e84f23e5be9 100644
--- a/airflow-core/pyproject.toml
+++ b/airflow-core/pyproject.toml
@@ -63,7 +63,7 @@ classifiers = [
]
# Version is defined in src/airflow/__init__.py and it is automatically synchronized by prek hook
-version = "3.1.5"
+version = "3.1.6"
dependencies = [
"a2wsgi>=1.10.8",
@@ -141,7 +141,7 @@ dependencies = [
# https://github.com/apache/airflow/issues/56369 , rework universal-pathlib usage
"universal-pathlib>=0.2.6,<0.3.0",
"uuid6>=2024.7.10",
- "apache-airflow-task-sdk<1.2.0,==1.1.5",
+ "apache-airflow-task-sdk<1.2.0,==1.1.6",
# 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 8811f51925e..c08a79852f6 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.1.5"
+__version__ = "3.1.6"
import os
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py
index 5a460ff67af..ec41ca92eba 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -747,7 +747,7 @@ PROVIDERS_COMPATIBILITY_TESTS_MATRIX: list[dict[str, str | list[str]]] = [
},
{
"python-version": "3.10",
- "airflow-version": "3.1.5",
+ "airflow-version": "3.1.6",
"remove-providers": "",
"run-unit-tests": "true",
},
diff --git a/docker-stack-docs/README.md b/docker-stack-docs/README.md
index 7014822bcd2..967846b33ed 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.1.5`):
+You can find the following images there (Assuming Airflow version `3.1.6`):
* `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.1.5` - the versioned Airflow image with default Python version (3.12 currently)
-* `apache/airflow:3.1.5-pythonX.Y` - the versioned Airflow image with specific Python version
+* `apache/airflow:3.1.6` - the versioned Airflow image with default Python version (3.12 currently)
+* `apache/airflow:3.1.6-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.1.5` - the versioned Airflow image with default Python version (3.12 currently)
-* `apache/airflow:slim-3.1.5-pythonX.Y` - the versioned Airflow image with specific Python version
+* `apache/airflow:slim-3.1.6` - the versioned Airflow image with default Python version (3.12 currently)
+* `apache/airflow:slim-3.1.6-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 a6da5a5304e..8bb3a9d09f9 100644
--- a/docker-stack-docs/docker-examples/extending/add-airflow-configuration/Dockerfile
+++ b/docker-stack-docs/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:3.1.5
+FROM apache/airflow:3.1.6
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 95da17e0ce2..3870709000f 100644
--- a/docker-stack-docs/docker-examples/extending/add-apt-packages/Dockerfile
+++ b/docker-stack-docs/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:3.1.5
+FROM apache/airflow:3.1.6
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 8275af46251..baf1ed0ff7c 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
@@ -15,7 +15,7 @@
# This is an example Dockerfile. It is not intended for PRODUCTION use
# [START Dockerfile]
-FROM apache/airflow:3.1.5
+FROM apache/airflow:3.1.6
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 6a7c9f4b65c..e751b74cd16 100644
--- a/docker-stack-docs/docker-examples/extending/add-providers/Dockerfile
+++ b/docker-stack-docs/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:3.1.5
+FROM apache/airflow:3.1.6
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 713e7de6007..274ab3e73a1 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
@@ -15,6 +15,6 @@
# This is an example Dockerfile. It is not intended for PRODUCTION use
# [START Dockerfile]
-FROM apache/airflow:3.1.5
+FROM apache/airflow:3.1.6
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 855103f0a16..af9625bedfc 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
@@ -15,7 +15,7 @@
# This is an example Dockerfile. It is not intended for PRODUCTION use
# [START Dockerfile]
-FROM apache/airflow:3.1.5
+FROM apache/airflow:3.1.6
# 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/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile b/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile
index e7273ec5d2e..4d84cbff592 100644
--- a/docker-stack-docs/docker-examples/extending/add-pypi-packages/Dockerfile
+++ b/docker-stack-docs/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:3.1.5
+FROM apache/airflow:3.1.6
RUN pip install --no-cache-dir "apache-airflow==${AIRFLOW_VERSION}" lxml
# [END Dockerfile]
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 216acc4ce1e..2a19689e110 100644
--- a/docker-stack-docs/docker-examples/extending/add-requirement-packages/Dockerfile
+++ b/docker-stack-docs/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:3.1.5
+FROM apache/airflow:3.1.6
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 5f17db5f696..bea8a9cfb95 100644
--- a/docker-stack-docs/docker-examples/extending/custom-providers/Dockerfile
+++ b/docker-stack-docs/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:3.1.5
+FROM apache/airflow:3.1.6
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 280f78b6998..9c74d47a04c 100644
--- a/docker-stack-docs/docker-examples/extending/embedding-dags/Dockerfile
+++ b/docker-stack-docs/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:3.1.5
+FROM apache/airflow:3.1.6
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 eee6409d954..de126412ec1 100644
--- a/docker-stack-docs/docker-examples/extending/writable-directory/Dockerfile
+++ b/docker-stack-docs/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:3.1.5
+FROM apache/airflow:3.1.6
RUN umask 0002; \
mkdir -p ~/writeable-directory
# [END Dockerfile]
diff --git a/docker-stack-docs/entrypoint.rst b/docker-stack-docs/entrypoint.rst
index 892d99c99c2..8f1ae2bda49 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.1.5-python3.10 bash -c "ls -la"
+ docker run -it apache/airflow:3.1.6-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.1.5-python3.10 python -c "print('test')"
+ > docker run -it apache/airflow:3.1.6-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.1.5-python3.10 airflow webserver
+ docker run -it apache/airflow:3.1.6-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.1.5-python3.10 help
+ > docker run -it apache/airflow:3.1.6-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.1.5-python3.10 webserver
+ apache/airflow:3.1.6-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.1.5-python3.10 webserver
+ apache/airflow:3.1.6-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.1.5-python3.10 webserver
+ apache/airflow:3.1.6-python3.10 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 e97ee982224..6974de87d53 100644
--- a/generated/PYPI_README.md
+++ b/generated/PYPI_README.md
@@ -56,7 +56,7 @@ Use Airflow to author workflows (Dags) that orchestrate tasks. The Airflow sched
Apache Airflow is tested with:
-| | Main version (dev) | Stable version (3.1.5) |
+| | Main version (dev) | Stable version (3.1.6) |
|------------|------------------------------|------------------------|
| Python | 3.10, 3.11, 3.12, 3.13 | 3.10, 3.11, 3.12, 3.13 |
| Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) |
@@ -130,15 +130,15 @@ them to the appropriate format and workflow that your tool requires.
```bash
-pip install 'apache-airflow==3.1.5' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.5/constraints-3.10.txt"
+pip install 'apache-airflow==3.1.6' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.6/constraints-3.10.txt"
```
2. Installing with extras (i.e., postgres, google)
```bash
-pip install 'apache-airflow[postgres,google]==3.1.5' \
- --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.5/constraints-3.10.txt"
+pip install 'apache-airflow[postgres,google]==3.1.6' \
+ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.6/constraints-3.10.txt"
```
For information on installing provider distributions, check
diff --git a/pyproject.toml b/pyproject.toml
index 39f12133a17..a2f6b63d24e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -63,11 +63,11 @@ classifiers = [
]
# Version is defined in src/airflow/__init__.py and it is automatically synchronized by prek
-version = "3.1.5"
+version = "3.1.6"
dependencies = [
- "apache-airflow-task-sdk==1.1.5",
- "apache-airflow-core==3.1.5",
+ "apache-airflow-task-sdk==1.1.6",
+ "apache-airflow-core==3.1.6",
]
packages = []
diff --git a/scripts/ci/prek/supported_versions.py b/scripts/ci/prek/supported_versions.py
index 81241b73b5a..ea05f45d554 100755
--- a/scripts/ci/prek/supported_versions.py
+++ b/scripts/ci/prek/supported_versions.py
@@ -39,7 +39,7 @@ HEADERS = (
)
SUPPORTED_VERSIONS = (
- ("3", "3.1.5", "Supported", "Apr 22, 2025", "TBD", "TBD"),
+ ("3", "3.1.6", "Supported", "Apr 22, 2025", "TBD", "TBD"),
("2", "2.11.0", "Supported", "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 f0c2ab6d367..ffd3940842b 100644
--- a/task-sdk/src/airflow/sdk/__init__.py
+++ b/task-sdk/src/airflow/sdk/__init__.py
@@ -60,7 +60,7 @@ __all__ = [
"teardown",
]
-__version__ = "1.1.5"
+__version__ = "1.1.6"
if TYPE_CHECKING:
from airflow.sdk.api.datamodels._generated import DagRunState, TaskInstanceState, TriggerRule, WeightRule
(airflow) 02/02: Update RELEASE_NOTES.rst
Posted by ep...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a commit to branch changes-3.1.6rc1
in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 19764bb9d0b14299ed6d43d0c7eee61fb390264b
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Wed Jan 7 12:19:20 2026 +0100
Update RELEASE_NOTES.rst
---
RELEASE_NOTES.rst | 83 ++++++++++++++++++++++
airflow-core/newsfragments/59399.feature.rst | 1 -
airflow-core/newsfragments/59688.improvement.rst | 1 -
.../newsfragments/template.significant.rst | 33 ---------
reproducible_build.yaml | 4 +-
5 files changed, 85 insertions(+), 37 deletions(-)
diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index 71b4bcc02b2..9e5e32c14ac 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -24,6 +24,89 @@
.. towncrier release notes start
+Airflow 3.1.6 (2026-01-13)
+--------------------------
+
+Significant Changes
+^^^^^^^^^^^^^^^^^^^
+
+``is_authorized_hitl_task()`` method now available in auth managers(#59399).
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+This method is now available in auth managers to check whether a user is authorized to approve a HITL task
+
+
+
+``proxy`` and ``proxies`` added to ``DEFAULT_SENSITIVE_FIELDS`` (#59688)
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+``proxy`` and ``proxies`` have been added to ``DEFAULT_SENSITIVE_FIELDS`` in secrets_masker to treat proxy configurations as sensitive by default
+
+Bug Fixes
+^^^^^^^^^
+- UI: Add toggle functionality to Dags state filters (#59089)
+- Fix ``deprecated_options`` entry for ``dag_file_processor_timeout`` (#59181) (#60162)
+- Fix ApprovalOperator with SimpleAuthManager when all_admins=True (#59399) (#60116)
+- Record missing ``ti_failure`` metrics for tasks in Airflow 3 (#59731) (#59964)
+- Fix missing TaskInstanceHistory on scheduler TI resets (#59639) (#59752)
+- Prevent client secrets and proxy credentials from being logged in Microsoft Graph hook logs (#59688) (#59792)
+- Fix compat deprecation handling for ``[webserver/base_url]`` (#59659) (#59781)
+- Fix Execution API refresh token (#58782) (#59713)
+- Fix eager-loading DagRun asset relationships before creating DagRunContext (#59714) (#59732)
+- Redact secrets in rendered templates properly when truncating it (#59566) (#59704)
+- Add ``Content-Type`` to request headers in Task SDK calls when missing (#59676) (#59687)
+- UI: Fix Expand+Collapse Translation Key (#59672) (#59674)
+- Fix server context for connections (#59624) (#59652)
+- Add TypeScript ESLint plugin to other core packages (#59605) (#59612)
+- Add @typescript-eslint dev dependencies for version 8.50.0 (#59484) (#59601)
+- Fix clear task instance dialog tasks states (#59363) (#59580)
+- Add log record when listening dag is partitioned but run has no key (#59375) (#59582)
+- Fix Dag Processor logging crash (#59317) (#59581)
+- Flush session() before processing Event Buffer (#59314) (#59559)
+- Add task group ID filtering support to task instance query (#58092) (#59511)
+- Fix message of ``_read_from_logs_server`` when status_code is 403 (#59489) (#59504)
+- Pnpm upgrade to 10.x and prevent script execution (#59466) (#59512)
+- Fix import errors not cleared for files without Dags (#58242) (#59500)
+- Fix backfill ``run_on_latest_version`` defaulting to False instead of True (#59304) (#59328)
+- Add toaster notifications for Connection Test (#59354) (#59368)
+- Fix ``.airflowignore`` negation not working in subfolders (#58740) (#59305)
+- Fix XCom key handling when keys contain special characters like slash (#58344) (#59311)
+- Fix an odd import of pendulum from sqlalchemy_utils instead of elsewhere. (#59258) (#59265)
+- Don't depend upon FastAPI inside Task-SDK client (#59250) (#59257)
+- Fix links for DurationChart (#59095) (#59237)
+- Fix misleading error message when GitHook creation fails (#59236)
+- Show asset extra in asset list (#59195) (#59201)
+- Prevent dag processor crash on encountering excel files in the Dag directory (#59069) (#59170)
+- Fix ``DagRun.queued_at`` not updating when clearing (#59066) (#59177)
+- Align the term Dag in all translations (#59155)
+- Fix Rendered Templates not showing dictionary items in AF3 (#58071) (#59176)
+- Change task log source display to hidden by default (#58749) (#59045)
+- Fix go back button from FAB iframe (#58997) (#59007)
+- Fix task instance and run tooltips in Grid view (#58359) (#59013)
+
+Miscellaneous
+^^^^^^^^^^^^^
+- Allow ``swc`` and ``esbuild`` install script for SAM (#59608) (#59654)
+- Remove playwright dependency (#59607)
+- Bump Sphinx Airflow theme to ``0.3.0`` (#59538)
+- Bump ruff to ``0.14.8``, uv to ``0.9.15`` (#59058) (#59079)
+
+Doc Only Changes
+^^^^^^^^^^^^^^^^
+- Translations updates [French: (#60157) (#60167), German: (#59673), PL: (#59675) (#59251) (#59256), Japanese: (#59557),(#59313),
+ Taiwanese Mandarin (#59513) (#59515), Hebrew: (#59133) (#59255), Ca: (#59216), TR: (#59169)]
+- Update webserver probe health check doc (#59942) (#59982)
+- Update API auth. instructions in Docker running docs (#59830) (#59832)
+- Improve CLI date argument help text documentation (#59797) (#59810)
+- Add fast client-side search to Airflow documentation (#59658)
+- Fix broken permalink icon (#58763)
+- Add Refresh Token logic to auth manager docs (#54196) (#59482)
+- Update json to JSON for consistency in translations (#59323) (#59333)
+- Fix outdated dependency documentation (#58970) (#59219)
+- Add UI/API performance tips (#59004) (#59052)
+- Provide a clear naming and description for the attribute caching ``get_template_context`` (#59023) (#59036)
+- Update the documentation for the LocalExecutor (#58990) (#59022)
+
+
+
Airflow 3.1.5 (2025-12-12)
--------------------------
diff --git a/airflow-core/newsfragments/59399.feature.rst b/airflow-core/newsfragments/59399.feature.rst
deleted file mode 100644
index 4017b3ec0e9..00000000000
--- a/airflow-core/newsfragments/59399.feature.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add ``is_authorized_hitl_task()`` method to check whether a user a is authorized to approve a HITL task
diff --git a/airflow-core/newsfragments/59688.improvement.rst b/airflow-core/newsfragments/59688.improvement.rst
deleted file mode 100644
index d3c592cfcc3..00000000000
--- a/airflow-core/newsfragments/59688.improvement.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add ``proxy`` and ``proxies`` to ``DEFAULT_SENSITIVE_FIELDS`` in secrets_masker to treat proxy configurations as sensitive by default
diff --git a/airflow-core/newsfragments/template.significant.rst b/airflow-core/newsfragments/template.significant.rst
deleted file mode 100644
index 464486489c6..00000000000
--- a/airflow-core/newsfragments/template.significant.rst
+++ /dev/null
@@ -1,33 +0,0 @@
-.. Write a short and imperative summary of this changes
-
-.. Provide additional contextual information
-
-.. Check the type of change that applies to this change
-.. Dag changes: requires users to change their Dag code
-.. Config changes: requires users to change their Airflow config
-.. API changes: requires users to change their Airflow REST API calls
-.. CLI changes: requires users to change their Airflow CLI usage
-.. Behaviour changes: the existing code won't break, but the behavior is different
-.. Plugin changes: requires users to change their Airflow plugin implementation
-.. Dependency changes: requires users to change their dependencies (e.g., Postgres 12)
-.. Code interface changes: requires users to change other implementations (e.g., auth manager)
-
-* Types of change
-
- * [ ] Dag changes
- * [ ] Config changes
- * [ ] API changes
- * [ ] CLI changes
- * [ ] Behaviour changes
- * [ ] Plugin changes
- * [ ] Dependency changes
- * [ ] Code interface changes
-
-.. List the migration rules needed for this change (see https://github.com/apache/airflow/issues/41641)
-
-* Migration rules needed
-
-.. e.g.,
-.. * Remove context key ``execution_date``
-.. * context key ``triggering_dataset_events`` → ``triggering_asset_events``
-.. * Remove method ``airflow.providers_manager.ProvidersManager.initialize_providers_dataset_uri_resources`` → ``airflow.providers_manager.ProvidersManager.initialize_providers_asset_uri_resources``
diff --git a/reproducible_build.yaml b/reproducible_build.yaml
index 433f47d6aa1..06d2334a6f8 100644
--- a/reproducible_build.yaml
+++ b/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: 8febd70187ea47c071408a76c7f6542e
-source-date-epoch: 1767683287
+release-notes-hash: 6dfd3b678b19d5b527a2e6e6d1655696
+source-date-epoch: 1767784754