From: Mike Bayer Date: Thu, 19 Jan 2023 00:21:39 +0000 (-0500) Subject: - 2.0.0rc3 X-Git-Tag: rel_2_0_0rc3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c1308646db2321462a56b6d06e0353c230874dc;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - 2.0.0rc3 --- diff --git a/doc/build/changelog/changelog_20.rst b/doc/build/changelog/changelog_20.rst index 690f8e96d7..b80f791e61 100644 --- a/doc/build/changelog/changelog_20.rst +++ b/doc/build/changelog/changelog_20.rst @@ -10,7 +10,84 @@ .. changelog:: :version: 2.0.0rc3 - :include_notes_from: unreleased_20 + :released: January 18, 2023 + + .. change:: + :tags: bug, typing + :tickets: 9096 + + Fixes to the annotations within the ``sqlalchemy.ext.hybrid`` extension for + more effective typing of user-defined methods. The typing now uses + :pep:`612` features, now supported by recent versions of Mypy, to maintain + argument signatures for :class:`.hybrid_method`. Return values for hybrid + methods are accepted as SQL expressions in contexts such as + :meth:`_sql.Select.where` while still supporting SQL methods. + + .. change:: + :tags: bug, orm + :tickets: 9099 + + Fixed issue where using a pep-593 ``Annotated`` type in the + :paramref:`_orm.registry.type_annotation_map` which itself contained a + generic plain container or ``collections.abc`` type (e.g. ``list``, + ``dict``, ``collections.abc.Sequence``, etc. ) as the target type would + produce an internal error when the ORM were trying to interpret the + ``Annotated`` instance. + + + + .. change:: + :tags: bug, orm + :tickets: 9100 + + Added an error message when a :func:`_orm.relationship` is mapped against + an abstract container type, such as ``Mapped[Sequence[B]]``, without + providing the :paramref:`_orm.relationship.container_class` parameter which + is necessary when the type is abstract. Previously the the abstract + container would attempt to be instantiated at a later step and fail. + + + + .. change:: + :tags: orm, feature + :tickets: 9060 + + Added a new parameter to :class:`_orm.Mapper` called + :paramref:`_orm.Mapper.polymorphic_abstract`. The purpose of this directive + is so that the ORM will not consider the class to be instantiated or loaded + directly, only subclasses. The actual effect is that the + :class:`_orm.Mapper` will prevent direct instantiation of instances + of the class and will expect that the class does not have a distinct + polymorphic identity configured. + + In practice, the class that is mapped with + :paramref:`_orm.Mapper.polymorphic_abstract` can be used as the target of a + :func:`_orm.relationship` as well as be used in queries; subclasses must of + course include polymorphic identities in their mappings. + + The new parameter is automatically applied to classes that subclass + the :class:`.AbstractConcreteBase` class, as this class is not intended + to be instantiated. + + .. seealso:: + + :ref:`orm_inheritance_abstract_poly` + + + .. change:: + :tags: bug, postgresql + :tickets: 9106 + + Fixed regression where psycopg3 changed an API call as of version 3.1.8 to + expect a specific object type that was previously not enforced, breaking + connectivity for the psycopg3 dialect. + + .. change:: + :tags: oracle, usecase + :tickets: 9086 + + Added support for the Oracle SQL type ``TIMESTAMP WITH LOCAL TIME ZONE``, + using a newly added Oracle-specific :class:`_oracle.TIMESTAMP` datatype. .. changelog:: :version: 2.0.0rc2 diff --git a/doc/build/changelog/unreleased_20/9060.rst b/doc/build/changelog/unreleased_20/9060.rst deleted file mode 100644 index 85bdf01d4d..0000000000 --- a/doc/build/changelog/unreleased_20/9060.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. change:: - :tags: orm, feature - :tickets: 9060 - - Added a new parameter to :class:`_orm.Mapper` called - :paramref:`_orm.Mapper.polymorphic_abstract`. The purpose of this directive - is so that the ORM will not consider the class to be instantiated or loaded - directly, only subclasses. The actual effect is that the - :class:`_orm.Mapper` will prevent direct instantiation of instances - of the class and will expect that the class does not have a distinct - polymorphic identity configured. - - In practice, the class that is mapped with - :paramref:`_orm.Mapper.polymorphic_abstract` can be used as the target of a - :func:`_orm.relationship` as well as be used in queries; subclasses must of - course include polymorphic identities in their mappings. - - The new parameter is automatically applied to classes that subclass - the :class:`.AbstractConcreteBase` class, as this class is not intended - to be instantiated. - - .. seealso:: - - :ref:`orm_inheritance_abstract_poly` - diff --git a/doc/build/changelog/unreleased_20/9086.rst b/doc/build/changelog/unreleased_20/9086.rst deleted file mode 100644 index 55031d98b5..0000000000 --- a/doc/build/changelog/unreleased_20/9086.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: oracle, usecase - :tickets: 9086 - - Added support for the Oracle SQL type ``TIMESTAMP WITH LOCAL TIME ZONE``, - using a newly added Oracle-specific :class:`_oracle.TIMESTAMP` datatype. diff --git a/doc/build/changelog/unreleased_20/9096.rst b/doc/build/changelog/unreleased_20/9096.rst deleted file mode 100644 index 70755fc8f9..0000000000 --- a/doc/build/changelog/unreleased_20/9096.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, typing - :tickets: 9096 - - Fixes to the annotations within the ``sqlalchemy.ext.hybrid`` extension for - more effective typing of user-defined methods. The typing now uses - :pep:`612` features, now supported by recent versions of Mypy, to maintain - argument signatures for :class:`.hybrid_method`. Return values for hybrid - methods are accepted as SQL expressions in contexts such as - :meth:`_sql.Select.where` while still supporting SQL methods. diff --git a/doc/build/changelog/unreleased_20/9099.rst b/doc/build/changelog/unreleased_20/9099.rst deleted file mode 100644 index c5e997235b..0000000000 --- a/doc/build/changelog/unreleased_20/9099.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 9099 - - Fixed issue where using a pep-593 ``Annotated`` type in the - :paramref:`_orm.registry.type_annotation_map` which itself contained a - generic plain container or ``collections.abc`` type (e.g. ``list``, - ``dict``, ``collections.abc.Sequence``, etc. ) as the target type would - produce an internal error when the ORM were trying to interpret the - ``Annotated`` instance. - - diff --git a/doc/build/changelog/unreleased_20/9100.rst b/doc/build/changelog/unreleased_20/9100.rst deleted file mode 100644 index 4c3c65ad59..0000000000 --- a/doc/build/changelog/unreleased_20/9100.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 9100 - - Added an error message when a :func:`_orm.relationship` is mapped against - an abstract container type, such as ``Mapped[Sequence[B]]``, without - providing the :paramref:`_orm.relationship.container_class` parameter which - is necessary when the type is abstract. Previously the the abstract - container would attempt to be instantiated at a later step and fail. - - diff --git a/doc/build/changelog/unreleased_20/9106.rst b/doc/build/changelog/unreleased_20/9106.rst deleted file mode 100644 index 02e0495bcc..0000000000 --- a/doc/build/changelog/unreleased_20/9106.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, postgresql - :tickets: 9106 - - Fixed regression where psycopg3 changed an API call as of version 3.1.8 to - expect a specific object type that was previously not enforced, breaking - connectivity for the psycopg3 dialect. diff --git a/doc/build/conf.py b/doc/build/conf.py index 5b71c30069..0ced4f2848 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -236,9 +236,9 @@ copyright = "2007-2023, the SQLAlchemy authors and contributors" # noqa # The short X.Y version. version = "2.0" # The full version, including alpha/beta/rc tags. -release = "2.0.0rc2" +release = "2.0.0rc3" -release_date = "January 9, 2023" +release_date = "January 18, 2023" site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako"