Skip to content

6.5.0

Choose a tag to compare

@ascott18 ascott18 released this 05 May 22:35
· 94 commits to main since this release
  • 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.