| layout | default-layout |
|---|---|
| title | Release Notes v10.x - Dynamsoft Barcode Reader JavaScript Edition |
| description | This note features the latest updates in Barcode Reader JavaScript SDK version 10.x. New features were added along with various APIs deprecated, added, and removed. |
| keywords | release notes, javascript |
| needAutoGenerateSidebar | true |
| needGenerateH3Content | false |
| noTitleIndex | true |
| permalink | /programming/javascript/release-notes/js-10.html |
- Introduced BarcodeScanner class
- Offers high-level APIs that provide core functionalities
- Includes pre-built UI for fast and seamless integration
- Features intuitive configuration objects to simplify both algorithm and UI setup
- Merged resource files previously required by the Barcode-Reader-Bundle, significantly reduced the overall size of the
.wasmfile
- Added the [
ShortlineDetectionMode]({{ site.dcvb_parameters }}barcode-reader-task-settings/short-line-detection-mode.html) and [LineAssemblyMode]({{ site.dcvb_parameters }}barcode-reader-task-settings/line-assembly-mode.html) parameters for more flexible and precise configuration. - Added the [
getTemplateNames]({{ site.dcvb_js_api }}capture-vision-router/settings.html#gettemplatenames) function to theCaptureVisionRouterclass to improve accessibility and usability of templates.
- Fixed a bug that could cause a crash when using specific templates.
- Fixed a bug in DPM mode where the
isMirroredvalue in theBarcodeResultItemwas not correctly assigned. - Fixed a bug where DotCode could not be decoded in certain scenarios.
-
Added support for decoding add-on codes (also known as Extension Codes) for UPC-A, UPC-E, EAN-8 and EAN-13 codes.
-
Added new properties to the
QRCodeDetailsinterface including:dataMaskPatterncodewords
- Improved the read rate and processing speed for the following barcode formats:
- EAN-13
- DotCode
- Updated the enumeration value of
EnumBarcodeFormat.BF_ALLto0xFFFFFFFEFFFFFFFF, which no longer includes non-standard barcodes.
- Fixed a bug that could prevent the reading of
GS1_DATABAR_EXPANDED_STACKEDbarcodes.
- A new preset UI template has been added, which can be used and modified as needed.
- Updated error handling logic for the
capturingandstartCapturingmethods to clearly report errors specifically related to licensing issues. - Added a new callback function,
OnRawTextLinesReceived, to theIntermediateResultReceiverinterface. - Added
EnumPresetTemplate, an enumeration of all preset template names.
- Optimized the path auto-filling mechanism, now allowing the definition of only the root path without the need to separately define the resource file locations for each submodule. Read more about engineResourcePaths.
- Added new error codes
- -10076: The license is initialized successfully but detected invalid content in the key.
- -30063: [Barcode Reader] No license found.
- Added a new enumeration member
IRUT_RAW_TEXT_LINESto theEnumIntermediateResultUnitType.
- Introduced a new charging method,
TimeSliceCount, which tracks usage based on time. - Improved duplicate license handling: after successfully creating an instance, setting the same license again no longer causes an exception.
- Updated the error messages for the
initLicensemethod, providing more detailed feedback if license initialization fails. Warnings are now shown if the license is initialized successfully but part of the key is invalid.
- Fixed a crash caused by the use of
RegEx.
- Fixed an issue where the method
CaptureVisionRouter.startCapturing()would mistakenly halt the fetching process when running, resulting in unnecessary stops and restarts.
- Updated the template system
- Added
StringLengthRangefor [TextDetectionMode]({{ site.dcv_parameters }}image-parameter/text-detection-mode.html). - Added Argument
BarcodeFormatfor [DPMCodeReadingModes]({{ site.dcv_parameters }}barcode-reader-task-settings/dpm-code-reading-modes.html). Currently, you can specify "BF_DATAMATRIX" or "BF_QR_CODE" for the parameter. - Added
ReferenceTaskNameArrayunder [Location.ReferenceObjectFilter]({{ site.dcv_parameters }}target-roi-def/location.html#referenceobjectfilter) to filter the reference objects generated by the task name. - Added the support of the [
OutputTaskSetting]({{ site.dcv_parameters }}output-task-setting/index.html) definition. The following sub-parameters are available inOutputTaskSettingobject:OutputConditionTaskResultArrayTargetROIDefNameTaskSettingNameArrayBackwardReferenceOutputReferenceTaskNameArrayReferenceResultTypeArrayOperator
- [
Offset]({{ site.dcv_parameters }}target-roi-def/location.html#offset) parameter is optimized.- Added
ReferenceObjectTypeto specify whether the reference object is an atomic object or the whole image. - Added
ReferenceXAxis&ReferenceYAxisto define the X & Y axis. - Modified
FirstPoint,SecondPoint,ThirdPoint&FourthPoint. You can specify whether the X or Y coordinate of the point is measured by percentage. - Deprecated
ReferenceObjectSizeType.
- Added
- Added
- Added the following new error codes
EC_IMAGE_SIZE_NOT_MATCHEC_IMAGE_PIXEL_FORMAT_NOT_MATCHEC_SECTION_LEVEL_RESULT_IRREPLACEABLEEC_AXIS_DEFINITION_INCORRECTEC_TEXT_LINE_GROUP_LAYOUT_CONFLICTEC_TEXT_LINE_GROUP_REGEX_CONFLICT
- Added [
ObservationParameters]({{ site.dcvb_js_api }}core/intermediate-results/observation-parameters.html) interface for allowing the configuration of intermediate result observation. - Added a new call back function [
onShortLinesUnitReceived]({{ site.dcvb_js_api }}capture-vision-router/intermediate-result-receiver.html#onshortlinesunitreceived) to theIntermediateResultReceiverclass. - Added a new supported image pixel format, binary 8 inverted. The corresponding enumeration member is added to the [
EnumImagePixelFormat]({{ site.enums }}core/image-pixel-format.html?lang=js). - Update [
MultiFrameResultCrossFilter]({{ site.dcvb_js_api }}utility/multi-frame-result-cross-filter.html) class to allow string type for resultItemType. - Update [
TextZonesUnit]({{ site.dcvb_js_api }}/core/intermediate-results/text-zones-unit.html) interface, now using [TextZone]({{ site.dcvb_js_api }}/core/basic-structures/text-zone.html) interface to record text zone data. - Update [
CandidateBarcodeZonesUnit]({{ site.js_api }}interfaces/candidate-barcode-zones-unit.html) interface, now using [CandidateBarcodeZone]({{ site.js_api }}interfaces/candidate-barcode-zone.html) to record candidate barcode zone data instead ofQuadrilateral. - Update [
DeformationResistedBarcodeImageUnit]({{ site.js_api }}interfaces/deformation-resisted-barcode-image-unit.html) interface, now using [DeformationResistedBarcode]({{ site.js_api }}interfaces/deformation-resisted-barcode.html) interface to record deformation resisted barcode data.
- Updated the security of the DynamsoftBarcodeReader library and other corresponding dependent libraries.
- Fix the issue of camera not opening in iOS 17.4.
- The interface [
CapturedResult]({{ site.dcvb_js_api }}capture-vision-router/interfaces/captured-result.html) is migrated fromDynamsoftCoremodule toDynamsoftCaptureVisionRoutermodule. - Changed the logic of the
capturedResultItemTypessetting of [SimplifiedCaptureVisionSettings]({{ site.dcvb_js_api }}capture-vision-router/interfaces/simplified-capture-vision-settings.html):- If the result item types don't match the specified template, the method [
updateSettings]({{ site.dcvb_js_api }}capture-vision-router/settings.html#updatesettings) will return the error codeEC_PARAMETER_VALUE_INVALIDwith the message "The captured result item types do not match the task configurations in the template". - Based on the
capturedResultItemTypessetting, the irrelevant tasks will be removed from the template. - The
capturedResultItemTypesshould include at least one of theCRIT_BARCODE,CRIT_TEXT_LINE,CRIT_DETECTED_QUAD,CRIT_NORMALIZED_IMAGE. Otherwise, the method [updateSettings]({{ site.dcvb_js_api }}capture-vision-router/settings.html#updatesettings) will return the error codeEC_PARAMETER_VALUE_INVALIDwith the message "The captured result item types should contain at least one task result type".
- If the result item types don't match the specified template, the method [
- Refactored the [
Contour]({{ site.dcvb_js_api }}core/basic-structures/contour.html) interface. Please view API reference -Contourinterface for more information.
- Introduced
dbr.bundle.jsto include packages that are required on running Dynamsoft Barcode Reader to reduce the complexity of the code.
In this version, the SDK has been refactored under the DynamsoftCaptureVision (DCV) architecture. To learn more about the architecture, please see Architecture of Dynamsoft Capture Vision. The following highlights the major changes:
-
The class
BarcodeReaderandBarcodeScannerare removed and its functionalities are now incorporated into the newly added ClassCaptureVisionRouter. -
License-related functions are handled by class [Dynamsoft.License.LicenseManager]({{ site.dcvb_js_api }}license/license-manager.html#initLicense).
-
Camera-related functions are handled by DynamsoftCameraEnhancer(DCE). Please note that the following features are grouped together as enhanced features that require a license:
- Enhanced-focus.
- Auto-zoom.
- Tap-to-focus.
-
This version of
BarcodeReaderonly acceptsDynamsoftCameraEnhancer(DCE)version 4.0.1 and above, which has been refactored to be compliant with the ImageSourceAdapter (ISA) interface, as a valid image source. -
Decoded barcode results are returned via the CapturedResultReceiver (CRR) interface.
-
For the full list of API changes, please refer to the v9 to v10 Upgrade Guide.


