Skip to content

Releases: Dynamsoft/mrz-scanner-javascript

v4.0.0

22 May 19:32

Choose a tag to compare

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 / returnPortraitImage on MRZScannerConfig, then read the deskewed crop, the full original frame, and the portrait crop via MRZResult.getDocumentImage(side), getOriginalImage(side), and getPortraitImage(). Each returns a DSImageData with toCanvas() / 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 via flipDocumentTimeout (default 3000ms).
  • First-class visa types. Visas are no longer conflated with Passport / TD2. EnumMRZDocumentType gains MRVA (TD3-sized) and MRVB (TD2-sized), with matching values in EnumMRZScanMode.
  • Redesigned MRZScannerView. New SVG guide frames, animated scan spinner, and refreshed toolbar. Four new scannerViewConfig interfaces 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), and themeConfig (color, typography, and spacing tokens).
  • URL input to launch(). launch() now accepts a string URL alongside Blob, DSImageData, and HTML media elements; the library fetches and decodes the URL internally.
  • OptionalData1 and OptionalData2 ICAO optional-data fields now exposed on EnumMRZData. MRZData.documentType is now typed as DCV's EnumCodeType.

Breaking Changes

  • MRZResultView is removed, along with MRZResultViewConfig, MRZResultViewToolbarButtonsConfig, resultViewConfig, and showResultView. Consumers render the result themselves — see the User Guide for a worked example.
  • MRZResult.originalImageResult and MRZResult.imageData are removed, replaced by getOriginalImage(side). The MWC-specific _imageData internal is also gone.
  • API renames: showUploadImageshowLoadImageButton, uploadAcceptedTypesloadImageAcceptedTypes, uploadFileConverterloadImageFileConverter, showScanGuideenableScanRegion, EnumMRZScanMode.PassportEnumMRZScanMode.TD3.
  • EnumMRZDocumentType string values changed to disambiguate visas: Passport's value is now "td3_passport" (was "passport"), TD1 is "td1_id" (was "td1"), TD2 is "td2_id" (was "td2"). Code using the enum references is unaffected; raw-string comparisons must be updated.
  • MRZResult shape changed. Now an interface with image-getter methods. The status field is optional and uses EnumResultStatus directly (was a ResultStatus object with code / message).
  • DCV namespace flattened. DCV exports are now reachable directly under Dynamsoft.* instead of the previous Dynamsoft.Dynamsoft.* nesting.

Fixes & Improvements

  • Upgraded the underlying DCV to 3.4.2001 under new package names: dynamsoft-capture-vision-bundle and dynamsoft-capture-vision-data.
  • New scan-quality controls: enableMultiFrameCrossFilter (default true) for DCV multi-frame cross-verification, and enableScanRegion (default true) 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.
  • UtilizedTemplateNames accepts either a string or a TemplatePair ({ 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 cameraAccessDenied message is now displayed on permission denial.
  • Bundle pruned to ESM + CJS + a single IIFE; template files renamed from .html to .xml (mrz-scanner.ui.xml, mrz-scanner.template.json); fixed nested dist/ artifact in the published package.

v4.0.0-beta-202605210003

22 May 01:09
v4.0.0-beta-202605210003
ba8522e

Choose a tag to compare

Pre-release

4.0.0 (05/21/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 / returnPortraitImage on MRZScannerConfig, then read the deskewed crop, the full original frame, and the portrait crop via MRZResult.getDocumentImage(side), getOriginalImage(side), and getPortraitImage(). Each returns a DSImageData with toCanvas() / 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 via flipDocumentTimeout (default 3000ms).
  • First-class visa types. Visas are no longer conflated with Passport / TD2. EnumMRZDocumentType gains MRVA (TD3-sized) and MRVB (TD2-sized), with matching values in EnumMRZScanMode.
  • Redesigned MRZScannerView. New SVG guide frames, animated scan spinner, and refreshed toolbar. Four new scannerViewConfig interfaces 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), and themeConfig (color, typography, and spacing tokens).
  • URL input to launch(). launch() now accepts a string URL alongside Blob, DSImageData, and HTML media elements; the library fetches and decodes the URL internally.
  • OptionalData1 and OptionalData2 ICAO optional-data fields now exposed on EnumMRZData. MRZData.documentType is now typed as DCV's EnumCodeType.

Breaking Changes

  • MRZResultView is removed, along with MRZResultViewConfig, MRZResultViewToolbarButtonsConfig, resultViewConfig, and showResultView. Consumers render the result themselves — see the [User Guide]({{ site.guides }}mrz-scanner.html) for a worked example.
  • MRZResult.originalImageResult and MRZResult.imageData are removed, replaced by getOriginalImage(side). The MWC-specific _imageData internal is also gone.
  • API renames: showUploadImageshowLoadImageButton, uploadAcceptedTypesloadImageAcceptedTypes, uploadFileConverterloadImageFileConverter, showScanGuideenableScanRegion, EnumMRZScanMode.PassportEnumMRZScanMode.TD3.
  • EnumMRZDocumentType string values changed to disambiguate visas: Passport's value is now "td3_passport" (was "passport"), TD1 is "td1_id" (was "td1"), TD2 is "td2_id" (was "td2"). Code using the enum references is unaffected; raw-string comparisons must be updated.
  • MRZResult shape changed. Now an interface with image-getter methods. The status field is optional and uses EnumResultStatus directly (was a ResultStatus object with code / message).
  • DCV namespace flattened. DCV exports are now reachable directly under Dynamsoft.* instead of the previous Dynamsoft.Dynamsoft.* nesting.

Fixes & Improvements

  • Upgraded the underlying DCV to 3.4.2001 under new package names: dynamsoft-capture-vision-bundle and dynamsoft-capture-vision-data.
  • New scan-quality controls: enableMultiFrameCrossFilter (default true) for DCV multi-frame cross-verification, and enableScanRegion (default true) 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.
  • UtilizedTemplateNames accepts either a string or a TemplatePair ({ 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 cameraAccessDenied message is now displayed on permission denial.
  • Bundle pruned to ESM + CJS + a single IIFE; template files renamed from .html to .xml (mrz-scanner.ui.xml, mrz-scanner.template.json); fixed nested dist/ artifact in the published package.

v4.0.0-beta-202605210002

21 May 23:15

Choose a tag to compare

Pre-release

4.0.0 (05/21/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 / returnPortraitImage on MRZScannerConfig, then read the deskewed crop, the full original frame, and the portrait crop via MRZResult.getDocumentImage(side), getOriginalImage(side), and getPortraitImage(). Each returns a DSImageData with toCanvas() / 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 via flipDocumentTimeout (default 3000ms).
  • First-class visa types. Visas are no longer conflated with Passport / TD2. EnumMRZDocumentType gains MRVA (TD3-sized) and MRVB (TD2-sized), with matching values in EnumMRZScanMode.
  • Redesigned MRZScannerView. New SVG guide frames, animated scan spinner, and refreshed toolbar. Four new scannerViewConfig interfaces 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), and themeConfig (color, typography, and spacing tokens).
  • URL input to launch(). launch() now accepts a string URL alongside Blob, DSImageData, and HTML media elements; the library fetches and decodes the URL internally.
  • OptionalData1 and OptionalData2 ICAO optional-data fields now exposed on EnumMRZData. MRZData.documentType is now typed as DCV's EnumCodeType.

Breaking Changes

  • MRZResultView is removed, along with MRZResultViewConfig, MRZResultViewToolbarButtonsConfig, resultViewConfig, and showResultView. Consumers render the result themselves — see the [User Guide]({{ site.guides }}mrz-scanner.html) for a worked example.
  • MRZResult.originalImageResult and MRZResult.imageData are removed, replaced by getOriginalImage(side). The MWC-specific _imageData internal is also gone.
  • API renames: showUploadImageshowLoadImageButton, uploadAcceptedTypesloadImageAcceptedTypes, uploadFileConverterloadImageFileConverter, showScanGuideenableScanRegion, EnumMRZScanMode.PassportEnumMRZScanMode.TD3.
  • EnumMRZDocumentType string values changed to disambiguate visas: Passport's value is now "td3_passport" (was "passport"), TD1 is "td1_id" (was "td1"), TD2 is "td2_id" (was "td2"). Code using the enum references is unaffected; raw-string comparisons must be updated.
  • MRZResult shape changed. Now an interface with image-getter methods. The status field is optional and uses EnumResultStatus directly (was a ResultStatus object with code / message).
  • DCV namespace flattened. DCV exports are now reachable directly under Dynamsoft.* instead of the previous Dynamsoft.Dynamsoft.* nesting.

Fixes & Improvements

  • Upgraded the underlying DCV to 3.4.2001 under new package names: dynamsoft-capture-vision-bundle and dynamsoft-capture-vision-data.
  • New scan-quality controls: enableMultiFrameCrossFilter (default true) for DCV multi-frame cross-verification, and enableScanRegion (default true) 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.
  • UtilizedTemplateNames accepts either a string or a TemplatePair ({ 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 cameraAccessDenied message is now displayed on permission denial.
  • Bundle pruned to ESM + CJS + a single IIFE; template files renamed from .html to .xml (mrz-scanner.ui.xml, mrz-scanner.template.json); fixed nested dist/ artifact in the published package.

v3.1.0

13 Jan 21:52

Choose a tag to compare

Release Notes

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.

v3.1.0-beta-202601120001

13 Jan 20:59

Choose a tag to compare

Pre-release

Release Notes

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.

v3.0.4

20 Oct 20:38

Choose a tag to compare

Release Notes

3.0.4 (10/20/2025)

Fixes

  • Fixed a bug with the mrzText field of the MRZData interface.

v3.0.4-beta-202510200001

20 Oct 19:29

Choose a tag to compare

Pre-release

Release Notes

3.0.4 (10/20/2025)

Fixes

  • Fixed a bug with the mrzText field of the MRZData interface.

v3.0.3

17 Sep 18:03

Choose a tag to compare

Release Notes

3.0.3 (09/17/2025)

Fixes

  • Fixed the launch() method so that the imageOrFile parameter is optional (for TypeScript implementation).
  • Altered the React Hooks sample to allow it to run in Strict Mode.

v3.0.3-beta-202509160002

17 Sep 16:59

Choose a tag to compare

Pre-release

Release Notes

3.0.3 (09/17/2025)

Fixes

  • Fixed the launch() method so that the imageOrFile parameter is optional (for TypeScript implementation).
  • Altered the React Hooks sample to allow it to run in Strict Mode.

v3.0.2

11 Sep 21:39

Choose a tag to compare

Release Notes

3.0.2 (09/11/2025)

Improved

  • Updated the underlying Capture Vision Bundle dependency to 3.0.6001.
  • Increased recognition speed by fixing an issue caused by a WASM compilation parameter that degraded performance.
  • Enhanced framework samples with the latest security updates.