Changelog

v2.1.6 — 2026/05/23

Fix search_cond

I have forgot to rexport search_cond.. is use in admin/*, so afeter runique start , for moment , you can add use runique::search_cond; in folder admin

Ajouté extend

extend!{} block in derive_form!{}: a new extend { Table { fields: { ... } } } block allows adding custom columns to framework tables (e.g. eihwaz_users) using the same field DSL as derive_form!{}. The macro generates the ALTER TABLE migration, injects the columns into the existing SeaORM entity, and produces an AdminForm for use in admin!{}. The base table columns remain invisible to the user — only the declared extensions are surfaced.

Ajouté admin

Structured tracing in admin CRUD operations and all party to of framework: handle_create_post and handle_edit_post now emit structured log events controlled by RuniqueLog::admin.crud. Events cover form validation outcome, successful save, and database errors (unique violations distinguished from other errors).

Fix migrations

EihwazSessionsMigration::down() failed with "no such table: eihwaz_sessions": AdminTableMigration::down() already drops eihwaz_sessions (with .if_exists()). When migrate reset ran all DOWN migrations in reverse, AdminTableMigration::down() executed first, leaving the table gone. EihwazSessionsMigration::down() then tried to drop it again without .if_exists() and crashed. Fixed by adding .if_exists() to EihwazSessionsMigration::down()