.. change::
    :tags: bug, engine
    :tickets: 4712

    The :class:`.Connection` object will now not clear a rolled-back
    transaction  until the outermost transaction is explicitly rolled back.
    This is essentially the same behavior that the ORM :class:`.Session` has
    had for a long time, where an explicit call to ``.rollback()`` on all
    enclosing transactions is required for the transaction to logically clear,
    even though the DBAPI-level transaction has already been rolled back.
    The new behavior helps with situations such as the "ORM rollback test suite"
    pattern where the test suite rolls the transaction back within the ORM
    scope, but the test harness which seeks to control the scope of the
    transaction externally does not expect a new transaction to start
    implicitly.

    .. seealso::

        :ref:`change_4712`

