Changelog

v2.0.00 — Upcoming

Feature derive_form

The DSL now uses semantic field types instead of raw SQL types. This is a breaking change — String, i32, VARCHAR(n) and other SQL primitives are removed from the fields: block and replaced by meaningful types that describe what the field is, not how it is stored. The parser now automatically generates both the correct SQL schema (adapted per database engine detected from .env) and the form field code. No more duplicate declarations between model and form.

Fix Runique

Follows derive_form 2.0.0. All projects using model!{} macros must migrate their field declarations to the new semantic syntax. The framework itself gains no breaking changes beyond the DSL — middleware, admin, forms engine, and templates are unchanged. A migration guide will be provided covering the type mapping from 1.x SQL types to 2.0 semantic types.

v1.1.54 — 2026/04/11

Feature Admin view

Admin — permissions: removed from admin!{}: The permissions: [...] field is no longer accepted by the admin!{} macro. Remove it from all resource declarations — access control is now fully managed from the admin panel via scoped permissions. See the Permissions documentation.

Fix Admin view

search & filters (HTMX): Fetch-based admin list view with filter persistence. Includes search bar functionality, partially powered by HTMX.

Feature Admin view

Supports grouped/permission for actions (e.g. bulk delete/edit) in the admin view.

Fix Admin view

Admin — CSRF on login with DB sessions: Fixed CSRF token validation on the admin login page when using database-backed sessions.

Fix Macro search

Macro wrapping sea-orm queries, simplified and intuitive syntax

Fix Deriv_form

Modified — Procedural macro deriv_form to support Sea-ORM relations Updated — search! macro to align with deriv_form changes

Fix Logout

logout (session not cleared): Fixed an issue where users remained authenticated after logout. The session is now properly invalidated server-side, and the cookie is correctly cleared.

Fix Migration

table relationship order: Fixed table relationship ordering issues during creation. The CLI now generates migrations in the correct dependency order.

Fix Admin view

resource-level permissions system: Replaces static permissions: [...] with a database-driven system managed from the admin panel. Scoped permissions use resource_key and access_type (view / write). Write access is enforced server-side before every POST operation.

Fix Admin view

configure {} block in admin!{}: Allows configuring display options (list_display, list_exclude, list_filter) for any registered resource, including builtins. Admin — builtin resources (users, droits, groupes): Automatically registered with full CRUD support. No manual admin!{} declaration required.

Fix Admin view

resource_order([...]) allows controlling navigation order in the admin panel.

Fix Admin view

user creation flow: Users are created inactive and activated only after password setup via email reset flow. Login is blocked until activation is complete. separate create_form: support: Allows defining a dedicated form for creation, enabling password reset flow integration.

Fix Logger

Configurable logging (log_error, log_db, log_security, etc.) with builder error

Fix Macro search

up to take a relationship declaration

v1.1.53 — 2026/03/21

Fix Versionning Css

CSS versioning is now based on the file size.

Fix pagination

Pagination in the admin view is now functional and configurable in `admin.rs`.

Fix Boolean field

An unchecked boolean field is now treated as `false` rather than absent — the `required` validation no longer requires the box to be checked.

Fix Admin view

Restore template overriding functionality through the builder in the admin panel, and separate the demo logic from it

Fix Role vue admin

The addition of access permissions in the admin view is now functional; the documentation will provide more detailed information.

Fix Exercice interactif

Interactive exercise based on a prompt, connected to an AI, offering exercises on the current course -> in beta on the demo

Fix Password

The password field has been removed from the admin edit view. Password changes will now be handled through a dedicated email-based reset form.

Fix trim

Passwords and other database entries are now automatically passed through a `trim`, preventing any discrepancies caused by accidental spaces.

Fix Invalidation de session

Ability to choose whether to invalidate an active session when logging in from another device.

v1.1.51 — 20/03/2026

Fix Version derive_form -> Runique

The release order was reversed, publishing Runique 1.1.50 with the wrong version of `derive_form` 1.1.33 instead of 1.1.34.

v1.1.50 — 2026-03-20

Fix FileField — validation des restrictions

Invalid files are automatically deleted from the disk if validation fails. Submissions without a file no longer create orphaned files. The `upload_to()` function sets the exact path, and files are only moved in `finalize()` after successful validation.

Fix RuniqueForm::clear() + Forms::clear_values()

Clears all field values (except CSRF) and resets `submitted` to `false`. Requires `&mut self` — can be called from a handler or from `save(&mut self)`.

Feature derive_form — option file()

Models can now accept a file upload link.

v1.1.49 — 2026-03-19

Fix Makemigrations — ordre FK et updated_at

The new tables are topologically sorted before generation. `updated_at` is generated with `ON UPDATE CURRENT_TIMESTAMP` (MySQL) or a trigger (PostgreSQL). The diff detects columns that have gained or lost `DEFAULT CURRENT_TIMESTAMP`.

Fix is_valid() bloquait tous les formulaires

`set_expected_value()` has been removed from `Forms::new()`. CSRF is already validated upstream in Prisme — double validation was causing every submission to be rejected, even with correct data.