Releases: abpframework/abp
Releases · abpframework/abp
3.0.0
Blog Post
- See the BLOG POST to learn new features and changes with this release.
Breaking Changes
- PR #4527: StringLengthAttribute usages converted to DynamicStringLengthAttribute (by cotur)
- ISSUE #4507: Fix routes for feature and permission controllers
- ISSUE #4506: Use tilde (~) istead of ^ for NPM package dependencies (MVC UI)
- ISSUE #4497: Use DynamicStringLengthAttribute instead of StringLengthAttribute on the pre-built modules
- PR #4479: Set ConcurrencyStamp property max length to constant (40) (by maliming)
- ISSUE #4454: Add forRoot Static Method for Theme Basic Configuration
- ISSUE #4433: Unify multiple update events for a single entity in the same unit of work
- ISSUE #4411: Don't publish auto distributed events for entities by default
- ISSUE #4410: Move EtoMappings from AbpDistributedEventBusOptions to AbpDistributedEntityEventOptions
- ISSUE #4407: Rename the Default BLOB container
- ISSUE #4376: Remove Config Packages
- PR #4363: Change UOW Timeout property type to int?. (by maliming)
- ISSUE #4361: Please set length to EntityFrameworkCore IdentityServerClients table, column "ExtraProperties" and "ConcurrencyStamp"
- ISSUE #4355: Can not set TimeOut for the UnitOfWorkAttribute
- ISSUE #4351: Remove ObjectExtensionPropertyInfo.ValidationAttributes
- ISSUE #4323: Set AbpSequentialGuidGeneratorOptions.DefaultSequentialGuidType by the database provider packages
- ISSUE #4281: Remove all deprecateds in Angular UI
- PR #4279: Make GetClaimsPrincipal mehtod public. (by maliming)
- ISSUE #4254: Remove NGXS Whereever Not Required
- ISSUE #4245: Compile Angular UI packages with TypeScript v3.8 & Angular v9
- ISSUE #4224: Set the ListService's page variable initial value to 0
- PR #4178: Make base properties of common base classes protected instead of public (by maliming)
- ISSUE #4136: Change the defining nav items structure and deprecate the old structure
- ISSUE #3968: Make base properties of common base classes protected instead of public
Features
- PR #4540: Implemented: Support embedded files with manifest created by Microsoft.Extensions.FileProviders.Embedded (by hikalkan)
- ISSUE #4528: Support embedded files with manifest created by Microsoft.Extensions.FileProviders.Embedded
- PR #4524: Introduced DynamicMaxLength (by cotur)
- ISSUE #4517: Add abp.currentUser.roles as a string array in the client side
- ISSUE #4503: Introduce @libs/uppy npm package
- ISSUE #4502: Introduce DynamicMaxLength
- PR #4500: Implement the ICacheSupportsMultipleItems for the AbpRedisCache (by liangshiw)
- ISSUE #4496: Introduce the DynamicStringLengthAttribute
- ISSUE #4494: Upgrade Angular version of the templates to v10
- ISSUE #4489: Implement the ICacheSupportsMultipleItems for the AbpRedisCache
- ISSUE #4483: Create Volo.Abp.Caching.StackExchangeRedis package
- ISSUE #4482: Add SetMany and GetMany to the IDistributedCache
- ISSUE #4472: Add Extensibility System for Angular UI
- PR #4353: Configure IdentityModel request message & configure all http clients. (by maliming)
- PR #4346: Split
ICrudAppservice
and implementations (by NecatiMeral) - ISSUE #4342: Complete methods of IAsyncQueryableExecuter
- PR #4325: Add AddAbpDeveloperSigningCredential method. (by maliming)
- ISSUE #4282: Introduce read-only app service
- PR #4236: Blog module admin separation (by yekalkan)
- PR #4200: Implement Blob Storing Azure Provider. (by maliming)
- ISSUE #4160: Create Oracle.EntityFrameworkCore Integration Package
- ISSUE #4106: Create a page to list all ABP related NPM/Nuget packages
- ISSUE #4098: Blob Storing Azure Provider
- ISSUE #4070: Separate admin side of the blog module
- ISSUE #71: Implement IAsyncQueryableExecuter as chain of responsibility
Enhancements
- ISSUE #4545: Hide a menu item when required policies are not met for all its children
- PR #4522: updated "^" chars to "~" char in npm packages (by AkinSabriCam)
- PR #4513: Change Volo.Docs.Admin.HttpApi.Client project target to netstandard2.0 (by liangshiw)
- ISSUE #4509: Change Volo.Docs.Admin.HttpApi.Client project target to netstandard2.0
- PR #4505: Added PeriodicBackgroundworker quartz adapter (by liangshiw)
- PR #4493: Remove unnecessary launchSettings.json file. (by maliming)
- ISSUE #4491: Optimize getting features
- ISSUE #4487: Optimize getting settings
- PR #4477: MongoDbRepository.AddGlobalFilters extracted to a service (by iyilm4z)
- ISSUE #4465: Could just tidy up and exclude launchSettings.json?
- PR #4453: Soft Delete & Common Test Done for MemoryDB (by iyilm4z)
- PR #4443: Use PreConfigure to configure IdentityBuilder (by liangshiw)
- ISSUE #4442: [bug] TokenCleanupBackgroundWorker will fail when enable Volo.Abp.BackgroundJobs.Quartz
- ISSUE #4440: Docs is wrong about dependency injection part of customizing SignInManager
- ISSUE #4426: Refactor the Angular UI module template
- PR #4424: added missing turkish localization keys and values (by AkinSabriCam)
- ISSUE #4422: Add DynamicLayoutComponent to the root level as a layout
- ISSUE #4418: Add route provider to Angular app templates
- ISSUE #4408: Normalize blob and container names in the providers
- ISSUE #4401: Ngx-Datatable Sorting Behavior Does Not Match ABP
- PR #4387: abp update command enhancement(--check-all). (by maliming)
- PR #4360: Add Languages/LanguageFiles map feature. (by maliming)
- PR #4345: Added
IsSuitableForDynamicClientProxying
and added generic interface restrictio...
2.9.0
BLOG POST
See this blog post to learn "What's new" with this version:
https://blog.abp.io/abp/ABP-Framework-v2.9.0-Has-Been-Released
Features
- ISSUE #4163: Create extension methods to easily ignore audit properties for entities and DTOs
- PR #4105: Implemented blob storing module (by hikalkan)
- ISSUE #4099: Blob Storing Database Provider Module
- ISSUE #4092: Blob Storing System
- PR #4088: Add cli translate command. (by maliming)
- ISSUE #4072: ABP CLI translate command
- ISSUE #4022: RTL support for Angular UI
- ISSUE #3983: Create Oracle integration package for EF Core
- PR #3971: Virtual File System Explorer Module (by liangshiw)
- PR #3933: Add time zone infrastructure. (by maliming)
- ISSUE #2907: Create a sample application for gRPC usage
- PR #2563: #1666 organization units (by mperk)
- ISSUE #1666: Organization units for the Identity module
- ISSUE #1609: Virtual File System Explorer
Enhancements
- PR #4207: Change Bootstrap RTL Library for MVC UI (by hikalkan)
- ISSUE #4193: Trigger an event when Javscript service proxy script initialized
- PR #4188: Update predefined application menu (by liangshiw)
- PR #4176: Initialize MongoDbRunner in the static constructor. (by maliming)
- PR #4173: IdentityModelAuthenticationService support multi-tenancy (by liangshiw)
- ISSUE #4172: IdentityModelAuthenticationService should support multi-tenancy
- PR #4164: Add email settings to appsettings.json file(s) of the application startup template (by maliming)
- PR #4161: Update Czech translations & fix formatting (by Xeevis)
- ISSUE #4156: Add email settings to appsettings.json file(s) of the application startup template
- ISSUE #4153: MongoDbFixture fails tests with NullReferenceException
- PR #4145: added search box view component (by AkinSabriCam)
- ISSUE #4140: Handle Module SignaR packages on ABP CLI add module command
- PR #4138: Use remote service http client in ApiDescriptionFinder. (by maliming)
- PR #4135: Use tilde slash in script and style url. (by maliming)
- ISSUE #4134: Automatically determine the database provider and handle on module mapping code
- PR #4131: Upgrade Entity Framework Core Nuget Packages to the latest 3.1.x version (by hikalkan)
- ISSUE #4130: Upgrade Entity Framework Core Nuget Packages to the latest 3.1.x version
- ISSUE #4114: Add a minimum age validator for Angular UI
- PR #4112: Corrected BootstrapTagHelpersDynamicFormsExplanation localized text. (by maliming)
- PR #4101: Support virtual path deployment (by liangshiw)
- ISSUE #4089: Support virtual path deployment
- PR #4084: Update usage codes in modules and templates. (by maliming)
- PR #4083: Make DbContextOptionsFactory public. (by maliming)
- ISSUE #4080: Upgrade SignalRDemo to stable packages
- ISSUE #4074: (ToolbarConfigurationContext &MenuConfigurationContext)Update usage codes in modules and templates.
- ISSUE #4066: Please change class DbContextOptionsFactory to public
- PR #4053: Remove consoleApp suffix (by liangshiw)
- PR #4044: Akin/refactored some entity repositories for filtering and pagination (by AkinSabriCam)
- ISSUE #4043: Remove ConsoleApp suffix from the console template
- PR #4038: Change bootstrap rtl lib(MVC UI) (by kgamalseif)
- ISSUE #4017: Add useful services to IToolbarConfigurationContext and MenuConfigurationContext
- PR #4016: Optimize RazorRuntimeCompilation. (by maliming)
- ISSUE #3916: Provide time zone infrastructure.
Bug Fixes
- ISSUE #4194: Breadcrumb Throws Error When Route Has Query Params, Fragment, or Auxiliary Route
- ISSUE #4171: [Angular App] API error response incorrect when using GetAppConfiguration
- ISSUE #4069: Mvc start template login/register layout bug
- ISSUE #4063: Blog module comment problem
- ISSUE #4051: use generate-proxy get more error
- ISSUE #4042: Docs module gives HTTP 500 error when I open a document first time
- ISSUE #4041: Connection strings are wrong with v2.8 release for the application template
- ISSUE #3762: CLI generate-proxy doesn't create models for some classes
- ISSUE #3757: Fix UI bugs on tablet view
Others
- ISSUE #4208: [Action] OrganizationUnitRepository_Tests.RemoveAllRolesOfOrganizationUnit [FAIL]
- PR #4201: Add null query param control to RestService (by mehmet-erim)
- PR #4195: Fixed Breadcrumb Error When Route Has Query Params, Fragment, or Auxiliary Route (by armanozak)
- PR #4189: Move ViewImports.cshtml to take effect on the component. (by maliming)
- PR #4180: added NuGetPackageTarget.SignalR & Set TargetPriority (by yekalkan)
- PR #4170: Update multi-tenancy document (by liangshiw)
- ISSUE #4169: Update Multi-Tenancy document
- PR #4168: Create nav items utility functions (by mehmet-erim)
- ISSUE #4152: Test "BlobStoring.Database" Module
- ISSUE #4151: Test "sample application with SignalR & Tiered architecture" article
- ISSUE #4137: Test oracle provider for ef core
- PR #4133: Added RTL Support for Angular UI (by armanozak)
- ISSUE #4129: Angular should not send "null" to the backend as a query param
- PR #4127: Added bootstrap-rtl.min.css to @abp/ng.theme.shared as an asset (by mehmet-erim)
- ISSUE #4119: Nightly packages stopped
- ISSUE #4116: Fix abp-samples repository build error after v2.8.
- PR [#4115](https://github.com/abpframework/...
2.8.0
BLOG POST
See this blog post to learn "What's new" with this release:
https://blog.abp.io/abp/ABP-v2.8.0-Releases-%26-Road-Map
Breaking Changes
- ISSUE #3999: Fix BootstrapDatepicker Script/Style Contributor namespace
- ISSUE #3909: Deprecate UsePostgreSql() and rename it to UseNpgsql() for the Volo.Abp.EntityFrameworkCore.PostgreSql package
- ISSUE #3880: Obsolete app.UseMvcWithDefaultRouteAndArea() and introduce app.UseConfiguredEndpoints()
Features
- ISSUE #4024: Add Reusable Validators Based on Object Attributes
- ISSUE #3976: Console application startup template
- ISSUE #3963: Create a jstree package & bundle contributor
- PR #3918: Make ICurrentPrincipalAccessor changeable. (by maliming)
- ISSUE #3905: Create endpoint to the identity lookup service to search users
- ISSUE #3866: How to implement paging in client side angular UI so that first 10 items in page1, next 10items in page2 of the BookStore Sample App.
- PR #3850: Added onOpen callback, to trigger when the modal opens. (by Znow)
- PR #3754: RTL language support (MVC UI) & added arabic localization resources (by kgamalseif)
- ISSUE #2747: SignalR Package
- ISSUE #754: Add Arabic Language Resource Translation
Enhancements
- ISSUE #4000: Update document for new ABP input tag helper properties
- ISSUE #3995: Add Localization Methods w/ Fallback to Localization Service
- PR #3989: "L" function in the text template rendering system should support parametric text. (by maliming)
- PR #3986: Add docs module client proxies (by maliming)
- ISSUE #3979: Allow to set custom "default value" for extra properties
- ISSUE #3978: ObjectExtensionManager should automatically add RequiredAttribute & EnumDataTypeAttribute when needed
- ISSUE #3977: "L" function in the text template rendering system should support parametric text
- ISSUE #3975: Create middleware for claims map. Make it configurable.
- PR #3973: Change HttpApiClient project target to netstandard2.0 (by liangshiw)
- ISSUE #3967: Fallback to the default localization resource for base classes with the L property
- ISSUE #3965: Rename "Main" to "build and test" for the GitHub action
- ISSUE #3964: Configure build & test GitHub action for the abp-samples repository
- ISSUE #3960: Change HttpApi.Client project target of start template to netstandard2.0
- ISSUE #3958: Fill the validation rules for the extension properties on the application configuration endpoint
- ISSUE #3946: Add missing identity localizations for TR language
- ISSUE #3945: Sync DTOs in the framework with the Angular UI
- PR #3932: Put UseAbpRequestLocalization after the UseMultiTenancy (by liangshiw)
- ISSUE #3931: Put UseAbpRequestLocalization after the UseMultiTenancy
- ISSUE #3913: CurrentUser will be invalid when LongPolling is used as Transports.
- PR #3904: Add Email property to CurrentUserDto. (by maliming)
- PR #3897: Add error page in template projects. (by maliming)
- PR #3896: Upgrade IdentityServer4 to 3.1.3. (by maliming)
- ISSUE #3872: How to Guide: AzureAD integration details enhancement
- ISSUE #3855: generate-proxy improvements
- ISSUE #3828: IdentityServer module IdentityServer4 version
- ISSUE #3791: Use "defaultResourceName" and other enhancements for the Angular UI
- PR #3720: Blogging Module - Unwanted Exception Suppressing (by cotur)
- ISSUE #3295: abp generate-proxy - output switch
Bug Fixes
- ISSUE #3969: Page methods that have void/task return type are returning JSON result
- PR #3935: Check whether MethodInfo's DeclaringType has auditing disabled. (by maliming)
- ISSUE #3915: Templating Module Exception
- ISSUE #3891: Blog comment counts are now shown
- ISSUE #3886: route url is set to '/' when patching route without providing path
- ISSUE #3875: Link underline problem with the blog module
- ISSUE #3861: @abp/prismjs missing dependency to @abp/clipboard
- ISSUE #3686: Closable option of ConfirmationService methods is not working
- ISSUE #3650: Angular is not working correctly
Others
- PR #4036: Remove disable background worker system check (by liangshiw)
- ISSUE #4035: Disable background workers should be able to add but not execute
- PR #4031: Added missing DTOs Core (by mehmet-erim)
- PR #4025: Introduced Reusable Validators Based on Object Attributes (by armanozak)
- PR #4021: Fixed the RouteReuseStrategy problem in LocalizationService (by mehmet-erim)
- ISSUE #4019: Fix the RouteReuseStrategy problem in LocalizationService
- PR #3997: created a test project and moved page toolbar test to abp framework solution (by AkinSabriCam)
- PR #3996: Added Localization Methods w/ Fallback to the Localization Service (by armanozak)
- PR #3993: Add console application startup template (by liangshiw)
- PR #3985: Add AbpClaimsMapMiddleware. (by maliming)
- ISSUE #3984: Expose enum type & members to client side for extension properties
- PR #3974: Razor page's exception filter ignores void and task return types. (by maliming)
- PR #3961: Fix modal open event bug (by liangshiw)
- PR #3956: Added ListService for Easy Pagination, Sorting, and Search (by armanozak)
- PR #3954: Fix PageModel.cs (by liangshiw)
- ISSUE #3953: abp-paginator tag helper generated wrong show-info content
- ISSUE #3952: cannot load theme when use configurable json file #3536
- PR #3950: Add phone number search (by liangshiw)
- PR #3947: Add docs module client proxies (by zhishile)
- ISSUE #3944: Identity module - Search box doesn't search in phone number field
- PR [#3943](https://github.co...
2.7.0
See the blog post related to this release: https://blog.abp.io/abp/ABP-Framework-v2_7_0-Has-Been-Released
Breaking Changes
- ISSUE #3837: Singleton & scoped services exposing multiple services should return the same instance
- PR #3700: Wrong polish culture code in translation file name (by CrazyBaran)
- ISSUE #3690: listenToEscape method of ConfirmationService should be made private
- ISSUE #3496: Add has method to DomInsertionService
Features
- PR #3792: Impelemented Text Template System (by cotur)
- ISSUE #3790: Add AbpLocalizationOptions.DefaultResourceType
- PR #3775: Fixes #3774 - dutch localization (by NecatiMeral)
- PR #3773: Fixes #3727 - german localization (by NecatiMeral)
- PR #3771: blog: Code blocks highlighed (by yekalkan)
- ISSUE #3677: Add a utility function named generatePassword to @abp/ng.core
- ISSUE #3309: Code blocks should be highlighed on the blog module
- ISSUE #672: Docs module cache clear
- ISSUE #407: Text Template System
Enhancements
- PR #3851: Split ApplicaitonLayoutComponent into smaller components (by mehmet-erim)
- PR #3847: Add LogoReverseUrl for black backgrounds (by ebicoglu)
- ISSUE #3816: User friendly message for regex validation
- ISSUE #3811: ABP CLI - Performance improvement on CLI NuGet & NPM update service
- ISSUE #3793: Docs - Wrap images in anchor
- ISSUE #3785: Add eNavigationElementNames enum to @abp/ng.theme.basic
- PR #3781: Update Getting-Started.md(Tiered project require redis) (by maliming)
- ISSUE #3772: ErrorHandler is not exported in public-api.ts of ThemeSharedModule
- ISSUE #3765: Add enums that contain route names to all lazy-loadable modules
- PR #3760: Add SolutionName option to update command. (by maliming)
- ISSUE #3753: CLI: hope update operation can assign solution name
- PR #3733: added overall item to navs for abp docs (by AkinSabriCam)
- ISSUE #3726: Audit log should not save properties those were not changes
- PR #3721: Enhanced reindex function. (by maliming)
- ISSUE #3710: Angular UI: ConfirmationService - Have an option for HTML messages
- PR #3683: Optimize MyProjectNameDbMigrationService (by liangshiw)
- PR #3680: Docs module cache clear (by yekalkan)
- PR #3679: Upgrade Hangfire package to 1.7.11 (by maliming)
- PR #3676: Simplify DbMigrator console output. (by maliming)
- ISSUE #3664: Create "Overall" menu item for the documents have an index page
- ISSUE #3658: Simplify DbMigrator console output
- PR #3641: Redirect to home page when an invalid URL or missing document (by liangshiw)
- ISSUE #3505: Some AccountController Functionality spited into Account.Web and doesn't exist on Account.HttpApi
- ISSUE #3139: CoreModule should be refactored
- ISSUE #2939: Optimize MyProjectNameDbMigrationService
Bug Fixes
- ISSUE #3830: Blog post are not shown well on mobile
- ISSUE #3742: Documentation mistake for addManyTail (Linked-List)
- ISSUE #3736: AbpDynamicForm generates custom items repeatedly
- ISSUE #3731: Docs module gives HTTP 500 error when I open a document first time
- ISSUE #3718: The index of elasticsearch is duplicated.
- ISSUE #3717: Search list page style problem.
- ISSUE #3707: redirectUrl state of url tree in AuthGuard not working
- ISSUE #3703: Fix wrapper routes duplication problem
- ISSUE #3689: Angular UI module template is not working correctly
Others
- PR #3846: Fixed nextValue/previousValue mismatch in LinkedList (by armanozak)
- PR #3843: Add AbpTenantManagementEntityFrameworkCoreModule to host module dependencies (by liangshiw)
- ISSUE #3842: Microservices example product host module should depend on the tenant management module
- ISSUE #3823: abp generate-proxy folder structure changes
- PR #3821: Fixed circular dependency problems in ng-packs (by mehmet-erim)
- PR #3802: ErrorHandler exported from @abp/ng.theme.shared (by mehmet-erim)
- PR #3801: make virtual file system return the root directory (by liangshiw)
- ISSUE #3796: Virtual file system could not get the root directory
- PR #3794: Compare the value of the property to determine whether it is changed. (by maliming)
- PR #3787: Added Modifying the Menu documentation (by mehmet-erim)
- PR #3786: Added eNavigationElementNames enum to @abp/ng.theme.basic package (by mehmet-erim)
- PR #3780: Remove UnitOfWork Attribute in the IdentityServerSupportedLoginModel (by liangshiw)
- ISSUE #3777: RabbitMq IDistributedEventBus bug.
- PR #3770: Translate getting started document (by liangshiw)
- PR #3769: Added *RouteNames enums to all lazy-loadable modules (by mehmet-erim)
- ISSUE #3767: Getting Started documentation incorrect link
- PR #3750: Replaced mvc with {{UI_Value}} in tutorials Part-1 documentation (by liangshiw)
- ISSUE #3749: Tutorials document UI option Incorrect
- PR #3748: Update document (by liangshiw)
- PR #3745: Replaced addTailMany with addManyTail in LinkedList Documentation (by armanozak)
- ISSUE #3740: The virtual file system cannot handle static asset files well
- PR #3738: Allowed HTML Title, Message, and Button Content in Confirmation Dialog (by armanozak)
- PR #3737: Remove FormGroupItem that are not in the model (by liangshiw)
- PR #3734: Docs: Used generate proxy command on the BookStore tutorial (by mehmet-erim)
- PR [#3729](ht...
2.6.2
2.6.1
Breaking Changes
- ISSUE #3690: listenToEscape method of ConfirmationService should be made private
- ISSUE #3496: Add has method to DomInsertionService
Features
- ISSUE #3677: Add a utility function named generatePassword to @abp/ng.core
- ISSUE #672: Docs module cache clear
Enhancements
- PR #3680: Docs module cache clear (by yekalkan)
- PR #3679: Upgrade Hangfire package to 1.7.11 (by maliming)
- PR #3676: Simplify DbMigrator console output. (by maliming)
- ISSUE #3658: Simplify DbMigrator console output
- ISSUE #3139: CoreModule should be refactored
Bug Fixes
- ISSUE #3689: Angular UI module template is not working correctly
Others
- PR #3719: Rename Http-Requests.md to HTTP-Requests.md (by maliming)
- ISSUE #3711: ABP CLI - Cannot find solution path while updating NuGet packages
- PR #3698: Increased Flexibility and Maintainability of CoreModule (by armanozak)
- PR #3694: Fixed Angular UI module template bugs and upgraded Angular version to v9 (by mehmet-erim)
- PR #3691: Made listenToEscape method of ConfirmationService private (by mehmet-erim)
- PR #3685: Update document (by liangshiw)
- PR #3681: Added has method to DomInsertionService (by mehmet-erim)
- PR #3678: feat(core): add generatePassword utility function (by mehmet-erim)
- PR #3667: update Hangfire nuget to latest version 1.7.11 (by robsiera)
- PR #3666: fix unit tests (by liangshiw)
- ISSUE #3616: Docs module cache problem
- PR #3275: Add Angular 9 '@Injectable()' to tutorials and book store sample. (by olicooper)
2.6.0
Breaking Changes
- ISSUE #3244: Possible @abp/ng.core dependency issue (breaking change)
Features
- PR #3561: Implement validation for extra properties of the extensible objects (by hikalkan)
- ISSUE #3531: Create a generic service that can attach a component to root level
- ISSUE #3479: Implement validation for extra properties of the extensible objects
- PR #3348: Introducing DynamicProxyIgnoreTypes. (by maliming)
- PR #3057: Russian localization for the framework and all the modules (by romkij)
Enhancements
- PR #3649: Check that Document is not null in GetDescription method. (by maliming)
- ISSUE #3636: Add an option to skip error handling to forRoot method of ThemeShared
- PR #3619: Add select2-bootstrap-modal-patch.js to Select2ScriptContributor. (by maliming)
- ISSUE #3601: Enable ABP CLI to generate project from local template cache
- PR #3600: UPD Application on https://docs.abp.io/en/abp/latest/Startup-Template… (by 380086154)
- PR #3594: Make GetConventionalRegistrars method public. (by maliming)
- ISSUE #3585: Add DomInsertionService a Method for Removing Content
- PR #3577: Use IHostApplicationLifetime to manually terminate the console application. (by maliming)
- ISSUE #3574: DbMigrator never ends in a continuous deployment job
- PR #3571: Upgrade Swashbuckle.AspNetCore to v5.3.1 (by liangshiw)
- ISSUE #3566: Upgrade Swashbuckle.AspNetCore to v5.3.0
- ISSUE #3536: Angular 'apiUrl' in configurable json file
- ISSUE #3530: Attach toaster and confirmation components to app-root level
- PR #3526: Introducing AbpRemoteServiceApiDescriptionProvider (by maliming)
- PR #3508: Dynamic C# proxying enhancements for culture sensitive types. (by maliming)
- ISSUE #3495: The method of razor page should return IActionResult
- PR #3491: update IsRelational extension for EntityFramework (by WeihanLi)
- PR #3490: Enhance EntityHelper's TrySetId method. (by maliming)
- ISSUE #3472: Dynamic C# proxying enhancements for culture sensitive types
- ISSUE #3461: EntityHelper.TrySetId
- PR #3454: Add Quartz StartupDelay option (by olicooper)
- ISSUE #3425: Create enums for replaceable component keys
- PR #3424: Slovenian translations for Volo.Abp.UI (by leonkosak)
- ISSUE #3414: Make a stress / load testing for ABP Framework
- ISSUE #3362: Apply Entity Extension System for samples (using NuGet Packages)
- ISSUE #3197: Create a modal service to append a modal to the body
- ISSUE #3080: Angular Component Replacement Document enhancement
- PR #2659: #214 authorization improvements (by mperk)
- PR #2414: resolve #2385 fix mongo.exe dispose (by mehmetuken)
Bug Fixes
- ISSUE #3670: Docs module test failing
- PR #3581: Fix the problem of GetAllowedScopeNames method. (by maliming)
- ISSUE #3521: bundling module wrong if condition
Others
- PR #3674: Using test collections in DocumentRepository_Tests. (by maliming)
- PR #3672: Fix Github action. (by maliming)
- ISSUE #3671: Github action is not working(for net)
- PR #3665: Restore DeleteOrphansTiming value of ChangeTracker. (by maliming)
- PR #3655: Added a Utility Function to Create Options from Enums (by armanozak)
- ISSUE #3654: Add a Utility Function to Create Options from Enums
- PR #3652: Added an property named skipHandledErrorCodes to forRoot options of ThemeShared (by mehmet-erim)
- PR #3648: Fixed if condition in config plugin (by mehmet-erim)
- PR #3645: Replace the NuGet.Config file in the module template. (by maliming)
- ISSUE #3635: Cannot create package Volo.Abp.Cli.Core
- ISSUE #3627: abp template renderer doesn't work
- ISSUE #3620: Apply select2-bootstrap-modal-patch.js change to the projects
- PR #3617: Appended ConfirmationComponent and ToastContainerComponent to the body (by mehmet-erim)
- ISSUE #3614: Leave empty for date input when initial load in AbpTagHelper
- ISSUE #3613: Invalid character on char field in Abp Input TagHelper
- PR #3610: Add skipGetAppConfiguration property to forRoot options of CoreModule (by mehmet-erim)
- ISSUE #3609: Select2 is not working in opened modal by default
- PR #3607: Tag helper document for dynamic forms and form elements (by yekalkan)
- PR #3602: Document how to install and uninstall preview NPM packages (by mehmet-erim)
- PR #3592: docs: Added ExposeServices attribute. (by berkansasmaz)
- PR #3586: Added a Method for Removing Content to DomInsertionService (by armanozak)
- PR #3582: Improved LinkedList Documentation (by armanozak)
- PR #3579: Use IActionResult as the return value of the page method in the module. (by maliming)
- ISSUE #3578: An error code was found in the Volo.Abp.Account.Web.IdentityServer module
- ISSUE #3575: Update LinkedList documentation to reflect its move to @abp/utils package
- PR #3556: Make docs module shortName unique (by liangshiw)
- PR #3552: Added a Modal Service to Project the Modal to Root Level (by armanozak)
- PR #3546: Extensible object manager docs (by hikalkan)
- PR #3544: Introduced a Generic Service for Content Projection (by armanozak)
- PR #3540: Created enums for available replaceable components (by mehmet-erim)
- PR #3529: Refactored the internal logic of the AddFileToBundle method. (by maliming)
- PR [#...
2.5.0
2.4.1
Features
- ISSUE #3514: Create a function that returns password validations
- ISSUE #3486: Allow to Enable/Disable a permission
Enhancements
- ISSUE #3520: Upgrade MailKit to 2.6.0
- ISSUE #3513: Dynamic password validation for tenant admin password
- ISSUE #3500: Throw businessException for tenant not found
- ISSUE #3492: Add PreDefine & PostDefine methods for IPermissionDefinitionProvider
- ISSUE #3395: Consider to move samples to the new abp-samples repository
Others
2.4.0
Breaking Changes
- ISSUE #3171: Make Angular layouts replaceable
Features
- ISSUE #3449: Create a strategy that inserts a style element to the DOM
- PR #3408: EntityChange selecting implemented to AuditLog Repositories (by cotur)
- PR #3401: Implemented: Object Extending System (by hikalkan)
- ISSUE #3387: Object Extending System
- ISSUE #3385: Create a new library named @abp/utils
- PR #3360: Implemented: EF Core Entity Extension System (by hikalkan)
- ISSUE #3350: Add a doubly linked list to the core module
- PR #3334: Implemented: Allow to subscribe to exceptions handled by the abp framework (by hikalkan)
- ISSUE #3328: Allow to subscribe to exceptions handled by the abp framework
- ISSUE #3204: Create TrackByService to use track by function easily
- ISSUE #3126: EF Core Entity Extension System
Enhancements
- ISSUE #3466: Create an init token to theme shared and deprecate append script function
- PR #3465: Development environment enhanced (by mehmet-erim)
- ISSUE #3448: Add login link to the header
- PR #3435: Add builderAction parameter to the BuildConfiguration method. (by maliming)
- PR #3432: added description field in posts and updated create and edit page fo… (by AkinSabriCam)
- ISSUE #3429: Configuration - Custom Configuration sources
- ISSUE #3426: Blog module - Add Description and Title fields to a post blog
- ISSUE #3381: Refactor Docs module
- ISSUE #3375: Add methods to LinkedList for adding and dropping multiple nodes
- PR #3366: apply entity extension system for samples (by maliming)
- ISSUE #3361: Apply Entity Extension System for samples
- PR #3347: Use Exists property to determine if the file exists. (by maliming)
- PR #3338: Make CLI available when abp.io is offline (by liangshiw)
- ISSUE #3323: Cli use of local templates crash while fail to access abp.io site
- ISSUE #3317: Propose a type-safe version for byDeep method of TrackByService
- PR #3307: Migrate only tenants with connection strings. (by maliming)
- PR #3306: Keep the hash of the url in the setQueryString method. (by maliming)
- ISSUE #3292: Only run tenant migrations for tenants with external databases?
- ISSUE #3281: Abp-Popover Tag Helper hoverable feature
- PR #3271: Remote service name is set for all modules (by cotur)
- PR #3266: IdentityServer ETOs' added (by cotur)
- ISSUE #3265: Set remote service name for all modules
- ISSUE #3264: Allow a controller to set the remote service name to be used by clients
- ISSUE #3254: Abp-Modal Tag helper extra features
- ISSUE #3252: Refactor and optimize RestService request method
- PR #3241: Docs ETOs' added (by cotur)
- PR #3240: Blogging ETOs' implemented (by cotur)
- ISSUE #3238: Design for docs search
- ISSUE #3234: Document website doc.abp.io redirect incorrectly.
- PR #3210: Identity ETO's added (by cotur)
- ISSUE #3208: Add --connection-string parameter ABP CLI while creating a new project
- ISSUE #3185: LazyLoadService should be refactored
- ISSUE #3137: Take related module API URL in RestService
- ISSUE #3090: Docs should support querystring params on local links
- ISSUE #3033: Define ETO's for all aggregate roots for all modules
Bug Fixes
- PR #3406: added exception for user registered multiple organizations (by AkinSabriCam)
- ISSUE #3339: Dynamic C# API Clients may not handle DateTime on QueryString when client and server cultures are different
- PR #3259: MongoDbRepository needs to filter when deleting entity based on Id. (by maliming)
Others
- PR #3480: How-to Documentation update and enhancements (by gterdem)
- PR #3475: Created DomInsertionService (by mehmet-erim)
- PR #3473: Added Some Advanced Lazy Load Examples (by armanozak)
- PR #3470: Start and shutdown quartz asynchronously (by liangshiw)
- PR #3469: Implemented new LazyLoadService (by mehmet-erim)
- PR #3467: Replace LicenseCode for ModulePro template. (by maliming)
- PR #3463: Angular version of app-pro template updated to v9.1 (by mehmet-erim)
- PR #3453: Introduced New LazyLoadService (by armanozak)
- ISSUE #3446: Add React Native template structure documentation
- ISSUE #3445: Update Angular application structure documentation
- PR #3431: Added access token validation function (by mehmet-erim)
- PR #3430: Moves Linked List Document to Common Utils (by armanozak)
- PR #3420: Fix options prefix in document. (by maliming)
- PR #3415: Created @abp/utils library (by mehmet-erim)
- PR #3410: Set ExternalProviders and EnableLocalLogin properties in the page's OnPost method. (by maliming)
- ISSUE #3400: There are no login schemes configured for this client.
- PR #3398: added title and description for blog posts (by AkinSabriCam)
- PR #3393: Add Blog Post: Customizing Login Page (by gterdem)
- PR #3392: External Azure Active Directory Authentication Blog Post (by gterdem)
- PR #3391: Add Blog Post: Customizing SignInManager (by gterdem)
- ISSUE #3389: Add Blog Post: Customizing Login Page
- ISSUE #3388: Add Blog Post: Customizing SignInManager
- ISSUE #3386: Update Pomelo.EntityFrameworkCore.MySql to 3.1.1
- PR [#3383](https://githu...