ABP v4.0.0-rc.1 Release Notes

Release Date: 2020-11-12 // over 3 years ago
  • πŸ’₯ Breaking Changes

    • πŸ—„ ISSUE #6154: Deprecate the ConfigState
    • πŸ“¦ ISSUE #6130: Remove all deprecated components, services, etc. from Angular packages
    • PR #6114: Use a specialized dictionary class for IHasExtraProperties (by hikalkan)
    • πŸ”¨ PR #6113: Namespace refactoring for Blazor components (by cotur)
    • 🚚 ISSUE #6090: Move Retry Logic for the Dynamic HTTP Client Proxy to the startup template
    • PR #6069: Replace Id parameter with object at OpenEditModalAsync in AbpCrudPageBase (by cotur)
    • ISSUE #6066: Registering a new Angular locale function should be able to override
    • PR #6051: Make readonly for Creation audit properties of the entities. (by maliming)
    • ISSUE #6020: Make readonly for Creation audit properties of the entities
    • ISSUE #6018: Inconsistent Async suffix usage
    • πŸ”¨ ISSUE #6015: Refactor namespaces for Blazor components
    • 🚚 PR #6008: Remove abstract component bases and more for blazor components (by cotur)
    • ISSUE #5962: Replace abstract base class to partial class for blazor components.
    • ⬆️ ISSUE #5950: Additional IDS4 data migration & upgrade notes
    • ⚑️ PR #5946: Update AbpCrudPageBase.cs (by cotur)
    • ⚑️ ISSUE #5945: Update CreateGetListInputAsync on AbpCrudPageBase
    • PR #5925: Implemented: Create auto controller routes in kebap-case (by hikalkan)
    • PR #5892: Change the IBrandingProvider namespace (by realLiangshiwei)
    • πŸ’» PR #5890: Blazor UI Entity actions component (by ilkayilknur)
    • PR #5866: Unify route format: checkPassword -> check-password. (by PMExtra)
    • PR #5849: Use async to resolve the tenant. (by maliming)
    • ISSUE #5795: Get Object itself for OpenEditModalAsync in AbpCrudPageBase
    • ⬆️ PR #5700: Upgrade to NET 5.0 RC. (by maliming)
    • 🚚 ISSUE #5652: Remove the Angular Account Module UI
    • πŸ“¦ ISSUE #5606: Remove the SessionState in the @abp/ng.core package
    • ISSUE #5414: Consoder make ITenantResolver's ResolveTenantIdOrName method async.
    • πŸ“¦ ISSUE #5375: Use IBrandingProvider in the Volo.Abp.UI package and remove the one in the Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared
    • ISSUE #5325: Create auto controller routes in kebap-case
    • ⬆️ PR #4578: Upgrade IdentityServer4 to 4.x. (by maliming)
    • ISSUE #3751: Change type of the IHasExtraProperties.ExtraProperties
    • 🚚 ISSUE #1198: Move to System.Text.Json

    πŸ”‹ Features

    • PR #6135: Add Lookup Options To The Extra Properties (by ilkayilknur)
    • πŸ’» ISSUE #6019: Initial Loading animation for the Blazor UI Basic Theme
    • PR #6017: Cli: Create a new module inside the solution (by yekalkan)
    • PR #5973: Created UiNotificationService (by stsrki)
    • PR #5947: Publish an event on comment creation for the CMS Kit (by yekalkan)
    • πŸ’» ISSUE #5930: Create AbpComponentBase for Blazor UI
    • ISSUE #5915: Create additional before and after methods for AbpCrudPageBase operations
    • ISSUE #5902: Blazor: How to override components come with the modules/themes?
    • ISSUE #5731: Create an ICookieService to get/set cookies in Blazor webassembly
    • ISSUE #5626: "Article Requests" for the ABP Community
    • ISSUE #5560: Blazor: Entity Actions component
    • πŸ’… ISSUE #5552: Blazor: IUiNotificationService to show toastr style notifications
    • ISSUE #5530: Blazor: Page Alert system
    • ISSUE #5527: Blazor: Implement IComponentActivator to get components from DI
    • πŸ’» ISSUE #5524: Interactive Validation model for the Blazor UI
    • πŸ’» ISSUE #5520: How to manage 3rd-party global js/css file dependencies of a module with the Blazor UI
    • ISSUE #5463: Publish an event on comment creation for the CMS Kit
    • πŸ’» ISSUE #3857: Allow to ignore files/folders on libs folder cleanup on the MVC UI gulp task
    • ISSUE #2988: Create a WPF sample startup project
    • πŸ’» ISSUE #1874: Swagger UI login feature.
    • ISSUE #394: SPA template using Blazor

    ✨ Enhancements

    • ⬆️ ISSUE #6170: Upgrade to Angular 11
    • βœ… PR #6146: Add AbpStringToEnumFactory and some unit test. (by maliming)
    • PR #6134: Loading animation for Blazor basic theme (by stsrki)
    • PR #6133: Disable modal closing by escape key or lost focus (by stsrki)
    • πŸ’» ISSUE #6128: [Angular UI] add multiple select to extensible form
    • PR #6124: Enable swagger OAuth2 for IDS and API Host projects (by realLiangshiwei)
    • ⚑️ PR #6120: Update AbpNoContentActionFilter with unit test (by ilonze)
    • ⬆️ ISSUE #6118: Upgrade to .NET 5.0 Final
    • PR #6111: Add UseHybridSerializer to AbpJsonOptions. (by maliming)
    • ISSUE #6092: Add JsonStringEnumConverter to JsonSerializerOptions
    • ISSUE #6091: Create an option to set the JSON serializer provider globally.
    • ⚑️ ISSUE #6071: update the documents for #6069 change
    • PR #6065: Prevent ApiTypeNameHelper infinite loop. (by maliming)
    • πŸ“„ PR #6062: Use System.Text.Jons in the Docs module. (by maliming)
    • ✨ PR #6054: Enhance the function of PR 5952. (by maliming)
    • PR #6053: Add IMongoClient to the IAbpMongoDbContext. (by maliming)
    • ISSUE #6033: objectValidation error
    • πŸ”Š ISSUE #6029: Blazor: Message/Confirm dialogs should not close on click outside of the modal
    • πŸ”Š ISSUE #6027: Better design for Blazor UI message/confirm dialogs
    • πŸ’» ISSUE #6026: Blazor UI: Implement validation for the tenant-management module
    • πŸ’» ISSUE #6025: Blazor UI: Validation problem on modals
    • ISSUE #6024: Blazorise visual enhancements
    • πŸ’» ISSUE #6021: Can we add the login page link to the swagger UI for IDS + API Host projects?
    • PR #6001: Make QueueAsync virtual. (by maliming)
    • 🚚 ISSUE #5917: Remove IHybridServiceScopeFactory usages
    • ISSUE #5912: Kβ”œβ•’nnen Sie uns helfen, ABP ins Deutsche zu β”œβ•bersetzen?
    • PR #5908: Add Filter parameter to GetListAsync method of IIdentityRoleAppService. (by maliming)
    • πŸ“¦ ISSUE #5904: Introduce Volo.Abp.AspNetCore.Components package
    • PR #5895: Define abp.features API in abp.js (by realLiangshiwei)
    • PR #5883: Blazor client-side validation (by stsrki)
    • πŸ’» ISSUE #5874: Unify Blazor UI Framework JavaScripts
    • PR #5872: Mvc app template login link (by yekalkan)
    • 🚚 ISSUE #5871: Remove Boostrap JS & JQuery dependencies for the Blazor UI
    • ⬆️ ISSUE #5859: Re-create migrations and test module templates for IDS4 4.x upgrade.
    • πŸ”§ PR #5851: Add summary to AbpApplicationCreationOptions' Configuration property. (by maliming)
    • πŸ’» ISSUE #5841: Define abp.features API for the ASP.NET Core MVC / Razor Pages UI
    • ISSUE #5826: interface "ISettingDefinitionContext" should expose a "GetAll" method
    • ISSUE #5814: Why does get identity roles does not have a filter parameter ?
    • 🐎 ISSUE #5810: Reconsider & test performance of using SplitQuery()
    • ⬆️ ISSUE #5789: Upgrade to .NET 5.0 RC2
    • πŸ“„ ISSUE #5562: Can we show (preview) for the preview versions on the docs version list
    • πŸ’» ISSUE #5542: Blazor UI Permission management optimization
    • πŸ’» ISSUE #5523: Claims should be retrieved from AuthenticationStateProvider for Blazor UI
    • 🌲 ISSUE #4886: Suggested :subscription and output mongodb log
    • ISSUE #4590: DynamicHttpProxyInterceptor mask real StatusCode
    • πŸ’» ISSUE #4588: Create a service named PermissionService for Angular UI
    • ISSUE #4073: don't show the "progressing" on the datatable for shorter requests than 500ms
    • ISSUE #3411: Fix the paging problem for IAuditLogRepository.GetEntityChangeListAsync for MongoDB

    πŸ› Bug Fixes

    • ISSUE #6172: Module template angular login problem
    • ISSUE #6160: Extension properties don't work for tiered MVC applications
    • ISSUE #6152: EnumConverter violates the constraint of type 'T'
    • ISSUE #6022: Client permissions should be checked at host scope
    • ISSUE #5970: wrong account management url lead to 404 in blazor wasm

    Others

    • βœ… PR #6177: Rename MyProjectName_ConsoleTestApp to MyProjectName_App. (by maliming)
    • PR #6171: Rename AbpExtraPropertyDictionaryJsonConverter to AbpHasExtraPropertiesJsonConverter. (by maliming)
    • πŸ“¦ PR #6169: Removed all deprecated components, services, etc. from Angular packages (by armanozak)
    • 🚚 PR #6168: Removed the Angular Account Module UI (by mehmet-erim)
    • PR #6167: Add filterparam name to lookup config. (by ilkayilknur)
    • PR #6166: Fix wrong localization (by realLiangshiwei)
    • πŸ‘ PR #6165: Make main menu support target attribute (by realLiangshiwei)
    • πŸ‘ ISSUE #6164: Main menu should support target attribute
    • PR #6163: Add AbpExtraPropertyDictionaryJsonConverter. (by maliming)
    • PR #6159: Add missing article request localizations to ABP Community (by EngincanV)
    • πŸ—„ PR #6156: Deprecated the ConfigState (by mehmet-erim)
    • ⚑️ PR #6153: Update Blazorise to .Net5 (by stsrki)
    • ⚑️ ISSUE #6150: Update Blazorise to .Net 5
    • ⬆️ PR #6141: Upgrade to net 5 final. (by maliming)
    • PR #6131: Switch to host side in ClientPermissionValueProvider & ClientPermissionManagementProvider. (by maliming)
    • 🚚 PR #6123: Remove Async Suffix from IUiMessageService (by cotur)
    • PR #6121: Missing localizations for ABP Community (by EngincanV)
    • πŸ‘ PR #6119: Make permissions and settings support batch check/get. (by maliming)
    • PR #6117: Fix AuditLogging MongoDb Repository (by cotur)
    • 🚚 PR #6116: Removed the SessionState (by mehmet-erim)
    • πŸ‘ ISSUE #6115: Make permissions and settings support batch check/get.
    • 🚚 PR #6112: Move retry logic to the startup template. ΓÇΒͺ (by maliming)
    • πŸ”€ PR #6110: Sync IdentityError description from aspnet core (by maliming)
    • PR #6108: Modify AbpNoContentActionFilter (by ilonze)
    • ⚑️ PR #6106: Update English localization for Community (by berkansasmaz)
    • 🚚 PR #6104: Removed "What's Next?" from Angular UI documents (by armanozak)
    • 🚚 ISSUE #6103: Remove "What's next?" from standalone Angular UI documents
    • PR #6102: Proxy Generator: Enable optional string properties in models (by armanozak)
    • PR #6099: Add AbpStringToEnumConverter & AbpStringToBooleanConverter. (by maliming)
    • πŸ— PR #6096: Build command enhancements (by ismcagdas)
    • ISSUE #6093: Add Newtonsoft.Json to System.Text.Json change to the migration document
    • PR #6087: Disable retry for all client proxies at Blazor Application (by cotur)
    • ⚑️ ISSUE #6086: Update all projects to Blazorise RC2
    • ISSUE #6085: Proxy Generator: Use isRequired to make string types optional
    • πŸ’» ISSUE #6082: [Angular UI] enable redirecting to MVC when manage-profile is requested
    • 🐎 ISSUE #6079: AbpApplicationConfigurationAppService.GetAuthConfigAsync performance
    • πŸ’» PR #6075: Documented how form validation works in Angular UI (by armanozak)
    • PR #6074: Bundling Improvements (by ilkayilknur)
    • πŸ“„ ISSUE #6056: Use System.Text.Jons in the Docs module.
    • ⚑️ PR #6047: Update Customizing-Application-Modules-Overriding-Services.md (by maliming)
    • ISSUE #6046: AbpCrudPageBase DataGrid Pagination is not working
    • PR #6045: Use Volo.Abp.Swashbuckle in application template (by mtozlu)
    • PR #6044: Added inspector to Angular development app (by armanozak)
    • PR #6043: Missing Localizations for Community.io (by EngincanV)
    • ISSUE #6041: Add inspector to Angular development app
    • PR #6038: Enabled negated glob patterns in copyResourcesTask clean (by armanozak)
    • πŸ”§ ISSUE #6036: Provide configurable settings to MongoClient
    • PR #6034: CLI Bundle Command Implementation (by ilkayilknur)
    • πŸ’» ISSUE #6023: Blazor UI: Validations should be optional for AbpCrudPageBase
    • πŸš€ ISSUE #6011: RemoteLocalizationContributor is using ICachedApplicationConfigurationClient that will be released.
    • πŸ“¦ PR #6006: Blazorise snackbar package added. (by ilkayilknur)
    • 🚚 ISSUE #5997: Remove OnOpeningEditModalAsync
    • ⚑️ PR #5994: Update blazorise references to v0.9.2-rc1 (by ilkayilknur)
    • PR #5988: Use user-defined menus in Blazor's LoginDisplay. (by maliming)
    • PR #5983: Use global namespace in blazor. (by maliming)
    • πŸ“š PR #5975: Create a FomrGroup instance #Angular documentation (by amSaighi)
    • PR #5967: Change override async to async override. (by maliming)
    • 🚚 PR #5966: Remove the unique index of IdentityResource, ApiResource and ApiScope. (by maliming)
    • πŸ’» ISSUE #5961: Blazor UI pages/compoents: Use the localizer (L) from AbpComponentBase
    • PR #5956: Fix wrong document links (by realLiangshiwei)
    • PR #5955: Create WPF startup project document (by realLiangshiwei)
    • ISSUE #5953: Create WPF startup project document
    • 🚚 PR #5952: Move to System.Text.Json (by maliming)
    • PR #5942: Add WPF template (by realLiangshiwei)
    • ⚑️ ISSUE #5932: Remove the unique constraint of the Name property of ApiResource, IdentityResource and ApiScope and update migrations.
    • PR #5922: Add ViewComponent to DynamicProxyIgnoreTypes. (by maliming)
    • πŸ“¦ PR #5918: Introduce Volo.Abp.AspNetCore.Components package (by ilkayilknur)
    • PR #5909: Avoid Task being null. (by maliming)
    • ⚑️ PR #5905: Blazor 3rd party libraries moved to the theming project and folder updates. (by ilkayilknur)
    • πŸ’» PR #5889: Blazor UI Page alerts implementation (by ilkayilknur)
    • PR #5887: Missing Localization for Community.io (by EngincanV)
    • 🚚 PR #5879: Remove some duplicate claims (by realLiangshiwei)
    • πŸ’» ISSUE #5873: Blaozr UI: User menu dropdown is partially invisible in some resolutions
    • ⬆️ PR #5868: Re-create migrations and test module templates for IDS4 4.x upgrade. (by maliming)
    • βœ… PR #5865: Enable MongoDB transaction for unit test (by realLiangshiwei)
    • βœ… PR #5862: Dispose IHost in AbpAspNetCoreIntegratedTestBase at end of test run (by pwestern)
    • PR #5861: Migration Guide for the Abp Identity Server from the v3 to the v4. (by maliming)
    • ⬆️ ISSUE #5853: IdentityServer4 version 4.x upgrade guide
    • πŸ‘» PR #5847: correct exception message in PermissionAppService.CheckProviderPolicy (by taujiong)
    • βœ… ISSUE #5846: Enable MongoDB transaction for unit test
    • PR #5836: Page Header Implementation (by ilkayilknur)
    • PR #5828: Cookie service implementation (by ilkayilknur)
    • PR #5827: Add "GetAll" method to ISettingDefinitionContext (by taujiong)
    • πŸ’» ISSUE #5822: Blazor UI: Forms cannot submit via enter key
    • 🌲 ISSUE #5801: The GetEntityChange method of the audit-logging module does not have await.
    • πŸ”§ ISSUE #5794: EnvironmentVariablesPrefix option has no effect in Startup.ConfigureServices
    • 🚚 ISSUE #5748: Remove some duplicate claims
    • 🌲 ISSUE #5738: Audit log datetime arabic problem
    • ISSUE #5718: Create a Rebus integration sample
    • ⚑️ ISSUE #5715: Update ngx-datatable for Angular 10
    • ⬆️ ISSUE #5676: Upgrade to .NET 5.0 rc1
    • ISSUE #5643: Document how custom validators can be placed in Angular
    • πŸ‘€ PR #5624: Change tenant in all derived class of IDataSeedContributor (by realLiangshiwei)
    • πŸ‘€ ISSUE #5622: Any IDataSeedContributor should consider the TenantId of the DataSeedContext.
    • πŸ’» ISSUE #5332: Document how to get feature values from the Angular UI
    • ISSUE #5278: Proxy Generator: A question mark is needed at the end of nullable string type and typeSimple
    • ISSUE #5235: Calling [Auto Api] , response status code 302 , why not 401 ?
    • ⚑️ ISSUE #4461: Update IdentityServer4-packages and examples to IS4 ≥ 4.0.0
    • πŸ”§ ISSUE #3959: Recommended way to extend entities and configure foreign keys
    • πŸ’» ISSUE #3300: Document DatatablesNet Integration for ASP.NET Core UI
    • πŸ“š ISSUE #631: Theming documentation