Starts in:
2 DAYS
11 HRS
59 MIN
9 SEC
Starts in:
2 D
11 H
59 M
9 S

ABP Version 6.0 Migration Guide

This document is a guide for upgrading ABP v5.3 solutions to ABP v6.0. There is a change in this version that may affect your applications, please read it carefully and apply the necessary changes to your application.

Open-Source (Framework)

If you are using one of the open-source startup templates, then you can check the following sections to apply the related breaking changes:

The IsActive property is Added

IsActive property is added to IUserData. This property is set to true by default. Cmskit and Blog modules are affected by this change. You need to add a new migration to your existing application if you are using any of these modules. Please see #11417 for more info.

Default behavior change in MultiTenancyMiddlewareErrorPageBuilder

If you have customized the MultiTenancyMiddlewareErrorPageBuilder of the AbpMultiTenancyOptions, the pipeline now returns true to stop the pipeline as the default behavior. See AbpMultiTenancyOptions: Handle inactive and non-existent tenants for more info.

Migrating to LeptonX Lite

LeptonX Lite is now being introduced and you can follow the guides below to migrate your existing applications:

Migrating to OpenIddict

After the announcement of plan to replace the IdentityServer, we have successfully implemented Openiddict as a replacement for IdentityServer4 as an OpenID-Provider.

You can follow the IdentityServer to OpenIddict Step by Step Guide for migrating your existing application in detail with a sample project.

PRO

Please check the Open-Source (Framework) section before reading this section. The listed topics might affect your application and you might need to take care of them.

If you are a paid-license owner and using the ABP's paid version, then please follow the following sections to get informed about the breaking changes and apply the necessary ones:

Renamed UrlSortingMiddleware

There was a typo in CMS.Kit.Pro.Public.Web module. UrlSortingMiddleware is renamed to UrlshortingMiddleware.

Refining User Edit Permission

We have made some improvements in Identity.Pro Module to avoid users changing their roles to get more permissions. By default, the admin user will not have these new permissions. See the Identity PRO Changes section down below for more info.

Introducing Language Management NPM package

The projects using the Language Management module and not using Lepton theme should add this new package in order to prevent flag-icons.min.css cannot be found in error.

package.json:

"dependencies": {
    "@volo/language-management": "^6.0.0"
}

This was not a problem before since Lepton Theme had already flag-icon dependency.

Migrating to LeptonX

LeptonX is now being introduced and you can follow the guides below to migrate your existing applications:

Migrating to OpenIdDict

You can follow the IdentityServer to OpenIddict Step by Step Guide for migrating your existing application in detail with sample projects.

For the microservice template, check the Migrating Microservice Application to OpenIddict Guide.

Identity PRO Changes

We created two new permissions in 6.0 to manage a user's roles and organizations:

IdentityPermissions.Users.ManageRoles
IdentityPermissions.Users.ManageOU

The admin's user does not have these permissions after the existing application is upgraded to 6.0, please remember to grant permissions to the relevant users.

Identity Permissions

Contributors


Last updated: July 31, 2024 Edit this page on GitHub

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.

In this document
Community Talks

What’s New with .NET 9 & ABP 9?

21 Nov, 17:00
Online
Watch the Event
Mastering ABP Framework Book
Mastering ABP Framework

This book will help you gain a complete understanding of the framework and modern web application development techniques.

Learn More