Skip to main content

Changelog | Android Barcode Scanner

Version 3.0.5 (13 Oct 2021)#

  • πŸŽ‰ New:
    • A new method forceClose() was added into our RTU UI components allowing to manually finish the RTU UI Screen (Activity) from the calling code
    • Now it is possible to access the current state of the flashlight using isFlashEnabled method in IScanbotCameraView
    • Ready to Use UI components now can use CameraX under the hood. Use ScanbotBarcodeScannerSDKInitializer.useCameraXRtuUi(true) to enable it
    • startPreview() and stopPreview() methods are available for ScanbotCameraXView as well
  • πŸš€ Improvements:
    • ScanbotCameraXView now uses better preview quality by default
    • ScanbotCameraXView performance was optimized
  • 🐞 Bug fixes:
    • Fixed long initialization of ScanbotCameraXView on foldable devices
  • πŸš™ Under the hood:
    • Refactored internal architecture of all RTU screens
    • Removed RxJava and RxAndroid libraries from RTU dependencies

Version 3.0.4 (15 Sep 2021)#

  • πŸŽ‰ New:
    • A new flag allowXnnpackAcceleration was added in ScanbotBarcodeScannerSDKInitializer allowing to control whether the XNN pack optimizations should be used (true by default)
  • 🐞 Bug fixes:
    • Fixed MSI_PLESSEY_CHECKSUM_ALGORITHMS, STRIP_CHECK_DIGITS and CAMERA_ZOOM parameters being ignored in BatchBarcodeScannerConfiguration
  • ⚠️ Breaking changes:
    • The corner_radius attribute of FinderOverlayView was renamed to sbsdk_corner_radius

Version 3.0.3 (3 Sep 2021)#

  • πŸš€ Improvements:
    • Improved recognition of UPC/EAN barcodes due to ink spread
    • The resultPoints field of the BarcodeItem now contains correct information about the contours of the detected barcodes
  • 🐞 Bug fixes:
    • Fixed a rotation issue in ScanbotCameraXView
  • ⚠️ Breaking changes:
    • Update compile and target SDK of the library to 30
    • The resultPoints field of the BarcodeItem is no longer nullable
  • πŸš™ Under the hood:
    • Bump CameraX version to stable 1.0.1 and CameraX View to 1.0.0-alpha28

Version 3.0.2 (6 Aug 2021)#

  • πŸŽ‰ New:
    • PictureCallback now contains information if the image was captured automatically
    • Added a new method takePicture(acquireFocus: Boolean, isCapturedAutomatically: Boolean) in IScanbotCameraView which should be called with isCapturedAutomatically = true from a custom AutoSnappingController
    • Additional parameter stripCheckDigits: Boolean in BarcodeScannerAdditionalConfig for BarcodeDetector classical component
    • Additional parameter stripCheckDigits: Boolean in BarcodeScannerAdditionalConfiguration for RTU UI screens
  • πŸš€ Improvements:
    • Significant performance improvements of the scanner
    • All-zeros MSI Plessey barcodes are ignored now
    • Additional Information field in SEPA barcode document type now parsed correctly to match the specification
  • ⚠️ Breaking changes:
    • The parameter imageOrientation in PictureCallback was replaced to CaptureInfo which contains the orientation of the image and if it was captured automatically
    • IMPORTANT! Added create prefix to names of all the methods in ScanbotSDK and ScanbotBarcodeScannerSDK, that return new instances of scanners, processors or storages. Methods without this prefix return Singleton objects.
    • Reference and Hint fields in SEPA barcode document type were replaced by Purpose and Remittance to match the specification
  • πŸš™ Under the hood:

Version 3.0.1 (5 Jul 2021)#

  • 🐞 Bug fixes:
    • Fixed a crash after the license expiration in Classical components

Version 3.0.0 (1 Jul 2021)#

  • πŸŽ‰ New:
    • Brand new β€œNext Generation” machine-learning-based barcode scanning engine with improved reliability and much faster performance
    • Added new config parameter engineMode: EngineMode in BarcodeScannerConfig for ScanbotBarcodeDetector. By default ScanbotBarcodeDetector uses EngineMode.NextGen based on a new ML model
    • Added new RTU config method setEngineMode(engineMode: EngineMode) in BarcodeScannerConfiguration. By default - EngineMode.NextGen.
    • Added the possibility to customize the delay between successful frames for BatchBarcodeScannerActivity. Default changed from 1000 ms to 0 ms (no delay)
  • ⚠️ Breaking changes:
    • Removed disableMlDetector config parameter in BarcodeScannerConfig. Use EngineMode.LegacyFast instead.
    • Removed BarcodeDetectorType class and setDetectorType() method from Barcode RTU screens. Use setEngineMode(engineMode: EngineMode) instead.
    • Removed unused parameters width: Int and height: Int from detectFromJpeg(jpeg: ByteArray, frameOrientation: Int) method in ScanbotBarcodeDetector
  • πŸš™ Under the hood:
    • New third-party libraries: xsimd, xtl und xtensor (see Libraries.txt)

Version 1.8.0 (17 Jun 2021)#

  • πŸŽ‰ New:
    • Added a new supported barcode format BarcodeFormat.MSI_PLESSEY. By default MSI-Plessey is disabled, you must explicitly pass it as an accepted type
    • Additional parameter msiPlesseyChecksumAlgorithms: EnumSet<MSIPlesseyChecksumAlgorithm> in BarcodeScannerAdditionalConfig for BarcodeDetector classical component
    • Additional parameter msiPlesseyChecksumAlgorithms: EnumSet<MSIPlesseyChecksumAlgorithm> in BarcodeScannerAdditionalConfiguration for RTU UI screens
    • Added new parameter to the SdkLicenseInfo class licenseStatusMessage: String?
  • πŸš€ Improvements:
    • More clear default values for user guidance strings on RTU UI screens
  • 🐞 Bug fixes:
    • Fixed a problem with UPC-A barcodes being recognized as EAN13 barcodes
  • ⚠️ Breaking changes:
    • Changed signature of the handleLicenceStatusError method in IScanbotSDKLicenseErrorHandler. Added additional parameter errorMessage : String

Version 1.7.0 (21 Apr 2021)#

  • πŸŽ‰ New:
    • Added a new option setOpticalZoomRange(zoomRange: ZoomRange) in IScanbotCameraView
    • Added two new options setCameraZoomFactor(zoomFactor: Float) and setCameraZoomRange(zoomRange: ZoomRange) in BarcodeScannerConfiguration for BarcodeScannerActivity RTU screen
    • Added gs1DecodingEnabled parameter in BarcodeScannerAdditionalConfig and BarcodeScannerAdditionalConfiguration to disable the decoding of FNC1 characters in CODE128 barcodes
  • πŸš€ Improvements:
    • Initialization parameters for AESEncryptedFileIOProcessor (key: SecretKey?, initializationVector: ByteArray, salt: ByteArray and iterationCount: Int) became public.

Version 1.6.0 (29 Mar 2021)#

  • πŸŽ‰ New:
    • Now it is possible to set ScanbotBarcodeDetector to scan only the given types of BarcodeDocumentFormat and filter out others automatically
    • Added minimumTextLength, maximumTextLength, minimum1DQuietZoneSize params for ScanbotBarcodeDetector as BarcodeScannerAdditionalConfig entity.
    • Added new method setBarcodeScannerAdditionalConfiguration for RTU BarcodeScannerConfiguration to set the minimumTextLength, maximumTextLength, minimum1DQuietZoneSize params.
  • πŸš€ Improvements:
    • Wrapped general JVM exceptions with specific Scanbot SDK alternatives to enhance crash report readability.
    • Optimized memory consumption of BarcodeDetector
    • scanbot-sdk-crypto-persistence library supports min API 21+
  • 🐞 Bug fixes:
    • Fixed calculation of the visible rectangle for CameraView. It solves problems related to the scanning of documents which have borders close to the side of the screen
    • Fixed multiple simultaneous detection results on a single ITF barcode
  • ⚠️ Breaking changes:
    • IMPORTANT! Classical component ScanbotBarcodeDetector is no longer a singleton! You should get your instance from SDK, configure it and use it as needed. Calling ScanbotSDK(this).barcodeDetector() elsewhere will return a new instance of this component with default config. Refer to example implementation.
    • Removed a set of methods from ScanbotBarcodeDetector and BarcodeDetectorFrameHandler - code should be updated to use new setConfig and modifyConfig methods and BarcodeScannerConfig entity.
    • CheckableTextView was removed from the SDK. Consider the usage of CheckedTextView from Android SDK instead
  • πŸš™ Under the hood:
    • Updated AndroidX Security Crypto library to the version 1.1.0-alpha03
    • Removed AndroidX security-identity-credential library from dependencies

Version 1.5.1 (10 Mar 2021)#

  • ⚠️ Breaking changes:
    • Removed barcode format BarcodeFormat.MSI_PLESSEY

Version 1.5.0 (22 Feb 2021)#

  • πŸŽ‰ New:
    • Added support of parsing of Swiss QR codes in Barcode scanner
  • πŸš™ Under the hood:
    • Optimized delay handling between camera frames in BarcodeDetectorFrameHandler

Version 1.4.0 (02 Feb 2021)#

  • πŸŽ‰ New:
    • Implemented an encrypted storage for the barcode images
  • 🐞 Bug fixes:
    • Fix CameraX view bug with contour detector mirroring in landscape for the front facing camera

Version 1.3.2 (15 Jan 2021)#

  • 🐞 Bug fixes:
    • Further fixes for the "double scan" issue with the RTU UI BarcodeScannerActivity

Version 1.3.1 (12 Jan 2021)#

  • 🐞 Bug fixes:
    • Fixed a concurrency issue (RejectedExecutionException) for the frame handling in CameraView
    • Fixed a double scan issue for BarcodeScannerActivity RTU screen
    • Fixed a ShutterButton animation

Version 1.3.0 (17 Dec 2020)#

  • πŸŽ‰ New:
    • Added Front Facing Camera support (BETA). Call setCameraModule(CameraModule.FRONT) in ScanbotCameraView or ScanbotCameraXView to enable it.
    • Added CAMERA_MODULE configuration parameter for RTU screens
    • Added setDetectorType configuration parameter for barcode scanner and related RTU UI screens. It allows disabling model-based detection which might be helpful to increase the performance in some cases
  • πŸš€ Improvements:
    • Improved detection of ITF barcodes
  • 🐞 Bug fixes:
    • The flash button on RTU UI screens is not shown anymore on devices without a flashlight
    • Fixed live detection that was not working on some devices with non-standard camera frame resolution
  • πŸš™ Under the hood:
    • Updated the version of CWAC Camera library to 0.6.40.

Version 1.2.2 (7 Dec 2020)#

  • 🐞 Bug fixes:
    • Fixed incorrect processing of the text part in DataMatrix barcodes with binary data
    • Fixed rare case of the QR-codes processing which might lead to a crash
    • Some redundant logs were removed

Version 1.2.1 (3 Dec 2020)#

  • πŸŽ‰ New:
    • BarcodeScannerActivity and BatchBarcodeScannerActivity now support a possibility to set a timeout via setAutoCancelTimeout method in seconds. In this case, you will get CANCELLATION_REASON_TIMEOUT = true as an extra for RESULT_CANCELED in activity result
  • πŸš€ Improvements:
    • Better recognition of rotated PDF417 codes

Version 1.2.0 (23 Nov 2020)#

  • πŸš€ Improvements:
    • Huge improvements in detection of barcodes of PDF417 type
  • 🐞 Bug fixes:
    • Fixed bug when RTU UI screens might lose their configuration or crash after going to a paused state
    • Fixed bug when BatchBarcodeScannerActivity was picking only the first barcode on each scanned frame
  • πŸš™ Under the hood:
    • Dagger library was updated to 2.25.2

Version 1.1.7 (29 Oct 2020)#

  • πŸŽ‰ New:
    • Added FinderPictureCallback that automatically crops the visible FinderOverlayView zone and fixes an orientation of the snapped image
    • Optical pinch-to-zoom feature for the CameraView and the digital zoom feature (see ZoomFinderOverlayView)
    • Consumer proguard rules are now integrated into the library
    • FormattedBarcodeDataMapper's DEFAULT implementation was removed. null is new default value for BatchBarcodeScannerActivity.newIntent method instead. See example
  • πŸš€ Improvements:
    • Changed PictureCallback implementation - it is an abstract class that implements BasePictureCallback interface
    • Improved recognition of barcodes when scanning matrix barcodes from a short distance
    • Increased camera preview start speed
    • Improved recognition of damaged DataMatrix barcodes
  • 🐞 Bug fixes:
    • Added the "force fetch" mechanism for ScanbotBarcodeDetector ML blobs.
  • πŸš™ Under the hood:
    • Updated compile SDK of the library to 29

Version 1.1.6 (16 Sep 2020)#

  • πŸš€ Improvements:
    • Improved recognition of damaged DataMatrix barcodes
  • πŸš™ Under the hood:
    • Upgraded some libs to latest versions: OpenCV 4.4.0, Kotlin Standard Library 1.4, added OpenJPEG 2.3.1

Version 1.1.5 (20 Aug 2020)#

  • 🐞 Bug fixes:
    • Fixed hanging frame processing in CameraView after pausing if the orientation was not locked

Version 1.1.4 (14 Aug 2020)#

  • πŸŽ‰ New:
    • Added ability to scan multiple barcodes in a row with the new RTU UI Component BatchBarcodeScannerActivity
  • 🐞 Bug fixes:
    • Fixed a crash for barcodes with non-string raw data
    • Binary raw data for barcodes now filled correctly in BarcodeItem.rawBytes

Version 1.1.3 (16 Jul 2020)#

  • πŸš€ Improvements:
    • Improved barcode detection model
    • Improved handling of ink spread issues with Code128 barcodes
    • Improved barcode and QR code live detection especially for very dense codes

Version 1.1.2 (9 Jul 2020):#

  • πŸš€ Improvements:
    • Added new barcode format BarcodeFormat.MSI_PLESSEY
    • Minor bugfixes and improvements

Version 1.1.1 (8 Apr 2020):#

  • πŸš€ Improvements:
    • Updated ProGuard config
    • Improved detection from still images
    • Minor bugfixes and improvements

Version 1.1.0 (11 Mar 2020):#

  • πŸš€ Improvements:
    • Updated minimum Android API level to 21 (Android 5.0)
    • Updated ProGuard config
    • Minor bugfixes and improvements

Version 1.0.0 (31 Jan 2020):#

  • πŸŽ‰ First release.