## 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.
