Repository navigation
Releases
0.0.50
SQLModel includes an official skill that helps coding agents use new features and recommended patterns for your installed version. Install it with
uvx library-skillsin your project. See Develop with AI.
Breaking Changes
0.0.49
SQLModel includes an official skill that helps coding agents use new features and recommended patterns for your installed version. Install it with
uvx library-skillsin your project. See Develop with AI.
Upgrades
- ⬆️ Add support for Python 3.15 and 3.15t. PR #2136 by @tiangolo.
- ⬆️ Upgrade markdown-include-variants to 0.0.10. PR #2130 by @tiangolo.
Docs
- 📝 Use Annotated for FastAPI parameters. PR #2133 by @tiangolo.
- 📝 Adopt unversioned documentation snippets. PR #2132 by @tiangolo.
- 🎨 Use the Zensical modern theme for docs. PR #2128 by @tiangolo.
- 📝 Add AI development guidance and coding agent notices. PR #2127 by @tiangolo.
- 📝 Hide formatting guards in HTML comments. PR #2115 by @tiangolo.
- 🎨 Enable Ruff formatting for Python in Markdown. PR #2114 by @tiangolo.
Internal
- 🔥 Remove obsolete docs snippet commands. PR #2135 by @tiangolo.
- 🔧 Add an agent skills note to GitHub releases. PR #2134 by @tiangolo.
- 🐛 Preserve snippet variants when cleaning up docs sources. PR #2131 by @tiangolo.
- ⬆ Bump the python-packages group across 1 directory with 9 updates. PR #2123 by @dependabot[bot].
- ⬆ Bump pre-commit hooks. PR #2120 by @pr-submit[bot].
- ⬆ Bump sqlalchemy from 2.0.54 to 2.0.55 and from 2.1.3 to 2.1.6. PR #2124 by @dependabot[bot].
- ⬆ Bump the github-actions group with 6 updates. PR #2122 by @dependabot[bot].
- 👷 Disable test workflow run by cron on forks. PR #1611 by @YuriiMotov.
0.0.48
Features
Internal
- ⬆ Bump the python-packages group across 1 directory with 8 updates. PR #2110 by @dependabot[bot].
- ⬆ Bump the github-actions group with 3 updates. PR #2109 by @dependabot[bot].
- ⬆ Bump pre-commit hooks. PR #2108 by @pr-submit[bot].
0.0.47
0.0.46
0.0.45
Breaking Changes
datetime fields now use UTCDateTime, a custom type based on DateTime(timezone=True). It requires aware datetime parameters, normalizes them to UTC, and returns aware UTC values from database reads, including on SQLite and MySQL/MariaDB. Pydantic's AwareDatetime uses the same type, while NaiveDatetime explicitly selects DateTime(timezone=False). Plain datetime validation still accepts both aware and naive values, but naive database parameters now raise an error.
Existing databases are not changed automatically. To retain naive storage, use NaiveDatetime or an explicit Field(sa_type=DateTime(timezone=False)). Explicit SQLAlchemy types retain their existing behavior. PostgreSQL needs a column migration that explicitly specifies the timezone of existing values. SQLite and MySQL/MariaDB keep their column definitions, but existing non-UTC values need a data migration before adopting the new type. Update datetime producers, query parameters, comparisons, and any database defaults to follow the new UTC convention.
Read Datetimes and Timezones: Upgrade Existing Applications before upgrading.
0.0.44
0.0.43
Fixes
Internal
- ⬆ Bump sqlalchemy from 2.0.51 to 2.0.52. PR #2086 by @dependabot[bot].
- ⬆ Bump the python-packages group with 9 updates. PR #2085 by @dependabot[bot].
- ⬆ Bump the github-actions group with 4 updates. PR #2084 by @dependabot[bot].
- ⬆ Bump pre-commit hooks. PR #2083 by @pr-submit[bot].
0.0.42
Features
- 🏷️ Allow
Discriminatortype fordiscriminatorparameter inField. PR #1729 by @YuriiMotov.
0.0.41
Refactors
- 🗑️ Deprecate
min_itemsandmax_itemsparameters ofField. PR #1731 by @YuriiMotov.