Release Notes
4.0.0 (05/22/2026)
A major release with a redesigned scanner UI, a new image-extraction pipeline, multi-side scanning, first-class visa support, and a leaner API surface that drops the bundled result view in favor of consumer-rendered results.
Highlighted Features
- Image extraction in scan results. Opt in via
returnOriginalImage/returnDocumentImage/returnPortraitImageonMRZScannerConfig, then read the deskewed crop, the full original frame, and the portrait crop viaMRZResult.getDocumentImage(side),getOriginalImage(side), andgetPortraitImage(). Each returns aDSImageDatawithtoCanvas()/toBlob()helpers. - Multi-side scanning. When the portrait sits on the opposite side of the MRZ (typical of TD1 / TD2 ID cards), the scanner prompts the user to flip the document and captures both sides in one session. The new
EnumDocumentSide(MRZ/Opposite) selects which side to retrieve. Tunable viaflipDocumentTimeout(default3000ms). - First-class visa types. Visas are no longer conflated with Passport / TD2.
EnumMRZDocumentTypegainsMRVA(TD3-sized) andMRVB(TD2-sized), with matching values inEnumMRZScanMode. - Redesigned
MRZScannerView. New SVG guide frames, animated scan spinner, and refreshed toolbar. Four newscannerViewConfiginterfaces give full customization:toolbarButtonsConfig(per-button icon / label / className / visibility),formatSelectorConfig(localize format buttons),messagesConfig(localize all on-screen text, including a{seconds}placeholder for the flip-document countdown), andthemeConfig(color, typography, and spacing tokens). - URL input to
launch().launch()now accepts a string URL alongsideBlob,DSImageData, and HTML media elements; the library fetches and decodes the URL internally. OptionalData1andOptionalData2ICAO optional-data fields now exposed onEnumMRZData.MRZData.documentTypeis now typed asEnumMRZDocumentType.
Breaking Changes
Migrating an existing v3.x integration? Work through the Migration Guide (v3.x to v4.0), which covers each change below in detail with before/after code.
MRZResultViewis removed, along withMRZResultViewConfig,MRZResultViewToolbarButtonsConfig,resultViewConfig, andshowResultView. Consumers render the result themselves — see the User Guide for a worked example.MRZResult.originalImageResultandMRZResult.imageDataare removed, replaced bygetOriginalImage(side). The MWC-specific_imageDatainternal is also gone.- API renames:
showUploadImage→showLoadImageButton,uploadAcceptedTypes→loadImageAcceptedTypes,uploadFileConverter→loadImageFileConverter,showScanGuide→enableScanRegion,EnumMRZScanMode.Passport→EnumMRZScanMode.TD3. EnumMRZDocumentTypestring values changed to disambiguate visas:Passport’s value is now"td3_passport"(was"passport"),TD1is"td1_id"(was"td1"),TD2is"td2_id"(was"td2"). Code using the enum references is unaffected; raw-string comparisons must be updated.MRZResultshape changed. Now an interface with image-getter methods. Thestatusfield is optional and usesEnumResultStatusdirectly (was aResultStatusobject withcode/message).- DCV namespace flattened. DCV exports are now reachable directly under
Dynamsoft.*instead of the previousDynamsoft.Dynamsoft.*nesting.
Fixes & Improvements
- Upgraded the underlying DCV to 3.4.2001 under new package names:
dynamsoft-capture-vision-bundleanddynamsoft-capture-vision-data. - New scan-quality controls:
enableMultiFrameCrossFilter(defaulttrue) for DCV multi-frame cross-verification, andenableScanRegion(defaulttrue) for the rectangular guide frame. - Engine resource paths now resolve relative to the script’s own URL, so consumers no longer hard-code CDN paths.
UtilizedTemplateNamesaccepts either a string or aTemplatePair({ full, mrzOnly }) per scan mode, enabling separate full-frame and MRZ-only templates.- Reduced repeated camera permission prompts on Firefox Android.
- Removed spurious TD3-visa matches from passport scanning.
- Prevented portrait-image clipping on capture via asymmetric margins.
- Format selector and scan results now respect
mrzFormatType, only surfacing the categories the consumer opted into. - Visual guide-frame visibility properly respects
enableScanRegion. - The configured
cameraAccessDeniedmessage is now displayed on permission denial. - Bundle pruned to ESM + CJS + a single IIFE; template files renamed from
.htmlto.xml(mrz-scanner.ui.xml,mrz-scanner.template.json); fixed nesteddist/artifact in the published package.
3.1.0 (01/13/2026)
Highlighted Features
- Neural MRZ Localization – The new MRZLocalization model improves region detection accuracy and delivers up to 42.7% faster processing for MRZ-based document workflows.
- Configurable Localization Control – The new LocalizationModes parameter allows configuration for text line detection.
Fixes & Improvements
- Updated third-party libraries to incorporate the latest security fixes and maintenance updates.
3.0.4 (10/20/2025)
Fixes
- Fixed a bug with the
mrzTextfield of theMRZDatainterface.
3.0.3 (09/17/2025)
Fixes
- Fixed the
launch()method so that theimageOrFileparameter is optional (for TypeScript implementation). - Altered the React Hooks sample to allow it to run in
Strict Mode.
3.0.2 (09/11/2025)
Fixes
- Updated the underlying Capture Vision bundle to
3.0.6001. - Improved recognition speed by fixing an issue where a WASM compilation parameter caused performance degradation.
- Strengthened and improved the framework samples (e.g. Angular) with security updates.
3.0.1 (08/06/2025)
Fixes
- Fixed the file input process error when decoding static file input when
showResultViewis set tofalse. - Resolved an issue with the
launch()method throwing an error when there’s a different error format thrown.
3.0.0 (06/17/2025)
Highlighted Features
- Updated the underlying Capture Vision bundle to
3.0.3001for major improvements in reading accuracy and speed. - Optimized the algorithm to achieve a 30% increase in read rate as well as a 15% increase in accuracy.
- Added support for
TD2andTD3Visa. - Added a
emptyResultMessageproperty to theResultViewConfiginterface in order to change the string message that is displayed when no result is found.
Fixes
- Fixed the issue where the camera select icon cuts off on browsers in iOS.
- Optimized the resource loading process of the library.
- Replaced the re-scan button of the result view with a cancel button when the MRZ scanner is launched with a static file.
2.1.0 (05/16/2025)
Highlighted Features
- [UI] Redesigned the
MRZScannerView(the main camera view) to have updated icons and better alignment and spacing. - Changed the default camera resolution when the camera is opened from 1080p to 2K (if the camera supports it).
- Added a new property to the
MRZScannerViewConfiginterface,showPoweredByDynamsoft, which controls the visibility of thePowered By Dynamsoftmessage that is part of theMRZScannerViewUI. - Introduced the ability for the MRZ Scanner to read MRZs from static images and PDFs without the need to use the
MRZScannerViewUI and the Load Image button. - Added two new properties to the
MRZScannerViewConfiginterface,uploadAcceptedTypesanduploadFileConverter, which convert static images and PDFs to blobs which can then be read by the MRZ Scanner. - Redeveloped the
launch()method so that it can take a static image or file as input. To learn how to use that, please refer to Setting up the MRZ Reader for Static Images - Integrated Dynamsoft’s Mobile Web Capture with the MRZ Scanner (JavaScript Edition) to allow the user to edit the scanned MRZ image like a document.
- Added
NationalityRawandIssuingStateRawto theMRZDatainterface that represent the raw values of these fields
Fixes
- Fixed parsing of German IDs returning
D<<instead ofD. engineResourcePathsis now set beforeinitLicense(internally) to prevent a bug when the user wants to implement a customengineResourcePaths.- Update the trial license banner link to point to https://www.dynamsoft.com/customer/license/trialLicense?product=mrz&deploymenttype=web
2.0.0 (03/13/2025)
The MRZ Scanner JavaScript Edition has been redesigned and redeveloped to now include a ready-to-use, fully developed UI to ease the development process while providing even better functionality.
Highlighted Features
- Automatic detection and parsing of MRZs in passports and IDs
- Support for the following MRTD formats: TD3 (Passport), TD2 (ID), and TD1 (ID)
- Ready-to-use UI to simplify the development process
- Supports an interactive video scenario (capturing via video) as well as static images (jpg/png)
- Modular, view-based design for easy maintenance and customization
Views
MRZ Scanner JavaScript Edition is organized into configurable UI views. Below is a quick overview of the two main views:
Learn more about these views and how to configure them in the User Guide and the Customization Guide.
MRZ Scanner View
- Fully configurable camera view
- Resolution/camera select dropdown to allow for quick improvements
- Newly developed scan guide frame to enable easy capture of the MRZ document
- Green highlight overlay over the MRZ area once recognized
- Flash/Torch support
- Allows the user to load in an image from the photo library
MRZ Result View
- Scrollable field view to display the parsed MRZ info
- Displays the original image of the MRZ document
- Allows the user to edit almost all of the parsed fields
- Two buttons to allow the user to re-scan or move on