Dev Center
Table of contents

Release Notes for Dynamsoft Barcode Reader JavaScript Edition - 8.x

8.8.7 (01/26/2022)

  • Added the attribute muted to the video embed element so that the video can be played without user interaction.
  • Fixed a bug with the property intervalTime in ScanSettings to avoid unnecesary frame fetching actions.

8.8.5 (01/26/2022)

  • Fixed a bug where the scan indicator (laser) flickers upon initialization when a scan region is set.
  • Fixed a bug that the wrong version of WASM is referenced when used in a Node.js application.
  • Fixed a bug that some images may cause stack overflow errors when used in a Node.js application.

8.8.3 (10/29/2021)

  • Fixed a bug where it takes more time than expected when creating a BarcodeReader or BarcodeScanner instance.
  • Fixed a bug which makes the building fail in frameworks such as Angular, React, Vue, etc.

8.8.0 (10/28/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.

Edition-Specific Highlights

  • Reading speed has significantly increased based on better camera control and optimized memory usage in the core algorithm.
  • Misreading of 2D barcodes has been significantly reduced as a result of better result filtering based on the optimized algorithm in reading confidence calculating.
  • More samples are added to demonstrate the usage of the library in popular frameworks. For more information, please see Demo and Samples - JavaScript.


  • Refactored camera related APIs internally for easier maintenance.
  • Improved result filtering so that misread 2D barcodes are not returned.


The class names of the built-in UI elements have changed

Previous versions v8.8.0+
dbrScanner-bg-loading dce-bg-loading
dbrScanner-bg-camera dce-bg-camera
dbrScanner-video dce-video
dbrScanner-sel-camera dce-sel-camera
dbrScanner-sel-resolutio dce-sel-resolution
dbrScanner-btn-close dce-btn-close

8.6.3 (09/30/2021)

Fixed an issue where the scanning page may freeze when debugging in the Developer Tools with Chromium-94 browsers on PCs.

8.6.1 (09/01/2021)

Fixed a bug where an error occurs when switching region setting from a JSON object to an array of objects.

8.6.0 (08/31/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.

Edition-Specific Highlights

  • Continuous reading of barcodes from a video input is now significantly faster thanks to optimized frame fetching logic.
  • Camera selecting on devices with multiple cameras has been optimized so that the main camera is always used by default. This is especially helpful on high-end Android devices.
  • Misreading of 1D barcodes has been significantly reduced as a result of better result filtering based on the optimized algorithm in reading confidence calculating.



  • Improved frame fetching so that more frames are read for the same time period.
  • Improved camera selecting so that the initial camera used is the main camera.
  • Improved result filtering so that misread 1D barcodes are not returned.
  • Improved WebGL implementation so that much less time is required for image preprocessing.


  • Added method isWasmLoaded() to return whether the engine file is loaded.
  • Added method isContextDestroyed() to return whether a BarcodeReader or BarcodeScanner instance has been destroyed.
  • Added method getOriginalImageInACanvas() to return the actual image the engine tried to read barcodes from.
  • Added method destroyContext() to destroy the BarcodeReader or BarcodeScanner instance itself.
  • Added property ifSaveOriginalImageInACanvas to control whether the actual image to read is saved for debugging.
  • Added property whenToPlaySoundforSuccessfulRead to control when the beep sound should be played.
  • Added property whenToVibrateforSuccessfulRead to control when the device should vibrate.


  • Change the default engine from the compact engine to the full-featured engine.


  • The method destroy() is deprecated, Use the method destroyContext() instead.
  • The property isLoaded is deprecated. Use the method isWasmLoaded() instead.
  • The property bDestroyed is deprecated. Use the method isContextDestroyed() instead.
  • The property oriCanvas is deprecated. Use the method getOriginalImageInACanvas() instead.
  • The property bVibrateOnSuccessfulRead is deprecated. Use whenToVibrateforSuccessfulRead instead.
  • The property bPlaySoundOnSuccessfulRead is deprecated. Use whenToPlaySoundforSuccessfulRead instead.
  • The property bSaveOriCanvas is deprecated. Use ifSaveOriginalImageInACanvas instead.

8.4.0 (06/29/2021)


  • Added a new argument, ThresholdCompensation, to the BinarizationModes mode arguments.


  • Improved the speed of identifying 1D codes from still images.
  • Improved the speed of identifying dense QR codes.
  • Improved the performance of boundary identification for DataMatrix codes.
  • Improved camera selection in some browsers on Android devices.
  • Improved the createInstance() method to avoid unnecessary download of the file “dbr.scanner.html”.


  • Moved the following APIs from Dynamsoft.DBR.BarcodeReader to Dynamsoft. DBR
  • detectEnvironment()

  • engineResourcePath

  • handshakeCode

  • isLoaded()

  • licenseServer

  • loadWasm()

  • organizationID

  • productKeys

  • sessionPassword

  • version

  • _bUseFullFeature

Please note that these APIs still exist under Dynamsoft.DBR.BarcodeReader , but they have been deprecated and replaced by APIs in the new namespace.

8.2.5 (05/18/2021)


  • Added property organizationID which can be used to fetch license(s) belonging to the specified organization from the License Tracking Server.
  • Added a class name to the powered-by message element on the built-in UI so that it can be manipulated in CSS.


  • Removed redundant warning messages for duplicate barcodes.


  • Fixed a bug with the API bSaveOriCanvas where the same canvas is reused resulting in duplicated original image for different barcodes.

8.2.3 (04/15/2021)


  • Added properties bVibrateOnSuccessfulRead and vibrateDuration to control the vibration of a device when barcodes are found.
  • Added methods showVideo() and decodeCurrentFrame() to make it possible for users to show the video and manually trigger the decoding of a frame.
  • Added a sample for Vue 3.


  • Optimized how the WASM files are created to make them smaller (18% smaller).
  • When opening a camera takes too long and times out, an exception will be thrown.
  • When the webpage in which a BarcodeScanner instance is running gets hidden (not visible to the user), the barcode scanning will stop automatically. Later when it becomes visible again, the scanning will resume automatically.


  • Added a “Powered by Dynamsoft” logo to the default Barcode Scanner UI.

8.2.1 (03/29/2021)


  • Resolved a bug that returns the error as a Promise object instead of a string when calling the method loadWasm().

8.2.0 (03/17/2021)


  • Added a new mode argument, FindAccurateBoundary, to RegionPredetectionModes that determines if the SDK attempts to find an accurate boundary when RegionPredetectionModes is set to RPM_GENERAL_HSV_CONTRAST.


  • Improved both the localization and decoding algorithms for Postal Codes.
  • LocalizationMode LM_STATISTICS_POSTAL_CODE will not be added automatically when enabling Postal Code in your runtime settings. Instead, users must manually add it to the LocalizationMode array if it is required.


  • Resolved a bug that infrequently causes the application to crash when decoding a MicroPDF417 barcode.

8.1.3 (03/04/2021)


  • Added support for SSR (Server-side Rendering) and 3 related samples for Nextjs, Nuxtjs and gatsby respectively.


  • Fixed a bug where if scanner.destroy() is called before finishes, the camera will not be released.

8.1.2 (01/22/2021)


  • Added mode, page, totalPage and parityData in the QRCodeDetails Class.


  • Improved the recognition accuracy for GS1 Databar.
  • Removed the exception code from barcodeText when using a valid trial license.
  • Optimized memory usage when using WebGL for mapping color images into grayscale images which made the process faster.


  • 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/19/2021)


  • Added support for MSI Code (Modified Plessey).
  • Added a new member BarcodeZoneMinDistanceToImageBorders in the PublicRuntimeSettings struct to set the minimum distance (in pixels) between barcode zone and image borders.
  • Added exception error message to TextResult when license initialization fails or decoding authorization fails.


  • 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.
  • Improved runtime setting presets to use BarcodeZoneMinDistanceToImageBorders.


  • 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 Region.
  • Fixed a memory issue in iOS Safari caused by enabling sound.
  • Fixed an issue with UTF-8 character encoding.

8.0.0 (11/25/2020)


  • Added support for decoding barcodes from an existing video stream.
  • Introduced new namespace Dynamsoft. DBR.
  • 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 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.


  • Changed the default runtime preset setting of BarcodeScanner from speed to single.
  • 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.

This page is compatible for:

Version 7.5.0

Is this page helpful?

YesYes NoNo

In this article:

latest version

    • Latest version(10.2.10)
    • Version 10.x
      • Version 10.0.21
      • Version 10.0.20
    • Version 9.x
      • Version 9.6.42
      • Version 9.6.40
      • Version 9.6.33
      • Version 9.6.32
      • Version 9.6.31
      • Version 9.6.30
      • Version 9.6.21
      • Version 9.6.20
      • Version 9.6.11
      • Version 9.6.10
      • Version 9.6.2
      • Version 9.6.1
      • Version 9.6.0
      • Version 9.3.1
      • Version 9.3.0
      • Version 9.2.13
      • Version 9.2.12
      • Version 9.2.11
      • Version 9.0.2
      • Version 9.0.1
      • Version 9.0.0
    • Version 8.x
      • Version 8.8.7
      • Version 8.8.5
      • Version 8.8.3
      • Version 8.8.0
      • Version 8.6.3
      • Version 8.6.0
      • Version 8.4.0
      • Version 8.2.5
      • Version 8.2.3
      • Version 8.2.1
      • Version 8.2.0
      • Version 8.1.3
      • Version 8.1.2
      • Version 8.1.0
      • Version 8.0.0
    • Version 7.x
      • Version 7.6.0
      • Version 7.5.0
    Change +