Table of contents

Release Notes for Android SDK - 10.x

10.4.2001 (11/13/2024)

Fixed

  • Internal changes to prevent crash bugs in barcode decoding.

10.4.2000 (10/11/2024)

Highlights

  • Improved the read rate and the speed of the following barcode formats:
    • EAN13
    • DotCode
  • Added support for decoding add-on codes (also known as Extension Codes) for UPC-A, UPC-E, EAN-8 and EAN-13 codes.

Improved

  • Improved the read rate and the speed of the following barcode formats:
    • EAN13
    • DotCode
  • Updated the error handling logic of capturing & startCapturing methods. The methods will be able to clearly report where the error occurred if the capturing fails due to a licensing issue.
  • Updated the error message of initLicense method. The method will return more detailed messages when failed to initialize the license. Warnings will be available if license initialization is successful but a part of the license key is invalid.

New

  • Added internal logics for usage count.
  • Added support for decoding add-on barcodes.
  • Added new properties to the QRCodeDetails class
    • getDataMaskPattern
    • getCodewords
  • Added internal logics for usage count.
  • Added a new callback method onRawTextLinesReceived to the class IntermediateResultReceiver.
  • Added new error codes
    • -10076: The license is initialized successfully but detected invalid content in your key.
    • -30063: [Barcode Reader] No license found.
    • -40103: [Label Recognizer] No license found.
    • -50058: [Document Normalizer] No license found.
    • -90012: [Code Parser] No license found.
  • Added a new enumeration member IRUT_RAW_TEXT_LINES to the enumeration IntermediateResultUnitType.
  • Add a new charge way, TimeSliceCount.
  • Changed the maximum length of the deviceFriendlyName to 255.
  • Added to-the-latest overlapping feature. You can use enableLatestOverlapping method of MultiFrameResultCrossFilter class to enable this feature.

Fixed

  • Fixed a bug where the CharacterModel is not correctly loaded under macOS operation system.
  • Small fixes and tweaks.
  • Fixed a crash bug caused by the usage of RegEx.
  • Small fixes and tweaks.
  • Fixed a bug where CaptureVisionRouter.startCapturing would erroneously halt the fetching process when its status was running, leading to an unnecessary stop and restart of the fetching operation.
  • Fixed a bug where DirectoryFetcher would prematurely read an image before verifying if the buffer was full, resulting in potential loss of the image that did not make it into the buffer upon calling stopFetching.
  • Fixed a bug that might cause GS1_DATABAR_EXPANDED_STACKED barcode unread.

Changed

  • Updated the Enumeration number of EnumBarcodeFormat.BF_ALL to 0xFFFFFFFEFFFFFFFF.
  • Updated the internal logic of licensing error message reporting.
  • Changed the template loading mode. The library will read all template files under the Templates folder where the DLL file is located.

10.2.1100 (05/15/2024)

10.2.10 (04/16/2024)

Improved

  • Security update for DynamsoftBarcodeReader library and other corresponding libraries.
  • Supported multiple instances of the class CaptureVisionRouter.
  • Improved the usage count logic of the concurrent license mode.
  • Improved the experience of local cache usage when failing to connect the license server. The renewal of the local cache is optimized as well.
  • Improved the barcode decoding performance:
    • Improved the accuracy when decoding OneD & PDF417 barcodes.
    • Improved the readability of dense DataMatrix codes.

New

Breaking Changes

  • Changed the logic of the stopCapturing method.
    • CaptureResultReceiver will not receive results after stopCapturing is triggered with waitForRemainingTasks false.
    • Support stop capturing after the pauseCapturing method is triggered.
  • Changed the logic of the capturedResultItemTypes setting of SimplifiedCaptureVisionSettings:
    • If the result item types don’t match the specified template, the method updateSettings will return the error code EC_PARAMETER_VALUE_INVALID with the message “The captured result item types do not match the task configurations in the template”.
    • Based on the capturedResultItemTypes setting, the irrelevant tasks will be removed from the template.
    • The capturedResultItemTypes should include at least one of the CRIT_BARCODE, CRIT_TEXT_LINE, CRIT_DETECTED_QUAD, CRIT_NORMALIZED_IMAGE. Otherwise, the method updateSettings will return the error code EC_PARAMETER_VALUE_INVALID with the message “The captured result item types should contain at least one task result type”.
  • Refactored the Contour class. Please view API reference - Contour class for more information.

Fixed

  • Fixed a crash bug that might happen when triggering the setNextImageToReturn method of the ImageSourceAdapter class.
  • Fixed a bug where error messages are not output when parsing the parameter templates.
  • Fixed a misreading bug of the PDF417 barcodes on the South Carolina driver’s license.
  • Internal changes to prevent crash bugs in barcode decoding.
  • Fixed a bug where the capture might be blocked due to the network latency.
  • Fixed the bugs of usage count.
    • Count twice for a single PDF417 barcode when a code parser task is implemented on the result.
    • The barcode decoding result might not be uploaded timely.
    • Patchcode might be counted even if there is no Patchcode license item.

10.0.21 (12/12/2023)

  • Updated the internal package dependencies rules.

10.0.20 (10/26/2023)

DynamsoftBarcodeReader SDK has been revamped to integrate with DynamsoftCaptureVision (DCV) architecture, which is newly established to aggregate the features of functional products powered by Dynamsoft. The features are designed to be pluggable, customizable and interactable. In addition, the functional products share the computation so that their processing speed is much higher than working individually.

  • DynamsoftCaptureVision architecture consists of:
    • ImageSourceAdapter(ISA), the standard input interface for you to convert image data from different sources into the standard input image data. In addition, ISA incorporates an image buffer management system that allows instant access to the buffered image data.
    • CaptureVisionRouter (CVR), an engine for you to update templates, retrieve images from ISA, coordinate corresponding functional products and dispatch the results to the receivers.
    • Functional products that perform image processing, content understanding and semantic processing. The functional products are pluggable and passively called by CVR when they are required.
    • Result receiver interfaces. You can implement CapturedResultReceiver (CRR) to receive the CapturedResults that output when the processing on an image is finalized. You can also implement IntermediateResultReceiver (IRR) to get timely results from different stages of the workflow.
  • The parameter template system has been comprehensively upgraded.
    • Multiple algorithm task settings are available. You can define barcode decoding, label recognizing, document scanning and semantic processing tasks in one template file.
    • Extended the feature of the ROI system. By configuring the target ROI parameters, you can not only specify an ROI on the original image but also define the dependencies of the algorithm tasks. This feature enables you to customize the workflow when processing complex scenarios.
    • The image processing parameters are separated from the task parameters so that the template settings become more clear and concise.
  • The intermediate result system has been improved.
    • Achieved the intermediate result sharing between different functional products. The results that have the same image source and processing parameters are directly reused, which speeds up the image processing workflow. You don’t need to add any additional code to enable the intermediate result sharing. The library can recognize all the reusable results automatically based on the template file you uploaded.
    • The readability and interactivity of the intermediate results are enhanced. IntermediateResultReceiver allows you to receive up to 27 different types of Intermediate results. You can clearly read which stage of the algorithm each result is output from. In addition, IntermediateResultManager allows you to intervene in the workflows by modifying the intermediate results.

The APIs of Dynamsoft Barcode Reader are comprehensively updated. Please follow the view upgrade instructions to update your code.

This page is compatible for:

Is this page helpful?

YesYes NoNo

In this article: