Upgrading Volo.Abp.Http.Client 8 to 9
Breaking8.3.4 → 9.3.7Breaking10Security2Platform1Deprecated2New119Changed218Fixed180Other504
BreakingUpgrade verdict
10 breaking changes and a platform requirement change and 2 security fixes.
In plain terms
- Angular projects no longer support the old ngcc compiler.
- The shared MVC UI theme package no longer includes the @abp/toastr dependency.
- Removes the cache prefix configuration from the CmsKit module.
- Renames AbpCustomGuidMapper to AbpGuidCustomBsonTypeMapper.
Must act Top 5 of 15 that need code or config changes
Target frameworks requirement changed in 9.0.0-rc.1: .NETStandard2.0, .NETStandard2.1, net8.0 → .NETStandard2.0, .NETStandard2.1, net8.0, net9.0.
What you must change
Breaking10
Drops legacy ngcc compiler support in Angular.
ngccRemoves @abp/toastr from the aspnetcore.mvc.ui.theme.shared package.
@abp/toastraspnetcore.mvc.ui.theme.sharedRemoves the cache prefix configuration from the CmsKit module.
Renames AbpCustomGuidMapper to AbpGuidCustomBsonTypeMapper.
AbpCustomGuidMapperAbpGuidCustomBsonTypeMapperRenames
IProductRepository to IRepository<Product, Guid>.IProductRepositoryIRepository<Product, Guid>Removes
datatables.net compatible code.datatables.netRemoves the protected modifier from DTO properties.
Removes the React Native template from the open source side and updates docs accordingly.
Removes audit properties from OpenIddictAuthorization and OpenIddictToken.
OpenIddictAuthorizationOpenIddictTokenRemoves ConcurrencyStamp from IdentitySession.
ConcurrencyStampIdentitySessionSecurity2
Bumps System.Linq.Dynamic.Core in Abp 8.3 to 1.6.7 to fix a vulnerability.
System.Linq.Dynamic.CoreStops returning the SMTP password to the UI settings page.
Platform1
Updates MAUI supported OS version to 15.0 for iOS and MacCatalyst.
Deprecations to plan for
Deprecated2
Updates the obsolete attribute message for the UseAbpClaimsMap method.
UseAbpClaimsMapMarks the AddBlazorWebAppServices method as obsolete.
AddBlazorWebAppServicesAPI changes
Generated by DepDelta from published .NET assemblies. Not mixed with prose notes.
- added:
method AbpHttpClientOptions.AddPreSendAction(string remoteServiceName, Action<HttpClientProxyConfig, ClientProxyRequestContext, HttpClient> action): AbpHttpClientOptions - added:
property AbpHttpClientOptions.ProxyHttpClientPreSendActions: Dictionary<string, List<Action<HttpClientProxyConfig, ClientProxyRequestContext, HttpClient>>> { get; }
- changed:
ctor ClientProxyRequestPayloadBuilder(IServiceScopeFactory serviceScopeFactory, IOptions<AbpHttpClientProxyingOptions> httpClientProxyingOptions) → ctor ClientProxyRequestPayloadBuilder(IServiceScopeFactory serviceScopeFactory, IOptions<AbpHttpClientProxyingOptions> httpClientProxyingOptions, IClock clock) - changed:
ctor ClientProxyUrlBuilder(IServiceScopeFactory serviceScopeFactory, IOptions<AbpHttpClientProxyingOptions> httpClientProxyingOptions) → ctor ClientProxyUrlBuilder(IServiceScopeFactory serviceScopeFactory, IOptions<AbpHttpClientProxyingOptions> httpClientProxyingOptions, IClock clock) - added:
protected method ClientProxyApiDescriptionFinder.GetApplicationApiDescriptionModel(): ApplicationApiDescriptionModel - added:
protected method ClientProxyApiDescriptionFinder.GetGenerateProxyFileInfos(List<IFileInfo> fileInfoList, string path = …): void - added:
protected method ClientProxyApiDescriptionFinder.Initialize(): void - added:
protected method ClientProxyRequestPayloadBuilder.ConvertValueToStringAsync(object value): Task<string> - added:
protected property ClientProxyBase.CurrentTimezoneProvider: ICurrentTimezoneProvider { get; } - added:
protected property ClientProxyRequestPayloadBuilder.Clock: IClock { get; } - added:
protected property ClientProxyUrlBuilder.Clock: IClock { get; }