v3.2.0
Release Date: February 2026
This release is a major feature drop introducing typed proxy services across nearly all packages, a new file management package, CLI proxy code generation, replaceable components, and many new utilities in core. Most packages now include proxy services and DTOs that provide full type safety when communicating with ABP backend APIs.
Highlights
- Proxy Services & DTOs - Typed proxy services and DTO models across identity, tenant-management, permission-management, feature-management, audit-logging, language-management, saas, text-template-management, and more
- New Package: @abpjs/file-management - File and directory management with FileDescriptorService and DirectoryDescriptorService
- CLI Proxy Generation - @abpjs/schematics now includes
abpjsCLI tool for generating typed proxy code from a running ABP backend - ReplaceableComponentsService - New service-based component replacement system in @abpjs/core (deprecating the action-based approach)
- Custom Tree Node Templates - @abpjs/components Tree now supports custom node and icon templates
- Profile & 2FA Services - New ProfileService in @abpjs/account-pro for profile pictures and two-factor authentication
Breaking Changes
@abpjs/account
RegisterResponse.twoFactorEnabledremoved - This property has been removed from the registration response. Fetch 2FA status separately from the user's profile or settings.
New Package
@abpjs/file-management
New package providing file and directory management services for ABP React applications.
import { FileDescriptorService, DirectoryDescriptorService } from '@abpjs/file-management';
const fileService = new FileDescriptorService(restService);
const dirService = new DirectoryDescriptorService(restService);
// File operations
const files = await fileService.getList('directory-id');
await fileService.create({ directoryId: 'dir-id', name: 'doc.pdf', mimeType: 'application/pdf', content: bytes });
// Directory operations
const children = await dirService.getList('parent-id');
await dirService.create({ parentId: 'root-id', name: 'New Folder' });
Includes route providers, policy names, component keys, and proxy DTOs. See: File Management Overview
New Features
@abpjs/core
ReplaceableComponentsService- New service for managing replaceable components withadd(),remove(),getComponent(),onUpdate()methodsuseReplaceableComponent(key, defaultComponent)hook - React hook for using replaceable componentsApplicationConfiguration.CurrentUsernew fields -emailVerified,name,surName,phoneNumber,phoneNumberVerifiedInternalStore<State>- Lightweight state management class withpatch(),sliceState(),subscribe(),reset()downloadBlob(blob, filename)- Utility for downloading blobs as filesinterpolate(text, params)- String parameter substitutionreloadRoute()- Reload the current routeoAuthStorage/clearOAuthStorage()- OAuth storage management utilitiesLocalizationService.getResource()- Get an entire localization resourceConfigStateService.getLocalizationResource()- Get localization resources from config stateDeepPartial<T>- New utility type for deep partial objects
@abpjs/components
- Custom Node Templates - Tree component supports
customNodeTemplateandexpandedIconTemplateprops - TreeAdapter update methods - New
handleUpdate()andupdateTreeFromList()methods
@abpjs/schematics
- CLI Proxy Generation -
proxy-add,proxy-refresh,proxy-removecommands for generating typed proxy code - React Query Hook Generation - Auto-generated
useQuery/useMutationhooks for each service - Updated
PROXY_WARNING- Now includes guidance for npm module publishing
@abpjs/account-pro
ProfileService- Profile pictures (get/set with Gravatar or custom image) and two-factor authentication managementManageProfileTabsService- Service for managing profile tabs in the Manage Profile pageProfilePictureTypeenum -Gravatar,ImageeTwoFactorBehaviourenum - Two-factor authentication behavior options
Proxy Services (across multiple packages)
New typed proxy services providing full type safety for ABP backend API calls:
| Package | Proxy Services |
|---|---|
| @abpjs/identity | IdentityRoleService, IdentityUserService, IdentityUserLookupService, ProfileService |
| @abpjs/identity-pro | IdentityRoleService, IdentityUserService, IdentityClaimTypeService, + more |
| @abpjs/tenant-management | TenantService (CRUD + connection string management) |
| @abpjs/permission-management | PermissionsService (get/update permissions by provider) |
| @abpjs/feature-management | FeaturesService (get/update features by provider) |
| @abpjs/audit-logging | AuditLogsService (logs + statistics) |
| @abpjs/language-management | LanguageService, LanguageTextService |
| @abpjs/saas | TenantService, EditionService |
| @abpjs/text-template-management | TemplateDefinitionService, TemplateContentService |
@abpjs/theme-shared
- Datatable scroll CSS fix - New
.datatable-scrollstyles inDEFAULT_STYLESfor horizontal scroll issues
@abpjs/theme-basic
- Loading overlay opacity reduced -
.abp-loadingbackground opacity reduced from0.1to0.05for a more subtle loading experience
Deprecations
@abpjs/core
AddReplaceableComponentaction - UseReplaceableComponentsService.add()insteadReplaceableComponentsState- UseReplaceableComponentsServiceinstead
Legacy types deprecated across proxy packages
Many packages deprecate legacy model types in favor of new proxy DTOs. See individual package release notes for full deprecation tables. Legacy types will be removed in v5.0.
Packages
| Package | Version | Changes |
|---|---|---|
| @abpjs/core | 3.2.0 | ReplaceableComponentsService, InternalStore, CurrentUser fields, file/string/OAuth utilities |
| @abpjs/theme-shared | 3.2.0 | Datatable scroll CSS fix |
| @abpjs/theme-basic | 3.2.0 | Loading overlay opacity reduced |
| @abpjs/account | 3.2.0 | Breaking: RegisterResponse.twoFactorEnabled removed |
| @abpjs/account-pro | 3.2.0 | ProfileService, ManageProfileTabsService, ProfilePictureType, eTwoFactorBehaviour |
| @abpjs/identity | 3.2.0 | Proxy services: IdentityRoleService, IdentityUserService, IdentityUserLookupService, ProfileService |
| @abpjs/identity-pro | 3.2.0 | Multiple proxy services, IdentityClaimValueType enum, eTwoFactorBehaviour |
| @abpjs/feature-management | 3.2.0 | FeaturesService proxy, ValueTypes enum, IStringValueType |
| @abpjs/permission-management | 3.2.0 | PermissionsService proxy, PermissionWithStyle type |
| @abpjs/setting-management | 3.2.0 | Version alignment |
| @abpjs/tenant-management | 3.2.0 | TenantService proxy with connection string management |
| @abpjs/components | 3.2.0 | Custom node templates, TreeAdapter update methods |
| @abpjs/schematics | 3.2.0 | CLI proxy generation, React Query hooks, EJS templates |
| @abpjs/file-management | 3.2.0 | New package - FileDescriptorService, DirectoryDescriptorService |
| @abpjs/audit-logging | 3.2.0 | AuditLogsService proxy with statistics |
| @abpjs/language-management | 3.2.0 | LanguageService, LanguageTextService proxies |
| @abpjs/saas | 3.2.0 | TenantService, EditionService proxies |
| @abpjs/text-template-management | 3.2.0 | TemplateDefinitionService, TemplateContentService proxies |
| @abpjs/chat | 3.2.0 | Version alignment |
Upgrade
Free Packages
npm install @abpjs/core@3.2.0 @abpjs/theme-shared@3.2.0 @abpjs/theme-basic@3.2.0 @abpjs/account@3.2.0 @abpjs/identity@3.2.0 @abpjs/feature-management@3.2.0 @abpjs/permission-management@3.2.0 @abpjs/setting-management@3.2.0 @abpjs/tenant-management@3.2.0 @abpjs/components@3.2.0 @abpjs/schematics@3.2.0
Pro Packages
npm install @abpjs/account-pro@3.2.0 @abpjs/audit-logging@3.2.0 @abpjs/chat@3.2.0 @abpjs/identity-pro@3.2.0 @abpjs/language-management@3.2.0 @abpjs/saas@3.2.0 @abpjs/text-template-management@3.2.0 @abpjs/file-management@3.2.0