Software Engineer
3 weeks ago, 212 views
3 weeks ago, 168 views
4 weeks ago, 2479 views
1 month ago, 733 views
1 month ago, 1189 views
Today, we are happy to release the ABP Framework and ABP Commercial version 8.0 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 v8.0! Thanks to all of you.
Follow the steps below to try version 8.0.0 RC today:
8.0.0-rc.3
using a command line terminal:dotnet tool update Volo.Abp.Cli -g --version 8.0.0-rc.3
or install it if you haven't before:
dotnet tool install Volo.Abp.Cli -g --version 8.0.0-rc.3
--preview
option:abp new BookStore --preview
See the ABP CLI documentation for all the available options.
You can also use the Get Started page to generate a CLI command to create a new application.
You can use any IDE that supports .NET 8.x, like Visual Studio 2022.
There are a few breaking changes in this version that may affect your application. Please see the following migration documents, if you are upgrading from v7.x or earlier:
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 ABP Framework to .NET 8.0, so you need to move your solutions to .NET 8.0 if you want to use ABP 8.0. You can check Microsoft’s Migrate from ASP.NET Core 7.0 to 8.0 documentation, to see how to update an existing ASP.NET Core 7.0 project to ASP.NET Core 8.0.
Angular 17 was released on November 8 and ABP Framework & ABP Commercial startup templates were immediately migrated to Angular 17!
So, when you create a new solution with the Angular UI, you will take advantage of the new Angular with the new cutting-edge features and enhancements right from the start!
The Dynamic Claims feature is used to dynamically generate claims for the user in each request. It's used to automatically and dynamically override the configured claim values in the client's authentication token/cookie by the latest user claims.
In the prior versions, whenever a user changed their email address or confirmed their own email address, or any other information related to the user (and if it's in the claims), he/she would need to logout and then login to refresh its claims. The new Dynamic Claims feature overcomes this problem and allows to always get the latest user claims.
This feature is disabled by default and you can enable it easily for your existing MVC applications by following the Dynamic Claims documentation. For the other UI options (Angular & Blazor UIs), you don't need to enable this feature, since they obtain claims ftom a configuration endpoint.
Note: Beginning from the v8.0, all the startup templates are pre-configured and the Dynamic Claims feature is enabled by default.
In this version, ABP Framework's Bundling & Minification System provides CDN support for MVC / Razor Pages UI. The bundling system automatically recognizes the external/CDN files and places them as link/script tags on the page along with the bundled CSS/JSS files.
Read the documentation for more info: https://docs.abp.io/en/abp/8.0/UI/AspNetCore/Bundling-Minification
ABP Framework provides read-only repository interfaces (IReadOnlyRepository<>
or IReadOnlyBasicRepository<>
) to explicitly indicate that your purpose is to query data, but not change it. It uses EF Core's No-Tracking Feature behind the scenes, which means the entities returned from the repository will not be tracked by the EF Core's change tracker and thanks to that you get significant performance gains.
public class MyService
{
private readonly IReadOnlyRepository<Book, Guid> _bookRepository;
public async Task MyMethod()
{
var books = await _bookRepository.GetListAsync(); //change tracking not involved
//...
}
}
In addition to the read-only repository interfaces, ABP Framework introduces the
IRepository.DisableTracking()
andIRepository.EnableTracking()
extension methods to allow developers to disable/enable entity tracking by these methods manually. If you don't want to use the read-only repositories, you can use these methods to enable or disable the change tracker controlled. Read the documentation to learn more: https://docs.abp.io/en/abp/8.0/Repositories#enabling-disabling-the-change-tracking
Prior to this version, when you registered with your social accounts for the first time, your email address was becoming your username and it was shown everywhere in the application. Therefore, you would need to update your username later on and this is not a good user experience.
Thus, in this version, we have enhanced this flow, and now, when you register as an external user for the first time, a username and email address are shown you in a form for you to revise and update if you want, before logging into the application. Thanks to that, after the social registration you would not need to update your username and email address. This is also good at the point of GDPR regulations because your email address will not be shown as a username and will not exposed.
IEmailSender.QueueAsync()
method).We've also worked on ABP Commercial to align the features and changes made in the ABP Framework. The following sections introduce a few new features coming with ABP Commercial 8.0.
In this version, we have introduced the Master/Detail Relationship support in Suite. The Master-Detail (or Master-Child) relationship refers to a hierarchical connection between two entities, where one entity (the master or parent entity) influences or controls the behavior or properties of another element (the child entity) relationship. The relationship between Order - Order Lines can be considered as an example of a master-detail relationship.
ABP Suite allows you to create a master-detail relationship with a few clicks. It generates the necessary code for the master and detail tables, including the foreign key relationship between the two tables.
To establish a master-detail relationship, you need to apply the following two steps:
That's it! ABP Suite will be generating the entities, making the related configurations, establishing database relations (including the foreign key relationship), generating the UI for the master entity (with child-grids for child entities), and so on...
It’s already documented and you can read the documentation at https://docs.abp.io/en/commercial/8.0/abp-suite/creating-master-detail-relationship.
abp generate-proxy -t ng
command in the root directory of the Angular application manually. It will be automatically done with the next version, so you will not need to run the command manually in further versions.A user's profile picture would be blank when they first register for an application using a social account through an external authentication provider like Google or Facebook because it hasn't been configured yet. The user must update their profile photo after logging into the application.
In order to save the user from having to change their profile picture after logging in for the first time, we have improved this behavior in this version and are now attempting to retrieve the user's profile picture from external authentication providers (like Google) and set it as their profile picture. Later on, if desired, he or she might modify the profile image.
Until this version, ABP Commercial was using the Ocelot for the API Gateway, in the Microservice Startup Template. Since the Ocelot library is not actively maintained, we have searched for an alternative and decided to switch from Ocelot to YARP for the API Gateway. YARP is maintained by Microsoft and is actively being developed and seems a better alternative than Ocelot and provides the same feature stack and even more.
You can read the Migrating to YARP documentation for migrating your existing microservice application's API Gateway from Ocelot to YARP.
We have made the all related changes in the Microservice Startup Template, and also updated the documentation, which you can read here.
In v7.4, we have introduced the Password Complexity Indicators for Angular UI and with this version, we have implemented it for the MVC & Blazor UIs as well. You can use this feature to dynamically evaluate and rate the strength of user-generated passwords, providing real-time feedback to users as they create or update their passwords.
In your application, you may want to grant permission to a specific group or people to read-only view the users of your application to be able to do some actions. For example, you may want to marketing team to see the users to organize campaigns for the customers, or make controls. In this case, you can grant default permissions for these groups, however, they could not see the details of a user, because in the current design, if the edit permission is not granted you can't see the detailed info for a user.
In this version, we have added the read-only view action to the user's page. This allows you to only grant the default view permission to the specific users and allow them to view user information as read-only and not allow them to change or modify it.
With v8.0, now it's possible to import and export user records in Excel and CSV formats. You can import external users, or import users from Excel or CSV files and also you can export users to Excel or CSV files:
Our team has closely followed the ASP.NET Core and Entity Framework Core 8.0 releases, read Microsoft's guides and documentation, and adapted the changes to our ABP.IO Platform. We are proud to say that we've shipped the ABP 8.0 RC.1 based on .NET 8.0 just after Microsoft's .NET 8.0 release.
In addition to the ABP's .NET 8.0 upgrade, our team has created 13 great articles to highlight the important features coming with ASP.NET Core 8.0 and Entity Framework Core 8.0.
You can read this post to see the list of all articles.
In addition to the 13 articles to highlight .NET 8.0 features written by our team, here are some of the recent posts added to the ABP Community:
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.
Microsoft has released .NET 8.0 and celebrated it with a 3-day international online conference. The core team members of ABP Framework, Alper Ebiçoğlu and Enis Necipoğlu gave speeches at the .NET Conf 2023.
Alper Ebiçoğlu's topic was "Building Multi-Tenant ASP.NET Core Applications and ABP Framework" and in this talk, he talked about what's SaaS development, what are its pros and challenges and multi-tenant development with the open-source ABP Framework:
On the other hand, Enis Necipoğlu's topic was "Reactive programming with .NET MAUI" and he talked about applying reactive programming in .NET MAUI with MVVM and ReactiveUI:
In this episode of ABP Community Talks, 2023.8; Steve Sanderson will be our guest speaker and we'll talk about .NET 8.0 and ABP 8.0 with the ABP Core Team. We will dive into the features that came with .NET 8.0, how they are implemented in ABP 8.0, and the highlights in the .NET Conf 2023 with Halil İbrahim Kalkan, Alper Ebicoglu, Engincan Veske, Berkan Sasmaz and Bige Besikci Yaman.
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 v8.0 RC and provide feedback to help us release a more stable version.
Thanks for being a part of this community!
Merhaba, .net 8 ile birlikte abp paketlerinide 8.1.1 çektik. Fakat atılan isteklerde 403 döndürmektedir. Bununla ilgili bir konu veya açıklama varmıdır? Nereleri güncellememiz gerekir. Şimdiden teşekkürler. Herhangi bir hata vermemektedir. Sadece 403 döndürmektedir. Tokent Identity/Token üzerinden alınmaktadır. Tablolarda güncellenmişitr.
I have a suggestion whether it can provide a set of plug-in programming model, and the new functions can be extended to the application by plug-in, so that there is no need to recompile the whole application. Only plug-ins need to be developed, tested, deployed and managed.
Can you check https://docs.abp.io/en/abp/latest/PlugIn-Modules ?
How to manage the appliations data permissions? current,only function permission, For real enterprise applications, the multi-dimensional control and management of data permissions is very important.
Please see https://docs.abp.io/en/abp/latest/Authorization
Are there any plans to migrate or create a new template for the new Blazor Web template with support for Advanced SSR and Enhanced Forms also the ability to use Blazor WASM and Blazor Server components? If not do you have guidance on how to do that within the MVC framework?
Please follow the https://github.com/abpframework/abp/issues/16156.
ABP 9.0 release candidate has been released today. Read the blog post to learn all new features in details. Continue Reading
ABP 8.3 stable version has been released today. Read the blog post to learn all new features in details. Continue Reading
We have combined the ABP (open-source) and ABP Commercial (paid) documents into a single, comprehensive resource. This unification brings you a bet... Continue Reading
Today, we are happy to release ABP version 8.3 RC (Release Candidate). This blog post introduces the new features and important changes in this new... Continue Reading
📢 We're excited to introduce the new ABP CLI after the announcement of the new unified ABP Platform. Continue Reading
ABP Framework and ABP Commercial 8.2 versions have been released today. Continue Reading
Today, we are happy to release the ABP Framework and ABP Commercial version 8.2 RC (Release Candidate). This blog post introduces the new features ... Continue Reading
ABP Framework and ABP Commercial 8.1 versions have been released today. Continue Reading
Today, we are happy to release the ABP Framework and ABP Commercial version 8.1 RC (Release Candidate). This blog post introduces the new features ... Continue Reading
Today, ABP Framework and ABP Commercial 8.0 versions have been released based on .NET 8.0. Continue Reading
ABP Framework and ABP Commercial 7.4 versions have been released today. Continue Reading
We're excited to introduce to you ABP's CMS Kit Module – a versatile module that empowers you to build your own dynamic content website with ease. ... Continue Reading
Today, we are happy to release the ABP Framework and ABP Commercial version 7.4 RC (Release Candidate). This blog post introduces the new features ... Continue Reading
ABP Framework and ABP Commercial 7.3 versions have been released today. Continue Reading
Today, we are happy to release the ABP Framework and ABP Commercial version 7.3 RC (Release Candidate). This blog post introduces the new features ... Continue Reading
ABP Framework and ABP Commercial 7.2 versions have been released today. Continue Reading
Today, we are happy to release the ABP Framework and ABP Commercial version 7.2 RC (Release Candidate). This blog post introduces the new features ... Continue Reading
Today, we are happy to release the ABP Framework and ABP Commercial version 7.1 RC (Release Candidate). This blog post introduces the new features ... Continue Reading
ABP Framework and ABP Commercial 7.0 versions have been released today. Continue Reading
Today, we are happy to release the ABP Framework and ABP Commercial version 7.0 RC (Release Candidate). This blog post introduces the new features ... Continue Reading
ABP Framework and ABP Commercial 6.0 versions have been released today. Continue Reading
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 ... Continue Reading
ABP Framework and ABP Commercial 5.3 versions have been released today. Continue Reading
Today, we are happy to release the ABP Framework and ABP Commercial version 5.3 RC (Release Candidate). This blog post introduces the new features ... Continue Reading