Release Notes
v3.2.0
February 2026
New Features
FeaturesService (Proxy Service)
A new proxy service for feature management API calls:
import { FeaturesService } from '@abpjs/feature-management';
import { useRestService } from '@abpjs/core';
function useFeatures() {
const restService = useRestService();
const featuresService = new FeaturesService(restService);
// Get features for a tenant
const features = await featuresService.get('T', tenantId);
// Update features
await featuresService.update('T', tenantId, {
features: [
{ name: 'MyFeature', value: 'true' },
{ name: 'MaxUsers', value: '100' },
],
});
}
New Proxy Models
New DTOs that match the ABP backend API structure:
import type {
FeatureDto,
FeatureGroupDto,
FeatureProviderDto,
GetFeatureListResultDto,
UpdateFeatureDto,
UpdateFeaturesDto,
} from '@abpjs/feature-management';
// Feature list result contains groups
const result: GetFeatureListResultDto = await featuresService.get('T', tenantId);
result.groups.forEach((group: FeatureGroupDto) => {
console.log(group.displayName);
group.features.forEach((feature: FeatureDto) => {
console.log(feature.name, feature.value);
});
});
ValueTypes Enum
New enum for feature value types:
import { ValueTypes } from '@abpjs/feature-management';
function getFeatureEditor(feature: FeatureDto) {
switch (feature.valueType.name) {
case ValueTypes.ToggleStringValueType:
return <ToggleSwitch />;
case ValueTypes.FreeTextStringValueType:
return <TextInput />;
case ValueTypes.SelectionStringValueType:
return <SelectDropdown />;
}
}
Validation Models
New interfaces for feature value validation:
import type { IStringValueType, IValueValidator } from '@abpjs/feature-management';
// Value validator interface
interface IValueValidator {
name: string;
item: object;
properties: Record<string, object>;
}
// String value type with validator
interface IStringValueType {
name: string;
item: object;
properties: Record<string, object>;
validator: IValueValidator;
}
getInputType Utility
Utility function to determine input type for free text features:
import { getInputType, INPUT_TYPES } from '@abpjs/feature-management';
function FeatureInput({ feature }) {
const inputType = getInputType(feature);
// Returns 'number' for numeric validators, 'text' otherwise
return <input type={inputType} value={feature.value} />;
}
Deprecations
The following legacy models are deprecated and will be removed in v4.0:
| Deprecated | Replacement |
|---|---|
FeatureManagement.State | GetFeatureListResultDto |
FeatureManagement.ValueType | IStringValueType |
FeatureManagement.Feature | FeatureDto |
FeatureManagement.Features | UpdateFeaturesDto |
FeatureManagement.Provider | FeatureProviderDto |
New Exports
Services:
FeaturesService- Proxy service for feature management API
Types:
FeatureDto- Feature data transfer objectFeatureGroupDto- Feature group data transfer objectFeatureProviderDto- Feature provider data transfer objectGetFeatureListResultDto- Result of getting featuresUpdateFeatureDto- DTO for updating a single featureUpdateFeaturesDto- DTO for updating multiple featuresIStringValueType- String value type interfaceIValueValidator- Value validator interfaceFreeTextType- Free text feature type
Enums:
ValueTypes- Feature value types enum
Constants:
INPUT_TYPES- Input type constants for free text features
Functions:
getInputType()- Get input type for free text features
v3.1.0
February 2026
New Features
Feature.displayName Property
The Feature interface now includes a displayName property for user-friendly feature names:
import type { FeatureManagement } from '@abpjs/feature-management';
function FeatureItem({ feature }: { feature: FeatureManagement.Feature }) {
return (
<div>
<label>{feature.displayName}</label>
<input value={feature.value} />
{feature.description && <p>{feature.description}</p>}
</div>
);
}
The Feature interface now includes:
name- Feature identifierdisplayName- User-friendly display name (new in v3.1.0)value- Feature valuedescription- Optional descriptionvalueType- Value type definitiondepth- Hierarchy depth levelparentName- Parent feature name for hierarchy
v3.0.0
February 2026
- Version alignment with @abpjs/core
v2.9.0
February 2026
- Version alignment with @abpjs/core
v2.7.0
February 2026
New Features
Component Replacement Keys
New constants for replacing feature management components:
import { eFeatureManagementComponents } from '@abpjs/feature-management';
// Available component keys:
// eFeatureManagementComponents.FeatureManagement = 'FeatureManagement.FeatureManagementComponent'
New Exports
eFeatureManagementComponents- Constants for component replacement keys
v2.4.0
February 2026
FeatureManagementService.apiNameproperty - New property for REST API configuration. Defaults to'default'.
v2.2.0
February 2026
- Version alignment with @abpjs/core
v2.1.0
February 2026
- Version alignment with @abpjs/core
v2.0.0
January 2026
- Version alignment with @abpjs/core
- Added
FeatureManagement.FeatureManagementComponentInputsinterface - Added
FeatureManagement.FeatureManagementComponentOutputsinterface
v1.1.0
January 2026
- Version alignment with @abpjs/core
v1.0.0
January 2026
- Version alignment with @abpjs/core
v0.9.0
January 2026
- Version alignment with @abpjs/core
v0.8.0
Release Date: January 2026
Initial Release
The @abpjs/feature-management package is now available! This is the React equivalent of Angular's @abp/ng.feature-management module.
Components
- FeatureManagementModal - Ready-to-use modal for managing features
- Support for toggle (boolean) features
- Support for free text features
- Automatic input rendering based on value type
- Loading and error states
- Localized UI
Hooks
- useFeatureManagement - Hook for programmatic feature management
fetchFeatures()- Fetch features from serversaveFeatures()- Save features to serverupdateFeatureValue()- Update feature value locallygetFeatureValue()- Get current feature valueisFeatureEnabled()- Check if toggle feature is enabledreset()- Reset all state
Services
- FeatureManagementService - Direct API interaction
getFeatures()- GET /api/abp/featuresupdateFeatures()- PUT /api/abp/features
Models
FeatureManagement.Feature- Feature definitionFeatureManagement.Features- Features containerFeatureManagement.Provider- Provider infoFeatureManagement.ValueType- Value type definitionFeatureManagement.State- State interface
Installation
npm install @abpjs/feature-management
Dependencies
@abpjs/core>= 0.8.0@abpjs/theme-shared>= 0.8.0@chakra-ui/react>= 3.0.0react>= 18.0.0