Blog Post
See the blog post to learn what's new with this release.
Breaking Changes
- ISSUE #5304: Introduce AbpHttpClientBuilderOptions & Remove AbpHttpClientOptions.HttpClientActions
- ISSUE #5182: Use the new "abp generate-proxy" for all the modules (angular UI)
- PR #5174: MongoDB module ACID transaction implementation (by realLiangshiwei)
- ISSUE #5026: Transform replaceable components from NGXS state to Angular service
Features
- ISSUE #5419: "abp build" command to optimize building for big mono repositories
- PR #5399: Initial Blazor UI (by hikalkan)
- ISSUE #5353: Allow to manage "Host Features"
- ISSUE #5348: [Angular] create a utility function for downloading blob objects
- PR #5318: Add unadded users/roles method to OrganizationUnitRepository (by realLiangshiwei)
- ISSUE #5316: Add unadded users/roles method to OrganizationUnitRepository
- PR #5315: Add more property to user claims & ICurrentUser (by maliming)
- ISSUE #5277: Proxy Generator: Add proxy-index as separate command
- PR #5261: Introduce DynamicRangeAttribute (by realLiangshiwei)
- PR #5257: Allow to add new tabs to the account profile manage page (by yekalkan)
- ISSUE #5255: Introduce DynamicRangeAttribute
- ISSUE #5205: Add "--skip-cli-version-check" option to ABP CLI
- ISSUE #5203: Proxy Generator: Accept __default as placeholder for a default parameter
- ISSUE #5202: Proxy Generator: Additional command for removing generated proxy required
- PR #5034: Add Kafka event bus integration (by realLiangshiwei)
- ISSUE #5009: Allow to select Blazor UI while creating a new solution
- ISSUE #5008: Initial Blazor UI project for the application startup template
- ISSUE #4764: CmsKit Rating system
- ISSUE #4222: Kafka integration for the Distributed Event Bus
- ISSUE #347: MongoDB module ACID transaction implementation
Enhancements
- ISSUE #5435: Add further VS Code extension recommendations
- ISSUE #5428: [Angular] expose http headers from api interceptor
- ISSUE #5405: [Angular] improve tree adapter to handle update
- ISSUE #5402: [Angular] enable retrieving localization resource from LocalizationService
- ISSUE #5381: [Angular] make tree table customizable by accepting custom template for nodes
- PR #5366: Write log to console when Debug. (by maliming)
- PR #5361: Feature Management Modal improvements (by realLiangshiwei)
- ISSUE #5346: Add global.json to specify the dotnet core version
- ISSUE #5340: [Angular] create an InternalStore for migration from Ngxs Store
- PR #5334: Group features on the feature management modal (by realLiangshiwei)
- ISSUE #5330: Group features on the feature management modal (angular UI)
- ISSUE #5329: Group features on the feature management modal (MVC UI)
- ISSUE #5327: Feature Management Modal improvements (MVC UI)
- ISSUE #5273: Add GenerateDocumentationFile to csproj files
- ISSUE #5245: Proxy Generator: Improve import experience of generated code
- ISSUE #5234: Add a path to the tsconfig.json files for proxy folder
- ISSUE #5221: Proxy Generator: Regenerate previously generated modules on every run
- ISSUE #5219: Make Chinese localization work
- PR #5198: Cli: Suite install & update improvements (by yekalkan)
- ISSUE #5191: Cli: Running switch commands in aspnet-core folder should switch angular project as well if it exist
- ISSUE #5183: Revise all the angular documentation (Part I)
- PR #5172: ABP CLI generate-proxy command checks if @abp/ng.schematics package was installed (by yekalkan)
- ISSUE #5170: ABP CLI generate-proxy command should check if @abp/ng.schematics package was installed
- ISSUE #5168: Use @abp/ng.schematics:proxy command from the ABP CLI to generate Angular service proxies
- ISSUE #5167: Remove solution name parameter from proxy generator
- ISSUE #5162: Login button doesn't look like a button on Web project
- ISSUE #5161: Role labels are not displayed in Angular template
- ISSUE #5160: When clicking the menu item, route changes but menu stays opened
- PR #5147: Add abp.luxon.js (by realLiangshiwei)
- ISSUE #5135: Update/Revise the Angular Service Proxy Generation document
- PR #5134: CmsKit: Should focus on the comment area after login and return back (by yekalkan)
- ISSUE #5073: Should focus on the comment area after login and return back
- ISSUE #4874: UI Design for CMS Kit reactions & comments
- ISSUE #3573: (docs) Running ms-demo using docker missed
- ISSUE #3152: NGXS Logger should be able to ignore some actions
Bug Fixes
- ISSUE #5438: [Angular] wrong actions button label in extensible table
- ISSUE #5433: Proxy Generator: RootNamespace turns into directories when there is no Namespace
- ISSUE #5429: ListService filter is not working properly when skipCount is not 0
- ISSUE #5374: Tree adapter is unable to remove nested nodes
- PR #5364: Always migrate seed data (by realLiangshiwei)
- ISSUE #5362: (bug) DbMigrationService not seeding tenant data
- ISSUE #5291: Proxy Generator: Recursive types cause infinite loop
- ISSUE #5282: ABP LocalizationPipe ignores localization parameter order
- ISSUE #5267: Routes are not sorted correctly when order is 0
- ISSUE #5258: Proxy Generator: Remote service name is different from module name
- ISSUE #5254: Refresh Token API is called every 4 minutes
- ISSUE #5201: Proxy Generator: Inherited generic interface gets imported from self
- ISSUE #5181: Bug on dictionary type generation on the angular service proxy generation
- ISSUE #5154: CLI "is not a valid version string" bug
Others
- PR #5448: Update FormTenantResolveContributor (by realLiangshiwei)
- ISSUE #5447: FormTenantResolveContributor Incorrect Content-Type.
- PR #5445: Make
T To<T>
extension method support string to GUID. (by maliming) - PR #5444: Update mongodb document (by realLiangshiwei)
- PR #5443: Change tenant id when seed user,role and permission grant. (by maliming)
- PR #5441: Article: How to setup azure ad and integrate with angular application (by gterdem)
- ISSUE #5440: Article: How to setup azure ad and integrate with angular application
- PR #5437: Added further vs code extension recommendations to Angular projects (by armanozak)
- PR #5436: Added new properties to CurrentUser interface in Angular UI (by mehmet-erim)
- PR #5434: Proxy Generator: Avoided root namespace to turn into directories when there is no namespace (by armanozak)
- PR #5431: Resolve filter problem in ListService (by mehmet-erim)
- PR #5427: Update multi-tenancy document (by realLiangshiwei)
- ISSUE #5426: Update muiti-tenancy document
- PR #5422: Add UsersCanNotChangeTwoFactor & CanNotChangeTwoFactor. (by maliming)
- PR #5421: Update Virtual-File-System.md (by Soar360)
- PR #5418: Introduced "abp build" command to optimize building for big mono repositories (by ismcagdas)
- PR #5416: use InvariantCulture when normalizing container name. (by ismcagdas)
- ISSUE #5415: Update mongodb document
- PR #5409: Use static helper instead extension method. (by maliming)
- PR #5408: Added a condition for responseType to the schematics service template (by mehmet-erim)
- ISSUE #5407: Angular Schematics: Pass responseType property as text to the RestService when the response type is string
- PR #5400: Revert "OrganizationUnit should have filter parameter" (by maliming)
- PR #5397: Add security log document. (by maliming)
- PR #5396: Blazor template download (by yekalkan)
- PR #5391: Used the new "abp generate-proxy" for all the modules (by mehmet-erim)
- PR #5385: Update zh-hant of identity module (by ChangYinShung)
- ISSUE #5383: Implement the same rules of the MVC UI for the Blazor UI of the feature management module
- PR #5380: Implemented the group features to the features management (by mehmet-erim)
- ISSUE #5379: Proxy Generator:generate error url,missing $
- PR #5376: Fixed TreeAdapter to remove nested nodes properly (by armanozak)
- PR #5372: Update data-filtering.md (by realLiangshiwei)
- PR #5370: Added a warning about public-api.ts exports for proxies (by armanozak)
- ISSUE #5369: Proxy Generator: Add warning about public-api exports
- PR #5368: Update Data-Filtering.md (by maliming)
- PR #5365: Update Virtual-File-System.md (by QQ969428502)
- ISSUE #5363: Documentation how to define custom filters
- ISSUE #5360: [Angular] has no exported member '╔╡bl'.
- PR #5358: Fixed the redirecting to the swagger (by mehmet-erim)
- PR #5357: Upgrage Oracle.EntityFrameworkCore package to 3.19.80. (by maliming)
- ISSUE #5354: EntityFramework Core Oracle 3.x New Stable Release
- PR #5352: Updated Angular Service Proxy Documentation (by armanozak)
- PR #5347: Upgraded NGXS to the latest version (by mehmet-erim)
- PR #5341: Created an InternalStore for migration from NGXS (by armanozak)
- PR #5338: add page to OrganizationUnitRepository method (by realLiangshiwei)
- ISSUE #5335: Proxy Generator: Recursive types cause infinite loop
- PR #5333: Created ReplaceableComponentsService and used it instead of ReplaceableComponentsState (by mehmet-erim)
- PR #5326: Fixed horizontal gap and unnecessary scrolls on datatable (by armanozak)
- PR #5323: Hid the menu dropdown when clicking a navigation (by mehmet-erim)
- PR #5319: Added role labels to the name column of roles datatable (by mehmet-erim)
- ISSUE #5317: Create some directories to categorize the files under Volo.Abp.Identity.Domain.
- ISSUE #5313: CanActivate: [PermissionGuard] reports an error: The maximum call stack size is exceeded
- PR #5310: Used an intersection type in ApiConfig for strict null checks (by armanozak)
- PR #5309: Update Chinese documents (by realLiangshiwei)
- PR #5303: Add CS0436 to common.props. (by maliming)
- ISSUE #5302: Generate-proxy:Multiple modules cannot be generated
- PR #5301: Added cache process to Angular GitHub action (by mehmet-erim)
- PR #5300: Fix: localization data is lost when exception is on remote (by yekalkan)
- PR #5295: Avoided recursive types to cause an infinite loop in proxy generator schematics (by armanozak)
- PR #5292: OrganizationUnit should have filter parameter (by jonny-xhl)
- PR #5285: Matched parameter order when replacing placeholders in LocalizationPipe (by armanozak)
- PR #5279: Added proxy-index as separate command in schematics (by armanozak)
- PR #5274: Fixed the RTL margin problem in permissions modal (by mehmet-erim)
- PR #5271: Add FeatureManagement module to host projects. (by maliming)
- PR #5268: Fixed the routes sorting problem in Angular UI (by mehmet-erim)
- PR #5264: Remote service name is resolved from api-name parameter in proxy generation (by armanozak)
- PR #5263: Pass requestData parameter to inputAction function (by wakuflair)
- PR #5262: Community 3.2 localization (by berkansasmaz)
- PR #5260: Tutorial update 3.1 (by hikalkan)
- PR #5259: Introduce IsAvailableToHost of FeatureDefinition. (by maliming)
- PR #5256: Fixed the frequently API calling problem for the refresh token (by mehmet-erim)
- PR #5251: Update Part-10.md (by maliming)
- PR #5250: Fixed the proxy folder paths in tsconfig files (by mehmet-erim)
- PR #5249: Added paths to the tsconfig.json files for proxy folder (by mehmet-erim)
- PR #5247: Replace the obsolete AddIdentityServerAuthentication method. (by maliming)
- PR #5246: Improved import experience of generated code in proxy generator (by armanozak)
- PR #5244: Community 3.2 localization (by berkansasmaz)
- PR #5243: Cannot add users and roles to organization unit on mongo db (by gterdem)
- ISSUE #5242: Cannot add users and roles to organization unit on mongo db
- ISSUE #5238: [Angular] rootNamespace' of type 'string | undefined' is not assignable to string index type 'string'.
- PR #5232: Added kafka integration document (by realLiangshiwei)
- ISSUE #5228: Create a Kafka example application
- ISSUE #5227: Create Kafka integration document
- PR #5223: Resolved #4874 (by armgnunlu)
- PR #5222: Introduced separate commands for adding, removing, and refreshing proxies (by armanozak)
- PR #5216: CmsKit Rating Widget (by EngincanV)
- PR #5214: Add formTenantResolveContributor (by realLiangshiwei)
- ISSUE #5213: When tiered templates, tenants of independent databases cannot login.
- PR #5209: Resolved Dictionary Types and Improved Generics Parsing in Schematics (by armanozak)
- PR #5204: Accept __default as placeholder for default parameters in proxy generator (by armanozak)
- PR #5200: Introduce @abp/star-rating-svg npm package (by cotur)
- ISSUE #5199: Feature suggestion: Serilog.Sinks.File on deployable projects (.NET Core)
- PR #5195: Added "Clear" to AbpUi localization resource (by armanozak)
- ISSUE #5194: Add "Clear" to AbpUi localization resource
- PR #5185: Introduce @abp/cropperjs npm package (by cotur)
- ISSUE #5180: Missing Check*PolicyAsync usage in documentation?
- ISSUE #5179: Remove deprecated library dependency in demo projects
- ISSUE #5178: Overriding a Service Class and request has not been registered
- PR #5176: Disable features based on inheritance relationship. (by maliming)
- PR #5173: Resolved solution name from environment variables in proxy generator (by armanozak)
- ISSUE #5158: MongoDb transaction is not rolled back.
- PR #5156: Add Identity Two-factor features and settings. (by maliming)
- PR #5155: Update abp.luxon.js (by realLiangshiwei)
- PR #5153: fix rxjs observable.next() (by badre429)
- ISSUE #5053: Improvement suggestion for the "Implementing Passwordless Authentication in ASP.NET Core Identity" article
- ISSUE #4873: Complete the Book to Author Relation Angular UI for the web application tutorial
- ISSUE #4794: Add security log document.
- ISSUE #4778: build alert using overide razor pages
- ISSUE #4772: ngx-datatable vertical and horizontal scrolls always appear
- ISSUE #4684: Sample application (page) with the Devexpress components