github abpframework/abp 3.1.0-rc.1

latest releases: 9.0.0-rc.3, 9.0.0-rc.2, 8.3.3...
pre-release4 years ago

Blog Post

See https://github.com/abpframework/abp/blob/dev/docs/en/Blog-Posts/2020-08-20%20v3_1_Release/Post.md for highglights & new features.

Breaking Changes

  • PR #4984: Make Volo.Abp.Ldap support multi-tenancy. (by maliming)
  • ISSUE #4981: External Login / Password Changes

Features

  • PR #5142: Add reactions to comments for the CMS Kit (by yekalkan)
  • PR #5105: Added forget/reset password feature to account module (by realLiangshiwei)
  • ISSUE #5072: Allow root "Components" folder in the web projects to have view component resources inside
  • ISSUE #5071: Add reactions to comments for the CMS Kit
  • ISSUE #5068: Introduce LoginUrl and LogoutUrl options
  • PR #5062: Implement basic Cmskit features & the global feature system (by hikalkan)
  • ISSUE #5061: Global Features System
  • PR #5049: Automatically run the DbMigrator application on the add-module command (by yekalkan)
  • ISSUE #4994: Implement "Authorization Code Grant with PKCE" for the Angular UI
  • ISSUE #4985: Change AbpResourceOwnerPasswordValidator to support the external login system
  • ISSUE #4982: Revise how to change the password for external logins
  • PR #4979: Implemented: Authentication Extensibility system to check username & password from an external source (by hikalkan)
  • ISSUE #4977: Authentication Extensibility system to check username & password from an external source
  • PR #4961: Add comment to the CMS kit (needs improvement) (by hikalkan)
  • ISSUE #4927: Implement social login flow out of the box & document it
  • ISSUE #4905: Allow to add converters to the standard JSON serializer
  • ISSUE #4894: Angular UI should be supported the Domain Tenant Resolver
  • ISSUE #4863: Automatically run the DbMigrator application on the add-module command
  • ISSUE #4862: Support async object mapping for the base CRUD application service
  • PR #4861: Added entity extension base to Identity module (by cotur)
  • PR #4860: Docs module: added alternative way (using branches) to get versions (by yekalkan)
  • ISSUE #4845: Docs module: Alternative way (using branches) to get versions
  • ISSUE #4837: SubscriptionService for Angular
  • PR #4826: Add Blob storing AWS S3 Integration (by realLiangshiwei)
  • PR #4809: Introduce BasicAggregateRoot base class (by maliming)
  • ISSUE #4808: Introduce BasicAggregateRoot base class
  • ISSUE #4796: Unit of Work level cache system
  • ISSUE #4761: Initial CmsKit Reactions System
  • ISSUE #4760: CmsKit Comment system
  • ISSUE #4752: Create a package named @abp/ng.components
  • PR #4735: Add Volo.Abp.BlobStoring.Aliyun (by Aprite)
  • PR #4734: Introduce AbpFileExtensionContentTypeProvider. (by maliming)
  • PR #4688: Miniostoring (by mhymhygi)
  • PR #4675: Introduce security log. (by maliming)
  • ISSUE #4657: Remove client_secret from the angular and ReactNative application.
  • ISSUE #4629: Add dataFormat option to the datatables column definitions
  • PR #4617: Added GetPagedListAsync methods to the repository (by realLiangshiwei)
  • ISSUE #4610: Blob storing AWS S3 Integration
  • ISSUE #4593: Add GetPagedListAsync methods to the repository
  • ISSUE #4492: User security log feature.
  • ISSUE #4386: Angular: Read settings from Json files
  • ISSUE #4318: Configure Prettier for the solutions
  • ISSUE #4008: Define new layout hooks: before page content & after page content
  • ISSUE #2608: Add forgot/reset password functionality

