github sqlalchemy/sqlalchemy rel_1_3_2
1.3.2

latest releases: rel_2_0_29, rel_2_0_28, rel_1_4_52...
4 years ago

1.3.2

Released: April 2, 2019

  • [bug] [documentation] [sql] Thanks to change_3981, we no longer need to rely on recipes that
    subclass dialect-specific types directly, TypeDecorator can now
    handle all cases. Additionally, the above change made it slightly less
    likely that a direct subclass of a base SQLAlchemy type would work as
    expected, which could be misleading. Documentation has been updated to use
    TypeDecorator for these examples including the PostgreSQL
    "ArrayOfEnum" example datatype and direct support for the "subclass a type
    directly" has been removed.

    References: #4580

  • [bug] [postgresql] Modified the Select.with_for_update.of parameter so that if a
    join or other composed selectable is passed, the individual Table
    objects will be filtered from it, allowing one to pass a join() object to
    the parameter, as occurs normally when using joined table inheritance with
    the ORM. Pull request courtesy Raymond Lu.

    References: #4550

  • [feature] [postgresql] Added support for parameter-less connection URLs for the psycopg2 dialect,
    meaning, the URL can be passed to create_engine() as
    "postgresql+psycopg2://" with no additional arguments to indicate an
    empty DSN passed to libpq, which indicates to connect to "localhost" with
    no username, password, or database given. Pull request courtesy Julian
    Mehnle.

    References: #4562

  • [bug] [ext] [orm] Restored instance-level support for plain Python descriptors, e.g.
    @property objects, in conjunction with association proxies, in that if
    the proxied object is not within ORM scope at all, it gets classified as
    "ambiguous" but is proxed directly. For class level access, a basic class
    level__get__() now returns the
    AmbiguousAssociationProxyInstance directly, rather than raising
    its exception, which is the closest approximation to the previous behavior
    that returned the AssociationProxy itself that's possible. Also
    improved the stringification of these objects to be more descriptive of
    current state.

    References: #4573, #4574

  • [bug] [orm] Fixed bug where use of with_polymorphic() or other aliased construct
    would not properly adapt when the aliased target were used as the
    Select.correlate_except() target of a subquery used inside of a
    column_property(). This required a fix to the clause adaption
    mechanics to properly handle a selectable that shows up in the "correlate
    except" list, in a similar manner as which occurs for selectables that show
    up in the "correlate" list. This is ultimately a fairly fundamental bug
    that has lasted for a long time but it is hard to come across it.

    References: #4537

  • [bug] [orm] Fixed regression where a new error message that was supposed to raise when
    attempting to link a relationship option to an AliasedClass without using
    PropComparator.of_type() would instead raise an AttributeError.
    Note that in 1.3, it is no longer valid to create an option path from a
    plain mapper relationship to an AliasedClass without using
    PropComparator.of_type().

    References: #4566

Don't miss a new sqlalchemy release

NewReleases is sending notifications on new releases.