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.