Software Engineer
2 weeks ago, 1253 views
2 weeks ago, 1268 views
1 month ago, 295 views
1 month ago, 237 views
1 month ago, 3095 views
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 and important changes in this new version.
Try this version and provide feedback for a more stable version of ABP v7.1! Thanks to all of you.
Follow the steps below to try version 7.1.0 RC today:
7.1.0-rc.1
using a command line terminal:dotnet tool update Volo.Abp.Cli -g --version 7.1.0-rc.1
or install it if you haven't before:
dotnet tool install Volo.Abp.Cli -g --version 7.1.0-rc.1
--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 7.x, like Visual Studio 2022.
This version comes with a breaking change, so please see the following migration guide if you are upgrading from v7.0:
Note: Entity Framework developers may need to add a new code-first database migration to their projects since we made some improvements to the existing entities of some application modules.
In this section, I will introduce some major features released in this version. In addition to these features, so many enhancements have been made in this version too.
Here is a brief list of the titles explained in the next sections:
IHasEntityVersion
interface and EntitySynchronizer
base classDeleteDirectAsync
method for the IRepository
interfaceIAbpHostEnvironment
interfaceWe've created the Application (Single Layer) Startup Template in v5.2 with three UI types: Angular, Blazor Server, and MVC. At the moment, we didn't provide a UI option for Blazor, because it required 3 projects at least (server-side, client-side, and shared library between these two projects).
In this version, we've added the Blazor WASM option to the Application (Single Layer) Startup Template. It still contains three projects (blazor
, host
, and contracts
) but hosted by a single host
project.
You can use the following CLI command to create an app-nolayers
template with the Blazor UI as the UI option:
abp new TodoApp -t app-nolayers -u blazor --version 7.1.0-rc.1
You can check the Quick Start documentation for a quick start with this template.
IHasEntityVersion
interface and EntitySynchronizer
base classEntity synchronization is an important concept, especially in distributed applications and module development. If we have an entity that is related to other modules, we need to align/sync their data once the entity changes and versioning entity changes can also be good, so we can know whether they're synced or not.
In this version, @gdlcf88 made a great contribution to the ABP Framework and introduced the IHasEntityVersion
interface which adds auto-versioning to entity classes and EntitySynchronizer
base class to automatically sync an entity's properties from a source entity.
You can check the issue and documentation from the following links for more info:
Note: The entities of some modules from the ABP Framework have implemented the
IHasEntityVersion
interface. Therefore, if you are upgrading your application from an earlier version, you need to create a new migration and apply it to your database.
DeleteDirectAsync
method for the IRepository
interfaceEF 7 introduced a new ExecuteDeleteAsync
method that deletes entities without involving the change tracker into the process. Therefore, it's much faster.
We've added the DeleteDirectAsync
method to the IRepository<>
interface to take the full power of EF 7. It deletes all entities that fit the given predicate. It directly deletes entities from the database, without fetching them. Therefore, some features (like soft-delete, multi-tenancy, and audit logging) won't work, so use this method carefully when you need it. And use the DeleteAsync
method if you need those features.
IAbpHostEnvironment
interfaceSometimes, while creating an application, we need to get the current hosting environment and take actions according to that. In such cases, we can use some services such as IWebHostEnvironment or IWebAssemblyHostEnvironment provided by .NET, in the final application.
However, we can not use these services in a class library, which is used by the final application. ABP Framework provides the IAbpHostEnvironment
service, which allows you to get the current environment name whenever you want. IAbpHostEnvironment
is used by the ABP Framework in several places to perform specific actions by the environment. For example, ABP Framework reduces the cache duration on the Development environment for some services.
Usage:
public class MyService
{
private readonly IAbpHostEnvironment _abpHostEnvironment;
public MyService(IAbpHostEnvironment abpHostEnvironment)
{
_abpHostEnvironment = abpHostEnvironment;
}
public void MyMethod()
{
//getting the current environment name
var environmentName = _abpHostEnvironment.EnvironmentName;
//check for the current environment
if (_abpHostEnvironment.IsDevelopment()) { /* ... */ }
}
}
You can inject the IAbpHostEnvironment
into your service and get the current environment by using its EnvironmentName
property. You can also check the current environment by using its extension methods such as IsDevelopment()
.
Check the ABP Application Startup documentation for more information.
K8s and Docker configurations have been made within this version (Dockerfiles and helm-charts have been added and image build scripts have been updated). See #14083 for more information.
We've also worked on ABP Commercial to align the new features and changes made in the ABP Framework. The following sections introduce a few new features coming with ABP Commercial 7.1.
The Application (Single Layer) Startup Template with Blazor UI is also available for ABP Commercial customers with this version as explained above.
You can use the following CLI command to create an app-nolayers-pro
template with Blazor UI as the UI option:
abp new TodoApp -t app-nolayers-pro -u blazor --version 7.1.0-rc.1
You can also create an app-nolayers-pro
template with Blazor UI via ABP Suite:
We provided a new UI option "MAUI Blazor" for the app-pro
template in the previous version and it's possible to create a maui-blazor
application with both ABP CLI and ABP Suite.
You can create an app-pro
template with the MAUI Blazor as the UI option with the following ABP CLI command:
abp new Acme.BookStore -t app-pro -u maui-blazor
In this version, we implemented the code generation for MAUI Blazor. You can create and generate CRUD pages for this new UI option as you do in other UI types.
Note: MAUI Blazor is currently only available with the
app-pro
template.
In the previous versions, we were able to impersonate a tenant from the SaaS Module's Tenant Management UI. There was a constraint in this approach, which forced us to only impersonate the "admin" user. However, the tenant might change the admin user's username, or we may want to impersonate another user of the tenant.
Thus, with this version, we decided to allow the impersonation of the tenant by the specified username.
You can click on the "Login with this tenant" action button:
Then, Specify the admin name of the tenant:
We thank you all. We thank all the authors for contributing to the ABP Community platform.
Core team members of the ABP Framework, Halil Ibrahim Kalkan and Alper Ebicoglu attended NDC London 2023 from the 23rd to the 27th of January.
You can check this post to see our takeaways from the NDC London 2023.
In this episode of ABP Community Talks, 2023.1; we'll talk about LeptonX Customization. We will dive into the details and show you how to customize the LeptonX Theme with examples.
The event will be live on Thursday, February 28, 2023 (17:00 UTC).
Register to listen and ask your questions now 👉 https://kommunity.com/volosoft/events/abp-community-talks-20231-leptonx-customization-03f9fd8c.
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 the ABP v7.1 RC and provide feedback to help us release a more stable version.
Thanks for being a part of this community!
The RC notes mention a "few breaking changes". However, when you get to the migration guide, there is only information on 1 breaking change. Is there more than 1 breaking change? If not, I suggest changing the wording to "a breaking change" instead of a "few breaking changes" for clarity.
Done, thanks.
I think event date, need to be fixed in the post (28th Feb)
Thanks, I will update the blog post.
Thank you. https://www.dotblogs.com.tw/jakeuj/2023/02/20/ABP-7-1
Today, ABP 9.0 stable version has been released based on .NET 9.0. You can create solutions with ABP 9.0 starting from ABP Studio v0.9.11 or by usi... Continue Reading
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
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 ... 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
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