Skip to content

Fix remaining SQLAlchemy 1.4/2.1 doc references and fact-check migration - #69793

Draft
joshuabvarghese wants to merge 1 commit into
apache:mainfrom
joshuabvarghese:update-sqlalchemy-docs-69164
Draft

joshuabvarghese wants to merge 1 commit into
apache:mainfrom
joshuabvarghese:update-sqlalchemy-docs-69164

Conversation

@joshuabvarghese

@joshuabvarghese joshuabvarghese commented Jul 13, 2026 •

Copy link
Copy Markdown

Addresses #69164

(follow-up to #69203 )

What this does

#69200 already fixed most of the 1.4→2.0 doc links. This PR:

  1. Fixes the one remaining en/14 link (config.yml, sql_alchemy_pool_pre_ping)
  2. Fixes an adjacent en/21 (beta) link that wasn't in the original 9 but has
    the same root problem — airflow-core requires sqlalchemy>=2.0.48, not 2.1
  3. Does the fact-check the issue actually asked for (not just link-swapping)

Verification table

Location Old New How verified
config.yml:686 en/14#disconnect-handling-pessimistic en/20#disconnect-handling-pessimistic Fetched live page, confirmed the anchor exists; confirmed our description text still matches 2.0 behavior
test_orm_event_handlers.py:20 en/21 (beta) en/20 Confirmed identical content/anchor exists on en/20; consistent with the rest of the codebase and our actual version floor
utils/db.py:93-94 Stale TODO suggesting a swap to sqlalchemy.orm.MappedClassProtocol Corrected comment, TODO removed The real class checks __table__/__mapper__/__call__; ours checks __tablename__. They're not interchangeable — the TODO was wrong, not just outdated

Deliberately NOT changed

  • set-up-database.rst:201 — correctly stays on en/20/changelog/changelog_14.html even
    though it documents 1.4-era behavior, because SQLAlchemy hosts historical changelogs
    under the current docs version's URL tree. settings.py already relies on this same
    pattern independently, which cross-confirms it's correct.
  • Historical "as of SQLAlchemy 1.4..." mentions in configuration.py, provider changelogs,
    and RELEASE_NOTES.rst — true historical statements, not stale references.

Testing

  • pre-commit run --files airflow-core/src/airflow/config_templates/config.yml airflow-core/src/airflow/utils/db.py airflow-core/tests/unit/utils/test_orm_event_handlers.py — all content-inspecting hooks pass (ruff, mypy, yamllint, license headers, codespell, newsfragment check)
  • Manually re-verified the changed links by clicking through myself

Important

🛠️ Maintainer triage note for @joshuabvarghese · by @potiuk · 2026-07-28 16:10 UTC

Helpful heads-up from the maintainers — please address before this PR can be reviewed:

  • ❌ Provider tests. See docs.

The ball is in your court — you've been assigned to this PR. Fix the above, then mark it Ready for review.

See the Pull Request quality criteria for how to fix each item. There is no rush.

Note: your branch is 362 commits behind main — please rebase and push again to get up-to-date CI results.

Automated triage — may be imperfect; a maintainer takes the next look. We use this two-stage triage process so maintainers' limited time goes to the conversation with you.

@joshuabvarghese
joshuabvarghese marked this pull request as ready for review July 13, 2026 11:29
@potiuk
potiuk marked this pull request as draft July 28, 2026 16:10
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 5 days if no further activity occurs. Thank you for your contributions.

@github-actions github-actions Bot added the stale Stale PRs per the .github/workflows/stale.yml policy file label Sep 18, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:ConfigTemplates stale Stale PRs per the .github/workflows/stale.yml policy file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant