Skip to main content

Changelog | .NET Barcode Scanner

.NET - Version 5.1.0 (26 Jun 2024)

Android

  • 🎉 New:
    • Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. See Ready-to-Use UI for documentation and various use cases.
    • Added support for new barcode format BarcodeFormat.MicroPdf417.
    • Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
  • 🚀 Improvements:
    • Optimized speed of the camera preview frames handling for all scanners.
    • Changed the touch to focus square in ScanbotCameraXView to a circle.
  • 🐞 Bug fixes:
    • For BarcodeFormat.Pdf417, a single case to generate clusters was not covered, which led to a crash.
    • Fixed issue with misaligned barcode polygons on some devices with horizontal orientation.
    • Fixed SoundController crash on Android API <= 23.
  • ⚠️ Breaking Changes:
  • 🚙 Under the hood:
    • Updated the native SDK to Android Barcode SDK 5.1.0
    • Updated 3rd-party libraries:
      • libjpeg-turbo to 2.1.5.1
      • libpng to 1.6.40
      • libtiff to 4.6.0
    • Added third-party library libzueci version 1.0.0.
    • Extracted parts of ScanbotBarcodeScannerSDK API to the ILicensableSdk and IBarcodeScanningSdk interfaces.
    • Migrated project to AGP 8.x.
    • Added more rules for R8 shrinker to work adequately with AGP >= 8.
    • Added Theme.AppCompat.NoActionBar theme as default for Barcode Scanner RTU UI v2 activity.
    • Added Consumer Proguard rules for RTU UI v2 modules.
    • Class SoundController was renamed to SoundControllerImpl and interface SoundController was extracted.

iOS

  • 🎉 New:
  • 🚀 Improvements:
    • IMPORTANT: Changed the default rear cameras on all scanners to the triple or dual camera. On some devices with triple camera this results in a different view port (more zoomed in). Please make sure to adapt your zoom ranges and factors.
    • Improved speed and image quality of still image capturing.
    • Improved image quality and capture speed on most iOS devices slightly by capturing HEIF images.
    • Added support of haptic feedback on capable devices.
    • SBSDKPDFPagesExtractor functions now create the output directory if it doesn't exist yet.
    • Added support for structured logging (OSLog) to the SDK (iOS 14+).
  • 🐞 Bug fixes:
    • Changed privacy manifest to comply with the latest Apple specs.
    • Fixes a bug with the asynchronous functions of SBSDKPDFPagesExtractor which returned an empty array of image URLs.
    • Fixes a problem that slowed down still image capturing on some older iOS devices.
    • Fixed a critical bug in the camera session causing still images to be captured at a lower than expected resolution.
  • ⚠️ Breaking Changes:
  • 🚙 Under the hood:
    • Updated the native SDK to iOS Barcode SDK 5.1.0
    • Added third-party library libzueci version 1.0.0
    • Refactored all public SDK code to Swift.

.NET - Version 4.2.0 (6 Mar 2024)

  • 🎉 New:
    • Added support for several new barcode formats including:
      • AustraliaPost
      • DatabarLimited
      • Gs1Composite
      • JapanPost
      • RoyalMail
      • RoyalTntPost
      • UspsIntelligentMail
    • Enhanced control over how to handle GS1 messages in barcodes.
    • Added CameraZoomRange in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration.
  • 🐞 Bug fixes:
    • Android:
      • Optimized camera functionalities in ScanbotCameraXView.
      • Modified camera zoom functionalities to switch to zoom ratio.
    • iOS:
      • Fixed UI issues in SBSDKUIBarcodeScannerViewController and SBSDKUIBarcodesBatchScannerViewController.
  • ⚠️ Breaking changes:
    • GS1 codes are now handled differently for various barcode types. Using the default option GS1Handling.Parse will give the same result as before for all barcode types, except for BarcodeFormat.RssExpanded. Previously, for RssExpanded, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, choose the option GS1Handling.Decode.
    • iOS:
      • The method DidDetect in the BarcodeResultReceiver class has been renamed to DidDetectResults, and its signature now matches the updated method signature in the SBSDKUIBarcodeScannerViewControllerDelegate interface.
  • 🚙 Under the hood:
    • iOS:
      • Added new methods in SBSDKCameraDevice class for camera and licensing functionalities.
    • The native Scanbot iOS SDK upgraded to v4.2.1.
    • The native Scanbot Android SDK upgraded to v4.2.0.

.NET - Version 4.0.0 (9 Jan 2024)

  • 🎉 New:
    • iOS:
      • Added new Classic UI component SBSDKBarcodeScanAndCountViewController which enables you to count barcodes from multiple scans using the shutter button.
      • Added property ExtensionFilter to all barcode scanning APIs (SBSDKBarcodeScanner, SBSDKBarcodeScannerViewController, SBSDKBarcodeScanAndCountViewController, SBSDKUIBarcodeScannerBehaviorConfiguration and SBSDKUIBarcodesBatchScannerBehaviorConfiguration).
      • Added property Extension to SBSDKBarcodeScannerResult.
      • Added TrackingOverlayController property to SBSDKBarcodeScannerViewController.
      • Introduced new classes and protocols to manage barcode tracking overlay:
        • SBSDKBarcodeTrackingOverlayController: Provides a customizable user interface for displaying barcodes and supports interaction with them.
        • SBSDKBarcodeTrackingOverlayConfiguration: Represents the configuration options for a SBSDKBarcodeTrackingOverlayController.
        • SBSDKBarcodeTrackedViewTextStyle: Represents the style and kind of text rendered below a barcode.
        • SBSDKBarcodeTrackedViewPolygonStyle: Represents the style of the polygon rendered around a barcode.
        • SBSDKTrackedBarcodeInfoView: A protocol that defines the methods and properties required for a custom tracking view.
      • Added functions to SBSDKDeviceInformation to get the total, used and unused disk space on the device.
      • Added new method widestAvailableBackFacingCamera to SBSDKCameraDevice.
      • Added new method setupDefaultLicenseFailureHandlerWithCompletion: to the Scanbot class.
  • 🚀 Improvements:
    • Android:
      • It is now possible to color each barcode on the barcode AR overlay. Use barcodeScannerView.selectionOverlayController.setBarcodeAppearanceDelegate(delegate: BarcodePolygonsView.BarcodeAppearanceDelegate) to manage polygon appearance.
      • Reduced the number of barcode detector models from 3 to 2. The model used in Fast mode is now ~20% faster, about the same speed as Fastest mode.
      • Fixed declaration of attributes polygonStrokeDeclinedColor and polygonFillDeclinedColor.
    • iOS:
      • RTU-UI configurations can now be initialized with partial/incomplete JSON data by internally merging the partial data into the configurations default values.
    • Improved the speed of barcode recognition for most barcode symbologies.
  • 🐞 Bug fixes:
    • Android:
      • Removed conflicting "app_name" string resources from library modules.
      • Fixed bug for BarcodePolygonsStaticView where it crashed if barcodeItemViewFactory returns null instead of view.
      • Before, for certain invalid decodings of QR and MicroQR codes, an exception was thrown from ZXing. Now we rigorously treat this as a format error.
      • Before, we have returned CODE_25 results when INDUSTRIAL_2_OF_5 was enabled and CODE_25 was disabled. Now, we do not return the CODE_25 result for such decoding options.
    • iOS:
      • Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
      • Fixed a crash when denying camera permission.
  • ⚠️ Breaking changes:
    • Android:
      • Removed methods from BarcodePolygonsView and BarcodeScannerView.selectionOverlayController related to polygon and text view appearance. E.g. setStrokeColor etc. Please use BarcodeAppearanceDelegate instead!
      • Removed UNKNOWN barcode type from the API as it is applicable only for internal usage.
    • iOS:
      • Due to a Swift compiler naming collision, the class ScanbotSDK has been renamed to ScanbotSDKGlobal.
      • Renamed the class ScanbotSDKUI to ScanbotUI.
      • Removed barcode type SBSDKBarcodeTypeUnknown.
      • Removed SelectionOverlayTextFor from SBSDKUIBarcodeScannerViewController.
      • Renamed SelectionOverlayEnabled to IsTrackingOverlayEnabled in SBSDKBarcodeScannerViewController.
      • Renamed SBSDKUIBarcodeSelectionOverlayConfiguration to SBSDKUIBarcodeTrackingOverlayConfiguration.
      • Renamed SelectionOverlayConfiguration to trackingOverlayConfiguration in SBSDKUIBarcodeScannerConfiguration and SBSDKUIBarcodesBatchScannerConfiguration.
      • Renamed PhotoQualityPriorization to PhotoQualityPrioritization everywhere in the SDK.
  • 🚙 Under the hood:
    • Removed reference to Scanbot.NET.SDK.Dependencies package for Android. Instead, the needed dependencies are referenced directly.
    • The native Scanbot Android SDK upgraded to v4.0.1.
    • The native Scanbot iOS SDK upgraded to v4.0.3.

