v1.9.0
What's changed
After 2 beta releases, Advanced Alchemy 1.9.0 is here! This release is packed with enhancements and bug fixes.
A few of the highlights:
- SQLModel models now work seamlessly with repositories and services
- Read/write replica routing makes scaling across primary and replica databases first-class
- Dogpile caching support
- Composite PK support in repositories
- ...and tons more.
New features 🚀
- feat: add SQLModel compatibility by @cofin in #686
- feat(repository): add composite primary key support by @cofin in #640
- feat: refactor serializers & code cleanup by @cofin in #661
- feat(#536): add support .csv files for open_fixture by @HairlessVillager in #615
- feat: initial support for dogpile caching by @cofin in #636
- feat: add read/write replica routing support by @cofin in #635
- feat: add NullFilter/NotNullFilter and with_for_update to get_one methods by @cofin in #638
Bugfixes 🐛
- fix: add
was_attribute_set()guard to relationship loop inupdate()by @sohbit in #685 - fix: nullable relationship detection and FileObject nested metadata by @cofin in #679
- fix: make
model_from_dictmodel parameter positional-only by @cofin in #673 - fix: use typing.List to avoid list() method shadowing on Python 3.14 by @cofin in #674
- fix(litestar): isolate in-filter query params for multi-field depende… by @hasansezertasan in #667
- fix(litestar DTO): Ensure ORM descriptor fields are not evaluated during DTO creation by @provinzkraut in #664
- fix: recursively convert nested dicts in model_from_dict by @cofin in #637
- fix: add click compatibility layer for CLI alias support by @cofin in #645
- fix(fastapi): resolve session lifecycle timing with generator dependencies by @cofin in #648
- fix: complete SQLAlchemy inheritance pattern support (STI, JTI, CTI) by @cofin in #611
- fix: add a call
set_async_contextto_get_session_from_requestin Sanic extension by @AlexPetul in #643 - fix: linting changes related to latest Starlette by @cofin in #634
- refactor(listeners): clean up listeners by @cofin in #663
New contributors 🎉
- @sohbit made their first contribution in #685
- @HairlessVillager made their first contribution in #615
- @apejcic made their first contribution in #629
- @AlexPetul made their first contribution in #643
- @hasansezertasan made their first contribution in #667
Full Changelog
v1.8.2...v1.9.0