Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync v2-9-stable with v2-9-test to release 2.9.3 #40546

Merged
merged 85 commits into from
Jul 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
d4d5cd6
Improve trigger UI for string array format validation (#39993)
techolga Jun 4, 2024
5d308b6
Update index.rst (#40040)
bangjiehan Jun 4, 2024
5f77291
Fix typos in overview.rst (#40061)
bangjiehan Jun 5, 2024
d414c9e
Docs: Simpler command to check local scheduler is alive (#40074)
jedcunningham Jun 5, 2024
5837721
Fix grammar in dags.rst (#40085)
bangjiehan Jun 6, 2024
e9d3722
fix typo in example_params_ui_tutorial (#40094)
noel-gallagher Jun 6, 2024
2030b5f
Remove apt-transport-https because It is a dummy transitional package…
bangjiehan Jun 6, 2024
60c0c7a
Use a join for TI notes in TI batch API endpoint (#40028)
jedcunningham Jun 7, 2024
b868630
Add warning to deprecated api docs that access control isn't applied …
jedcunningham Jun 7, 2024
67a3cb0
Upgrade to codecov@v4 (#40128)
potiuk Jun 8, 2024
be1c93e
Fix highlight of example code in dags.rst (#40114)
bangjiehan Jun 8, 2024
309440d
Fix typo in providers_manager.py (#40157)
kacpermuda Jun 10, 2024
a724ff5
Fix minor typo in dags.rst (#40169)
bangjiehan Jun 11, 2024
56f2ee3
Bump braces from 3.0.2 to 3.0.3 in /airflow/www (#40180)
dependabot[bot] Jun 11, 2024
92777ad
Ensures DAG params order regardless of backend (#40156)
Usiel Jun 13, 2024
d4fae59
doc: metrics allow_list complet example (#40120)
raphaelauv Jun 13, 2024
47b5bb6
Fix import future annotations in venv jinja template (#40208)
phi-friday Jun 14, 2024
b6b076a
Fix typo in tasks.rst (#40228)
bangjiehan Jun 14, 2024
4d94071
Fix dag task scheduled and queued duration metrics (#37936)
htpawel Jun 14, 2024
800b63a
Add slightly more detailed guidance about upgrading to the docs (#40227)
merobi-hub Jun 14, 2024
7202f27
Fix typo in index.rst (#40245)
bangjiehan Jun 14, 2024
81dd423
Change `httpx` to `requests` in `file_task_handler` (#39799)
softyoungha Jun 15, 2024
66d5369
Fix typo in xcoms.rst (#40265)
bangjiehan Jun 16, 2024
766f1c7
Swap dag run link from legacy graph to grid with graph tab (#40241)
bbovenzi Jun 17, 2024
d420d79
Add `[webserver]update_fab_perms` to deprecated configs (#40317)
ephraimbuddy Jun 20, 2024
39da6ce
Fix TriggeredDagRunOperator triggered link (#40336)
fredthomsen Jun 22, 2024
a3a6b81
fix typos in example of DAG parameters (#40400)
le-chartreux Jun 24, 2024
6f0cc67
docs: fix typo in upgrading.rst (#40399)
marekhanus Jun 24, 2024
a8a47b0
fix(statsd): handle unsupport operand int + str when value of tag is …
DLT1412 Jun 25, 2024
7d2f50b
extra being passed to SQLalchemy (#40391)
aritra24 Jun 27, 2024
def9c08
Add more precise description of maskiing sensitive field names (#40512)
potiuk Jul 1, 2024
23ca6fa
Fix dag (un)pausing won't work on environment where dag files are mis…
boushphong Jul 1, 2024
0467c41
fix typo and path to licences folder (#40067)
uzhastik Jun 5, 2024
cdc0da2
Fix compatibility with old MySQL 8.0 (#40314)
jedcunningham Jun 19, 2024
6ca21da
Validating provider description for urls in provider list view (#40475)
amoghrajesh Jun 28, 2024
8673802
revamp some confusing log messages (#40334)
RNHTTR Jun 30, 2024
5745bdf
uv version bump to 0.2.3 (#39848)
dirrao May 26, 2024
596377b
Upgrade to latest installers (#40107)
potiuk Jun 7, 2024
07322d8
Fix openai 1.32 breaking openai tests (#40110)
potiuk Jun 7, 2024
09d2c33
Upgrade build installers and dependencies (#40177)
potiuk Jun 11, 2024
6f8749d
Update to uv 0.2.11 (#40244)
potiuk Jun 14, 2024
d070bac
Update uv to 0.2.13 (#40344)
potiuk Jun 20, 2024
f261b48
Add notes about passing secrets via environment variables (#40519)
potiuk Jul 1, 2024
4e2e651
Fix calendar view scroll (#40458)
bbovenzi Jul 1, 2024
7feb494
fix: disable jinja2 rednering for doc_md (#40522)
Lee-W Jul 2, 2024
09fb619
Upgrade `pip` to just-released 24.1 (#40367)
potiuk Jun 21, 2024
ff4983b
Update uv to 0.2.15 (#40411)
potiuk Jun 25, 2024
9b3632b
Upgrade to latest `pip` and `uv` version (#40463)
potiuk Jun 27, 2024
89240ef
uv version bump 0.2.18 (#40501)
dirrao Jun 30, 2024
8cefa62
Upgrade to latest version of hatchling as build dependency (#40387)
potiuk Jun 22, 2024
6ebf86e
Update trove classifiers to the latest version as build dependency (#…
potiuk Jul 2, 2024
698d819
Update version to 2.9.3
utkarsharma2 Jul 2, 2024
e351579
Rename "try_number" increments that are unrelated to the airflow conc…
dstandish Apr 29, 2024
4d23d6c
Fixup python client release guide (#39182)
jedcunningham Apr 23, 2024
920979e
Upgrade to another version of trove-classifier (new CUDA classifiers)…
potiuk Jul 2, 2024
1f12c1f
Update to latest pre-commit (#40529)
potiuk Jul 2, 2024
bee97f1
Fix typing in telegram provider (#40255)
potiuk Jun 15, 2024
4f3cb55
Working fix for typing in telegram provider (#40258)
potiuk Jun 15, 2024
9f5b2c1
Introduce anonymous credentials in GCP base hook (#39695)
shahar1 May 19, 2024
40abcc2
Fix credentials intialization revealed by mypy version of google auth…
potiuk Jun 7, 2024
f94ea02
Fix mypy problems in new waeviate client (#40330)
potiuk Jun 19, 2024
dcea26c
Add a note and an example clarifying the usage of DAG-level params (#…
Dev-iL Jul 2, 2024
b5598c0
MSSQL-DOC-FIX (#40565)
khalidzohaib Jul 3, 2024
07ea2d3
Remove "experimental" banner for OTel Metrics (#40286)
ferruzzi Jun 26, 2024
7d1d4f4
uv version bump 0.2.22 (#40641)
dirrao Jul 8, 2024
5f8012e
Update `pip` to just upgraded 24.1.2 (#40647)
potiuk Jul 8, 2024
ba125b3
Pin requests due to incompatibility with docker-py (#39740)
eladkal May 21, 2024
63353ea
Limit requests in botocore upgrade test (#39747)
potiuk May 22, 2024
66ea83f
Bump docker version to 7.1.0 (#39839)
eladkal May 26, 2024
344ec65
Fix typo in condition that caused provider tests to be run v2 branch
utkarsharma2 Jul 8, 2024
f759c6f
Fix latest botocore tests to not conflict with apache-beam provider (…
potiuk Jun 30, 2024
9f2eda1
Fix typo when uninstalling weaviate for Pydantic 1 tests (#40259)
potiuk Jun 15, 2024
6e805ca
Fix param order in PythonOperator docstring (#40122)
jedcunningham Jun 7, 2024
2179f2a
Recognize quotes when parsing urls in logs (#40508)
smlee729 Jul 2, 2024
b3b78e8
Further clarify triage process (#40536)
eladkal Jul 2, 2024
868e38b
Update best-practices.rst (#40505)
simi Jul 2, 2024
6fdbe23
Remove logging for "blocked" events (#40446)
ayushjain2809 Jul 2, 2024
21ed1bb
Fix bug in `SchedulerJobRunner._process_executor_events` (#40563)
vincbeck Jul 3, 2024
041ba02
Fix import statement for DatasetOrTimetable example (#40601)
steffidlf Jul 4, 2024
964abfd
Update serializers.rst (#40597)
CaselIT Jul 4, 2024
fac4962
Updating airflow download links to CDN based links (#40618)
amoghrajesh Jul 5, 2024
7f7d638
Skip checking subdagslist if taskinstance state is skipped (#40578)
abhishekbhakat Jul 5, 2024
f0cb571
Add warning about the PostgresOperator being deprecated (#40662)
a1ea321 Jul 9, 2024
e847879
Update RELEASE_NOTES.rst
utkarsharma2 Jul 2, 2024
81845de
Fix typing issue with new version of types-docutils released` (#40727)
potiuk Jul 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/post_tests_success/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ runs:
mkdir ./files/coverage-reposts
mv ./files/coverage*.xml ./files/coverage-reposts/ || true
- name: "Upload all coverage reports to codecov"
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
if: env.ENABLE_COVERAGE == 'true' && env.TEST_TYPES != 'Helm'
with:
name: coverage-${{env.JOB_ID}}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ jobs:
packages: read
secrets: inherit
if: >
needs.build-info.outputs.skip-providers-tests != 'true' &&
needs.build-info.outputs.skip-provider-tests != 'true' &&
needs.build-info.outputs.latest-versions-only != 'true'
with:
runs-on-as-json-default: ${{ needs.build-info.outputs.runs-on-as-json-default }}
Expand Down
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ repos:
pass_filenames: false
require_serial: true
- repo: https://github.com/asottile/blacken-docs
rev: 1.16.0
rev: 1.18.0
hooks:
- id: blacken-docs
name: Run black on Python code blocks in documentation files
Expand All @@ -224,7 +224,7 @@ repos:
alias: blacken-docs
additional_dependencies: [black==23.10.0]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v4.6.0
hooks:
- id: check-merge-conflict
name: Check that merge conflicts are not being committed
Expand Down Expand Up @@ -297,7 +297,7 @@ repos:
- --line-length
- '99999'
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
rev: v2.3.0
hooks:
- id: codespell
name: Run codespell to check for common misspellings in files
Expand Down Expand Up @@ -437,21 +437,21 @@ repos:
files: ^docs/apache-airflow/extra-packages-ref\.rst$|^hatch_build.py
pass_filenames: false
entry: ./scripts/ci/pre_commit/check_extra_packages_ref.py
additional_dependencies: ['rich>=12.4.4', 'hatchling==1.24.2', 'tabulate']
additional_dependencies: ['rich>=12.4.4', 'hatchling==1.25.0', 'tabulate']
- id: check-hatch-build-order
name: Check order of dependencies in hatch_build.py
language: python
files: ^hatch_build.py$
pass_filenames: false
entry: ./scripts/ci/pre_commit/check_order_hatch_build.py
additional_dependencies: ['rich>=12.4.4', 'hatchling==1.24.2']
additional_dependencies: ['rich>=12.4.4', 'hatchling==1.25.0']
- id: update-extras
name: Update extras in documentation
entry: ./scripts/ci/pre_commit/insert_extras.py
language: python
files: ^contributing-docs/12_airflow_dependencies_and_extras.rst$|^INSTALL$|^airflow/providers/.*/provider\.yaml$|^Dockerfile.*
pass_filenames: false
additional_dependencies: ['rich>=12.4.4', 'hatchling==1.24.2']
additional_dependencies: ['rich>=12.4.4', 'hatchling==1.25.0']
- id: check-extras-order
name: Check order of extras in Dockerfile
entry: ./scripts/ci/pre_commit/check_order_dockerfile_extras.py
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ ARG AIRFLOW_VERSION="2.9.0"

ARG PYTHON_BASE_IMAGE="python:3.8-slim-bookworm"

ARG AIRFLOW_PIP_VERSION=24.0
ARG AIRFLOW_UV_VERSION=0.2.2
ARG AIRFLOW_PIP_VERSION=24.1.2
ARG AIRFLOW_UV_VERSION=0.2.22
ARG AIRFLOW_USE_UV="false"
ARG UV_HTTP_TIMEOUT="300"
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"
Expand Down
21 changes: 13 additions & 8 deletions Dockerfile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -1003,10 +1003,15 @@ function check_boto_upgrade() {
echo
# shellcheck disable=SC2086
${PACKAGING_TOOL_CMD} uninstall ${EXTRA_UNINSTALL_FLAGS} aiobotocore s3fs || true
# We need to include oss2 as dependency as otherwise jmespath will be bumped and it will not pass
# the pip check test, Similarly gcloud-aio-auth limit is needed to be included as it bumps cryptography
# We need to include few dependencies to pass pip check with other dependencies:
# * oss2 as dependency as otherwise jmespath will be bumped (sync with alibaba provider)
# * gcloud-aio-auth limit is needed to be included as it bumps cryptography (sync with google provider)
# * requests needs to be limited to be compatible with apache beam (sync with apache-beam provider)
set -x
# shellcheck disable=SC2086
${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} --upgrade boto3 botocore "oss2>=2.14.0" "gcloud-aio-auth>=4.0.0,<5.0.0"
${PACKAGING_TOOL_CMD} install ${EXTRA_INSTALL_FLAGS} --upgrade boto3 botocore \
"oss2>=2.14.0" "gcloud-aio-auth>=4.0.0,<5.0.0" "requests!=2.32.*,<3.0.0,>=2.24.0"
set +x
pip check
}

Expand Down Expand Up @@ -1034,7 +1039,7 @@ function check_pydantic() {
echo "${COLOR_YELLOW}Uninstalling dependencies which are not compatible with Pydantic 1${COLOR_RESET}"
echo
# shellcheck disable=SC2086
${PACKAGING_TOOL_CMD} uninstall ${EXTRA_UNINSTALL_FLAGS} pyiceberg waeviate-client
${PACKAGING_TOOL_CMD} uninstall ${EXTRA_UNINSTALL_FLAGS} pyiceberg weaviate-client
echo
echo "${COLOR_YELLOW}Downgrading Pydantic to < 2${COLOR_RESET}"
echo
Expand Down Expand Up @@ -1223,8 +1228,8 @@ ARG DEFAULT_CONSTRAINTS_BRANCH="constraints-main"
# It can also be overwritten manually by setting the AIRFLOW_CI_BUILD_EPOCH environment variable.
ARG AIRFLOW_CI_BUILD_EPOCH="10"
ARG AIRFLOW_PRE_CACHED_PIP_PACKAGES="true"
ARG AIRFLOW_PIP_VERSION=24.0
ARG AIRFLOW_UV_VERSION=0.2.2
ARG AIRFLOW_PIP_VERSION=24.1.2
ARG AIRFLOW_UV_VERSION=0.2.22
ARG AIRFLOW_USE_UV="true"
# Setup PIP
# By default PIP install run without cache to make image smaller
Expand All @@ -1247,8 +1252,8 @@ ARG AIRFLOW_VERSION=""
# Additional PIP flags passed to all pip install commands except reinstalling pip itself
ARG ADDITIONAL_PIP_INSTALL_FLAGS=""

ARG AIRFLOW_PIP_VERSION=24.0
ARG AIRFLOW_UV_VERSION=0.2.2
ARG AIRFLOW_PIP_VERSION=24.1.2
ARG AIRFLOW_UV_VERSION=0.2.22
ARG AIRFLOW_USE_UV="true"

ENV AIRFLOW_REPO=${AIRFLOW_REPO}\
Expand Down
17 changes: 17 additions & 0 deletions ISSUE_TRIAGE_PROCESS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,23 @@ as long as the ``needs-triage`` label remains the triage team will keep an eye o
if it needs to be accepted or closed/converted to Github Discussion.
``needs-triage`` label may also be applied manually by committers if they think a further action from the triage team is required.

**area Label**

``area:providers`` must be present for any provider issue. The ``provider:x`` is specifying the exact provider.
We have ``provider:x`` for any provider that we own.
``area:helm-chart`` must be for any helm chart issue.
``area:core`` must be for any core issue. Additional labels like ``area:scheduler``, ``area:UI`` is specifying the exact
core area relevant.

This method allow us to quickly filter issues by the 3 major components of our code base: core, providers and helm-chart.

**affected version Label**

The ``affected_version:x`` will never be present with ``kind:feature`` as feature requests are not related to specific Airflow version.
For bugs, The ``affected_version:x`` is expected to be used with core issues thus normally it appears with ``area:core`` label.
When issue is reproducible on multiple Airflow versions we apply only the latest version with the label.
This policy is best effort, we should try to have as little exceptions as possible.

**Good First Issue**

Issues which are relatively straight forward to solve, will be tagged with
Expand Down
8 changes: 4 additions & 4 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ Third party Apache 2.0 licenses

The following components are provided under the Apache 2.0 License.
See project link for details. The text of each license is also included
at licenses/LICENSE-[project].txt.
at 3rd-party-licenses/LICENSE-[project].txt.

(ALv2 License) hue v4.3.0 (https://github.com/cloudera/hue/)
(ALv2 License) jqclock v2.3.0 (https://github.com/JohnRDOrazio/jQuery-Clock-Plugin)
Expand All @@ -227,7 +227,7 @@ MIT licenses
========================================================================

The following components are provided under the MIT License. See project link for details.
The text of each license is also included at licenses/LICENSE-[project].txt.
The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.

(MIT License) jquery v3.5.1 (https://jquery.org/license/)
(MIT License) dagre-d3 v0.6.4 (https://github.com/cpettitt/dagre-d3)
Expand All @@ -243,11 +243,11 @@ The text of each license is also included at licenses/LICENSE-[project].txt.
BSD 3-Clause licenses
========================================================================
The following components are provided under the BSD 3-Clause license. See project links for details.
The text of each license is also included at licenses/LICENSE-[project].txt.
The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.

(BSD 3 License) d3 v5.16.0 (https://d3js.org)
(BSD 3 License) d3-shape v2.1.0 (https://github.com/d3/d3-shape)
(BSD 3 License) cgroupspy 0.2.1 (https://github.com/cloudsigma/cgroupspy)

========================================================================
See licenses/LICENSES-ui.txt for packages used in `/airflow/www`
See 3rd-party-licenses/LICENSES-ui.txt for packages used in `/airflow/www`
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,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.9.2) |
| | Main version (dev) | Stable version (2.9.3) |
|-------------|----------------------------|----------------------------|
| 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(\*) |
Expand Down Expand Up @@ -180,15 +180,15 @@ them to the appropriate format and workflow that your tool requires.


```bash
pip install 'apache-airflow==2.9.2' \
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.9.2/constraints-3.8.txt"
pip install 'apache-airflow==2.9.3' \
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.9.3/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.9.2/constraints-3.8.txt"
pip install 'apache-airflow[postgres,google]==2.9.3' \
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.9.3/constraints-3.8.txt"
```

For information on installing provider packages, check
Expand Down Expand Up @@ -293,7 +293,7 @@ Apache Airflow version life cycle:

| Version | Current Patch/Minor | State | First Release | Limited Support | EOL/Terminated |
|-----------|-----------------------|-----------|-----------------|-------------------|------------------|
| 2 | 2.9.2 | Supported | Dec 17, 2020 | TBD | TBD |
| 2 | 2.9.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 |
Expand Down
72 changes: 72 additions & 0 deletions RELEASE_NOTES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,78 @@

.. towncrier release notes start

Airflow 2.9.3 (2024-07-15)
--------------------------

Significant Changes
^^^^^^^^^^^^^^^^^^^

Time unit for ``scheduled_duration`` and ``queued_duration`` changed (#37936)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

``scheduled_duration`` and ``queued_duration`` metrics are now emitted in milliseconds instead of seconds.

By convention all statsd metrics should be emitted in milliseconds, this is later expected in e.g. ``prometheus`` statsd-exporter.


Support for OpenTelemetry Metrics is no longer "Experimental" (#40286)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Experimental support for OpenTelemetry was added in 2.7.0 since then fixes and improvements were added and now we announce the feature as stable.



Bug Fixes
"""""""""
- Fix calendar view scroll (#40458)
- Validating provider description for urls in provider list view (#40475)
- Fix compatibility with old MySQL 8.0 (#40314)
- Fix dag (un)pausing won't work on environment where dag files are missing (#40345)
- Extra being passed to SQLalchemy (#40391)
- Handle unsupported operand int + str when value of tag is int (job_id) (#40407)
- Fix TriggeredDagRunOperator triggered link (#40336)
- Add ``[webserver]update_fab_perms`` to deprecated configs (#40317)
- Swap dag run link from legacy graph to grid with graph tab (#40241)
- Change ``httpx`` to ``requests`` in ``file_task_handler`` (#39799)
- Fix import future annotations in venv jinja template (#40208)
- Ensures DAG params order regardless of backend (#40156)
- Use a join for TI notes in TI batch API endpoint (#40028)
- Improve trigger UI for string array format validation (#39993)
- Disable jinja2 rendering for doc_md (#40522)
- Skip checking sub dags list if taskinstance state is skipped (#40578)
- Recognize quotes when parsing urls in logs (#40508)

Doc Only Changes
""""""""""""""""
- Add notes about passing secrets via environment variables (#40519)
- Revamp some confusing log messages (#40334)
- Add more precise description of masking sensitive field names (#40512)
- Add slightly more detailed guidance about upgrading to the docs (#40227)
- Metrics allow_list complete example (#40120)
- Add warning to deprecated api docs that access control isn't applied (#40129)
- Simpler command to check local scheduler is alive (#40074)
- Add a note and an example clarifying the usage of DAG-level params (#40541)
- Fix highlight of example code in dags.rst (#40114)
- Add warning about the PostgresOperator being deprecated (#40662)
- Updating airflow download links to CDN based links (#40618)
- Fix import statement for DatasetOrTimetable example (#40601)
- Further clarify triage process (#40536)
- Fix param order in PythonOperator docstring (#40122)
- Update serializers.rst to mention that bytes are not supported (#40597)

Miscellaneous
"""""""""""""
- Upgrade build installers and dependencies (#40177)
- Bump braces from 3.0.2 to 3.0.3 in /airflow/www (#40180)
- Upgrade to another version of trove-classifier (new CUDA classifiers) (#40564)
- Rename "try_number" increments that are unrelated to the airflow concept (#39317)
- Update trove classifiers to the latest version as build dependency (#40542)
- Upgrade to latest version of hatchling as build dependency (#40387)
- Fix bug in ``SchedulerJobRunner._process_executor_events`` (#40563)
- Remove logging for "blocked" events (#40446)



Airflow 2.9.2 (2024-06-10)
--------------------------

Expand Down
2 changes: 1 addition & 1 deletion airflow/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# under the License.
from __future__ import annotations

__version__ = "2.9.2"
__version__ = "2.9.3"

import os
import sys
Expand Down
7 changes: 3 additions & 4 deletions airflow/_vendor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ All Vendored libraries must follow these rules:
1. Vendored libraries must be pure Python--no compiling (so that we do not have to release multi-platform airflow packages on PyPI).
2. Source code for the library is included in this directory.
3. License must be included in this repo and in the [LICENSE](../../LICENSE) file and in the
[licenses](../../licenses) folder.
[licenses](../../3rd-party-licenses) folder.
4. Requirements of the library become requirements of airflow core.
5. Version of the library should be included in the [vendor.md](vendor.md) file.
6. No modifications to the library may be made in the initial commit.
Expand All @@ -25,13 +25,12 @@ All Vendored libraries must follow these rules:

Way to vendor a library or update a version:

1. Update ``vendor.txt`` with the library, version, and SHA256 (`pypi` provides hashes as of recently)
1. Update ``vendor.md`` with the library, version, and SHA256 (`pypi` provides hashes as of recently)
2. Remove all old files and directories of the old version.
3. Replace them with new files (only replace relevant python packages:move LICENSE )
* move license files to [licenses](../../licenses) folder
* move license files to [licenses](../../3rd-party-licenses) folder
* remove README and any other supporting files (they can be found in PyPI)
* make sure to add requirements to airflow's ``pyproject.toml`` with appropriate comment stating
why the requirements are added and when they should be removed
4. If you replace previous version, re-apply historical fixes from the "package" folder by
cherry-picking them.

8 changes: 6 additions & 2 deletions airflow/api/common/mark_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,12 @@ def set_state(
confirmed_infos = list(_iter_existing_dag_run_infos(dag, dag_run_ids, session=session))
confirmed_dates = [info.logical_date for info in confirmed_infos]

sub_dag_run_ids = list(
_iter_subdag_run_ids(dag, session, DagRunState(state), task_ids, commit, confirmed_infos),
sub_dag_run_ids = (
list(
_iter_subdag_run_ids(dag, session, DagRunState(state), task_ids, commit, confirmed_infos),
)
if not state == TaskInstanceState.SKIPPED
else []
)

# now look for the task instances that are affected
Expand Down
4 changes: 3 additions & 1 deletion airflow/api_connexion/endpoints/task_instance_endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,9 @@ def get_task_instances_batch(session: Session = NEW_SESSION) -> APIResponse:
),
isouter=True,
).add_columns(SlaMiss)
ti_query = base_query.options(joinedload(TI.rendered_task_instance_fields))
ti_query = base_query.options(
joinedload(TI.rendered_task_instance_fields), joinedload(TI.task_instance_note)
)
# using execute because we want the SlaMiss entity. Scalars don't return None for missing entities
task_instances = session.execute(ti_query).all()

Expand Down
2 changes: 1 addition & 1 deletion airflow/api_connexion/openapi/v1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ info:
This means that the server encountered an unexpected condition that prevented it from
fulfilling the request.

version: "2.9.2"
version: "2.9.3"
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
Expand Down
Loading