diff --git a/_includes/sidelist-programming/programming-cpp.html b/_includes/sidelist-programming/programming-cpp.html
index 553d43c..2e321d5 100644
--- a/_includes/sidelist-programming/programming-cpp.html
+++ b/_includes/sidelist-programming/programming-cpp.html
@@ -1,8 +1,6 @@
DEVELOPMENT
-User Guide
+User Guide
- - Getting Started
-
- Explore Features
-- Upgrade Instructions
+- Migration Guides
+
+
- License Initialization
{%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath lang=include.lang targetRelativePath="sidelist-faq.html" -%}
- OTHER EDITIONS
diff --git a/_includes/sidelist-programming/programming-dotnet.html b/_includes/sidelist-programming/programming-dotnet.html
index 7962859..be7c48b 100644
--- a/_includes/sidelist-programming/programming-dotnet.html
+++ b/_includes/sidelist-programming/programming-dotnet.html
@@ -1,8 +1,6 @@
- DEVELOPMENT
-- User Guide
+
- User Guide
- - Getting Started
-
- Explore Features
-- Upgrade Instructions
+- Migration Guides
+
+
- License Initialization
{%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath lang=include.lang targetRelativePath="sidelist-faq.html" -%}
diff --git a/_includes/sidelist-programming/programming-java.html b/_includes/sidelist-programming/programming-java.html
index e2fbddd..af8f0b0 100644
--- a/_includes/sidelist-programming/programming-java.html
+++ b/_includes/sidelist-programming/programming-java.html
@@ -1,8 +1,6 @@
- DEVELOPMENT
-- User Guide
+
- User Guide
- - Getting Started
-
- Explore Features
-- Upgrade Instructions
+- Migration Guides
+
+
- License Initialization
{%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath lang=include.lang targetRelativePath="sidelist-faq.html" -%}
diff --git a/_includes/sidelist-programming/programming-python.html b/_includes/sidelist-programming/programming-python.html
index 609a87d..d8f955a 100644
--- a/_includes/sidelist-programming/programming-python.html
+++ b/_includes/sidelist-programming/programming-python.html
@@ -1,8 +1,6 @@
- DEVELOPMENT
-- User Guide
+
- User Guide
- - Getting Started
-
- Explore Features
-- Upgrade Instructions
+- Migration Guides
+
+
- License Initialization
{%- include liquid_searchVersionTreeFile.html ver=include.ver curPath=include.curPath lang=include.lang targetRelativePath="sidelist-faq.html" -%}
diff --git a/programming/cplusplus/migrate-10-to-11.md b/programming/cplusplus/migrate-10-to-11.md
new file mode 100644
index 0000000..5d667b9
--- /dev/null
+++ b/programming/cplusplus/migrate-10-to-11.md
@@ -0,0 +1,36 @@
+---
+title: Migrate from v10.x to v11.x - Dynamsoft Barcode Reader SDK C++ Edition
+keywords: c++, cplusplus, upgrade, migrate, v10, v11
+description: This page introduces how to migrate Dynamsoft Barcode Reader SDK C++ Edition from version 10.x to 11.x
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+---
+
+# Migrate from 10.x to 11.x
+
+Version 11.x is fully API-compatible with version 10.x. Most applications can upgrade by simply updating the SDK files without code changes. Follow these steps to complete the migration.
+
+## Update the License Key
+
+You may need to update your license key before upgrading to version 11.x.
+
+- **30-Day Free Trial License**: Visit the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=docs){:target="_blank"} page to obtain a free license for evaluation.
+- **Annual Online Full License**: Your license will continue to work with the new SDK version. Go to Customer Portal to get your license key.
+- **Perpetual License**: Please contact our [sales team](https://www.dynamsoft.com/contact/){:target="_blank"} to update your license.
+
+## Update SDK Files
+
+Download the latest SDK package and update the header and library files. Note the following changes:
+
+- **Directory Structure**: The `Distributables` directory has been renamed to `Dist`.
+- **vcomp140.dll Removed**: This DLL is no longer included. If your application requires OpenMP support, ensure the [Visual C++ Redistributable](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist){:target="_blank"} is installed on the target system.
+
+## Upgrade Template Files
+
+The template file format has changed. Templates created for version 10.x may not be fully compatible with version 11.x. Use the Template Upgrade Tool to convert your existing templates to the new format.
+
+## Rebuild the Project
+
+After updating the SDK files, clean and rebuild your project to ensure all dependencies are properly linked.
+
+
diff --git a/programming/cplusplus/migrate-9-to-11.md b/programming/cplusplus/migrate-9-to-11.md
new file mode 100644
index 0000000..785f8d3
--- /dev/null
+++ b/programming/cplusplus/migrate-9-to-11.md
@@ -0,0 +1,250 @@
+---
+title: Migrate from v9.x to v11.x - Dynamsoft Barcode Reader SDK C++ Edition
+keywords: c++, cplusplus, upgrade, migrate, v9, v11
+description: This page introduces how to migrate Dynamsoft Barcode Reader SDK C++ Edition from version 9.x to 11.x
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+---
+
+# Migrate from 9.x to 11.x
+
+Dynamsoft Barcode Reader SDK has been refactored to integrate with the [`DynamsoftCaptureVision (DCV)`]({{ site.dcvb_architecture }}) architecture since version 10.0. This guide helps you upgrade from version 9.x by highlighting the key API changes and providing migration paths.
+
+The actual migration effort depends on which APIs you currently use. In many cases, only the interfaces you actively use need to be updated — review the sections below to identify the changes that affect your integration.
+
+> [!NOTE]
+> If you are new to the DCV architecture and prefer to start fresh, refer to the [User Guide]({{site.dbr_cpp}}user-guide.html) for a quick-start tutorial.
+
+## Update the License Key
+
+You may need to update your license key before upgrading to version 11.x.
+
+- **30-Day Free Trial License**: Visit the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=docs){:target="_blank"} page to obtain a free license for evaluation.
+- **Annual Online Full License**: Your license will continue to work with the new SDK version. Go to Customer Portal to get your license key.
+- **Perpetual License**: Please contact our [sales team](https://www.dynamsoft.com/contact/){:target="_blank"} to update your license.
+
+## Migrate Project Configuration
+
+Since the SDK architecture has changed, you need to update your project configuration including headers, libraries, and runtime files.
+
+### Update Headers and Libraries
+
+```cpp
+#include "[INSTALLATION FOLDER]/Include/DynamsoftCaptureVisionRouter.h"
+
+using namespace std;
+using namespace dynamsoft::license;
+using namespace dynamsoft::cvr;
+using namespace dynamsoft::dbr;
+using namespace dynamsoft::utility;
+
+#if defined(_WIN64) || defined(_WIN32)
+ #ifdef _WIN64
+ #pragma comment(lib, "[INSTALLATION FOLDER]/Dist/Lib/Windows/x64/DynamsoftCorex64.lib")
+ #pragma comment(lib, "[INSTALLATION FOLDER]/Dist/Lib/Windows/x64/DynamsoftLicensex64.lib")
+ #pragma comment(lib, "[INSTALLATION FOLDER]/Dist/Lib/Windows/x64/DynamsoftCaptureVisionRouterx64.lib")
+ #pragma comment(lib, "[INSTALLATION FOLDER]/Dist/Lib/Windows/x64/DynamsoftUtilityx64.lib")
+ #else
+ #pragma comment(lib, "[INSTALLATION FOLDER]/Dist/Lib/Windows/x86/DynamsoftCorex86.lib")
+ #pragma comment(lib, "[INSTALLATION FOLDER]/Dist/Lib/Windows/x86/DynamsoftLicensex86.lib")
+ #pragma comment(lib, "[INSTALLATION FOLDER]/Dist/Lib/Windows/x86/DynamsoftCaptureVisionRouterx86.lib")
+ #pragma comment(lib, "[INSTALLATION FOLDER]/Dist/Lib/Windows/x86/DynamsoftUtilityx86.lib")
+ #endif
+#endif
+```
+
+### Deploy Runtime Files
+
+- Copy the folders `Templates` and `Models` under `[INSTALLATION FOLDER]/Dist/` to the same folder as the executable program.
+- Copy the libraries to the same folder as the executable program.
+ - For Windows: Copy **ALL** `*.dll` files under `[INSTALLATION FOLDER]/Dist/Lib/Windows/[platform]`. Replace `[platform]` with your project's platform setting.
+ - For Linux: Copy **ALL** `*.so` files under `[INSTALLATION FOLDER]/Dist/Lib/Linux/[platform]`. Replace `[platform]` with your project's platform setting.
+
+## Migrate License Activation Code
+
+Starting from 10.0, we have unified the API for setting licenses across different Dynamsoft products.
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `CBarcodeReader.InitLicense` | [CLicenseManager.InitLicense]({{ site.dcvb_cpp_api }}license/license-manager.html#initlicense) |
+
+## Migrate Decoding APIs
+
+### Single Image Decoding
+
+The APIs for decoding single image have been adjusted as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `CBarcodeReader.DecodeFile` | [CCaptureVisionRouter.Capture]({{ site.dcvb_cpp_api }}capture-vision-router/single-file-processing.html#capture) or [CCaptureVisionRouter.CaptureMultiPages]({{ site.dcvb_cpp_api }}capture-vision-router/single-file-processing.html#capturemultipages) |
+| `CBarcodeReader.DecodeFileInMemory` | [CCaptureVisionRouter.Capture]({{ site.dcvb_cpp_api }}capture-vision-router/single-file-processing.html#capture) or [CCaptureVisionRouter.CaptureMultiPages]({{ site.dcvb_cpp_api }}capture-vision-router/single-file-processing.html#capturemultipages) |
+| `CBarcodeReader.DecodeBuffer` | [CCaptureVisionRouter.Capture]({{ site.dcvb_cpp_api }}capture-vision-router/single-file-processing.html#capture) |
+| `struct TextResult` | [class CBarcodeResultItem]({{ site.dbr_cpp_api }}barcode-result-item.html) |
+| `struct TextResultArray` | [class CCapturedResult]({{ site.dcvb_cpp_api }}capture-vision-router/auxiliary-classes/captured-result.html) |
+| `CBarcodeReader.DecodeBase64String` | [CImageIO.ReadFromBase64String]({{ site.dcvb_cpp_api }}utility/image-io.html#readfrombase64string) + [CCaptureVisionRouter.Capture]({{ site.dcvb_cpp_api }}capture-vision-router/single-file-processing.html#capture) |
+| `CBarcodeReader.DecodeDIB` | **Not available**. |
+
+### Video Streaming Decoding
+
+`CImageSourceAdapter` is added to replace the `FrameDecodingParameters` and the previous video methods. You should implement `CImageSourceAdapter` to transfer image data from camera or video file to buffer. The following code snippet demonstrates basic usage of decoding video frames:
+
+```cpp
+class MyVideoSource : public CProactiveImageSourceAdapter
+{
+ // You should implement the `HasNextImageToFetch` method to indicate if there is a next frame
+ bool HasNextImageToFetch() const override
+ {
+ return true;
+ }
+
+ // You should implement the `FetchImage` method to get the next frame
+ CImageData* FetchImage() override
+ {
+ // Add code to get the video frame from camera or video file
+ }
+};
+
+class MyBarcodeResultReceiver: public CCapturedResultReceiver
+{
+public:
+ virtual void OnDecodedBarcodesReceived(CDecodedBarcodesResult* result) {
+ // Add code to process the result
+ }
+};
+
+int main()
+{
+ CCaptureVisionRouter *cvRouter = new CCaptureVisionRouter;
+
+ // Create your video source and bind it to the router
+ MyVideoSource *source = new MyVideoSource;
+ cvRouter->SetInput(source);
+
+ // Create a CCapturedResultReceiver instance
+ MyBarcodeResultReceiver *barcodesReceiver = new MyBarcodeResultReceiver;
+ cvRouter->AddResultReceiver(barcodesReceiver);
+
+ // Start capturing
+ char errorMsg[512] = {0};
+ int errorCode = cvRouter->StartCapturing(CPresetTemplate::PT_READ_BARCODES, true, errorMsg, 512);
+
+ delete barcodesReceiver;
+ delete source;
+ delete cvRouter;
+}
+```
+
+## Upgrade Template Files
+
+The template file format has changed in the new version. Templates created for version 9.x are not compatible with version 11.x. Use the Template Upgrade Tool to automatically convert your existing templates to the new format.
+
+
+## Migrate Template APIs
+
+The template-based APIs have been updated as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `CBarcodeReader.InitRuntimeSettingsWithFile` | [CCaptureVisionRouter.InitSettingsFromFile]({{ site.dcvb_cpp_api }}capture-vision-router/settings.html#initsettingsfromfile) |
+| `CBarcodeReader.InitRuntimeSettingsWithString` | [CCaptureVisionRouter.InitSettings]({{ site.dcvb_cpp_api }}capture-vision-router/settings.html#initsettings) |
+| `CBarcodeReader.OutputSettingsToFile` | [CCaptureVisionRouter.OutputSettingsToFile]({{ site.dcvb_cpp_api }}capture-vision-router/settings.html#outputsettingstofile) |
+| `CBarcodeReader.OutputSettingsToString` | [CCaptureVisionRouter.OutputSettings]({{ site.dcvb_cpp_api }}capture-vision-router/settings.html#outputsettings) |
+| `CBarcodeReader.ResetRuntimeSettings` | [CCaptureVisionRouter.ResetSettings]({{ site.dcvb_cpp_api }}capture-vision-router/settings.html#resetsettings) |
+| `CBarcodeReader.AppendTplFileToRuntimeSettings` | **Not available**. |
+| `CBarcodeReader.AppendTplStringToRuntimeSettings` | **Not available**. |
+
+## Migrate Runtime Settings
+
+The struct `PublicRuntimeSettings` has been refactored. It retains commonly used properties while removing the previously complex property settings, which are now exclusively supported through templates.
+
+The APIs for accessing and updating `PublicRuntimeSettings` have been adjusted as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `CBarcodeReader.GetRuntimeSettings` | [CCaptureVisionRouter.GetSimplifiedSettings]({{ site.dcvb_cpp_api }}capture-vision-router/settings.html#getsimplifiedsettings) |
+| `CBarcodeReader.UpdateRuntimeSettings` | [CCaptureVisionRouter.UpdateSettings]({{ site.dcvb_cpp_api }}capture-vision-router/settings.html#updatesettings) |
+
+### Properties with Direct API Replacement
+
+The following properties are replaced by similar properties under `SimplifiedCaptureVisionSettings` or `SimplifiedBarcodeReaderSettings`. They can also be set via a template file.
+
+#### SimplifiedCaptureVisionSettings
+
+| PublicRuntimeSettings Property | SimplifiedCaptureVisionSettings Parameter | Template File Parameter |
+| ------------------------------- | ----------------------------------------- | ----------------------- |
+| `region` | [`roi`]({{ site.dcvb_cpp_api }}capture-vision-router/structs/simplified-capture-vision-settings.html#roi) & [`roiMeasuredInPercentage`]({{ site.dcvb_cpp_api }}capture-vision-router/structs/simplified-capture-vision-settings.html#roimeasuredinpercentage) | [`TargetROIDef.Location.Offset`]({{ site.dcvb_parameters_reference }}target-roi-def/location.html) |
+| `timeout` | [`timeout`]({{ site.dcvb_cpp_api }}capture-vision-router/structs/simplified-capture-vision-settings.html#timeout) | [`CaptureVisionTemplates.Timeout`]({{ site.dcvb_parameters_reference }}capture-vision-template/timeout.html) |
+
+#### SimplifiedBarcodeReaderSettings
+
+| PublicRuntimeSettings Property | SimplifiedBarcodeReaderSettings Property | Template File Parameter |
+| ------------------------------- | ----------------------------------------- | ----------------------- |
+| `minBarcodeTextLength` | [`minBarcodeTextLength`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#minbarcodetextlength) | [`BarcodeFormatSpecification.BarcodeTextLengthRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-text-length-range-array.html) |
+| `minResultConfidence` | [`minResultConfidence`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#minresultconfidence) | [`BarcodeFormatSpecification.MinResultConfidence`]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-result-confidence.html) |
+| `localizationModes` | [`localizationModes`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#localizationmodes) | [`BarcodeReaderTaskSetting.LocalizationModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html) |
+| `expectedBarcodesCount` | [`expectedBarcodesCount`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#expectedbarcodescount) | [`BarcodeReaderTaskSetting.ExpectedBarcodesCount`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/expected-barcodes-count.html) |
+| `barcodeFormatIds` | [`barcodeFormatIds`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#barcodeformatids) | [`BarcodeReaderTaskSetting.BarcodeFormatIds`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) |
+| `barcodeFormatIds_2` | [`barcodeFormatIds`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#barcodeformatids) | [`BarcodeReaderTaskSetting.BarcodeFormatIds`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) |
+| `deblurModes` | [`deblurModes`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#deblurmodes) | [`BarcodeReaderTaskSetting.DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) |
+| `deblurLevel` | [`deblurModes`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#deblurmodes) | [`BarcodeReaderTaskSetting.DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) |
+| `maxAlgorithmThreadCount` | [`maxThreadsInOneTask`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#maxthreadsinonetask) | [`BarcodeReaderTaskSetting.MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) |
+
+> Remarks:
+>
+> * The 2 groups of barcode formats are merged.
+> * `DeblurLevel` is deprecated. You can use `DeblurModes` instead.
+
+| FurtherModes Property | SimplifiedBarcodeReaderSettings Property | Template File Parameter |
+| ---------------------- | ----------------------------------------- | ----------------------- |
+| `grayscaleTransformationModes` | [`grayscaleTransformationModes`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#grayscaletransformationmodes) | [`ImageParameter.GrayscaleTransformationModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-transformation-modes.html) |
+| `imagePreprocessingModes` | [`grayscaleEnhancementModes`]({{ site.dbr_cpp_api }}simplified-barcode-reader-settings.html#grayscaleenhancementmodes) | [`ImageParameter.GrayscaleEnhancementModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) |
+
+> Remarks: The mode `IPM_MORPHOLOGY` of `imagePreprocessingModes` is migrated to `BinarizationModes`. The mode arguments `MorphOperation`, `MorphOperationKernelSizeX`, `MorphOperationKernelSizeY`, `MorphShape` are now available for all modes of `BinarizationModes`.
+
+### Properties Requiring Template File
+
+The following properties can only be set via a template file. Please call `CBarcodeReader.OutputSettingsToFile` first with the old version to export the settings and then use the template upgrade tool to upgrade your template.
+
+| PublicRuntimeSettings Property | Template File Parameter |
+| ------------------------------- | ----------------------- |
+| `scaleDownThreshold` | [`ImageParameter.ImageScaleSettings`]({{ site.dcvb_parameters_reference }}image-parameter/image-scale-settings.html) |
+| `binarizationModes` | [`ImageParameter.BinarizationModes`]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html) |
+| `textResultOrderModes` | [`BarcodeReaderTaskSetting.TextResultOrderModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/text-result-order-modes.html) |
+| `returnBarcodeZoneClarity` | [`BarcodeReaderTaskSetting.ReturnBarcodeZoneClarity`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/return-barcode-zone-clarity.html) |
+| `scaleUpModes` | [`BarcodeReaderTaskSetting.BarcodeScaleModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-scale-modes.html) |
+| `barcodeZoneMinDistanceToImageBorders` | [`BarcodeFormatSpecification.BarcodeZoneMinDistanceToImageBorders`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-min-distance-to-image-borders.html) |
+
+| FurtherModes Property | Template File Parameter |
+| ---------------------- | ----------------------- |
+| `colourConversionModes` | [`ImageParameter.ColourConversionModes`]({{ site.dcvb_parameters_reference }}image-parameter/colour-conversion-modes.html) |
+| `regionPredetectionModes` | [`BarcodeReaderTaskSetting.RegionPredetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html) |
+| `textureDetectionModes` | [`ImageParameter.TextureDetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/texture-detection-modes.html) |
+| `textFilterModes` | [`ImageParameter.TextDetectionMode`]({{ site.dcvb_parameters_reference }}image-parameter/text-detection-mode.html) & [`ImageParameter.IfEraseTextZone`]({{ site.dcvb_parameters_reference }}image-parameter/if-erase-text-zone.html) |
+| `dpmCodeReadingModes` | [`BarcodeReaderTaskSetting.DPMCodeReadingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html) |
+| `deformationResistingModes` | [`BarcodeReaderTaskSetting.DeformationResistingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html) |
+| `barcodeComplementModes` | [`BarcodeReaderTaskSetting.BarcodeComplementModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html) |
+
+### Properties Migrated to Other APIs
+
+The PDF properties of PublicRuntimeSettings are moved to set via the `setPDFReadingParameter` method of `CDirectoryFetcher` and `CFileFetcher` with a [`CPDFReadingParameter`]({{ site.dcvb_cpp_api }}core/basic-structures/pdf-reading-parameter.html) parameter.
+
+| PublicRuntimeSettings Property |
+| --------------------------------------- |
+| `pdfReadingMode` |
+| `pdfRasterDPI` |
+
+### Removed Properties (No Replacement)
+
+The following properties are removed.
+
+| PublicRuntimeSettings Property|
+| --------------------- |
+| `barcodeColourModes` |
+| `intermediateResultTypes` |
+| `intermediateResultSavingMode` |
+| `resultCoordinateType` |
+| `terminatePhase` |
+
+| FurtherModes Property|
+| --------------------- |
+| `colourClusteringModes` |
diff --git a/programming/dotnet/migrate-10-to-11.md b/programming/dotnet/migrate-10-to-11.md
new file mode 100644
index 0000000..99da8b6
--- /dev/null
+++ b/programming/dotnet/migrate-10-to-11.md
@@ -0,0 +1,37 @@
+---
+title: Migrate from v10.x to v11.x - Dynamsoft Barcode Reader SDK .NET Edition
+keywords: .NET, upgrade, migrate, v10, v11
+description: This page introduces how to migrate Dynamsoft Barcode Reader SDK .NET Edition from version 10.x to 11.x
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+---
+
+# Migrate from 10.x to 11.x
+
+Version 11.x is fully API-compatible with version 10.x. Most applications can upgrade by simply updating the NuGet package without code changes. Follow these steps to complete the migration.
+
+## Update the License Key
+
+You may need to update your license key before upgrading to version 11.x.
+
+- **30-Day Free Trial License**: Visit the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=docs){:target="_blank"} page to obtain a free license for evaluation.
+- **Annual Online Full License**: Your license will continue to work with the new SDK version. Go to Customer Portal to get your license key.
+- **Perpetual License**: Please contact our [sales team](https://www.dynamsoft.com/contact/){:target="_blank"} to update your license.
+
+## Update the NuGet Package
+
+Update the package using Visual Studio:
+
+1. Open your project in Visual Studio.
+2. In the **Solution Explorer**, right-click your project and select "**Manage NuGet Packages...**".
+3. Go to the "**Updates**" tab.
+4. Find `Dynamsoft.DotNet.BarcodeReader.Bundle` in the list of upgradable packages.
+5. Click "**Update**" to install the latest version.
+
+## Upgrade Template Files
+
+The template file format has changed. Templates created for version 10.x may not be fully compatible with version 11.x. Use the Template Upgrade Tool to convert your existing templates to the new format.
+
+## Rebuild the Project
+
+After updating the NuGet package, clean and rebuild your project to ensure all dependencies are properly linked.
diff --git a/programming/dotnet/migrate-9-to-11.md b/programming/dotnet/migrate-9-to-11.md
new file mode 100644
index 0000000..0ce4fb6
--- /dev/null
+++ b/programming/dotnet/migrate-9-to-11.md
@@ -0,0 +1,174 @@
+---
+title: Migrate from v9.x to v11.x - Dynamsoft Barcode Reader SDK .NET Edition
+keywords: .NET, upgrade, migrate, v9, v11
+description: This page introduces how to migrate Dynamsoft Barcode Reader SDK .NET Edition from version 9.x to 11.x
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+---
+
+# Migrate from 9.x to 11.x
+
+Dynamsoft Barcode Reader SDK has been refactored to integrate with the [`DynamsoftCaptureVision (DCV)`]({{ site.dcvb_architecture }}) architecture since version 10.0. This guide helps you upgrade from version 9.x by highlighting the key API changes and providing migration paths.
+
+The actual migration effort depends on which APIs you currently use. In many cases, only the interfaces you actively use need to be updated — review the sections below to identify the changes that affect your integration.
+
+> [!NOTE]
+> If you are new to the DCV architecture and prefer to start fresh, refer to the [User Guide]({{ site.dbr_dotnet}}user-guide.html) for a quick-start tutorial.
+
+## Update the License Key
+
+You may need to update your license key before upgrading to version 11.x.
+
+- **30-Day Free Trial License**: Visit the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=docs){:target="_blank"} page to obtain a free license for evaluation.
+- **Annual Online Full License**: Your license will continue to work with the new SDK version. Go to Customer Portal to get your license key.
+- **Perpetual License**: Please contact our [sales team](https://www.dynamsoft.com/contact/){:target="_blank"} to update your license.
+
+## Migrate to New Package
+
+As of version 10.0, the NuGet package `Dynamsoft.DotNet.Barcode` has been renamed to `Dynamsoft.DotNet.BarcodeReader.Bundle` to reflect changes in both architecture and API design. Run the following command to install the new package:
+
+```
+NuGet\Install-Package Dynamsoft.DotNet.BarcodeReader.Bundle
+```
+
+## Migrate License Activation Code
+
+Starting from 10.0, we have unified the API for setting licenses across different Dynamsoft products.
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.InitLicense` | [LicenseManager.InitLicense]({{ site.dcvb_dotnet_api }}license/license-manager.html#initlicense) |
+
+## Migrate Decoding APIs
+
+### Single Image Decoding
+
+The APIs for decoding single image have been adjusted as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.DecodeFile` | [CaptureVisionRouter.Capture]({{ site.dcvb_dotnet_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.DecodeFileInMemory` | [CaptureVisionRouter.Capture]({{ site.dcvb_dotnet_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.DecodeBuffer` | [CaptureVisionRouter.Capture]({{ site.dcvb_dotnet_api }}capture-vision-router/single-file-processing.html#capture) |
+| `class TextResult` | [class BarcodeResultItem]({{ site.dbr_dotnet_api }}barcode-result-item.html) |
+| `BarcodeReader.DecodeBase64String` | [ImageIO.ReadFromBase64String]({{ site.dcvb_dotnet_api }}utility/image-io.html#readfrombase64string) + [CaptureVisionRouter.Capture]({{ site.dcvb_dotnet_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.DecodeBitmap` | [ImageIO.ReadFromBitmap]({{ site.dcvb_dotnet_api }}utility/image-io.html#readfrombitmap) + [CaptureVisionRouter.Capture]({{ site.dcvb_dotnet_api }}capture-vision-router/single-file-processing.html#capture) |
+
+### Video Streaming Decoding
+
+`ImageSourceAdapter` is added to replace the `FrameDecodingParameters` and the previous video methods. You should implement `ImageSourceAdapter` to transfer image data from camera or video file to buffer.
+
+## Migrate Template APIs
+
+The template-based APIs have been updated as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.InitRuntimeSettingsWithFile` | [CaptureVisionRouter.InitSettingsFromFile]({{ site.dcvb_dotnet_api }}capture-vision-router/settings.html#initsettingsfromfile) |
+| `BarcodeReader.InitRuntimeSettingsWithString` | [CaptureVisionRouter.InitSettings]({{ site.dcvb_dotnet_api }}capture-vision-router/settings.html#initsettings) |
+| `BarcodeReader.OutputSettingsToFile` | [CaptureVisionRouter.OutputSettingsToFile]({{ site.dcvb_dotnet_api }}capture-vision-router/settings.html#outputsettingstofile) |
+| `BarcodeReader.OutputSettingsToString` | [CaptureVisionRouter.OutputSettings]({{ site.dcvb_dotnet_api }}capture-vision-router/settings.html#outputsettings) |
+| `BarcodeReader.ResetRuntimeSettings` | [CaptureVisionRouter.ResetSettings]({{ site.dcvb_dotnet_api }}capture-vision-router/settings.html#resetsettings) |
+| `BarcodeReader.AppendTplFileToRuntimeSettings` | **Not available**. |
+| `BarcodeReader.AppendTplStringToRuntimeSettings` | **Not available**. |
+| `BarcodeReader.GetAllParameterTemplateNames` | **Not available**. |
+
+## Upgrade Template Files
+
+The template file format has changed in the new version. Templates created for version 9.x are not compatible with version 11.x. Use the Template Upgrade Tool to automatically convert your existing templates to the new format.
+
+## Migrate Runtime Settings
+
+The struct `PublicRuntimeSettings` has been refactored. It retains commonly used properties via `SimplifiedCaptureVisionSettings` while removing the previously complex property settings, which are now exclusively supported through templates.
+
+The APIs for accessing and updating `PublicRuntimeSettings` have been adjusted as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.GetRuntimeSettings` | [CaptureVisionRouter.GetSimplifiedSettings]({{ site.dcvb_dotnet_api }}capture-vision-router/settings.html#getsimplifiedsettings) |
+| `BarcodeReader.UpdateRuntimeSettings` | [CaptureVisionRouter.UpdateSettings]({{ site.dcvb_dotnet_api }}capture-vision-router/settings.html#updatesettings) |
+
+### Properties with Direct API Replacement
+
+The following properties are replaced by similar properties under `SimplifiedCaptureVisionSettings` or `SimplifiedBarcodeReaderSettings`. They can also be set via a template file.
+
+#### SimplifiedCaptureVisionSettings
+
+| PublicRuntimeSettings Property | SimplifiedCaptureVisionSettings Parameter | Template File Parameter |
+| ------------------------------- | ----------------------------------------- | ----------------------- |
+| `Region` | [roi]({{ site.dcvb_dotnet_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#roi) & [roiMeasuredInPercentage]({{ site.dcvb_dotnet_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#roimeasuredinpercentage) | [TargetROIDef.Location.Offset]({{ site.dcvb_parameters_reference }}target-roi-def/location.html) |
+| `Timeout` | [timeout]({{ site.dcvb_dotnet_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#timeout) | [CaptureVisionTemplates.Timeout]({{ site.dcvb_parameters_reference }}capture-vision-template/timeout.html) |
+
+#### SimplifiedBarcodeReaderSettings
+
+| PublicRuntimeSettings Property | SimplifiedBarcodeReaderSettings Property | Template File Parameter |
+| ------------------------------- | ----------------------------------------- | ----------------------- |
+| `MinBarcodeTextLength` | [minBarcodeTextLength]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#minbarcodetextlength) | [BarcodeFormatSpecification.BarcodeTextLengthRangeArray]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-text-length-range-array.html) |
+| `MinResultConfidence` | [minResultConfidence]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#minresultconfidence) | [BarcodeFormatSpecification.MinResultConfidence]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-result-confidence.html) |
+| `LocalizationModes` | [localizationModes]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#localizationmodes) | [BarcodeReaderTaskSetting.LocalizationModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html) |
+| `ExpectedBarcodesCount` | [expectedBarcodesCount]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#expectedbarcodescount) | [BarcodeReaderTaskSetting.ExpectedBarcodesCount]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/expected-barcodes-count.html) |
+| `BarcodeFormatIds` | [barcodeFormatIds]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#barcodeformatids) | [BarcodeReaderTaskSetting.BarcodeFormatIds]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) |
+| `BarcodeFormatIds_2` | [barcodeFormatIds]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#barcodeformatids) | [BarcodeReaderTaskSetting.BarcodeFormatIds]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) |
+| `DeblurModes` | [deblurModes]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#deblurmodes) | [BarcodeReaderTaskSetting.DeblurModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) |
+| `DeblurLevel` | [deblurModes]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#deblurmodes) | [BarcodeReaderTaskSetting.DeblurModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) |
+| `MaxAlgorithmThreadCount` | [maxThreadsInOneTask]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#maxthreadsinonetask) | [BarcodeReaderTaskSetting.MaxThreadsInOneTask]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) |
+
+> Remarks:
+>
+> * The 2 groups of barcode formats are merged.
+> * `DeblurLevel` is deprecated. You can use `DeblurModes` instead.
+
+| FurtherModes Property | SimplifiedBarcodeReaderSettings Property | Template File Parameter |
+| ---------------------- | ----------------------------------------- | ----------------------- |
+| `GrayscaleTransformationModes` | [grayscaleTransformationModes]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#grayscaletransformationmodes) | [ImageParameter.GrayscaleTransformationModes]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-transformation-modes.html) |
+| `ImagePreprocessingModes` | [grayscaleEnhancementModes]({{ site.dbr_dotnet_api }}simplified-barcode-reader-settings.html#grayscaleenhancementmodes) | [ImageParameter.GrayscaleEnhancementModes]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) |
+
+> Remarks: The mode `IPM_MORPHOLOGY` of `ImagePreprocessingModes` is migrated to `BinarizationModes`. The mode arguments `MorphOperation`, `MorphOperationKernelSizeX`, `MorphOperationKernelSizeY`, `MorphShape` are now available for all modes of `BinarizationModes`.
+
+### Properties Requiring Template File
+
+The following properties can only be set via a template file. Please call `BarcodeReader.OutputSettingsToFile` first with the old version to export the settings and then use the Template Upgrade Tool to upgrade your template.
+
+| PublicRuntimeSettings Property | Template File Parameter |
+| ------------------------------- | ----------------------- |
+| `ScaleDownThreshold` | [ImageParameter.ImageScaleSettings]({{ site.dcvb_parameters_reference }}image-parameter/image-scale-settings.html) |
+| `BinarizationModes` | [ImageParameter.BinarizationModes]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html) |
+| `TextResultOrderModes` | [BarcodeReaderTaskSetting.TextResultOrderModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/text-result-order-modes.html) |
+| `ReturnBarcodeZoneClarity` | [BarcodeReaderTaskSetting.ReturnBarcodeZoneClarity]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/return-barcode-zone-clarity.html) |
+| `ScaleUpModes` | [BarcodeReaderTaskSetting.BarcodeScaleModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-scale-modes.html) |
+| `BarcodeZoneMinDistanceToImageBorders` | [BarcodeFormatSpecification.BarcodeZoneMinDistanceToImageBorders]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-min-distance-to-image-borders.html) |
+
+| FurtherModes Property | Template File Parameter |
+| ---------------------- | ----------------------- |
+| `ColourConversionModes` | [ImageParameter.ColourConversionModes]({{ site.dcvb_parameters_reference }}image-parameter/colour-conversion-modes.html) |
+| `RegionPredetectionModes` | [BarcodeReaderTaskSetting.RegionPredetectionModes]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html) |
+| `TextureDetectionModes` | [ImageParameter.TextureDetectionModes]({{ site.dcvb_parameters_reference }}image-parameter/texture-detection-modes.html) |
+| `TextFilterModes` | [ImageParameter.TextDetectionMode]({{ site.dcvb_parameters_reference }}image-parameter/text-detection-mode.html) & [ImageParameter.IfEraseTextZone]({{ site.dcvb_parameters_reference }}image-parameter/if-erase-text-zone.html) |
+| `DPMCodeReadingModes` | [BarcodeReaderTaskSetting.DPMCodeReadingModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html) |
+| `DeformationResistingModes` | [BarcodeReaderTaskSetting.DeformationResistingModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html) |
+| `BarcodeComplementModes` | [BarcodeReaderTaskSetting.BarcodeComplementModes]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html) |
+
+### Properties Migrated to Other APIs
+
+The PDF properties of PublicRuntimeSettings are moved to set via the `SetPDFReadingParameter` method of `DirectoryFetcher` and `FileFetcher` with a [PDFReadingParameter]({{ site.dcvb_dotnet_api }}core/basic-classes/pdf-reading-parameter.html) parameter.
+
+| PublicRuntimeSettings Property |
+| --------------------------------------- |
+| `PDFReadingMode` |
+| `PDFRasterDPI` |
+
+### Removed Properties (No Replacement)
+
+The following properties are removed.
+
+| PublicRuntimeSettings Property|
+| --------------------- |
+| `barcodeColourModes` |
+| `intermediateResultTypes` |
+| `intermediateResultSavingMode` |
+| `resultCoordinateType` |
+| `terminatePhase` |
+
+| FurtherModes Property|
+| --------------------- |
+| `ColourClusteringModes` |
diff --git a/programming/java/migrate-10-to-11.md b/programming/java/migrate-10-to-11.md
new file mode 100644
index 0000000..91c4af8
--- /dev/null
+++ b/programming/java/migrate-10-to-11.md
@@ -0,0 +1,41 @@
+---
+title: Migrate from v10.x to v11.x - Dynamsoft Barcode Reader SDK Java Edition
+keywords: java, upgrade, migrate, v10, v11
+description: This page introduces how to migrate Dynamsoft Barcode Reader SDK Java Edition from version 10.x to 11.x
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+---
+
+# Migrate from 10.x to 11.x
+
+Version 11.x is fully API-compatible with version 10.x. Most applications can upgrade by simply updating the Maven dependency without code changes. Follow these steps to complete the migration.
+
+## Update the License Key
+
+You may need to update your license key before upgrading to version 11.x.
+
+- **30-Day Free Trial License**: Visit the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=docs){:target="_blank"} page to obtain a free license for evaluation.
+- **Annual Online Full License**: Your license will continue to work with the new SDK version. Go to Customer Portal to get your license key.
+- **Perpetual License**: Please contact our [sales team](https://www.dynamsoft.com/contact/){:target="_blank"} to update your license.
+
+## Update the Maven Dependency
+
+Update your `pom.xml` file with the latest version:
+
+```xml
+
+
+ com.dynamsoft
+ dbr
+ 11.4.1000
+
+
+```
+
+## Upgrade Template Files
+
+The template file format has changed. Templates created for version 10.x may not be fully compatible with version 11.x. Use the Template Upgrade Tool to convert your existing templates to the new format.
+
+## Rebuild the Project
+
+After updating the dependency, clean and rebuild your project to ensure all dependencies are properly resolved.
diff --git a/programming/java/migrate-9-to-11.md b/programming/java/migrate-9-to-11.md
new file mode 100644
index 0000000..d5e7b42
--- /dev/null
+++ b/programming/java/migrate-9-to-11.md
@@ -0,0 +1,180 @@
+---
+title: Migrate from v9.x to v11.x - Dynamsoft Barcode Reader SDK Java Edition
+keywords: java, upgrade, migrate, v9, v11
+description: This page introduces how to migrate Dynamsoft Barcode Reader SDK Java Edition from version 9.x to 11.x
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+---
+
+# Migrate from 9.x to 11.x
+
+Dynamsoft Barcode Reader SDK has been refactored to integrate with the [`DynamsoftCaptureVision (DCV)`]({{ site.dcvb_architecture }}) architecture since version 10.0. This guide helps you upgrade from version 9.x by highlighting the key API changes and providing migration paths.
+
+The actual migration effort depends on which APIs you currently use. In many cases, only the interfaces you actively use need to be updated — review the sections below to identify the changes that affect your integration.
+
+> [!NOTE]
+> If you are new to the DCV architecture and prefer to start fresh, refer to the [User Guide]({{ site.dbr_java }}user-guide.html) for a quick-start tutorial.
+
+## Update the License Key
+
+You may need to update your license key before upgrading to version 11.x.
+
+- **30-Day Free Trial License**: Visit the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=docs){:target="_blank"} page to obtain a free license for evaluation.
+- **Annual Online Full License**: Your license will continue to work with the new SDK version. Go to Customer Portal to get your license key.
+- **Perpetual License**: Please contact our [sales team](https://www.dynamsoft.com/contact/){:target="_blank"} to update your license.
+
+## Update the Maven Dependency
+
+Update your `pom.xml` file with the latest version:
+
+```xml
+
+
+ dbr
+ https://download2.dynamsoft.com/maven/dbr/jar
+
+
+
+
+
+ com.dynamsoft
+ dbr
+ 11.4.1000
+
+
+```
+
+## Migrate License Activation Code
+
+Starting from 10.0, we have unified the API for setting licenses across different Dynamsoft products.
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.initLicense` | [`LicenseManager.initLicense`]({{ site.dcvb_java_api }}license/license-manager.html#initlicense) |
+
+## Migrate Decoding APIs
+
+### Single Image Decoding
+
+The APIs for decoding single image have been adjusted as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.decodeFile` | [`CaptureVisionRouter.capture`]({{ site.dcvb_java_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.decodeFileInMemory` | [`CaptureVisionRouter.capture`]({{ site.dcvb_java_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.decodeBuffer` | [`CaptureVisionRouter.capture`]({{ site.dcvb_java_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.decodeBufferedImage` | [`CaptureVisionRouter.capture`]({{ site.dcvb_java_api }}capture-vision-router/single-file-processing.html#capture) |
+| `class TextResult` | [`class BarcodeResultItem`]({{ site.dbr_java_api }}barcode-result-item.html) |
+| `BarcodeReader.decodeBase64String` | [ImageIO.readFromBase64String]({{ site.dcvb_java_api }}utility/image-io.html#readfrombase64string) + [CaptureVisionRouter.Capture]({{ site.dcvb_java_api }}capture-vision-router/single-file-processing.html#capture) |
+
+### Video Streaming Decoding
+
+`ImageSourceAdapter` is added to replace the `FrameDecodingParameters` and the previous video methods. You should implement `ImageSourceAdapter` to transfer image data from camera or video file to buffer.
+
+## Migrate Template APIs
+
+The template-based APIs have been updated as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.initRuntimeSettingsWithFile` | [`CaptureVisionRouter.initSettingsFromFile`]({{ site.dcvb_java_api }}capture-vision-router/settings.html#initsettingsfromfile) |
+| `BarcodeReader.initRuntimeSettingsWithString` | [`CaptureVisionRouter.initSettings`]({{ site.dcvb_java_api }}capture-vision-router/settings.html#initsettings) |
+| `BarcodeReader.outputSettingsToFile` | [`CaptureVisionRouter.outputSettingsToFile`]({{ site.dcvb_java_api }}capture-vision-router/settings.html#outputsettingstofile) |
+| `BarcodeReader.outputSettingsToString` | [`CaptureVisionRouter.outputSettings`]({{ site.dcvb_java_api }}capture-vision-router/settings.html#outputsettings) |
+| `BarcodeReader.resetRuntimeSettings` | [`CaptureVisionRouter.resetSettings`]({{ site.dcvb_java_api }}capture-vision-router/settings.html#resetsettings) |
+| `BarcodeReader.appendTplFileToRuntimeSettings` | **Not available**. |
+| `BarcodeReader.appendTplStringToRuntimeSettings` | **Not available**. |
+| `BarcodeReader.getAllParameterTemplateNames` | **Not available**. |
+
+## Upgrade Template Files
+
+The template file format has changed in the new version. Templates created for version 9.x are not compatible with version 11.x. Use the Template Upgrade Tool to automatically convert your existing templates to the new format.
+
+## Migrate Runtime Settings
+
+The class `PublicRuntimeSetting` has been refactored. It retains commonly used properties via `SimplifiedCaptureVisionSettings` while removing the previously complex property settings, which are now exclusively supported through templates.
+
+The APIs for accessing and updating runtime settings have been adjusted as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.getRuntimeSettings` | [`CaptureVisionRouter.getSimplifiedSettings`]({{ site.dcvb_java_api }}capture-vision-router/settings.html#getsimplifiedsettings) |
+| `BarcodeReader.updateRuntimeSettings` | [`CaptureVisionRouter.updateSettings`]({{ site.dcvb_java_api }}capture-vision-router/settings.html#updatesettings) |
+
+### Properties with Direct API Replacement
+
+The following properties are replaced by similar properties under `SimplifiedCaptureVisionSettings` or `SimplifiedBarcodeReaderSettings`. They can also be set via a template file.
+
+#### SimplifiedCaptureVisionSettings
+
+| PublicRuntimeSetting Property | SimplifiedCaptureVisionSettings Parameter | Template File Parameter |
+| ------------------------------- | ----------------------------------------- | ----------------------- |
+| `region` | [`roi`]({{ site.dcvb_java_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#roi) & [`roiMeasuredInPercentage`]({{ site.dcvb_java_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#roimeasuredinpercentage) | [`TargetROIDef.Location.Offset`]({{ site.dcvb_parameters_reference }}target-roi-def/location.html) |
+| `timeout` | [`timeout`]({{ site.dcvb_java_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#timeout) | [`CaptureVisionTemplates.Timeout`]({{ site.dcvb_parameters_reference }}capture-vision-template/timeout.html) |
+
+#### SimplifiedBarcodeReaderSettings
+
+| PublicRuntimeSetting Property | SimplifiedBarcodeReaderSettings Property | Template File Parameter |
+| ------------------------------- | ----------------------------------------- | ----------------------- |
+| `minBarcodeTextLength` | [`minBarcodeTextLength`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#minbarcodetextlength) | [`BarcodeFormatSpecification.BarcodeTextLengthRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-text-length-range-array.html) |
+| `minResultConfidence` | [`minResultConfidence`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#minresultconfidence) | [`BarcodeFormatSpecification.MinResultConfidence`]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-result-confidence.html) |
+| `localizationModes` | [`localizationModes`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#localizationmodes) | [`BarcodeReaderTaskSetting.LocalizationModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html) |
+| `expectedBarcodesCount` | [`expectedBarcodesCount`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#expectedbarcodescount) | [`BarcodeReaderTaskSetting.ExpectedBarcodesCount`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/expected-barcodes-count.html) |
+| `barcodeFormatIds` | [`barcodeFormatIds`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#barcodeformatids) | [`BarcodeReaderTaskSetting.BarcodeFormatIds`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) |
+| `barcodeFormatIds_2` | [`barcodeFormatIds`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#barcodeformatids) | [`BarcodeReaderTaskSetting.BarcodeFormatIds`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) |
+| `deblurModes` | [`deblurModes`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#deblurmodes) | [`BarcodeReaderTaskSetting.DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) |
+| `deblurLevel` | [`deblurModes`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#deblurmodes) | [`BarcodeReaderTaskSetting.DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) |
+| `maxAlgorithmThreadCount` | [`maxThreadsInOneTask`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#maxthreadsinonetask) | [`BarcodeReaderTaskSetting.MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) |
+| `grayscaleTransformationModes` | [`grayscaleTransformationModes`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#grayscaletransformationmodes) | [`ImageParameter.GrayscaleTransformationModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-transformation-modes.html) |
+| `imagePreprocessingModes` | [`grayscaleEnhancementModes`]({{ site.dbr_java_api }}simplified-barcode-reader-settings.html#grayscaleenhancementmodes) | [`ImageParameter.GrayscaleEnhancementModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) |
+
+> Remarks:
+>
+> * The 2 groups of barcode formats are merged.
+> * `deblurLevel` is deprecated. You can use `deblurModes` instead.
+> * The mode `IPM_MORPHOLOGY` of `imagePreprocessingModes` is migrated to `BinarizationModes`. The mode arguments `MorphOperation`, `MorphOperationKernelSizeX`, `MorphOperationKernelSizeY`, `MorphShape` are now available for all modes of `BinarizationModes`.
+
+### Properties Requiring Template File
+
+The following properties can only be set via a template file. Please call `BarcodeReader.outputSettingsToFile` first with the old version to export the settings and then use the Template Upgrade Tool to upgrade your template.
+
+| PublicRuntimeSetting Property | Template File Parameter |
+| ------------------------------- | ----------------------- |
+| `scaleDownThreshold` | [`ImageParameter.ImageScaleSettings`]({{ site.dcvb_parameters_reference }}image-parameter/image-scale-settings.html) |
+| `binarizationModes` | [`ImageParameter.BinarizationModes`]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html) |
+| `textResultOrderModes` | [`BarcodeReaderTaskSetting.TextResultOrderModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/text-result-order-modes.html) |
+| `returnBarcodeZoneClarity` | [`BarcodeReaderTaskSetting.ReturnBarcodeZoneClarity`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/return-barcode-zone-clarity.html) |
+| `scaleUpModes` | [`BarcodeReaderTaskSetting.BarcodeScaleModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-scale-modes.html) |
+| `barcodeZoneMinDistanceToImageBorders` | [`BarcodeFormatSpecification.BarcodeZoneMinDistanceToImageBorders`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-min-distance-to-image-borders.html) |
+| `colourConversionModes` | [`ImageParameter.ColourConversionModes`]({{ site.dcvb_parameters_reference }}image-parameter/colour-conversion-modes.html) |
+| `regionPredetectionModes` | [`BarcodeReaderTaskSetting.RegionPredetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html) |
+| `textureDetectionModes` | [`ImageParameter.TextureDetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/texture-detection-modes.html) |
+| `textFilterModes` | [`ImageParameter.TextDetectionMode`]({{ site.dcvb_parameters_reference }}image-parameter/text-detection-mode.html) & [`ImageParameter.IfEraseTextZone`]({{ site.dcvb_parameters_reference }}image-parameter/if-erase-text-zone.html) |
+| `dpmCodeReadingModes` | [`BarcodeReaderTaskSetting.DPMCodeReadingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html) |
+| `deformationResistingModes` | [`BarcodeReaderTaskSetting.DeformationResistingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html) |
+| `barcodeComplementModes` | [`BarcodeReaderTaskSetting.BarcodeComplementModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html) |
+
+### Properties Migrated to Other APIs
+
+The PDF properties of `PublicRuntimeSetting` are moved to set via the `setPDFReadingParameter` method of [`DirectoryFetcher`]({{ site.dcvb_java_api }}utility/directory-fetcher.html) and [`FileFetcher`]({{ site.dcvb_java_api }}utility/file-fetcher.html) with a [`PDFReadingParameter`]({{ site.dcvb_java_api }}core/basic-classes/pdf-reading-parameter.html) parameter.
+
+| PublicRuntimeSetting Property |
+| ----------------------------- |
+| `pdfReadingMode` |
+| `pdfRasterDPI` |
+
+### Removed Properties (No Replacement)
+
+The following properties are removed.
+
+| PublicRuntimeSetting Property|
+| --------------------- |
+| `barcodeColourModes` |
+| `intermediateResultTypes` |
+| `intermediateResultSavingMode` |
+| `resultCoordinateType` |
+| `terminatePhase` |
+
+| FurtherModes Property|
+| --------------------- |
+| `colourClusteringModes` |
diff --git a/programming/java/user-guide.md b/programming/java/user-guide.md
index 2a1a0b9..03a15c8 100644
--- a/programming/java/user-guide.md
+++ b/programming/java/user-guide.md
@@ -62,7 +62,7 @@ mvn archetype:generate -DgroupId=com.dynamsoft -DartifactId=dbr-hello-world -Dar
com.dynamsoft
dbr
- 11.2.1100
+ 11.4.1000
```
diff --git a/programming/python/index.md b/programming/python/index.md
index 6570a3c..03d29a0 100644
--- a/programming/python/index.md
+++ b/programming/python/index.md
@@ -27,6 +27,7 @@ The best way to start with the Dynamsoft Barcode Reader Python Edition, is follo
- macOS (Universal) 12+
- Python Versions:
+ - Python 3.14
- Python 3.13
- Python 3.12
- Python 3.11
diff --git a/programming/python/migrate-10-to-11.md b/programming/python/migrate-10-to-11.md
new file mode 100644
index 0000000..a9f26cb
--- /dev/null
+++ b/programming/python/migrate-10-to-11.md
@@ -0,0 +1,31 @@
+---
+title: Migrate from v10.x to v11.x - Dynamsoft Barcode Reader SDK Python Edition
+keywords: python, upgrade, migrate, v10, v11
+description: This page introduces how to migrate Dynamsoft Barcode Reader SDK Python Edition from version 10.x to 11.x
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+---
+
+# Migrate from 10.x to 11.x
+
+Version 11.x is fully API-compatible with version 10.x. Most applications can upgrade by simply updating the package without code changes. Follow these steps to complete the migration.
+
+## Update the License Key
+
+You may need to update your license key before upgrading to version 11.x.
+
+- **30-Day Free Trial License**: Visit the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=docs){:target="_blank"} page to obtain a free license for evaluation.
+- **Annual Online Full License**: Your license will continue to work with the new SDK version. Go to Customer Portal to get your license key.
+- **Perpetual License**: Please contact our [sales team](https://www.dynamsoft.com/contact/){:target="_blank"} to update your license.
+
+## Update the Package
+
+Run the following command to upgrade to the latest version:
+
+```bash
+pip install dynamsoft-barcode-reader-bundle --upgrade
+```
+
+## Upgrade Template Files
+
+The template file format has changed. Templates created for version 10.x may not be fully compatible with version 11.x. Use the Template Upgrade Tool to convert your existing templates to the new format.
diff --git a/programming/python/migrate-9-to-11.md b/programming/python/migrate-9-to-11.md
new file mode 100644
index 0000000..71f6a90
--- /dev/null
+++ b/programming/python/migrate-9-to-11.md
@@ -0,0 +1,167 @@
+---
+title: Migrate from v9.x to v11.x - Dynamsoft Barcode Reader SDK Python Edition
+keywords: python, upgrade, migrate, v9, v11
+description: This page introduces how to migrate Dynamsoft Barcode Reader SDK Python Edition from version 9.x to 11.x
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+---
+
+# Migrate from 9.x to 11.x
+
+Dynamsoft Barcode Reader SDK has been refactored to integrate with the [`DynamsoftCaptureVision (DCV)`]({{ site.dcvb_architecture }}) architecture since version 10.0. This guide helps you upgrade from version 9.x by highlighting the key API changes and providing migration paths.
+
+The actual migration effort depends on which APIs you currently use. In many cases, only the interfaces you actively use need to be updated — review the sections below to identify the changes that affect your integration.
+
+> [!NOTE]
+> If you are new to the DCV architecture and prefer to start fresh, refer to the [User Guide]({{ site.dbr_python }}user-guide.html) for a quick-start tutorial.
+
+## Update the License Key
+
+You may need to update your license key before upgrading to version 11.x.
+
+- **30-Day Free Trial License**: Visit the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=docs){:target="_blank"} page to obtain a free license for evaluation.
+- **Annual Online Full License**: Your license will continue to work with the new SDK version. Go to Customer Portal to get your license key.
+- **Perpetual License**: Please contact our [sales team](https://www.dynamsoft.com/contact/){:target="_blank"} to update your license.
+
+## Migrate to New Package
+
+As of version 10.0, the `dbr` package has been renamed to `dynamsoft-barcode-reader-bundle` to reflect changes in both architecture and API design. Run the following command to install the new package:
+
+```bash
+pip install dynamsoft-barcode-reader-bundle
+```
+
+## Migrate License Activation Code
+
+Starting from 10.0, we have unified the API for setting licenses across different Dynamsoft products.
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.init_license` | [`LicenseManager.init_license`]({{ site.dcvb_python_api }}license/license-manager.html#init_license) |
+
+## Migrate Decoding APIs
+
+### Single Image Decoding
+
+The APIs for decoding single image have been adjusted as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.decode_file` | [`CaptureVisionRouter.capture`]({{ site.dcvb_python_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.decode_file_stream` | [`CaptureVisionRouter.capture`]({{ site.dcvb_python_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.decode_buffer_manually` | [`CaptureVisionRouter.capture`]({{ site.dcvb_python_api }}capture-vision-router/single-file-processing.html#capture) |
+| `BarcodeReader.decode_buffer` | [`CaptureVisionRouter.capture`]({{ site.dcvb_python_api }}capture-vision-router/single-file-processing.html#capture) |
+| `class TextResult` | [`class BarcodeResultItem`]({{ site.dbr_python_api }}barcode-result-item.html) |
+| `BarcodeReader.decode_base64_string` | **Not available**. |
+
+### Video Streaming Decoding
+
+`ImageSourceAdapter` is added to replace the `FrameDecodingParameters` and the previous video methods. You should implement `ImageSourceAdapter` to transfer image data from camera or video file to buffer.
+
+## Migrate Template APIs
+
+The template-based APIs have been updated as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.init_runtime_settings_with_file` | [`CaptureVisionRouter.init_settings_from_file`]({{ site.dcvb_python_api }}capture-vision-router/settings.html#init_settings_from_file) |
+| `BarcodeReader.init_runtime_settings_with_string` | [`CaptureVisionRouter.init_settings`]({{ site.dcvb_python_api }}capture-vision-router/settings.html#init_settings) |
+| `BarcodeReader.output_settings_to_json_file` | [`CaptureVisionRouter.output_settings_to_file`]({{ site.dcvb_python_api }}capture-vision-router/settings.html#output_settings_to_file) |
+| `BarcodeReader.output_settings_to_json_string` | [`CaptureVisionRouter.output_settings`]({{ site.dcvb_python_api }}capture-vision-router/settings.html#output_settings) |
+| `BarcodeReader.reset_runtime_settings` | [`CaptureVisionRouter.reset_settings`]({{ site.dcvb_python_api }}capture-vision-router/settings.html#reset_settings) |
+| `BarcodeReader.append_template_file_to_runtime_settings` | **Not available**. |
+| `BarcodeReader.append_template_string_to_runtime_settings` | **Not available**. |
+| `BarcodeReader.get_all_template_names` | **Not available**. |
+
+## Upgrade Template Files
+
+The template file format has changed in the new version. Templates created for version 9.x are not compatible with version 11.x. Use the Template Upgrade Tool to automatically convert your existing templates to the new format.
+
+## Migrate Runtime Settings
+
+The class `PublicRuntimeSetting` has been refactored. It retains commonly used properties via `SimplifiedCaptureVisionSettings` while removing the previously complex property settings, which are now exclusively supported through templates.
+
+The APIs for accessing and updating runtime settings have been adjusted as follows:
+
+| Old APIs | New APIs |
+| :----------- | :------- |
+| `BarcodeReader.get_runtime_settings` | [`CaptureVisionRouter.get_simplified_settings`]({{ site.dcvb_python_api }}capture-vision-router/settings.html#get_simplified_settings) |
+| `BarcodeReader.update_runtime_settings` | [`CaptureVisionRouter.update_settings`]({{ site.dcvb_python_api }}capture-vision-router/settings.html#update_settings) |
+
+### Properties with Direct API Replacement
+
+The following properties are replaced by similar properties under `SimplifiedCaptureVisionSettings` or `SimplifiedBarcodeReaderSettings`. They can also be set via a template file.
+
+#### SimplifiedCaptureVisionSettings
+
+| PublicRuntimeSetting Property | SimplifiedCaptureVisionSettings Parameter | Template File Parameter |
+| ------------------------------- | ----------------------------------------- | ----------------------- |
+| `region` | [`roi`]({{ site.dcvb_python_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#roi) & [`roi_measured_in_percentage`]({{ site.dcvb_python_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#roi_measured_in_percentage) | [`TargetROIDef.Location.Offset`]({{ site.dcvb_parameters_reference }}target-roi-def/location.html) |
+| `timeout` | [`timeout`]({{ site.dcvb_python_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html#timeout) | [`CaptureVisionTemplates.Timeout`]({{ site.dcvb_parameters_reference }}capture-vision-template/timeout.html) |
+
+#### SimplifiedBarcodeReaderSettings
+
+| PublicRuntimeSetting Property | SimplifiedBarcodeReaderSettings Property | Template File Parameter |
+| ------------------------------- | ----------------------------------------- | ----------------------- |
+| `min_barcode_text_length` | [`min_barcode_text_length`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#min_barcode_text_length) | [`BarcodeFormatSpecification.BarcodeTextLengthRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-text-length-range-array.html) |
+| `min_result_confidence` | [`min_result_confidence`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#min_result_confidence) | [`BarcodeFormatSpecification.MinResultConfidence`]({{ site.dcvb_parameters_reference }}barcode-format-specification/min-result-confidence.html) |
+| `localization_modes` | [`localization_modes`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#localization_modes) | [`BarcodeReaderTaskSetting.LocalizationModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html) |
+| `expected_barcodes_count` | [`expected_barcodes_count`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#expected_barcodes_count) | [`BarcodeReaderTaskSetting.ExpectedBarcodesCount`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/expected-barcodes-count.html) |
+| `barcode_format_ids` | [`barcode_format_ids`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#barcode_format_ids) | [`BarcodeReaderTaskSetting.BarcodeFormatIds`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) |
+| `barcode_format_ids_2` | [`barcode_format_ids`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#barcode_format_ids) | [`BarcodeReaderTaskSetting.BarcodeFormatIds`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-format-ids.html) |
+| `deblur_modes` | [`deblur_modes`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#deblur_modes) | [`BarcodeReaderTaskSetting.DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) |
+| `deblur_level` | [`deblur_modes`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#deblur_modes) | [`BarcodeReaderTaskSetting.DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html) |
+| `max_algorithm_thread_count` | [`max_threads_in_one_task`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#max_threads_in_one_task) | [`BarcodeReaderTaskSetting.MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) |
+| `grayscale_transformation_modes` | [`grayscale_transformation_modes`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#grayscale_transformation_modes) | [`ImageParameter.GrayscaleTransformationModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-transformation-modes.html) |
+| `image_preprocessing_modes` | [`grayscale_enhancement_modes`]({{ site.dbr_python_api }}simplified-barcode-reader-settings.html#grayscale_enhancement_modes) | [`ImageParameter.GrayscaleEnhancementModes`]({{ site.dcvb_parameters_reference }}image-parameter/grayscale-enhancement-modes.html) |
+
+> Remarks:
+>
+> * The 2 groups of barcode formats are merged.
+> * `deblur_level` is deprecated. You can use `deblur_modes` instead.
+> * The mode `IPM_MORPHOLOGY` of `image_preprocessing_modes` is migrated to `BinarizationModes`. The mode arguments `MorphOperation`, `MorphOperationKernelSizeX`, `MorphOperationKernelSizeY`, `MorphShape` are now available for all modes of `BinarizationModes`.
+
+### Properties Requiring Template File
+
+The following properties can only be set via a template file. Please call `BarcodeReader.output_settings_to_json_file` first with the old version to export the settings and then use the Template Upgrade Tool to upgrade your template.
+
+| PublicRuntimeSetting Property | Template File Parameter |
+| ------------------------------- | ----------------------- |
+| `scale_down_threshold` | [`ImageParameter.ImageScaleSettings`]({{ site.dcvb_parameters_reference }}image-parameter/image-scale-settings.html) |
+| `binarization_modes` | [`ImageParameter.BinarizationModes`]({{ site.dcvb_parameters_reference }}image-parameter/binarization-modes.html) |
+| `text_result_order_modes` | [`BarcodeReaderTaskSetting.TextResultOrderModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/text-result-order-modes.html) |
+| `return_barcode_zone_clarity` | [`BarcodeReaderTaskSetting.ReturnBarcodeZoneClarity`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/return-barcode-zone-clarity.html) |
+| `scale_up_modes` | [`BarcodeReaderTaskSetting.BarcodeScaleModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-scale-modes.html) |
+| `barcode_zone_min_distance_to_image_borders` | [`BarcodeFormatSpecification.BarcodeZoneMinDistanceToImageBorders`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-min-distance-to-image-borders.html) |
+| `colour_conversion_modes` | [`ImageParameter.ColourConversionModes`]({{ site.dcvb_parameters_reference }}image-parameter/colour-conversion-modes.html) |
+| `region_predetection_modes` | [`BarcodeReaderTaskSetting.RegionPredetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html) |
+| `texture_detection_modes` | [`ImageParameter.TextureDetectionModes`]({{ site.dcvb_parameters_reference }}image-parameter/texture-detection-modes.html) |
+| `text_filter_modes` | [`ImageParameter.TextDetectionMode`]({{ site.dcvb_parameters_reference }}image-parameter/text-detection-mode.html) & [`ImageParameter.IfEraseTextZone`]({{ site.dcvb_parameters_reference }}image-parameter/if-erase-text-zone.html) |
+| `dpm_code_reading_modes` | [`BarcodeReaderTaskSetting.DPMCodeReadingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/dpm-code-reading-modes.html) |
+| `deformation_resisting_modes` | [`BarcodeReaderTaskSetting.DeformationResistingModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deformation-resisting-modes.html) |
+| `barcode_complement_modes` | [`BarcodeReaderTaskSetting.BarcodeComplementModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/barcode-complement-modes.html) |
+
+### Properties Migrated to Other APIs
+
+The PDF properties of `PublicRuntimeSetting` are moved to set via the `set_pdf_reading_parameter` method of [`DirectoryFetcher`]({{ site.dcvb_python_api }}utility/directory-fetcher.html) and [`FileFetcher`]({{ site.dcvb_python_api }}utility/file-fetcher.html) with a [`PDFReadingParameter`]({{ site.dcvb_python_api }}core/basic-classes/pdf-reading-parameter.html) parameter.
+
+| PublicRuntimeSetting Property |
+| ----------------------------- |
+| `pdf_reading_mode` |
+| `pdf_raster_dpi` |
+
+### Removed Properties (No Replacement)
+
+The following properties are removed.
+
+| PublicRuntimeSetting Property|
+| --------------------- |
+| `barcode_colour_modes` |
+| `intermediate_result_types` |
+| `intermediate_result_saving_mode` |
+| `result_coordinate_type` |
+| `terminate_phase` |
+
+| FurtherModes Property|
+| --------------------- |
+| `colour_clustering_modes` |