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-7-stable with v2-7-test to release 2.7.2 #34775

Merged
merged 141 commits into from
Oct 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
1fd5491
Only tag :latest image when default python version is used (#34182)
potiuk Sep 7, 2023
d8b2507
Improve back-reference generation (#33149)
potiuk Aug 6, 2023
cd70ac0
Better fix for add-back-references (#33207)
potiuk Aug 9, 2023
248b88b
Simplify conditions on len() in dev (#33562)
eumiro Aug 21, 2023
97e53b0
Simplify conditions on len() (#33454)
eumiro Aug 22, 2023
e6d481a
Fix broken link to the "UPDATING.md" file (#33583)
frazar Aug 23, 2023
a78ba98
Replace strftime with f-strings where nicer (#33455)
eumiro Aug 23, 2023
03f8ff5
Refactor: Improve detection of duplicates and list sorting (#33675)
eumiro Aug 24, 2023
358255d
Refactor: Remove useless str() calls (#33629)
eumiro Aug 24, 2023
16ab2c2
Use str.splitlines() to split lines (#33592)
eumiro Aug 24, 2023
fe97031
Refactor: Use random.choices (#33631)
eumiro Aug 24, 2023
5778fbb
Refactor: path.rglob(…) does not need ** (#33669)
eumiro Aug 25, 2023
f04bca6
Refactor: Use f-strings (#33734)
eumiro Aug 25, 2023
00489bd
Order cherrypicking candidates by the closed date (#34739)
ephraimbuddy Oct 3, 2023
672871b
Use a single statement with multiple contexts instead of nested sta…
hussein-awala Aug 26, 2023
2a59e40
Merge multiple isintance calls for the same object in a single call (…
hussein-awala Aug 26, 2023
cf8e8b9
Replace single quotes by double quotes in all Airflow modules (#33766)
hussein-awala Aug 26, 2023
6cc73db
Replace type func by isinstance in fab_security manager (#33760)
hussein-awala Aug 26, 2023
084839d
E731: replace lambda by a def method in Airflow core (#33758)
hussein-awala Aug 26, 2023
7252e2b
remove unnecessary map and rewrite it using list in Airflow core (#33…
hussein-awala Aug 26, 2023
b9b7a40
Use literal dict instead of calling dict() in Airflow core (#33762)
hussein-awala Aug 26, 2023
3035e8d
Refactor: Use inplace .sort() (#33743)
eumiro Aug 27, 2023
4ba0ae7
Minor grammatical fix (#33802)
landreasl Aug 27, 2023
de5ec9b
Improve importing the modules in Airflow www package (#33810)
hussein-awala Aug 28, 2023
4618ae4
Refactor: remove unused state - SHUTDOWN (#33746)
Bisk1 Aug 28, 2023
05d11a3
Fix typo in views (#33830)
oboki Aug 28, 2023
580954e
Cleanup: remove remnants of 'shutdown' task instance state (#33893)
Bisk1 Aug 29, 2023
bf07d01
Replace lambdas with comprehensions (#33745)
eumiro Aug 30, 2023
38931c8
Replace dict.items by dict.values when key is not used in core (#33940)
hussein-awala Aug 31, 2023
b166606
Avoid creating unnecessary list when parsing stats datadog tags (#33943)
hussein-awala Aug 31, 2023
53c99eb
Add cancel_trigger_ids to to_cancel dequeue in batch (#33944)
hussein-awala Aug 31, 2023
d83d2e3
Remove useless string join from core (#33969)
hussein-awala Sep 1, 2023
472d25c
Do not create lists we don't need (#33519)
eumiro Aug 24, 2023
4d2f726
docs(core-airflow): replace markdown style link with rst style link (…
Lee-W Sep 1, 2023
8a120bd
replace loop by any when looking for a positive value in core (#33985)
hussein-awala Sep 1, 2023
c7a2410
Restore rendering of provider configuration with version_addded (#34011)
potiuk Sep 1, 2023
270e219
Refactor unneeded 'continue' jumps in api (#33842)
eumiro Sep 1, 2023
cff9928
Refactor unneeded 'continue' jumps in utils (#33836)
eumiro Sep 1, 2023
1511b4d
Refactor unneeded 'continue' jumps in configuration (#33844)
eumiro Sep 1, 2023
711fdf7
Remove infinite animation for pinwheel, spin for 1.5s (#34020)
pankajkoti Sep 2, 2023
e812e9f
Update CONTRIBUTING.rst information wrt Slack channels (#34025)
pankajkoti Sep 2, 2023
b3e2e4c
Hide Irrelevant Dag Processor from Cluster Activity Page (#33611)
erdos2n Sep 2, 2023
df60526
Refactor unneeded 'continue' jumps in dag processing (#33839)
eumiro Sep 3, 2023
79d3433
Refactor unneeded 'continue' jumps in setup.py (#33848)
eumiro Sep 3, 2023
0af9a5b
Move the try outside the loop when this is possible in Airflow core (…
hussein-awala Sep 3, 2023
f8eb6ee
Refactor unneeded 'continue' jumps in cli (#33845)
eumiro Sep 3, 2023
5b28c45
Add state utils to Public Airflow Interface (#34059)
potiuk Sep 4, 2023
0389e6a
Remove [project] section from `pyproject.toml` (#34014)
Taragolis Sep 4, 2023
ce2d236
Refactor unneeded 'continue' jumps in jobs (#33846)
eumiro Sep 4, 2023
b4d8553
Refactor unneeded 'continue' jumps around the repo (#33849)
eumiro Sep 4, 2023
2a47ffb
Bring back SHUTDOWN-related constants (#34063)
uranusjr Sep 4, 2023
2c1d4d6
Add missing audit logs for Flask actions add, edit and delete (#34090)
hussein-awala Sep 5, 2023
30ca37e
Replace sequence concatination by unpacking in Airflow core (#33934)
hussein-awala Sep 5, 2023
b38c37b
Fix scheduler logic to plan new dag runs by ignoring manual runs (#34…
Bisk1 Sep 5, 2023
bda8b55
Reuse _run_task_session in mapped render_template_fields (#33309)
potiuk Sep 5, 2023
816785f
Added more example code for XCom push and pull (#34016)
rajrao Sep 5, 2023
a87761a
Fix the required permissions to clear a TI from the UI (#34123)
hussein-awala Sep 5, 2023
96e4d96
Fix for TaskGroup toggles for duplicated labels (#34072)
Usiel Sep 6, 2023
67e49b6
Fix query bug in next_run_datasets_summary endpoint (#34143)
ephraimbuddy Sep 6, 2023
beb33e6
Fix FAB-related logging format interpolation (#34139)
Taragolis Sep 6, 2023
9748d03
Fix unfound ab_user table in the CLI session (#34120)
hussein-awala Sep 6, 2023
f9a05d3
Fix issues related to access_control={} (#34114)
SamWheating Sep 7, 2023
8e618a2
Replace single element slice by next() in Airflow tests (#33938)
hussein-awala Aug 31, 2023
f6e052b
Consolidate importing of os.path.* (#34060)
eumiro Sep 7, 2023
c9f84c6
Refactor: Consolidate import and usage of random (#34108)
eumiro Sep 7, 2023
f0d4981
Ensure details panel is shown when any tab is selected (#34136)
Usiel Sep 7, 2023
830cd98
Combine similar if logics in core (#33988)
hussein-awala Sep 9, 2023
b2b603f
Move default timezone to except block (#34245)
hussein-awala Sep 9, 2023
9f369ba
Replace assert by if...raise in www package (#34249)
hussein-awala Sep 9, 2023
c554233
Replace assert by if...raise in decorators package (#34250)
hussein-awala Sep 9, 2023
4595aaf
Make param validation consistent for DAG validation and triggering (#…
jscheffl Sep 10, 2023
262b955
Add SBOM entry in security documentation (#34261)
pierrejeambrun Sep 10, 2023
eb77d93
Change "not all" to "any" for ease of readability (#34259)
pankajkoti Sep 11, 2023
2f2d73c
Replace unnecessary dict comprehension with dict() in core (#33858)
hussein-awala Sep 11, 2023
9dbac36
Refactor: tmp_path in tests/dag_processing (#33740)
eumiro Aug 25, 2023
8f424fd
Replace sequence concatination by unpacking in Airflow tests (#33935)
hussein-awala Aug 31, 2023
ee06e41
Set loglevel=DEBUG in 'Not syncing DAG-level permissions' (#34268)
csp33 Sep 11, 2023
3188f51
Refactor: Simplify string generation (#34118)
eumiro Sep 11, 2023
25005a6
Refactor: Simplify comparisons (#34181)
eumiro Sep 11, 2023
f502e2a
Refactor integer division (#34180)
eumiro Sep 11, 2023
53564e9
replace = by is for type comparaison (#33983)
hussein-awala Sep 11, 2023
4ff30e3
Fix www cluster_activity view not loading due to standaloneDagProcess…
yermalov-here Sep 11, 2023
822135f
Change links to SQLAlchemy 1.4 (#34288)
Taragolis Sep 12, 2023
cc5fd5a
Add "security infrastructure" paragraph to security model (#34301)
potiuk Sep 12, 2023
7232953
correcting wrong time showing in grid view (#34179)
Abhishek-kumar-samsung Sep 12, 2023
685c54e
Add link to Amazon Provider Configuration in Core documentation (#34305)
Taragolis Sep 12, 2023
b328c86
REST API: Fix task instance access issue in the batch endpoint (#34315)
ephraimbuddy Sep 12, 2023
de33fd8
Provide tabular overview about trigger form param types (#34285)
jscheffl Sep 12, 2023
532e773
Add DagRun events (#34328)
DjVinnii Sep 13, 2023
733c47b
docs: correct typo in best-practices.rst (#34361)
aneojgurhem Sep 14, 2023
caab269
Fix spelling errors in readme and license files (#34383)
yanfangli85 Sep 15, 2023
8501fcb
Refactor os.path.splitext to Path.* (#34352)
eumiro Sep 15, 2023
b4f38af
Update cluster-policies.rst (#34174)
TheCodyRich Sep 15, 2023
cf4eb3f
Fix dag warning endpoint permissions (#34355)
hussein-awala Sep 15, 2023
01b31b6
Add LocalKubernetesExecutor in the config.yml's executor description …
XD-DENG Sep 16, 2023
5af32cc
Docs for triggered_dataset_event (#34410)
fritz-astronomer Sep 16, 2023
ac19ec5
Schedule default value description (#34291)
erdos2n Sep 16, 2023
2324041
Deprecate numeric type python version in PythonVirtualEnvOperator (#3…
Xiroo Sep 16, 2023
861bb92
Clarify var.value.get and var.json.get usage (#34411)
hussein-awala Sep 16, 2023
855b6b6
Fix class reference in Public Interface documentation (#34454)
Taragolis Sep 19, 2023
4230098
Change two whitespaces to one (#34519)
yiannis-had Sep 21, 2023
f3be73c
using seconds for failed scenarios too (#34532)
shubhamraj-git Sep 21, 2023
2b717a8
Add more exemptions to lengthy metric list (#34531)
sa1 Sep 21, 2023
f76cd27
Restore EXISTING_ROLES from security.py (#34523)
pankajastro Sep 22, 2023
e25a7f6
Fix screenshot in dynamic task mapping docs (#34566)
jedcunningham Sep 23, 2023
f783d08
Fix ODBC Connection page formatting (#34572)
Taragolis Sep 23, 2023
f02c48a
Fix: Add 3.11 as supported Python version (#34575)
janfrederik Sep 24, 2023
7cbdcf2
Avoid top-level airflow import to avoid circular dependency (#34586)
hussein-awala Sep 25, 2023
174c8a0
Fix is_parent_mapped value by checking if any of the parent tg is map…
hussein-awala Sep 25, 2023
eada688
fix(cli): remove "to backfill" from --task-regex help message (#34598)
Lee-W Sep 25, 2023
0184b87
Clarify what landing time means in doc (#34608)
dstandish Sep 25, 2023
784d162
Fix some whitespace (#34632)
ferruzzi Sep 26, 2023
eb9274e
Use iterative loop to look for mapped parent (#34622)
uranusjr Sep 27, 2023
04810cc
Don't run isort when creating new alembic migrations (#34636)
jedcunningham Sep 27, 2023
7a590f0
fix connections exported output (#34640)
Jayden-Chiu Sep 27, 2023
b1354e3
Fail dag test if defer without triggerer (#34619)
dstandish Sep 27, 2023
b0159b2
Restrict `astroid` version < 3 (#34658)
Taragolis Sep 28, 2023
6e739d6
Fix non deterministic datetime deserialization (#34492)
hussein-awala Sep 28, 2023
d480d59
Document how to use the system's timezone database (#34667)
bolkedebruin Sep 28, 2023
ac1f22f
Correct docs for multi-value select (#34690)
jamesqo Sep 30, 2023
2bfbffe
Fix: make dry run optional for patch task instance (#34568)
Calder-Ty Sep 30, 2023
08381bb
Fix foreign key warning re ab_user.id (#34656)
dstandish Oct 1, 2023
b6af4ad
Fix SesssionExemptMixin spelling (#34696)
Oct 2, 2023
7a49651
Fixed rows count in the migration script (#34348)
alartum Oct 3, 2023
707d13c
Import AUTH_REMOTE_USER from FAB in WSGI middleware example (#34721)
hussein-awala Oct 4, 2023
05e5ffd
Update min-sqlalchemy version to account for latest features used (#3…
potiuk Sep 12, 2023
027bb56
Add information about drop support MsSQL as DB Backend in the future …
Taragolis Sep 14, 2023
21c59d7
Update version to 2.7.2
ephraimbuddy Oct 5, 2023
739bfb4
Refactor: Simplify code in breeze (#33273)
eumiro Aug 10, 2023
0643e91
Bump min-version for docker and docker-compose (#33572)
potiuk Aug 21, 2023
e868785
Support rootless mode for docker. (#34537)
potiuk Sep 22, 2023
ed36b28
Avoid WSL2 ones when finding a context for Breeze (#34538)
potiuk Sep 22, 2023
f8fc3d6
Parse 'docker context ls --format=json' correctly (#34711)
uranusjr Oct 3, 2023
a68ad56
Fix broken breeze by fixing package version (#34701)
hussein-awala Oct 2, 2023
c20fc8a
Fix autodetect_docker_context for list of dict case (#34779)
utkarsharma2 Oct 6, 2023
9fdbe7b
Add support for ZoneInfo and generic UTC (#34683)
bolkedebruin Oct 6, 2023
1fdfa9a
zoneinfo.ZoneInfo is not available on < Python 3.9 (#34804)
bolkedebruin Oct 6, 2023
a4a0b5d
Check if the lower of provided values are sensitives in config endpoi…
hussein-awala Oct 7, 2023
9cd8f4c
Add explanation for Audit log users (#34814)
potiuk Oct 7, 2023
145dbc9
Clarify audit log permissions (#34815)
pierrejeambrun Oct 7, 2023
c8b25cb
Update RELEASE_NOTES.rst
ephraimbuddy Oct 5, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
49 changes: 49 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1021,6 +1021,55 @@ jobs:
uses: ./.github/actions/post_tests_failure
if: failure()

tests-postgres-min-sqlalchemy:
timeout-minutes: 130
name: >
MinSQLAlchemy${{needs.build-info.outputs.default-postgres-version}},
Py${{needs.build-info.outputs.default-python-version}}:
${{needs.build-info.outputs.parallel-test-types-list-as-string}}
runs-on: "${{needs.build-info.outputs.runs-on}}"
needs: [build-info, wait-for-ci-images]
env:
RUNS_ON: "${{needs.build-info.outputs.runs-on}}"
PARALLEL_TEST_TYPES: "${{needs.build-info.outputs.parallel-test-types-list-as-string}}"
PR_LABELS: "${{needs.build-info.outputs.pull-request-labels}}"
FULL_TESTS_NEEDED: "${{needs.build-info.outputs.full-tests-needed}}"
DEBUG_RESOURCES: "${{needs.build-info.outputs.debug-resources}}"
BACKEND: "postgres"
PYTHON_MAJOR_MINOR_VERSION: "${{needs.build-info.outputs.default-python-version}}"
PYTHON_VERSION: "${needs.build-info.outputs.default-python-version}}"
POSTGRES_VERSION: "${{needs.build-info.outputs.default-postgres-version}}"
BACKEND_VERSION: "${{needs.build-info.outputs.default-postgres-version}}"
DOWNGRADE_SQLALCHEMY: "true"
JOB_ID: >
postgres-min-sqlalchemy-${{needs.build-info.outputs.default-python-version}}-
${{needs.build-info.outputs.default-postgres-version}}
COVERAGE: "${{needs.build-info.outputs.run-coverage}}"
if: needs.build-info.outputs.run-tests == 'true'
steps:
- name: Cleanup repo
shell: bash
run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*"
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v3
with:
persist-credentials: false
- name: >
Prepare breeze & CI image: ${{needs.build-info.outputs.default-python-version}}:${{env.IMAGE_TAG}}
uses: ./.github/actions/prepare_breeze_and_image
- name: >
Tests: ${{needs.build-info.outputs.default-python-version}}:
${{needs.build-info.outputs.parallel-test-types-list-as-string}}
run: breeze testing tests --run-in-parallel
- name: >
Post Tests success: ${{needs.build-info.outputs.default-python-version}}:Boto"
uses: ./.github/actions/post_tests_success
if: success()
- name: >
Post Tests failure: ${{needs.build-info.outputs.default-python-version}}:Boto"
uses: ./.github/actions/post_tests_failure
if: failure()

tests-postgres-in-progress-features-disabled:
timeout-minutes: 130
name: >
Expand Down
5 changes: 5 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,11 @@ repos:
- --ignore-words=docs/spelling_wordlist.txt
- --skip=airflow/providers/*/*.rst,airflow/www/*.log,docs/*/commits.rst,docs/apache-airflow/tutorial/pipeline_example.csv,*.min.js,*.lock,INTHEWILD.md
- --exclude-file=.codespellignorelines
- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.14
hooks:
- id: validate-pyproject
name: Validate pyproject.toml
- repo: local
# Note that this is the 2nd "local" repo group in the .pre-commit-config.yaml file. This is because
# we try to minimise the number of passes that must happen in order to apply some of the changes
Expand Down
26 changes: 19 additions & 7 deletions BREEZE.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2051,23 +2051,35 @@ To add back references to the documentation generated by ``build-docs`` in Breez
use the ``release-management add-back-references`` command. This is important to support backward compatibility
the airflow documentation.

.. code-block:: bash

breeze release-management add-back-references
You have to specify which packages you run it on. For example you can run it for all providers:

.. code-block:: bash

release-management add-back-references --airflow-site-directory DIRECTORY
release-management add-back-references --airflow-site-directory DIRECTORY all-providers

The flag ``--airflow-site-directory`` takes the path of the cloned ``airflow-site``. The command will
not proceed if this is an invalid path.

You can also run the command for apache-airflow (core documentation):

.. code-block:: bash

breeze release-management publish-docs --airflow-site-directory DIRECTORY apache-airflow

Also for helm-chart package:

.. code-block:: bash

breeze release-management publish-docs --airflow-site-directory DIRECTORY helm-chart


You can also manually specify (it's auto-completable) list of packages to run the command for including individual
providers - you can mix apache-airflow, helm-chart and provider packages this way:

.. code-block:: bash

breeze release-management publish-docs --gen-type [airflow | providers | helm]
breeze release-management publish-docs --airflow-site-directory DIRECTORY apache.airflow apache.beam google

The flag ``--gen-type`` is a string of which type of back references to generate. It can take the values of
airflow, providers, or helm. The command will fail if this is incorrect.

These are all available flags of ``release-management add-back-references`` command:

Expand Down
6 changes: 4 additions & 2 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1457,15 +1457,17 @@ We don't create new issues on JIRA anymore. The reason we still look at JIRA iss
* The `Apache Airflow Slack <https://s.apache.org/airflow-slack>`_ for:
* ad-hoc questions related to development (#development channel)
* asking for review (#development channel)
* asking for help with PRs (#how-to-pr channel)
* asking for help with first contribution PRs (#development-first-pr-support channel)
* troubleshooting (#troubleshooting channel)
* group talks (including SIG - special interest groups) (#sig-* channels)
* notifications (#announcements channel)
* random queries (#random channel)
* regional announcements (#users-* channels)
* newbie questions (#newbie-questions channel)
* occasional discussions (wherever appropriate including group and 1-1 discussions)

Please exercise caution against posting same questions across multiple channels. Doing so not only prevents
redundancy but also promotes more efficient and effective communication for everyone involved.

The devlist is the most important and official communication channel. Often at Apache project you can
hear "if it is not in the devlist - it did not happen". If you discuss and agree with someone from the
community on something important for the community (including if it is with committer or PMC member) the
Expand Down
25 changes: 17 additions & 8 deletions Dockerfile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -937,6 +937,22 @@ if [[ ${SKIP_ENVIRONMENT_INITIALIZATION=} != "true" ]]; then
fi

rm -f "${AIRFLOW_SOURCES}/pytest.ini"
if [[ ${UPGRADE_BOTO=} == "true" ]]; then
echo
echo "${COLOR_BLUE}Upgrading boto3, botocore to latest version to run Amazon tests with them${COLOR_RESET}"
echo
pip uninstall --root-user-action ignore aiobotocore -y || true
pip install --root-user-action ignore --upgrade boto3 botocore
pip check
fi
if [[ ${DOWNGRADE_SQLALCHEMY=} == "true" ]]; then
min_sqlalchemy_version=$(grep "sqlalchemy>=" setup.cfg | sed "s/.*>=\([0-9\.]*\).*/\1/")
echo
echo "${COLOR_BLUE}Downgrading sqlalchemy to minimum supported version: ${min_sqlalchemy_version}${COLOR_RESET}"
echo
pip install --root-user-action ignore "sqlalchemy==${min_sqlalchemy_version}"
pip check
fi

set +u
if [[ "${RUN_TESTS}" != "true" ]]; then
Expand Down Expand Up @@ -1166,13 +1182,6 @@ else
exit 1
fi
fi
if [[ ${UPGRADE_BOTO=} == "true" ]]; then
echo
echo "${COLOR_BLUE}Upgrading boto3, botocore to latest version to run Amazon tests with them${COLOR_RESET}"
echo
pip uninstall aiobotocore -y || true
pip install --upgrade boto3 botocore
fi
readonly SELECTED_TESTS CLI_TESTS API_TESTS PROVIDERS_TESTS CORE_TESTS WWW_TESTS \
ALL_TESTS ALL_PRESELECTED_TESTS

Expand Down Expand Up @@ -1233,7 +1242,7 @@ ARG PYTHON_BASE_IMAGE
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"

# By increasing this number we can do force build of all dependencies
ARG DEPENDENCIES_EPOCH_NUMBER="9"
ARG DEPENDENCIES_EPOCH_NUMBER="10"

# Make sure noninteractive debian install is used and language variables set
ENV PYTHON_BASE_IMAGE=${PYTHON_BASE_IMAGE} \
Expand Down
30 changes: 16 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,18 +89,20 @@ 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.7.1) |
|-------------|------------------------|------------------------|
| Python | 3.8, 3.9, 3.10, 3.11 | 3.8, 3.9, 3.10, 3.11 |
| Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) |
| Kubernetes | 1.24, 1.25, 1.26, 1.27 | 1.24, 1.25, 1.26, 1.27 |
| PostgreSQL | 11, 12, 13, 14, 15 | 11, 12, 13, 14, 15 |
| MySQL | 5.7, 8.0, 8.1 | 5.7, 8.0, 8.1 |
| SQLite | 3.15.0+ | 3.15.0+ |
| MSSQL | 2017(\*), 2019(\*) | 2017(\*), 2019(\*) |
| | Main version (dev) | Stable version (2.7.2) |
|-------------|------------------------------|------------------------|
| Python | 3.8, 3.9, 3.10, 3.11 | 3.8, 3.9, 3.10, 3.11 |
| Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) |
| Kubernetes | 1.24, 1.25, 1.26, 1.27, 1.28 | 1.24, 1.25, 1.26, 1.27 |
| PostgreSQL | 11, 12, 13, 14, 15 | 11, 12, 13, 14, 15 |
| MySQL | 5.7, 8.0, 8.1 | 5.7, 8.0 |
| SQLite | 3.15.0+ | 3.15.0+ |
| MSSQL | 2017(\*\*), 2019(\*\*) | 2017(\*), 2019(\*) |

\* Experimental

\*\* **Discontinued soon**, not recommended for the new installation

**Note**: MySQL 5.x versions are unable to or have limitations with
running multiple schedulers -- please see the [Scheduler docs](https://airflow.apache.org/docs/apache-airflow/stable/scheduler.html).
MariaDB is not tested/recommended.
Expand Down Expand Up @@ -170,15 +172,15 @@ them to the appropriate format and workflow that your tool requires.


```bash
pip install 'apache-airflow==2.7.1' \
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.1/constraints-3.8.txt"
pip install 'apache-airflow==2.7.2' \
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.2/constraints-3.8.txt"
```

2. Installing with extras (i.e., postgres, google)

```bash
pip install 'apache-airflow[postgres,google]==2.7.1' \
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.1/constraints-3.8.txt"
pip install 'apache-airflow[postgres,google]==2.7.2' \
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.2/constraints-3.8.txt"
```

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

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

.. towncrier release notes start

Airflow 2.7.2 (2023-10-12)
--------------------------

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

No significant changes


Bug Fixes
"""""""""
- Check if the lower of provided values are sensitives in config endpoint (#34712)
- Add support for ZoneInfo and generic UTC to fix datetime serialization (#34683, #34804)
- Fix AttributeError: 'Select' object has no attribute 'count' during the airflow db migrate command (#34348)
- Make dry run optional for patch task instance (#34568)
- Fix non deterministic datetime deserialization (#34492)
- Use iterative loop to look for mapped parent (#34622)
- Fix is_parent_mapped value by checking if any of the parent ``taskgroup`` is mapped (#34587)
- Avoid top-level airflow import to avoid circular dependency (#34586)
- Add more exemptions to lengthy metric list (#34531)
- Fix dag warning endpoint permissions (#34355)
- Fix task instance access issue in the batch endpoint (#34315)
- Correcting wrong time showing in grid view (#34179)
- Fix www ``cluster_activity`` view not loading due to ``standaloneDagProcessor`` templating (#34274)
- Set ``loglevel=DEBUG`` in 'Not syncing ``DAG-level`` permissions' (#34268)
- Make param validation consistent for DAG validation and triggering (#34248)
- Ensure details panel is shown when any tab is selected (#34136)
- Fix issues related to ``access_control={}`` (#34114)
- Fix not found ``ab_user`` table in the CLI session (#34120)
- Fix FAB-related logging format interpolation (#34139)
- Fix query bug in ``next_run_datasets_summary`` endpoint (#34143)
- Fix for TaskGroup toggles for duplicated labels (#34072)
- Fix the required permissions to clear a TI from the UI (#34123)
- Reuse ``_run_task_session`` in mapped ``render_template_fields`` (#33309)
- Fix scheduler logic to plan new dag runs by ignoring manual runs (#34027)
- Add missing audit logs for Flask actions add, edit and delete (#34090)
- Hide Irrelevant Dag Processor from Cluster Activity Page (#33611)
- Remove infinite animation for pinwheel, spin for 1.5s (#34020)
- Restore rendering of provider configuration with ``version_added`` (#34011)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is internal change is it not?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a bug: #34005


Doc Only Changes
""""""""""""""""
- Clarify audit log permissions (#34815)
- Add explanation for Audit log users (#34814)
- Import ``AUTH_REMOTE_USER`` from FAB in WSGI middleware example (#34721)
- Add information about drop support MsSQL as DB Backend in the future (#34375)
- Document how to use the system's timezone database (#34667)
- Clarify what landing time means in doc (#34608)
- Fix screenshot in dynamic task mapping docs (#34566)
- Fix class reference in Public Interface documentation (#34454)
- Clarify var.value.get and var.json.get usage (#34411)
- Schedule default value description (#34291)
- Docs for triggered_dataset_event (#34410)
- Add DagRun events (#34328)
- Provide tabular overview about trigger form param types (#34285)
- Add link to Amazon Provider Configuration in Core documentation (#34305)
- Add "security infrastructure" paragraph to security model (#34301)
- Change links to SQLAlchemy 1.4 (#34288)
- Add SBOM entry in security documentation (#34261)
- Added more example code for XCom push and pull (#34016)
- Add state utils to Public Airflow Interface (#34059)
- Replace markdown style link with rst style link (#33990)
- Fix broken link to the "UPDATING.md" file (#33583)

Misc/Internal
"""""""""""""
- Update min-sqlalchemy version to account for latest features used (#34293)
- Fix SesssionExemptMixin spelling (#34696)
- Restrict ``astroid`` version < 3 (#34658)
- Fail dag test if defer without triggerer (#34619)
- Fix connections exported output (#34640)
- Don't run isort when creating new alembic migrations (#34636)
- Deprecate numeric type python version in PythonVirtualEnvOperator (#34359)
- Refactor ``os.path.splitext`` to ``Path.*`` (#34352, #33669)
- Replace = by is for type comparison (#33983)
- Refactor integer division (#34180)
- Refactor: Simplify comparisons (#34181)
- Refactor: Simplify string generation (#34118)
- Replace unnecessary dict comprehension with dict() in core (#33858)
- Change "not all" to "any" for ease of readability (#34259)
- Replace assert by if...raise in code (#34250, #34249)
- Move default timezone to except block (#34245)
- Combine similar if logic in core (#33988)
- Refactor: Consolidate import and usage of random (#34108)
- Consolidate importing of os.path.* (#34060)
- Replace sequence concatenation by unpacking in Airflow core (#33934)
- Refactor unneeded 'continue' jumps around the repo (#33849, #33845, #33846, #33848, #33839, #33844, #33836, #33842)
- Remove [project] section from ``pyproject.toml`` (#34014)
- Move the try outside the loop when this is possible in Airflow core (#33975)
- Replace loop by any when looking for a positive value in core (#33985)
- Do not create lists we don't need (#33519)
- Remove useless string join from core (#33969)
- Add TCH001 and TCH002 rules to pre-commit to detect and move type checking modules (#33865)
- Add cancel_trigger_ids to to_cancel dequeue in batch (#33944)
- Avoid creating unnecessary list when parsing stats datadog tags (#33943)
- Replace dict.items by dict.values when key is not used in core (#33940)
- Replace lambdas with comprehensions (#33745)
- Improve modules import in Airflow core by some of them into a type-checking block (#33755)
- Refactor: remove unused state - SHUTDOWN (#33746, #34063, #33893)
- Refactor: Use in-place .sort() (#33743)
- Use literal dict instead of calling dict() in Airflow core (#33762)
- remove unnecessary map and rewrite it using list in Airflow core (#33764)
- Replace lambda by a def method in Airflow core (#33758)
- Replace type func by ``isinstance`` in fab_security manager (#33760)
- Replace single quotes by double quotes in all Airflow modules (#33766)
- Merge multiple ``isinstance`` calls for the same object in a single call (#33767)
- Use a single statement with multiple contexts instead of nested statements in core (#33769)
- Refactor: Use f-strings (#33734, #33455)
- Refactor: Use random.choices (#33631)
- Use ``str.splitlines()`` to split lines (#33592)
- Refactor: Remove useless str() calls (#33629)
- Refactor: Improve detection of duplicates and list sorting (#33675)
- Simplify conditions on ``len()`` (#33454)


Airflow 2.7.1 (2023-09-07)
--------------------------

Expand Down
2 changes: 2 additions & 0 deletions STATIC_CODE_CHECKS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,8 @@ require Breeze Docker image to be built locally.
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
| update-version | Update version to the latest version in the documentation | |
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
| validate-pyproject | Validate pyproject.toml | |
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
| yamllint | Check YAML files with yamllint | |
+-----------------------------------------------------------+--------------------------------------------------------------+---------+

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

__version__ = "2.7.1"
__version__ = "2.7.2"

# flake8: noqa: F401

Expand Down
Loading
Loading