number,title,url,primary_bucket,attention_score,attention_reason,maintainer_next_action,review_decision,merge_state_status,is_draft,failed_status_check_count,pending_status_check_count,failed_status_check_names,pending_status_check_names,closing_issue_numbers,linked_issue_numbers,referenced_issue_numbers,referenced_pr_numbers,supersedes_numbers,superseded_by_numbers,review_comment_count,commit_count,relationship_edge_count,patch_hash,diff_hash,label_text,created_at,updated_at,stale_days,body_excerpt 13421,Fix oracledb async dialect entering cursors synchronously,https://github.com/sqlalchemy/sqlalchemy/pull/13421,PR blocked,73,failed checks or blocked/unstable merge state; PR closes or references open issue numbers,"identify whether block is CI, merge conflict, or review gate",,UNSTABLE,False,0,1,,code_review,13420,13420,13420,,,,0,1,5,0c3b302027ffa8bf607f0aa77f0d5c2af016b28e11c7a53e915233c9fd0ab5eb,956db23d9d5e1216ea23f3102f7507007768cf9459a47e3e29a89bd0a718cb13,,2026-07-07T15:46:09Z,2026-07-07T19:01:25Z,0,"`AsyncAdapt_oracledb_cursor._aenter_cursor()` called the synchronous `cursor.__enter__()` instead of awaiting `cursor.__aenter__()`, silently bypassing third-party async cursor wrappers (e.g. instrumentation libraries) that implement only the async context manager protocol. Removed the incorrect override so the curs..." 13418,Use identifier preparer for string type collations,https://github.com/sqlalchemy/sqlalchemy/pull/13418,waiting on repo owner test approval,70,external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,9693,9693,9693,12697,,,0,1,4,463a0e1aedf2139c1f72bd7216678a838f90b87eeebffd7cdbfd9dfff270b778,5e7bfcb2c00e7c95c7fce2efbc5a39c114a7aaf17176a768f08d226f83ed3ac1,,2026-07-06T21:13:11Z,2026-07-06T21:13:11Z,0,"### Description Fixes #9693. String type collation rendering currently hardcodes quoted collation names, so a PostgreSQL schema-qualified collation such as `schema.collation` is treated as one quoted identifier. This changes string type collation rendering to use the dialect identifier preparer, matching the existi..." 13417,Add type annotations to sqlalchemy.ext.serializer,https://github.com/sqlalchemy/sqlalchemy/pull/13417,waiting on repo owner test approval,60,external test gate is pending maintainer or repository-owner approval,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,,,,,,,0,1,3,f357f4ee675c28fb1d28c2f25e052c1a74b6d671a050922e47e6497c45857fd6,c68ca71d54777d6abcb25459b300058547fecf3ce65f51eff1666bfad0986f4b,,2026-07-06T20:23:53Z,2026-07-07T04:57:58Z,0,"## Summary Adds a small set of inline type annotations to the legacy `sqlalchemy.ext.serializer` extension. ## Details This keeps the change intentionally small and focused. It adds future annotations, removes the module-level mypy ignore marker, and annotates the serializer/deserializer helper methods plus the publ..." 13416,Perf/eager collection bulk extend,https://github.com/sqlalchemy/sqlalchemy/pull/13416,waiting on repo owner test approval,60,external test gate is pending maintainer or repository-owner approval,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,,,,,,,0,6,3,95b8344de7b8d49e88eba6e9402f624468127b50f2493305527ce0a2e7fac5e4,a5b61bf58a802764f5e4053b4fb634a43009b4f2785413fe36895aafb33e3b5a,,2026-07-06T14:25:26Z,2026-07-06T18:47:57Z,1," ### Description ## What changed Every eagerly-loaded child paid two wasted Python frames: the generated instrumentation wrapper (`append`/`add`) plus its `__set` no-op shell, even though with `_sa_initiator=False` the wrapper's enti..." 13415,scalars/mappings performance improvement.,https://github.com/sqlalchemy/sqlalchemy/pull/13415,waiting on repo owner test approval,60,external test gate is pending maintainer or repository-owner approval,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,,,,,,,0,6,1,12a38e23154de72420d22473656185b86e521421541cd91d6f392d93ab775587,df8b4576c2465aa65c605991f8f218b8aab54f9549fb697326c696ac5e21e868,,2026-07-06T14:23:15Z,2026-07-07T18:58:36Z,0," ### Description What changed Core .scalars() built a one-column Row per row only to unwrap it with itemgetter(0); .mappings() built a Row plus a second BaseRow (RowMapping) via attrgetter(""_mapping""). New class-level _fetch_shape hi..." 13405,# Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%),https://github.com/sqlalchemy/sqlalchemy/pull/13405,waiting on repo owner test approval,70,external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,13407,13407,13407,,,,0,7,4,eb4109a71619e4b65828bb90ee4080eba149ec98e6001bf11d389acca8d4b6c5,99ec1ef7d108b80674bb7fe5502234557bd18fb45729e95d08d293b00eb0ee5b,,2026-06-30T20:26:26Z,2026-07-07T18:57:47Z,0," ### Description Add `orm/_loading_cy.py` with `_InstancesBatch`, a whole-chunk row processor built by `_instance_processor()` for the non-refresh, non-polymorphic load path. It replaces the per-row `[proc(row) for row in fetch]` com..." 13404,Subqueryload without per-row Row construction — ~26% on subqueryload,https://github.com/sqlalchemy/sqlalchemy/pull/13404,waiting on repo owner test approval,70,external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,13406,13406,13406,,,,0,4,4,e767c8d3b84b9e7cec1893c53656aa771b6937659bdfa451043e4ca87cbc3fb2,43514e72923ca9314a01b206ee5da4701142c0aa9e52e40ee3d17cd5d99bc1f9,,2026-06-30T20:19:50Z,2026-06-30T20:33:50Z,6," ### Description `_SubqCollections._load` iterated the `Query`, which routes through `Query.__iter__ -> result.unique()` and builds a `Row` object (plus runs the uniquing filter) for every row..." 13402,Allow inspection registrations from module reloads,https://github.com/sqlalchemy/sqlalchemy/pull/13402,PR blocked,73,failed checks or blocked/unstable merge state; PR closes or references open issue numbers,"identify whether block is CI, merge conflict, or review gate",,UNSTABLE,False,0,1,,code_review,10748,10748,10748,,,,1,2,8,7a426d31e718716ce64b3ff671b99e294a11a0aae8cefccb16f761196b4cb156,626328af0d2fb02a795cc7c531851ad65f37e6ee23d83f7be0580cd4a2063e05,,2026-06-28T21:32:54Z,2026-06-29T10:30:18Z,8,### Summary - allow the inspection registry to accept a replacement registrar when it has the same module and name as the existing registration - keep the existing duplicate-registration assertion for conflicting registrars - add regression coverage for module reload style registration and a changelog entry Closes #... 13399,"UniqueConstraint and Index withheld from table via attach_to_table flag, and appended to table via append_constraint",https://github.com/sqlalchemy/sqlalchemy/pull/13399,waiting on repo owner test approval,70,external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,13048,13048,13048,,,,0,5,3,26f25e3a7b96f6cc9ce1557cdd7f8e4d42151256cb59fd8a9236af7506a5cbd0,707727deb19bf9ff5ce628961fc1f0cf1466edafd87637881f5ac1428a01b4f0,,2026-06-26T22:17:43Z,2026-07-02T20:22:37Z,4, ### Description attach_to_table has been included for UniqueConstraint and Index to allow users to choose whether to include or withhold them from the Table (Table.constraints for UniqueConst... 13398,fix catastrophic backtracking in sqlite inline unique reflection regex,https://github.com/sqlalchemy/sqlalchemy/pull/13398,waiting on repo owner test approval,70,external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,13419,13419,13419,,,,0,1,6,1f12d8cb637569dbee08f665f85308851b88edb6419a350ad82571aa5d35f046,4974d0009976007880e4b5cba9d2b24310e5dbac712bc3dfd1764da07143664e,,2026-06-26T19:34:41Z,2026-07-07T06:44:24Z,0,"Fixes: #13419 ### Description While reflecting a SQLite table, `get_unique_constraints` scans the stored `CREATE TABLE` text (taken verbatim from `sqlite_master.sql`) with an `INLINE_UNIQUE_PATTERN` to spot inline `UNIQUE` columns. The tail of that pattern is `[\t ]+[a-z0-9_ ]+?[\t ]+UNIQUE`, where the lazy middle c..." 13368,"Document deprecated MySQL (M,D) float syntax and improve error message",https://github.com/sqlalchemy/sqlalchemy/pull/13368,waiting on repo owner test approval,70,external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,11132,11132,11132,,,,0,1,3,b058c34e9685a3501f3ed0dc4c42e4cc03833da232a878dd2eef636c9bc19e94,f35d106d107b5be7ab021ccddadbc884c2a9dfda0af880e1c4e024c65bae2b8e,,2026-06-11T12:22:22Z,2026-06-11T21:25:24Z,25,"### Description Fixes #11132. Per maintainer guidance in the issue, this PR does two things: 1. **Documents the caveat**: adds a `.. warning::` to the MySQL dialect's `DOUBLE`, `REAL` and `FLOAT` datatype docs stating that the `DOUBLE(M,D)` / `REAL(M,D)` / `FLOAT(M,D)` precision/scale syntaxes are non-standard MySQL..." 13323,Apply tuple bind expressions to expanding IN values,https://github.com/sqlalchemy/sqlalchemy/pull/13323,waiting on repo owner test approval,62,external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers; PR has not updated for at least 45 days,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,8992,8992,8992,,,,0,1,3,8e224c4a05084ef7ca9552f3e35509af937b485e4939192598a814bf2f6f1657,e0dd24be57fd4dafa81110dbf098e5ef7ad1c705c5efd02a0017b7513a7757b8,,2026-05-21T18:06:22Z,2026-05-21T18:06:22Z,47,### Description Tuple-valued expanding parameters now apply each element type's `bind_expression()` when rendering expanded tuples. This matches scalar `IN` behavior for custom types and covers both `render_postcompile` and `literal_binds`. Fixes: #8992 ### Checklist This pull request is: - [ ] A documentation / typ... 13312,test: add coverage for delete with nested alias exists,https://github.com/sqlalchemy/sqlalchemy/pull/13312,waiting on repo owner test approval,52,external test gate is pending maintainer or repository-owner approval; PR has not updated for at least 45 days,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,,,,,,,0,1,1,57609ad28d39f823f5299a9e0660e024e3e0bd987dc521654dd67316f56b9203,e48fd2d34a1971199336d09c3395f5382e96a013354e18a7e2d713a9d4c12c75,,2026-05-20T14:44:20Z,2026-05-21T22:38:55Z,46,### Description Adds test coverage for compiling a `DELETE` statement with a correlated `EXISTS` subquery that uses an aliased table. This verifies that SQLAlchemy correctly renders the aliased table inside the nested `EXISTS` clause while correlating it against the outer `DELETE` target. ### Checklist This pull req... 13303,Fix PostgreSQL CHECK constraint reflection stripping unrelated parens,https://github.com/sqlalchemy/sqlalchemy/pull/13303,waiting on contributor,45,review decision requests changes; PR closes or references open issue numbers; PR has not updated for at least 45 days,wait for contributor update,CHANGES_REQUESTED,UNSTABLE,False,0,1,,gerrit_review,13157,13157,13157,13200,,,0,2,5,d80622302cf8d895934d1523c1e86090fd96d3964b9ab895fb380ee8c7f7442e,d051a87e8c7ba8448a7d095167b6bb179fe71a1681f4c5e84341e0a2c367e724,,2026-05-19T06:09:02Z,2026-05-19T16:44:20Z,49,"Fixes #13157. The second pass over the CHECK constraint body in `get_multi_check_constraints` used a naive ```python re.sub(r""^[\s\n]*\((.+)\)[\s\n]*$"", r""\1"", m.group(1)) ``` which greedily paired the leading `(` with the trailing `)`. For an expression like ``` (x IS NULL OR y IS NULL) AND (x IS NULL OR y IS NULL)..." 13289,fix: raise clear error when default_factory/default passed to WriteOnlyMapped/DynamicMapped relationship,https://github.com/sqlalchemy/sqlalchemy/pull/13289,waiting on contributor,45,review decision requests changes; PR closes or references open issue numbers; PR has not updated for at least 45 days,wait for contributor update,CHANGES_REQUESTED,UNSTABLE,False,0,1,,gerrit_review,13227,13227,13227,,,,7,3,4,f06bdf0d30ee54fe41c913db9cc218aaf3ea5bef1c16957753cd623ea8d45677,822cb2d74c7938e9a18b28a8e8b14d07cdbd97584aca68da1450216621663101,,2026-05-12T07:39:43Z,2026-05-12T18:32:27Z,56,"### Description Fixes: #13227 When `default_factory=list` or `default` is passed to a `WriteOnlyMapped` or `DynamicMapped` relationship, it previously caused cryptic crashes (e.g., `TypeError: LoaderCallableStatus object is not iterable` in `_WriteOnlyAttributeImpl.set()`). This happens because these mapped types ha..." 13288,fix(pool): use time.monotonic() instead of time.time() for connection timestamps,https://github.com/sqlalchemy/sqlalchemy/pull/13288,waiting on contributor,45,review decision requests changes; PR closes or references open issue numbers; PR has not updated for at least 45 days,wait for contributor update,CHANGES_REQUESTED,UNSTABLE,False,0,1,,gerrit_review,13169,13169,13169,,,,1,1,5,0a26e651fabd525df569bc271740d22a72ad1e04a234cda3d6182fe34ee08d85,01a928b419888ead86f7809adf956108b19de0fde0bfad304b7236898a1d03a0,,2026-05-12T06:05:12Z,2026-05-12T12:42:44Z,56,"### Description Replaced all `time.time()` calls in `pool/base.py` with `time.monotonic()` for connection record timestamp tracking. Also updated the comment block that documented the Windows precision caveat. `time.time()` on Windows has approximately 16 ms granularity, which can cause soft invalidation checks to f..." 13137,Use _effective_decimal_return_scale in Numeric.result_processor,https://github.com/sqlalchemy/sqlalchemy/pull/13137,waiting on repo owner test approval,52,external test gate is pending maintainer or repository-owner approval; PR has not updated for at least 45 days,approve or inspect the gated test run before asking the contributor for changes,,UNSTABLE,False,0,1,,gerrit_review,,,,,,,0,1,1,97290ecc110f850aecf28ca3d269192abe9342fd9330f2bff4a85c70c358df65,b2c50a82ce789f55cb66fa691045f120175d121f88994926fda9dcf577a7ca42,,2026-02-20T02:02:46Z,2026-02-20T16:06:59Z,137,"### Description `Numeric.result_processor` computes the decimal return scale inline, bypassing the `decimal_return_scale` parameter, while `Float.result_processor` correctly uses `_effective_decimal_return_scale`. ### Current behavior ```python # Numeric.result_processor - ignores decimal_return_scale return process..." 13051,Added implementations for avg & abs,https://github.com/sqlalchemy/sqlalchemy/pull/13051,waiting on contributor,45,review decision requests changes; PR closes or references open issue numbers; PR has not updated for at least 45 days,wait for contributor update,CHANGES_REQUESTED,DIRTY,False,1,1,mypy-3.14,gerrit_review,13049,13049,13049,,,,3,1,6,9435a1e9782fced80a0d4fd4bef22c7794ba64ac6fe6b0c9e45abf0b3db80c20,11922cf82377497ecfa81b7484fb320952d7edb4ce468df9b56eb75a41d92d62,,2025-12-22T23:09:44Z,2026-01-12T16:46:00Z,176," ### Description Added the implementations for `func.avg()` and `func.abs()`. Fixes: #13049 ### Checklist ### Description I changed the omitted error messages and the tests covering... 12297,refactor(MSExecutionContext): improve identity insert handling and va…,https://github.com/sqlalchemy/sqlalchemy/pull/12297,has linked issue,27,PR closes or references open issue numbers; PR has not updated for at least 45 days,review when ready,,CLEAN,False,0,0,,,11620,11620,11620,,,,6,8,6,444af46122439aea7edc1aa3ed55ede13ac7f08599c2962e1271e21f0fea4699,b5946ef90ee2efc6878b46d521766fc9be01ac2749cb75066521529aad315967,,2025-01-31T15:36:09Z,2025-03-21T09:32:12Z,473,Fixes: #11620 ### Description - Refactored method in to improve readability and maintainability: - Extracted identity insert logic into helper methods: - : Determines if identity insert should be enabled. - : Handles warnings or errors based on . - Simplified the method by delegating responsibilities to these helper... 11437,initial commit to update the SQLAlchemy examples,https://github.com/sqlalchemy/sqlalchemy/pull/11437,waiting on contributor,35,review decision requests changes; PR has not updated for at least 45 days,wait for contributor update,CHANGES_REQUESTED,DIRTY,False,0,0,,,,,,,,,9,4,2,1c25adf0dc0302c14b55861b7a362ec97a39723313890268514c9aa90875a6f5,2dfc5ea3296591c80a60db78cd90e62bd3f64e8ffed4ec1048fc6c99a8f41faa,,2024-06-01T01:31:26Z,2024-08-15T22:39:49Z,690,* most examples now work on 2.x * examples are mostly typed * README files are added for more instruction * examples now have metadata for automation * a preliminary fabric tool is used for testing and reporting Change-Id: Ib5a12cc59b2ea045c48ea90798b887e3b5d4fbbe ### Description There are quite a bit of things goin... 11297,Optionally include rollback exception in closed transaction invalid request error message when possible,https://github.com/sqlalchemy/sqlalchemy/pull/11297,waiting on contributor,35,review decision requests changes; PR has not updated for at least 45 days,wait for contributor update,CHANGES_REQUESTED,CLEAN,False,0,0,,,,,,,,,5,2,0,52e964adc581703092811effc04a872e3cc9011e8b62a1c699f7b2979278f42b,04ffe41c8f0d24e3968136ccbcafa150ee00ea5d58482b07792d1cf652a6c19d,,2024-04-21T07:47:36Z,2024-06-11T13:18:03Z,756,Following discussion https://github.com/sqlalchemy/sqlalchemy/discussions/11243 ### Description 1. Exposing private attribute `SessionTransaction._rollback_exception` using public property `rollback_exception` 2. In `TransactionalContext._trans_ctx_check()` when a closed transaction is detected. first checking a tra... 11296,Ability to specify `WITH` when creating a table + fixes `WITH` when creating an index,https://github.com/sqlalchemy/sqlalchemy/pull/11296,waiting on contributor,45,review decision requests changes; PR closes or references open issue numbers; PR has not updated for at least 45 days,wait for contributor update,CHANGES_REQUESTED,DIRTY,False,0,0,,,11122,11122,11122,,,,9,3,6,c08901951448cff7b93eb6027fc4529f34061c2f099ddf4e5f9b5f0b453eeb9c,eb341fbac70e76198ba1b62b6760c279245fb3a571cf3505e682b05673591dde,,2024-04-20T20:14:59Z,2024-11-08T19:05:42Z,606, ### Description Adding the ability to specify storage parameters via with + fix for specifying index storage parameters (should it be split into two different PRs?). Fixes: #11122 ### Checklist