2 weeks ago, 1254 views
2 weeks ago, 1269 views
1 month ago, 297 views
1 month ago, 237 views
1 month ago, 3098 views
We are excited to announce that the ABP Framework & and the ABP Commercial version 3.0 have been released. As different than the regular release lifecycle, which is 2-weeks, this version has taken 4-weeks with 119 issues closed, 89 pull requests merged and 798 commits done in the main framework repository.
Since this is a major version, it also includes some breaking changes. Don't panic, the changes are easy to adapt and will be explained below.
See the GitHub release notes for a detailed change log.
This post will only cover the important features/changes. You can see all the changes on the GitHub release notes.
Angular version 10 has just been released and we've immediately migrated the startup templates to Angular 10! So, when you create a new solution with the Angular UI, you will take the advantage of the new Angular.
We've prepared a migration guide for the projects created an older version and want to migrate to Angular 10.
We had created an integration package for the Oracle for EF Core based applications using the Devart's library since the official Oracle EF Core package was not supporting the EF Core 3.1. It now supports as a beta release. While it is in beta, we've created the integration package, so you can use it in your application.
See the documentation for details.
We had created a BLOB storing system in the previous version with a file system and database storage provider. This release introduces the Azure BLOB Storage provider. See the documentation.
The standard IDistributeCache interface of the ASP.NET Core doesn't contain bulk operations, like setting multiple items with a single method/server call. ABP Framework introduces new methods those can be used for bulk operations on the ABP's IDistributedCache<T>
interface:
Then we needed to implement these new methods for Redis cache and had to create a Redis integration package which extends the Microsoft's implementation.
These methods are also used by the ABP Framework to cache settings, features and permissions for a user/role/tenant and brings a significant performance improvement.
See the caching document for details.
Virtual File System now supports to use GenerateEmbeddedFilesManifest
in your projects to add the real file/directory structure of your embedded resources in the compiled assembly. So, you can now access to the files without any file name restriction (previously, some special chars like .
in the directory names was a problem in some cases)
See the documentation to learn how to take the advantage of new system.
Based on the requests from the community, we've prepared two new sample applications:
The standard StringLength
and MaxLength
data annotation attributes is useful to validate properties of a class when the class is used as a Model or DTO. However, just like any other attribute, the length values should be literal (constant) values known at compile time.
Example: Using the StringLength
public class CreateBookDto
{
public const int MaxNameLength = 128; //CONSTANT!
[StringLength(MaxNameLength)]
public string Name { get; set; }
}
ABP Framework now has the DynamicStringLength
& DynamicMaxLength
properties to allow to determine the lengths at runtime.
Example: Using the DynamicStringLength
public class CreateBookDto
{
public static int MaxNameLength { get; set; } = 128;
[DynamicStringLength(typeof(CreateBookDto), nameof(MaxNameLength))]
public string Name { get; set; }
}
DynamicStringLength
gets a class type and the name of a static property on this class to read the max length (there is also a minimum length option just like the StringLength
).
This allows you to get the max value from a configuration and set on the application startup (generally, in the PreConfigureServices
method of your module):
CreateBookDto.MaxNameLength = 200;
This feature is used by the pre-built application modules, so you can now override the max lengths of the properties defined in these modules.
ABP can automatically publish distributed events for all entities on their create, update and delete events. That's pretty useful since you commonly interest in these basic events in a distributed system.
This feature is mature and documented with the v3.0. You can easily configure some or all the entities to be published.
When you work with LINQ extension methods, you need to call ToListAsync()
, FirstOrDefaultAsync()
... methods on your queries. Unfortunately, these methods are not standard LINQ extension methods. They are defined in the Microsoft.EntityFrameworkCore package (or in the MongoDB.Driver package if you are using the MongoDB).
So, you need to depend on this package if you want to use the async extension methods. That breaks the layering and makes your application or domain layer depends on the EF Core / MongoDB package.
IAsyncQueryableExecuter
is a service defined by the ABP Framework to execute queries asynchronously without depending the specific provider (EF Core / MongoDB) package.
See the documentation to read the details and learn our recommendations.
We are now publishing API documents for the ABP Framework and modules in every release. So, you can explore the ABP Framework classes much more easier than before. Click the the API Documentation link on the navigation menu of the documentation.
We have created a page to list all the ABP-related official NuGet and NPM packages.
abp.currentUser
(CurrentUser
service in the Angular UI) now has a roles
array that contains role names of the current user.ReadOnlyAppService
base class (which has only the get operations) in addition to the CrudAppService
base class (which has get, create, update and delete operations).See the GitHub release notes for others updates.
In addition to all the features coming with the ABP Framework, the ABP Commercial has additional features with this release, as always. This section covers the ABP Commercial highlights in the version 3.0.
We've created a new module that is used to store and manage files in your application. This new module is based on the BLOB Storing system, so it can use different storage providers to store the file contents.
Example screenshot
You can upload, download and organize files in a hierarchical folder structure. It is also compatible to multi-tenancy and you can determine total size limit for your tenants. In the next versions, we will be working on a "share" system to share files between users in a more controlled way or share your files with your customers with a public link.
File Management module is currently available only for the MVC / Razor Pages UI. We are working on the Angular UI and it will be released in the next versions.
Since this is a major version, we've redesigned some APIs and introduced a few "easy to fix" breaking changes.
DynamicStringLength
as explained above.ConcurrencyStamp
max length to 40. You need to add a database migration and update your database after upgrading the ABP Framework.~
instead of ^
for NPM package dependencies anymore, to be more stable.theme1.png
, theme1-reverse.png
, theme2.png
, theme2-reverse.png
(... 6
). Now, we have only two logo files: logo-light.png
and logo-dark.png
. So, rename your logo in the wwwroot/images/logo/
folder for the MVC UI and /src/assets/images/logo/
folder for the Angular UI.Also, see the migration guide for Angular UI.
We will continue to release a new minor/feature version in every two weeks. So, the next expected release date is 2020-07-16 for the version 3.1.
In the next few versions, we will be focused on the Blazor UI, as promised on the road map. We will continue to improve the documentation, create samples, add other new features and enhancements. Follow the ABP Framework Twitter account for the latest news...
Beside developing our products, our team are constantly writing articles/tutorials on various topics. You may want to check the latest articles:
We’d love to hear from you. Please leave your comments, suggestions, feeedbacks below.
Will an Angular based File Management Module be available in 3.1? What enhancements/ bug fixes are planned for 3.1 Suite? Thanks and Regards
File Management module Angular UI will be available with the v3.2. We've completely re-written the ABP Suite Angular UI code generation with v3.2 and made a lot of minor enhancement and bug fixes.
Hi, Any plan for document management module (such as doc, docx, pdf, etc.,) Like docuviewer tool? For drop-down control, please provide select2 ajax samples with ABP framework best practice. Thanks and regards!
We had created a file management module, but it is not a specific document management module. What do you expect from a document management module? Can you send your thoughts to info@abp.io as a feedback. Thanks. I noted your select2 example request.
All the tools in the toolbox are complete. After that, it will depend on the capabilities of the developers. Thanks for everything, Volosoft.
Thanks a lot :)
Do you have any plan for UI?
In the next few versions, we will be focused on the Blazor UI. Are you asking that?
ABP Studio (beta) is generally available to everyone and ready for download. Continue Reading
Some big changes and improvements are coming to the ABP.IO Platform soon Continue Reading
Introducing the ABP.IO Platform version 7.1! Continue Reading
Introducing the ABP.IO Platform version 5.2.0! Continue Reading
Introducing the new features and changes coming with ABP Framework and ABP Commercial version 5.2. Continue Reading
Introducing the new features and changes coming with ABP Framework and ABP Commercial version 5.1. Continue Reading
Introducing the ABP 5.0 release. Continue Reading
Introducing the ABP v5.0 RC and the new features coming with this version. Continue Reading
ABP Framework and ABP Commercial 4.4 versions have been released. Continue Reading
This post covers the new features and changes coming with the ABP.IO platform version 4.4. Continue Reading
Introducing the ABP.IO Platform version 4.3.0! Continue Reading
Introducing the ABP Commercial v4.3 RC and the new features coming with this version Continue Reading
Introducing the ABP v4.3 RC and the new features coming with this version Continue Reading
ABP Framework and ABP Commercial 4.2 versions have been released today. Continue Reading
This post covers the new features and changes coming with the ABP.IO platform 4.2 version. Continue Reading
ABP Framework and ABP Commercial 4.1 versions have been released. Continue Reading
Released ABP.IO Platform v4.1 RC. Some new features: Module Entity Extensions, Blazor UI Improvements, Spanish Language Translation etc. Learn more... Continue Reading
Released ABP.IO Platform v4.0 Final. Some new features: Migrated to .NET 5.0, Stable Blazor UI, Identity Server 4 Upgrade, Moved to System.Text.Jso... Continue Reading
Released ABP.IO Platform v4.0 RC. Some new features: Migrated to .NET 5.0, Stable Blazor UI, Identity Server 4 Upgrade, Moved to System.Text.Json, ... Continue Reading
Released ABP v3.3. Some new features: New modules & features for the Blazor UI, Automatic Validation for AntiForgery Token for HTTP APIs, Rebus Int... Continue Reading
Released ABP v3.3 RC. Some new features: New modules & features for the Blazor UI, Automatic Validation for AntiForgery Token for HTTP APIs, Rebus ... Continue Reading
Released ABP v3.2 final. Some new features: The Blazor UI, MongoDB ACID Transactions, Kafka Integration for the Distributed Event Bus etc. Learn mo... Continue Reading
Released ABP v3.2 RC. Some new features: The Blazor UI, MongoDB ACID Transactions, Kafka Integration for the Distributed Event Bus etc. Learn more ... Continue Reading
ABP Framework has introduced the new Angular Service Proxy Generation system with the version 3.1. This post introduces the service proxy generatio... Continue Reading
Released ABP v3.1 final. Some new features: Angular Service Proxies, Authorization Code Flow for the Angular UI, Global Feature System etc. Learn m... Continue Reading
Released ABP v3.1 RC. Some new features: Angular Service Proxies, Authorization Code Flow for the Angular UI, Global Feature System etc. Learn more... Continue Reading
Released ABP v2.9.0. Some new features: Organization Units System, Blob Storing Package, EF Core Oracle Integration Package, Chat Module Angular UI... Continue Reading
Released ABP Framework and ABP Commercial v2.8. Some new features: SignalR Integration Package, RTL Support for the MVC UI, New Lepton Theme Styles... Continue Reading
Released ABP Framework v2.7. Some new features: Object Extending System, Text Templating Package, Subscribing to the Exceptions etc. Learn more abo... Continue Reading
Released ABP Framework v2.3. Some new features: React Native Mobile App, Angular TypeScript Proxy Generator, CRUD app service etc. See the GitHub m... Continue Reading
Released ABP Framework v2.0 and ABP Commercial. See the release notes for changes. Create a demo to see application startup template of ABP Commerc... Continue Reading
Released the first stable ABP v1.0, after ~3 years of continuous development! Start playing with the new ABP framework now. See the GitHub mileston... Continue Reading
Released ABP v0.21 with no new feature. The release is just upgrade to the stable AspNet Core 3.0. Check v0.20 release notes for new features, and ... Continue Reading
Released ABP v0.19 with 90+ issues resolved and 650+ commits pushed. Some new features: Angular UI, Widget System. See the roadmap for all upcomings. Continue Reading
Released ABP v0.18 with 80+ issues resolved and 550+ commits pushed. Changes: ABP CLI command line tool, and new startup templates. See the roadmap... Continue Reading
See microservice solution demo documentation for a detailed explanation of the solution. It aims to demonstrate a simple yet complete microservice ... Continue Reading