Enhancements

  • ISSUE #5122: Add points to the application startup template to configure the global features
  • PR #5112: Use async methods in the MailKitSmtpEmailSender (by realLiangshiwei)
  • ISSUE #5111: Use async methods in the MailKitSmtpEmailSender
  • ISSUE #5109: Inherit BackgroundEmailSendingJob form AsyncBackgroundJob
  • ISSUE #5106: Set -m none as a default for the ABP CLI
  • PR #5104: Changed the date formats in ExtensibleTableComponent (by mehmet-erim)
  • PR #5097: Added Quartz.Plugins.TimeZoneConverter (by realLiangshiwei)
  • ISSUE #5096: Add Quartz.Plugins.TimeZoneConverter
  • ISSUE #5090: Create utility functions that return DatePipe format
  • PR #5089: Fixed BlobStoring project reference paths (by olicooper)
  • PR #5085: Add Identity service error controller to account module (by realLiangshiwei)
  • PR #5083: Upgrade quartz to 3.1.0 (by realLiangshiwei)
  • ISSUE #5079: Unify Error pages (identity server & default)
  • ISSUE #5074: Create Global Feature Action & Page filters to prevent usage of a controller/page if the feature was disabled
  • PR #5067: Create AbpExceptionHandlingOptions class (by realLiangshiwei)
  • ISSUE #5066: Unhandled exception details
  • ISSUE #5050: Improve the microservice example
  • ISSUE #5047: Add action callback property to EntityProp for extensible table
  • PR #5046: Make the method that use propertyBuildAction obsolete. (by maliming)
  • ISSUE #5043: Move AbpRequestLocalization middleware on top of all in the startup template
  • PR #5016: CMS Kit Code revisions/improvements (by yekalkan)
  • ISSUE #5015: Add mergeStrategy property to remoteEnv configuration
  • PR #5013: Use CopyToAsync to copy the stream (by realLiangshiwei)
  • ISSUE #5007: Console applications revision
  • ISSUE #5006: Console applications should participate to the main host builder
  • ISSUE #4959: CMS Kit Code revisions/improvements
  • PR #4950: Combine related log messages to ones. (by maliming)
  • PR #4948: Folders in the tutorial are specified. (by berkansasmaz)
  • ISSUE #4941: Don't show UPDATED if it is already NEW
  • ISSUE #4931: Upgrade all AspNetCore/MsExtensions related packages to 3.1.6
  • ISSUE #4929: Replace IEmailSender with NullEmailSender on DEBUG for the application template
  • PR #4926: Update part-8 document (by realLiangshiwei)
  • ISSUE #4918: Upgrade Automapper to v10.0
  • ISSUE #4916: A minor improvement to the tutorial
  • PR #4910: Implement StringValueTypeJsonConverter. (by maliming)
  • PR #4899: Use alerts to show the exception message in the register page. (by maliming)
  • PR #4885: Added SaveChangesOnDbContextAsync method to the IEfCoreDbContext. (by maliming)
  • ISSUE #4881: Replace Angular Client Proxy Generation code with Angular Schematics
  • ISSUE #4867: Add support for mapping of culture name to Angular locale file name
  • PR #4864: Added author functionality to the tutorial (by hikalkan)
  • ISSUE #4846: Remove the MASTER branch
  • PR #4844: Improve the Aliyun blob storing integration (by Aprite)
  • PR #4823: Handle the case where currentLanguage is null. (by maliming)
  • ISSUE #4814: A property named visible should be passed to NavItemsService optionally to show/hide the item
  • ISSUE #4812: Add a new method to ConfigStateService named getFeature
  • PR #4807: Make EfCoreRepository implement IAsyncEnumerable (by maliming)
  • ISSUE #4775: Update to Quartz 3.1.0
  • ISSUE #4757: Change date format for NgbDatePicker
  • ISSUE #4743: New Module: CMS Kit / Prepare the initial solution
  • PR #4742: Cache the AccessToken in IdentityModelAuthenticationService. (by maliming)
  • ISSUE #4732: Upgrade to the latest version of Swashbuckle.AspNetCore
  • ISSUE #4731: Cancel button does nothing in the login page
  • PR #4713: Refatoring BundleContributor Make it support LocalizationMapOptions (by maliming)
  • PR #4706: Javascript files reformatted with Prettier and Prettier settings created for each module (by cotur)
  • PR #4705: Improve the docs module. (by maliming)
  • PR #4704: Use CompleteAsync instead of SaveChangesAsync (by realLiangshiwei)
  • ISSUE #4689: Call CompleteAsync instead of SaveChangesAsync
  • ISSUE #4673: Make DistributedMemoryCache implement ICacheSupportsMultipleItems.
  • ISSUE #4659: Allow to call base DbContext.SaveChangesAsync() from the application's DbContext
  • ISSUE #4650: Add DynamicLayoutComponent to AppComponent template
  • PR #4634: Try to set GUID Id in the InsertAsync method of the EF Core repository. (by maliming)
  • ISSUE #4631: Try to set GUID Id in the InsertAsync method of the EF Core repository
  • ISSUE #4628: Docs module should highlight JSON
  • PR #4624: Add missing DependsOn in MyProjectNameDomainModule (by gdlcf88)
  • ISSUE #4614: Update Authentication-Customization samples
  • ISSUE #4603: Is it necessary to save access_Token to cache?
  • ISSUE #4592: ABP CLI should edit the text "MY_PROJECT_NAME" (snake case & upper case) when generating a new project
  • PR #4565: Used GenerateEmbeddedFilesManifest option for the projects with embedded files (by cotur)
  • ISSUE #4541: Use GenerateEmbeddedFilesManifest option for the projects with embedded files
  • ISSUE #4508: how to determine current tenant in the distributedEventBus
  • ISSUE #4373: Remove the ABP Framework 3.0 note for IAsyncQueryableExecuter after 3.0 release
  • ISSUE #4218: Show as a primary button if the actions only has a single item.
  • ISSUE #4040: SettingManagementStore not refreshing cache within the same UnitOfWork
  • ISSUE #4023: Test & Improve the RTL UI
  • ISSUE #3892: move the MicroserviceDemo to the abp-samples repository

