docs/en/Blog-Posts/2022-01-11 v5_1_Release_Stable/POST.md
Today, we are releasing the ABP Framework and ABP Commercial version 5.1 (with a version number 5.1.1). This blog post introduces the new features and important changes in this new version.
Warning
For a long time we've been releasing RC (Release Candidate) versions a few weeks prior to every minor and major release. This version has been released without a preview version. This is because we've accidently released all the packages with a stable version number, without a
-rc.1suffix and there is no clear way to unpublish all the NuGet and NPM packages. We're sorry about that. However, it doesn't mean that this release is buggy. We've already resolved the known problems. We will publish one or more patch releases if needed. You can follow this milestone for the common problems or submit your own bug report. If you are worried about its stability, you can wait for the next patch release.
Follow the steps below to try the 5.1 version today:
dotnet tool update Volo.Abp.Cli -g
or install if you haven't installed it before:
dotnet tool install Volo.Abp.Cli -g
abp new BookStore
Check out the ABP CLI documentation for all the available options.
You can also use the Direct Download tab on the Get Started page.
You can use any IDE that supports .NET 6.x development (e.g. Visual Studio 2022).
This is a minor feature release, mostly with enhancements and improvements based on version 5.0. There aren't any breaking changes except for the Angular UI upgrade. ABP 5.1 startup templates use Angular 13.
If you want to upgrade the ABP Framework but want to continue with Angular 12, add the following section to the package.json file of the Angular project:
"resolutions": {
"ng-zorro-antd": "^12.1.1",
"@ng-bootstrap/ng-bootstrap": "11.0.0-beta.2"
}
If you are using Blazor WebAssembly, open the Program class and replace InitializeAsync with InitializeApplicationAsync.
In this section, I will introduce some major features released with this version.
The ABP startup application template now uses the new ASP.NET Core hosting APIs (check out the Microsoft's minimal APIs document) on application startup (check out the exact place in the ABP startup template). So, the Startup.cs file has been removed.
Old-style hosting logic will continue to work as long as ASP.NET Core supports it. It is recommended to switch to the new model if it's possible for your solution. Check out this guide if you need to know how to do that.
The new hosting model allows us to execute asynchronous code on application initialization in the ABP module classes. If you are using the new hosting model (which is default with 5.1 startup templates), you can override the Async versions of the module lifecycle methods.
For example, you can now override the ConfigureServicesAsync (instead of ConfigureServices) or OnApplicationInitializationAsync (instead of OnApplicationInitialization) as shown in the following code block:
public class MyModule : AbpModule
{
public override async Task ConfigureServicesAsync(ServiceConfigurationContext context)
{
/* You can use await here and safely execute other async methods */
}
public override async Task OnApplicationInitializationAsync(ApplicationInitializationContext context)
{
/* You can use await here and safely execute other async methods */
}
}
If you override both the asynchronous and synchronous versions of the same method, only the asynchronous one will be executed. So, override only one of them based on your needs.
Our team is working to finalize the eShopOnAbp example solution, which is a reference microservice solution built with the ABP Framework. They will explain the project status and show what's done in the next ABP Community Talks meeting (Check out the ABP Community Talks 2021.1 section at the bottom of this post).
We've been working on a new design for the abp.io websites for a while. We are adding the final touches; the new design will be live very soon. Here's a screenshot from the design work:
The ABP Commercial and ABP Community websites will also have new designs as part of this update.
Here are some other notable changes that come with this release:
EnableLegacyTimestampBehavior when using PostgreSQL. #11371 #65All issues & PRs in 5.1 milestone.
The core team is also working on ABP Commercial (which provides pre-built modules, themes, tooling and support on top of the ABP Framework). We've done a lot of minor improvements and fixes to the modules and tooling.
There's some exciting news about the LeptonX theme; We are working on making it available in the MVC (Razor Pages) and Blazor UI options too (in addition to Angular UI). We are also adding more components, layout options, demo pages, etc... We are planning to release a beta version in the next weeks. Here's an animated GIF from the dashboard we've prepared as a demonstration:
If you are wondering what is the LeptonX project, please check out this blog post.
As another visible functionality, we've added a new feature to the CMS Kit Pro module that is used to forward a URL to another URL. This is a screenshot from the management UI:
This feature can be used to create short URLs in your application (like URL shortening services providers) or forward old pages to their new URLs.
In addition to the new features shipped in every minor version, we are working on long-term projects for ABP.IO Platform and ABP Commercial (a little secret for now :). We will have announcements once these projects get more stable.
This is the second episode of the ABP Community Talks and we are talking about microservice development with the ABP Framework, based on the eShopOnAbp reference solution. We will also briefly talk about the changes that come with ABP version 5.1. This live meeting will be on January 20, 2022, 17:00 (UTC) on YouTube.
Join this event on the Kommunity platform: https://kommunity.com/volosoft/events/abp-community-talks-20221-microservice-development-acd0f44b
You can also subscribe to Volosoft YouTube channel for reminders of further ABP events and videos.
Here are some of the recent posts added to the ABP community:
Thanks to the ABP Community for all the contents they have published. You can also post your ABP and .NET related (text or video) contents to the ABP Community.
In this blog post, I summarized the news about the new version and the ABP Community. Please try it and provide feedback by opening issues on the GitHub repository. Thank you all!