ABP.IO Platform 6.0 RC Has Been Published
Today, we are happy to release the ABP Framework and ABP Commercial version 6.0 RC (release candidate). This blog post introduces the new features and important changes in this new version.
The planned release date for the 6.0.0 Stable version is September 26, 2022.
Try this version and provide feedback for the stable ABP v6.0! Thank you to all.
Get Started with the 6.0 RC
Follow the steps below to try version 6.0.0 RC today:
- Upgrade the ABP CLI to version
6.0.0-rc.4
using a command line terminal:
dotnet tool update Volo.Abp.Cli -g --version 6.0.0-rc.4
or install it if you haven't before:
dotnet tool install Volo.Abp.Cli -g --version 6.0.0-rc.4
- Create a new application with the
--preview
option:
abp new BookStore --preview
See the ABP CLI documentation for all the available options.
You can also use the Direct Download tab on the Get Started page by selecting the Preview checkbox.
You can use any IDE that supports .NET 6.x, like Visual Studio 2022.
Migration Guides
There are breaking changes in this version that may affect your application.
Please see the following migration documents, if you are upgrading from v5.3.0:
What's New with ABP Framework 6.0?
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:
LeptonX Lite is now the default theme for startup templates.
Optional PWA support is added to Get Started page.
Introducing the OpenIddict Module and switching to OpenIddict for the startup templates.
New .NET MAUI Startup Template.
Introducing the
ITransientCachedServiceProvider
interface.Introducing the dynamic components for Blazor UI.
Improvements in ABP CLI.
Introducing the
Volo.Abp.RemoteServices
package.Create/Update user accounts for external logins.
Sending test email in the setting page for MVC and Blazor user interfaces.
Improvements on the eShopOnAbp project.
Other news...
LeptonX Lite Theme on Startup Templates
With this version, startup templates (app
and app-nolayers
templates) use the LeptonX Lite as the default theme. However, it's still possible to create a project with Basic Theme either using the ABP CLI or downloading the project via Get Started page on the abp.io website.
via ABP CLI
To create a new project with Basic Theme, you can use the --theme
option as below:
abp new Acme.BookStore --theme basic --preview
via Get Started page
Also, you can create a new project with LeptonX Lite or Basic Theme on Get Started page.
The "Preview" checkbox should be checked to be able to see the theme selection section on the Get Started page.
Optional PWA Support is Added to the Get Started Page
We've introduced the PWA (Progressive Web Application) support for the startup templates for Angular & Blazor WASM UIs in v5.3. In this version, we also added this PWA support to the Get Started page on the abp.io website.
If you check the "Progressive Web Application" checkbox while creating an application, the all required configurations will be done for you and you will get the benefit of PWA features in your application.
Introducing the OpenIddict Module and Switching to OpenIddict in the Startup Templates
We already announced the plan of replacing the IdentityServer with OpenIddict.
Therefore, we have created the OpenIddict
module in this version and switched to OpenIddict in the startup templates. The ABP Framework uses this module to add OAuth features to the applications. We created documentation for the OpenIddict Module.
You can see the following document to learn about the OpenIddict Module:
You can check out the following migration guide to learn how to migrate to OpenIddict:
https://docs.abp.io/en/abp/6.0/Migration-Guides/IdentityServer_To_OpenIddict
We will continue to ship Identity Server packages for a while but in the long term, you may need to replace it, because Identity Server support ends at the end of 2022. Please see the announcement for more info.
New .NET MAUI Startup Template
ABP Framework provides .NET MAUI startup templates with v6.0.0. You can create a new .NET MAUI project with the command below:
abp new Acme.BookStore -t maui --preview
Introducing the ITransientCachedServiceProvider
ICachedServiceProvider
interface is used to resolve the cached services within a new scope. We created a new interface to resolve cached services without creating scopes. It's called ITransientCachedServiceProvider
. The difference between ICachedServiceProvider
and ITransientCachedServiceProvider
is; ITransientCachedServiceProvider
is transient. Check out this issue for more information.
Introducing the dynamic layout components for Blazor UI
ABP Framework provides different ways of customizing the UI and one of them is to use Layout Hooks in MVC. The Layout Hook System allows you to add code to some specific parts of the layout and all layouts of the themes provided by the ABP Framework implement these hooks.
However, Blazor UI doesn't have such a system yet and we are planning to implement Layout Hooks for the Blazor UI in version 7.0.
We are introducing the dynamic layout components for the Blazor UI to be able to add components to the Blazor layouts.
You can configure the AbpDynamicLayoutComponentOptions
to render your components in the layout, as below:
Configure<AbpDynamicLayoutComponentOptions>(options =>
{
options.Components.Add(typeof(MyBlazorComponent), null);
});
Improvements in ABP CLI
There are some enhancements in ABP CLI. You can see the brief list of some of these improvements below:
You can list all available templates by using the
abp list-templates
command with v6.0. See #13083.You can select the theme when creating a new project by specifying the
--theme
option. You can see the LeptonX Lite Theme on the Startup Templates section above for an example.abp update
command has been updating the version of the main application until now. With v6.0.0, this command updates all package versions inside all solutions in the sub-folders. Checkout the issue #12735 for more information.
Introducing the Volo.Abp.RemoteService
Package
A new Volo.Abp.RemoteService
package has been added to the framework. Some of the classes that are related to the remote service configurations such as AbpRemoteServiceOptions
class moved from Volo.Abp.Http.Client
to this package. In this way, it became more reusable for further usages.
Create/Update User Accounts For External Logins
If a user authenticates from an external provider like Keycloak
, the user is being redirected to this external provider, and comes back to the main application. In this process, the user's data is not being saved in the main application's database. With this version, ABP saves the user information and lists in the users page. And this fixes permission management, user information mismatches and other issues. For more info, see the related issue.
Sending test email on the setting page for MVC and Blazor UIs
"Sending Test Email" feature is added to the Setting Management module, which allows checking the email settings are configured properly and sending emails successfully to the target email address.
After configuring the email settings such as the target email address, you can click the "Send" button to send a test email to see if everything went well.
Note that this feature will be implemented for the Angular UI in the stable v6.0.
Improvements on eShopOnAbp Project
The following improvements have been made on eShopOnAbp project with this version:
Some improvements have been made on the Admin Application for Order Management for Angular UI. See #110.
SignalR
error on Kubernetes & Docker Compose has been fixed. See #113.Configurations have been made for some services on the
docker-compose.yml
file. See #112.Gateway Redirect Loop problem on Kubernetes has been fixed. See the commit.
Other News
Autofac library has been upgraded to v6.4.0. Please see #12816 for more info.
Performance Improvements have been made in the Settings Module and tabs on the Settings page are lazy loading now.
Some improvements have been made in the CMS Kit Module. You can see the improvements from here.
If you want to see more details, you can check the release on GitHub, which contains a list of all the issues and pull requests closed in this version.
What's New with ABP Commercial 6.0?
LeptonX Theme is the Default Theme
With this version, the startup templates (app-pro
, app-nolayers-pro
and microservice-pro
templates) use the LeptonX Theme as the default theme. However, it's still possible to create a new project with Lepton Theme or Basic Theme, either using the ABP CLI or ABP Suite.
via ABP CLI
To create a new project with Lepton Theme or Basic Theme, you can use the --theme
option as below. For "Basic Theme" specify the theme name as --theme basic
.
abp new Acme.BookStore --theme lepton --preview
via ABP Suite
Also, you can create a new project with Lepton Theme or Basic Theme from ABP Suite.
Switching to OpenIddict in the Startup Templates
We have also switched to the OpenIddict for the startup templates for ABP Commercial as explained above.
New .NET MAUI Mobile
ABP Commercial has been providing a React Native mobile app since with the very early versions. Alternative to this application, we created a new .NET MAUI mobile app. To create a new app-pro
ABP project with the .NET MAUI mobile app, you can use the command below:
abp new Acme.BookStore -t app-pro --mobile maui
Note that, when Microsoft supports
WebAuthenticator
on Windows, we'll also support it to work on Windows OS.
GDPR: Cookie Consent
With this version, the Cookie Consent feature has been added to the GDPR module. It's enabled by default for the new startup templates. There are two pages in the templates: "Cookie Policy" page and "Privacy Policy" page.
If you want to disable/hide the "Cookie Consent", you can simply open the startup project module class and set the IsEnabled
property as false for the AddAbpCookieConsent method as below:
context.Services.AddAbpCookieConsent(options =>
{
options.IsEnabled = false; //disabled
options.CookiePolicyUrl = "/CookiePolicy";
options.PrivacyPolicyUrl = "/PrivacyPolicy";
});
These pages are used to build up the cookie consent text and you can change the content or url of these pages by your needs.
If you want to use the Cookie Consent feature of the GDPR module in your existing project, please see the GDPR Module documentation for configurations.
Improvements/Developments on CMS Kit Poll
Some improvements have been made on the Poll System of CMS Kit module as listed below:
The Widget rendering and Admin side for the Blazor UI improvements.
A Widget can be picked from the editor as seen in the image below.
Blazor UI for the Chat Module
Chat Module is now also available for the Blazor UI after the MVC and Angular UIs. You can read the Chat Module documentation to get the overall knowledge about the module and add to your application.
Blazor Admin UI for CMS Kit Module
All admin side CMS Kit and CMS Kit Pro features have been implemented for the Blazor UI. Blazor UI will only be available to ABP Commercial customers.
Suite: Excel Export
With v6.0, now it's possible to export the records as Excel for Blazor & MVC UIs. Angular UI is still in-progress, and we will implement it with the stable v6.0 release. Check the "Excel export" checkbox to add this feature.
A new Excel Export button is being located at the top of the generated page as seen below:
Then, you can download the records as .xlsx
format by clicking the "Excel Export" button. Note that the exported Excel list is the filtered list.
ABP Suite: Optional PWA Support
With this version, it's possible to add the PWA (Progressive Web App) support for Blazor & Angular UIs while creating the application via Suite.
You just need to check the "Progressive web application" checkbox, when creating a new application. Then, ABP Suite will add the PWA support to your application. When you publish your application, you get the full benefits of PWA features such as offline support.
Other News
Explainer Videos
We are creating explainer videos for the ABP Commercial Modules to provide an overview. Within this milestone, we've created four new explainer videos:
You can subscribe to Volosoft's YouTube channel to be informed about future ABP events and videos.
Trial License is now available!
If you are considering purchasing a new ABP Commercial license, and you want to see ABP in action then, check out https://commercial.abp.io/pricing and click the "FREE TRIAL" button.
Community News
New ABP Community Posts
Alper Ebicoglu has created a new community article to give a full overview of .NET MAUI. You can read it here.
Anto Subash has created a new video content to show "State Management in Blazor with Fluxor". You can read it here.
Learn ABP Framework has also created a new video content to show "How to install LeptonX Lite Theme for ABP Framework 5.3 MVC UI". You can read it here.
Kirti Kulkarni has created three new community articles. You can use the links below to read the articles:
Don Boutwell has created his first ABP Community article. You can read it from here.
Volosoft Has Attended the DNF Summit 2022
Core team members of ABP Framework, Halil Ibrahim Kalkan and Alper Ebicoglu have attended the DNF Summit on the 20th of July. Halil Ibrahim Kalkan talked about the creation of the ABP Framework and Alper Ebicoglu showed how easy to create a project with ABP Framework within 15 minutes.
Watch the DNF Summit session 👉 https://www.youtube.com/embed/VL0ewZ-0ruo
Conclusion
This version comes with some features and 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. The planned release date for the 6.0.0 Stable version is September 26, 2022. Please try the ABP v6.0 RC and provide feedback to us.
Thanks for being a part of this community!
Comments
No one has commented yet, be the first to comment!