diff --git a/_includes/sidelist-programming/programming-android.html b/_includes/sidelist-programming/programming-android.html
index f5647cff..a3f5501b 100644
--- a/_includes/sidelist-programming/programming-android.html
+++ b/_includes/sidelist-programming/programming-android.html
@@ -742,10 +742,10 @@
Release Notes
Migration Guides
diff --git a/_includes/sidelist-programming/programming-flutter.html b/_includes/sidelist-programming/programming-flutter.html
index 96f451ff..cabd12b0 100644
--- a/_includes/sidelist-programming/programming-flutter.html
+++ b/_includes/sidelist-programming/programming-flutter.html
@@ -464,6 +464,7 @@
- AllModuleDeviation
- AustralianPostEncodingTable
+ - AutoDetectColorInversion
- BarcodeAngleRangeArray
- BarcodeBytesLengthRangeArray
- BarcodeFormatIds
diff --git a/_includes/sidelist-programming/programming-oc.html b/_includes/sidelist-programming/programming-oc.html
index 97835e5d..7f487023 100644
--- a/_includes/sidelist-programming/programming-oc.html
+++ b/_includes/sidelist-programming/programming-oc.html
@@ -741,10 +741,10 @@
- Release Notes
diff --git a/programming/android/release-notes/android-7.md b/programming/android/release-notes/android-7.md
new file mode 100644
index 00000000..17d4e2b2
--- /dev/null
+++ b/programming/android/release-notes/android-7.md
@@ -0,0 +1,327 @@
+---
+layout: default-layout
+title: Android Release Notes v7.6.1 and below - Dynamsoft Barcode Reader
+description: This is the release notes page of Dynamsoft Barcode Reader for Android SDK v7.6.1 and below.
+keywords: release notes, android,
+needAutoGenerateSidebar: true
+needGenerateH3Content: false
+noTitleIndex: true
+permalink: /programming/android/release-notes/android-7.html
+---
+
+# Release Notes for Android SDK - 7.6.1 and below
+
+## 7.6.1 (11/04/2020)
+
+### FIXED
+
+- Fixed an SSL certificate validation and hostname verification issue which may cause the App to be rejected by Google Play if the `initLicenseFromServer` method was used in the App.
+
+## 7.6.0 (09/01/2020)
+
+### NEW
+
+- Added a new member rpmColourArgumentIndex in the struct IntermediateResult. The rpmColourArgumentIndex is the index of ForeAndBackgroundColour argument used for RegionPredetectionMode.
+
+### IMPROVED
+
+- Improved the decoding speed for when ScanDirectly mode is enabled for localization.
+- Improved the decoding speed by utilizing SIMD (single instruction, multiple data).
+- Improved the deblurring algorithm for linear barcodes.
+
+### FIXED
+
+- Fixed a bug where the coordinates of barcodes are calculated incorrectly under some situations.
+- Fixed a crash issue that occurs under some situations.
+
+## 7.5.0 (07/22/2020)
+
+### NEW
+
+- Added support for QR Code Model 1 (an older version of the QR Code specification). It can be enabled by setting FormatSpecification.EnableQRCodeModel1 in the JSON template file.
+- Added a new localization mode LM_CENTRE to localize barcodes from the centre, which can improve the localization speed if the barcode is in the centre of the image. It can be enabled by setting the struct PublicRuntimeSettings -> LocalizationModes -> LM_CENTRE.
+- Added a new binarization mode BM_THRESHOLD to set the BinarizationThreshold value which is used to convert the grayscale image to binary image.
+- Added startPatternRange, middlePatternRange and endPatternRange properties to the struct OneDCodeDetails for UPC_A, UPC_E, EAN_8 and EAN_13 codes.
+- Added the following new arguments for RegionPredetectionMode.RPM_GENERAL_RGB_CONTRAST and RegionPredetectionMode.RPM_GENERAL_GRAY_CONTRAST:
+ - RelativeBarcodeRegions: Sets the barcode regions relative to the pre-detected region.
+ - ForeAndBackgroundColours: Specifies a set (or multiple sets) of the foreground and background colours used for the region pre-detection algorithm.
+ - AspectRatioRange: Sets the height range of the bounding rectangle of the pre-detected region.
+ - HeightRange: Sets the width range of the bounding rectangle of the pre-detected region.
+ - WidthRange: Sets the aspect ratio range of the bounding rectangle of the pre-detected region.
+
+### IMPROVED
+
+- Optimized the binarization process for 1D barcode zones.
+- Improved the decoding accuracy for 1D barcodes.
+- Improved the decoding speed by 5%-20%.
+- Improved the decoding accuracy for Data Matrix code with broken finder pattern.
+
+### FIXED
+
+- Fixed a bug where the coordinates of barcodes are calculated incorrectly under some situations.
+
+## 7.4.0 (04/16/2020)
+
+### NEW
+
+- Added new barcode format support for DotCode.
+- Added relative ROI (Region of Interest) detection to optimize the localization results in the high colour contrasted scenarios.
+- Added a new type of output IRT_PREDETECTED_QUADRILATERAL, to identify regions with user-define HSV colour space.
+- Implemented a feature for recognizing distorted DataMatrix barcodes. It can be enabled by turning on the struct PublicRuntimeSettings -> furtherMode -> DeformationResistingModes.
+- Added two Enumerations for FrameDecodingParameters: ClarityCalculationMethod and ClarityFilterMode, to improve input image quality.
+- Added a new image pre-processing mode IPM_MORPHOLOGY for barcodes with wide data bar or data cell gaps.
+
+### IMPROVED
+
+- Enhanced QR Code deformation, resistance, to improve the success rate of decoding the QR code with square symbol at the center.
+- Optimized the algorithm for decoding large and dense QR and DataMatrix codes.
+- Optimized deblurring algorithm for linear barcodes.
+- Improved a character display issue on some platforms where BarcodeText returns an extra "\uFEFF" if the barcode is encoded in UTF-8 with BOM (Byte Order Mark).
+- Simplified the process to enable DPM, DotCode and Postal Codes. Now the library will automatically turn on the corresponding localization mode while following settings are applied:
+ - DPMCRM_GENEARL
+ - BF2_DOTCODE
+ - BF2_POSTALCODE
+
+### FIXED
+
+- Fixed a bug where the BinarizationModes settings do not work in the DPM mode.
+- Fixed a bug where the barcode location returns incorrect when the barcode is close to the border of the scanning region.
+- Fixed a bug in the calculation of deblur confidence.
+- Fixed a bug where the ColourConversionModes RGB weights setting does not work when CICM_GENERAL is enabled.
+- Other small fixes and tweaks.
+
+## 7.3.0 (01/02/2020)
+
+### NEW
+
+- Added a new barcode type Postal codes including USPS Intelligent Mail, Postnet, Planet, Australia Post barcode, RM4SCC.
+- Added a new localization mode LM_STATISTICS_POSTAL_CODE in the struct PublicRuntimeSettings -> LocalizationModes to recognize Postal codes.
+- Implemented the feature of recognizing distorted QR barcode. It can be enabled by turning on the struct PublicRuntimeSettings -> FurtherModes -> DeformationResistingModes.
+- Implemented the feature of complementing missing parts of QR Code & DataMatrix barcodes. It can be enabled by turning on the struct PublicRuntimeSettings -> FurtherModes -> BarcodeComplementModes.
+- Added a new setting AutoFilter to set whether to filter frames automatically in the struct FrameDecodingParameters.
+- Added a new setting ScaleUpModes to set the scale-up mode for linear barcodes with small module size. It can be enabled by turning on the struct PublicRuntimeSettings -> ScaleUpModes.
+
+### IMPROVED
+
+- Improved the decoding accuracy for DataMatrix that has a narrow quiet zone.
+- Improved the decoding accuracy for 1D barcode that has a small module size.
+
+## 7.2.2 (11/13/2019)
+
+### FIXED
+
+- Fixed a bug where BarcodeBytes was null when DPM mode was enabled.
+
+## 7.2.1 (11/12/2019)
+
+### NEW
+
+- Added support for GS1-128 barcode.
+- Added a new argument "RecordsetSizeOfLatestImages" for "IntermediateResultSavingMode" to specify how many sets of intermediate results are kept in the library.
+
+### IMPROVED
+
+- Improved the decoding capability of PDF417 by identifying the start and stop patterns of PDF417.
+- Improved the deblurring performance for wide 1D barcodes, which lowers the possibility of fake results.
+- Improved video decoding by optimizing frame filtering.
+- Optimized the automatic classification for Code 39 and Code 39 Extended.
+- Optimized the implementation of region pre-detection mode "RPM_GENERAL_GRAY_CONTRAST".
+- Enhanced the recognition of barcodes with small module sizes.
+- Changed ExtendedBarcodeFormatIds to BarcodeFormat_2 to support more barcode formats in the future.
+- Improved the setting template inside every sample. For consistency, now every sample uses one of templates of "Best Coverage", "Balance" and "Best Speed".
+
+### FIXED
+
+- Fixed a bug in the barcode zone type identification during general statistical localization.
+- Fixed minor bugs in result outputs.
+- Fixed a bug where OneDCodeDetails doesn't work.
+- Fixed a memory leak issue when decoding multiple barcodes in our sample App.
+
+## 7.2.0 (09/24/2019)
+
+### NEW
+
+- Added more barcode formats:
+ - GS1 Databar (Omnidirectional, Truncated, Stacked, Stacked Omnidirectional, Limited, Expanded, Expanded Stacked)
+ - PatchCode
+ - Maxicode (mode 2-5)
+ - Micro PDF417
+ - Micro QR
+ - GS1 COMPOSITE (combination of OneD and PDF417/Micro PDF 417)
+ - Non-standard Barcode
+- Added the capability of reading DPM code. It can be enabled by turning on the struct PublicRuntimeSettings->furtherMode-> DPMCodeReadingModes and adding LM_STATISTICS_MARKS to the PublicRuntimeSettings->localizationModes.
+- Licensing is required to obtain the intermediate results, except the original image in the intermediate results.
+- Added a parameter, clarity in the struct ExtendedResult, to show the clarity of the decoded-barcode zone.
+- For iOS, added a method, GetModeArgument(), to get the argument value of the mode parameters.
+- For Android, added a method, getModeArgument(), to get the argument value of the mode parameters.
+
+### IMPROVED
+
+- Improved the decoding speed for PDF417.
+- Improved the capability of decoding QR and Data Matrix with cylinder-like deformation.
+
+### FIXED
+
+- Fixed minor bugs
+
+## 7.1.0 (08/15/2019)
+
+### NEW
+
+- Added automatic blurry frame filtering for the video frame decoding, reducing incorrect barcode recognition.
+- Added three arguments for the CICM_GENERAL of ColourConversionModes to set the weights for the color conversion, providing more flexibility to deal with various kinds of backgrounds by using different weights of three colors: red, green and blue.
+- Added two new methods, startFrameDecodingEx(), which can be used to start a new thread to decode barcodes, and initFrameDecodingParameters(), and a new struct, FrameDecodingParameters.
+
+
+### IMPROVED
+
+- The output of intermediate results can be saved either directly to a folder or to memory or both, by introducing a new parameter, intermediateResultSavingMode, to the struct PublicRuntimeSettings.
+
+### FIXED
+
+- Fixed a bug that the deblur function might malfunction in some rare cases.
+- Fixed a bug that the coordinates of barcodes may be calculated incorrectly under some situations.
+- Fixed a bug that the parameter, RequireStartStopChars, might malfunction in some rare cases.
+- Fixed a bug that the angle of barcodes might not be calculated correctly sometimes.
+
+## 7.0.0 (07/11/2019)
+
+### NEW
+
+- Refactored most modules to provide a flexible barcode reading framework that allows for parameter customization suited for a variety of barcode scenarios.
+- Enabled access to intermediate results (grayscale image, binarized image, text zone, etc) during the decoding process.
+- Added new interfaces to support video decoding, and frame decoding to improve interactive sensitivity.
+- Provided methods to terminate the decoding process at different phases such as during binarization, localization or barcode type identification.
+- Added a new barcode localization method, Scan Directly, to reduce decoding time significantly for high-quality images.
+
+### IMPROVED
+
+- Enhanced error messages related to the license initiation failure.
+- Improved detailed results for decoded barcodes, including more barcode format specification.
+- Improved results output to enable outputting barcode results in the order of confidence level, barcode position or format.
+
+### FIXED
+
+- Fixed an issue where the barcode could be calculated incorrectly in some occasions.
+
+## 6.5.2 (05/28/2019)
+
+### IMPROVED
+
+- Optimized barcode reading workflow for QRCode/DataMatrix/Aztec code recognition. A QRCode/DataMatrix/Aztec barcode zone will be submitted to the deblurring process when its decoding results vary with different binarization arguments.
+- Reduced the error rate of 1D barcode recognition. Giving more chances for confirmation of a 1D barcode decoding result whose confidence isn't extreme high.
+- Reduced the possibility of conflicts with neighbour barcodes. This improved the precision of the zone to be deleted when a barcode is recognized successfully.
+
+### FIXED
+
+- Enhanced the robustness of the image processing algorithm. This resolved segmentation faults when a 0-size image is passed to our SDK or there are a few small-size barcode zones which need to do spatial transformation.
+
+## 6.5.1 (04/16/2019)
+
+### IMPROVED
+
+- Improved deblur algorithm for OneD, enhancing the recognition rate for blurry/out-of-focus barcodes.
+- Improved the accuracy of border location and symbol segmentation for AZTEC.
+- Optimized line scanning algorithm for OneD, decreasing the computation load for character recognition.
+- DecodeBuffer now supports 48-bit and 64-bit image data.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.5.0 (02/26/2019)
+
+### IMPROVED
+
+- Improved average reading speed by 5-10%.
+- Greatly improved the image-processing performance for blurry PDF417 codes.
+- Improved decoding performance for blurry 1D, QRCode and DataMatrix codes.
+- Decreased error recognition rate for Aztec codes.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.4.1 (11/22/2018)
+
+### IMPROVED
+
+- Improved the decoding performance for Aztec, increasing the recognition rate.
+- Improved the decoding performance for OneD, decreasing the error recognition rate.
+- Added further check points for Timeouts, enhancing the timeout control on large scale images for decoding.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.4.0 (10/15/2018)
+
+### NEW
+
+- Added a BatchDecode tool which helps developers evaluate the recognition performance and speed of the Dynamsoft Barcode Reader SDK.
+- Added a new sample demonstrates how to use Dynamsoft Barcode Reader in multiple threads.
+- Added the runtime licensing mode.
+
+### IMPROVED
+
+- Improved barcode reading speed by 10%, especially for small-sized images.
+- Reorganized API documentation to help you find content more easily.
+- Simplified Developer's Guide to guide you through creating a HelloWorld project more quickly.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.3.0 (08/16/2018)
+
+### NEW
+
+- Added the support for Aztec codes.
+- New developer's guide (.pdf) to cover common use cases,and re-worked existing PDF content to improve its usability.
+- New API documentation (.chm) to help you find content more easily.
+- Added GetRuntimeSettings and UpdateRuntimeSettings to help you adjust runtime barcode reading settings.
+- Added ResetRuntimeSettings to reset runtime barcode reading settings to default values.
+- Added InitRuntimeSettingsWithString and InitRuntimeSettingsWithFile to initialize barcode reading settings at runtime.
+- Added OutputSettingsToString and OutputSettingsToFile to review runtime barcode reading settings.
+- Added AppendTplStringToRuntimeSettings and AppendTplFileToRuntimeSettings to append a new template string/file to the current runtime settings.
+
+### IMPROVED
+
+- Improved the logic for ExpectedBarcodesCount. Previously the barcodes it returned may be greater than the given value of ExpectedBarcodesCount. Now as long as the expected barcodes found, it will stop continue searching and decoding barcodes.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.2.0 (06/28/2018)
+
+### IMPROVED
+
+- Easy and flexible to create a custom barcode reading template for your specific use case.
+- Greatly improved barcode reading speed.
+- Decreased misreading rate for 1D barcodes.
+- Enhanced performance for reading multiple barcodes from an image.
+- Optimized reading accuracy and speed for blurred QRCode and DataMatrix.
+- Improved the speed for reading barcodes directly from a computer/phone screen.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 4.2.0 (08/09/2016)
+
+Version 4.2.0 marks the initial release of Dynamsoft Barcode Reader Android SDK.
+
+### NEW
+
+- Supports reading a single barcode from Bitmap, images (PNG, JPEG and GIF) and mobile cameras (NV21). Both synchronous and asynchronous barcode decoding methods are provided.
+- Supported barcode types include:
+ - 1D Barcode – Code39, Code93, Code128, Codabar, ITF, EAN13, EAN8, UPCA, UPCE and INDUSTRIAL 2 OF 5.
+ - 2D Barcode – QR Code, PDF 417, Aztec and DataMatrix.
+- Supports Android 4.1 and later.
+- Supported architectures: armeabi-v7a/arm64-v8a.
+
+### IMPROVED
+
+- Changed 1D barcode decoding module to improve recognition accuracy.
+- Improved ResultPoints Property to adjust the sequence of barcode corner points. Now the top-left corner of the barcode is the starting point (x1, y1). The results are returned in the clockwise direction.
diff --git a/programming/android/release-notes/android-8.md b/programming/android/release-notes/android-8.md
new file mode 100644
index 00000000..b3247bfe
--- /dev/null
+++ b/programming/android/release-notes/android-8.md
@@ -0,0 +1,250 @@
+---
+layout: default-layout
+title: Android Release Notes v8.x - Dynamsoft Barcode Reader
+description: This is the release notes page of Dynamsoft Barcode Reader for Android SDK v8.x.
+keywords: release notes, android, version 8.x,
+needAutoGenerateSidebar: true
+needGenerateH3Content: false
+noTitleIndex: true
+permalink: /programming/android/release-notes/android-8.html
+---
+
+# Release Notes for Android SDK - 8.x
+
+## 8.9.3 (03/02/2022)
+
+- Fixed a bug that might cause memory leak when using method setTextResultCallback and setIntermediateResultCallback.
+- Fixed a bug that might cause a crash on Android emulator when using it together with `DynamsoftCameraEnhancer`.
+
+## 8.9.1 (12/28/2021)
+
+- Fixed a bug that might affect the processing speed.
+
+## 8.9.0 (12/16/2021)
+
+
+
+### Version Highlights
+
+
+
+- Preset templates are available for users to configure the `PublicRuntimeSettings` parameters. Users can set the template via the method `updateRuntimeSettings` by specifying an `EnumPresetTemplate` member.
+
+
+
+### Changelog
+
+#### New
+
+- Added method [`setCameraEnhancer`]({{ site.android_api }}primary-video.html#setcameraenhancer) to replace `SetCameraEnhancerPara` and `DCESettingParameters`. This method will simplify the binding of the Camera Enhancer to the Barcode Reader.
+- Added methods [`startScanning`]({{ site.android_api }}primary-video.html#startscanning) and [`stopScanning`]({{ site.android_api }}primary-video.html#stopscanning) to control the start and stop of the video streaming barcode decoding thread. These methods are only active when using the Dynamsoft Camera Enhancer along with the Barcode Reader.
+- Overwrited method [`updateRuntimeSettings`]({{ site.android_api }}primary-parameter-and-runtime-settings-basic.html#updateruntimesettings). Users can specify a member of [`EnumPresetTemplate`]({{ site.mobile_enum }}preset-template.html?lang=android) in the method to select a preset parameter setting template for barcode decoding.
+
+#### Improved
+
+- Simplified the usage of the different Modes in the `PublicRuntimeSettings` such as `LocalizationModes`, `DeblurModes`, and more. Users no longer must configure the entire Modes array to include the skipped entries as well. For example:
+ - In previous versions, when you set the `DeblurModes`:
+
+ ```java
+ runtimeSettings.deblurModes = new int[]{EnumDeblurMode.DM_BASED_ON_LOC_BIN,0,0,0,0,0,0,0};
+ ```
+
+ - In v8.9 version:
+
+ ```java
+ runtimeSettings.deblurModes = new int[]{EnumDeblurMode.DM_BASED_ON_LOC_BIN};
+ ```
+
+#### Deprecated
+
+- The following methods/class are deprecated. They are currently available but will be removed in further updates.
+ - `SetCameraEnhancerPara`
+ - `StartCameraEnhancer`
+ - `StopCameraEnhancer`
+ - `PauseCameraEnhancer`
+ - `ResumeCameraEnhancer`
+ - `DCESettingParameters`
+
+## 8.8.0 (10/19/2021)
+
+
+
+### Version Highlights
+
+
+
+- Added a new localization mode `ONED_FAST_SCAN`, which significantly improved the localization speed for 1D barcodes.
+- Added the ability to specify barcode width, height, angle to improve the recognition speed if you have advance information about barcodes.
+- Optimized the logic of confidence scoring for 2D barcodes. The 2D barcode results with confidence greater than 30 are more accurate.
+
+
+
+### Changelog
+
+#### New
+
+- Added a new `LocalizationModes` item [`LM_ONED_FAST_SCAN`]({{site.parameters_reference}}localization-modes.html#lm_oned_fast_scan), which significantly improved the localization speed for 1D barcodes.
+- Added a `TextResult` attribute `isDPM` to return whether the barcode is recognized by the DPM mode.
+
+#### Improved
+
+- Improved the confidence calculation algorithm for 2D barcode results. Users can get even more accurate results by configuring the confidence filter.
+- Improved the barcode reading speed by applying the localized barcodes filter. The barcodes will be filtered according to the parameters [`BarcodeHeightRangeArray`]({{site.parameters_reference}}barcode-height-range-array.html), [`BarcodeWidthRangeArray`]({{site.parameters_reference}}barcode-width-range-array.html), [`BarcodeAngleRangeArray`]({{site.parameters_reference}}barcode-angle-range-array.html) and [`MinRatioOfBarcodeZoneWidthToHeight`]({{site.parameters_reference}}min-ratio-of-barcode-zone-width-to-height.html).
+- Updated the exception message when the full license is invalid or has expired.
+
+#### Breaking Change(s)
+
+- The low confidence barcode results will no longer be returned by default. The default value of parameter [`minResultConfidence`]({{site.parameters_reference}}min-result-confidence.html) is preset to 30, which can filter out the majority of misreading results and keep as many correct results as possible.
+
+#### API Changes
+
+- Removed IOException from the exceptions of method [`decodeBufferedImage`]({{site.android_api}}primary-decode.html#decodebufferedimage).
+
+#### Fixed
+
+- Fixed a bug that might cause the application to crash when method [`StartCameraEnhancer`]({{site.android_api}}primary-camera.html#startcameraenhancer) or [`StopCameraEnhancer`]({{site.android_api}}primary-camera.html#stopcameraenhancer) is triggered more than once.
+
+## 8.6 (07/15/2021)
+
+
+
+### Version Highlights
+
+
+
+- Improved the confidence calculating algorithm for 1D barcodes. Misreading rate of results with confidence between 30-100 has been significantly reduced.
+- Improved the reading speed on clear images by implementing a new deblur mode `DM_BASED_ON_LOC_BIN`.
+
+
+
+### Changelog
+
+#### New
+
+- Added more samples.
+- Added new API `enableResultVerification`. The barcode decoding results will be verified before output if this feature is enabled. This will highly improve the accuracy of barcode scanning.
+- Added new API `enableDuplicateFilter`. The barcode decoding results will be filtered before output if this feature is enabled. The duplicated results will be output only once for every three seconds.
+- Added two `DeblurMode` Enumerations, `DM_BASED_ON_LOC_BIN` and `DM_SHARPENING_SMOOTHING`, to support more usage scenarios.
+- Added method `initLicenseFromDLS` in `BarcodeReader` class to replace `initLicenseFromLTS`.
+- Added class `DMDLSConnectionParameters` to replace class `DMLTSConnectionParameters`.
+- Added interface `DBRDLSLicenseVerificationListener` and callback `DLSLicenseVerificationCallback` to replace `DBRLTSLicenseVerificationListener` and `LTSLicenseVerificationCallback`.
+
+#### Improved
+
+- Improved the [`confidence`]({{site.android_api}}auxiliary-ExtendedResult.html#confidence) algorithm for 1D barcode results. Users can get even more accurate results by configuring the `confidence` filter.
+
+#### Fixed
+
+- Fixed a bug that might report error "AuthType is not RSA" when activating the license with [`initLicenseFromServer`](../api-reference/primary-license-v8.9.3.html#initlicensefromserver).
+
+## 8.4 (06/08/2021)
+
+### New
+
+- Added a new attribute [`isMirrored`]({{site.android_api}}auxiliary-TextResult.html#ismirrored) to the `TextResult` class. `isMirrored` returns whether the barcode is mirrored.
+- Added a new argument, `ThresholdCompensation`, to the `BinarizationModes` mode arguments.
+
+### Improved
+
+- Faster recognition speeds when detecting dense QR Codes.
+- Improved the performance of boundary identification for DataMatrix codes.
+
+### Deprecated
+
+- `ThreshValueCoefficient` is now deprecated. It still works in this version but could be removed in the near future. We recommend using `ThresholdCompensation` instead.
+
+### Fixed
+
+- Fixed an issue that happens when calling `initLicenseFromLTS` if [`handShakeCode`]({{site.android_api}}auxiliary-DMDLSConnectionParameters.html#handshakecode) is not set.
+- Fixed a bug when trying to build the project in the release mode with code shrinker enabled.
+
+## 8.2.1 (05/27/2021)
+
+### New
+
+- [Dynamsoft Camera Enhancer (DCE)]({{site.dce_android}}) is now available for DBR users to quickly deploy the camera module. We added new APIs and a new class to simplify the user operations when using DBR and DCE at the same time.
+- Added [Camera Enhancer setting APIs]({{site.android_api}}primary-camera.html#start-stop-pause-resume-camera-enhancer). These new APIs will benefit users by easily controlling the status of DCE.
+- Added a new class, [`DCESettingParameters`]({{site.android_api}}auxiliary-DCESettingParameters.html), and a new API, [`SetCameraEnhancerParam`]({{site.android_api}}primary-camera.html#setcameraenhancerparam), to enable the parameter transfer between DBR and DCE. The parameter transferring will improve the focus ability of the camera.
+
+### Improved
+
+- Samples are updated. DCE is handling the camera-related settings in the samples.
+
+## 8.2 (03/17/2021)
+
+### New
+
+- Added a new mode argument, `FindAccurateBoundary`, to [`RegionPredetectionModes`]({{ site.parameters_reference }}Region-Predetection-Modes.html) that determines if the SDK attempts to find an accurate boundary when `RegionPredetectionModes` is set to `RPM_GENERAL_HSV_CONTRAST`.
+- Added a new an attribute, `organizationID` (string) to `DMLTSConnectionParameters`. The attribute adds a new layer of security for both full and trial licenses.
+
+### Improved
+
+- Improved both the localization and decoding algorithms for Postal Codes.
+- Localization mode `LM_STATISTICS_POSTAL_CODE` will not be added automatically when barcode format postal code is enabled. You can still add `LM_STATISTICS_POSTAL_CODE` manually to get better performance on localizing the postal codes.
+
+### Fixed
+
+- Resolved a bug that infrequently causes the application to crash when decoding a MicroPDF417 barcode.
+
+## 8.1.2 (01/22/2021)
+
+### New
+
+- Added `mode`, `page`, `totalPage` and `parityData` in the `QRCodeDetails` Class.
+
+### Improved
+
+- Improved the recognition accuracy for GS1 Databar.
+- Removed the exception code from `barcodeText` when using a valid trial license.
+- Included native C++ DLL files in the .NET assembly files, so users don't need to manually copy these files to the specific folder.
+
+### Fixed
+
+- Fixed a bug where `barcodeFormatString`, `barcodeFormatString_2`, `regionName` and `documentName` don't have value in the `IRT_TYPED_BARCODE_ZONE` intermediate result.
+
+## 8.1.1 (01/19/2021)
+
+### Fixed
+
+- Fixed a crash issue when calling `initLicenseFromLTS` or `decode***` methods in Android 6.x and below.
+
+## 8.1 (01/12/2021)
+
+### New
+
+- Added support for MSI Code (Modified Plessey).
+- Added a new member `barcodeZoneMinDistanceToImageBorders` in the `PublicRuntimeSettings` Class to set the minimum distance (in pixels) between barcode zone and image borders. Previously, it is only available in the JSON template. It can be now configured by setting `PublicRuntimeSettings` -> `barcodeZoneMinDistanceToImageBorders`.
+- Added exception error message to `TextResult` when license initialization fails or decoding authorization fails.
+
+### Improved
+
+- Improved the localization robustness for QR Code.
+- Improved the localization for low quality 1D barcodes.
+- Improved the deblurring performance and recognition rate for DataMatrix.
+- Improved the recognition rate for Aztec.
+
+### Fixed
+
+- Fixed a bug where Micro PDF417 may not be localized in multiple-barcode scenarios.
+- Fixed a bug where the `ExpectedBarcodesCount` and `BarcodeFormat` parameters do not work in the `RegionDefinition`.
+
+## 8.0 (11/17/2020)
+
+### New
+
+- (For `IntermediateResult` Advanced Module) Added support for decoding `IntermediateResult`. For example, users with a binarized image could use this function to skip some image preprocessing steps.
+- Implemented a new licensing tracking mechanism, License 2.0, which makes it easier for users to track license usage.
+- Added a new format control parameter, `BarcodeZoneMinDistanceToImageBorders`, to set the minimum distance (in pixels) between the barcode zone and image borders.
+- Added a new format control parameter, `MinRatioOfBarcodeZoneWidthToHeight`, to set the minimum ratio (width/height) of the barcode zone.
+- Added a new format control parameter, `BarcodeZoneBarCountRangeArray`, to set the barcode zone's range of bar count for barcode search.
+- Added a new argument, `SpatialIndexBlockSize`, for `RPM_GENERAL_RGB_CONTRAST`, `RPM_GENERAL_GRAY_CONTRAST` and `RPM_GENERAL_HSV_CONTRAST`.
+- Added a new parameter, `DeblurModes`, so users can use different deblur algorithms for different scenarios. `DeblurModes` has the following enum types: `DirectBinarization`, `ThresholdBinarization`, `GrayEqulization`, `Smoothing`, `Morphing`, `DeepAnalysis` and `Sharpening`.
+
+### Improved
+
+- Improved the localization speed for the `ScanDirectly` mode.
+- Improved the localization accuracy for DataMatrix codes with a narrow quiet zone.
+
+### Feature Deprecated
+
+- `DeblurLevel` is now deprecated. It still works in this version but could be removed in the near future. We recommend using `DeblurModes` instead.
diff --git a/programming/android/release-notes/android-9.md b/programming/android/release-notes/android-9.md
new file mode 100644
index 00000000..2c54b144
--- /dev/null
+++ b/programming/android/release-notes/android-9.md
@@ -0,0 +1,302 @@
+---
+layout: default-layout
+title: Android Release Notes v9.x - Dynamsoft Barcode Reader
+description: This is the release notes page of Dynamsoft Barcode Reader for Android SDK v9.x.
+keywords: release notes, android, version 9.x,
+needAutoGenerateSidebar: true
+needGenerateH3Content: false
+noTitleIndex: true
+permalink: /programming/android/release-notes/android-9.html
+---
+
+# Release Notes for Android SDK - 9.x
+
+## 9.6.60 (12/23/2025)
+
+This release includes security maintenance updates to ensure continued protection of the product.
+
+### Security Updates
+
+- Updated third-party libraries to incorporate the latest security fixes.
+
+## 9.6.50 (09/23/2025)
+
+### New
+
+- Supported 16 KB page sizes
+
+## 9.6.40 (03/21/2024)
+
+### Improved
+
+- Updated the security of the `DynamsoftBarcodeReader` library and other corresponding dependent libraries.
+- Improved the multi-thread processing logic of concurrent instance licenses.
+- Improved the barcode decoding performance:
+ - Improved the accuracy when decoding OneD & PDF417 barcodes.
+ - Improved the readability of dense DataMatrix codes.
+
+### Changed
+
+- Added a new error code `DM_LICENSE_CACHE_USED`, which is returned when failing to connect to the license server but a valid license cache is available. Error codes `DM_FAILED_TO_REACH_DLS` and `DM_LICENSE_SYNC_FAILED` are no longer returned in this scenario.
+
+### Fixed
+
+- Fixed crash bugs in the barcode decoding algorithm.
+- Fixed a bug where the location of the barcode result(s) might be incorrect.
+
+## 9.6.20 (03/16/2023)
+
+### Fixed
+
+- Fixed a bug where license authorization may fail when the main license server is not available.
+- Other small fixes and tweaks.
+
+## 9.6.11 (01/16/2023)
+
+### Fixed
+
+- Fixed a bug that the barcode decoding thread might not restart when [`startScanning`](../api-reference/primary-video.html#startscanning) is triggered shortly after [`stopScanning`](../api-reference/primary-video.html#stopscanning).
+
+## 9.6.10 (01/10/2023)
+
+### Fixed
+
+- Fixed a bug that some OneD barcodes without start & stop characters are not decoded when parameter [`RequireStartStopChars`]({{ site.parameters_reference }}require-start-stop-chars.html) is set to 0.
+- Fixed a crash bug by adding protection in algorithm.
+
+### Improved
+
+- Improved the performance of Direct Part Marking (DPM) barcode decoding.
+- Improved the performance of GS1 Databar barcode decoding.
+
+## 9.6.0 (12/13/2022)
+
+
+
+### Version Highlights
+
+
+
+- **Image orientation** handling is supported by a new feature. With the new feature, you can:
+ - Get a **TranformationMatrix** along with the barcode location result.
+ - Implement coordinates transformation on the barcode location result with the **TransformationMatrix**.
+- **DotCode** decoding is improved by optimizing the localization of DotCodes that are close to one another.
+
+
+

+
+
+- **EAN8 barcode** decoding is improved by honing the accuracy of localization algorithms.
+- **QR code** localizing is improved by reducing the mis-assemble rate of the finder patterns when using the localization mode LM_CONNECTED_BLOCK or LM_SCAN_DIRECTLY, which are designed for speed. The mis-assembling only occurs when there exist dense QR codes on the same image.
+- **Mirrored rectangular DataMatrix barcode** is supported by implementing `MirrorMode` when localizing the barcodes.
+
+
+

+
+
+- Deformed barcode decoding is improved by extending the supported modes and mode arguments of `DeformationResistingModes`.
+
+
+
+### Changelog
+
+#### New
+
+- Added a new method [`setLogConfig`](../api-reference/primary-status-retrieval.html#setlogconfig) so that user can get log information of the algorithm. Enumeration [`EnumLogMode`](../../enumeration/log-mode.html) is added so that users can set whether to save the log information.
+- Enabled decoding methods [`decodeFile`](../api-reference/primary-decode.html#decodebuffer), [`decodeFileinMemory`](../api-reference/primary-decode.html#decodefileinmemoryfilebytes) and [`decodeBase64String`](../api-reference/primary-decode.html#decodebase64string) to read EXIF data of the given image so that the library can obtain the orientation information when processing image file.
+- Override method [`decodeBuffer`](../api-reference/primary-decode.html#decodebuffer). You can input an [`ImageData`](../api-reference/auxiliary-ImageData.html) object as the barcode decoding parameter. The library can obtain the orientation information from the `ImageData` object.
+- Added a new property [`transformationMatrix`](../api-reference/auxiliary-LocalizationResult.html#transformationmatrix) to class `LocalizationResult` so that the library can output a transformation matrix for users to transform the coordinates of the barcode result.
+- Added a new method [`setDuplicateForgetTime`](../api-reference/primary-video.html#setduplicateforgettime) to filter out all duplicate barcode results for a period of time when processing video streaming.
+- Added new properties [`hasLeftRowIndicator`](../api-reference/auxiliary-PDF417Details.html#hasleftrowindicator) and [`hasRightRowIndicator`](../api-reference/auxiliary-PDF417Details.html#hasrightrowindicator) to class `PDF417Details` to return whether the left or right row indicator of the PDF417 barcode is detected.
+- Added a new member [`BF2_ALL`](../../enumeration/barcode-format.html) to enumeration `BarcodeFormatIds_2`.
+- Extended the features of `DeformationResistingModes`:
+ - Extended the valid mode arguments of `DRM_BROAD_WARP`, `DRM_LOCAL_REFERENCE` and `DRM_DEWRINKLE` with two new arguments: `GrayscaleEnhancementMode` and `BinarizationMode`.
+ - Support mode `DRM_AUTO`.
+
+#### Improved
+
+- Improved the accuracy when processing multiple QR codes.
+- Improved the processing speed by excluding incorrectly located barcode zones before decoding.
+- Improved the creation, destruction, and acquisition logic of concurrent instances.
+- Improved the scan count of duplicate barcodes when the **Charge Way** is **per scan**.
+- Improved the accuracy of EAN8 localization result(s).
+- Improved the localization of **mirrored DataMatrix barcode** by implementing `MirrorMode`.
+
+#### Fixed
+
+- Fixed a bug that DotCodes might not be decoded when they are densely arranged.
+- Fixed a crash bug when trying to output a template which includes customized value for parameterd `BarcodeTextRegEexPattern`.
+- Fixed a bug that might cause memory churn when the instance/thread was created frequently.
+
+#### Removed
+
+- Removed `destroy` from class `BarcodeReader`.
+
+## 9.4.0 (11/04/2022)
+
+
+
+### Version Highlights
+
+
+
+- DotCode decoding has been improved by optimizing the localization and decoding algorithm.
+- Stacked, skewed or perspective distorted OneD barcode decoding has been improved.
+
+
+
+### Changelog
+
+#### New
+
+- Added an argument [`IsOneDStacked`]({{ site.parameters_reference }}localization-modes.html#isonedstacked) to `LM_SCAN_DIRECTLY` to process stacked OneD barcodes.
+- Added a parameter [`PatchCodeSearchingMargins`]({{ site.parameters_reference }}patchcode-searching-margins.html) to specify the searching area of PatchCode.
+- Added the supported data format of [`FormatSpecification.PartitionModes`]({{ site.parameters_reference }}partition-modes.html) to enhance the readability of the parameters. Users can use a list of enumeration names to specify the `PartitionModes`.
+
+#### Improved
+
+- Improved the localization mode `LM_LINES` to better support skewed and perspective OneD barcodes.
+- Enhanced tamper resistance of the license keys so that any change to the license string makes it invalid.
+
+#### Deprecated
+
+- Deprecated the attribute `barcodeFormatString_2` of [`TextResult`](../api-reference/auxiliary-TextResult.html), [`ExtendedResult`](../api-reference/auxiliary-ExtendedResult.html) and [`LocalizationResult`](../api-reference/auxiliary-LocalizationResult.html). All the barcode format strings will be returned by the attribute [`barcodeFormatString`](../api-reference/auxiliary-TextResult.html#barcodeformatstring).
+
+## 9.2.10 (06/28/2022)
+
+
+
+### Version Highlights
+
+
+
+- Barcode boundary-seeking algorithm is refactored to improve stability.
+- Pharmacode decoding is optimized to improve accuracy.
+- The function of device-alias is added to allow users to give each device a readable name. For end-users and administrators, this makes it more friendly to distinguish between devices about license usage statistics.
+
+
+
+### Changelog
+
+#### New
+
+- Added a new method [`setDeviceFriendlyName`]({{ site.android_api }}primary-license.html#setdevicefriendlyname) to set a human-readable name that identifies the device.
+- Added a new interface [`ImageSource`]({{ site.android_api }}interface-imagesource.html). It act as an adapter that transfer image data from external resources to the format that can be recognized by the Barcode Reader. The following APIs are available for users to reduce the code complexity when working with [`ImageSource`]({{ site.android_api }}interface-imagesource.html):
+ - [`setImageSource`]({{ site.android_api }}primary-video.html#setimagesource): Set [`ImageSource`]({{ site.android_api }}interface-imagesource.html) as the source of image data.
+ - [`startScanning`]({{ site.android_api }}primary-video.html#startscanning): Start obaining image from the [`ImageSource`]({{ site.android_api }}interface-imagesource.html) continuously.
+ - [`stopScanning`]({{ site.android_api }}primary-video.html#stopscanning): Stop obtaining image from the [`ImageSource`]({{ site.android_api }}interface-imagesource.html).
+ - [`TextResultListener`]({{ site.android_api }}interface-textresultcallback.html): The protocol that includes a callback method for users to receive decoded barcode results when decoding from the [`ImageSource`]({{ site.android_api }}interface-imagesource.html).
+- Added a new methods [`setMinImageReadingInterval`]({{ site.android_api }}primary-video.html#setminimagereadinginterval) to set a minimum interval between two barcode decoding.
+
+## 9.0.2 (05/26/2022)
+
+### New
+
+- Added the following property/Method to iImageData class:
+ - [`toBitmap`]({{ site.android_api }}auxiliary-ImageData.html#tobitmap): The method that can convert the ImageData to a Bitmap.
+ - [`orientation`]({{ site.android_api }}auxiliary-ImageData.html#orientation): The property that indicates the orientation of the image.
+
+### Changed
+
+- Changed [`getVersion`]({{ site.android_api }}primary-status-retrieval.html#getversion) from a dynamic method to a static method. The format of the return value is changed as well.
+
+### Fixed
+
+- Fixed a bug that `TextResult` might not be returned in `TextResultCallback`
+
+## 9.0.1 (04/20/2022)
+
+### Fixed
+
+- Fixed a bug that might offset the position of highlight overlays on the decoded barcodes when used together with `DynamsoftCameraEnhancer`.
+
+## 9.0.0 (03/22/2022)
+
+### Highlights
+
+- Simplified the license activation steps. Different license activation APIs are integrated into `initLicense` method.
+- Added support for **Pharmacode**.
+- Added support for **Code 11**, a 1D format.
+- Deformation resisting modes `DRM_BROAD_WARP`, `DRM_LOCAL_REFERENCE` and `DRM_DEWRINKLE` are optimized and detached from `DRM_GENERAL`. Users can specify a more effective deformation resisting mode when processing **QRCode** and **DataMatrix codes**.
+- Optimized the confidence scoring system for **PDF417 codes**.
+
+### Changelog
+
+#### New
+
+- Added `BF_CODE_11` under enumeration [`EnumBarcodeFormat`]({{ site.mobile_enum }}barcode-format.html?lang=android) to specify newly supported barcode format, Code 11. The enumeration value of `BF_ONED` and `BF_ALL` are updated as well.
+- Added `BF2_PHARMACODE_ONE_TRACK`, `BF2_PHARMACODE_TWO_TRACK` and `BF2_PHARMACODE` under enumeration [`EnumBarcodeFormat_2`]({{ site.mobile_enum }}barcode-format2.html?lang=android). to specify newly supported barcode format, Pharmacode.
+- Added a new error code [`DBRERR_PHARMACODE_LICENSE_INVALID`]({{ site.mobile_enum }}error-code.html#error-code--10062) which will be returned when the license of Pharmacode is invalid.
+- Added `DRM_BROAD_WARP`, `DRM_LOCAL_REFERENCE` and `DRM_DEWRINKLE` under enumeration [`EnumDeformationResistingMode`]({{ site.mobile_enum }}deformation-resisting-mode.html?lang=android) to apply new deformation resisting modes.
+- Added a parameter [`FormatSpecification.VerifyCheckDigit`]({{ site.parameters_reference }}verify-check-digit.html).
+- Added new argument [`ConfidenceThreshold`]({{ site.parameters_reference }}localization-modes.html#confidencethreshold) to the `Landroid_apializationModes` mode arguments.
+- Added static method [`BarcodeReader.initLicense`]({{ site.android_api }}primary-license.html#initlicense) to replace legacy license activation APIs. The new method will support both online and offline licenses.
+- Added interface [`DBRLicenseVerificationListener`]({{ site.android_api }}interface-dbrlicenseverificationlistener.html) to get license verification callback when using `BarcodeReader.initLicense`.
+- Added interface [`TextResultListener`]({{ site.android_api }}interface-textresultcallback.html).
+- Added interface [`IntermediateResultListener`]({{ site.android_api }}interface-intermediateresultcallback.html).
+- Added the following image [decoding methods]({{ site.android_api }}primary-decode.html). The parameter `templateName` is not required in the new methods.
+ - `BarcodeReader.decodeBuffer`
+ - `BarcodeReader.decodeFile`
+ - `BarcodeReader.decodeFileInMemory`
+ - `BarcodeReader.decodeBase64String`
+ - `BarcodeReader.decodeBufferedImage`
+ - `BarcodeReader.decodeIntermediateResults`
+
+#### Fixed
+
+- Fixed a bug that might cause a crash when using multiple threads for barcode decoding.
+
+#### Deprecated
+
+- The following license activation APIs are deprecated and will be removed in 10.0 release:
+ - Class `DMDLSConnectionParameters`
+ - Interface `DBRServerLicenseVerificationListener`
+ - Interface `DBRDLSLicenseVerificationListener`
+ - Enumeration `EnumDMChargeWay`
+ - Enumeration `EnumDMLicenseModule`
+ - Enumeration `EnumDMUUIDGenerationMethod`
+ - Enumeration `EnumProduct`
+ - Method `BarcodeReader.initLicenseFromServer`
+ - Method `BarcodeReader.initLicenseFromLicenseContent`
+ - Method `BarcodeReader.initLicenseFromDLS`
+ - Method `BarcodeReader.outputLicenseToString`
+
+- The image decoding methods with parameter templateName are deprecated
+ - `BarcodeReader.decodeBuffer`
+ - `BarcodeReader.decodeFile`
+ - `BarcodeReader.decodeFileInMemory`
+ - `BarcodeReader.decodeBase64String`
+ - `BarcodeReader.decodeBufferedImage`
+ - `BarcodeReader.decodeIntermediateResults`
+
+- Interface `TextResultCallback` is deprecated.
+- Interface `IntermediateResultCallback` is deprecated.
+
+#### Breaking Changes
+
+- Configurations of the preset templates are changed.
+ - Changed the configurations of `EnumPresetTemplate.DEFAULT` to `EnumPresetTemplate.VIEDE_SINGLE_BARCODE`.
+ - Added template `EnumPresetTemplate.IMAGE_DEFAULT` to store the legacy configurations of `EnumPresetTemplate.DEFAULT`.
+- Removed legacy video barcode decoding APIs
+ - Class `DCESettingParameters`
+ - Class `FrameDecodingParameters`
+ - Enumeration `EnumClarityCalculationMethod`
+ - Enumeration `EnumClarityFilterMode`
+ - Interface `ErrorCallback`
+ - Method `BarcodeReader.SetCameraEnhancerParam`
+ - Method `BarcodeReader.StartCameraEnhancer`
+ - Method `BarcodeReader.StopCameraEnhancer`
+ - Method `BarcodeReader.PauseCameraEnhancer`
+ - Method `BarcodeReader.ResumeCameraEnhancer`
+ - Method `BarcodeReader.startFrameDecoding`
+ - Method `BarcodeReader.startFrameDecodingEx`
+ - Method `BarcodeReader.appendFrame`
+ - Method `BarcodeReader.setErrorCallback`
+ - Method `BarcodeReader.stopFrameDecoding`
+ - Method `BarcodeReader.initFrameDecodingParameters`
+ - Method `BarcodeReader.getLenghtOfFrameQueue`
+
+- Removed the following legacy license activation APIs
+ - Interface `DMLTSConnectionParameters`
+ - Protocol `DBRLTSLicenseVerificationListener`
+ - Method `initLicenseFromLTS`
diff --git a/programming/android/release-notes/index.md b/programming/android/release-notes/index.md
index 97565519..2c6ef69f 100644
--- a/programming/android/release-notes/index.md
+++ b/programming/android/release-notes/index.md
@@ -20,56 +20,56 @@ breadcrumbText: Release Notes
- [11.2.1000 (10/16/2025)]({{ site.android_release_notes }}android-11.html#1121000-10162025)
- [11.0.5000 (07/29/2025)]({{ site.android_release_notes }}android-11.html#1105000-07292025)
- [11.0.3000 (05/15/2025)]({{ site.android_release_notes }}android-11.html#1103000-05152025)
-- [10.4.3002 (03/07/2025)]({{ site.android_release_notes_v10 }}android-10.html#1043002-03072025)
-- [10.4.3001 (02/11/2025)]({{ site.android_release_notes_v10 }}android-10.html#1043001-02112025)
-- [10.4.3000 (01/23/2025)]({{ site.android_release_notes_v10 }}android-10.html#1043000-01232025)
-- [10.4.2003 (12/26/2024)]({{ site.android_release_notes_v10 }}android-10.html#1042003-12262024)
-- [10.4.2002 (12/16/2024)]({{ site.android_release_notes_v10 }}android-10.html#1042002-12162024)
-- [10.4.2001 (11/13/2024)]({{ site.android_release_notes_v10 }}android-10.html#1042001-11132024)
-- [10.4.2000 (10/11/2024)]({{ site.android_release_notes_v10 }}android-10.html#1042000-10112024)
-- [10.2.1100 (05/15/2024)]({{ site.android_release_notes_v10 }}android-10.html#1021100-05152024)
-- [10.2.10 (04/16/2024)]({{ site.android_release_notes_v10 }}android-10.html#10210-04162024)
-- [10.0.21 (12/12/2023)]({{ site.android_release_notes_v10 }}android-10.html#10021-12122023)
-- [10.0.20 (10/26/2023)]({{ site.android_release_notes_v10 }}android-10.html#10020-10262023)
-- [9.6.60 (12/23/2025)]({{ site.android_release_notes_v9 }}android-9.html#9660-12232025)
-- [9.6.50 (09/23/2025)]({{ site.android_release_notes_v9 }}android-9.html#9650-09232025)
-- [9.6.40 (03/21/2024)]({{ site.android_release_notes_v9 }}android-9.html#9640-03212024)
-- [9.6.20 (03/16/2023)]({{ site.android_release_notes_v9 }}android-9.html#9620-03162023)
-- [9.6.11 (01/16/2023)]({{ site.android_release_notes_v9 }}android-9.html#9611-01162023)
-- [9.6.10 (01/10/2023)]({{ site.android_release_notes_v9 }}android-9.html#9610-01102023)
-- [9.6.0 (12/13/2022)]({{ site.android_release_notes_v9 }}android-9.html#960-12132022)
-- [9.4.0 (11/04/2022)]({{ site.android_release_notes_v9 }}android-9.html#940-11042022)
-- [9.2.10 (06/28/2022)]({{ site.android_release_notes_v9 }}android-9.html#9210-06282022)
-- [9.0.2 (05/26/2022)]({{ site.android_release_notes_v9 }}android-9.html#902-05262022)
-- [9.0.1 (04/20/2022)]({{ site.android_release_notes_v9 }}android-9.html#901-04202022)
-- [9.0.0 (03/22/2022)]({{ site.android_release_notes_v9 }}android-9.html#900-03222022)
-- [8.9.3 (03/02/2021)]({{ site.android_release_notes_v9 }}android-8.html#893-03022022)
-- [8.9.1 (12/28/2021)]({{ site.android_release_notes_v9 }}android-8.html#891-12282021)
-- [8.9.0 (12/16/2021)]({{ site.android_release_notes_v9 }}android-8.html#890-12162021)
-- [8.8.0 (10/19/2021)]({{ site.android_release_notes_v9 }}android-8.html#880-10192021)
-- [8.6.0 (07/15/2021)]({{ site.android_release_notes_v9 }}android-8.html#860-07152021)
-- [8.4.0 (06/08/2021)]({{ site.android_release_notes_v9 }}android-8.html#840-06082021)
-- [8.2.1 (05/27/2021)]({{ site.android_release_notes_v9 }}android-8.html#821-05272021)
-- [8.2.0 (03/17/2021)]({{ site.android_release_notes_v9 }}android-8.html#820-03172021)
-- [8.1.2 (01/22/2021)]({{ site.android_release_notes_v9 }}android-8.html#812-01222021)
-- [8.1.1 (01/19/2021)]({{ site.android_release_notes_v9 }}android-8.html#811-01192021)
-- [8.1.0 (01/12/2021)]({{ site.android_release_notes_v9 }}android-8.html#810-01122021)
-- [8.0.0 (11/17/2020)]({{ site.android_release_notes_v9 }}android-8.html#800-11172020)
-- [7.6.1 (11/04/2020)]({{ site.android_release_notes_v9 }}android-7.html#761-11042020)
-- [7.6.0 (09/01/2020)]({{ site.android_release_notes_v9 }}android-7.html#760-09012020)
-- [7.5.0 (07/22/2020)]({{ site.android_release_notes_v9 }}android-7.html#750-07222020)
-- [7.4.0 (04/16/2020)]({{ site.android_release_notes_v9 }}android-7.html#740-04162020)
-- [7.3.0 (01/02/2020)]({{ site.android_release_notes_v9 }}android-7.html#730-01022020)
-- [7.2.2 (11/13/2019)]({{ site.android_release_notes_v9 }}android-7.html#722-11132019)
-- [7.2.1 (11/12/2019)]({{ site.android_release_notes_v9 }}android-7.html#721-11122019)
-- [7.2.0 (09/24/2019)]({{ site.android_release_notes_v9 }}android-7.html#720-09242019)
-- [7.1.0 (08/15/2019)]({{ site.android_release_notes_v9 }}android-7.html#710-08152019)
-- [7.0.0 (07/11/2019)]({{ site.android_release_notes_v9 }}android-7.html#700-07112019)
-- [6.5.2 (05/28/2019)]({{ site.android_release_notes_v9 }}android-7.html#652-05282019)
-- [6.5.1 (04/16/2019)]({{ site.android_release_notes_v9 }}android-7.html#651-04162019)
-- [6.5.0 (02/26/2019)]({{ site.android_release_notes_v9 }}android-7.html#650-02262019)
-- [6.4.1 (11/22/2018)]({{ site.android_release_notes_v9 }}android-7.html#641-11222018)
-- [6.4.0 (10/15/2018)]({{ site.android_release_notes_v9 }}android-7.html#640-10152018)
-- [6.3.0 (08/16/2018)]({{ site.android_release_notes_v9 }}android-7.html#630-08162018)
-- [6.2.0 (06/28/2018)]({{ site.android_release_notes_v9 }}android-7.html#620-06282018)
-- [4.2.0 (08/09/2016)]({{ site.android_release_notes_v9 }}android-7.html#420-08092016)
+- [10.4.3002 (03/07/2025)]({{ site.android_release_notes }}android-10.html#1043002-03072025)
+- [10.4.3001 (02/11/2025)]({{ site.android_release_notes }}android-10.html#1043001-02112025)
+- [10.4.3000 (01/23/2025)]({{ site.android_release_notes }}android-10.html#1043000-01232025)
+- [10.4.2003 (12/26/2024)]({{ site.android_release_notes }}android-10.html#1042003-12262024)
+- [10.4.2002 (12/16/2024)]({{ site.android_release_notes }}android-10.html#1042002-12162024)
+- [10.4.2001 (11/13/2024)]({{ site.android_release_notes }}android-10.html#1042001-11132024)
+- [10.4.2000 (10/11/2024)]({{ site.android_release_notes }}android-10.html#1042000-10112024)
+- [10.2.1100 (05/15/2024)]({{ site.android_release_notes }}android-10.html#1021100-05152024)
+- [10.2.10 (04/16/2024)]({{ site.android_release_notes }}android-10.html#10210-04162024)
+- [10.0.21 (12/12/2023)]({{ site.android_release_notes }}android-10.html#10021-12122023)
+- [10.0.20 (10/26/2023)]({{ site.android_release_notes }}android-10.html#10020-10262023)
+- [9.6.60 (12/23/2025)]({{ site.android_release_notes }}android-9.html#9660-12232025)
+- [9.6.50 (09/23/2025)]({{ site.android_release_notes }}android-9.html#9650-09232025)
+- [9.6.40 (03/21/2024)]({{ site.android_release_notes }}android-9.html#9640-03212024)
+- [9.6.20 (03/16/2023)]({{ site.android_release_notes }}android-9.html#9620-03162023)
+- [9.6.11 (01/16/2023)]({{ site.android_release_notes }}android-9.html#9611-01162023)
+- [9.6.10 (01/10/2023)]({{ site.android_release_notes }}android-9.html#9610-01102023)
+- [9.6.0 (12/13/2022)]({{ site.android_release_notes }}android-9.html#960-12132022)
+- [9.4.0 (11/04/2022)]({{ site.android_release_notes }}android-9.html#940-11042022)
+- [9.2.10 (06/28/2022)]({{ site.android_release_notes }}android-9.html#9210-06282022)
+- [9.0.2 (05/26/2022)]({{ site.android_release_notes }}android-9.html#902-05262022)
+- [9.0.1 (04/20/2022)]({{ site.android_release_notes }}android-9.html#901-04202022)
+- [9.0.0 (03/22/2022)]({{ site.android_release_notes }}android-9.html#900-03222022)
+- [8.9.3 (03/02/2021)]({{ site.android_release_notes }}android-8.html#893-03022022)
+- [8.9.1 (12/28/2021)]({{ site.android_release_notes }}android-8.html#891-12282021)
+- [8.9.0 (12/16/2021)]({{ site.android_release_notes }}android-8.html#890-12162021)
+- [8.8.0 (10/19/2021)]({{ site.android_release_notes }}android-8.html#880-10192021)
+- [8.6.0 (07/15/2021)]({{ site.android_release_notes }}android-8.html#860-07152021)
+- [8.4.0 (06/08/2021)]({{ site.android_release_notes }}android-8.html#840-06082021)
+- [8.2.1 (05/27/2021)]({{ site.android_release_notes }}android-8.html#821-05272021)
+- [8.2.0 (03/17/2021)]({{ site.android_release_notes }}android-8.html#820-03172021)
+- [8.1.2 (01/22/2021)]({{ site.android_release_notes }}android-8.html#812-01222021)
+- [8.1.1 (01/19/2021)]({{ site.android_release_notes }}android-8.html#811-01192021)
+- [8.1.0 (01/12/2021)]({{ site.android_release_notes }}android-8.html#810-01122021)
+- [8.0.0 (11/17/2020)]({{ site.android_release_notes }}android-8.html#800-11172020)
+- [7.6.1 (11/04/2020)]({{ site.android_release_notes }}android-7.html#761-11042020)
+- [7.6.0 (09/01/2020)]({{ site.android_release_notes }}android-7.html#760-09012020)
+- [7.5.0 (07/22/2020)]({{ site.android_release_notes }}android-7.html#750-07222020)
+- [7.4.0 (04/16/2020)]({{ site.android_release_notes }}android-7.html#740-04162020)
+- [7.3.0 (01/02/2020)]({{ site.android_release_notes }}android-7.html#730-01022020)
+- [7.2.2 (11/13/2019)]({{ site.android_release_notes }}android-7.html#722-11132019)
+- [7.2.1 (11/12/2019)]({{ site.android_release_notes }}android-7.html#721-11122019)
+- [7.2.0 (09/24/2019)]({{ site.android_release_notes }}android-7.html#720-09242019)
+- [7.1.0 (08/15/2019)]({{ site.android_release_notes }}android-7.html#710-08152019)
+- [7.0.0 (07/11/2019)]({{ site.android_release_notes }}android-7.html#700-07112019)
+- [6.5.2 (05/28/2019)]({{ site.android_release_notes }}android-7.html#652-05282019)
+- [6.5.1 (04/16/2019)]({{ site.android_release_notes }}android-7.html#651-04162019)
+- [6.5.0 (02/26/2019)]({{ site.android_release_notes }}android-7.html#650-02262019)
+- [6.4.1 (11/22/2018)]({{ site.android_release_notes }}android-7.html#641-11222018)
+- [6.4.0 (10/15/2018)]({{ site.android_release_notes }}android-7.html#640-10152018)
+- [6.3.0 (08/16/2018)]({{ site.android_release_notes }}android-7.html#630-08162018)
+- [6.2.0 (06/28/2018)]({{ site.android_release_notes }}android-7.html#620-06282018)
+- [4.2.0 (08/09/2016)]({{ site.android_release_notes }}android-7.html#420-08092016)
diff --git a/programming/flutter/release-notes/flutter-11.md b/programming/flutter/release-notes/flutter-11.md
index fe2b6415..55acbd18 100644
--- a/programming/flutter/release-notes/flutter-11.md
+++ b/programming/flutter/release-notes/flutter-11.md
@@ -9,6 +9,43 @@ breadcrumbText: Release Notes
# Dynamsoft Barcode Reader Flutter SDK - Release Notes
+## 11.6.2000 (09/10/2026)
+
+### Highlights
+
+#### Multi-Threaded Barcode Decoding
+
+- **Get results sooner with parallel processing** - Barcode decoding now uses a breadth-first strategy that decomposes a single DBR Task into one Localization Work and one or more Decoding Works. This improves thread utilization and reduces the chance that a slow `DeblurMode` attempt blocks other faster decoding attempts, helping valid results come back sooner.
+
+#### DataMatrix Color Inversion Detection
+
+- **Handle normal and inverted DataMatrix more efficiently** - Added [`AutoDetectColorInversion`]({{ site.dcvb_parameters_reference }}barcode-format-specification/auto-detect-color-inversion.html) to automatically handle both normal and inverted DataMatrix barcodes. Instead of processing the whole image twice, the SDK applies dual-polarity handling only to localized DataMatrix regions, which makes processing faster in dual-polarity scenarios.
+
+#### Cross-Version License Support
+
+- **Use a single license across SDK versions** - Full License 1.0 keys (starting with "f") that are non-perpetual are no longer version-checked, so the same key can be used across SDK versions without reactivation.
+
+### New
+
+- Added support for Micro PDF417-specific decoding mode.
+
+- Added [`centrePoint`]({{ site.dcv_flutter_api }}core/quadrilateral.html#centrepoint) property to `Quadrilateral`.
+
+- Added [`AutoDetectColorInversion`]({{ site.dcvb_parameters_reference }}barcode-format-specification/auto-detect-color-inversion.html) parameter for `BarcodeFormatSpecification` to support automatic color-inversion detection for DataMatrix barcodes.
+
+### Changed
+
+- [`MaxParallelTasks`]({{ site.dcvb_parameters_reference }}capture-vision-template/max-parallel-tasks.html) now controls the total number of Work-level threads in the CVR thread pool. For DBR tasks, each Localization Work and Decoding Work occupies one thread slot. DLR and DDN tasks continue to occupy one thread per task.
+
+- [`set_device_friendly_name()`]({{ site.dcv_flutter_api }}license/license-manager.html#set_device_friendly_name) now enforces parameter constraints: maximum 64 characters, allowed characters are letters (a-z, A-Z), digits (0-9), hyphen (-), underscore (_), and period (.), and must start and end with a letter or digit. Returns [`EC_PARAMETER_VALUE_INVALID`]({{ site.dcv_flutter_api }}core/enum-error-code.html) if constraints are not met.
+
+- Improved the default display behavior of corner adjustment points in `ImageEditorView`. Previously, users had to tap the view before the corner adjustment points became visible.
+
+### Fixed
+
+- Fixed an issue in GS1-Databar AI `17` (YYMMDD) results where the month field could be missing a leading zero.
+- Fixed several known crash issues.
+
## 11.4.3000 (07/10/2026)
### Security Updates
diff --git a/programming/flutter/release-notes/index.md b/programming/flutter/release-notes/index.md
index c35caefb..553ec74c 100644
--- a/programming/flutter/release-notes/index.md
+++ b/programming/flutter/release-notes/index.md
@@ -9,6 +9,7 @@ breadcrumbText: Release Notes
# Dynamsoft Barcode Reader Flutter SDK - Release Notes
+- [11.6.2000 (09/10/2026)](flutter-11.md#1162000-09102026)
- [11.4.3000 (07/10/2026)](flutter-11.md#1143000-07102026)
- [11.4.1300 (05/20/2026)](flutter-11.md#1141300-05202026)
- [11.4.1200 (04/16/2026)](flutter-11.md#1141200-04162026)
diff --git a/programming/flutter/samples/index.md b/programming/flutter/samples/index.md
index 31760833..5992475d 100644
--- a/programming/flutter/samples/index.md
+++ b/programming/flutter/samples/index.md
@@ -25,12 +25,6 @@ This is a sample that demonstrates the simplest implementation of the Barcode Re
[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-flutter-samples/tree/main/ScanBarcodes_ReadyToUseComponent){:target="_blank"}
-### ScanDriverLicense
-
-This sample demonstrates the simplest implementation of the Barcode Reader for recognizing a PDF417 barcode from video streaming and extracting structured data from its encoded data.
-
-[Check code on GitHub](https://github.com/Dynamsoft/barcode-reader-flutter-samples/tree/main/ScanDriversLicense){:target="_blank"}
-
## Demos
If you would like to see the Barcode Reader in action before starting the development journey, we have a demo app available on both the App Store as well as the Google Play Store.
diff --git a/programming/objectivec-swift/release-notes/index.md b/programming/objectivec-swift/release-notes/index.md
index 39aee8e6..d927d167 100644
--- a/programming/objectivec-swift/release-notes/index.md
+++ b/programming/objectivec-swift/release-notes/index.md
@@ -22,58 +22,58 @@ breadcrumbText: Release Notes
- [11.0.5100 (08/05/2025)]({{ site.oc_release_notes }}ios-11.html#1105100-08052025)
- [11.0.5000 (07/29/2025)]({{ site.oc_release_notes }}ios-11.html#1105000-07292025)
- [11.0.3000 (05/15/2025)]({{ site.oc_release_notes }}ios-11.html#1103000-05152025)
-- [10.4.3002 (03/07/2025)]({{ site.oc_release_notes_v10 }}ios-10.html#1043002-03072025)
-- [10.4.3001 (02/11/2025)]({{ site.oc_release_notes_v10 }}ios-10.html#1043001-02112025)
-- [10.4.3000 (01/23/2025)]({{ site.oc_release_notes_v10 }}ios-10.html#1043000-01232025)
-- [10.4.2003 (12/26/2024)]({{ site.oc_release_notes_v10 }}ios-10.html#1042003-12262024)
-- [10.4.2002 (12/16/2024)]({{ site.oc_release_notes_v10 }}ios-10.html#1042002-12162024)
-- [10.4.2001 (11/13/2024)]({{ site.oc_release_notes_v10 }}ios-10.html#1042001-11132024)
-- [10.4.2000 (10/11/2024)]({{ site.oc_release_notes_v10 }}ios-10.html#1042000-10112024)
-- [10.2.1101 (07/24/2024)]({{ site.oc_release_notes_v10 }}ios-10.html#1021101-07242024)
-- [10.2.1100 (05/15/2024)]({{ site.oc_release_notes_v10 }}ios-10.html#1021100-05152024)
-- [10.2.10 (04/16/2024)]({{ site.oc_release_notes_v10 }}ios-10.html#10210-04162024)
-- [10.0.21 (12/12/2023)]({{ site.oc_release_notes_v10 }}ios-10.html#10021-12122023)
-- [10.0.20 (10/26/2023)]({{ site.oc_release_notes_v10 }}ios-10.html#10020-10262023)
-- [9.6.60 (12/23/2025)]({{ site.oc_release_notes_v9 }}ios-9.html#9660-12232025)
-- [9.6.40 (03/21/2024)]({{ site.oc_release_notes_v9 }}ios-9.html#9640-03212024)
-- [9.6.21 (03/27/2023)]({{ site.oc_release_notes_v9 }}ios-9.html#9621-03272023)
-- [9.6.20 (03/16/2023)]({{ site.oc_release_notes_v9 }}ios-9.html#9620-03162023)
-- [9.6.10 (01/10/2023)]({{ site.oc_release_notes_v9 }}ios-9.html#9610-01102023)
-- [9.6.0 (12/13/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#960-12132022)
-- [9.4.0 (11/04/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#940-11042022)
-- [9.2.13 (09/05/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#9213-09052022)
-- [9.2.12 (08/02/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#9212-08022022)
-- [9.2.11 (07/11/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#9211-07112022)
-- [9.2.10 (06/28/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#9210-06282022)
-- [9.0.2 (05/26/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#902-05262022)
-- [9.0.1 (04/20/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#901-04202022)
-- [9.0.0 (03/22/2022)]({{ site.oc_release_notes_v9 }}ios-9.html#900-03222022)
-- [8.9.3 (03/02/2022)]({{ site.oc_release_notes_v9 }}ios-8.html#893-03022021)
-- [8.9.1 (12/28/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#891-12282021)
-- [8.9.0 (12/16/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#890-12162021)
-- [8.8.0 (10/19/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#880-10192021)
-- [8.6.0 (07/15/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#860-07152021)
-- [8.4.0 (06/08/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#840-06082021)
-- [8.2.1 (05/27/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#821-05272021)
-- [8.2.0 (03/17/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#820-03172021)
-- [8.1.2 (01/22/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#812-01222021)
-- [8.1.0 (01/12/2021)]({{ site.oc_release_notes_v9 }}ios-8.html#810-01122021)
-- [8.0.0 (11/17/2020)]({{ site.oc_release_notes_v9 }}ios-8.html#800-11172020)
-- [7.6.0 (09/01/2020)]({{ site.oc_release_notes_v9 }}ios-7.html#760-09012020)
-- [7.5.0 (07/22/2020)]({{ site.oc_release_notes_v9 }}ios-7.html#750-07222020)
-- [7.4.1 (05/18/2020)]({{ site.oc_release_notes_v9 }}ios-7.html#741-05182020)
-- [7.4.0 (04/16/2020)]({{ site.oc_release_notes_v9 }}ios-7.html#740-04162020)
-- [7.3.0 (01/02/2020)]({{ site.oc_release_notes_v9 }}ios-7.html#730-01022020)
-- [7.2.2 (11/13/2019)]({{ site.oc_release_notes_v9 }}ios-7.html#722-11132019)
-- [7.2.1 (11/12/2019)]({{ site.oc_release_notes_v9 }}ios-7.html#721-11122019)
-- [7.2.0 (09/24/2019)]({{ site.oc_release_notes_v9 }}ios-7.html#720-09242019)
-- [7.1.0 (08/15/2019)]({{ site.oc_release_notes_v9 }}ios-7.html#710-08152019)
-- [7.0.0 (07/11/2019)]({{ site.oc_release_notes_v9 }}ios-7.html#700-07112019)
-- [6.5.2 (05/28/2019)]({{ site.oc_release_notes_v9 }}ios-7.html#652-05282019)
-- [6.5.1 (04/16/2019)]({{ site.oc_release_notes_v9 }}ios-7.html#651-04162019)
-- [6.5.0 (02/26/2019)]({{ site.oc_release_notes_v9 }}ios-7.html#650-02262019)
-- [6.4.1 (11/22/2018)]({{ site.oc_release_notes_v9 }}ios-7.html#641-11222018)
-- [6.4.0 (10/15/2018)]({{ site.oc_release_notes_v9 }}ios-7.html#640-10152018)
-- [6.3.0 (08/16/2018)]({{ site.oc_release_notes_v9 }}ios-7.html#630-08162018)
-- [6.2.0 (06/28/2018)]({{ site.oc_release_notes_v9 }}ios-7.html#620-06282018)
-- [4.2.0 (08/09/2016)]({{ site.oc_release_notes_v9 }}ios-7.html#420-08092016)
+- [10.4.3002 (03/07/2025)]({{ site.oc_release_notes }}ios-10.html#1043002-03072025)
+- [10.4.3001 (02/11/2025)]({{ site.oc_release_notes }}ios-10.html#1043001-02112025)
+- [10.4.3000 (01/23/2025)]({{ site.oc_release_notes }}ios-10.html#1043000-01232025)
+- [10.4.2003 (12/26/2024)]({{ site.oc_release_notes }}ios-10.html#1042003-12262024)
+- [10.4.2002 (12/16/2024)]({{ site.oc_release_notes }}ios-10.html#1042002-12162024)
+- [10.4.2001 (11/13/2024)]({{ site.oc_release_notes }}ios-10.html#1042001-11132024)
+- [10.4.2000 (10/11/2024)]({{ site.oc_release_notes }}ios-10.html#1042000-10112024)
+- [10.2.1101 (07/24/2024)]({{ site.oc_release_notes }}ios-10.html#1021101-07242024)
+- [10.2.1100 (05/15/2024)]({{ site.oc_release_notes }}ios-10.html#1021100-05152024)
+- [10.2.10 (04/16/2024)]({{ site.oc_release_notes }}ios-10.html#10210-04162024)
+- [10.0.21 (12/12/2023)]({{ site.oc_release_notes }}ios-10.html#10021-12122023)
+- [10.0.20 (10/26/2023)]({{ site.oc_release_notes }}ios-10.html#10020-10262023)
+- [9.6.60 (12/23/2025)]({{ site.oc_release_notes }}ios-9.html#9660-12232025)
+- [9.6.40 (03/21/2024)]({{ site.oc_release_notes }}ios-9.html#9640-03212024)
+- [9.6.21 (03/27/2023)]({{ site.oc_release_notes }}ios-9.html#9621-03272023)
+- [9.6.20 (03/16/2023)]({{ site.oc_release_notes }}ios-9.html#9620-03162023)
+- [9.6.10 (01/10/2023)]({{ site.oc_release_notes }}ios-9.html#9610-01102023)
+- [9.6.0 (12/13/2022)]({{ site.oc_release_notes }}ios-9.html#960-12132022)
+- [9.4.0 (11/04/2022)]({{ site.oc_release_notes }}ios-9.html#940-11042022)
+- [9.2.13 (09/05/2022)]({{ site.oc_release_notes }}ios-9.html#9213-09052022)
+- [9.2.12 (08/02/2022)]({{ site.oc_release_notes }}ios-9.html#9212-08022022)
+- [9.2.11 (07/11/2022)]({{ site.oc_release_notes }}ios-9.html#9211-07112022)
+- [9.2.10 (06/28/2022)]({{ site.oc_release_notes }}ios-9.html#9210-06282022)
+- [9.0.2 (05/26/2022)]({{ site.oc_release_notes }}ios-9.html#902-05262022)
+- [9.0.1 (04/20/2022)]({{ site.oc_release_notes }}ios-9.html#901-04202022)
+- [9.0.0 (03/22/2022)]({{ site.oc_release_notes }}ios-9.html#900-03222022)
+- [8.9.3 (03/02/2022)]({{ site.oc_release_notes }}ios-8.html#893-03022021)
+- [8.9.1 (12/28/2021)]({{ site.oc_release_notes }}ios-8.html#891-12282021)
+- [8.9.0 (12/16/2021)]({{ site.oc_release_notes }}ios-8.html#890-12162021)
+- [8.8.0 (10/19/2021)]({{ site.oc_release_notes }}ios-8.html#880-10192021)
+- [8.6.0 (07/15/2021)]({{ site.oc_release_notes }}ios-8.html#860-07152021)
+- [8.4.0 (06/08/2021)]({{ site.oc_release_notes }}ios-8.html#840-06082021)
+- [8.2.1 (05/27/2021)]({{ site.oc_release_notes }}ios-8.html#821-05272021)
+- [8.2.0 (03/17/2021)]({{ site.oc_release_notes }}ios-8.html#820-03172021)
+- [8.1.2 (01/22/2021)]({{ site.oc_release_notes }}ios-8.html#812-01222021)
+- [8.1.0 (01/12/2021)]({{ site.oc_release_notes }}ios-8.html#810-01122021)
+- [8.0.0 (11/17/2020)]({{ site.oc_release_notes }}ios-8.html#800-11172020)
+- [7.6.0 (09/01/2020)]({{ site.oc_release_notes }}ios-7.html#760-09012020)
+- [7.5.0 (07/22/2020)]({{ site.oc_release_notes }}ios-7.html#750-07222020)
+- [7.4.1 (05/18/2020)]({{ site.oc_release_notes }}ios-7.html#741-05182020)
+- [7.4.0 (04/16/2020)]({{ site.oc_release_notes }}ios-7.html#740-04162020)
+- [7.3.0 (01/02/2020)]({{ site.oc_release_notes }}ios-7.html#730-01022020)
+- [7.2.2 (11/13/2019)]({{ site.oc_release_notes }}ios-7.html#722-11132019)
+- [7.2.1 (11/12/2019)]({{ site.oc_release_notes }}ios-7.html#721-11122019)
+- [7.2.0 (09/24/2019)]({{ site.oc_release_notes }}ios-7.html#720-09242019)
+- [7.1.0 (08/15/2019)]({{ site.oc_release_notes }}ios-7.html#710-08152019)
+- [7.0.0 (07/11/2019)]({{ site.oc_release_notes }}ios-7.html#700-07112019)
+- [6.5.2 (05/28/2019)]({{ site.oc_release_notes }}ios-7.html#652-05282019)
+- [6.5.1 (04/16/2019)]({{ site.oc_release_notes }}ios-7.html#651-04162019)
+- [6.5.0 (02/26/2019)]({{ site.oc_release_notes }}ios-7.html#650-02262019)
+- [6.4.1 (11/22/2018)]({{ site.oc_release_notes }}ios-7.html#641-11222018)
+- [6.4.0 (10/15/2018)]({{ site.oc_release_notes }}ios-7.html#640-10152018)
+- [6.3.0 (08/16/2018)]({{ site.oc_release_notes }}ios-7.html#630-08162018)
+- [6.2.0 (06/28/2018)]({{ site.oc_release_notes }}ios-7.html#620-06282018)
+- [4.2.0 (08/09/2016)]({{ site.oc_release_notes }}ios-7.html#420-08092016)
diff --git a/programming/objectivec-swift/release-notes/ios-7.md b/programming/objectivec-swift/release-notes/ios-7.md
new file mode 100644
index 00000000..6d6afd7d
--- /dev/null
+++ b/programming/objectivec-swift/release-notes/ios-7.md
@@ -0,0 +1,327 @@
+---
+layout: default-layout
+title: iOS Release Notes v7.6 and below - Dynamsoft Barcode Reader
+description: This is the release notes page of Dynamsoft Barcode Reader for iOS SDK v7.6 and below.
+keywords: release notes, ios,
+needAutoGenerateSidebar: true
+needGenerateH3Content: false
+noTitleIndex: true
+permalink: /programming/objectivec-swift/release-notes/ios-7.html
+---
+
+# Release Notes for iOS SDK - 7.6 and below
+
+## 7.6.0 (09/01/2020)
+
+### NEW
+
+- Added a new member rpmColourArgumentIndex in the struct IntermediateResult. The rpmColourArgumentIndex is the index of ForeAndBackgroundColour argument used for RegionPredetectionMode.
+
+### IMPROVED
+
+- Improved the decoding speed for when ScanDirectly mode is enabled for localization.
+- Improved the decoding speed by utilizing SIMD (single instruction, multiple data).
+- Improved the deblurring algorithm for linear barcodes.
+
+### FIXED
+
+- Fixed a bug where the coordinates of barcodes are calculated incorrectly under some situations.
+- Fixed a crash issue which occurs under some situations.
+
+## 7.5.0 (07/22/2020)
+
+### NEW
+
+- Added support for QR Code Model 1 (an older version of the QR Code specification). It can be enabled by setting FormatSpecification.EnableQRCodeModel1 in the JSON template file.
+- Added a new localization mode LM_CENTRE to localize barcodes from the centre, which can improve the localization speed if the barcode is in the centre of the image. It can be enabled by setting the struct PublicRuntimeSettings -> LocalizationModes -> LM_CENTRE.
+- Added a new binarization mode BM_THRESHOLD to set the BinarizationThreshold value which is used to convert the grayscale image to binary image.
+- Added startPatternRange, middlePatternRange and endPatternRange properties to the struct OneDCodeDetails for UPC_A, UPC_E, EAN_8 and EAN_13 codes.
+- Added the following new arguments for RegionPredetectionMode.RPM_GENERAL_RGB_CONTRAST and RegionPredetectionMode.RPM_GENERAL_GRAY_CONTRAST:
+ - RelativeBarcodeRegions: Sets the barcode regions relative to the pre-detected region.
+ - ForeAndBackgroundColours: Specifies a set (or multiple sets) of the foreground and background colours used for region pre-detection algorithm.
+ - AspectRatioRange: Sets the height range of the bounding rectangle of the pre-detected region.
+ - HeightRange: Sets the width range of the bounding rectangle of the pre-detected region.
+ - WidthRange: Sets the aspect ratio range of the bounding rectangle of the pre-detected region.
+
+### IMPROVED
+
+- Optimized the binarization process for 1D barcode zones.
+- Improved the decoding accuracy for 1D barcodes.
+- Improved the decoding speed by 5%-20%.
+- Improved the decoding accuracy for Data Matrix code with broken finder pattern.
+
+### FIXED
+
+- Fixed a bug where the coordinates of barcodes are calculated incorrectly under some situations.
+
+## 7.4.1 (05/18/2020)
+
+### FIXED
+
+- Fixed a bug where initWithLicenseFromServer doesn't work and will return error -10042 (EnumErrorCode_License_Dll_Missing).
+
+## 7.4.0 (04/16/2020)
+
+### NEW
+
+- Added new barcode format support for DotCode.
+- Added relative ROI (Region of Interest) detection to optimize the localization results in the high colour contrasted scenarios.
+- Added a new type of output IRT_PREDETECTED_QUADRILATERAL, to identify regions with user-define HSV colour space.
+- Implemented a feature for recognizing distorted DataMatrix barcodes. It can be enabled by turning on the struct PublicRuntimeSettings -> furtherMode -> DeformationResistingModes.
+- Added two Enumerations for FrameDecodingParameters: ClarityCalculationMethod and ClarityFilterMode, to improve input image quality.
+- Added a new image pre-processing mode IPM_MORPHOLOGY for barcodes with wide data bar or data cell gaps.
+
+### IMPROVED
+
+- Enhanced QR Code deformation, resistance, to improve the success rate of decoding the QR code with square symbol at the center.
+- Optimized the algorithm for decoding large and dense QR and DataMatrix codes.
+- Optimized deblurring algorithm for linear barcodes.
+- Improved a character display issue on some platforms where BarcodeText returns an extra "\uFEFF" if the barcode is encoded in UTF-8 with BOM (Byte Order Mark).
+- Simplified the process to enable DPM, DotCode and Postal Codes. Now the library will automatically turn on the corresponding localization mode while following settings are applied:
+ - DPMCRM_GENEARL
+ - BF2_DOTCODE
+ - BF2_POSTALCODE
+
+### FIXED
+
+- Fixed a bug where the BinarizationModes settings do not work in the DPM mode.
+- Fixed a bug where the barcode location returns incorrect when the barcode is close to the border of the scanning region.
+- Fixed a bug in the calculation of deblur confidence.
+- Fixed a bug where the ColourConversionModes RGB weights setting does not work when CICM_GENERAL is enabled.
+- Other small fixes and tweaks.
+
+## 7.3.0 (01/02/2020)
+
+### NEW
+
+- Added a new barcode type Postal codes including USPS Intelligent Mail, Postnet, Planet, Australia Post barcode, RM4SCC.
+- Added a new localization mode LM_STATISTICS_POSTAL_CODE in the struct PublicRuntimeSettings -> LocalizationModes to recognize Postal codes.
+- Implemented the feature of recognizing distorted QR barcode. It can be enabled by turning on the struct PublicRuntimeSettings -> FurtherModes -> DeformationResistingModes.
+- Implemented the feature of complementing missing parts of QR Code & DataMatrix barcodes. It can be enabled by turning on the struct PublicRuntimeSettings -> FurtherModes -> BarcodeComplementModes.
+- Added a new setting AutoFilter to set whether to filter frames automatically in the struct FrameDecodingParameters.
+- Added a new setting ScaleUpModes to set the scale-up mode for linear barcodes with small module size. It can be enabled by turning on the struct PublicRuntimeSettings -> ScaleUpModes.
+
+### IMPROVED
+
+- Improved the decoding accuracy for DataMatrix that has a narrow quiet zone.
+- Improved the decoding accuracy for 1D barcode that has a small module size.
+
+## 7.2.2 (11/13/2019)
+
+### FIXED
+
+- Fixed a bug where BarcodeBytes was null when DPM mode was enabled.
+
+## 7.2.1 (11/12/2019)
+
+### NEW
+
+- Added support for GS1-128 barcode.
+- Added a new argument "RecordsetSizeOfLatestImages" for "IntermediateResultSavingMode" to specify how many sets of intermediate results are kept in the library.
+
+### IMPROVED
+
+- Improved the decoding capability of PDF417 by identifying the start and stop patterns of PDF417.
+- Improved the deblurring performance for wide 1D barcodes, which lowers the possibility of fake results.
+- Improved video decoding by optimizing frame filtering.
+- Optimized the automatic classification for Code 39 and Code 39 Extended.
+- Optimized the implementation of region pre-detection mode "RPM_GENERAL_GRAY_CONTRAST".
+- Enhanced the recognition of barcodes with small module sizes.
+- Changed ExtendedBarcodeFormatIds to BarcodeFormat_2 to support more barcode formats in the future.
+- Improved the setting template inside every sample. For consistency, now every sample uses one of templates of "Best Coverage", "Balance" and "Best Speed".
+
+### FIXED
+
+- Fixed a bug in the barcode zone type identification during general statistical localization.
+- Fixed minor bugs in result outputs.
+- Fixed a bug where OneDCodeDetails doesn't work.
+- Fixed a memory leak issue when decoding multiple barcodes in our sample App.
+
+## 7.2.0 (09/24/2019)
+
+### NEW
+
+- Added more barcode formats:
+ - GS1 Databar (Omnidirectional, Truncated, Stacked, Stacked Omnidirectional, Limited, Expanded, Expanded Stacked)
+ - PatchCode
+ - Maxicode (mode 2-5)
+ - Micro PDF417
+ - Micro QR
+ - GS1 COMPOSITE (combination of OneD and PDF417/Micro PDF 417)
+ - Non-standard Barcode
+- Added the capability of reading DPM code. It can be enabled by turning on the struct PublicRuntimeSettings->furtherMode-> DPMCodeReadingModes and adding LM_STATISTICS_MARKS to the PublicRuntimeSettings->localizationModes.
+- Added a ReactNative package for iOS.
+- Licensing is required to obtain the intermediate results, except the original image in the intermediate results.
+- Added a parameter, clarity in the struct ExtendedResult, to show the clarity of the decoded-barcode zone.
+- For iOS, added a method, GetModeArgument(), to get the argument value of the mode parameters.
+- For Android, added a method, getModeArgument(), to get the argument value of the mode parameters.
+
+### IMPROVED
+
+- Improved the decoding speed for PDF417.
+- Improved the capability of decoding QR and Data Matrix with cylinder-like deformation.
+
+### FIXED
+
+- Fixed minor bugs.
+
+## 7.1.0 (08/15/2019)
+
+### NEW
+
+- Added automatic blurry frame filtering for the video frame decoding, reducing incorrect barcode recognition.
+- Added three arguments for the CICM_GENERAL of ColourConversionModes to set the weights for the color conversion, providing more flexibility to deal with various kinds of backgrounds by using different weights of three colors: red, green and blue.
+- Added two new methods, StartFrameDecodingEx(), which can be used to start a new thread to decode barcodes, and InitFrameDecodingParameters(), and a new struct, iFrameDecodingParameters.
+
+### IMPROVED
+
+- The output of intermediate results can be saved either directly to a folder or to memory or both, by introducing a new parameter, intermediateResultSavingMode, to the struct PublicRuntimeSettings.
+
+### FIXED
+
+- Fixed a bug that the deblur function might malfunction in some rare cases.
+- Fixed a bug that the coordinates of barcodes may be calculated incorrectly under some situations.
+- Fixed a bug that the parameter, RequireStartStopChars, might malfunction in some rare cases.
+- Fixed a bug that the angle of barcodes might not be calculated correctly sometimes.
+
+## 7.0.0 (07/11/2019)
+
+### NEW
+
+- Refactored most modules to provide a flexible barcode reading framework that allows for parameter customization suited for a variety of barcode scenarios.
+- Enabled access to intermediate results (grayscale image, binarized image, text zone, etc) during the decoding process.
+- Added new interfaces to support video decoding, and frame decoding to improve interactive sensitivity.
+- Provided methods to terminate the decoding process at different phases such as during binarization, localization or barcode type identification.
+- Added a new barcode localization method, Scan Directly, to reduce decoding time significantly for high-quality images.
+
+### IMPROVED
+
+- Enhanced error messages related to the license initiation failure.
+- Improved detailed results for decoded barcodes, including more barcode format specification.
+- Improved results output to enable outputting barcode results in the order of confidence level, barcode position or format.
+
+### FIXED
+
+- Fixed an issue where the barcode could be calculated incorrectly in some occasions.
+
+## 6.5.2 (05/28/2019)
+
+### IMPROVED
+
+- Optimized barcode reading workflow for QRCode/DataMatrix/Aztec code recognition. A QRCode/DataMatrix/Aztec barcode zone will be submitted to the deblurring process when its decoding results vary with different binarization arguments.
+- Reduced the error rate of 1D barcode recognition. Giving more chances for confirmation of a 1D barcode decoding result whose confidence isn't extreme high.
+- Reduced the possibility of conflicts with neighbour barcodes. This improved the precision of the zone to be deleted when a barcode is recognized successfully.
+
+### FIXED
+
+- Enhanced the robustness of the image processing algorithm. This resolved segmentation faults when a 0-size image is passed to our SDK or there are a few small-size barcode zones which need to do spatial transformation.
+
+## 6.5.1 (04/16/2019)
+
+### IMPROVED
+
+- Improved deblur algorithm for OneD, enhancing the recognition rate for blurry/out-of-focus barcodes.
+- Improved the accuracy of border location and symbol segmentation for AZTEC.
+- Optimized line scanning algorithm for OneD, decreasing the computation load for character recognition.
+- DecodeBuffer now supports 48-bit and 64-bit image data.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.5.0 (02/26/2019)
+
+### IMPROVED
+
+- Improved average reading speed by 5-10%.
+- Greatly improved the image-processing performance for blurry PDF417 codes.
+- Improved decoding performance for blurry 1D, QRCode and DataMatrix codes.
+- Decreased error recognition rate for Aztec codes.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.4.1 (11/22/2018)
+
+### IMPROVED
+
+- Improved the decoding performance for Aztec, increasing the recognition rate.
+- Improved the decoding performance for OneD, decreasing the error recognition rate.
+- Added further check points for Timeouts, enhancing the timeout control on large scale images for decoding.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.4.0 (10/15/2018)
+
+### NEW
+
+- Added a BatchDecode tool which helps developers evaluate the recognition performance and speed of the Dynamsoft Barcode Reader SDK.
+- Added a new sample demonstrates how to use Dynamsoft Barcode Reader in multiple threads.
+- Added the runtime licensing mode.
+
+### IMPROVED
+
+- Improved barcode reading speed by 10%, especially for small-sized images.
+- Reorganized API documentation to help you find content more easily.
+- Simplified Developer's Guide to guide you through creating a HelloWorld project more quickly.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.3.0 (08/16/2018)
+
+### NEW
+
+- Added the support for Aztec codes.
+- New developer's guide (.pdf) to cover common use cases,and re-worked existing PDF content to improve its usability.
+- New API documentation (.chm) to help you find content more easily.
+- Added GetRuntimeSettings and UpdateRuntimeSettings to help you adjust runtime barcode reading settings.
+- Added ResetRuntimeSettings to reset runtime barcode reading settings to default values.
+- Added InitRuntimeSettingsWithString and InitRuntimeSettingsWithFile to initialize barcode reading settings at runtime.
+- Added OutputSettingsToString and OutputSettingsToFile to review runtime barcode reading settings.
+- Added AppendTplStringToRuntimeSettings and AppendTplFileToRuntimeSettings to append a new template string/file to the current runtime settings.
+
+### IMPROVED
+
+- Improved the logic for ExpectedBarcodesCount. Previously the barcodes it returned may be greater than the given value of ExpectedBarcodesCount. Now as long as the expected barcodes found, it will stop continue searching and decoding barcodes.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 6.2.0 (06/28/2018)
+
+### IMPROVED
+
+- Easy and flexible to create a custom barcode reading template for your specific use case.
+- Greatly improved barcode reading speed.
+- Decreased misreading rate for 1D barcodes.
+- Enhanced performance for reading multiple barcodes from an image.
+- Optimized reading accuracy and speed for blurred QRCode and DataMatrix.
+- Improved the speed for reading barcodes directly from a computer/phone screen.
+
+### FIXED
+
+- Small fixes and tweaks.
+
+## 4.2.0 (08/09/2016)
+
+Version 4.2.0 marks the initial release of Dynamsoft Barcode Reader iOS SDK.
+
+### NEW
+
+- Supports reading a single barcode from images (UIImage) and mobile cameras (NV21). Both synchronous and asynchronous barcode decoding methods are provided.
+- Supported barcode types include:
+ - 1D Barcode – Code39, Code93, Code128, Codabar, ITF, EAN13, EAN8, UPCA, UPCE and INDUSTRIAL 2 OF 5.
+ - 2D Barcode – QR Code, PDF 417, Aztec and DataMatrix.
+- Supports iOS 7- 9; iPhone 4s and higher.
+- Supported architectures: armv7/arm64/i386/x86_64.
+
+### IMPROVED
+
+- Changed 1D barcode decoding module to improve recognition accuracy.
+- Improved ResultPoints Property to adjust the sequence of barcode corner points. Now the top-left corner of the barcode is the starting point (x1, y1). The results are returned in the clockwise direction.
diff --git a/programming/objectivec-swift/release-notes/ios-8.md b/programming/objectivec-swift/release-notes/ios-8.md
new file mode 100644
index 00000000..33b9a4b2
--- /dev/null
+++ b/programming/objectivec-swift/release-notes/ios-8.md
@@ -0,0 +1,243 @@
+---
+layout: default-layout
+title: iOS Release Notes v8.x - Dynamsoft Barcode Reader
+description: This is the release notes page of Dynamsoft Barcode Reader for iOS SDK v8.x.
+keywords: release notes, ios,
+needAutoGenerateSidebar: true
+needGenerateH3Content: false
+noTitleIndex: true
+permalink: /programming/objectivec-swift/release-notes/ios-8.html
+---
+
+# Release Notes for iOS SDK - 8.x
+
+## 8.9.3 (03/02/2022)
+
+### Fixed
+
+- Removed the mandatory dependency of `DynamsoftCameraEnhancer`.
+- Fixed a bug that might offset the position of highlight overlays on the decoded barcodes when used together with `DynamsoftCameraEnhancer`.
+
+## 8.9.1 (12/28/2021)
+
+- Fixed a bug that might affect the processing speed.
+
+## 8.9.0 (12/16/2021)
+
+
+
+### Version Highlights
+
+
+
+- Preset templates are available for users to configure the `PublicRuntimeSettings` parameters. Users can set the template via the method `updateRuntimeSettings` by specifying an `EnumPresetTemplate` member.
+
+
+
+### Changelog
+
+#### New
+
+- Added methods [`setCameraEnhancer`]({{ site.oc_api }}primary-video.html#setcameraenhancer) to replace `SetCameraEnhancerPara` and `iDCESettingParameters`. This method will simplify the binding of the Camera Enhancer to the Barcode Reader.
+- Added methods [`startScanning`]({{ site.oc_api }}primary-video.html#stopscanning) and [`stopScanning`]({{ site.oc_api }}primary-video.html#stopscanning) to control the start and stop of the video streaming barcode decoding thread. These methods are only active when using the Dynamsoft Camera Enhancer along with the Barcode Reader.
+- Overwrited method [`updateRuntimeSettings`]({{ site.oc_api }}primary-parameter-and-runtime-settings-basic.html#updateruntimesettings). Users can specify a member of [`EnumPresetTemplate`]({{ site.mobile_enum }}preset-template.html?lang=objc,swift) in the method to select a preset parameter setting template for barcode decoding.
+
+#### Improved
+
+- Simplified the usage of the different Modes in the `PublicRuntimeSettings` such as `LocalizationModes`, `DeblurModes`, and more. Users no longer must configure the entire Modes array to include the skipped entries as well. For example:
+ - In previous versions, when you set the `DeblurModes`:
+
+ ```objc
+ settings.deblurModes = @[@(EnumDeblurModeBasedOnLocBin), @(EnumDeblurModeSharpening),@(0),@(0),@(0),@(0), @(0), @(0)];
+ ```
+
+ - In v8.9 version:
+
+ ```objc
+ settings.deblurModes = @[@(EnumDeblurModeBasedOnLocBin), @(EnumDeblurModeSharpening)];
+ ```
+
+#### Fixed
+
+- Fixed a bug that might cause memory leaks.
+
+#### Deprecated
+
+- The following methods/class are deprecated. They are currently available but will be removed in further updates.
+ - `SetCameraEnhancerPara`
+ - `iDCESettingParameters`
+
+## 8.8.0 (10/19/2021)
+
+
+
+### Version Highlights
+
+
+
+- Added a new localization mode `ONED_FAST_SCAN`, which significantly improved the localization speed for 1D barcodes.
+- Added the ability to specify barcode width, height, angle to improve the recognition speed if you have advance information about barcodes.
+- Optimized the logic of confidence scoring for 2D barcodes. The 2D barcode results with confidence greater than 30 are more accurate.
+
+
+
+### Changelog
+
+#### New
+
+- Added xcframework to the install package.
+- Added a new `LocalizationModes` item [`LM_ONED_FAST_SCAN`]({{site.parameters_reference}}localization-modes.html#lm_oned_fast_scan), which significantly improved the localization speed for 1D barcodes.
+
+#### Improved
+
+- Improved the confidence calculation algorithm for 2D barcode results. Users can get even more accurate results by configuring the confidence filter.
+- Improved the barcode reading speed by applying the localized barcodes filter. The barcodes will be filtered according to the parameters [`BarcodeHeightRangeArray`]({{site.parameters_reference}}barcode-height-range-array.html), [`BarcodeWidthRangeArray`]({{site.parameters_reference}}barcode-width-range-array.html), [`BarcodeAngleRangeArray`]({{site.parameters_reference}}barcode-angle-range-array.html) and [`MinRatioOfBarcodeZoneWidthToHeight`]({{site.parameters_reference}}min-ratio-of-barcode-zone-width-to-height.html).
+- Updated the exception message when the full license is invalid or has expired.
+
+#### Breaking Change(s)
+
+- The low confidence barcode results will no longer be returned by default. The default value of parameter [`minResultConfidence`]({{site.parameters_reference}}min-result-confidence.html) is preset to 30, which can filter out the majority of misreading results and keep as many correct results as possible.
+
+#### API Changes
+
+- Removed the class `iTextResultEx`. Merged all `iTextResultEx` properties to [`iTextResult`]({{site.oc_api}}auxiliary-iTextResult.html).
+- Removed the method `getEnabledResultVerificationStatus` from the `BarcodeReader` Class.
+- Removed the method `getEnabledDuplicateFilterStatus` from the `BarcodeReader` Class.
+
+## 8.6.0 (07/15/2021)
+
+
+
+### Version Highlights
+
+
+
+- Improved the confidence calculating algorithm for 1D barcodes. Misreading rate of results with confidence between 30-100 has been significantly reduced.
+- Improved the reading speed on clear images by implementing a new deblur mode `DM_BASED_ON_LOC_BIN`.
+
+
+
+### Changelog
+
+#### New
+
+- Added more samples.
+- Added new API `enableResultVerification`. The barcode decoding results will be verified before output if this feature is enabled. This will highly improve the accuracy of barcode scanning.
+- Added new API `enableDuplicateFilter`. The barcode decoding results will be filtered before output if this feature is enabled. The duplicated results will be output only once for every three seconds.
+- Added two `DeblurMode` Enumerations, `DM_BASED_ON_LOC_BIN` and `DM_SHARPENING_SMOOTHING`, to support more usage scenarios.
+- Added method `initLicenseFromDLS` in `BarcodeReader` class to replace `initLicenseFromLTS`.
+- Added class `iDMDLSConnectionParameters` to replace class `iDMLTSConnectionParameters`.
+- Added delegate `DMDLSLicenseVerificationDelegate` and callback `DLSLicenseVerificationCallback` to replace `DMLTSLicenseVerificationDelegate` and `LTSLicenseVerificationCallback`.
+
+#### Improved
+
+- Improved the [`confidence`]({{site.oc_api}}auxiliary-iExtendedResult.html#confidence) algorithm for 1D barcode results. Users can get even more accurate results by configuring the `confidence` filter.
+
+### Fixed
+
+- Fixed a bug that `licenseVerificationCallback` not triggered.
+
+## 8.4.0 (06/08/2021)
+
+### New
+
+- Added a new attribute [`isMirrored`]({{site.oc_api}}auxiliary-iTextResult.html#ismirrored) to the `iTextResultEx` class. `isMirrored` returns whether the barcode is mirrored.
+- Added a new attribute [`isDPM`]({{site.oc_api}}auxiliary-iTextResult.html#isdpm) to the `iTextResultEx` class. `isDPM` returns whether the barcode is recognized by the DPM mode.
+- Added a new argument, `ThresholdCompensation`, to the `BinarizationModes` mode arguments.
+
+### Improved
+
+- Faster recognition speeds when detecting dense QR Codes.
+- Improved the performance of boundary identification for DataMatrix codes.
+
+### Deprecated
+
+- `ThreshValueCoefficient` is now deprecated. It still works in this version but could be removed in the near future. We recommend using `ThresholdCompensation` instead.
+
+### Fixed
+
+- Fixed an issue that happens when calling `initLicenseFromLTS` if [`handShakeCode`]({{site.oc_api}}auxiliary-iDMDLSConnectionParameters.html#handshakecode) is not set.
+- Replaced the static library with a dynamic library to avoid compatibility issues with other Dynamsoft products or third-party libraries.
+
+## 8.2.1 (05/27/2021)
+
+### New
+
+- [Dynamsoft Camera Enhancer (DCE)]({{site.dce_ios}}) is now available for DBR users to quickly deploy the camera module. We added a new API and a new class to simplify the user operations when using DBR and DCE at the same time.
+- Added a new class, [`iDCESettingParameters`]({{site.oc_api}}auxiliary-iDCESettingParameters.html), and a new API, [`SetCameraEnhancerParam`]({{site.oc_api}}primary-camera.html#setcameraenhancerparam), to enable the parameter transfer between DBR and the DCE. The parameter transferring will improve the focus ability of the camera.
+
+### Improved
+
+- Samples are updated. DCE is handling the camera-related settings in the samples.
+
+## 8.2.0 (03/17/2021)
+
+### New
+
+- Added a new mode argument, `FindAccurateBoundary`, to [`RegionPredetectionModes`]({{ site.parameters_reference }}Region-Predetection-Modes.html) that determines if the SDK attempts to find an accurate boundary when `RegionPredetectionModes` is set to `RPM_GENERAL_HSV_CONTRAST`.
+- Added a new an attribute, `organizationID` (string) to `iDMLTSConnectionParameters`. The attribute adds a new layer of security for both full and trial licenses.
+
+### Improved
+
+- Improved both the localization and decoding algorithms for Postal Codes.
+- Localization mode `LM_STATISTICS_POSTAL_CODE` will not be added automatically when barcode format postal code is enabled. You can still add `LM_STATISTICS_POSTAL_CODE` manually to get better performance on localizing the postal codes.
+
+### Fixed
+
+- Resolved a bug that infrequently causes the application to crash when decoding a MicroPDF417 barcode.
+
+## 8.1.2 (01/22/2021)
+
+### New
+
+- Added `mode`, `page`, `totalPage` and `parityData` in the `iQRCodeDetails` Class.
+
+### Improved
+
+- Improved the recognition accuracy for GS1 Databar.
+- Removed the exception code from `barcodeText` when using a valid trial license.
+
+### Fixed
+
+- Fixed a bug where `barcodeFormatString`, `barcodeFormatString_2`, `regionName` and `documentName` don't have value in the `IRT_TYPED_BARCODE_ZONE` intermediate result.
+
+## 8.1.0 (01/12/2021)
+
+### New
+
+- Added support for MSI Code (Modified Plessey).
+- Added a new member `barcodeZoneMinDistanceToImageBorders` in the `iPublicRuntimeSettings` Class to set the minimum distance (in pixels) between barcode zone and image borders. Previously, it is only available in the JSON template. It can be now configured by setting `iPublicRuntimeSettings` -> `barcodeZoneMinDistanceToImageBorders`.
+- Added exception error message to `iTextResult` when license initialization fails or decoding authorization fails.
+
+### Improved
+
+- Improved the localization robustness for QR Code.
+- Improved the localization for low quality 1D barcodes.
+- Improved the deblurring performance and recognition rate for DataMatrix.
+- Improved the recognition rate for Aztec code.
+
+### Fixed
+
+- Fixed a bug where Micro PDF417 may not be localized in multiple-barcode scenarios.
+- Fixed a bug where the `ExpectedBarcodesCount` and `BarcodeFormat` parameters do not work in the `RegionDefinition`.
+
+## 8.0.0 (11/17/2020)
+
+### New
+
+- (For `IntermediateResult` Advanced Module) Added support for decoding `IntermediateResult`. For example, users with a binarized image could use this function to skip some image preprocessing steps.
+- Implemented a new licensing tracking mechanism, License 2.0, which makes it easier for users to track license usage.
+- Added a new format control parameter, `BarcodeZoneMinDistanceToImageBorders`, to set the minimum distance (in pixels) between the barcode zone and image borders.
+- Added a new format control parameter, `MinRatioOfBarcodeZoneWidthToHeight`, to set the minimum ratio (width/height) of the barcode zone.
+- Added a new format control parameter, `BarcodeZoneBarCountRangeArray`, to set the barcode zone's range of bar count for barcode search.
+- Added a new argument, `SpatialIndexBlockSize`, for `RPM_GENERAL_RGB_CONTRAST`, `RPM_GENERAL_GRAY_CONTRAST` and `RPM_GENERAL_HSV_CONTRAST`.
+- Added a new parameter, `DeblurModes`, so users can use different deblur algorithms for different scenarios. `DeblurModes` has the following enum types: `DirectBinarization`, `ThresholdBinarization`, `GrayEqulization`, `Smoothing`, `Morphing`, `DeepAnalysis` and `Sharpening`.
+
+### Improved
+
+- Improved the localization speed for the `ScanDirectly` mode.
+- Improved the localization accuracy for DataMatrix codes with a narrow quiet zone.
+
+### Feature Deprecated
+
+- `DeblurLevel` is now deprecated. It still works in this version but could be removed in the near future. We recommend using `DeblurModes` instead.
diff --git a/programming/objectivec-swift/release-notes/ios-9.md b/programming/objectivec-swift/release-notes/ios-9.md
new file mode 100644
index 00000000..7f9acd2f
--- /dev/null
+++ b/programming/objectivec-swift/release-notes/ios-9.md
@@ -0,0 +1,349 @@
+---
+layout: default-layout
+title: iOS Release Notes v9.x - Dynamsoft Barcode Reader
+description: This is the release notes page of Dynamsoft Barcode Reader for iOS SDK v9.x.
+keywords: release notes, ios,
+needAutoGenerateSidebar: true
+needGenerateH3Content: false
+noTitleIndex: true
+permalink: /programming/objectivec-swift/release-notes/ios-9.html
+---
+
+# Release Notes for iOS SDK - 9.x
+
+## 9.6.60 (12/23/2025)
+
+This release includes security maintenance updates to ensure continued protection of the product.
+
+### Security Updates
+
+- Updated third-party libraries to incorporate the latest security fixes.
+
+## 9.6.40 (03/21/2024)
+
+### Improved
+
+- Updated the security of the `DynamsoftBarcodeReader` library and other corresponding dependent libraries.
+- Improved the multi-thread processing logic of concurrent instance licenses.
+- Improved the barcode decoding performance:
+ - Improved the accuracy when decoding OneD & PDF417 barcodes.
+ - Improved the readability of dense DataMatrix codes.
+
+### Changed
+
+- Added a new error code `EnumErrorCode_LICENSE_CACHE_USED`, which is returned when failing to connect to the license server but a valid license cache is available. Error codes `EnumErrorCode_FAILED_TO_REACH_DLS` and `EnumErrorCode_LICENSE_SYNC_FAILED` are no longer returned in this scenario.
+
+### Fixed
+
+- Fixed crash bugs in the barcode decoding algorithm.
+- Fixed a bug where the location of the barcode result(s) might be incorrect.
+
+## 9.6.21 (03/27/2023)
+
+### Fixed
+
+- Fixed a bug that might cause thread blocking on the simulator.
+
+## 9.6.20 (03/16/2023)
+
+### Fixed
+
+- Fixed a bug where license authorization may fail when the main license server is not available.
+- Other small fixes and tweaks.
+
+## 9.6.10 (01/10/2023)
+
+### Fixed
+
+- Fixed a bug that some OneD barcodes without start & stop characters are not decoded when parameter [`RequireStartStopChars`]({{ site.parameters_reference }}require-start-stop-chars.html) is set to 0.
+- Fixed a crash bug by adding protection in algorithm.
+
+### Improved
+
+- Improved the performance of Direct Part Marking (DPM) barcode decoding.
+- Improved the performance of GS1 Databar barcode decoding.
+
+## 9.6.0 (12/13/2022)
+
+
+
+### Version Highlights
+
+
+
+- **Image orientation** handling is supported by a new feature. With the new feature, you can:
+ - Get a **TranformationMatrix** along with the barcode location result.
+ - Implement coordinates transformation on the barcode location result with the **TransformationMatrix**.
+- **DotCode** decoding is improved by optimizing the localization of DotCodes that are close to one another.
+
+
+

+
+
+- **EAN8 barcode** decoding is improved by honing the accuracy of localization algorithms.
+- **QR code** localizing is improved by reducing the mis-assemble rate of the finder patterns when using the localization mode LM_CONNECTED_BLOCK or LM_SCAN_DIRECTLY, which are designed for speed. The mis-assembling only occurs when there exist dense QR codes on the same image.
+- **Mirrored rectangular DataMatrix barcode** is supported by implementing `MirrorMode` when localizing the barcodes.
+
+
+

+
+
+- Deformed barcode decoding is improved by extending the supported modes and mode arguments of `DeformationResistingModes`.
+
+
+
+### Changelog
+
+#### New
+
+- Added a new method [`setLogConfig`](../api-reference/primary-status-retrieval.html#setlogconfig) so that users can set whether to save the log to a file and where the log file will be saved. Enumeration [`EnumLogMode`](../../enumeration/log-mode.html) is added so that users can set whether to save the log information.
+- Enabled decoding methods [`decodeFileWithName`](../api-reference/primary-decode.html#decodefilewithname), [`decodeFileinMemory`](../api-reference/primary-decode.html#decodefileinmemory) and [`decodeBase64`](../api-reference/primary-decode.html#decodebase64) to read EXIF data of the given image so that the library can obtain the orientation information when processing image file.
+- Enabled decoding method [`decodeImage`](../api-reference/primary-decode.html#decodeimage) to read orientation information from `UIImage`.
+- Override method [`decodeBuffer`](../api-reference/primary-decode.html#decodebuffer). You can input an [`iImageData`](../api-reference/auxiliary-iImageData.html) object as the barcode decoding parameter. The library can obtain the orientation information from the `iImageData` object.
+- Added a new property [`transformationMatrix`](../api-reference/auxiliary-iLocalizationResult.html#transformationmatrix) to class `iLocalizationResult` so that the library can output a transformation matrix for users to transform the coordinates of the barcode result.
+- Added a new property [`duplicateForgetTime`](../api-reference/primary-video.html#duplicateforgettime) to filter out all duplicate barcode results for a period of time when processing video streaming.
+- Added new properties [`hasLeftRowIndicator`](../api-reference/auxiliary-iPDF417Details.html#hasleftrowindicator) and [`hasRightRowIndicator`](../api-reference/auxiliary-iPDF417Details.html#hasrightrowindicator) to class `iPDF417Details` to return whether the left or right row indicator of the PDF417 barcode is detected.
+- Added a new member [`BF2_ALL`](../../enumeration/barcode-format.html) to enumeration `BarcodeFormatIds_2`.
+- Extended the features of `DeformationResistingModes`:
+ - Extended the valid mode arguments of `DRM_BROAD_WARP`, `DRM_LOCAL_REFERENCE` and `DRM_DEWRINKLE` with two new arguments: `GrayscaleEnhancementMode` and `BinarizationMode`.
+ - Support mode `DRM_AUTO`.
+
+#### Improved
+
+- Improved the accuracy when processing multiple QR codes.
+- Improved the processing speed by excluding incorrectly located barcode zones before decoding.
+- Improved the creation, destruction, and acquisition logic of concurrent instances.
+- Improved the scan count of duplicate barcodes when the **Charge Way** is **per scan**.
+- Improved the accuracy of EAN8 localization result(s).
+- Improved the localization of **mirrored DataMatrix barcode** by implementing `MirrorMode`.
+
+#### Changed
+
+- Method [`toUIImage`](../api-reference/auxiliary-iImageData.html#touiimage) in class `iImageData` will rotate the image physically according the `orientation` property.
+
+#### Fixed
+
+- Fixed a bug that DotCodes might not be decoded when they are densely arranged.
+- Fixed a crash bug when trying to output a template which includes customized value for parameterd `BarcodeTextRegEexPattern`.
+
+#### Removed
+
+- Removed `dispose` from class `BarcodeReader`.
+
+## 9.4.0 (11/04/2022)
+
+
+
+### Version Highlights
+
+
+
+- DotCode decoding has been improved by optimizing the localization and decoding algorithm.
+- Stacked, skewed or perspective distorted OneD barcode decoding has been improved.
+
+
+
+### Changelog
+
+#### New
+
+- Added an argument [`IsOneDStacked`]({{ site.parameters_reference }}localization-modes.html#isonedstacked) to `LM_SCAN_DIRECTLY` to process stacked OneD barcodes.
+- Added a parameter [`PatchCodeSearchingMargins`]({{ site.parameters_reference }}patchcode-searching-margins.html) to specify the searching area of PatchCode.
+- Added the supported data format of [`FormatSpecification.PartitionModes`]({{ site.parameters_reference }}partition-modes.html) to enhance the readability of the parameters. Users can use a list of enumeration names to specify the `PartitionModes`.
+
+#### Improved
+
+- Improved the localization mode `LM_LINES` to better support skewed and perspective OneD barcodes.
+- Enhanced tamper resistance of the license keys so that any change to the license string makes it invalid.
+
+#### Fixed
+
+- Fixed a memory leak issue by upgrading SDK compile tool from Xcode 9 to Xcode 13.
+
+#### Deprecated
+
+- Deprecated the attribute `barcodeFormatString_2` of [`TextResult`](../api-reference/auxiliary-iTextResult.html), [`ExtendedResult`](../api-reference/auxiliary-iExtendedResult.html) and [`LocalizationResult`](../api-reference/auxiliary-iLocalizationResult.html). All the barcode format strings will be returned by the attribute [`barcodeFormatString`](../api-reference/auxiliary-iTextResult.html#barcodeformatstring).
+
+## 9.2.13 (09/05/2022)
+
+- Fixed a bug that **NSError** might not be returned when errors occured in the decode methods.
+
+## 9.2.12 (08/02/2022)
+
+- Made a minor change to `iRegionDefinition` class to ensure the library can be used together with `DynamsoftCameraEnhancer` in Xamarin.Forms.
+
+## 9.2.11 (07/11/2022)
+
+### Fixed
+
+- Fixed a bug that could cause App Store rejection when **Build Options - Enable BitCode** is set to **Yes** for an app.
+
+## 9.2.10 (06/28/2022)
+
+
+
+### Version Highlights
+
+
+
+- Barcode boundary-seeking algorithm is refactored to improve stability.
+- Pharmacode decoding is optimized to improve accuracy.
+- The function of device-alias is added to allow users to give each device a readable name. For end-users and administrators, this makes it more friendly to distinguish between devices about license usage statistics.
+
+
+
+### Changelog
+
+#### New
+
+- Added a new method [`setDeviceFriendlyName`]({{ site.oc_api }}primary-license.html#setdevicefriendlyname) to set a human-readable name that identifies the device.
+- Added a new method [`decodeFileInMemory`]({{ site.oc_api }}primary-decode.html#decodefileinmemory) to decode from the images that are stored in memory.
+- Added a new interface [`ImageSource`]({{ site.oc_api }}protocol-imagesource.html). It acts as an adapter that transfers image data from external resources to the format that can be recognized by the Barcode Reader. The following APIs are available for users to reduce the code complexity when working with [`ImageSource`]({{ site.oc_api }}protocol-imagesource.html):
+ - [`setImageSource`]({{ site.oc_api }}primary-video.html#setimagesource): Set [`ImageSource`]({{ site.oc_api }}protocol-imagesource.html) as the source of image data.
+ - [`startScanning`]({{ site.oc_api }}primary-video.html#startscanning): Start obaining image from the [`ImageSource`]({{ site.oc_api }}protocol-imagesource.html) continuously.
+ - [`stopScanning`]({{ site.oc_api }}primary-video.html#stopscanning): Stop obtaining image from the [`ImageSource`]({{ site.oc_api }}protocol-imagesource.html).
+ - [`TextResultListener`]({{ site.oc_api }}protocol-dbrtextresultdelegate.html): The protocol that includes a callback method for users to receive decoded barcode results when decoding from the [`ImageSource`]({{ site.oc_api }}protocol-imagesource.html).
+- Added a new method [`minImageReadingInterval`]({{ site.oc_api }}primary-video.html#minimagereadinginterval) to set the minimum interval between consecutive barcode decoding processes.
+
+## 9.0.2 (05/26/2022)
+
+### New
+
+- Added the following property/Method to iImageData class:
+ - [`toUIImage`]({{ site.oc_api }}auxiliary-iImageData.html#touiimage): The method that can convert the iImageData to an UIImage.
+ - [`orientation`]({{ site.oc_api }}auxiliary-iImageData.html#orientation): The property that indicates the orientation of the image.
+
+### Changed
+
+- Changed [`getVersion`]({{ site.oc_api }}primary-status-retrieval.html#getversion) from a dynamic method to a static method. The format of the return value is changed as well.
+
+### Fixed
+
+- Fixed a bug that might cause memory leak.
+
+## 9.0.1 (04/20/2022)
+
+### Fixed
+
+- Fixed a bug that might offset the position of highlight overlays on the decoded barcodes when used together with `DynamsoftCameraEnhancer`.
+
+## 9.0.0 (03/22/2022)
+
+### Highlights
+
+- Simplified the license activation steps. Different license activation APIs are integrated into `initLicense` method.
+- Added support for **Pharmacode**.
+- Added support for **Code 11**, a 1D format.
+- Deformation resisting modes `DRM_BROAD_WARP`, `DRM_LOCAL_REFERENCE` and `DRM_DEWRINKLE` are optimized and detached from `DRM_GENERAL`. Users can specify a more effective deformation resisting mode when processing **QRCode** and **DataMatrix codes**.
+- Optimized the confidence scoring system for **PDF417 codes**.
+
+### Changelog
+
+#### New
+
+- Added `EnumBarcodeFormatCODE11` under enumeration [`EnumBarcodeFormat`]({{ site.mobile_enum }}barcode-format.html?lang=objc,swift) to specify newly supported barcode format, Code 11. The enumeration value of `EnumBarcodeFormatONED` and `EnumBarcodeFormatALL` are updated as well.
+- Added `EnumBarcodeFormat2PHARMACODEONETRACK`, `EnumBarcodeFormat2PHARMACODETWOTRACK` and `EnumBarcodeFormat2PHARMACODE` under enumeration [`EnumBarcodeFormat_2`]({{ site.mobile_enum }}barcode-format2.html?lang=objc,swift) to specify newly supported barcode format, Pharmacode.
+- Added a new error code [`DBRERR_PHARMACODE_LICENSE_INVALID`]({{ site.mobile_enum }}error-code.html#error-code--10062) which will be returned when the license of Pharmacode is invalid.
+- Added `EnumDeformationResistingModeBroadWarp`, `EnumDeformationResistingModeLocalReference` and `EnumDeformationResistingModeDewrinkle` under enumeration [`EnumDeformationResistingMode`]({{ site.mobile_enum }}deformation-resisting-mode.html) to apply new deformation resisting modes.
+- Added a parameter [`FormatSpecification.VerifyCheckDigit`]({{ site.parameters_reference }}verify-check-digit.html).
+- Added new argument [`ConfidenceThreshold`]({{ site.parameters_reference }}localization-modes.html#confidencethreshold) to the `LocalizationModes` mode arguments.
+- Added static method [`DynamsoftBarcodeReader.initLicense`]({{ site.oc_api }}primary-license.html#initlicense) to replace legacy license activation APIs.
+- Added protocol [`DBRLicenseVerificationListener`]({{ site.oc_api }}protocol-dmdlslicenseverificationdelegate.html) to get license verification callback when using `DynamsoftBarcodeReader.initLicense`.
+- Added protocol [`DBRTextResultListener`]({{ site.oc_api }}protocol-dbrtextresultdelegate.html).
+- Added protocol [`DBRIntermediateResultListener`]({{ site.oc_api }}protocol-dbrintermediateresultdelegate.html).
+- Added the following image [decoding methods]({{ site.oc_api }}primary-decode.html). The parameter `templateName` is not required in the new methods.
+ - `DynamsoftBarcodeReader.decodeBuffer`
+ - `DynamsoftBarcodeReader.decodeImage`
+ - `DynamsoftBarcodeReader.decodeFileWithName`
+ - `DynamsoftBarcodeReader.decodeBase64`
+ - `DynamsoftBarcodeReader.decodeIntermediateResult`
+
+#### Fixed
+
+- Fixed a bug that might cause a crash when using multiple threads for barcode decoding.
+
+#### Deprecated
+
+- The following license activation APIs are deprecated:
+ - Interface `iDMDLSConnectionParameters`
+ - Protocol `DBRServerLicenseVerificationDelegate`
+ - Protocol `DMDLSLicenseVerificationDelegate`
+ - Enumeration `EnumDMChargeWay`
+ - Enumeration `EnumDMLicenseModule`
+ - Enumeration `EnumDMUUIDGenerationMethod`
+ - Enumeration `EnumProduct`
+ - Method `DynamsoftBarcodeReader.initLicenseFromServer`
+ - Method `DynamsoftBarcodeReader.initLicenseFromDLS`
+ - Method `DynamsoftBarcodeReader.outputLicenseToString`
+
+- The image decoding methods with parameter templateName are deprecated
+ - `DynamsoftBarcodeReader.decodeIntermediateResult`
+ - `DynamsoftBarcodeReader.decodeImage`
+ - `DynamsoftBarcodeReader.decodeFileWithName`
+ - `DynamsoftBarcodeReader.decodeBase64`
+ - `DynamsoftBarcodeReader.decodeBuffer`
+
+- `DBRTextResultDelegate` is deprecated.
+- `DBRIntermediateResultListener` is deprecated.
+
+#### Breaking Changes
+
+- Configurations of the preset templates are changed.
+ - Changed the configurations of `EnumPresetTemplate.default` to `EnumPresetTemplate.videoSingleBarcode`.
+ - Added template `EnumPresetTemplate.imageDefault` to store the legacy configurations of `EnumPresetTemplate.default`.
+- Updated Swift APIs
+ - The following method names are changed:
+ - `DynamsoftBarcodeReader.updateRuntimeSettings`(with parameter `iPublicRuntimeSettings`)
+ - `DynamsoftBarcodeReader.decodeIntermediateResult`
+ - `DynamsoftBarcodeReader.decodeImage`
+ - `DynamsoftBarcodeReader.decodeFileWithName`
+ - `DynamsoftBarcodeReader.initRuntimeSettingsWithFile`
+ - `DynamsoftBarcodeReader.initRuntimeSettingsWithString`
+ - `DynamsoftBarcodeReader.appendTplFileToRuntimeSettings`
+ - `DynamsoftBarcodeReader.appendTplStringToRuntimeSettings`
+ - `DynamsoftBarcodeReader.outputSettingsToString`
+ - `DynamsoftBarcodeReader.outputSettingsToFile`
+ - Enumeration members of `EnumTerminatePhase`
+ - The following methods will signal errors by throw exceptions
+ - `DynamsoftBarcodeReader.decodeIntermediateResult`
+ - `DynamsoftBarcodeReader.decodeImage`
+ - `DynamsoftBarcodeReader.decodeFileWithName`
+ - `DynamsoftBarcodeReader.decodeBase64`
+ - `DynamsoftBarcodeReader.decodeBuffer`
+ - `DynamsoftBarcodeReader.getIntermediateResult`
+ - `DynamsoftBarcodeReader.createIntermediateResult`
+ - `DynamsoftBarcodeReader.outputLicenseToString`
+ - `DynamsoftBarcodeReader.outputSettingsToString`
+ - `DynamsoftBarcodeReader.allParameterTemplateNames`
+ - `DynamsoftBarcodeReader.getModeArgument`
+ - `DynamsoftBarcodeReader.getRuntimeSettings`
+ - The following methods will return an BOOL value
+ - `DynamsoftBarcodeReader.updateRuntimeSettings`
+ - `DynamsoftBarcodeReader.setModeArgument`
+ - `DynamsoftBarcodeReader.resetRuntimeSettings`
+ - `DynamsoftBarcodeReader.initRuntimeSettingsWithFile`
+ - `DynamsoftBarcodeReader.initRuntimeSettingsWithString`
+ - `DynamsoftBarcodeReader.appendTplFileToRuntimeSettings`
+ - `DynamsoftBarcodeReader.appendTplStringToRuntimeSettings`
+ - `DynamsoftBarcodeReader.outputSettingsToFile`
+
+- Removed the following legacy video barcode decoding APIs
+ - Interface `iDCESettingParameters`
+ - Interface `iFrameDecodingParameters`
+ - Enumeration `EnumClarityCalculationMethod`
+ - Enumeration `EnumClarityFilterMode`
+ - Protocol `DBRErrorDelegate`
+ - Method `DynamsoftBarcodeReader.setCameraEnhancerParam`
+ - Method `DynamsoftBarcodeReader.startFrameDecoding`
+ - Method `DynamsoftBarcodeReader.startFrameDecodingEx`
+ - Method `DynamsoftBarcodeReader.appendFrame`
+ - Method `DynamsoftBarcodeReader.setDBRErrorDelegate`
+ - Method `DynamsoftBarcodeReader.stopFrameDecoding`
+ - Method `DynamsoftBarcodeReader.getFrameDecodingParameters`
+ - Method `DynamsoftBarcodeReader.getLenghtOfFrameQueue`
+
+- Removed the following legacy license activation APIs
+ - Interface `iDMLTSConnectionParameters`
+ - Protocol `DMLTSLicenseVerificationDelegate`
+ - Method `DynamsoftBarcodeReader.initLicenseFromLTS`
+ - Property `DynamsoftBarcodeReader.license`
diff --git a/programming/objectivec-swift/user-guide/scanner-barcode-formats.md b/programming/objectivec-swift/user-guide/scanner-barcode-formats.md
index bfa203f3..463d4fbf 100644
--- a/programming/objectivec-swift/user-guide/scanner-barcode-formats.md
+++ b/programming/objectivec-swift/user-guide/scanner-barcode-formats.md
@@ -95,11 +95,11 @@ For common formats, you can download and use the preset templates below:
| Barcode Format(s) | Template |
| ----------------- | -------- |
-| EAN13, EAN8, UPC_A, UPC_E, GS1 Databar | [ReadOneDRetail.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadOneDRetail.json) |
-| Code128, Code39, ITF, Codabar, MSI Code | [ReadOneDIndustrial.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadOneDIndustrial.json) |
-| QR Code | [ReadQR.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadQR.json) |
-| Data Matrix | [ReadDataMatrix.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadDataMatrix.json) |
-| PDF417 | [ReadPDF417.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadPDF417.json) |
-| Aztec | [ReadAztec.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadAztec.json) |
-| QR Code, Data Matrix, PDF417 | [ReadCommon2D.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadCommon2D.json) |
-| DotCode | [ReadDotCode.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOrientedSamples/src/main/assets/Templates/ReadDotCode.json) |
+| EAN13, EAN8, UPC_A, UPC_E, GS1 Databar | [ReadOneDRetail.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadOneDRetail.json) |
+| Code128, Code39, ITF, Codabar, MSI Code | [ReadOneDIndustrial.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadOneDIndustrial.json) |
+| QR Code | [ReadQR.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadQR.json) |
+| Data Matrix | [ReadDataMatrix.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadDataMatrix.json) |
+| PDF417 | [ReadPDF417.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadPDF417.json) |
+| Aztec | [ReadAztec.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadAztec.json) |
+| QR Code, Data Matrix, PDF417 | [ReadCommon2D.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadCommon2D.json) |
+| DotCode | [ReadDotCode.json](https://github.com/Dynamsoft/barcode-reader-mobile-samples/blob/main/ios/BarcodeScannerAPISamples/ScenarioOptimizedScanning/ScenarioOptimizedScanning/DynamsoftResources.bundle/Templates/ReadDotCode.json) |