What SeaQL/sea-orm shipped
Written by FoxPlug from the repository's own releases; not affiliated with Sea-ql. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/SeaQL/sea-orm; Sea-ql did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of October 19, 2026
What shipped
- EntityLoader now implements QuerySelect, so Entity::load() supports.join(..), including joining through many-to-many relations. Pull request #3213
- SQLite migrations now run in transactions by default. Pull request #3225
- TryGetable::try_get no longer allocates the prefixed column name for each column of each row, reducing heap allocations in large joins. Pull request #3242
- Establish_links now uses a HashSet to check existing junction links, replacing the linear scan per model. Pull request #3241
- The loader now moves loaded models out of the map instead of cloning them for every parent when using
load_many. Pull request #3240 - Smol was updated for testing. Pull request #3243
Why it matters
This week adds join support to EntityLoader, making it possible to filter on columns reached through joins in Entity::load(). It also improves performance for many-to-many saving and large joined selects, and makes SQLite migrations transactional by default.
Changelog entry
- EntityLoader implements QuerySelect, adding join and
join_revso Entity::load() supports.join(..). Pull request #3213 - SQLite migrations run in transactions by default. Pull request #3225
- TryGetable::try_get avoids allocating the prefixed column name. Pull request #3242
- Establish_links uses a HashSet to check existing junction links. Pull request #3241
- The loader moves loaded models out instead of cloning them. Pull request #3240
- Updated smol for testing. Pull request #3243
EntityLoader now supports.join(..) so Entity::load() can filter on joined columns. SQLite migrations run in transactions by default. Plus fewer allocations in joined selects and faster many-to-many link checks.
This week in SeaORM: EntityLoader now implements QuerySelect, so Entity::load() supports.join(..) and can filter on columns reachable through joins, including many-to-many relations. SQLite migrations now run in transactions by default. Joined selects allocate less in TryGetable::try_get, establish_links uses a HashSet to check existing junction links, and the loader moves loaded models out instead of cloning them. smol was also updated for testing.
Week of October 5, 2026
What shipped
- The CLI can now be invoked as a Cargo subcommand, so cargo sea generate entity works and Cargo aliases can be defined for long commands. Pull request #3187
- Strongly-typed columns gained
ne_allfor not-equal-all comparisons and avg for numeric columns. Pull request #3224 - Backend-specific statement building was simplified. Pull request #3226
- SQLx TLS configuration is now documented. Pull request #3227
- A pedantic Clippy warning about unused async trait implementations in EntityLoader is now ignored so cargo clippy with pedantic lints stays clean. Pull request #3229
Why it matters
This week the CLI takes a step toward being usable as a standard Cargo subcommand, which lets users define Cargo aliases for long commands like entity generation. Strongly-typed columns also get ne_all and avg, filling gaps noticed while updating projects to SeaORM 2.0. Alongside these, SQLx TLS configuration is documented and backend statement building is simplified.
Changelog entry
- Support invoking sea-orm-cli as a Cargo subcommand. Pull request #3187
- Add
ne_alland avg to strongly-typed columns. Pull request #3224 - Simplify backend-specific statement building. Pull request #3226
- Document SQLx TLS configuration. Pull request #3227
- Ignore clippy::unused-async-trait-impl warnings in EntityLoader. Pull request #3229
Cargo sea is here. The CLI can now run as a Cargo subcommand, so you can define aliases for long commands like sea generate entity. Also this week: ne_all and avg on strongly-typed columns, documented SQLx TLS configuration, and simplified backend statement building.
Several changes this week for people using SeaORM. The CLI can now be invoked as a Cargo subcommand, so cargo sea generate entity works and Cargo aliases can be defined for long commands. Strongly-typed columns gained ne_all for not-equal-all comparisons and avg for numeric columns. SQLx TLS configuration is now documented. Backend-specific statement building was simplified. A pedantic Clippy warning about unused async trait implementations in EntityLoader is now ignored so cargo clippy with pedantic lints stays clean.
Week of September 21, 2026
What shipped
- SeaORM 2.0.4 released with
select_exceptmethod to query all columns except specified ones Release - Sea-orm-cli 2.0.4 released with arrow upgraded to version 60 Release
- Fixed linked joins to properly respect
condition_typein join conditions Pull request #3203 - Fixed schema sync failing when dropping stale unique indexes on MySQL Pull request #3202
- Fixed
save_ascast not being applied toeq_anyandne_allarray filters Pull request #3208 - Reorganized test structure to reduce compilation time from 81s to 22-31s on 15 cores Pull request #3210
Why it matters
SeaORM 2.0.4 adds a frequently requested feature for column selection while fixing several bugs in join conditions, schema synchronization, and type casting. The test infrastructure improvements significantly reduce build times for contributors.
Changelog entry
- Add
select_exceptto select all columns except the given ones Release - Respect
condition_typein linked joins Pull request #3203 - Fix schema sync failing to drop a stale index on MySQL Pull request #3202
- Apply
save_ascast toeq_any/ne_allarrays Pull request #3208 - Split tests/common for faster compilation Pull request #3210
SeaORM 2.0.4 is out with select_except for flexible column queries, better join condition handling, MySQL schema sync fixes, and 3x faster test builds.
SeaORM 2.0.4 released with select_except for querying all columns except specified ones. Also includes fixes for condition_type in linked joins, MySQL unique index dropping, and save_as casting in array filters. Test compilation time reduced from 81s to 22-31s through smarter test module organization.
More from SeaQL/sea-orm on GitHub
Merged pull requests
- Update 2.0.4.md (#3212, merged September 26, 2026 by Huliiiiii) (source)
- Respect
condition_typein linked joins (#3203, merged September 25, 2026 by Dev-next-gen) (source) - Fix schema sync failing to drop a stale index on MySQL (#3202, merged September 25, 2026 by Dev-next-gen) (source)
- Add
select_exceptto select all columns except the given ones (#3211, merged September 25, 2026 by tyt2y3) (source) - Split tests/common so each test binary compiles only what it uses (#3210, merged September 25, 2026 by tyt2y3) (source)
- Add
select_except(#3123, merged September 25, 2026 by WookiesRpeople2) (source) - improve CI runtime (#3209, merged September 25, 2026 by tyt2y3) (source)
- Apply
save_ascast toeq_any/ne_allarrays (#3208, merged September 23, 2026 by tyt2y3) (source) - docs: drop redundant install block from CLI and migration READMEs (#3207, merged September 20, 2026 by toyeshhm) (source)
- sea-orm-migration: don't depend on stream feature (#3200, merged September 15, 2026 by ggirol-rc) (source)
- Fix
left_join_linkedjoining multi-hop links onto the wrong alias (#3199, merged September 14, 2026 by Dev-next-gen) (source) - Refine SeaORM 2.0.3 release notes (#3198, merged September 13, 2026 by Huliiiiii) (source)
- CI: whitelist dependency build scripts with cargo-deny (#3259, merged November 10, 2026 by tyt2y3) (source)
- Add an option to ignore applied migrations without a file (#3246, merged November 9, 2026 by patrick-immometrica) (source)
- Fix a MySQL enum being overwritten when two columns share a name (#3237, merged November 9, 2026 by paoValle) (source)
- Keep database password and SQLCipher key out of connect trace spans (#3251, merged November 9, 2026 by sarankumar1325) (source)
- Fix ActiveModel JSON deserialization for missing fields (#3217, merged November 8, 2026 by Huliiiiii) (source)
- Stop converting PostgreSQL enums to custom types (#3250, merged October 30, 2026 by Huliiiiii) (source)
- Run SQLite migrations in transactions by default (#3225, merged October 25, 2026 by Huliiiiii) (source)
- Update smol for testing (#3243, merged October 25, 2026 by Huliiiiii) (source)
- feat: implement
QuerySelectforEntityLoadersoEntity::load()supports.join(..)(#3213, merged October 25, 2026 by Ricky1800) (source) - Avoid allocating the prefixed column name in TryGetable::try_get (#3242, merged October 25, 2026 by patrick-immometrica) (source)
- Use a HashSet to check existing junction links in
establish_links(#3241, merged October 25, 2026 by patrick-immometrica) (source) - Move loaded models out instead of cloning them in the loader (#3240, merged October 25, 2026 by patrick-immometrica) (source)