Hey fellow Airflowers, The release candidates for Apache Airflow 3.1.5rc1 and Task SDK 1.1.5rc1 are now available for testing!
This is an accelerated vote because 3.1.5rc1 is functionally identical to 3.1.4rc2, differing only by version. 3.1.4rc1 was inadvertently released as 3.1.4, which was yanked because of being published from the incorrect RC. We are therefore expediting this vote to release 3.1.5 as soon as possible. This email is calling for a vote on the release, which will last at least 4 hours, from Friday, December 12, 2025 at 5:00 pm UTC until Friday, December 12, 2025 at 9:00 pm UTC <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20251212T2100&p1=1440>, and until 3 binding +1 votes have been received. Status of testing of the release is kept in https://github.com/apache/airflow/issues/59033 Consider this my +1 binding vote. Airflow 3.1.5rc1 is available at: https://dist.apache.org/repos/dist/dev/airflow/3.1.5rc1/ "apache-airflow" Meta package: - *apache-airflow-3.1.5-source.tar.gz* is a source release that comes with INSTALL instructions. - *apache-airflow-3.1.5.tar.gz* is the binary Python "sdist" release. - *apache_airflow-3.1.5-py3-none-any.whl* is the binary Python wheel "binary" release. "apache-airflow-core" package: - *apache_airflow_core-3.1.5.tar.gz* is the binary Python "sdist" release. - *apache_airflow_core-3.1.5-py3-none-any.whl* is the binary Python wheel "binary" release. Task SDK 1.1.5 is available at: https://dist.apache.org/repos/dist/dev/airflow/task-sdk/1.1.5rc1/ "apache-airflow-task-sdk" package: - *apache_airflow_task_sdk-1.1.5.tar.gz* is the binary Python "sdist" release. - *apache_airflow_task_sdk-1.1.5-py3-none-any.whl* is the binary Python wheel "binary" release. Public keys are available at: https://dist.apache.org/repos/dist/release/airflow/KEYS Please vote accordingly: [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason Only votes from PMC members are binding, but all members of the community are encouraged to test the release and vote with "(non-binding)". The test procedure for PMC members is described in: https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmc-members The test procedure for contributors and members of the community who would like to test this RC is described in: https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-contributors Please note that the version number excludes the 'rcX' string, so it's now simply 3.1.5 for Airflow package and 1.1.5 for Task SDK. This will allow us to rename the artifact without modifying the artifact checksums when we actually release. Docs (for preview): https://airflow.staged.apache.org/docs/apache-airflow/3.1.5 Release Notes: - https://github.com/apache/airflow/blob/3.1.5rc1/RELEASE_NOTES.rst - https://airflow.staged.apache.org/docs/apache-airflow/3.1.5/release_notes.html (Rendered HTML) Testing Instructions using PyPI: You can build a virtualenv that installs this and other required packages (e.g. task sdk), like this: uv venv uv pip install -U \ apache-airflow==3.1.5rc1 \ apache-airflow-core==3.1.5rc1 \ apache-airflow-task-sdk==1.1.5rc1 Constraints files are at https://github.com/apache/airflow/tree/constraints-3.1.5rc1 Cheers, Ephraim
