Table of contents

Release Notes for Android SDK - 9.x

9.6.40 (03/21/2024)

Improved

  • Updated the security of the DynamsoftBarcodeReader library and other corresponding dependent libraries.
  • Improved the multi-thread processing logic of concurrent instance licenses.
  • Improved the barcode decoding performance:
    • Improved the accuracy when decoding OneD & PDF417 barcodes.
    • Improved the readability of dense DataMatrix codes.

Changed

  • Added a new error code DM_LICENSE_CACHE_USED, which is returned when failing to connect to the license server but a valid license cache is available. Error codes DM_FAILED_TO_REACH_DLS and DM_LICENSE_SYNC_FAILED are no longer returned in this scenario.

Fixed

  • Fixed crash bugs in the barcode decoding algorithm.
  • Fixed a bug where the location of the barcode result(s) might be incorrect.

9.6.20 (03/16/2023)

Fixed

  • Fixed a bug where license authorization may fail when the main license server is not available.
  • Other small fixes and tweaks.

9.6.11 (01/16/2023)

Fixed

9.6.10 (01/10/2023)

Fixed

  • Fixed a bug that some OneD barcodes without start & stop characters are not decoded when parameter RequireStartStopChars is set to 0.
  • Fixed a crash bug by adding protection in algorithm.

Improved

  • Improved the performance of Direct Part Marking (DPM) barcode decoding.
  • Improved the performance of GS1 Databar barcode decoding.

9.6.0 (12/13/2022)

Version Highlights

  • Image orientation handling is supported by a new feature. With the new feature, you can:
    • Get a TranformationMatrix along with the barcode location result.
    • Implement coordinates transformation on the barcode location result with the TransformationMatrix.
  • DotCode decoding is improved by optimizing the localization of DotCodes that are close to one another.

auto-zoom

  • EAN8 barcode decoding is improved by honing the accuracy of localization algorithms.
  • QR code localizing is improved by reducing the mis-assemble rate of the finder patterns when using the localization mode LM_CONNECTED_BLOCK or LM_SCAN_DIRECTLY, which are designed for speed. The mis-assembling only occurs when there exist dense QR codes on the same image.
  • Mirrored rectangular DataMatrix barcode is supported by implementing MirrorMode when localizing the barcodes.

auto-zoom

  • Deformed barcode decoding is improved by extending the supported modes and mode arguments of DeformationResistingModes.

Changelog

New

  • Added a new method setLogConfig so that user can get log information of the algorithm. Enumeration EnumLogMode is added so that users can set whether to save the log information.
  • Enabled decoding methods decodeFile, decodeFileinMemory and decodeBase64String to read EXIF data of the given image so that the library can obtain the orientation information when processing image file.
  • Override method decodeBuffer. You can input an ImageData object as the barcode decoding parameter. The library can obtain the orientation information from the ImageData object.
  • Added a new property transformationMatrix to class LocalizationResult so that the library can output a transformation matrix for users to transform the coordinates of the barcode result.
  • Added a new method setDuplicateForgetTime to filter out all duplicate barcode results for a period of time when processing video streaming.
  • Added new properties hasLeftRowIndicator and hasRightRowIndicator to class PDF417Details to return whether the left or right row indicator of the PDF417 barcode is detected.
  • Added a new member BF2_ALL to enumeration BarcodeFormatIds_2.
  • Extended the features of DeformationResistingModes:
    • Extended the valid mode arguments of DRM_BROAD_WARP, DRM_LOCAL_REFERENCE and DRM_DEWRINKLE with two new arguments: GrayscaleEnhancementMode and BinarizationMode.
    • Support mode DRM_AUTO.

Improved

  • Improved the accuracy when processing multiple QR codes.
  • Improved the processing speed by excluding incorrectly located barcode zones before decoding.
  • Improved the creation, destruction, and acquisition logic of concurrent instances.
  • Improved the scan count of duplicate barcodes when the Charge Way is per scan.
  • Improved the accuracy of EAN8 localization result(s).
  • Improved the localization of mirrored DataMatrix barcode by implementing MirrorMode.

Fixed

  • Fixed a bug that DotCodes might not be decoded when they are densely arranged.
  • Fixed a crash bug when trying to output a template which includes customized value for parameterd BarcodeTextRegEexPattern.
  • Fixed a bug that might cause memory churn when the instance/thread was created frequently.

Removed

  • Removed destroy from class BarcodeReader.

9.4.0 (11/04/2022)

Version Highlights

  • DotCode decoding has been improved by optimizing the localization and decoding algorithm.
  • Stacked, skewed or perspective distorted OneD barcode decoding has been improved.

Changelog

New

  • Added an argument IsOneDStacked to LM_SCAN_DIRECTLY to process stacked OneD barcodes.
  • Added a parameter PatchCodeSearchingMargins to specify the searching area of PatchCode.
  • Added the supported data format of FormatSpecification.PartitionModes to enhance the readability of the parameters. Users can use a list of enumeration names to specify the PartitionModes.

