Skip to main content
Version: 3.0.0

v2.1.0

Release Date: February 2026

This minor release introduces the new Confirmation.Status enum in theme-shared, a new dispatchSetEnvironment method in core, and updates the confirmation service API for better type safety.

Highlights

  • Confirmation.Status enum - New confirmation-specific status enum replacing Toaster.Status for confirmation dialogs
  • ConfigStateService.dispatchSetEnvironment() - Set environment configuration at runtime
  • toLocalISOString made optional - The Date prototype method now uses optional chaining

New Features

@abpjs/core

dispatchSetEnvironment() Method

New dispatch method to set the environment configuration at runtime:

import { useAbp } from '@abpjs/core';

function MyComponent() {
const { configStateService } = useAbp();

// Update environment configuration
configStateService.dispatchSetEnvironment({
production: true,
application: { name: 'My App' },
oAuthConfig: { /* ... */ },
apis: { default: { url: 'https://api.example.com' } },
});
}

@abpjs/theme-shared

Confirmation.Status Enum

New confirmation-specific status enum for handling confirmation dialog responses:

import { Confirmation } from '@abpjs/theme-shared';

const status = await confirmation.info('Are you sure?');

if (status === Confirmation.Status.confirm) {
// User confirmed
} else if (status === Confirmation.Status.reject) {
// User rejected
} else if (status === Confirmation.Status.dismiss) {
// User dismissed (escape key, click outside)
}

API Changes

@abpjs/core

  • toLocalISOString made optional - Use optional chaining when calling:
    // Before (v2.0.0)
    const isoString = date.toLocalISOString();

    // After (v2.1.0) - use optional chaining for safety
    const isoString = date.toLocalISOString?.();

@abpjs/theme-shared

  • Confirmation service return type - All confirmation methods (info, success, warn, error, show) now return Promise<Confirmation.Status> instead of Promise<Toaster.Status>
  • confirmation.clear(status?) parameter - Now accepts Confirmation.Status instead of Toaster.Status
  • useConfirmationState().respond() - Now accepts Confirmation.Status instead of Toaster.Status

Deprecations

@abpjs/theme-shared

  • Toaster.Status deprecated for confirmations - Use Confirmation.Status for confirmation dialogs. Toaster.Status will be removed in v2.2.0.

Migration

Update Confirmation Status Handling

// Before (v2.0.0)
import { Toaster } from '@abpjs/theme-shared';

const status = await confirmation.info('Are you sure?');
if (status === Toaster.Status.confirm) { /* ... */ }

// After (v2.1.0)
import { Confirmation } from '@abpjs/theme-shared';

const status = await confirmation.info('Are you sure?');
if (status === Confirmation.Status.confirm) { /* ... */ }

Update toLocalISOString Usage

// Before (v2.0.0)
const isoString = date.toLocalISOString();

// After (v2.1.0)
const isoString = date.toLocalISOString?.();

Packages

PackageVersionChanges
@abpjs/core2.1.0New: dispatchSetEnvironment; API: toLocalISOString optional
@abpjs/theme-shared2.1.0New: Confirmation.Status; Deprecated: Toaster.Status for confirmations
@abpjs/theme-basic2.1.0Version alignment
@abpjs/account2.1.0Version alignment
@abpjs/account-pro2.1.1Version alignment
@abpjs/identity2.1.0Version alignment
@abpjs/feature-management2.1.0Version alignment
@abpjs/permission-management2.1.0Version alignment
@abpjs/setting-management2.1.0Version alignment
@abpjs/tenant-management2.1.0Version alignment

Upgrade

npm install @abpjs/core@2.1.0 @abpjs/theme-shared@2.1.0 @abpjs/theme-basic@2.1.0

Or update all packages:

npm install @abpjs/core@latest @abpjs/theme-shared@latest @abpjs/account@latest @abpjs/identity@latest @abpjs/feature-management@latest @abpjs/permission-management@latest @abpjs/setting-management@latest @abpjs/tenant-management@latest

See Also