Blog Post
See the blog post for this release: https://blog.abp.io/abp/ABP-IO-Platform-v4-2-RC-Has-Been-Released
Breaking Changes
- PR #6986: Make FeatureManagementProvider's NormalizeProviderKey method async. (by maliming)
- PR #6809: Transaction management made async (by hikalkan)
Features
- PR #7143: Microservice template generation via CLI (by yekalkan)
- PR #7083: CLI public web site option (by yekalkan)
- PR #7007: Add hard delete by predicate for IRepository. (by maliming)
- ISSUE #6925: HardDeleteAsync with predicate
- ISSUE #6874: Page Alerts for Angular UI
- PR #6779: DbMigrator creates the initial migration if no migration exists (by yekalkan)
- PR #6737: Automate DBMS selection by the ABP CLI (by yekalkan)
- PR #6679: Repository Bulk Operations | EfCore.BulkExtensions (by enisn)
- PR #6676: Bulk Operations (by enisn)
- ISSUE #6654: Repository Bulk Operations
- ISSUE #5554: Blazor UI: Progress bar / loading indicator
- ISSUE #2543: Automate DBMS selection by the ABP CLI
Enhancements
- PR #7154: Set returnUrl for Web.Host account management button (by realLiangshiwei)
- ISSUE #7153: Set returnUrl for Web.Host account management button
- PR #7026: Fix for culture-specific number formats with Volo.Abp.TextTemplating (by axunonb)
- PR #7011: Introduce AbpRequestLocalizationOptions (by maliming)
- PR #6996: Cms-Kit page system implementation (by cotur)
- PR #6995: Always use Repository.GetQueryableAsync() in the method of RepositoryAsyncExtensions (by realLiangshiwei)
- PR #6993: Don't show confirmation on document cache clear (by yekalkan)
- ISSUE #6992: RepositoryAsyncExtensions should use Repository.GetQueryableAsync()
- ISSUE #6968: Add UnitOfWork middleware to the startup templates where necessary
- ISSUE #6964: Update remaining modules for repository queryable change
- PR #6913: Improved AddAbpOpenIdConnect (by realLiangshiwei)
- PR #6912: Remove MultipleActiveResultSets from the templates project connection string. (by GameBelial)
- PR #6868: DI support of AutoMapper (by realLiangshiwei)
- PR #6855: change connection string by Dbms preference (by yekalkan)
- PR #6841: Support ManifestDirectoryInfo and ManifestFileInfo (by realLiangshiwei)
- PR #6815: Lazy Resolve Dependencies To Gain Performance (by maliming)
- PR #6804: Fix: Cli - Incorrect port settings (by yekalkan)
- ISSUE #6799: Virtual File System Explorer Support ManifestDirectoryInfo&ManifestFileInfo
- PR #6795: CLI: just delete migrations instead of recreating when -dbms is used (by yekalkan)
- PR #6774: Blazor theme menu supports target (by realLiangshiwei)
- PR #6771: Localize the submit button text. (by maliming)
- PR #6755: Add AbpIdNameTagHelper (by maliming)
- PR #6753: Avoid using array index in taghelper expressions (by realLiangshiwei)
- PR #6747: Improved permission management modal performance (by realLiangshiwei)
- ISSUE #6746: Improve permission management modal performance
- PR #6734: Added RedirectAlowedUrls (by realLiangshiwei)
- PR #6732: source code link added to post (by muhammedaltug)
- PR #6728: Exclude UserCache of ProxyScriptingModel as the cache key. (by maliming)
- PR #6718: Added samples from abp community articles. (by hikalkan)
- PR #6701: Set job name for Hangfire background job integration (by realLiangshiwei)
- ISSUE #6700: Set job name for Hangfire background job integration
- ISSUE #6671: Format date in blogs page in Blogging module
- PR #6463: Add Autofac.Extensions.DependencyInjection to Volo.Abp.Autofac module. (by maliming)
- ISSUE #5288: Consider supporting Automapper dependency injection
Bug Fixes
- ISSUE #7132: Api Documentation page doesn't work
- ISSUE #7104: Setting RabbitMQ connection in appsettings.json causes consumers to not consume messages
- PR #7092: Fix Cli Thanks Page Redirection (by yekalkan)
- ISSUE #7087: [Angular] Domain Tenant Resolver is not working properly
- PR #7071: Always use async consumer implementations (by realLiangshiwei)
- ISSUE #7066: RabbitMQ backgroundJob worker do not work ?
- ISSUE #7006: Volo.Abp.Cli add-module --new can not create angular module properly
- ISSUE #6709: Clear filter doesn't work on Docs
Others
- PR #7213: version update (by erolarkat)
- PR #7203: Enhance GetAsync to eliminate EF warnings (by realLiangshiwei)
- PR #7190: Included en-GB locale file to the Angular UI bundle (by mehmet-erim)
- ISSUE #7188: Remove EF warning logs 'The query uses a row limiting operator'
- PR #7180: Cli template creation: remove cms kit always (by yekalkan)
- PR #7177: CLI: do not remove migrations for versions older than 4.2.0 (by yekalkan)
- PR #7175: Localized framework + modules to dutch (nl culture) (by nielscil)
- ISSUE #7174: Migrations is missing in EntityFrameworkCore.DbMigrations
- PR #7172: Community: Change localization (by EngincanV)
- PR #7171: docs: add documentation for page alerts (by bnymncoskuner)
- PR #7169: Community: Add missing localizations for submit post page (by EngincanV)
- PR #7168: Allowed path binding source replacement with original case (by armanozak)
- ISSUE #7166: [Angular UI] add docs about page alerts in angular
- PR #7165: Introduce AbpClaimsPrincipalFactory. (by realLiangshiwei)
- PR #7164: [Angular] Fixed the domain tenant resolver problems (by mehmet-erim)
- PR #7162: Fix: add-module --new can not create angular module properly (by yekalkan)
- ISSUE #7160: angular generate-proxy lack of $ syntax
- PR #7151: Use async repository method in IdentityServer module (by realLiangshiwei)
- PR #7148: angular: Fix AuthGuard returning 'true' when user not authorized (by olicooper)
- PR #7146: feat: add page alert service and use it in theme-basic (by bnymncoskuner)
- PR #7144: cli: fix nuget config api-key for module template (by yekalkan)
- PR #7140: Rel 4.0 merge (by armanozak)
- PR #7139: Identity-Module: Repositories have missing virtual methods (by gterdem)
- PR #7138: Angular Docs: Added Info on Authorization (by armanozak)
- ISSUE #7137: Identity-Module: Repositories have missing virtual methods
- ISSUE #7136: Angular Docs: Add Info on Authorization
- PR #7134: Add GetCountAsync method (by realLiangshiwei)
- PR #7133: Upgraded the ng-zorro-antd version to the latest (by mehmet-erim)
- PR #7131: fixed a typo and namespace in abp.mongoDB (by zfmy)
- PR #7129: ABP.IO platform localization. (by maliming)
- PR #7126: Use relative path in UseAbpSwaggerUI (by realLiangshiwei)
- PR #7125: Consider http port in DomainTenantResolveContributor. (by maliming)
- PR #7121: All modifiers are sorted correctly (by cotur)
- PR #7115: Make AccountEmailer.NormalizeReturnUrl method protected (by olicooper)
- PR #7114: fix totalCount in IdentityRole GetList in case of using filter (by kamalseisy)
- ISSUE #7108: Second modal gets behind the first modal in MVC
- ISSUE #7107: Wrong UseAbpSwaggerUI implementation
- PR #7101: Move _ViewImports to Pages folder. (by maliming)
- ISSUE #7100: Intellisense for Bootstrap Components is not working in the Module Project
- PR #7096: Documented How to Write Unit Tests for the Angular UI (by armanozak)
- PR #7094: Set skipGetAppConfiguration as true in CoreTestingModule when not given (by armanozak)
- ISSUE #7088: CoreTestingModule should have skipGetAppConfiguration option as true when not explicitly passed otherwise
- PR #7086: ThemeBasicTestingModule does not provide VALIDATION_INVALID_CLASSES (by armanozak)
- ISSUE #7084: ThemeBasicTestingModule does not provide VALIDATION_INVALID_CLASSES
- PR #7080: Added missing localization (by berkansasmaz)
- PR #7079: Set DispatchConsumersAsync to true (by maliming)
- PR #7077: Angular UI: Replaced forRoot with withConfig in ThemeBasicTestingModule (by armanozak)
- ISSUE #7076: ThemeBasicTestingModule should have withConfig instead of forRoot
- PR #7070: Add missing community localizations (by EngincanV)
- PR #7067: Update [How to fix the Chrome login issue for the IdentityServer4] (by maliming)
- PR #7057: CMS Kit- Feature Checks Added (by ilkayilknur)
- PR #7056: Rename tag controller to tag admin controller (by ilkayilknur)
- PR #7055: fix: Clear filter doesn't work on Docs (by yekalkan)
- PR #7054: Include symbol files (*.pdb) in the built .nupkg. (by maliming)
- PR #7053: CMS Kit - Global Filter Fix and Menu Localization (by ilkayilknur)
- ISSUE #7052: CMS Kit - Investigate and Fix Global Filter Issues
- PR #7037: ignore outer anchors when wrapping images with anchor tags. closes #6927 (by ebicoglu)
- ISSUE #7025: Culture-specific number formats with Volo.Abp.TextTemplating
- PR #7024: CMS Kit - Tag Refactoring (by ilkayilknur)
- PR #7013: docs: fix typo ninio -> minio (by Rwing)
- PR #7010: Use Standby instead of PauseAll method (by realLiangshiwei)
- PR #6994: Deprecated SortOrderIconComponent (by armanozak)
- PR #6985: Use async repository method in Blogging,CmsKit,Docs module. (by maliming)
- ISSUE #6960: QuartzBackgroundWorkerManager should not call the PauseAll method
- ISSUE #6952: Document Page Progress Service
- PR #6935: Added en-GB json files (by DonVliet)
- PR #6934: Update contribution document. (by maliming)
- PR #6932: Cms Kit - Fix of Tag Permissions (by enisn)
- ISSUE #6927: Can't use links for images in docs module
- PR #6926: Cms Kit - Content Admin Implementation (by enisn)
- PR #6918: Use GetCancellationToken method to pass cancellation tokens. (by ilkayilknur)
- PR #6907: Configure custom repositories in BloggingEntityFrameworkCoreModule (by realLiangshiwei)
- ISSUE #6906: The EF Core Repositories found in the Blogging Module are not registered
- PR #6901: Cms Kit - Tag Refactoring (by enisn)
- ISSUE #6898: CMS Kit - Check and Organize CancellationToken Usages
- PR #6885: Make ContainerName nullable (by realLiangshiwei)
- ISSUE #6884: ContainerName should be nullable
- PR #6876: Page Feature and dependent features implementation (by ilkayilknur)
- PR #6875: Content, Page Services are organized and added tests (by cotur)
- PR #6872: Cms kit - Tag admin app services (by enisn)
- ISSUE #6870: CMS Kit - Organize Content,Page Services
- PR #6867: CmsKit - Convert Tag Mongo Query to LINQ (by enisn)
- PR #6858: Cms kit - Tags MongoDb Query Update (by enisn)
- PR #6853: Page progress (by stsrki)
- PR #6851: Cms kit - Tags EfCore Query Update (by enisn)
- PR #6850: Cms kit - Tags Cleaning (by enisn)
- ISSUE #6849: CMS Kit - Dependent Feature Implementation
- ISSUE #6847: CMS Kit - Page System Implementation
- ISSUE #6845: CMS Kit-Add DBMigrator Project
- ISSUE #6844: CMS Kit - Update Tag Query For EF Core
- ISSUE #6843: CMS Kit-Remove Static Tag Definition From TagViewComponent
- ISSUE #6842: CMS Kit - Complete Unit Tests For The Content and Tag System
- PR #6840: Delete cli launchSettings.json (by yekalkan)
- PR #6822: added GetAllRelatedTagsAsync implementation (by gterdem)
- PR #6821: CMS-Kit Global Feature Definitions For Content And Tag (by ilkayilknur)
- ISSUE #6819: DbMigrator running occurred warning in 4.1.0-rc.2
- PR #6818: Enabled swagger login for HostWithIds project (by realLiangshiwei)
- PR #6814: Fix typo (by realLiangshiwei)
- PR #6800: Add reset password localized text (by realLiangshiwei)
- PR #6792: Add modal container at the beginning of the body. (by maliming)
- PR #6791: Update Branding.md (by maliming)
- PR #6778: Set returnUrl for blazor account manage button (by realLiangshiwei)
- ISSUE #6776: Set returnUrl for blazor account manage button
- PR #6772: Add more http test to JMeter. (by maliming)
- ISSUE #6769: Cannot localize submit button in dynamic form
- ISSUE #6768: Test scenario: compare abp based application with plain aspnetcore + efcore application
- ISSUE #6767: CLI - Incorrect port settings
- PR #6762: Performance Test Application (Initial) (by hikalkan)
- ISSUE #6757: Account emails do not use resource files
- PR #6756: CmsKit Content System (by cotur)
- ISSUE #6748: Avoid using array index in taghelper expressions.
- PR #6730: Add LogoUrl to Brand component. (by maliming)
- PR #6722: Update English localization for Community (by berkansasmaz)
- ISSUE #6717: Microservices [BloggingService.Host] initialization failed (latest)
- ISSUE #6715: Add a hook at the end of body (force to next modals containers)
- PR #6711: Merge rel-4.1 to dev (by ilkayilknur)
- ISSUE #6707: Blazor Basic Theme - Script error
- PR #6705: Fix AbpStringExtensions (by PMExtra)
- ISSUE #6704: Overriding logoUrl in DefaultBrandingProvider always rendring null string
- ISSUE #6702: The symbol package failed
- PR #6691: Change CSS source of the Community Article (by EngincanV)
- PR #6345: Update Entity-Framework-Core-Other-DBMS.md (by lingme)
- ISSUE #6076: Document how to write tests for the Angular UI
- ISSUE #1678: Why cannot refresh the cache of IAuthorizationService.IsGrantedAsync()?