From fbb69f46eeefba100b32e549491b54bede7c9ca4 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Mon, 27 Jul 2026 13:35:26 +0300 Subject: [PATCH] Prepare ABP 10.6 release docs Co-authored-by: Cursor --- .../2026-07-27 v10_6_Release_Stable/POST.md | 81 ++++++++++++++++++ .../upgrade-abp-packages.png | Bin 0 -> 16766 bytes .../release-info/migration-guides/abp-10-6.md | 17 ++-- .../en/release-info/migration-guides/index.md | 1 + 4 files changed, 93 insertions(+), 6 deletions(-) create mode 100644 docs/en/Blog-Posts/2026-07-27 v10_6_Release_Stable/POST.md create mode 100644 docs/en/Blog-Posts/2026-07-27 v10_6_Release_Stable/upgrade-abp-packages.png diff --git a/docs/en/Blog-Posts/2026-07-27 v10_6_Release_Stable/POST.md b/docs/en/Blog-Posts/2026-07-27 v10_6_Release_Stable/POST.md new file mode 100644 index 0000000000..3bc9ef2023 --- /dev/null +++ b/docs/en/Blog-Posts/2026-07-27 v10_6_Release_Stable/POST.md @@ -0,0 +1,81 @@ +# ABP.IO Platform 10.6 Final Has Been Released! + +We are glad to announce that [ABP](https://abp.io/) 10.6 stable version has been released. + +## What's New With Version 10.6? + +All the new features were explained in detail in the [10.6 RC Announcement Post](https://abp.io/community/announcements/abp-platform-10.6-rc-has-been-released-reoq6kzw), so there is no need to review them all again. You can check it out for more details. + +Here are some of the highlights of this version: + +- Background jobs now support dedicated workers, parallel execution, and successful job retention. +- API definition and generated proxies have better support for response content types, remote streams, and multipart uploads. +- Angular UI packages and templates have been upgraded to Angular 22. +- Antiforgery and OpenIddict flows include important security and reliability improvements. +- ABP Commercial adds OpenIddict access-token generation from the UI and React CRUD page generation support in ABP Suite. +- AI Management indexing is more resilient for large or memory-constrained workloads. +- The final release also includes dependency updates and stability fixes collected during the RC period. + +## Getting Started with 10.6 + +### How to Upgrade an Existing Solution + +You can upgrade your existing solutions with either ABP Studio or ABP CLI. In the following sections, both approaches are explained: + +### Upgrading via ABP Studio + +If you are already using the ABP Studio, you can upgrade it to the latest version. ABP Studio periodically checks for updates in the background, and when a new version of ABP Studio is available, you will be notified through a modal. Then, you can update it by confirming the opened modal. See [the documentation](https://abp.io/docs/latest/studio/installation#upgrading) for more info. + +After upgrading the ABP Studio, then you can open your solution in the application, and simply click the **Upgrade ABP Packages** action button to instantly upgrade your solution: + +![](upgrade-abp-packages.png) + +### Upgrading via ABP CLI + +Alternatively, you can upgrade your existing solution via ABP CLI. First, you need to install the ABP CLI or upgrade it to the latest version. + +If you haven't installed it yet, you can run the following command: + +```bash +dotnet tool install -g Volo.Abp.Studio.Cli +``` + +Or to update the existing CLI, you can run the following command: + +```bash +dotnet tool update -g Volo.Abp.Studio.Cli +``` + +After installing/updating the ABP CLI, you can use the [`update` command](https://abp.io/docs/latest/CLI#update) to update all the ABP related NuGet and NPM packages in your solution as follows: + +```bash +abp update +``` + +You can run this command in the root folder of your solution to update all ABP related packages. + +## Migration Guides + +This version includes explicitly marked migration-impacting changes for specific customization scenarios, especially custom background job stores/workers and custom AI Management document chunk repositories. The new background job runtime features are opt-in and existing applications keep the current behavior unless they enable them explicitly. + +Please read the migration guide carefully, if you are upgrading from v10.5 or earlier versions: [ABP Version 10.6 Migration Guide](https://abp.io/docs/10.6/release-info/migration-guides/abp-10-6) + +If you use the Angular UI, also check the dedicated [Angular 22 and ABP 10.6 Upgrade Guide](https://abp.io/docs/10.6/release-info/migration-guides/abp-10-6-angular-22). + +## Community News + +### New ABP Community Articles + +As always, exciting articles have been contributed by the ABP community. I will highlight some of them here: + +- [Angular 22 State Management: Signals, SignalStore, or NgRx?](https://abp.io/community/articles/angular-22-state-management-signals-signalstore-or-ngrx-yq8zg0nw) by [Sumeyye Kurtulus](https://abp.io/community/members/sumeyye.kurtulus) +- [Working with Dapr Workflows in the ABP Framework](https://abp.io/community/articles/working-with-dapr-workflows-in-the-abp-framework-6476or18) by [Engincan Veske](https://abp.io/community/members/EngincanV) +- [Customizing the ABP Framework: A Developer's Guide to LeptonX Theme Overrides in Angular and the Transition to React UI](https://abp.io/community/articles/customizing-the-abp-framework-a-developers-guide-to-nklweri3) by [Sumeyye Kurtulus](https://abp.io/community/members/sumeyye.kurtulus) +- [Deep Dive on ABP AI Agent: The Complete Series](https://abp.io/community/articles/deep-dive-on-abp-ai-agent-the-complete-series-f7jute7n) by [Berkan Sasmaz](https://abp.io/community/members/berkansasmaz) +- [ABP 10.5.0 Expands Blazor UI Options with MudBlazor Support](https://abp.io/community/articles/abp-10.5.0-expands-blazor-ui-options-with-mudblazor-support-03rzmlpm) by [Liming Ma](https://abp.io/community/members/maliming) + +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. + +## About the Next Version + +The next feature version will be 10.7. You can follow the [release planning here](https://github.com/abpframework/abp/milestones). Please [submit an issue](https://github.com/abpframework/abp/issues/new) if you have any problems with this version. diff --git a/docs/en/Blog-Posts/2026-07-27 v10_6_Release_Stable/upgrade-abp-packages.png b/docs/en/Blog-Posts/2026-07-27 v10_6_Release_Stable/upgrade-abp-packages.png new file mode 100644 index 0000000000000000000000000000000000000000..4ec1d1958985daeea4f67d22ae1bdb180969b78d GIT binary patch literal 16766 zcmb7s2V4`)*0+UF78NWDNDUUmfD}QB)I_Qx1W1T

