Skip to main content
Version: 4.0.0

v4.0.0

Release Date: February 2026

This release completes the proxy service migration started in v3.2.0. Legacy services are now formally deprecated (to be removed in v5.0), Identity.State and other state interfaces now reference proxy DTOs directly, extension contributor types are updated to use proxy DTOs, and several API return types have been improved.

Highlights

  • Legacy services deprecated - IdentityService, SaasService, LanguageManagementService, AuditLoggingService, and others are deprecated in favor of proxy services introduced in v3.2.0
  • State types migrated to proxy DTOs - Identity.State, LanguageManagement.State, and other state interfaces now reference proxy DTOs
  • Extension contributors use proxy DTOs - All extension contributor callback types across saas, audit-logging, and other packages now use proxy DTOs
  • Improved pagination - LanguageService.getList() now returns PagedResultDto with totalCount
  • New admin settings module - @abpjs/account-pro adds a full admin settings module with captcha, external providers, and recaptcha services
  • New file upload config - @abpjs/file-management adds xsrfHeaderName config option
  • Deprecation timeline extended - All deprecated types previously marked "removed in v4.0" are now "removed in v5.0"

Breaking Changes

@abpjs/core

  • EnvironmentService.getApiUrl() signature changed - Now accepts an optional apiName parameter with default value instead of relying on overloads
  • FeatureManagementModule, PermissionManagementModule removed - These were removed from core. Use the standalone packages directly.
  • authGuard$ removed - Use authGuard (non-observable) instead

@abpjs/identity-pro

  • Identity.State now uses proxy DTOs - All fields (roles, users, selectedRole, selectedUser, selectedUserRoles, claims, selectedClaim) now reference IdentityRoleDto, IdentityUserDto, ClaimTypeDto instead of legacy namespace types
  • claimTypes removed from Identity.State - Use the claims field (PagedResultDto<ClaimTypeDto>) instead

@abpjs/permission-management

  • PermissionManagementService removed - Use PermissionsService from proxy instead
  • 7 legacy namespace types removed from PermissionManagement namespace
  • usePermissionManagement hook types changed - Uses proxy DTOs

@abpjs/tenant-management

  • TenantManagementService removed - Use TenantService from proxy instead
  • updateTenant signature changed - Now takes (id, body) instead of single object
  • fetchTenants and createTenant param types changed - Use proxy DTOs

@abpjs/audit-logging

  • AuditLoggingService and EntityChangeService removed - Use AuditLogsService from proxy instead
  • useAuditLogs hook types changed - Returns proxy DTOs
  • Extension token types updated - From namespace types to proxy DTOs

@abpjs/language-management

  • LanguageService.getList() return type changed - From ListResultDto<LanguageDto> to PagedResultDto<LanguageDto>
  • LanguageManagement.State.languageResponse type changed - From ListResultDto to PagedResultDto

@abpjs/saas

  • Extension contributor types now use proxy DTOs - SaasEntityActionContributors, SaasToolbarActionContributors, and all other contributor types now use EditionDto/SaasTenantDto instead of Saas.Edition/Saas.Tenant

@abpjs/theme-shared

  • DEFAULT_VALIDATION_BLUEPRINTS format changed - Now uses the proxy validation format
  • ConfirmationComponent prop changes - Updated to align with new confirmation service

@abpjs/schematics

  • Minimum Node.js version - Now requires Node.js 18+

New Features

@abpjs/account-pro

  • Admin Settings Module - Complete admin module with services and hooks:
    • AccountAdminCaptchaService - Captcha settings management
    • AccountAdminExternalProviderService - External login provider settings
    • AccountAdminRecaptchaService - Google reCAPTCHA settings
    • AccountAdminSettingsService - General account settings
    • AccountAdminTwoFactorService - Two-factor authentication settings
    • React hooks: useAccountAdminCaptchaSettings, useAccountAdminExternalProviderSettings, useAccountAdminRecaptchaSettings, useAccountAdminSettings, useAccountAdminTwoFactorSettings

