pypi / sqlmodel
sqlmodel
What changed in sqlmodel 0.0, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.
5 breaking3 deprecations6 new APIs and options9 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initsqlmodel 0.023 changes
Breaking changes 5
Datetime fields now use timezone-aware UTC storage by default, normalize aware values to UTC, and return aware UTC values from database reads. Naive database parameters now raise an error.
Support for sqlmodel-slim is dropped and no more versions will be released; use sqmodel instead.
Python 3.9 is no longer supported.
Support for Pydantic v1 was dropped, so applications using SQLModel must use a supported Pydantic version.
Support for Python 3.8 was dropped.
Deprecations 3
The max_items parameter of Field is deprecated.
The min_items parameter of Field is deprecated.
The sqlmodel-slim package is deprecated and now only depends on sqlmodel.
New APIs and options 6
SQLModel adds direct support for MariaDB, allowing developers to use it as a database.
SQLModel adds direct support for MySQL, allowing developers to use it as a database.
SQLModel adds direct support for PostgreSQL, allowing developers to use it as a database.
NaiveDatetime explicitly selects DateTime(timezone=False), allowing developers to retain naive datetime storage.
The discriminator parameter in Field now accepts the Discriminator type.
A SQLModel Agent Library Skill is available to install with this command.
Fixes and other changes 9
SQLModel adds support for SQLAlchemy 2.1.
Fixes timedelta arithmetic with UTC datetime fields.
Fixes SQLAlchemy type handling in Field.
The type of
__sqlmodel_relationships__is fixed.Fixes the type annotation to avoid explicitly returning Any.
Fixes the return type annotation for
tuple_.Fixes support for Annotated fields when using Pydantic 2.12 or later.
Fixes alias support for Pydantic v2.
Fixes RuntimeError: dictionary changed size during iteration in sqlmodel_update().