| issue #8992: tuple expanding params do not render bind_expression() for elements | 94 | has linked PR | review early; this can change release or regression risk | 56 |
| pr #13421: Fix oracledb async dialect entering cursors synchronously | 73 | waiting on CI/check fix | identify whether block is CI, merge conflict, or review gate | 0 |
| pr #13402: Allow inspection registrations from module reloads | 73 | waiting on CI/check fix | identify whether block is CI, merge conflict, or review gate | 8 |
| pr #13405: # Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%) | 70 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 0 |
| pr #13398: fix catastrophic backtracking in sqlite inline unique reflection regex | 70 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 0 |
| pr #13418: Use identifier preparer for string type collations | 70 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 0 |
| pr #13399: UniqueConstraint and Index withheld from table via attach_to_table flag, and appended to table via append_constraint | 70 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 4 |
| pr #13404: Subqueryload without per-row Row construction — ~26% on subqueryload | 70 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 6 |
| pr #13368: Document deprecated MySQL (M,D) float syntax and improve error message | 70 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 25 |
| pr #12401: Make loader strategy error message more verbose | 65 | waiting on CI/check fix | identify whether block is CI, merge conflict, or review gate | 251 |
| issue #10748: schemes that attempt to reload modules are blocked by the inspection registry | 62 | has linked PR | review linked PR state before touching issue | 8 |
| pr #13323: Apply tuple bind expressions to expanding IN values | 62 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 47 |
| issue #13157: PostgreSQL check constraint reflection strips brackets naively | 62 | has linked PR | review linked PR state before touching issue | 102 |
| pr #13415: scalars/mappings performance improvement. | 60 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 0 |
| pr #13417: Add type annotations to sqlalchemy.ext.serializer | 60 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 0 |
| pr #13416: Perf/eager collection bulk extend | 60 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 1 |
| pr #12645: enable mypy "ignore-without-code" rule | 55 | waiting on CI/check fix | identify whether block is CI, merge conflict, or review gate | 378 |
| pr #10574: fixes: #2943, allow overriding validates for inheritance | 55 | waiting on CI/check fix | identify whether block is CI, merge conflict, or review gate | 756 |
| pr #13312: test: add coverage for delete with nested alias exists | 52 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 46 |
| pr #13137: Use _effective_decimal_return_scale in Numeric.result_processor | 52 | waiting on repo-owner test approval | approve or inspect the gated test run before asking the contributor for changes | 137 |
| issue #9930: need docs /warnings that `__init__` is not called on load | 52 | high-priority/blocker | review early; this can change release or regression risk | 1083 |
| issue #6274: Fix the error message when aliased() is invoked against a select() or union() and do legacy coercion | 52 | high-priority/blocker | review early; this can change release or regression risk | 1184 |
| issue #9548: relationship loader options do a "recursive" thing inconsistently | 52 | high-priority/blocker | review early; this can change release or regression risk | 1195 |
| pr #13303: Fix PostgreSQL CHECK constraint reflection stripping unrelated parens | 45 | waiting on contributor | wait for contributor update | 49 |
| pr #13289: fix: raise clear error when default_factory/default passed to WriteOnlyMapped/DynamicMapped relationship | 45 | waiting on contributor | wait for contributor update | 56 |
| pr #13288: fix(pool): use time.monotonic() instead of time.time() for connection timestamps | 45 | waiting on contributor | wait for contributor update | 56 |
| pr #13051: Added implementations for avg & abs | 45 | waiting on contributor | wait for contributor update | 176 |
| pr #12697: Support schema-qualified collation in types for PostgreSQL | 45 | waiting on contributor | wait for contributor update | 209 |
| pr #11296: Ability to specify `WITH` when creating a table + fixes `WITH` when creating an index | 45 | waiting on contributor | wait for contributor update | 606 |
| issue #13420: oracledb async dialect enters cursors synchronously, silently breaking async cursor wrappers | 44 | has linked PR | review linked PR state before touching issue | 0 |
| issue #13419: catastrophic regex backtracking in sqlite inline UNIQUE reflection (ReDoS on get_unique_constraints) | 44 | has linked PR | review linked PR state before touching issue | 0 |
| issue #13407: Cython batch instance processor — ~10–30% on most loads | 44 | has linked PR | review linked PR state before touching issue | 6 |
| issue #13406: use new _raw_all_tuples with subqueryloads | 44 | has linked PR | review linked PR state before touching issue | 6 |
| issue #13227: WriteOnlyMapped: default_factory=list broken in 2.1 due to new declarative_scan validation | 44 | has linked PR | review linked PR state before touching issue | 89 |
| issue #13049: Provide an implementation for avg / abs function with proper type | 44 | has linked PR | review linked PR state before touching issue | 106 |
| issue #13169: Connection pool soft invalidation uses `time.time()` comparison that can silently fail on low-resolution clocks (e.g. Windows ~16 ms) | 44 | has linked PR | review linked PR state before touching issue | 109 |
| issue #13048: Add option for disabling automatic addition of constraint/indexes to the table | 44 | has linked PR | review linked PR state before touching issue | 175 |
| issue #9693: Text type columns using schema qualified collations compile a quoted DDL statement on Postgres | 44 | has linked PR | review linked PR state before touching issue | 210 |
| issue #11620: Deprecate MSSQL enable_identity_insert by default, gate it behind a flag | 44 | has linked PR | review linked PR state before touching issue | 318 |
| issue #11132: MySQL DOUBLE accepts deprecated params that dont propagate from the base DOUBLE type, document this caveat | 44 | has linked PR | review linked PR state before touching issue | 816 |
| issue #11122: Postregresql create table add "with" argument | 44 | has linked PR | review linked PR state before touching issue | 851 |
| pr #12698: Handle schema-qualified collation value in collate() | 43 | draft/noise | identify whether block is CI, merge conflict, or review gate | 350 |
| pr #8136: Add tools for documentation formatting and validation | 43 | draft/noise | identify whether block is CI, merge conflict, or review gate | 756 |
| issue #10675: syntax error with mysql bulk update via INSERT ... SELECT ... ON DUPLICATE KEY UPDATE | 38 | good volunteer slice | scan when time allows | 4 |
| issue #10527: Wrong typing for `with_for_update()`'s `of` argument. | 38 | good volunteer slice | scan when time allows | 4 |
| issue #8341: support MySQL 8.0.13's new magical syntax for function server defaults | 38 | good volunteer slice | scan when time allows | 4 |
| pr #12433: Coerce aliased Select and CompoundSelect to subquery | 35 | waiting on contributor | wait for contributor update | 479 |
| pr #11437: initial commit to update the SQLAlchemy examples | 35 | waiting on contributor | wait for contributor update | 690 |
| pr #11297: Optionally include rollback exception in closed transaction invalid request error message when possible | 35 | waiting on contributor | wait for contributor update | 756 |
| pr #11107: migration note on subqueries | 35 | waiting on contributor | wait for contributor update | 756 |
| pr #12731: fix(typing): allow DeclarativeBase subclasses in with_for_update(of=...) | 33 | draft/noise | wait for contributor update | 358 |
| issue #13357: Type check error when passing lists to `any_`/`all_` | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 12 |
| issue #13204: Immediateload fails to load when combined with inheritance | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 26 |
| issue #13311: Provide a many-table version for has_table | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 42 |
| issue #9154: 11 test failures with PyPy3.9 7.3.11 in 2.0.0 (and git main) | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 60 |
| issue #13281: Modernize type annotations to PEP 604 union syntax | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 60 |
| issue #13212: Support for native JSON in mssql | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 68 |
| issue #13253: im not sure we can type hybrid_methods fully | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 76 |
| issue #13210: Applying a loader option to a parent relationship when using with_polymorphic does not work properly | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 99 |
| issue #12101: Better support of locking clauses (FOR UPDATE/SHARE) when supported | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 106 |
| issue #10676: Add reasonable min version for the internal dialects packages / databases | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 106 |
| issue #10541: Improve scalars performance by trying to avoid the creation of a Row | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 106 |
| issue #7366: extend_existing will add copies of indexes, constraints, etc. as there is no deduplication on name | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 117 |
| issue #13153: `composite` with in-place custom values getter | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 124 |
| issue #9468: Implementation for get_unique_constraints for MS SQL Server | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 134 |
| issue #13113: SQLite insert supports multiple on-conflict clauses in inserts | 28 | needs maintainer decision | decide whether this is bug, use case, docs, or support | 150 |
| pr #12297: refactor(MSExecutionContext): improve identity insert handling and va… | 27 | has linked issue | review when ready | 473 |
| issue #12398: Add existing strategy to conflicting strategies error message | 26 | has linked PR | review linked PR state before touching issue | 251 |
| issue #10341: add official API to have naming conventions work for alternate constraint types | 20 | good volunteer slice | scan when time allows | 244 |
| issue #6511: add support for reflection of collation in types | 20 | good volunteer slice | scan when time allows | 269 |
| issue #6810: Complete SQLAlchemy inline pep484 typing | 20 | good volunteer slice | scan when time allows | 272 |
| issue #5133: Add APPLY operator support for mssql | 20 | good volunteer slice | scan when time allows | 276 |
| issue #5123: apply informative re-raise if a result processor function fails | 20 | good volunteer slice | scan when time allows | 377 |
| issue #9410: document dataclass gotchas so far | 20 | good volunteer slice | scan when time allows | 382 |
| issue #7732: add new execution option "log_note", implement for ORM queries | 20 | good volunteer slice | scan when time allows | 383 |
| issue #2943: @validates on inherited subclasses | 20 | good volunteer slice | scan when time allows | 530 |
| issue #7604: add execution option for asyncpg_timeout | 20 | good volunteer slice | scan when time allows | 538 |
| issue #9493: MappedAsDataclass inherits dataclasses attributes, while the spec says they don't | 20 | good volunteer slice | scan when time allows | 587 |
| issue #10335: Support `Final[Mapped[...]]` in the ORM | 20 | good volunteer slice | scan when time allows | 630 |
| issue #11312: reflecting oracle synonym of synonym over dblink | 20 | good volunteer slice | scan when time allows | 790 |