S>_NS8nmK@dfy2_)1c2#82; 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 **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. @@ -20,7 +20,7 @@ This version contains the following changes on the open-source side: **Who is affected** - Applications using the default background job worker and wanting dedicated workers, parallel execution, or successful job retention. -- Applications with a custom `IBackgroundJobStore` implementation. +- Applications with a custom `IBackgroundJobStore` or `IBackgroundJobWorker` implementation. - Applications using the Background Jobs module with EF Core and enabling successful job retention. **What changed** @@ -37,7 +37,7 @@ This version contains the following changes on the open-source side: No action is required if you do not enable the new options and do not maintain a custom background job store. -If you maintain a custom `IBackgroundJobStore`, implement the new interface members so your solution compiles. +If you maintain a custom `IBackgroundJobStore` or `IBackgroundJobWorker`, implement the new interface members so your solution compiles. If you enable `StoreSuccessfulJobs`, add/review the EF Core migration for the `CompletionTime` column and configure retention options explicitly: @@ -187,12 +187,13 @@ No action is required. Re-test authorization, account, and audit-log scenarios i **Who is affected** - Applications that pin ABP transitive dependencies directly. -- Applications using `Microsoft.Data.SqlClient`, Swashbuckle, or Angular with fixed versions. +- Applications using `Microsoft.Data.SqlClient`, MongoDB.Driver, Swashbuckle, or Angular with fixed versions. **What changed** - `Microsoft.*` and `System.*` packages were upgraded to **10.0.9**. - `Microsoft.Data.SqlClient` was upgraded to **7.0.2**. +- MongoDB.Driver was upgraded to **3.10.0**. - `Swashbuckle.AspNetCore` was upgraded to **10.2.3**. - ABP Angular packages were upgraded to **Angular 22.0.x**. @@ -200,11 +201,12 @@ No action is required. Re-test authorization, account, and audit-log scenarios i - Review your direct package references and align them with ABP's package versions where needed. - Rebuild and run database/integration tests if you directly use `Microsoft.Data.SqlClient`. +- Re-test MongoDB integrations if your solution directly references MongoDB.Driver packages. - Re-test Swagger/OpenAPI integration if you customized Swashbuckle configuration. ## 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. +This version contains the following changes on the PRO side: ### OpenIddict Generate Access Token UI @@ -227,11 +229,14 @@ There are no explicitly marked breaking changes on the PRO side in this release **Who is affected** - Applications using the AI Management module with document indexing enabled. +- Applications that replace or customize `IDocumentChunkRepository`. **What changed** -- Indexing is more resilient under memory pressure. +- Indexing is more resilient under memory pressure by coordinating work in bounded batches. +- `IDocumentChunkRepository` includes a new paged datasource query overload used by bounded batch indexing. **What to do** - Re-test document indexing on large datasets or memory-constrained environments after upgrading. +- If your application implements `IDocumentChunkRepository` directly, add the new overload and return chunks for the datasource ordered by `ChunkIndex`, starting at `startChunkIndex`, limited to `maxResultCount`. diff --git a/docs/en/release-info/migration-guides/index.md b/docs/en/release-info/migration-guides/index.md index ec169d8242..3f54644985 100644 --- a/docs/en/release-info/migration-guides/index.md +++ b/docs/en/release-info/migration-guides/index.md @@ -10,6 +10,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). - [10.5 to 10.6](abp-10-6.md) +- [Angular 22 and ABP 10.6 Upgrade Guide](abp-10-6-angular-22.md) - [10.4 to 10.5](abp-10-5.md) - [10.3 to 10.4](abp-10-4.md) - [10.x to 10.3](abp-10-3.md)