@abpjs/file-management

  • xsrfHeaderName config option - Customize the XSRF/CSRF header name for file uploads

@abpjs/language-management

  • getLanguagesTotalCount() restored - Previously removed in v3.0.0, now restored on LanguageManagementStateService

@abpjs/permission-management

  • toggleSelectThisTab() - New method for tab-level permission toggling
  • Parent/child permission cascading - Selecting a parent permission now cascades to children

Deprecations

The following legacy services and types are now formally deprecated and will be removed in v5.0:

PackageDeprecatedReplacement
@abpjs/identity-proIdentityServiceIdentityRoleService, IdentityUserService, IdentityClaimTypeService
@abpjs/identity-proIdentitySecurityLogService (legacy)Import from proxy/identity
@abpjs/identity-proIdentity namespace typesProxy DTOs (IdentityRoleDto, IdentityUserDto, etc.)
@abpjs/language-managementLanguageManagementServiceLanguageService, LanguageTextService
@abpjs/language-managementLanguageManagement namespace typesProxy DTOs (LanguageDto, LanguageTextDto, etc.)
@abpjs/saasSaasServiceTenantService, EditionService
@abpjs/saasSaas namespace typesProxy DTOs (SaasTenantDto, EditionDto, etc.)
@abpjs/account-proeAccountComponents, eAccountRouteNames, ManageProfileTabsServiceNew admin services

Packages

PackageVersionChanges
@abpjs/core4.0.0EnvironmentService signature change, removed modules, authGuard$ removed
@abpjs/theme-shared4.0.0Validation blueprints format, confirmation component updates
@abpjs/theme-basic4.0.0Version alignment
@abpjs/account4.0.0Version alignment
@abpjs/account-pro4.0.0New admin settings module (5 services, 5 hooks), deprecations
@abpjs/identity4.0.0Services table updated to proxy services
@abpjs/identity-pro4.0.0Identity.State migrated to proxy DTOs, claimTypes removed, legacy services deprecated
@abpjs/feature-management4.0.0Version alignment
@abpjs/permission-management4.0.0PermissionManagementService removed, hook types updated, new cascading behavior
@abpjs/setting-management4.0.0Version alignment
@abpjs/tenant-management4.0.0TenantManagementService removed, updateTenant signature changed
@abpjs/components4.0.0Version alignment
@abpjs/schematics4.0.0Node.js 18+ required, --url flag now required for proxy commands
@abpjs/file-management4.0.0New xsrfHeaderName config option
@abpjs/audit-logging4.0.0AuditLoggingService/EntityChangeService removed, hook types updated
@abpjs/language-management4.0.0getList() returns PagedResultDto, getLanguagesTotalCount() restored, legacy service deprecated
@abpjs/saas4.0.0Extension contributor types use proxy DTOs, SaasService deprecated
@abpjs/text-template-management4.0.0Version alignment
@abpjs/chat4.0.0Version alignment

Upgrade

Free Packages

npm install @abpjs/core@4.0.0 @abpjs/theme-shared@4.0.0 @abpjs/theme-basic@4.0.0 @abpjs/account@4.0.0 @abpjs/identity@4.0.0 @abpjs/feature-management@4.0.0 @abpjs/permission-management@4.0.0 @abpjs/setting-management@4.0.0 @abpjs/tenant-management@4.0.0 @abpjs/components@4.0.0 @abpjs/schematics@4.0.0

Pro Packages

npm install @abpjs/account-pro@4.0.0 @abpjs/audit-logging@4.0.0 @abpjs/chat@4.0.0 @abpjs/identity-pro@4.0.0 @abpjs/language-management@4.0.0 @abpjs/saas@4.0.0 @abpjs/text-template-management@4.0.0 @abpjs/file-management@4.0.0

See Also