Bug Fixes

  • ISSUE #4943: DatabaseBlobProvider Not Set TenantId
  • PR #4901: Fix Date Filtering on IdentitySecurityLogRepository (by cotur)
  • PR #4884: Remove ITransientDependency interface from the DeviceFlowStore class. (by maliming)
  • ISSUE #4865: Dynamic Form Extensions for Angular calls Options PropCallback Infinite times
  • ISSUE #4858: The configuration of @ngx-validate/core cannot be overridden
  • ISSUE #4839: NgxsStoragePluginModule can't forRoot twice
  • ISSUE #4818: TakeUntilDestroy not working as expected
  • PR #4802: Ignore the generic dto predefined by abp in the return type (by realLiangshiwei)
  • PR #4789: Use eventEntry.EventBus instead of eventPublisher (by realLiangshiwei)
  • ISSUE #4780: Current user permissions don't refresh when changed a permission
  • ISSUE #4729: Replacement of layout in Angular not working
  • PR #4715: Use eventEntry.EventBus instead of eventPublisher (by realLiangshiwei)
  • ISSUE #4711: Pre defined events not being emitted for entity types
  • ISSUE #4690: create-solution-folder option is not working as expected.
  • ISSUE #4643: Angular UI cannot load the "ar" locale file
  • ISSUE #4611: Fix the "this.config is undefined" error in Angular
  • ISSUE #4598: ABP CLI command: update does not run yarn (or npm i)
  • ISSUE #4575: When run the abp update command, abp packages were updated with double tilde(~~)
  • ISSUE #4569: Could not view any entity in table although the entity is in database in BookStore-Angular-MongoDb sample
  • ISSUE #4566: Uncaught TypeError: MutationObserver.observe: Argument 1 is not an object
  • ISSUE #4337: FeatureManagement.FeatureDto.IStringValueType Cause Newtonsoft.Json.JsonSerializationException
  • ISSUE #4327: Localization in angular may be incorrect

