https://www.sqlalchemy.org/blog/2021/03/15/sqlalchemy-1.4.0-released/
Субъективно, из наиболее интересного хочется отметить поддержку асинхронного режима. Да, теперь можно await'ить запросы, написанные в как в Core-стиле (это когда запрос составляется по кусочкам из вызовов разных методов), так и в стиле ORM (это когда таблицы и отношения между ними описываются прям классами), и оно не будет блокировать цикл событий! Для работы асинхронщины нужно иметь специальный драйвер БД, например, для PostgreSQL вместо
psycopg2 придётся использовать asyncpg.Разговоры про асинхронные ORM ходили уже давно, но после того, как я почитал объяснения Майка Бэйера (автор SQLAlchemy), почему асинхронные ORM — это слишком сложно и игра не стоит свеч, я подумал, что алхимия никогда не станет асинхронной. Задача и правда выглядит нетривиально. А оно как вдруг возьми и стань ☺️