.. change::
    :tags: bug, orm
    :tickets: 4719

    Calling the :meth:`.Query.instances` method without passing a
    :class:`.QueryContext` is deprecated.   The original use case for this was
    that a :class:`.Query` could yield ORM objects when given only the entities
    to be selected as well as a DBAPI cursor object.  However, for this to work
    correctly there is essential metadata that is passed from a SQLAlchemy
    :class:`.ResultProxy` that is derived from the mapped column expressions,
    which comes originally from the :class:`.QueryContext`.   To retrieve ORM
    results from arbitrary SELECT statements, the :meth:`.Query.from_statement`
    method should be used.

