Released: Mar 15, 2022
Updates in 9.0.0
Features
Microsoft .NET, Java, C++, C, Android, Apple iOS and Python SDK
- Added a new error code DBRERR_PHARMACODE_LICENSE_INVALID which will be returned when the license of Pharmacode is invalid.
.NET, C++, C, Android and iOS SDK
- Optimized the confidence scoring system for PDF417 codes.
.NET, Java, C++, C and Python SDK
- Added new FormatSpecification.VerifyCheckDigit parameter.
- Added Argument ConfidenceThreshold to the LocalizationModes mode arguments.
- Changed the behaviour of DeformationResistingMode DRM_GENERAL which now only applies basic process to resist deformation.
.NET, Java, Android and Python SDK
- Added support for Code 11 - Added BF_CODE_11 under Enumeration EnumBarcodeFormat to specify newly supported barcode format, Code 11.
- Added support for Pharmacode - Added BF2_PHARMACODE_ONE_TRACK, BF2_PHARMACODE_TWO_TRACK and BF2_PHARMACODE under Enumeration EnumBarcodeFormat_2 to specify newly supported barcode format, Pharmacodes.
- Added DRM_BROAD_WARP, DRM_LOCAL_REFERENCE and DRM_DEWRINKLE under Enumeration EnumDeformationResistingMode to apply new deformation resisting modes.
.NET, Java and Python SDK
- Changed value of BF_ONED under Enumeration EnumBarcodeFormat to 0x003007FF to have BF_CODE_11 combined.
- Changed value of BF_ALL under Enumeration EnumBarcodeFormat to 0xFE3FFFFF to have BF_CODE_11 combined.
- The following items have been deprecated. They still work in this version but could be removed in the near future.
- Enumeration EnumDMDeploymentType.
.NET, Java, Android, iOS and Python SDK
- The following items have been deprecated. They still work in this version but could be removed in the near future.
- Enumeration EnumDMChargeWay.
- Enumeration EnumDMLicenseModule.
- Enumeration EnumDMUUIDGenerationMethod.
- Enumeration EnumProduct.
.NET, Java and C++ SDK
- Changed the return value of the method getIdleInstancesCount from 0 to -1 when the available count needs to be updated from server by calling InitLicense.
- The following items have been deprecated. They still work in this version but could be removed in the near future.
- Method InitLicenseFromServer.
- Method InitLicenseFromLicenseContent.
- Method OutputLicenseToString.
- Method InitDLSConnectionParameters.
- Method InitLicenseFromDLS.
C++ and C SDK
- Added support for Code 11 - Added BF_CODE_11 under Enumeration BarcodeFormat to specify newly supported barcode format, Code 11.
- Added support for Pharmacode - Added BF2_PHARMACODE_ONE_TRACK, BF2_PHARMACODE_TWO_TRACK and BF2_PHARMACODE under Enumeration BarcodeFormat_2 to specify newly supported barcode format, Pharmacodes.
- Added DRM_BROAD_WARP, DRM_LOCAL_REFERENCE and DRM_DEWRINKLE under Enumeration DeformationResistingMode to apply new deformation resisting modes.
- Changed value of BF_ONED under Enumeration BarcodeFormat to 0x003007FF to have BF_CODE_11 combined.
- Changed value of BF_ALL under Enumeration BarcodeFormat to 0xFE3FFFFF to have BF_CODE_11 combined.
- The following items are now deprecated. They still work in this version but could be removed in the near future.
- Enumeration DM_ChargeWay.
- Enumeration DM_DeploymentType.
- Enumeration DM_LicenseModule.
- Enumeration DM_UUIDGenerationMethod.
- Enumeration Product.
Android and iOS SDK
- Added a FormatSpecification.VerifyCheckDigit parameter.
- Added new ConfidenceThreshold argument to the LocalizationModes mode arguments.
- Added BarcodeReader.initLicense static method to replace legacy license activation APIs.
- Removed legacy video barcode decoding APIs:
- Enumeration EnumClarityCalculationMethod.
- Enumeration EnumClarityFilterMode.
.NET SDK
- Added InitLicense method to initialize license key and activate the SDK.
- The following items have been deprecated. They still work in this version but could be removed in the near future.
- Method BarcodeReader(string productKey).
- Method BarcodeReader(string modulePath, string productKey).
- Attribute ProductKey.
Java SDK
- Added ARM64 components for Linux to the SDK.
- Changed InitLicense method to a static method.
C++ SDK
- Changed InitLicense method to a static method and added two more parameters to return detailed error message.
- The following items are now deprecated. They still work in this version but could be removed in the near future.
- Method OutputLicenseToStringPtr.
- Method FreeLicenseString.
C SDK
- Changed the return value of the method getIdleInstancesCount from 0 to -1 when the available count needs to be updated from server by calling DBR_InitLicense.
- The following items are now deprecated. They still work in this version but could be removed in the near future.
- Method DBR_InitLicenseFromServer.
- Method DBR_InitLicenseFromLicenseContent.
- Method DBR_OutputLicenseToString.
- Method DBR_OutputLicenseToStringPtr.
- Method DBR_FreeLicenseString.
- Method DBR_InitDLSConnectionParameters.
- Method DBR_InitLicenseFromDLS.
- Breaking Change - DBR_InitLicense now needs two more parameters to return detailed error message.
Android SDK
- Added DBRLicenseVerificationListener interface to get license verification callback when using BarcodeReader.initLicense.
- Added TextResultListener interface.
- Added IntermediateResultListener interface.
- Added the following image decoding methods. The parameter templateName is not required in the new methods:
- BarcodeReader.decodeFile.
- BarcodeReader.decodeFileInMemory.
- BarcodeReader.decodeBase64String.
- BarcodeReader.decodeBufferedImage.
- BarcodeReader.decodeIntermediateResults.
- The following license activation APIs have been deprecated and will be removed in 10.0 release:
- Class DMDLSConnectionParameters.
- Interface DBRServerLicenseVerificationListener.
- Interface DBRDLSLicenseVerificationListener.
- Method BarcodeReader.initLicenseFromServer.
- Method BarcodeReader.initLicenseFromLicenseContent.
- Method BarcodeReader.initLicenseFromDLS.
- Method BarcodeReader.outputLicenseToString.
- The image decoding methods with parameter templateName have been deprecated:
- BarcodeReader.decodeBuffer.
- BarcodeReader.decodeFile.
- BarcodeReader.decodeFileInMemory.
- BarcodeReader.decodeBase64String.
- BarcodeReader.decodeBufferedImage.
- BarcodeReader.decodeIntermediateResults.
- Interface TextResultCallback has been deprecated.
- Interface IntermediateResultCallback has been deprecated.
- Configurations of the preset templates have been changed:
- Changed the configurations of EnumPresetTemplate.DEFAULT to EnumPresetTemplate.VIEDE_SINGLE_BARCODE.
- Added template EnumPresetTemplate.IMAGE_DEFAULT to store the legacy configurations of EnumPresetTemplate.DEFAULT.
- Removed legacy video barcode decoding APIs:
- Class DCESettingParameters.
- Class FrameDecodingParameters.
- Interface ErrorCallback.
- Method BarcodeReader.SetCameraEnhancerParam.
- Method BarcodeReader.StartCameraEnhancer.
- Method BarcodeReader.StopCameraEnhancer.
- Method BarcodeReader.PauseCameraEnhancer.
- Method BarcodeReader.ResumeCameraEnhancer.
- Method BarcodeReader.startFrameDecoding.
- Method BarcodeReader.startFrameDecodingEx.
- Method BarcodeReader.appendFrame.
- Method BarcodeReader.setErrorCallback.
- Method BarcodeReader.stopFrameDecoding.
- Method BarcodeReader.initFrameDecodingParameters.
- Method BarcodeReader.getLenghtOfFrameQueue.
- Removed the following legacy license activation APIs:
- Interface DMLTSConnectionParameters.
- Protocol DBRLTSLicenseVerificationListener.
- Method initLicenseFromLTS.
iOS SDK
- Added support for Code 11 - Added EnumBarcodeFormatCODE11 under enumeration EnumBarcodeFormat to specify newly supported barcode format, Code 11.
- Added support for Pharmacode - Added EnumBarcodeFormat2PHARMACODEONETRACK, EnumBarcodeFormat2PHARMACODETWOTRACK and EnumBarcodeFormat2PHARMACODE under enumeration EnumBarcodeFormat_2 to specify newly supported barcode format, Pharmacode.
- Added EnumDeformationResistingModeBroadWarp, EnumDeformationResistingModeLocalReference and EnumDeformationResistingModeDewrinkle under enumeration EnumDeformationResistingMode to apply new deformation resisting modes.
- Added DBRLicenseVerificationListener protocol to get license verification callback when using DynamsoftBarcodeReader.initLicense.
- Added DBRTextResultListener protocol.
- Added DBRIntermediateResultListener protocol.
- Added the following image decoding methods. The parameter templateName is not required in the new methods:
- DynamsoftBarcodeReader.decodeBuffer.
- DynamsoftBarcodeReader.decodeImage.
- DynamsoftBarcodeReader.decodeFileWithName.
- DynamsoftBarcodeReader.decodeBase64.
- DynamsoftBarcodeReader.decodeIntermediateResult.
- The following license activation APIs have been deprecated:
- Interface iDMDLSConnectionParameters.
- Protocol DBRServerLicenseVerificationDelegate.
- Protocol DMDLSLicenseVerificationDelegate.
- Method DynamsoftBarcodeReader.initLicenseFromServer.
- Method DynamsoftBarcodeReader.initLicenseFromDLS.
- Method DynamsoftBarcodeReader.outputLicenseToString.
- The image decoding methods with parameter templateName have been deprecated:
- DynamsoftBarcodeReader.decodeIntermediateResult.
- DynamsoftBarcodeReader.decodeImage.
- DynamsoftBarcodeReader.decodeFileWithName.
- DynamsoftBarcodeReader.decodeBase64.
- DynamsoftBarcodeReader.decodeBuffer.
- DBRTextResultDelegate has been deprecated.
- DBRIntermediateResultListener has been deprecated.
- Configurations of the preset templates have been changed:
- Changed the configurations of EnumPresetTemplate.default to EnumPresetTemplate.videoSingleBarcode.
- Added template EnumPresetTemplate.imageDefault to store the legacy configurations of EnumPresetTemplate.default.
- Updated Swift APIs:
- The following method names have been changed:
- DynamsoftBarcodeReader.updateRuntimeSettings(with parameter iPublicRuntimeSettings).
- DynamsoftBarcodeReader.decodeIntermediateResult.
- DynamsoftBarcodeReader.decodeImage.
- DynamsoftBarcodeReader.decodeFileWithName.
- DynamsoftBarcodeReader.initRuntimeSettingsWithFile.
- DynamsoftBarcodeReader.initRuntimeSettingsWithString.
- DynamsoftBarcodeReader.appendTplFileToRuntimeSettings.
- DynamsoftBarcodeReader.appendTplStringToRuntimeSettings.
- DynamsoftBarcodeReader.outputSettingsToString.
- DynamsoftBarcodeReader.outputSettingsToFile.
- Enumeration members of EnumTerminatePhase.
- The following methods will signal errors by throw exceptions:
- DynamsoftBarcodeReader.decodeIntermediateResult.
- DynamsoftBarcodeReader.decodeImage.
- DynamsoftBarcodeReader.decodeFileWithName.
- DynamsoftBarcodeReader.decodeBase64.
- DynamsoftBarcodeReader.decodeBuffer.
- DynamsoftBarcodeReader.getIntermediateResult.
- DynamsoftBarcodeReader.createIntermediateResult.
- DynamsoftBarcodeReader.outputLicenseToString.
- DynamsoftBarcodeReader.outputSettingsToString.
- DynamsoftBarcodeReader.allParameterTemplateNames.
- DynamsoftBarcodeReader.getModeArgument.
- DynamsoftBarcodeReader.getRuntimeSettings.
- The following methods will return a BOOL value:
- DynamsoftBarcodeReader.updateRuntimeSettings.
- DynamsoftBarcodeReader.setModeArgument.
- DynamsoftBarcodeReader.resetRuntimeSettings.
- DynamsoftBarcodeReader.initRuntimeSettingsWithFile.
- DynamsoftBarcodeReader.initRuntimeSettingsWithString.
- DynamsoftBarcodeReader.appendTplFileToRuntimeSettings.
- DynamsoftBarcodeReader.appendTplStringToRuntimeSettings.
- DynamsoftBarcodeReader.outputSettingsToFile.
- Removed the following legacy video barcode decoding APIs:
- Interface iDCESettingParameters.
- Interface iFrameDecodingParameters.
- Protocol DBRErrorDelegate.
- Method DynamsoftBarcodeReader.setCameraEnhancerParam.
- Method DynamsoftBarcodeReader.startFrameDecoding.
- Method DynamsoftBarcodeReader.startFrameDecodingEx.
- Method DynamsoftBarcodeReader.appendFrame.
- Method DynamsoftBarcodeReader.setDBRErrorDelegate.
- Method DynamsoftBarcodeReader.stopFrameDecoding.
- Method DynamsoftBarcodeReader.getFrameDecodingParameters.
- Method DynamsoftBarcodeReader.getLenghtOfFrameQueue.
- Removed the following legacy license activation APIs:
- Interface iDMLTSConnectionParameters.
- Protocol DMLTSLicenseVerificationDelegate.
- Method DynamsoftBarcodeReader.initLicenseFromLTS.
- Property DynamsoftBarcodeReader.license.
JavaScript SDK
- Added the property license as the main API for setting a license key.
- Added getFocus() and setFocus() methods to control the camera focus.
- Added getFrameRate() method to check the current frame rate of the video input.
- The file dbr.scanner.html has been renamed to dbr.ui.html.
- The following APIs have been renamed:
- onUnduplicatedRead has been renamed to onUniqueRead.
- outputSettingsToString() has been renamed to outputRuntimeSettingsToString().
- Dynamsoft.DBR.BarcodeReader.isLoaded() has been renamed to Dynamsoft.DBR.BarcodeReader.isWasmLoaded().
- The following APIs have been moved:
- whenToPlaySoundforSuccessfulRead has been moved to ScanSettings.
- soundOnSuccessfullRead has been moved to ScanSettings.
- whenToVibrateforSuccessfulRead has been moved to ScanSettings.
- vibrateDuration has been moved to ScanSettings.
- The following APIs have been deprecated:
- Dynamsoft.DBR.BarcodeReader.handshakeCode - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.BarcodeReader.licenseServer - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.BarcodeReader.organizationID - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.BarcodeReader.sessionPassword - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.BarcodeReader.productKeys - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.BarcodeScanner.handshakeCode - Use Dynamsoft.DBR.BarcodeScanner.license instead.
- Dynamsoft.DBR.BarcodeScanner.licenseServer - Use Dynamsoft.DBR.BarcodeScanner.license instead.
- Dynamsoft.DBR.BarcodeScanner.organizationID - Use Dynamsoft.DBR.BarcodeScanner.license instead.
- Dynamsoft.DBR.BarcodeScanner.sessionPassword - Use Dynamsoft.DBR.BarcodeScanner.license instead.
- Dynamsoft.DBR.BarcodeScanner.productKeys - Use Dynamsoft.DBR.BarcodeScanner.license instead.
- The following APIs have been removed:
- Dynamsoft.DBR.browserInfo - Use Dynamsoft.DBR.BarcodeReader.browserInfo instead.
- Dynamsoft.DBR.detectEnvironment() - Use Dynamsoft.DBR.BarcodeReader.detectEnvironment() instead.
- Dynamsoft.DBR.deviceFriendlyName - Use Dynamsoft.DBR.BarcodeReader.deviceFriendlyName instead.
- Dynamsoft.DBR.engineResourcePath - Use Dynamsoft.DBR.BarcodeReader.engineResourcePath instead.
- Dynamsoft.DBR.handshakeCode - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.isLoaded() - Use Dynamsoft.DBR.BarcodeReader.isWasmLoaded() instead.
- Dynamsoft.DBR.licenseServer - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.loadWasm - Use Dynamsoft.DBR.BarcodeReader.isWasmLoaded instead.
- Dynamsoft.DBR.organizationID - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.productKeys - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.sessionPassword - Use Dynamsoft.DBR.BarcodeReader.license instead.
- Dynamsoft.DBR.version - Use Dynamsoft.DBR.BarcodeReader.version instead.
Python SDK
- Added support for Python 3.10.
- Added new FormatSpecification.PartitionModes parameter.
- Changed method init_license to a static method.
- Changed the return value of the method get_idle_instances_count from 0 to -1 when the available count needs to be updated from server by calling init_license.
- The following items have been deprecated. They still work in this version but could be removed in the near future.
- init_license_from_server.
- init_license_from_license_content.
- output_license_to_string.
- init_dls_connection_parameters.
- init_license_from_dls.
Fixes
.NET, Java, C++, C, Android, iOS and Python SDK
- Fixed a bug that might cause a crash when using multiple threads for barcode decoding.
- Fixed a bug that Function Code 1 (FNC1) character would not return if it was in the first position of GS1-128 codes.
- Other small fixes and tweaks.
Java SDK
- Fixed a bug that throws exceptions when using method getIdleInstanceCount.
Python SDK
- Fixed a bug that throws exceptions when using method get_idle_instances_count.