## Release Notes: SeaORM 2.0.0-rc.31 *(since 2.0.0-rc.30)* ### New Features **`ne_all` for `Condition`** Added `ne_all` to complement `eq_any`, allowing negation of multiple values in conditions. **Typed column for `TextUuid`** (#2717) Added typed column support for `TextUuid` type. **Custom derives for `Model` and `ModelEx`** (#2933) Macros now support `model_attrs` and `model_ex_attrs` to pass custom derives and attributes to the generated `Model` and `ModelEx` structs. Enables customization such as TypeScript interface names when using `ts-rs`: ```rust #[sea_orm::model] #[derive(TS, ...)] #[sea_orm(model_attrs(ts(rename = "Fruit")))] #[sea_orm(model_ex_attrs(ts(rename = "FruitEx")))] struct Model { ... } ``` ### Bug Fixes **`COUNT(*)` overflow on MySQL and SQLite** (#2944) `COUNT(*)` now returns `i64` on all backends. MySQL's `COUNT(*)` returns `BIGINT` (64-bit); previously it was read as `i32`, which could overflow for large datasets. **Proxy error handling** (#2935) Fixed proxy error handling. ### Improvements **Relaxed trait bounds for `eq_any` / `ne_all`** Relaxed trait bounds on `eq_any` and `ne_all` for broader compatibility. Depends on latest `sea-query`. **Raw string hashes** (#2381) Refactored to remove raw string hashes for improved readability.