- Add NavigationManager.ResolveBrandingUrl and ResolveBrandingCssUrl
- Move the url rules to Volo.Abp.Ui.Branding.BrandingUrlHelper, shared with the mvc themes
Revise translation file to match commercial modules
Adjusted keys and wording in the Account module translations so
they are consistent with the commercial module equivalents.
- Post the changed permission names from the MVC modal instead of the whole tree
- Replace the per-name list scans with dictionary lookups on the read path
- One namespace no longer spans two assemblies now that they live in the domain layer
- The Data Protection purpose keeps its old string, so outstanding 2FA codes stay valid
- Match the ASP.NET Core provider, which keeps the key id and key ring location out of the log
- Assert the provider the manager uses, not only the one the key's descriptor hands out
- The public ProviderType is the last type registered under a key, not the one the manager uses
- Add cross-host coverage for a second user type and for both hosts opting out
- Register them in AbpIdentityDomainModule so both ends of a distributed flow use the same provider
- Add AbpIdentityTokenProviderOptions.UseAbpTokenProviders to opt out on every host
- Enable globally via CompleteUnitOfWorkOnResponseStarting or per path via the Urls list
- OpenIddict opts in its endpoints so token/session rows commit before the response
- Delete the link users after the user is saved, a concurrency failure kept them deleted
- Create organization units of the current tenant only and insert them after every group is valid
- Clear password histories and passkeys, load the collections if they are missing
- Delete sessions, user delegations and link users with UserDeletedEventHandler
- Add OrganizationUnitManager.CreateManyAsync