pypi / sqlalchemy-continuum
sqlalchemy-continuum
What changed in sqlalchemy-continuum 1 to 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-25.
6 breaking1 new APIs and options1 behavior and defaults6 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initsqlalchemy-continuum 26 changes
Breaking changes 4
The version fetcher's next_query() now returns a Select instead of a Query; run it with session.scalars().
The version fetcher's previous_query() now returns a Select instead of a Query; run it with session.scalars().
RelationshipBuilder.process_query() is removed.
SQLAlchemy 1.4 is no longer supported; the supported range is SQLAlchemy>=2.0.2,<2.2. Installs on 1.4 keep resolving to SQLAlchemy-Continuum 1.9.x.
New APIs and options 1
SQLModel table models can now be versioned the same way as plain SQLAlchemy models, without adding a dependency on SQLModel.
Fixes and other changes 1
Version lookups, version relationships, changed_entities, vacuum(), count_versions(), and ActivityPlugin use select() instead of the legacy Query API, avoiding warnings with SQLModel sessions; results are unchanged.
sqlalchemy-continuum 18 changes
Breaking changes 2
Python 3.10 is no longer supported; the minimum supported Python is 3.11, and installs on Python 3.10 resolve to SQLAlchemy-Continuum 1.8.0.
With SQLAlchemy 2.1, bare postgresql:// URLs select psycopg 3; install psycopg 3 or use an explicit postgresql+psycopg2:// URL to keep psycopg2.
Behavior and default changes 1
SQLAlchemy 2.1 is supported; the supported range is now SQLAlchemy>=1.4.53,<2.2. Python 3.10 installs continue resolving to SQLAlchemy 2.0.
Fixes and other changes 5
Python 3.15 is supported.
No longer flushes pending session changes on SQLAlchemy 2.1, so the count matches SQLAlchemy 1.4 and 2.0.
No longer raises ValueError on SQLAlchemy pre-release versions such as 2.1.0rc2.
When user_cls is configured, the Transaction model no longer picks up stray registry, Base, and user_cls class attributes, avoiding registry shadowing and an SQLAlchemy 2.1 SAWarning.
An exception during mapper configuration no longer silently disables version model building for later configurations.