docs/en/Blog-Posts/2025-01-21 v9_1_Preview/POST.md
We are happy to release ABP version 9.1 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.1! Thanks to you in advance.
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:
There are no breaking changes in this version that would affect your application. Only you might need to update some constant names due to the OpenIddict 6.0 upgrade, which is explained in the OpenIddict 6.0 migration guide.
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:
We've upgraded the Angular templates and packages to Angular 19. This upgrade brings the latest features and improvements from the Angular ecosystem to ABP-based applications, including better performance and development experience.
OpenIddict 6.0 has been released and we've upgraded the OpenIddict packages to version 6.0 in ABP 9.1. This brings enhanced security features and improved authentication capabilities. The migration is straightforward and mainly involves updating some constant names:
OpenIddictConstants.Permissions.Endpoints.Logout is now OpenIddictConstants.Permissions.Endpoints.EndSessionOpenIddictConstants.Permissions.Endpoints.Device is now OpenIddictConstants.Permissions.Endpoints.DeviceAuthorizationIf you're using IdentityModel packages directly, you'll need to upgrade them to the latest stable version (8.3.0). This update ensures your applications stay current with the latest security standards and best practices.
Please refer to the OpenIddict 6.0 migration guide for more information.
We've implemented a new bundling system for Blazor WebAssembly applications that eliminates the need to manually run the abp bundle command. This system automatically handles JavaScript and CSS file bundling at runtime, significantly improving both development experience and application loading performance.
Key improvements include:
The new system is particularly beneficial for modular applications, as it allows modules to contribute their assets automatically to the global bundles. This results in a more maintainable and efficient asset management system for Blazor WebAssembly applications.
Please refer to this documentation for more information.
We've introduced a new idle session warning feature for the Account (Pro) Module that helps manage user sessions more effectively. This security enhancement automatically monitors user activity and manages session timeouts in a user-friendly way.
The feature can be easily configured through the administration interface, where administrators can:
When a user becomes inactive for the configured duration, they'll receive a warning dialog:
Key features and behaviors:
This feature significantly improves application security while maintaining a smooth user experience by preventing unexpected session expirations and data loss.
We've introduced a new lazy expandable feature to the documentation system that significantly improves navigation through large documentation sections. This enhancement addresses common challenges when dealing with extensive documentation hierarchies by introducing smart menu management.
Key benefits and features:
The feature works by marking certain documentation sections as "lazy expandable" in the navigation configuration. When users navigate to a document within a lazy expandable section, the system automatically expands the relevant menu items while keeping other sections collapsed.
This improvement is particularly valuable for complex documentation areas like tutorials, solution templates, and extensive module documentation, where having all navigation items visible at once could be overwhelming.
An example of lazy expandable feature from the ABP's BookStore Tutorial:
{
"text": "Book Store Application",
"isLazyExpandable": true,
"path": "tutorials/book-store",
"items": [
{
"text": "Overview",
"path": "tutorials/book-store",
"isIndex": true
},
//other items...
]
}
Some other highlights from this release:
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.
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.1 RC and provide feedback to help us release a more stable version.
Thanks for being a part of this community!