You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support enums annotated with [JsonConverter(typeof(JsonStringEnumConverter))] as string-serialized enums. These are generated as string-valued TypeScript enums and serialized as strings over the wire.
Added getPromise() method to API callers, returning the current invocation's promise (or undefined if idle).
Improved auto-save indicator in c-admin-editor.
c-list-filters now uses new noFilter metadata to determine which properties are filterable, which results in proper alignment with what the server will allow.
CrudContext.User now has a public setter, allowing the user principal to be overridden (e.g. for testing or non-HttpContext scenarios).
UseViteDevelopmentServer now exposes a PackageManagerCommand option (defaults to "npm") to configure which package manager runs the dev script. Improved error messages when the configured package manager is not installed.
Fix: no-sort-in-computed eslint rule false positive when sorting a locally-declared array variable inside computed().
Fix: Handle the possibility that Audit logging's AuditInterceptor can end up singleton under specific EF usage patterns (e.g. AddDbContextFactory + not using OnConfiguring).
Template Changes
Added Vuetify 4 CSS layer ordering to index.html to work around Vite 8/Rolldown CSS ordering bugs.
Replaced deprecated typeface-roboto with @fontsource/roboto/latin.css and @fontsource/roboto/latin-italic.css.
The first-party password/passkey login flow is now two-stage: enter username first, then choose between password, passkey, or a one-time email code. When Passkeys is enabled, users who sign in with password or email code are then prompted to create a passkey.
Role.Permissions are no longer EF-mapped as enums. The EF property is now List<string>, with a [NotMapped]PermissionEnums wrapper that silently drops unrecognized values. This prevents InvalidOperationException when a Permission enum member is removed but old values remain in the database.
Added rate limiting to authentication pages (sign-in, register, forgot password, reset password, email confirmation, external login) to mitigate brute-force abuse.