Release Notes for C++ Edition - 3.x
3.6.1000 (07/23/2026)
Highlights
Multimodal PDF Content Extraction
- New PDF Reading Mode - Added
PDFRM_MULTIMODALtoPDFReadingMode, now the default forPDFReadingParameter. It extracts vector graphics, text content, and embedded images from PDF files, enabling stronger barcode reading performance in multimodal PDF scenarios. - Performance Behavior Update - Compared with full-page raster rendering,
PDFRM_MULTIMODALusually improves speed by avoiding unnecessary rendering of irrelevant regions.
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
DeblurModeattempt blocks other faster decoding attempts, helping valid results come back sooner.
DataMatrix Color Inversion Detection
- Handle normal and inverted DataMatrix more efficiently - Added
AutoDetectColorInversionto 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
CLayoutAnalyzerto 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
- Support text lines in arbitrary orientations more automatically - Added
OrientationDetectionModesto automatically detect text line orientation and correct the orientation of text lines for further processing. Two modes are available:ODM_SPATIAL_REFERENCESandODM_CHARS_ORIENTATION_NEURAL_NETWORK.
New
-
Added
PDFRM_MULTIMODALvalue toPDFReadingModeenumeration for multimodal PDF content extraction. -
Added
AutoDetectColorInversionparameter forBarcodeFormatSpecificationto support automatic color-inversion detection for DataMatrix barcodes. -
Added a new overload of
CaptureMultiPages()that accepts aCFileFetcherparameter for more flexible file input handling. -
Added
CLayoutAnalyzerclass withAnalyze()andReleaseResult()static methods for quadrilateral layout analysis. -
Added
LayoutPatternenumeration with valuesLP_UNKNOWN,LP_LINES, andLP_MATRIX. -
Added
LayoutElementSourceenumeration with valuesLES_NONE,LES_INPUT, andLES_INFERRED. -
Added
MeasureUnitenumeration with valuesMU_PIXELandMU_PERCENTAGE. -
Added structures
LayoutAxis,LayoutAnalysisParameter,LayoutElement, andLayoutAnalysisResultfor layout analysis configuration and results. -
Added a new
GridBarcodeScannersample (withsample_grid.png) to demonstrate how to useCLayoutAnalyzerfor barcode grid layout detection and logical row/column mapping. -
Added
OrientationDetectionModesparameter for theSST_LOCALIZE_TEXT_LINESstage with two supported modes:ODM_SPATIAL_REFERENCESandODM_CHARS_ORIENTATION_NEURAL_NETWORK. -
Added
TextLineOrientationCls.datamodel file for text line orientation classification. -
Added a new overload of
FindPortraitZone()that accepts an additionalisBlankPortraitoutput parameter, which indicates whether the detected portrait zone is blank.
Changed
-
Default
PDFReadingModeinPDFReadingParameterconstructor changed fromPDFRM_RASTERtoPDFRM_MULTIMODAL. -
MaxParallelTasksnow controls the total number of concurrent Work 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. -
SetDeviceFriendlyName()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. ReturnsEC_PARAMETER_VALUE_INVALIDif constraints are not met. -
The Linux ARM64 minimum requirement is now glibc 2.27 (Ubuntu 18.04+, Debian 10+, and CentOS/RHEL 8+).
-
The Visual Studio minimum requirement is now VS2015.
Improved
-
Updated
MRZLocalization.datamodel for improved portrait zone detection accuracy. -
FindPortraitZone()now returns the portrait zone quadrilateral with the top-left corner of the upright portrait as the first point. -
Improved
idNumberTypefield extraction accuracy forSOUTH_AFRICA_DLparsing.
Fixed
-
Fixed a crash that could occur in AWS Lambda environments under certain conditions.
-
Fixed an issue in GS1-Databar AI
17(YYMMDD) results where the month field could be missing a leading zero.
Deprecations
- Marked
PDFRM_VECTORas deprecated (covered byPDFRM_MULTIMODAL).
3.4.3000 (06/30/2026)
Security Updates
- Updated third-party libraries to incorporate the latest security fixes.
3.4.2001 (04/17/2026)
Security Updates
- Updated third-party libraries to incorporate the latest security fixes.
3.4.2000 (03/18/2026)
Security Updates
- Updated third-party libraries to incorporate the latest security fixes.
Bug Fixes
- Fixed an issue where the SDK might attempt to load corrupted model resource files in rare cases.
3.4.1000 (02/05/2026)
Highlights
AI-Powered Barcode Detection and Decoding
-
PDF417 Localization Model – Introduces the
PDF417Localizationneural network model for improved detection of PDF417 barcodes, especially under challenging conditions. -
Code39/ITF Decoding Model – Adds the
Code39ITFDecodermodel for enhanced decoding of Code 39 and ITF barcodes under blurred or low-resolution conditions. -
Deblur Models for 2D Barcodes – Adds the
DataMatrixQRCodeDeblurandPDF417Deblurmodels 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
CECISegmentclass, along with theGetECISegmentsCount()andGetECISegment()methods in theCBarcodeResultItemandCDecodedBarcodeElementclasses, 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
MRZLocalizationmodel 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
CIdentityProcessorclass withFindPortraitZone()method for precise portrait positioning from passports and ID cards.
New
-
Added
BarcodeZoneWidthToHeightRatioRangeArrayparameter for filtering barcodes based on aspect ratio constraints. -
Added
SetResultCrossVerificationCriteria()andGetResultCrossVerificationCriteria()methods toCMultiFrameResultCrossFilterfor configurable multi-frame result verification. -
Added
CAuxiliaryRegionElementclass for representing additional region information detected during processing (e.g., MRZ (Machine Readable Zone), portrait zones). -
Added
ROET_AUXILIARY_REGIONtoRegionObjectElementTypeenumeration for the newCAuxiliaryRegionElementclass. -
Added auxiliary region element management methods to
CLocalizedTextLinesUnit:GetAuxiliaryRegionElementsCount(),GetAuxiliaryRegionElement(),SetAuxiliaryRegionElement(),AddAuxiliaryRegionElement(),RemoveAuxiliaryRegionElement(), andRemoveAllAuxiliaryRegionElements(). -
Added
CreateAuxiliaryRegionElement()static method toCImageProcessingModule. -
Added new error code
EC_PORTRAIT_ZONE_NOT_FOUNDfor identity document processing.
Changed
-
CaptureMultiPagesnow returns results sorted by page number. -
Barcode text encoding fallback changed from UTF-8 to ISO-8859-1 when no ECI information is present in the barcode.
-
Updated default value of
compensationparameter inCImageProcessor::ConvertToBinaryLocal()from 0 to 10. -
ConvertToBinaryGlobal()andConvertToBinaryLocal()ofCImageProcessorclass 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
Improved
- Improved license binding stability on macOS devices.
Removed
-
Removed
DataMatrixModuleIsotropicparameter – useBarcodeZoneWidthToHeightRatioRangeArrayinstead. -
Removed
MinRatioOfBarcodeZoneWidthToHeightparameter – useBarcodeZoneWidthToHeightRatioRangeArrayinstead.
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.
Bug Fixes
- Fixed memory leak, crash, and hang issues in various scenarios.
- Improved stability in multi-threading operations.
3.2.1000 (10/14/2025)
🎉Milestone Release
Version 3.2.1000 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
OneDLocalizationandDataMatrixQRCodeLocalizationneural network models for improved detection of blurred / low-resolution 1D codes, or partially damaged DataMatrix/QR codes. - Specialized Decoders – Adds
EAN13DecoderandCode128Decodermodels optimized for long-distance and motion-blurred decoding scenarios. - Redesigned Deblur Model – The
OneDDeblurmodel now provides more effective recovery from motion and focus blur. - Configurable Model Selection – The new
ModelNameArrayparameter supports flexible model loading and fine-grained control for specific barcode types.
Precision and Processing Control
- Enhanced Deblur Methods –
DM_DEEP_ANALYSISnow includes sub-level control withOneDGeneral,TwoDGeneral, andEAN13Enhancedoptions. - Barcode Count Expectation – The new
ExpectedBarcodesCountparameter enables format-specific quantity control and early termination in fixed-count workflows. - Improved Region Detection – The new
RPM_GRAY_CONSISTENCYmode 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
MRZLocalizationmodel improves region detection accuracy and delivers up to 42.7% faster processing for MRZ-based document workflows. - Configurable Localization Control – The new
LocalizationModesparameter allows configuration for text line detection.
Smart Document Capture
- Clarity-Based Frame Selection – Automatically selects the sharpest and highest-quality frame in live capture workflows.
- Cross-Frame Verification – Updated verification algorithms enhance result reliability.
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.
Document Workflows
- Improved performance in live video capture environments.
- Consistent document quality through clarity-based frame evaluation.
- Faster MRZ processing for high-throughput identity verification
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.
Changed
Parameter Defaults
MaxThreadsInOneTask: default changed from 4 → 0 (auto-detection).IncludeTrailingCheckDigit: default changed from 1 → 0. Code128 results will no longer include the trailing check digit by default for improved compliance with standard decoding practices.
Deprecations
DeblurModelNameArrayargument ofDeblurModes→ useModelNameArray.AppendModelBuffermethod ofCaptureVisionRouter→ useAppendDLModelBuffer.
3.0.6000 (08/06/2025)
Changed
StartCapturingnow 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 a bug that caused a crash when using a specific type of license.
- Fixed various minor bugs and improved overall stability.
3.0.4000 (07/15/2025)
New
-
Tile-Based TIFF Image Support: Added support for TIFF images with tile-based storage format.
-
Base64 String Conversion: Enabled bidirectional conversion between
ImageDataand 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.
-
PDFR License Control Removal: Removed the license check for the PDFR module.
Fixed
- Fixed various minor bugs and improved overall stability.
3.0.3000 (05/13/2025)
New
- Added support for appending pages to PDF files generated by
CImageIO.SaveToFile. Appending to other PDF files is not supported. - Added a new function
Retainto the classCRawTextLine.
Fixed
- Resolved a performance issue that could cause unusually high CPU and memory usage in some cases.
Changed
- Removed the licensing requirement for saving PDFs.
3.0.1000 (03/04/2025)
Highlights
- 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
- Unified template-loading logic to reduce I/O overhead.
- Added support for capturing data from multi-page files, including PDF and TIFF formats.
- Implemented conversion functionality between
CImageDataand image files, including both on-disk and in-memory files.