.NET - Version 3.7.0 (5 Oct 2023)

  • 🎉 New:
    • Both Android and iOS:.
      • Added support for the Micro QR barcode type.
      • Added view finder flag for barcode scanners (see more details below).
    • Android:
      • Added new function SetViewFinderEnabled to:
        • IO.Scanbot.Sdk.UI.View.Barcode.Configuration.BarcodeScannerConfiguration
        • IO.Scanbot.Sdk.UI.View.Barcode.Batch.Configuration.BatchBarcodeScannerConfiguration
      • Introduced a scanned barcode confirmation dialog in IO.Scanbot.Sdk.UI.Barcode_scanner.View.Barcode.BarcodeScannerActivity RTU screen:
        • Added SetConfirmationDialogConfiguration to IO.Scanbot.Sdk.UI.View.Barcode.Configuration.BarcodeScannerConfiguration for modifying dialog UI.
      • Added Scan and Count of Barcodes feature.
        • Use IO.Scanbot.Sdk.Barcode.UI.BarcodeScanAndCountView to integrate it into your app.
    • iOS:
      • Added new property ViewFinderEnabled to:
        • ScanbotBarcodeSDK.iOS.SBSDKUIBarcodeScannerBehaviorConfiguration
        • ScanbotBarcodeSDK.iOS.SBSDKUIBarcodesBatchScannerBehaviorConfiguration
      • Added new properties ConfirmationDialogTitle and ConfirmationDialogMessage to
        • ScanbotBarcodeSDK.iOS.SBSDKUIBarcodeScannerTextConfiguration.
      • Added new function FlipHorizontally to ScanbotBarcodeSDK.iOS.SBSDKPolygon.
      • Added new property IsMirrored to ScanbotBarcodeSDK.iOS.SBSDKCameraDevice.
  • 🚀 Improvements:
    • Both Android and iOS:
      • Improved accuracy and detection speed of several barcode types, such as QR_CODE, Code39, and Code93.
      • Added support for inverted PDF-417 barcodes.
    • iOS:
      • Changed the default zoom range from (0.0 - 3.0) to (0.0 - 12.0) in:
        • All Classic UI components
        • All RTU-UI components
        • The ScanbotBarcodeSDK.iOS.SBSDKZoomRange class
      • Support for generic documents in the MRZ recognizer.
  • 🐞 Bug fixes:
    • Android:
      • Fixed a crash within the barcode detector.
      • Fixed detection of several RSS_EXPANDED false-positives in live mode.
      • Fixed a bug causing incorrect (mirrored) preview when CameraModule.Front is set up for IO.Scanbot.Sdk.UI.Camera.ScanbotCameraXView.
    • iOS:
      • Fixed the detection of a few false positive RSS Expanded codes in live mode.
      • Fixed an unexpected behavior of the barcode scanner when passing ScanbotBarcodeSDK.iOS.SBSDKBarcodeType.Unknown as accepted barcode type.
      • Fixed a bug in all Classic UI and RTU-UI components where the RecognitionEnabled property might not have worked as intended.
      • Fixed a bug where automaticSelectionEnabled was not working properly in ScanbotBarcodeSDK.iOS.SBSDKUIBarcodesBatchScannerViewController.
      • Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
      • Fixed a crash when denying camera permission.
  • ⚠️ Breaking changes:
    • iOS:
      • Several delegate method names were renamed, such as:
        • ScanbotBarcodeSDK.iOS.SBSDKUIViewControllerDelegate:
          • ViewControllerShouldCancel to ShouldCancel.
          • ViewControllerShouldFinish to ShouldFinish.
      • Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
      • Removed ScanbotBarcodeSDK.iOS.SBSDKUIMachineCodesCollection class.
      • Renamed the property AcceptedMachineCodeTypes to AcceptedBarcodeTypes in:
        • ScanbotBarcodeSDK.iOS.SBSDKUIBarcodeScannerBehaviorConfiguration
        • ScanbotBarcodeSDK.iOS.SBSDKUIBarcodesBatchScannerBehaviorConfiguration
  • 🚙 Under the hood:
    • The native Scanbot Android SDK upgraded to v3.7.0.
    • The native Scanbot iOS SDK upgraded to v3.7.0.

NET - Version 3.6.0 (20 July 2023)

  • 🎉 First release of the ScanbotBarcodeSDK.NET NuGet package for Native iOS and Android APIs.
  • Provides Ready-To-Use UI Components - a set of easy to integrate Native wrappers of .NET based on iOS and Android native components for the most common tasks in Scanbot SDK:
    • Barcode & QR code scanner
    • Batch Barcode scanner
  • Provides additional SDK features based on image picked from the device photos application:
    • Detect Barcodes on Image
  • New unified Scanbot SDK API:
    • Idiomatic asynchronous design
  • Example App demonstrating the new functionality: scanbot-barcode-sdk-maui-example

Want to scan longer than one minute?

Generate a free trial license to test the Scanbot SDK thoroughly.

Get your free Trial License

What do you think of this documentation?