Dev-iL opened a new pull request, #75218: URL: https://github.com/apache/airflow/pull/75218
related: #74555 Switch the default async MySQL metadata database driver from `aiomysql` to `asyncmy`. When `[database] sql_alchemy_conn_async` is unset and asyncmy is installed, core now derives a `mysql+asyncmy://` URL. The MySQL provider installs `asyncmy>=0.2.16` by default. Follow the compatibility pattern from [#69469](https://github.com/apache/airflow/pull/69469) and [#69690](https://github.com/apache/airflow/pull/69690): - Core falls back to aiomysql when asyncmy is absent, so upgrading core with an older provider keeps working. - The provider retains aiomysql as a mandatory dependency because older supported cores always derive `mysql+aiomysql://` URLs. Removing that requirement depends on the provider's minimum supported core version advancing. - Explicit async URLs remain unchanged. The new `[aiomysql]` extra lets deployments explicitly declare the legacy driver. Update the database setup guide, provider documentation, newsfragment, and generated dependency metadata. Add coverage for driver selection, fallback, URL preservation, and asyncmy connection shutdown. Local validation: - Python 3.14.7 / MySQL 8.0.46: settings, Execution API lifecycle, and MySQL hook tests — **159 passed, 3 skipped** for other database backends. - Python 3.15.0 / MySQL 8.4.7: asyncmy source build and SQLAlchemy checks passed for Decimal, datetime, binary and Unicode values, rollback, cancellation, pool recovery, and disposal. This covers the driver, not the full Airflow suite. Python 3.15 currently requires a source build of asyncmy. - Regular static checks passed, including core mypy, Ruff, provider documentation generation, and lock consistency. Runtime and static-suite results are from validation before the rebase. The tested source files are unchanged by the rebase; `uv lock --check` and `git diff --check` pass on the rebased branch. ##### Was generative AI tooling used to co-author this PR? <!-- If generative AI tooling has been used in the process of authoring this PR, please change below checkbox to `[X]` followed by the name of the tool, uncomment the "Generated-by". --> - [x] Yes (please specify the tool below) Generated-by: Codex (GPT-6) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) --- * Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)** for more information. Note: commit author/co-author name and email in commits become permanently public when merged. * For fundamental code changes, an Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals)) is needed. * When adding dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x). * For significant user-facing changes create newsfragment: `{pr_number}.significant.rst`, in [airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments). You can add this file in a follow-up commit after the PR is created so you know the PR number. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
