Browse Source

Merge pull request #25545 from abpframework/EngincanV/10-5-docs-updates

Prepare announcement post and update docs for v10.5
pull/25546/head
Enis Necipoglu 4 months ago
committed by GitHub
parent
commit
3116ef52bf
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 168
      docs/en/Blog-Posts/2026-06-03 v10_5_Preview/POST.md
  2. BIN
      docs/en/Blog-Posts/2026-06-03 v10_5_Preview/cover-image.png
  3. BIN
      docs/en/Blog-Posts/2026-06-03 v10_5_Preview/link-account-demo.mp4
  4. BIN
      docs/en/Blog-Posts/2026-06-03 v10_5_Preview/remove-from-tenants.png
  5. BIN
      docs/en/Blog-Posts/2026-06-03 v10_5_Preview/studio-switch-to-preview.png
  6. 238
      docs/en/release-info/migration-guides/abp-10-5.md
  7. 1
      docs/en/release-info/migration-guides/index.md
  8. 11
      docs/en/release-info/release-notes.md
  9. 12
      docs/en/release-info/road-map.md

168
docs/en/Blog-Posts/2026-06-03 v10_5_Preview/POST.md

@ -0,0 +1,168 @@
# ABP Platform 10.5 RC Has Been Released
We are happy to release [ABP](https://abp.io) version **10.5 RC** (Release Candidate). This blog post introduces the new features and important changes in this new version.
Try this version and provide feedback for a more stable version of ABP v10.5! Thanks to you in advance.
## Get Started with the 10.5 RC
You can check the [Get Started page](https://abp.io/get-started) to see how to get started with ABP. You can either download [ABP Studio](https://abp.io/get-started#abp-studio-tab) (**recommended**, if you prefer a user-friendly GUI application - desktop application) or use the [ABP CLI](https://abp.io/docs/latest/cli).
By default, ABP Studio uses stable versions to create solutions. Therefore, if you want to create a solution with a preview version, first you need to create a solution and then switch your solution to the preview version from the ABP Studio UI:
![studio-switch-to-preview](studio-switch-to-preview.png)
## Migration Guide
There are no explicitly marked breaking changes in this version. However, there are still some important migration notes for specific scenarios. Please check the migration guide if you are upgrading from v10.4 or earlier: [ABP Version 10.5 Migration Guide](https://abp.io/docs/10.5/release-info/migration-guides/abp-10-5).
## What's New with ABP v10.5?
In this section, I will introduce some major features released in this version.
Here is a brief list of titles explained in the next sections:
- S3-Compatible Blob Storage Support
- OpenIddict: Default Scope Fallback Options
- Dynamic Background Worker Capability Markers
- Account: Single-Active Token Provider Improvements
- CMS Kit: CodeMirror 6 Update
- Shared User Accounts: Remove Users from Tenants
- Dependency Updates
### S3-Compatible Blob Storage Support
ABP v10.5 improves the AWS Blob Storing provider so it can work with S3-compatible storage services such as Cloudflare R2, MinIO, Backblaze B2, Wasabi, and DigitalOcean Spaces.
Two new AWS blob provider configuration options are available:
- `ServiceURL`: Sets the custom S3-compatible service endpoint.
- `DisablePayloadSigning`: Sends `UNSIGNED-PAYLOAD` instead of streaming chunked signing when the target provider does not support AWS SDK v4's default payload signing behavior.
Example configuration:
```csharp
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.ConfigureDefault(container =>
{
container.UseAws(aws =>
{
aws.AccessKeyId = "your-access-key";
aws.SecretAccessKey = "your-secret-key";
aws.ServiceURL = "https://<account-id>.r2.cloudflarestorage.com";
aws.ContainerName = "my-container";
aws.DisablePayloadSigning = true;
});
});
});
```
This is especially useful if you want to keep ABP's blob storing abstraction while using an S3-compatible provider instead of AWS S3 itself.
> See [#22962](https://github.com/abpframework/abp/pull/22962) for details.
### OpenIddict: Default Scope Fallback Options
ABP v10.5 adds opt-in default scope fallback options for OpenIddict token grants.
For `client_credentials`, `password`, and token-exchange grants, you can now configure ABP to use the scopes registered on the client application when the token request does not include a `scope` parameter.
The new options are disabled by default:
```csharp
Configure<AbpOpenIddictAspNetCoreOptions>(options =>
{
options.UseDefaultScopesForClientCredentials = true;
options.UseDefaultScopesForPassword = true;
options.UseDefaultScopesForTokenExchange = true;
});
```
This gives applications more flexibility for machine-to-machine and integration scenarios while keeping the existing behavior unchanged unless you explicitly enable it.
> See [#25356](https://github.com/abpframework/abp/pull/25356) for details.
### Dynamic Background Worker Capability Markers
ABP v10.5 improves the dynamic background worker infrastructure with provider capability markers.
Consumers can now detect whether the active `IDynamicBackgroundWorkerManager` supports runtime registration and cron scheduling by checking marker interfaces:
- `ISupportsRuntimeRegistration`
- `ISupportsCronScheduling`
Hangfire and Quartz dynamic worker managers support both runtime registration and cron scheduling. The default in-memory manager supports runtime registration only, and now rejects cron expressions with a clearer error message. TickerQ's dynamic worker manager does not expose runtime dynamic scheduling support.
This is useful for modules and tools that need to adapt their UI or behavior based on the active background worker provider.
> See [#25397](https://github.com/abpframework/abp/pull/25397) for details.
### Account: Single-Active Token Provider Improvements
ABP continues improving token security in the [Account PRO module](https://abp.io/modules/account-pro).
In v10.5, the link-user token provider now uses ABP's single-active token infrastructure. Only the latest generated link-user token remains valid, and applications can configure the token lifetime through dedicated options.
![link account demo](link-account-demo.mp4)
The default ASP.NET Core Identity token provider used by ABP has also been replaced with an ABP single-active variant. Password-flow challenge tokens, such as two-factor and password-change challenge flows, are now single-active per user and purpose with a short default lifetime.
These changes help reduce the risk of old tokens remaining usable after a newer token has been issued.
> See [#25450](https://github.com/abpframework/abp/pull/25450) and [#25525](https://github.com/abpframework/abp/pull/25525) for details.
### CMS Kit: CodeMirror 6 Update
ABP v10.5 updates the `@abp/codemirror` package to CodeMirror 6.
The package keeps compatibility with existing ABP and CMS Kit integrations through a `window.CodeMirror.fromTextArea(...)` adapter while serving the updated bundled CodeMirror assets from the ABP package.
This modernizes the editor infrastructure used by CMS Kit and related UI features without requiring typical applications to change their CMS Kit usage.
> See [#25358](https://github.com/abpframework/abp/pull/25358) for details.
### Shared User Accounts: Remove Users from Tenants
ABP Commercial v10.5 RC improves shared user account administration with a new tenant-side removal action.
Administrators can now remove a shared user from the current tenant directly from the user management UI. This provides an admin-managed counterpart to the self-service leave flow and keeps shared-account administration easier to handle in multi-tenant systems.
![remove shared user from tenant](remove-from-tenants.png)
### Dependency Updates
ABP v10.5 RC includes several dependency and package updates:
- Blazorise packages upgraded to **2.1.3**
- MongoDB.Driver upgraded to **3.9.0**
- CodeMirror updated to **6.0.2** through `@abp/codemirror`
> Check the [Package Version Changes](https://abp.io/docs/10.5/package-version-changes) document for all updates.
### Other Improvements and Enhancements
- **Permission Management + MySQL**: Fixed the `ResourcePermissionGrant` index length problem that could cause MySQL initial migration failures ([#25495](https://github.com/abpframework/abp/pull/25495)).
- **Distributed locking**: Removed a redundant cancellation-token fallback call in `MedallionAbpDistributedLock` ([#25497](https://github.com/abpframework/abp/pull/25497)).
- **Documentation and tooling**: Added a docs syntax check workflow for `docs/en` Markdown files ([#25415](https://github.com/abpframework/abp/pull/25415)).
## Community News
### New ABP Community Articles
As always, exciting articles have been contributed by the ABP community. I will highlight some of them here:
- [Fahri Gedik](https://abp.io/community/members/fahrigedik) has published 2 new articles:
- [New Look for ABP React Native: NativeWind, Modernization & Two Sample Apps](https://abp.io/community/articles/new-abp-modern-react-native-template-rxjiyrpb)
- [The Antidote to Vibe Architecting: ABP Studio AI Agent](https://abp.io/community/articles/the-antidote-to-vibe-architecting-abp-studio-ai-agent-mpdeh3gr)
- [Template In, Product Out: Building Hanova with the ABP AI Agent](https://abp.io/community/articles/template-in-product-out-building-hanova-with-the-abp-ai-hcntpk3j) by [Sumeyye Kurtulus](https://abp.io/community/members/sumeyye.kurtulus)
- [Empowering AI Agents with ABP Framework: A Comprehensive Skill Collection](https://abp.io/community/articles/abp-framework-ai-agent-skills-qccn87tu) by [Burak Demir](https://abp.io/community/members/burakdemir)
- [Google Pomelli: How to Market Your App Without Being a Designer](https://abp.io/community/articles/google-pomelli-how-to-market-your-app-1hu48pda) by [Engincan Veske](https://abp.io/community/members/EngincanV)
- [DevDays 2026 Conf From a Speaker's View](https://abp.io/community/articles/devdays-2026-conference-from-a-speakers-view-39d007hs) by [Alper Ebiçoğlu](https://abp.io/community/members/alper)
Thanks to the ABP Community for all the content they have published. You can also [post your ABP related (text or video) content](https://abp.io/community/posts/create) to the ABP Community.
## Conclusion
This version comes with some new features and a lot of enhancements to the existing features. You can see the [Road Map](https://abp.io/docs/10.5/release-info/road-map) documentation to learn about the release schedule and planned features for the next releases. Please try ABP v10.5 RC and provide feedback to help us release a more stable version.
Thanks for being a part of this community!

BIN
docs/en/Blog-Posts/2026-06-03 v10_5_Preview/cover-image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

BIN
docs/en/Blog-Posts/2026-06-03 v10_5_Preview/link-account-demo.mp4

Binary file not shown.

BIN
docs/en/Blog-Posts/2026-06-03 v10_5_Preview/remove-from-tenants.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
docs/en/Blog-Posts/2026-06-03 v10_5_Preview/studio-switch-to-preview.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

238
docs/en/release-info/migration-guides/abp-10-5.md

@ -0,0 +1,238 @@
```json
//[doc-seo]
{
"Description": "Upgrade your ABP solutions from v10.4 to v10.5 with this migration guide covering important behavior and integration changes."
}
```
# ABP Version 10.5 Migration Guide
This document is a guide for upgrading ABP v10.4 solutions to ABP v10.5. There are no explicitly marked breaking changes in this release scope, but there are some important changes that may require action in specific application scenarios.
> **Package Version Changes:** Before upgrading, review the [Package Version Changes](../../package-version-changes.md) document to see version changes on dependent NuGet and NPM packages and align your project with ABP's internal package versions.
## Open-Source (Framework)
This version contains the following changes on the open-source side:
### Identity Token Providers Use Single-Active Token Semantics
**Who is affected**
- Applications using Identity link-user flows.
- Applications using password-flow challenge tokens, such as two-factor and password-change challenge flows.
- Applications that customize or replace ASP.NET Core Identity token providers.
- Applications that expect multiple previously generated tokens for the same user and purpose to remain valid at the same time.
**What changed**
- `LinkUserTokenProvider` now derives from ABP's single-active token infrastructure.
- ABP replaces ASP.NET Core Identity's default `DataProtectorTokenProvider` registered under `TokenOptions.DefaultProvider` with `AbpDefaultTokenProvider`.
- Tokens issued by these providers are single-active per user and purpose. Generating a new token invalidates the previous token for the same user and purpose.
- The default lifetime for the new providers is 10 minutes and can be configured.
**What to do**
- Re-test login, two-factor, forced password change, periodic password change, and link-user flows after upgrading.
- If your application sends multiple tokens for the same purpose and expects older tokens to remain valid, update that flow to use only the latest token.
- If your application needs a different lifetime, configure the related provider options:
```csharp
Configure<AbpDefaultTokenProviderOptions>(options =>
{
options.TokenLifespan = TimeSpan.FromMinutes(10);
});
Configure<AbpLinkUserTokenProviderOptions>(options =>
{
options.TokenLifespan = TimeSpan.FromMinutes(10);
});
```
> See [#25450](https://github.com/abpframework/abp/pull/25450), [#25525](https://github.com/abpframework/abp/pull/25525), and the [Identity Token Providers](../../modules/identity/token-providers.md) document for details.
### OpenIddict Default Scope Fallback Options
**Who is affected**
- Applications using OpenIddict with `client_credentials`, `password`, or token-exchange grants.
- Applications that want tokens to use the client application's registered scopes when the request omits the `scope` parameter.
**What changed**
- ABP adds opt-in default scope fallback switches to `AbpOpenIddictAspNetCoreOptions`.
- The new behavior is disabled by default, so existing applications keep their current behavior unless they enable these options.
**What to do**
No action is required if you do not enable the new options.
If you want the fallback behavior, configure the options explicitly:
```csharp
Configure<AbpOpenIddictAspNetCoreOptions>(options =>
{
options.UseDefaultScopesForClientCredentials = true;
options.UseDefaultScopesForPassword = true;
options.UseDefaultScopesForTokenExchange = true;
});
```
After enabling the options, re-test token issuance for the affected grant types and confirm the resulting scopes/resources match your authorization expectations.
> See [#25356](https://github.com/abpframework/abp/pull/25356) for details.
### Dynamic Background Worker Capability Markers
**Who is affected**
- Applications or modules that use `IDynamicBackgroundWorkerManager` directly.
- Applications that allow users or administrators to configure dynamic background workers at runtime.
- Applications that assume cron expressions work with every dynamic background worker provider.
**What changed**
- Dynamic background worker managers now expose support through marker interfaces:
- `ISupportsRuntimeRegistration`
- `ISupportsCronScheduling`
- Hangfire and Quartz managers implement both markers.
- The default in-memory manager implements runtime registration support only and rejects cron expressions with a clearer error message.
- TickerQ's dynamic manager does not expose runtime dynamic scheduling support.
**What to do**
- If you build UI or integration logic on top of `IDynamicBackgroundWorkerManager`, check provider capabilities before showing or accepting runtime registration and cron scheduling options.
- Use Hangfire or Quartz if your application needs runtime cron scheduling for dynamic background workers.
- Re-test dynamic worker add/update flows that use `CronExpression`.
> See [#25397](https://github.com/abpframework/abp/pull/25397) for details.
### S3-Compatible Blob Storage Provider Configuration
**Who is affected**
- Applications using `Volo.Abp.BlobStoring.Aws`.
- Applications that want to use S3-compatible providers such as Cloudflare R2, MinIO, Backblaze B2, Wasabi, or DigitalOcean Spaces.
**What changed**
- The AWS blob provider now supports `ServiceURL` for custom S3-compatible endpoints.
- The provider also supports `DisablePayloadSigning` for providers that do not support AWS SDK v4 streaming payload signing.
**What to do**
No action is required for existing AWS S3 configurations.
If you use an S3-compatible provider, configure the provider-specific endpoint and payload-signing behavior:
```csharp
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.ConfigureDefault(container =>
{
container.UseAws(aws =>
{
aws.ServiceURL = "https://<account-id>.r2.cloudflarestorage.com";
aws.DisablePayloadSigning = true;
});
});
});
```
Keep `DisablePayloadSigning` disabled for providers that support the default AWS SDK signing behavior.
> See [#22962](https://github.com/abpframework/abp/pull/22962) for details.
### Permission Management MySQL Index Length Fix
**Who is affected**
- Applications using the Permission Management module with EF Core and MySQL.
- Applications that create new migrations including the `ResourcePermissionGrant` model.
**What changed**
- For MySQL only, ABP shortens `ResourcePermissionGrant.ResourceName` and `ResourcePermissionGrant.ResourceKey` max lengths to avoid exceeding MySQL's `utf8mb4` index key length limit.
- Other database providers keep the previous length.
**What to do**
- If you are creating a new MySQL solution or generating fresh migrations, regenerate/review your migrations after upgrading.
- If you already have a custom migration for `ResourcePermissionGrant`, compare it with the updated model and adjust the affected column lengths for MySQL if needed.
> See [#25495](https://github.com/abpframework/abp/pull/25495) for details.
### Dependency Updates
**Who is affected**
- Applications that pin ABP transitive dependencies directly.
- Applications that use Blazorise, MongoDB.Driver, or CodeMirror directly with fixed versions.
**What changed**
- Blazorise packages were upgraded to **2.1.3**.
- MongoDB.Driver was upgraded to **3.9.0**.
- `@abp/codemirror` was updated to CodeMirror **6.0.2**.
**What to do**
- Review your direct package references and align them with ABP's package versions where needed.
- Rebuild and run relevant UI/integration tests if you directly use upgraded packages.
- If you customize CMS Kit editor resources, re-test editor pages after the CodeMirror update.
## Pro
There are no explicitly marked breaking changes on the PRO side in this release scope. However, check the following if they apply to your application.
### Account Linking and Shared User Account Flows
**Who is affected**
- Applications using Account Pro account-linking flows.
- Applications using shared user accounts across tenants.
**What changed**
- Account linking has been hardened by binding link tokens to source-side consent data.
- Shared user account administration includes fixes for host admin actions and tenant removal scenarios.
**What to do**
- Re-test account linking, linked account switching, tenant user invitation, tenant removal, and host/tenant user administration flows.
- If you customized account-linking pages or flows, verify they still follow the expected consent and token lifecycle.
### LowCode Dynamic Uploads and Admin Console Designer
**Who is affected**
- Applications using the LowCode module.
- Applications using the Admin Console LowCode designer.
- Applications with LowCode dynamic upload scenarios.
**What changed**
- The LowCode designer has been integrated into the Admin Console experience.
- LowCode dynamic uploads now support `IRemoteStreamContent`.
- LowCode React demo/template behavior was aligned with generated template behavior.
**What to do**
- Re-test the LowCode designer in Admin Console.
- Re-test dynamic file upload scenarios generated or managed through LowCode.
- If you customized generated LowCode templates, compare your customizations with the latest template output.
### AI Management Proxy Updates
**Who is affected**
- Applications using the AI Management module with generated client proxies.
**What changed**
- Missing proxy generations for AI Management were added.
**What to do**
- Regenerate/update client proxies after upgrading if your application consumes AI Management APIs from a UI or remote client.
- Re-test AI Management screens and client integrations that depend on generated proxies.

1
docs/en/release-info/migration-guides/index.md

@ -9,6 +9,7 @@
The following documents explain how to migrate your existing ABP applications. We write migration documents only if you need to take an action while upgrading your solution. Otherwise, you can easily upgrade your solution using the [abp update command](../upgrading.md). The following documents explain how to migrate your existing ABP applications. We write migration documents only if you need to take an action while upgrading your solution. Otherwise, you can easily upgrade your solution using the [abp update command](../upgrading.md).
- [10.4 to 10.5](abp-10-5.md)
- [10.3 to 10.4](abp-10-4.md) - [10.3 to 10.4](abp-10-4.md)
- [10.x to 10.3](abp-10-3.md) - [10.x to 10.3](abp-10-3.md)
- [10.x to 10.2](abp-10-2.md) - [10.x to 10.2](abp-10-2.md)

11
docs/en/release-info/release-notes.md

@ -14,6 +14,17 @@ Also see the following notes about ABP releases:
- [ABP Studio release notes](../studio/release-notes.md) - [ABP Studio release notes](../studio/release-notes.md)
- [Change logs for ABP pro packages](https://abp.io/pro-releases) - [Change logs for ABP pro packages](https://abp.io/pro-releases)
## 10.5 (2026-06-02)
See the detailed **[blog post / announcement](https://abp.io/community/articles/announcing-abp-10-5-release-candidate-k6oxdfle)** for the v10.5 release.
- S3-Compatible Blob Storage Support
- OpenIddict: Default Scope Fallback Options
- Dynamic Background Worker Capability Markers
- Account: Single-Active Token Provider Improvements
- CMS Kit: CodeMirror 6 Update
- Shared User Accounts: Remove Users from Tenants
## 10.4 (2026-05-14) ## 10.4 (2026-05-14)
See the detailed **[blog post / announcement](https://abp.io/community/announcements/announcing-abp-10-4-stable-release-e0u81o2z)** for the v10.4 release. See the detailed **[blog post / announcement](https://abp.io/community/announcements/announcing-abp-10-4-stable-release-e0u81o2z)** for the v10.4 release.

12
docs/en/release-info/road-map.md

@ -11,14 +11,12 @@ This document provides a road map, release schedule, and planned features for th
## Next Versions ## Next Versions
### v10.5 ### v10.6
The next planned version will be 10.5, which is scheduled to be released as a stable version in June 2026. We will be mostly working on the following topics: The next planned version will be 10.6, which is scheduled to be released as a stable version in July 2026. We will be mostly working on the following topics:
* Framework * Framework
* Token Verification Improvements (Refresh Token Support) * Token Verification Improvements (Refresh Token Support)
* Dynamic Background Worker Scheduler Capabilities
* Default Scopes Fallback for OpenIddict Grants
* Upgrading 3rd-party Dependencies * Upgrading 3rd-party Dependencies
* Enhancements in the Core Points * Enhancements in the Core Points
@ -26,6 +24,7 @@ The next planned version will be 10.5, which is scheduled to be released as a st
* Improvements on the generated codes for nullability * Improvements on the generated codes for nullability
* Improvements on Master-Detail Page Design (making it more compact) * Improvements on Master-Detail Page Design (making it more compact)
* Low-Code System Integration * Low-Code System Integration
* Support MudBlazor
* ABP Studio * ABP Studio
* Allow to Directly Create New Solutions with ABP's RC (Release Candidate) Versions * Allow to Directly Create New Solutions with ABP's RC (Release Candidate) Versions
@ -33,16 +32,13 @@ The next planned version will be 10.5, which is scheduled to be released as a st
* Allow to Download ABP Samples from ABP Studio * Allow to Download ABP Samples from ABP Studio
* Support Multiple Concurrent Kubernetes Deployment/Integration Scenarios * Support Multiple Concurrent Kubernetes Deployment/Integration Scenarios
* Improve the Module Installation Experience / Installation Guides * Improve the Module Installation Experience / Installation Guides
* AI Coding Agent and MCP Integration
* Modern Solution Wizard with Low-Code Support * Modern Solution Wizard with Low-Code Support
* ABP Thin UI: React Templates
* Theme Builder: Live Preview, Project Integration and Import/Export * Theme Builder: Live Preview, Project Integration and Import/Export
* Application Modules * Application Modules
* AI Management: Chat History & Multi-Tenancy Features * AI Management: Chat History & Multi-Tenancy Features
* AI Management: Cloudflare /crawl Endpoint as a RAG Data Source
* New Module: Chat with your data * New Module: Chat with your data
* Admin Console: Low-Code Designer
* CMS Kit: CodeMirror v6 Compatibility Update
* Payment Module: Email Notification Improvements * Payment Module: Email Notification Improvements
* UI/UX Improvements on Existing Application Modules * UI/UX Improvements on Existing Application Modules

Loading…
Cancel
Save