Skip to content

Commit 5ac7cfa

Browse files
committed
- 2.0.49
1 parent 83f3831 commit 5ac7cfa

12 files changed

Lines changed: 116 additions & 106 deletions

File tree

doc/build/changelog/changelog_20.rst

Lines changed: 114 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,120 @@
1010

1111
.. changelog::
1212
:version: 2.0.49
13-
:include_notes_from: unreleased_20
13+
:released: April 3, 2026
14+
15+
.. change::
16+
:tags: postgresql, bug
17+
:tickets: 10902
18+
19+
Fixed regular expression used when reflecting foreign keys in PostgreSQL to
20+
support escaped quotes in table names.
21+
Pull request courtesy of Austin Graham
22+
23+
.. change::
24+
:tags: bug, oracle
25+
:tickets: 13150
26+
27+
Fixed issue in Oracle dialect where the :class:`_oracle.RAW` datatype would
28+
not reflect the length parameter. Pull request courtesy Daniel Sullivan.
29+
30+
31+
.. change::
32+
:tags: usecase, mssql
33+
:tickets: 13152
34+
35+
Enhanced the ``aioodbc`` dialect to expose the ``fast_executemany``
36+
attribute of the pyodbc cursor. This allows the ``fast_executemany``
37+
parameter to work with the ``mssql+aioodbc`` dialect. Pull request
38+
courtesy Georg Sieber.
39+
40+
.. change::
41+
:tags: bug, typing
42+
:tickets: 13167
43+
44+
Fixed a typing issue where the typed members of :data:`.func` would return
45+
the appropriate class of the same name, however this creates an issue for
46+
typecheckers such as Zuban and pyrefly that assume :pep:`749` style
47+
typechecking even if the file states that it's a :pep:`563` file; they see
48+
the returned name as indicating the method object and not the class object.
49+
These typecheckers are actually following along with an upcoming test
50+
harness that insists on :pep:`749` style name resolution for this case
51+
unconditionally. Since :pep:`749` is the way of the future regardless,
52+
differently-named type aliases have been added for these return types.
53+
54+
55+
.. change::
56+
:tags: bug, orm
57+
:tickets: 13176
58+
59+
Fixed issue where :meth:`_orm.Session.get` would bypass the identity map
60+
and emit unnecessary SQL when ``with_for_update=False`` was passed,
61+
rather than treating it equivalently to the default of ``None``.
62+
Pull request courtesy of Joshua Swanson.
63+
64+
.. change::
65+
:tags: bug, mssql, reflection
66+
:tickets: 13181, 13182
67+
68+
Fixed regression from version 2.0.42 caused by :ticket:`12654` where the
69+
updated column reflection query would receive SQL Server "type alias" names
70+
for special types such as ``sysname``, whereas previously the base name
71+
would be received (e.g. ``nvarchar`` for ``sysname``), leading to warnings
72+
that such types could not be reflected and resulting in :class:`.NullType`,
73+
rather than the expected :class:`.NVARCHAR` for a type like ``sysname``.
74+
The column reflection query now joins ``sys.types`` a second time to look
75+
up the base type when the user type name is not present in
76+
:attr:`.MSDialect.ischema_names`, and both names are checked in
77+
:attr:`.MSDialect.ischema_names` for a match. Pull request courtesy Carlos
78+
Serrano.
79+
80+
.. change::
81+
:tags: mssql, usecase
82+
:tickets: 13185
83+
84+
Remove warning for SQL Server dialect when a new version is detected.
85+
The warning was originally added more than 15 years ago due to an unexpected
86+
value returned when using an old version of FreeTDS.
87+
The assumption is that since then the issue has been resolved, so make the
88+
SQL Server dialect behave like the other ones that don't have an upper bound
89+
check on the version number.
90+
91+
.. change::
92+
:tags: bug, orm
93+
:tickets: 13193
94+
95+
Fixed issue where chained :func:`_orm.joinedload` options would not be
96+
applied correctly when the final relationship in the chain is declared on a
97+
base mapper and accessed through a subclass mapper in a
98+
:func:`_orm.with_polymorphic` query. The path registry now correctly
99+
computes the natural path when a property declared on a base class is
100+
accessed through a path containing a subclass mapper, ensuring the loader
101+
option can be located during query compilation.
102+
103+
.. change::
104+
:tags: bug, orm, inheritance
105+
:tickets: 13202
106+
107+
Fixed issue where using :meth:`_orm.Load.options` to apply a chained loader
108+
option such as :func:`_orm.joinedload` or :func:`_orm.selectinload` with
109+
:meth:`_orm.PropComparator.of_type` for a polymorphic relationship would
110+
not generate the necessary clauses for the polymorphic subclasses. The
111+
polymorphic loading strategy is now correctly propagated when using a call
112+
such as ``joinedload(A.b).options(joinedload(B.c.of_type(poly)))`` to match
113+
the behavior of direct chaining e.g.
114+
``joinedload(A.b).joinedload(B.c.of_type(poly))``.
115+
116+
.. change::
117+
:tags: bug, orm, inheritance
118+
:tickets: 13209
119+
120+
Fixed issue where using chained loader options such as
121+
:func:`_orm.selectinload` after :func:`_orm.joinedload` with
122+
:meth:`_orm.PropComparator.of_type` for a polymorphic relationship would
123+
not properly apply the chained loader option. The loader option is now
124+
correctly applied when using a call such as
125+
``joinedload(A.b.of_type(poly)).selectinload(poly.SubClass.c)`` to eagerly
126+
load related objects.
14127

15128
.. changelog::
16129
:version: 2.0.48

doc/build/changelog/unreleased_20/10902.rst

Lines changed: 0 additions & 7 deletions
This file was deleted.

doc/build/changelog/unreleased_20/13150.rst

Lines changed: 0 additions & 7 deletions
This file was deleted.

doc/build/changelog/unreleased_20/13152.rst

Lines changed: 0 additions & 8 deletions
This file was deleted.

doc/build/changelog/unreleased_20/13167.rst

Lines changed: 0 additions & 14 deletions
This file was deleted.

doc/build/changelog/unreleased_20/13176.rst

Lines changed: 0 additions & 8 deletions
This file was deleted.

doc/build/changelog/unreleased_20/13181.rst

Lines changed: 0 additions & 15 deletions
This file was deleted.

doc/build/changelog/unreleased_20/13185.rst

Lines changed: 0 additions & 10 deletions
This file was deleted.

doc/build/changelog/unreleased_20/13193.rst

Lines changed: 0 additions & 11 deletions
This file was deleted.

doc/build/changelog/unreleased_20/13202.rst

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)