Upgrading Volo.Abp.Http.Client 3 to 4
Breaking3.3.2 → 4.4.4Breaking76Security5Deprecated8New352Changed428Fixed462Other393
BreakingUpgrade verdict
68 breaking changes and 5 security fixes.
In plain terms
- Removes CreateAppSettingsSecretsStep from ModuleProjectBuildPipelineBuilder.
- Renames services and properties in StateChecker, so code using the old names must be updated.
- Removes the EntityFrameworkCore.DbMigrations project from the solution and makes it compatible with CLI.
- The tenant management screen no longer lets you set a connection string for a tenant.
Must act Top 5 of 79 that need code or config changes
What you must change
Breaking68
Removes CreateAppSettingsSecretsStep from ModuleProjectBuildPipelineBuilder.
CreateAppSettingsSecretsStepModuleProjectBuildPipelineBuilderRename some services and properties of StateChecker.
StateCheckerRemoves the EntityFrameworkCore.DbMigrations project from the solution and makes it compatible with CLI.
EntityFrameworkCore.DbMigrationsRemoves setting the connection string on the tenant management UI.
Removes the set of all DbContext interfaces.
Removes unused method AbpCommonDbContextRegistrationOptions.ShouldRegisterDefaultRepositoryFor.
AbpCommonDbContextRegistrationOptions.ShouldRegisterDefaultRepositoryForRemoves the AddAutofac method.
AddAutofacRemoves the multi-lingual objects feature.
Removes the CmsKit Content component.
Renames EmailSetting to Emailing.
EmailSettingEmailingRemoves BlogLookupDto from Cms Kit.
BlogLookupDtoRemoves BlogId from BlogPost update in Cms Kit.
BlogPostBlogIdRenames EmailSettingManagement to EmailSetting.
EmailSettingManagementEmailSettingRemoves TwoFactor's settings and feature.
TwoFactorRemoves the features and settings of TwoFactor in the identity module.
Removes the
DeleteMigrationsIfNeeded method from the CLI since migrations are already removed.DeleteMigrationsIfNeededRenames the tag controller to tag admin controller.
TagControllerTagAdminControllerRemoves Form attribute usages from SubmitButton.
SubmitButtonRemoves Form usage from SubmitButton.
SubmitButtonRepository classes are no longer registered to dependency injection by default.
Renames the InternalStore patch method to deepPatch and adds a new patch method for shallow patching.
InternalStore.patchInternalStore.deepPatchRemoves the @ngxs/router-plugin dependency from the @abp/ng.core package.
@abp/ng.core@ngxs/router-pluginRenames OnSearchAsync to SearchEntitiesAsync.
OnSearchAsyncSearchEntitiesAsyncRemoves AsyncHelper usage for the IdentityOptions.
AsyncHelperIdentityOptionsRemoves all deprecated components, services, etc. from Angular packages.
Removes abstract component bases and more for Blazor components.
Removes the Angular Account Module UI.
Removes SessionState from the @abp/ng.core package.
SessionState@abp/ng.coreUses IBrandingProvider in Volo.Abp.UI and removes the one in Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.
IBrandingProviderVolo.Abp.UIVolo.Abp.AspNetCore.Mvc.UI.Theme.SharedRemoves Bootstrap JS and jQuery dependencies for the Blazor UI.
Removes the Async suffix from IUiMessageService.
IUiMessageServiceRemoves the SessionState.
SessionStateRequests removing OnOpeningEditModalAsync.
OnOpeningEditModalAsyncRemoves the unique constraint on the Name property of ApiResource, IdentityResource and ApiScope and updates migrations.
ApiResource.NameIdentityResource.NameApiScope.NameAdds the basic-theme module.
Uses DateTimeModelBinder instead of SimpleTypeModelBinder for binding datetime.
DateTimeModelBinderSimpleTypeModelBinderReplaces tui-editor with the toast-ui editor.
tui-editortoast-uiTuiEditorMakes IRemoteServiceConfigurationProvider async.
IRemoteServiceConfigurationProviderIntroduces Blazor.Server and Blazor.WebAssembly packages for the application modules.
Blazor.ServerBlazor.WebAssemblyMarks EntityAction.RequiredPolicy obsolete for the Blazor UI.
EntityAction.RequiredPolicyMakes Virtual File Middleware compatible with IWebHostEnvironment.WebRootFileProvider.
IWebHostEnvironment.WebRootFileProviderMoves EllipsisDirective to the @abp/ng.theme.shared package and adds a new EllipsisModule.
EllipsisDirective@abp/ng.theme.sharedEllipsisModuleMakes FeatureManagementProvider's NormalizeProviderKey method async.
FeatureManagementProvider.NormalizeProviderKeyMakes transaction management async.
Creates a Loader Service.
Adds an Async suffix to the ConfigureMainMenu method.
ConfigureMainMenuConfigureMainMenuAsyncUses object as the parameter of form binding and converts all parameters into camel case.
Replaces AbpOptionsFactory with AbpDynamicOptionsManager.
AbpDynamicOptionsManagerAbpOptionsFactoryUses a specialized dictionary class for IHasExtraProperties.
IHasExtraPropertiesRefactors namespaces for Blazor components.
Moves retry logic for the Dynamic HTTP Client Proxy to the startup template.
Replaces the Id parameter with object at OpenEditModalAsync in AbpCrudPageBase.
AbpCrudPageBaseOpenEditModalAsyncMakes registering a new Angular locale function able to override.
Makes Creation audit properties of the entities readonly.
Fixes inconsistent Async suffix usage.
Replaces abstract base class with partial class for Blazor components.
Updates AbpCrudPageBase.cs.
AbpCrudPageBaseUpdates CreateGetListInputAsync on AbpCrudPageBase.
AbpCrudPageBaseCreateGetListInputAsyncCreates auto controller routes in kebab-case, changing generated route URLs.
Changes the namespace of IBrandingProvider.
IBrandingProviderUpdates the Blazor UI Entity actions component.
Unifies route format, renaming checkPassword to check-password.
checkPasswordcheck-passwordResolves the tenant asynchronously.
Makes ITenantResolver's ResolveTenantIdOrName method async.
ITenantResolverResolveTenantIdOrNameCreates auto controller routes in kebab-case.
Upgrades IdentityServer4 to 4.x.
IdentityServer4Changes the type of IHasExtraProperties.ExtraProperties.
IHasExtraPropertiesExtraPropertiesMoves to System.Text.Json.
System.Text.JsonSecurity5
Prevents possible XSS attacks.
Suggests adding anti-XSS measures.
Adds security header middleware.
Uses an XSS-preventing render by default when a column does not specify one.
Adds antiforgery token to HTTP request headers for the Blazor UI.
BlazorDeprecations to plan for
Deprecated6
Marks ServiceProvider properties as Obsolete in base classes where LazyServiceProvider is available.
ServiceProviderLazyServiceProviderDeprecates legacy object extension types.
Deprecates SortOrderIconComponent.
SortOrderIconComponentDeprecates the ConfigState.
ConfigStateDeprecates the attribute usage of PermissonDirective.
PermissonDirectiveDeprecates the attribute usage of PermissionDirective.
PermissionDirective