Others

  • PR #5146: Add nullable datetime types. (by maliming)
  • PR #5141: Add @abp/ng.schematics publishing process to publish script (by mehmet-erim)
  • PR #5140: Community.abp.io: missing localization items (by berkansasmaz)
  • PR #5137: Replaced Angular Client Proxy Generation code with Angular Schematics (by armanozak)
  • PR #5136: Normalize projectId field. (by maliming)
  • PR #5133: Create Previews.md (by yekalkan)
  • PR #5131: Add Chinese localization files to Community.abp.io (by realLiangshiwei)
  • PR #5128: Community.abp.io: missing localization items (by EngincanV)
  • PR #5127: Add UserName & ClientId to the security log. (by maliming)
  • PR #5124: Fixed localization problem of default error messages (by mehmet-erim)
  • PR #5123: Change the file name of IAuditLogScope (by xiaoliang1314)
  • PR #5121: Add UserName in SetSuccessResultAsync method. (by maliming)
  • ISSUE #5120: UserId/UserName not present in some AbpSecurityLogs
  • PR #5119: Update documentation of rc and nightly switches (by yekalkan)
  • ISSUE #5118: Create a document to explain how to use the preview/rc releases
  • PR #5117: Fixed the ngcc compiling error of the @abp/utils package (by mehmet-erim)
  • PR #5116: Community-3.1 localization (by berkansasmaz)
  • PR #5110: Improved the publish.ps1 to be able to publish RC packages (by mehmet-erim)
  • PR #5107: Cli new project default mobile "none" (by yekalkan)
  • PR #5094: fix: MySqlConnector issues between ABP and Quartz (by olicooper)
  • PR #5093: Correct misspelling in Timing docs (by BryceBarbara)
  • PR #5091: Created utility functions that return DatePipe format (by mehmet-erim)
  • PR #5086: Revised the password change logic for Angular UI (by mehmet-erim)
  • PR #5084: Allow root "Components" folder in the web projects to have view component resources inside (by maliming)
  • PR #5082: Create Global Feature Action & Page filters to prevent usage of a controller/page if the feature was disabled (by maliming)
  • PR #5060: Added the ngxsStoragePluginOptions property to forRoot method options of CoreModule (by mehmet-erim)
  • PR #5058: Fixed OAuth configuration bug when using remoteEnv (by olicooper)
  • PR #5057: Add MyProjectNameMenus.cs for the app template (by wakuflair)
  • PR #5054: Displayed as a primary button if the actions button only has a single item (by mehmet-erim)
  • PR #5052: Fixed some bugs in Feature Management Module of Angular UI (by mehmet-erim)
  • PR #5048: Added action callback property to EntityProp for extensible table (by mehmet-erim)
  • PR #5045: Add PredicateBuilder class. (by maliming)
  • PR #5038: Add Identity service error page to account module. (by maliming)
  • PR #5037: Upgrade Swashbuckle.AspNetCore to 5.5.1 (by maliming)
  • ISSUE #5035: Identity server is redirecting to wrong URL on errors
  • PR #5029: correct docs wording of Principle to Principal (by paulfwilliams)
  • PR #5024: Add redis precondition to the document (by realLiangshiwei)
  • PR #5012: Update console application startup template document (by realLiangshiwei)
  • PR #5011: Update migrations for identity user IsExternal property. (by maliming)
  • ISSUE #5005: Circular dependency @abp/utils/dist/abp-utils.d.ts.map
  • PR #5004: Upgrade Automapper to v10.0.0 (by maliming)
  • PR #4999: Added a common Lookup type to the core package (by armanozak)
  • PR #4995: Implemented "Authorization Code Grant with PKCE" for the Angular UI (by mehmet-erim)
  • PR #4993: Create passwordless authentication community article (by EngincanV)
  • ISSUE #4987: Document : Setup and sending Emails
  • ISSUE #4983: Make Volo.Abp.Ldap support multi-tenancy.
  • PR #4978: Support IEnumerable when adding query strings. (by maliming)
  • PR #4976: Upgrade all AspNetCore/MsExtensions related packages to 3.1.6. (by maliming)
  • PR #4975: Revise how to change the password for external logins (by yekalkan)
  • PR #4970: Convert special characters in Version. (by maliming)
  • PR #4967: Implemented the getting environment from remote URL (by mehmet-erim)
  • ISSUE #4966: Configure AbpExceptionLocalizationOptions in the startup template.
  • PR #4962: Fixed an instance name in Toaster-Service.md (by mehmet-erim)
  • PR #4957: Community.abp.io localization (by EngincanV)
  • PR #4956: Added support for the Domain Tenant Resolver (by mehmet-erim)
  • ISSUE #4949: Suggest:Remove invalid log in AbpExceptionFilter
  • PR #4947: Update the background-workers-quartz document (by realLiangshiwei)
  • ISSUE #4945: QuartzBackgroundWorkerManager is not works fine for take over DefaultBackgroundJobManager
  • PR #4944: Handle multi-tenant in DatabaseBlobProvider. (by maliming)
  • PR #4942: Don't show UPDATED if it is already NEW (by maliming)
  • PR #4920: Convert entity property to entry property type. (by maliming)
  • ISSUE #4917: ObjectExtension: Handle extra property's type when deserialzing json with integer property value
  • PR #4911: Improved the performance of extensibility system and fixed some problems (by mehmet-erim)
  • PR #4906: Fix NRE on EntityHistoryHelper.ShouldSavePropertyHistory (by skomis-mm)
  • ISSUE #4902: add drop database stage for abp-app-backend pipeline
  • ISSUE #4896: Register page throw exception if the user name or email has been taken
  • PR #4893: Use EntityTypeBuilder & PropertyBuilder in the MapEfCoreProperty method. (by maliming)
  • ISSUE #4891: Use EntityTypeBuilder and PropertyBuilder in the MapEfCoreProperty method.
  • ISSUE #4883: DeviceFlowStore shouldn't implements ITransientDependency
  • PR #4872: Delete related entities when deleting Identity Server Client. (by maliming)
  • PR #4871: Update Unit-Of-Work.md (by cuibty)
  • ISSUE #4870: Delete related entities when deleting Identity Server Client.
  • PR #4869: Map the BookStore code namespace. (by maliming)
  • PR #4868: Added support for mapping of culture name to Angular locale file name (by mehmet-erim)
  • PR #4859: Fixed the NgxValidateCoreModule configuration overriding problem (by mehmet-erim)
  • PR #4857: Clarified Usage of BookType Enum in Tutorial (by armanozak)
  • ISSUE #4856: Clarify Usage of BookType Enum in Tutorial
  • PR #4855: Filter permission provider in PermissionDataSeedContributor. (by maliming)
  • PR #4849: Implemented the SubscriptionService (by mehmet-erim)
  • ISSUE #4843: Improve publish script to be able to publish RC packages
  • PR #4842: Add blob storing AWS Sintegration document (by realLiangshiwei)
  • PR #4840: fix broken links in docs (by yekalkan)
  • PR #4838: Created a Utility Service For Subscription Management (by armanozak)
  • ISSUE #4836: Create blob storing aws integration document
  • ISSUE #4835: Docs module: Provide a way to disable scriban rendering
  • PR #4832: Update blogging & docs demo migrations. (by maliming)
  • PR #4822: Cli: added Angular option to NpmApplicationType (by yekalkan)
  • PR #4815: Added a optional property named visible to NavItem interface (by mehmet-erim)
  • PR #4813: Added getFeature method to ConfigStateService (by mehmet-erim)
  • PR #4810: Use IdentitySecurityLogManager instead EventBus to save security logs. (by maliming)
  • ISSUE #4806: Make EfCoreRepository implement IAsyncEnumerable
  • PR #4797: Move Insert_Should_Set_Guid_Id test method to repository test base class. (by maliming)
  • PR #4793: Added draggable input to tree component (by mehmet-erim)
  • PR #4788: Added a control to PermissionManagementComponent for fetching the application configuration API (by mehmet-erim)
  • PR #4787: Add minio document (by mhymhygi)
  • PR #4783: Move cancel button to the form & add formnovalidate attribute. (by maliming)
  • PR #4782: Abp prerelease compatibility (by yekalkan)
  • PR #4779: Created a package named @abp/ng.components (by mehmet-erim)
  • ISSUE #4769: Configure Stale & Lock for this repository
  • PR #4766: Make app template DbContextFactory use migrator project's appsettings.json (by maliming)
  • PR #4758: Changed NgbDatepicker date format (by mehmet-erim)
  • PR #4750: CMSKit initial solution is prepared (by cotur)
  • PR #4749: Removed Invalid Use of AbpAccount Localization Resource in Tutorials (by armanozak)
  • PR #4748: Removed Compile Warnings (by armanozak)
  • ISSUE #4747: Remove Compile Warnings
  • PR #4741: Check Replaceable Layout Component on Every Route Change (by armanozak)
  • PR #4738: Check Replaceable Layout Component on Every Route Change (by armanozak)
  • PR #4737: Check Replaceable Layout Component on Every Route Change (by armanozak)
  • PR #4736: The Cancel button is only displayed in Identity Server. (by maliming)
  • PR #4727: Avoid NullReferenceException if context is null (by 1d0n7kn0w)
  • ISSUE #4724: Add migrations file to samples.
  • ISSUE #4716: Microservices demo missing distributed event configure
  • ISSUE #4712: Find and Remove Invalid Use of AbpAccount Localization Resource in Tutorials
  • PR #4709: Fix some problems with the time zone function. (by maliming)
  • PR #4700: Use parameterInfo.Name when modelNameProvider.Name is null. (by maliming)
  • ISSUE #4696: MsDemo TenantManagementService microservice missing dockerfile
  • PR #4695: Documentation: Ease running/debugging microservice demo with docker (by gterdem)
  • ISSUE #4691: RC (release candidate) version publish system planning
  • ISSUE #4678: abp generate-proxy dto baseType error
  • ISSUE #4677: Outdated documentation localization
  • ISSUE #4676: Unit test fail in MVC & MongoDB template. #2725
  • ISSUE #4668: Video course for the web application development tutorial (Part 1-5)
  • ISSUE #4667: generate-proxy multiple angular model bug fix
  • ISSUE #4664: New web application development tutorial parts (I)
  • ISSUE #4662: Get the required policy in PermissionGuard from RoutesService
  • ISSUE #4658: Ease running/debugging microservice demo with docker
  • PR #4656: Fix the "Expression has changed after it was checked" in LoaderBarComponent (by mehmet-erim)
  • PR #4651: Added DynamicLayoutComponent to AppComponent template (by mehmet-erim)
  • PR #4647: script and style sections not found error when logging out (by gterdem)
  • ISSUE #4638: Optimize microservice docker demo
  • PR #4637: German dutch encoding (by NecatiMeral)
  • PR #4636: Add dataFormat option to the datatables column definitions. (by maliming)
  • PR #4633: Rename the text "MY_PROJECT_NAME" when generating a new project (by maliming)
  • ISSUE #4619: Revisit the Getting Started & Application Development Tutorials
  • PR #4612: Fixed the "this.config is undefined" error in Angular (by mehmet-erim)
  • ISSUE #4607: Update the Custom Setting Page document
  • ISSUE #4596: Nuget common.ps1 files missing Volo.Abp.BlobStoring.Azure
  • PR #4595: Ignore classes that are not entities while configuring the base properties (by realLiangshiwei)
  • ISSUE #4591: Undefined permissions with IdentityServer.Client.ManagePermissions
  • ISSUE #4589: CLI generate-proxy: On Turkish Language settings computers, property names starting with 'I' letter is made lower case as turkish '─▒' letter
  • PR #4585: Updated the Angular UI Service Proxies document (by mehmet-erim)
  • ISSUE #4584: Update the Angular UI Service Proxies document
  • PR #4583: Provide a way to suppress the label generation for abp-input taghelper (by wakuflair)
  • ISSUE #4582: AbpDbContext.OnModelCreating issue
  • ISSUE #4577: The NPM package abp/utils is always 2.9.0
  • ISSUE #4574: Refatoring BundleContributor Make it support LocalizationMapOptions
  • PR #4573: Add PageContent layout hook. (by maliming)
  • ISSUE #4571: There is a problem in Account/Login razor page in the Authentication-Customization sample
  • PR #4570: updated link of authentication-customization sample in docs (by AkinSabriCam)
  • PR #4568: Updated v2.9 to v3.0 Migration Guide for Angular w/ Lepton Logo Changes (by armanozak)
  • ISSUE #4567: Update v2.9 to v3.0 Migration Guide for Angular w/ Lepton Logo Changes
  • PR #4559: Documented how to use NavItemsService (by mehmet-erim)
  • ISSUE #4558: Document how to use NavItemsService
  • PR #4555: Switch to the tenant before calling the handleevent method. (by maliming)
  • ISSUE #4548: ABP dynamic form adds default value to AbpInputTagHelper
  • PR #4523: Store cache in the unit of work. (by maliming)
  • ISSUE #4062: Try to consume both of REST and gRPC services from the console client of the gRPC demo sample
  • ISSUE #3907: Test & upgrade all samples to v3.0

Don't miss a new abp release

NewReleases is sending notifications on new releases.