You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(packaging): align the SQLAlchemy dependency range with the documented support matrix #774
The declared dependency range and the documented support matrix disagree about SQLAlchemy 2.2:
pyproject.toml:34 and :49 declare sqlalchemy>=2.0,<2.3 (and sqlalchemy[asyncio]>=2.0,<2.3).
docs/SUPPORT_MATRIX.md:15 lists ≥ 2.2 | ❌ Not supported | Code uses private SA internals.
README.md:218 says "SQLAlchemy 2.0–2.1 only — pinned to <2.3".
SQLAlchemy 2.2 is not released yet (latest on PyPI: 2.1.4). As soon as it is, pip install sqlalchemy-cubrid will resolve to 2.2 even though the project documents it as unsupported and the full compatibility matrix has never run against it. Earlier releases added forward-compat shims for 2.2 (v1.5.0, v1.6.0) and a --pre canary job exists, so "forward-tested" and "supported" are currently conflated.
Decision needed (maintainer)
Pick one supported range and make every declaration agree:
Cap at <2.2 — the dependency matches the documented support (2.0–2.1). Lift the cap in a release that has run the full matrix against 2.2.
Keep <2.3 — then 2.2 must be documented as supported, which requires the full compatibility matrix (not only the --pre canary) to pass against 2.2 before 2.2 is released to users.
Recommendation: option 1. It is the conservative choice while 2.2 is unreleased and unverified, and the canary job keeps forward-testing it.
Scope
Make pyproject.toml (both dependency lines), docs/SUPPORT_MATRIX.md (EN/KO), README.md and translations, docs/llms*.txt, and any CI matrix/packaging-smoke-test constraints state the same range.
Add a repo test that fails if the dependency upper bound and the documented supported range diverge.
CHANGELOG entry under the appropriate section; release classification per RELEASE_POLICY.md (a cap change is a packaging metadata change).
Out of scope
Proactive development for SQLAlchemy 2.2+ support.
Changes to the --pre canary job beyond keeping it.
Decision (maintainer): option 1 — cap at sqlalchemy>=2.0,<2.2.
2.2 is unreleased (PyPI latest 2.1.4) and unverified against the full matrix, and the support matrix already documents ≥ 2.2 as unsupported; the cap makes package metadata match.
The 2.2 forward-compat shims and the --pre canary job stay, so 2.2 keeps being forward-tested. Lift the cap in a release after 2.2 ships and passes the full compatibility matrix.
Implementation follows the scope above (both dependency lines, SUPPORT_MATRIX EN/KO, README and translations, llms docs, CI/packaging constraints, a guard test, CHANGELOG + RELEASE_POLICY classification).
Activity
yeongseon commentedon Oct 10, 2026
Decision (maintainer): option 1 — cap at
sqlalchemy>=2.0,<2.2.--precanary job stay, so 2.2 keeps being forward-tested. Lift the cap in a release after 2.2 ships and passes the full compatibility matrix.Implementation follows the scope above (both dependency lines, SUPPORT_MATRIX EN/KO, README and translations, llms docs, CI/packaging constraints, a guard test, CHANGELOG + RELEASE_POLICY classification).
🤖 Generated with Claude Code