Filter by title

ABP Version 10.2 Migration Guide

This document is a guide for upgrading ABP v10.1 solutions to ABP v10.2. There are some changes in this version that may affect your applications. Please read them carefully and apply the necessary changes to your application.

Package Version Changes: Before upgrading, review the Package Version Changes document to see version changes on dependent NuGet packages and align your project with ABP's internal package versions.

Open-Source (Framework)

This version contains the following changes on the open-source side:

Add New EF Core Migrations for Audit Logging Module

In this version, we increased the maximum length limits for entity and property type full names in the Audit Logging Module from 128/64/192 to 512 characters. This reduces truncation risk when persisting entity/property type information for entities with long CLR type names.

If you are using the Audit Logging module with Entity Framework Core, you need to create a new EF Core migration and apply it to your database after upgrading to ABP 10.2.

See #24846 for more details.

Ambient Auditing Disable/Enable Support

In this version, we added ambient auditing disable/enable support to the ABP Framework. The IAuditingHelper interface now includes DisableAuditing() and IsAuditingEnabled() methods, allowing you to temporarily disable auditing for specific code blocks using a disposable scope pattern.

Action required: If you have custom code that extends or overrides CmsKitPageRouteValueTransformer, note that it now injects IAuditingHelper to disable auditing during route matching. You may need to update your constructor to accept the new dependency.

For most applications, no changes are required. The new API is additive and can be used when you need to disable auditing programmatically:

using (var scope = _auditingHelper.DisableAuditing())
{
    // Auditing is disabled within this block
}

See #24718 for more details.

TickerQ Package Upgrade (2.5.3 → 10.1.1)

If you are using the TickerQ integration packages (Volo.Abp.TickerQ, Volo.Abp.BackgroundJobs.TickerQ, or Volo.Abp.BackgroundWorkers.TickerQ), you need to apply the following breaking changes. TickerQ 10.1.1 only targets .NET 10.0 and contains several API changes.

UseAbpTickerQ moved from IApplicationBuilder to IHost

UseAbpTickerQ is now an extension on IHost (namespace Microsoft.Extensions.Hosting). Update your OnApplicationInitializationAsync method:

// Before
public override async Task OnApplicationInitializationAsync(ApplicationInitializationContext context)
{
    context.GetApplicationBuilder().UseAbpTickerQ();
}

// After
public override async Task OnApplicationInitializationAsync(ApplicationInitializationContext context)
{
    context.GetHost().UseAbpTickerQ();
}

Important: Do not resolve IHost from context.ServiceProvider.GetRequiredService<IHost>(). That returns the internal generic host whose Services does not include IApplicationBuilder, which will cause a runtime exception from the TickerQ Dashboard. Always use context.GetHost().

Entity types renamed

  • TimeTickerTimeTickerEntity
  • CronTickerCronTickerEntity

Update your using statements and type references from TickerQ.Utilities.Models.Ticker to TickerQ.Utilities.Entities.

TickerFunctionContext namespace moved

TickerFunctionContext<T> has moved from TickerQ.Utilities.Models to TickerQ.Utilities.Base.

TickerRequestProvider.GetRequestAsync signature changed

// Before
var request = await TickerRequestProvider.GetRequestAsync<string>(serviceProvider, context.Id, context.Type);

// After
var request = await TickerRequestProvider.GetRequestAsync<string>(context, cancellationToken);

Scheduler configuration API changed

// Before
options.SetInstanceIdentifier(name);
options.UpdateMissedJobCheckDelay(TimeSpan.FromSeconds(30));

// After
options.ConfigureScheduler(s => s.NodeIdentifier = name);
options.ConfigureScheduler(s => s.FallbackIntervalChecker = TimeSpan.FromSeconds(30));

Dashboard configuration API changed

// Before
x.BasePath = "/tickerq";
x.UseHostAuthentication = true;

// After
x.SetBasePath("/tickerq");
x.WithHostAuthentication();

Angular Aria feature implementation

ABP now uses Angular's ARIA support for accessible tabs. Add the @angular/aria package (version ~21.1.0) to your Angular project.

See #24684 for details.

Other changes

  • Typo fix: result.IsSuccededresult.IsSucceeded
  • BatchParent removed: TimeTickerEntity.ParentId now has a private setter. Use TickerQ's FluentChainTickerBuilder fluent API for job chaining.
  • BatchRunCondition renamed: BatchRunCondition? BatchRunConditionRunCondition? RunCondition in AbpBackgroundJobsTimeTickerConfiguration

See #24916 for more details.

Pro

There are no breaking changes on the PRO side. However, please check the following sections if they apply to your application.

Add @volo/ai-management NPM Package for MVC UI

If you are using the MVC UI of the AI Management Module, you need to add the @volo/ai-management package to your package.json file. This package was introduced in ABP v10.2 to support the enhanced markdown rendering on the chat playground.

Add the following line to the dependencies section of your package.json file:

"@volo/ai-management": "10.2.0"

After adding the package, run the following command in the root directory of your web project:

abp install-libs

Alternatively, you can run this command via ABP Studio.

Add UserInvitations DbSet for Identity Pro EF Core DbContexts

If your solution uses the Identity Pro module with Entity Framework Core, and your DbContext base class implements IIdentityProDbContext, add the new UserInvitations DbSet property to your DbContext:

public DbSet<UserInvitation> UserInvitations { get; set; }

This is required for Identity Pro module users (it is installed by default in most/every startup templates). After adding the property, create a new EF Core migration and apply it to your database.

Was this page helpful?

Please make a selection.

To help us improve, please share your reason for the negative feedback in the field below.

Please enter a note.

Thank you for your valuable feedback!

Please note that although we cannot respond to feedback, our team will use your comments to improve the experience.

ABP Community Talks
ABP Meets Angular SSR: Building Fast, Scalable Enterprise Apps
12 Feb, 17:00
Online
Watch the Event
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.