# Release Notes - DynamsoftCaptureVisionBundle

## 3.6.3200（09/07/2026）

### Fixed

- Fixed an issue where automatic trial license application would fail in certain scenarios.
- Fixed known browser compatibility issues with specific iOS versions.

## 3.6.3000（08/25/2026）

### Improved

- Improved localization stability for GS1 DataBar Stacked barcodes when the bars are short.

### Fixed

- Fixed hangs and crashes that could occur with certain input images and templates.
- Fixed a crash in code parsing when the input string contained empty fields.

## 3.6.2100（08/18/2026）

### Fixed

- Fixed an issue where `getSimplifiedSettings()` returned inaccurate results due to precision loss when the configured `barcodeFormatId` value exceeded `MAX_SAFE_INTEGER` in a Capture Vision templates.

## 3.6.2000 (08/13/2026)

### Highlights

#### DataMatrix Color Inversion Detection

- **Handle normal and inverted DataMatrix more efficiently** - Added [`AutoDetectColorInversion`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-format-specification/auto-detect-color-inversion.md) 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.

#### Barcode Layout Analysis

- **Decode dense grid barcodes more completely** - Added [`LayoutAnalyzer`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/layout-analyzer.md) to organize barcode locations into logical line or matrix layouts and infer unrecognized barcode regions when gaps exist, enabling workflows such as fast first-pass decoding, missing-region inference, and targeted second-pass decoding on dense N*M barcode layouts.

#### 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.

#### Text Line Orientation Detection

- **Improved handling of rotated text lines** - Added [`OrientationDetectionModes`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/label-recognizer-task-settings/orientation-detection-modes.md) to detect text line orientation and correct it for further processing. Two modes are available: `ODM_SPATIAL_REFERENCES` and `ODM_CHARS_ORIENTATION_NEURAL_NETWORK`.
- **Current limitations** - This capability is currently effective only in MRZ scenarios and supports only upright and upside-down text lines (0 degrees and 180 degrees). It does not yet handle 90 degrees, 270 degrees, or arbitrary rotation angles.

### New

- Added support for Micro PDF417-specific decoding mode.

- Added [`AutoDetectColorInversion`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-format-specification/auto-detect-color-inversion.md) parameter for `BarcodeFormatSpecification` to support automatic color-inversion detection for DataMatrix barcodes.

- Added [`LayoutAnalyzer`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/layout-analyzer.md) class with [`analyze()`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/layout-analyzer.md#analyze) static method for quadrilateral layout analysis.

- Added [`LayoutPattern`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/enum-layout-pattern.md) enumeration with values `LP_UNKNOWN`, `LP_LINES`, and `LP_MATRIX`.

- Added [`LayoutElementSource`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/enum-layout-element-source.md) enumeration with values `LES_NONE`, `LES_INPUT`, and `LES_INFERRED`.

- Added [`MeasureUnit`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/core/enum-measure-unit.md) enumeration with values `MU_PIXEL` and `MU_PERCENTAGE`.

- Added [`LayoutAxis`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/layout-axis.md), [`LayoutAnalysisParameter`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/layout-analysis-parameter.md), [`LayoutElement`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/layout-element.md), and [`LayoutAnalysisResult`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/layout-analysis-result.md) for layout analysis configuration and results.

- Added a new `GridBarcodeScanner` sample (with `sample_grid.png`) to demonstrate how to use [`LayoutAnalyzer`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/layout-analyzer.md) for barcode grid layout detection and logical row/column mapping.

- Added [`OrientationDetectionModes`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/label-recognizer-task-settings/orientation-detection-modes.md) parameter for the [`SST_LOCALIZE_TEXT_LINES`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/label-recognizer-task-settings/stage-localize-text-lines.md) stage with two supported modes: `ODM_SPATIAL_REFERENCES` and `ODM_CHARS_ORIENTATION_NEURAL_NETWORK`.

- Added `TextLineOrientationCls.data` model file for text line orientation classification.

### Changed

- [`MaxParallelTasks`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/capture-vision-template/max-parallel-tasks.md) 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()`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/license/license-manager.md#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`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/core/enum-error-code.md) if constraints are not met.

### Fixed

- Fixed an issue in GS1-Databar AI `17` (YYMMDD) results where the month field could be missing a leading zero.
- Fixed an issue where minImageCaptureInterval was not reset correctly when resetSettings() was called.
- Fixed several known crash issues.

## 3.4.3000 (07/02/2026)

Updated third-party libraries to incorporate the latest security fixes.

## 3.4.2001 (04/24/2026)

### Fixed

- Fixed an issue where coordinate conversion could behave abnormally after large images were compressed.
- Fixed an issue where abnormal DCEFrame `imageData` could cause errors in the `toCanvas()` method.

### improved

- Optimized the behavior of the Dynamsoft Camera Enhancer torch and other camera-related features.

## 3.4.2000 (04/21/2026)

### Highlights

#### AI-Powered Barcode Detection and Decoding

- **PDF417 Localization Model** – Introduces the [`PDF417Localization`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/localization-modes.md#modelnamearray) neural network model for improved detection of PDF417 barcodes, especially under challenging conditions.

- **Code39/ITF Decoding Model** – Adds the [`Code39ITFDecoder`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/deblur-modes.md#modelnamearray) model for enhanced decoding of Code 39 and ITF barcodes under blurred or low-resolution conditions.

- **Deblur Models for 2D Barcodes** – Adds the [`DataMatrixQRCodeDeblur`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/deblur-modes.md#modelnamearray) and [`PDF417Deblur`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/deblur-modes.md#modelnamearray) models to provide more effective recovery from motion and focus blur for DataMatrix, QR Code, and PDF417 barcodes.

#### ECI (Extended Channel Interpretation) Support

- **ECI Information Return** – Adds support for retrieving Extended Channel Interpretation (ECI) data from barcodes. The new [`ECISegment`](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/eci-segment.md) interface, along with the `eciSegments` property in the [`BarcodeResultItem`](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/barcode-result-item.md#ecisegments) and [`DecodedBarcodeElement`](https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/api-reference/decoded-barcode-element.md#ecisegments) interfaces, enables access to character encoding information embedded in barcodes.

- **ECI-Based Text Interpretation** – Adds support for interpreting ECI segments during barcode decoding, improving compatibility with international character sets.

#### Performance Improvements

- **On-Demand Model Loading** – Implements lazy loading for AI models, reducing initialization time by loading models only when first needed.

- **Smart Model Selection** – Models are now loaded based on configured barcode formats, minimizing memory usage by excluding unused models.

- **Improved Confidence Scoring** – Enhances confidence score calculation for results from neural network models, providing more accurate quality indicators.

- **DPM Barcode Optimization** – Improves recognition rate for Direct Part Marking (DPM) barcodes commonly used in industrial and manufacturing environments.

#### Identity Document Processing

- **Enhanced Passport Processing** – Improves document edge detection accuracy for passport documents through optimized processing workflows.

- **Portrait Zone Detection** – The `MRZLocalization` model now supports detecting portrait zone on identity documents, enabling automatic extraction of photo regions.

- **New DynamsoftIdentityUtility Module** – Introduces a dedicated module for identity document processing, including the [`IdentityProcessor`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/identity-utility/identity-processor.md) class with [`FindPortraitZone()`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/identity-utility/identity-processor.md#findportraitzone) method for precise portrait positioning from passports and ID cards.

### New

- Added [`BarcodeZoneWidthToHeightRatioRangeArray`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-format-specification/barcode-zone-width-to-height-ratio-range-array.md) parameter for filtering barcodes based on aspect ratio constraints.

- Added [`SetResultCrossVerificationCriteria()`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/multi-frame-result-cross-filter.md#setresultcrossverificationcriteria) and [`GetResultCrossVerificationCriteria()`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/multi-frame-result-cross-filter.md#getresultcrossverificationcriteria) methods to `MultiFrameResultCrossFilter` for configurable multi-frame result verification.

- Added [`AuxiliaryRegionElement`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/core/intermediate-results/auxiliary-region-element.md) class for representing additional region information detected during processing (e.g., MRZ (Machine Readable Zone), portrait zones).

- Added `ROET_AUXILIARY_REGION` to [`RegionObjectElementType`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/core/enum-region-object-element-type.md) enumeration for the new `AuxiliaryRegionElement` class.

- Added auxiliary region element to `LocalizedTextLinesUnit` interface: [`auxiliaryRegionElements()`](https://www.dynamsoft.com/label-recognition/docs/web/programming/javascript/api-reference/localized-text-lines-unit.md#auxiliaryregionelements).

### Changed

- Barcode text encoding fallback changed from UTF-8 to ISO-8859-1 when no ECI information is present in the barcode.

- All methods under the [`ImageProcessor`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/image-processor.md) class now additionally accept [`DSImageData`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/core/basic-structures/ds-image-data.md) as an image input type.

- All methods under the [`ImageIO`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/image-io.md), [`ImageProcessor`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/image-processor.md), and [`ImageDrawer`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/image-drawer.md) classes have been changed to static methods.

- [`CodeParserModule.loadSpec()`](https://www.dynamsoft.com/code-parser/docs/web/programming/javascript/api-reference/code-parser-module-class.md#loadspec) now returns a `Promise<ErrorInfo>` instead of `void`.

- Updated default value of `compensation` parameter in [`convertToBinaryLocal()`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/image-processor.md#converttobinarylocal) from 0 to 10.

- [`convertToBinaryGlobal()`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/image-processor.md#converttobinaryglobal) and [`convertToBinaryLocal()`](https://www.dynamsoft.com/capture-vision/docs/web/programming/javascript/api-reference/utility/image-processor.md#converttobinarylocal) of `ImageProcessor` class now support color, binary and grayscale images as input.

- Parser resource files (.json) have been consolidated into encrypted .data files for improved security and simplified distribution:
  - `AADHAAR.data`, `AAMVA_DL_ID.data`, `GS1_AI.data`, `MRTD.data`, `SOUTH_AFRICA_DL.data`, `VIN.data`

- `CameraEnhancer.open()` now returns `Promise<void>` when operating in `singleFrameMode`.

### Removed

- Removed `DataMatrixModuleIsotropic` parameter – use [`BarcodeZoneWidthToHeightRatioRangeArray`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-format-specification/barcode-zone-width-to-height-ratio-range-array.md) instead.

- Removed `MinRatioOfBarcodeZoneWidthToHeight` parameter – use [`BarcodeZoneWidthToHeightRatioRangeArray`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-format-specification/barcode-zone-width-to-height-ratio-range-array.md) instead.

### Fixed

- Fixed incorrect coordinate in barcode result when using neural network models with a specified region.

- Fixed crash and hang issues that could occur in certain scenarios.

- Fixed various minor bugs and improved overall stability.

## 3.2.5000 (12/16/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.

## 3.2.4000 (11/11/2025)

### Fixed

- Fixed a bug that could cause a crash when using model localization with a 2D barcode.

## 3.2.2000 (11/04/2025)

### 🎉Milestone Release
Version 3.2.2000 introduces a series of AI-driven improvements designed to enhance barcode and MRZ detection accuracy, processing speed, and configuration flexibility.

This release focuses on practical performance gains for production environments across retail, logistics, manufacturing, and identity verification workflows.

### ✨ Key Highlights
#### AI-Powered Barcode Detection and Decoding

- New Localization Models – Introduces [`OneDLocalization`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/localization-modes.md#modelnamearray) and [`DataMatrixQRCodeLocalization`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/localization-modes.md#modelnamearray) neural network models for improved detection of **blurred / low-resolution 1D codes**, or **partially damaged DataMatrix/QR codes**.
- Specialized Decoders – Adds [`EAN13Decoder`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/deblur-modes.md#modelnamearray) and [`Code128Decoder`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/deblur-modes.md#modelnamearray) models optimized for **long-distance** and **motion-blurred** decoding scenarios.
- Redesigned Deblur Model – The [`OneDDeblur`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/deblur-modes.md#modelnamearray) model now provides more effective recovery from **motion and focus blur**.
- Configurable Model Selection – The new `ModelNameArray` parameter supports flexible model loading and fine-grained control for specific barcode types.

#### Precision and Processing Control

- Enhanced Deblur Methods – [`DM_DEEP_ANALYSIS`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-reader-task-settings/deblur-modes.md#dm_deep_analysis) now includes sub-level control with `OneDGeneral`, `TwoDGeneral`, and `EAN13Enhanced` options.
- Barcode Count Expectation – The new [`ExpectedBarcodesCount`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/barcode-format-specification/expected-barcodes-count.md) parameter enables **format-specific quantity control** and **early termination** in fixed-count workflows.
- Improved Region Detection – The new [`RPM_GRAY_CONSISTENCY`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/image-parameter/region-predetection-modes.md#rpm_gray_consistency) mode provides more precise region extraction based on **grayscale uniformity** and **local consistency** for document and label processing.

#### AI-Powered MRZ Detection

- Neural MRZ Localization – The new [`MRZLocalization`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/label-recognizer-task-settings/localization-modes.md#modelnamearray) model improves region detection accuracy and delivers up to **42.7%** faster processing for MRZ-based document workflows.
- Configurable Localization Control – The new [`LocalizationModes`](https://www.dynamsoft.com/capture-vision/docs/core/parameters/reference/label-recognizer-task-settings/localization-modes.md) parameter allows configuration for text line detection.

### Performance Highlights

#### Barcode Workflows

- Up to **26.5%** higher read rates under blur conditions with as much as **44%** faster processing.
- Reliable decoding of DataMatrix and QR codes with missing or damaged finder patterns.
- Extended operational range beyond 75 cm for long-distance barcode scanning.

### Developer Notes

- Backward Compatibility – Fully compatible with existing integrations; no code-level changes required for upgrade.
- Configuration Flexibility – Expanded parameter set allows comprehensive model configuration for scenario-specific tuning.
- Production Stability – All new models validated in enterprise environments.

## API Changes

### New

- Added the `switchCapturingTemplate()` method to the `CaptureVisionRouter` class to enable switching the active capturing template during the image processing workflow. 
- Added methods `toBlob()`, `toImage()`, and `toCanvas()` to the `originalImageResultItem` interface for flexible image data conversion.
- Added the `SetGlobalIntraOpNumThreads()` method to the `CaptureVisionRouter` class to configure the global thread count for model inference.  
- Added the `clearDLModelBuffers()` method to the `CaptureVisionRouter` class to manually release memory occupied by loaded models.  
- Added callback functions `onSpecLoadProgressChanged()` and `onWasmLoadProgressChanged()` to monitor resource loading progress.  
- Added the `convertToContainCoordinates()` method to the `CameraEnhancer` class to convert coordinates from `fit: cover` to `fit: contain` mode.  
- Added the `LM_NEURAL_NETWORK` enumeration to `EnumLocalizationMode`.  

### Updated

- Changed the default value of `MaxThreadsInOneTask` from **4** to **0**.  
- Changed the default value of `IncludeTrailingCheckDigit` from **1** to **0**.  

### Deprecated

- Deprecated the `DeblurModelNameArray` argument in the `DeblurModes` parameter. Use `ModelNameArray` instead.  
- Deprecated the `appendModelBuffer()` method in the `CaptureVisionRouter` class. Use `appendDLModelBuffer()` instead.  

## 3.0.6001(08/28/2025)

### Fixed

- Rebuilt the WASM file to resolve a performance degradation issue.
- Added back missing type definitions for `documentSettings` and `labelSettings`.

## 3.0.6000(08/14/2025)

### New

- **Base64 String Conversion**: Enabled bidirectional conversion between `ImageData` and Base64 strings.

- **Template Version Validation**: Introduced version checking for templates to prevent compatibility issues and mismatches.

### Improved

- **White-on-White Document Recognition**: Optimized accuracy for document detection in scenarios where white paper is placed on a white background.

### Changed

- **License Validation Behavior**: Instead of stopping execution immediately on an invalid license module, the library now continues processing and returns results from modules with valid licenses. An error is still reported to indicate the license issue.
- `StartCapturing` now stops immediately and returns a license-related error code if none of the tasks have a valid license, instead of proceeding and returning an empty result.

### Fixed

- Fixed various minor bugs and improved overall stability.

## 3.0.3001(06/09/2025)

### Fixed

- Fixed an issue where the results from the last unprocessed frame were still rendered on the page after calling the `captureVisionRouter.stopCapturing()` method.

## 3.0.3000(06/05/2025)

### [Highlights](https://www.dynamsoft.com/release-highlights?product=dcv3.0)

#### Workflow Improvements

- Restructured the parameter control hierarchy at all levels for finer scope definition and more granular process management, with the stage level newly added.
- Enabled custom combinations and sequences of sections, increasing flexibility and operational customization under specific conditions.
- Redesigned document normalization sections to better accommodate diverse document processing operations.
  
#### Deep Learning Integration

- Improved the reading rate of 1D barcode by introducing a new deblurring deep-learning model.
- Enhanced text recognition capabilities with deep learning-based text-line recognition.

#### Algorithm Enhancements

- Enabled deduplication at the Region of Interest (ROI) level to consolidate results from multiple tasks.
- Enhanced the text recognition workflow by integrating improved multi-step recognition processes and validation methods.
- Improved the `CODE_128` and `DataMatrix` DeepAnalysis algorithms for better decoding accuracy and performance.
- Added support for new barcode types: `CODE_32`, `MATRIX_25`, `KIX`, and `TELEPEN`.
- Added GS1 Application Identifiers (AI) support for improved code parsing capabilities.

#### Engineering Optimizations

- Simplified the loading and configuration of WASM resources, reducing the overall size of the WASM files.
- Added the `dcvData` package to host all potentially used resource files (such as machine learning models, code parser resources, preset template files, etc.).
- Implemented conversion functionality between `ImageData` and image files, including both local and in-memory files.
- Added utility functions for basic image processing tasks.