Improved

  • Improved the localization mode LM_LINES to better support skewed and perspective OneD barcodes.
  • Enhanced tamper resistance of the license keys so that any change to the license string makes it invalid.

Deprecated

9.2.10 (06/28/2022)

Version Highlights

  • Barcode boundary-seeking algorithm is refactored to improve stability.
  • Pharmacode decoding is optimized to improve accuracy.
  • The function of device-alias is added to allow users to give each device a readable name. For end-users and administrators, this makes it more friendly to distinguish between devices about license usage statistics.

Changelog

New

9.0.2 (05/26/2022)

New

  • Added the following property/Method to iImageData class:
    • toBitmap: The method that can convert the ImageData to a Bitmap.
    • orientation: The property that indicates the orientation of the image.

Changed

  • Changed getVersion from a dynamic method to a static method. The format of the return value is changed as well.

Fixed

  • Fixed a bug that TextResult might not be returned in TextResultCallback

9.0.1 (04/20/2022)

Fixed

  • Fixed a bug that might offset the position of highlight overlays on the decoded barcodes when used together with DynamsoftCameraEnhancer.

9.0.0 (03/22/2022)

Highlights

  • Simplified the license activation steps. Different license activation APIs are integrated into initLicense method.
  • Added support for Pharmacode.
  • Added support for Code 11, a 1D format.
  • Deformation resisting modes DRM_BROAD_WARP, DRM_LOCAL_REFERENCE and DRM_DEWRINKLE are optimized and detached from DRM_GENERAL. Users can specify a more effective deformation resisting mode when processing QRCode and DataMatrix codes.
  • Optimized the confidence scoring system for PDF417 codes.

Changelog

New

  • Added BF_CODE_11 under enumeration EnumBarcodeFormat to specify newly supported barcode format, Code 11. The enumeration value of BF_ONED and BF_ALL are updated as well.
  • Added BF2_PHARMACODE_ONE_TRACK, BF2_PHARMACODE_TWO_TRACK and BF2_PHARMACODE under enumeration EnumBarcodeFormat_2. to specify newly supported barcode format, Pharmacode.
  • Added a new error code DBRERR_PHARMACODE_LICENSE_INVALID which will be returned when the license of Pharmacode is invalid.
  • Added DRM_BROAD_WARP, DRM_LOCAL_REFERENCE and DRM_DEWRINKLE under enumeration EnumDeformationResistingMode to apply new deformation resisting modes.
  • Added a parameter FormatSpecification.VerifyCheckDigit.
  • Added new argument ConfidenceThreshold to the Landroid_apializationModes mode arguments.
  • Added static method BarcodeReader.initLicense to replace legacy license activation APIs. The new method will support both online and offline licenses.
  • Added interface DBRLicenseVerificationListener to get license verification callback when using BarcodeReader.initLicense.
  • Added interface TextResultListener.
  • Added interface IntermediateResultListener.
  • Added the following image decoding methods. The parameter templateName is not required in the new methods.
    • BarcodeReader.decodeBuffer
    • BarcodeReader.decodeFile
    • BarcodeReader.decodeFileInMemory
    • BarcodeReader.decodeBase64String
    • BarcodeReader.decodeBufferedImage
    • BarcodeReader.decodeIntermediateResults

Fixed

  • Fixed a bug that might cause a crash when using multiple threads for barcode decoding.

Deprecated

  • The following license activation APIs are deprecated and will be removed in 10.0 release:
    • Class DMDLSConnectionParameters
    • Interface DBRServerLicenseVerificationListener
    • Interface DBRDLSLicenseVerificationListener
    • Enumeration EnumDMChargeWay
    • Enumeration EnumDMLicenseModule
    • Enumeration EnumDMUUIDGenerationMethod
    • Enumeration EnumProduct
    • Method BarcodeReader.initLicenseFromServer
    • Method BarcodeReader.initLicenseFromLicenseContent
    • Method BarcodeReader.initLicenseFromDLS
    • Method BarcodeReader.outputLicenseToString
  • The image decoding methods with parameter templateName are deprecated
    • BarcodeReader.decodeBuffer
    • BarcodeReader.decodeFile
    • BarcodeReader.decodeFileInMemory
    • BarcodeReader.decodeBase64String
    • BarcodeReader.decodeBufferedImage
    • BarcodeReader.decodeIntermediateResults
  • Interface TextResultCallback is deprecated.
  • Interface IntermediateResultCallback is deprecated.

Breaking Changes

  • Configurations of the preset templates are 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
    • Enumeration EnumClarityCalculationMethod
    • Enumeration EnumClarityFilterMode
    • 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

This page is compatible for:

Is this page helpful?

YesYes NoNo

In this article: