Skip to content

Upgrading Volo.Abp.Http.Client 3 to 4

Breaking3.3.2 → 4.4.4Breaking76Security5Deprecated8New352Changed428Fixed462Other393

BreakingUpgrade verdict

68 breaking changes and 5 security fixes.

  • 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.
Top 5 of 79 that need code or config changes
Breaking68
Removes CreateAppSettingsSecretsStep from ModuleProjectBuildPipelineBuilder.
CreateAppSettingsSecretsStepModuleProjectBuildPipelineBuilder
Rename some services and properties of StateChecker.
StateChecker
Removes the EntityFrameworkCore.DbMigrations project from the solution and makes it compatible with CLI.
EntityFrameworkCore.DbMigrations
Removes setting the connection string on the tenant management UI.
Removes the set of all DbContext interfaces.
Removes unused method AbpCommonDbContextRegistrationOptions.ShouldRegisterDefaultRepositoryFor.
AbpCommonDbContextRegistrationOptions.ShouldRegisterDefaultRepositoryFor
Removes the AddAutofac method.
AddAutofac
Removes the multi-lingual objects feature.
Removes the CmsKit Content component.
Renames EmailSetting to Emailing.
EmailSettingEmailing
Removes BlogLookupDto from Cms Kit.
BlogLookupDto
Removes BlogId from BlogPost update in Cms Kit.
BlogPostBlogId
Renames EmailSettingManagement to EmailSetting.
EmailSettingManagementEmailSetting
Removes TwoFactor's settings and feature.
TwoFactor
Removes the features and settings of TwoFactor in the identity module.
Removes the DeleteMigrationsIfNeeded method from the CLI since migrations are already removed.
DeleteMigrationsIfNeeded
Renames the tag controller to tag admin controller.
TagControllerTagAdminController
Removes Form attribute usages from SubmitButton.
SubmitButton
Removes Form usage from SubmitButton.
SubmitButton
Repository 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.deepPatch
Removes the @ngxs/router-plugin dependency from the @abp/ng.core package.
@abp/ng.core@ngxs/router-plugin
Renames OnSearchAsync to SearchEntitiesAsync.
OnSearchAsyncSearchEntitiesAsync
Removes AsyncHelper usage for the IdentityOptions.
AsyncHelperIdentityOptions
Removes 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.core
Uses 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.Shared
Removes Bootstrap JS and jQuery dependencies for the Blazor UI.
Removes the Async suffix from IUiMessageService.
IUiMessageService
Removes the SessionState.
SessionState
Requests removing OnOpeningEditModalAsync.
OnOpeningEditModalAsync
Removes the unique constraint on the Name property of ApiResource, IdentityResource and ApiScope and updates migrations.
ApiResource.NameIdentityResource.NameApiScope.Name
Adds the basic-theme module.
Uses DateTimeModelBinder instead of SimpleTypeModelBinder for binding datetime.
DateTimeModelBinderSimpleTypeModelBinder
Replaces tui-editor with the toast-ui editor.
tui-editortoast-uiTuiEditor
Makes IRemoteServiceConfigurationProvider async.
IRemoteServiceConfigurationProvider
Introduces Blazor.Server and Blazor.WebAssembly packages for the application modules.
Blazor.ServerBlazor.WebAssembly
Marks EntityAction.RequiredPolicy obsolete for the Blazor UI.
EntityAction.RequiredPolicy
Makes Virtual File Middleware compatible with IWebHostEnvironment.WebRootFileProvider.
IWebHostEnvironment.WebRootFileProvider
Moves EllipsisDirective to the @abp/ng.theme.shared package and adds a new EllipsisModule.
EllipsisDirective@abp/ng.theme.sharedEllipsisModule
Makes FeatureManagementProvider's NormalizeProviderKey method async.
FeatureManagementProvider.NormalizeProviderKey
Makes transaction management async.
Creates a Loader Service.
Adds an Async suffix to the ConfigureMainMenu method.
ConfigureMainMenuConfigureMainMenuAsync
Uses object as the parameter of form binding and converts all parameters into camel case.
Replaces AbpOptionsFactory with AbpDynamicOptionsManager.
AbpDynamicOptionsManagerAbpOptionsFactory
Uses a specialized dictionary class for IHasExtraProperties.
IHasExtraProperties
Refactors 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.
AbpCrudPageBaseOpenEditModalAsync
Makes 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.
AbpCrudPageBase
Updates CreateGetListInputAsync on AbpCrudPageBase.
AbpCrudPageBaseCreateGetListInputAsync
Creates auto controller routes in kebab-case, changing generated route URLs.
Changes the namespace of IBrandingProvider.
IBrandingProvider
Updates the Blazor UI Entity actions component.
Unifies route format, renaming checkPassword to check-password.
checkPasswordcheck-password
Resolves the tenant asynchronously.
Makes ITenantResolver's ResolveTenantIdOrName method async.
ITenantResolverResolveTenantIdOrName
Creates auto controller routes in kebab-case.
Upgrades IdentityServer4 to 4.x.
IdentityServer4
Changes the type of IHasExtraProperties.ExtraProperties.
IHasExtraPropertiesExtraProperties
Moves to System.Text.Json.
System.Text.Json
Security5
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.
Blazor
Deprecated6
Marks ServiceProvider properties as Obsolete in base classes where LazyServiceProvider is available.
ServiceProviderLazyServiceProvider
Deprecates legacy object extension types.
Deprecates SortOrderIconComponent.
SortOrderIconComponent
Deprecates the ConfigState.
ConfigState
Deprecates the attribute usage of PermissonDirective.
PermissonDirective
Deprecates the attribute usage of PermissionDirective.
PermissionDirective