ABP Platform 9.2 RC Has Been Released
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:
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):
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.
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:
- Implementing CQRS with MediatR in ABP by Engincan Veske
- Using Vue Components in a Razor Pages ABP Application by Enis Necipoglu
- Using ABP's AWS Blob Storing Provider with DigitalOcean Spaces by Suhaib Mousa
- Video Post: Using Vue Components in a Razor Pages ABP Application by Enis Necipoglu
- Understanding the Embedded Files in ABP Framework by Liming Ma
- How to Change the CurrentUser in ABP? by Engincan Veske
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!
Comments
trendline 1 day ago
ABP Identity pro module needs to refactor allow user registered with phone number as username and login with sms verify code as password, reset password with verify code validation, this is a general requirement for most internet applications.