# What changed in sqlmodel

> 23 changes in sqlmodel 0.0 from its official release notes, upgrade guides and advisories: 5 breaking, 3 deprecations, 6 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/pypi/sqlmodel/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## sqlmodel 0.0

### Breaking changes

- 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. (0.0.45) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.45)
- Support for sqlmodel-slim is dropped and no more versions will be released; use sqmodel instead. (0.0.36) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.36)
- Python 3.9 is no longer supported. (0.0.35) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.35)
- Support for Pydantic v1 was dropped, so applications using SQLModel must use a supported Pydantic version. (0.0.31) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.31)
- Support for Python 3.8 was dropped. (0.0.30) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.30)

### Deprecations

- The max_items parameter of Field is deprecated. (0.0.41) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.41)
- The min_items parameter of Field is deprecated. (0.0.41) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.41)
- The sqlmodel-slim package is deprecated and now only depends on sqlmodel. (0.0.33) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.33)

### New APIs and options

- SQLModel adds direct support for MariaDB, allowing developers to use it as a database. (0.0.47) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.47)
- SQLModel adds direct support for MySQL, allowing developers to use it as a database. (0.0.47) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.47)
- SQLModel adds direct support for PostgreSQL, allowing developers to use it as a database. (0.0.47) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.47)
- NaiveDatetime explicitly selects DateTime(timezone=False), allowing developers to retain naive datetime storage. (0.0.45) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.45)
- The discriminator parameter in Field now accepts the Discriminator type. (0.0.42) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.42)
- A SQLModel Agent Library Skill is available to install with this command. (0.0.39) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.39)

### Fixes and other changes

- SQLModel adds support for SQLAlchemy 2.1. (0.0.48) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.48)
- Fixes timedelta arithmetic with UTC datetime fields. (0.0.46) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.46)
- Fixes SQLAlchemy type handling in Field. (0.0.43) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.43)
- The type of `__sqlmodel_relationships__` is fixed. (0.0.39) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.39)
- Fixes the type annotation to avoid explicitly returning Any. (0.0.38) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.38)
- Fixes the return type annotation for `tuple_`. (0.0.38) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.38)
- Fixes support for Annotated fields when using Pydantic 2.12 or later. (0.0.32) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.32)
- Fixes alias support for Pydantic v2. (0.0.29) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.29)
- Fixes RuntimeError: dictionary changed size during iteration in sqlmodel_update(). (0.0.28) — [release notes](https://github.com/fastapi/sqlmodel/releases/tag/0.0.28)
