ABP Platform 9.2 RC Has Been Released

cover

We are happy to release ABP version 9.2 RC (Release Candidate). This blog post introduces the new features and important changes in this new version.

Try this version and provide feedback for a more stable version of ABP v9.2! Thanks to you in advance.

Get Started with the 9.2 RC

You can check the Get Started page to see how to get started with ABP. You can either download ABP Studio (recommended, if you prefer a user-friendly GUI application - desktop application) or use the ABP CLI.

By default, ABP Studio uses stable versions to create solutions. Therefore, if you want to create a solution with a preview version, first you need to create a solution and then switch your solution to the preview version from the ABP Studio UI:

https://raw.githubusercontent.com/abpframework/abp/dev/docs/en/Blog-Posts/2025-03-27%20v9_2_Preview/studio-switch-to-preview.png

Migration Guide

There are a few breaking changes in this version that may affect your application. Please read the migration guide carefully, if you are upgrading from v9.x or earlier: ABP Version 9.2 Migration Guide

What's New with ABP v9.2?

In this section, I will introduce some major features released in this version.
Here is a brief list of titles explained in the next sections:

  • Added ApplicationName Property to Isolate Background Jobs & Background Workers
  • Docs Module: Added "Alternative Words" to Filter Items
  • Introducing the Bunny BLOB Storage Provider
  • Upgraded MongoDB.Driver to v3.1.0
  • Identity Pro Module: Require Email Verification to Register
  • Switching users during OAuth login

Added ApplicationName Property to Isolate Background Jobs & Background Workers

ABP's Background Jobs Module has been enhanced with a new ApplicationName property that helps isolate jobs and workers across multiple applications sharing the same database.

Previously, when different applications used the BackgroundJobs module and shared a database, an application might encounter jobs that didn't belong to it. This would lead to failed processing attempts and marking jobs as IsAbandoned = true with a "Undefined background job for the job name" error, preventing these jobs from ever being executed.

With the new ApplicationName property, applications now properly filter jobs at the repository level, ensuring each application only processes job types it recognizes. This prevents the incorrect abandonment of jobs and ensures consistent behavior in multi-application scenarios.

You can set ApplicationName of AbpBackgroundJobWorkerOptions to your application name to isolate jobs and workers across multiple applications sharing the same database:

public override void PreConfigureServices(ServiceConfigurationContext context)
{
    PreConfigure<AbpBackgroundJobWorkerOptions>(options =>
    {
        options.ApplicationName = context.Services.GetApplicationName()!;
    });
}

For more information, please refer to the Background Jobs Module documentation and the PR that added this feature.

Docs Module: Added "Alternative Words" to Filter Items

ABP's Docs Module now supports "alternative words" to enhance the search functionality when filtering documentation items. This feature addresses a common user experience issue where users might search using terminology different from what appears in the documentation.

For example, when a user searches for "Error" in the documentation, they may actually be looking for content related to "Exception Handling." With this new feature, documentation items can now be configured with alternative keywords that are considered during filtering.

The implementation allows defining optional "keywords" for items in the navigation tree. For example:

{
  "text": "Exception Handling",
  "path": "framework/fundamentals/exception-handling.md",
  "keywords": ["Error", "Another Value"]
}

When users search or filter content, the system now considers both the original text and these alternative keywords, improving discoverability of relevant documentation sections. This enhancement makes the documentation more accessible and user-friendly, especially for newcomers who might not be familiar with the exact terminology used in the ABP documentation.

Introducing the Bunny BLOB Storage Provider

ABP v9.2 RC introduces a new BLOB storage provider for Bunny Storage, a global edge storage solution. This addition expands ABP's BLOB Storage options beyond the existing providers like Azure, AWS, and others.

The Bunny BLOB Storage Provider allows ABP applications to seamlessly integrate with Bunny's CDN-backed storage service, which offers high-performance content delivery through its global network.

To use this new provider, you'll need to:

  • Run abp add-package Volo.Abp.BlobStoring.Bunny command.
  • And then configure the provider in your module's ConfigureServices method:
Configure<AbpBlobStoringOptions>(options =>
{
    options.Containers.ConfigureDefault(container =>
    {
        container.UseBunny(bunny =>
        {
            bunny.StorageZoneName = "your-storage-zone";
            bunny.ApiKey = "your-api-key";
            bunny.Region = "your-region"; // de, ny, la, sg, or sy
        });
    });
});

This integration provides ABP applications with an efficient and globally distributed storage solution, particularly beneficial for applications requiring fast content delivery across different geographical regions. To use this new provider and make the related configurations, you can refer to the Bunny Storage Provider documentation always.

This new BLOB Storage provider is contributed by @suhaib-mousa. Thanks to him for his contribution!
We are always happy to see the community contributing to the ABP Framework and encouraging them to contribute more.

Upgraded MongoDB.Driver to v3.1.0

ABP v9.2 RC includes an upgrade to MongoDB.Driver version 3.1.0. This significant version bump from previous releases brings several improvements and new features that benefit ABP applications using MongoDB as their database.

The upgrade provides:

  • Async/Await Support: Write non-blocking, asynchronous code easily.
  • Fluent API: Build queries and updates intuitively with Builders.
  • LINQ Support: Use LINQ for querying MongoDB collections.
  • and more ...

For more information, please refer to the MongoDB.Driver release notes.

We have prepared a migration guide for this upgrade. Please refer to it to learn more about the changes and how to migrate your application.

Identity Pro Module: Require Email Verification to Register

ABP Identity Pro module has been enhanced with a new feature that allows administrators to require email verification during the registration process. This security improvement ensures that users must verify their email addresses before their registration is considered complete. Enabling this feature is especially important for applications that want to prevent spam registrations.

Administrators can enable or disable this feature through the Identity management -> Identity Verification (tab) settings page (by checking the Enforce email verification to register checkbox):

require-email-verification.png

Switching users during OAuth login

If you have an OAuth/Auth Server application using the ABP Account Pro module , you can pass the prompt=select_account parameter to force the user to select an account.

select-account.png

For more information, please refer to the Switching users during OAuth login documentation.

New ABP Community Articles

There are exciting articles contributed by the ABP community as always. I will highlight some of them here:

Thanks to the ABP Community for all the content they have published. You can also post your ABP-related (text or video) content to the ABP Community.

Conclusion

This version comes with some new features and a lot of enhancements to the existing features. You can see the Road Map documentation to learn about the release schedule and planned features for the next releases. Please try ABP v9.2 RC and provide feedback to help us release a more stable version.

Thanks for being a part of this community!