Skip to main content

Changelog | Flutter Barcode Scanner

Version 5.1.0 (27 August 2024)

  • 🎉 New:
    • Introduced the redesigned RTU UI version 2 for enhanced barcode scanning, featuring advanced agile configuration options. See Ready-to-Use UI for documentation and various use cases.
    • Added support for the Micro PDF 417 barcode format.
    • Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
    • Added a new field shouldReturnCroppedImage in BarcodeClassicScannerConfiguration for the BarcodeScannerCamera Classic UI. If set to true, the result will be returned in the barcodeImageBase64 field of the BarcodeItem model.
    • Launched the new FindAndPickScanningMode.
  • 🚀 Improvements:
    • Optimized camera preview quality and processing speed for all scanners.
    • Improved detection of UPC/EAN barcode extensions in live mode.
    • The Barcode Scanner now supports transposed (mirrored/flipped) Aztec barcodes.
    • iOS:
      • 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.
      • Added support of haptic feedback on capable devices.
    • Android:
      • Changed the touch to focus square in the native camera view to a circle.
  • 🐞 Bug fixes:
    • Fixed issue with misaligned barcode polygons on some devices with horizontal orientation.
    • For BarcodeFormat.PDF_417, a single case to generate clusters was not covered, which led to a crash.
  • ⚠️ Breaking Changes:
    • Deprecated the Ready-to-Use UI v1 Barcode Scanners. Adoption of the RTU UI v2 Barcode Scanner API is strongly recommended.
    • Transitioned the format of barcode result structures from record classes to GenericDocument. This adjustment impacts RTU UI v1 but is standardized across both RTU UI v1 and RTU UI v2.
    • Renamed BarcodeFormat.RSS_14 to BarcodeFormat.DATABAR and BarcodeFormat.RSS_EXPANDED to BarcodeFormat.DATABAR_EXPANDED.
    • Removed enableNativeLogging property from ScanbotSdkConfig.
    • Eliminated the LiveDetector and CameraController classes. All corresponding functionalities are now integrated within the widgets themselves.
    • Updated widgets to automatically adjust to configuration changes received by the camera widget constructors.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot iOS SDK to v5.1.3 (cf. changelog).
    • Upgraded the native Scanbot Android SDK to v5.1.2 (cf. changelog).
    • Updated some third party libraries. see Third-party Libraries
    • Android:
      • Updated Kotlin to version 1.8.22.
      • jvmTarget = "17".
      • Updated 3rd-party libraries:
        • libjpeg-turbo to 2.1.5.1
        • libpng to 1.6.40
        • libtiff to 4.6.0
        • added zlib library
    • iOS:
      • Updated 3rd-party libraries:
        • zlib to version 1.3.1
        • libtiff to 4.6.0
        • libjpeg-turbo to 2.1.5.1
        • libpng to 1.6.40.

Version 4.2.0 (24 April 2024)

  • 🎉 New:
    • Added AR Overlay functionality for the Classic Component Barcode Scanner. Please check BarcodeCameraConfiguration.overlayConfiguration for more details.
    • Added new properties to RTU-UI configurations. Please check BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration for more details.
    • Added GS1_COMPOSITE, MICRO_QR_CODE, USPS_INTELLIGENT_MAIL, ROYAL_MAIL, JAPAN_POST, ROYAL_TNT_POST, AUSTRALIA_POST and DATABAR_LIMITED barcode formats support to BarcodeFormat.
    • Added textWithExtension property result in BarcodeItem.
  • ⚠️ Breaking Changes:
    • Changed Android SDK package name. Please change io.scanbot.barcode.sdk.flutter to io.scanbot.sdk.flutter in proguard-rules.pro rules.
    • Method detectOnImageFile was renamed to detectBarcodesOnImage.
    • Changed API for detecting barcodes on images. Please check the documentation or example app for more details.
    • Removed BarcodeScannerConfiguration.barcodeImageGenerationType for the Classic Component Barcode Scanner.
  • 🚙 Under the hood:
    • Added new privacy policy support for publishing iOS apps.
    • Upgraded the native Scanbot iOS SDK to v4.2.2 (cf. changelog).
    • Upgraded the native Scanbot Android SDK to v4.2.0 (cf. changelog).

Version 3.6.2 (17 Oct 2023)

  • 🐞 Bug fixes:
    • iOS: Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.

Version 3.6.1 (22 June 2023)

  • 🐞 Bug fixes:
    • iOS: Resolved an issue that prevented the building of certain classes on iOS Simulators.

Version 3.6.0 (06 June 2023)

  • 🎉 New:
    • Added BatchBarcodeScannerConfiguration.overlayConfiguration and BarcodeScannerConfiguration.overlayConfiguration to configure the selection overlay UI.
    • Added IATA_2_OF_5, INDUSTRIAL_2_OF_5, and CODE_25 barcode formats to BarcodeFormat.
    • Added a mechanism to properly handle the Classic UI lifecycle when closing the app to the background and reopening it with the scanner open.
    • Added a mechanism to properly handle the Classic Barcode Scanner UI lifecycle during navigation of the camera in the stack. Please register MaterialApp(navigatorObservers: [ScanbotCamera.scanbotSdkRouteObserver]) in the app root screen.
    • Added stopPreview() and resumePreview() methods inside ScanbotCameraController.
  • 🚀 Improvements:
    • Improved the behavior of Classic UI components for asynchronous communication with the native SDK.
  • ⚠️ Breaking Changes:
    • Updated the Flutter environment property to environment: sdk: '>=2.15.0 <3.0.0'.
    • Removed the decodeStacks1D parameter. The decoding of stacked barcodes is now handled automatically.
    • Renamed AcceptedDocumentFormats to BarcodeDocumentFormat.
    • Removed finderMinimumPadding from FinderConfiguration.
    • Renamed the CameraOrientationMode class to OrientationLockMode.
    • Renamed the FinderInsets class to Insets.
    • Changed the type of the FinderAspectRatio fields: height and width were changed from int to double.
    • Changed NextGen and Legacy engine modes to NEXT_GEN and LEGACY in EngineMode.
    • Moved some code for internal reasons - users might need to update their imports:
      • package:barcode_scanner/common_data.dart was moved to package:barcode_scanner/json/common_data.dart.
      • EngineMode, BarcodeImageGenerationType, and FinderAspectRatio were moved from package:barcode_scanner/barcode_scanning_data.dart to package:barcode_scanner/json/common_data.dart.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot iOS SDK to v3.6.0 (cf. changelog).
    • Upgraded the native Scanbot Android SDK to v3.6.0 (cf. changelog).

Version 3.2.3 (11 November 2022)

  • 🎉 New:
    • Added FinderInsets class for setting the barcode view insets from all four sides (left, top, right and bottom).
    • Added finderInsets property of type FinderInsets in FinderConfiguration class.
    • Added BarcodeDensity enum for expected density of QR codes. A higher density finds more QR codes in an image but the performance is slightly reduced.
    • Added codeDensity property of type BarcodeDensity enum in BarcodeAdditionalParameters.
    • Android: Added useButtonsAllCaps bool property in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration for buttons to be in ALL CAPS.
    • Android: useCameraX defaults to true while initialising the Scanbot SDK.
  • ⚠️ Breaking Changes:
    • Removed PORTRAIT_UPSIDE_DOWN, LANDSCAPE_LEFT and LANDSCAPE_RIGHT from CamereOrientationMode enum.
  • 🚙 Under the hood
    • Upgraded the native Scanbot Android Barcode SDK to v3.2.3 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v3.2.3 (cf. changelog)

Version 3.2.2 (27 September 2022)

  • 🐞 Bug fixes:
    • Fixed compatibility issue with Kotlin 1.7.10 (build error)

Version 3.2.1 (24 August 2022)

  • 🎉 New:
    • Added the ability to replace the cancel button in the top bar with a back arrow icon in BarcodeScanner and BatchBarcodeScanner RTU-UI (Android only). See replaceCancelButtonWithIcon in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration

Version 3.2.0 (22 July 2022)

  • 🎉 New:
    • Introduced Classical Components for Barcode Scanning that allow you to build your own flexible and fully customizable UI for the barcode scanner. Use the classes BarcodeScannerCamera, BarcodeCameraLiveDetector and ScanbotCameraController to build a custom scanner UI.
  • 🚀 Improvements:
    • Improved 1D barcode recognition
  • ⚠️ Breaking Changes:
    • Renamed parameter gs1DecodingEnabled to enableGS1Decoding in BarcodeAdditionalParameters
    • Renamed Disability Certificate to Medical Certificate:
      • DisabilityCertificateDocument has been renamed to MedicalCertificateDocument
      • DisabilityCertificateDocumentField has been renamed to MedicalCertificateDocumentField
      • DisabilityCertificateDocumentFieldType has been renamed to MedicalCertificateDocumentFieldType
    • Renamed AAMVAVersionNumber to aamvaVersionNumber in AAMVADocument
    • Renamed GUID to guid in DEMedicalPlanDocument
  • 🚙 Under the hood

Version 3.1.2 (31 May 2022)

  • 🐞 Bug fixes:
    • Fixed compatibility issues with Flutter v3.0.1+

Version 3.1.1 (18 March 2022)

  • 🐞 Bug fixes:
    • Fixed LicenseExpirationDate: Invalid date format.
    • By default, GPU acceleration has been disabled (due to issues on the Samsung S22 series devices). To enable it, use allowGpuAcceleration: true in ScanbotSdkConfig().
  • 🚙 Under the hood

Version 3.1.0 (4 Feb 2022)

  • 🎉 New:
    • Added the ability to disable auto-focus by locking the lens at the specified lens position. See minFocusDistance in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration
    • Android: Added lowPowerMode in BarcodeScannerAdditionalConfiguration for BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration
    • Android: Added the ability for Scanbot SDK Core native logging! See enableNativeLogging in ScanbotSDKInitializer
  • 🚀 Improvements:
    • Improved Aztec barcode recognition.
    • Improved PDF417 recognition performance on single photos.
    • Improved barcode detection on large documents.
    • Improved GS-1 databar recognition in the next-gen barcode scanner.
  • 🚙 Under the hood

Version 3.0.2 (23 Dec 2021)

  • 🎉 New:
    • Added Document Format filters for Barcode Detection. See acceptedDocumentFormats in BarcodeScannerConfiguration, BatchBarcodeScannerConfiguration and detectFromImageFile
    • Android: Added support for GPU and Xnnpack acceleration, and the possibility to use the Camera X module! See allowGpuAcceleration, allowXnnpackAcceleration and useCameraXRtuUi in ScanbotSDKInitializer
    • Added support for stripCheckDigits and msiPlesseyChecksumAlgorithms in BarcodeAdditionalParameters
  • ⚠️ Breaking Changes:
    • Renamed parameter enableGS1Decoding to gs1DecodingEnabled in BarcodeAdditionalParameters
    • In function detectFromImageFile, barcodeFormats parameter is changed from a positional parameter to an optional named parameter
  • 🚀 Improvements:
    • Significant performance improvements for all scanners
  • 🐞 Bug fixes:
    • Barcode Scanner RTU-UI now returns BarcodeScanningResult.canceled() instead of an error, when the user cancels the RTU-UI
  • 🚙 Under the hood

Version 3.0.1 (17 Sep 2021)

  • 🎉 New:
    • iOS: Added support for Apple Silicon M1 simulators. Your app now will run natively on M1 Mac simulators without having to start Xcode in Rosetta 2 mode
  • ⚠️ Breaking Changes:
    • iOS: The ScanbotBarcodeScannerSDK CocoaPod now contains an XCFramework instead of a standard framework, you may need to update CocoaPods and/or Xcode
  • 🚙 Under the hood
    • Updated the native iOS Barcode Scanbot SDK to 3.0.1

Version 3.0.0 (16 Jul 2021)

  • 🎉 New:
    • Brand new "Next Generation" machine-learning-based barcode scanning engine with improved reliability and much faster performance
    • API changes for the new barcode engine: added engineMode property of type EngineMode on barcode scanning APIs - BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration to switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used.
    • Added the new cameraZoomFactor property in BarcodeScannerConfiguration for configuring the zoom level of the camera.
    • Encryption for images generated by the SDK. For more details please check out the section "Storage Encryption" of the documentation.
    • Added support for MSI Plessey barcodes.
    • Added additionalParameters property to BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration, which lets you setup a minimum and maximum text length as well as a quiet zone. Currently works for ITF and MSI Plessey barcodes only.
  • 🚙 Under the hood
    • Updated the native Android Barcode Scanbot SDK to 3.0.1
    • Updated the native iOS Barcode Scanbot SDK to 3.0.0
  • ⚠️ Breaking Changes:
    • Removed enableHighSensitivityMode property from BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration, because it is no longer needed

Version 1.2.0 (30 Apr 2021)

  • 🎉 New:
    • Introduced null safety support for the SDK.
  • ⚠️ Breaking Changes:
    • Because of the null safety support, please check compilation issues and warnings from flutter analyze command
    • Updated minimum Dart SDK to v2.12.0-0 and Flutter to v2.0.1

Version 1.1.0 (10 Feb 2021)

  • 🎉 New:
    • Batch Barcode Scanner - a new RTU UI screen component to scan multiple barcodes in a row. See the new API function startBatchBarcodeScanner.
    • Added a new config property autoCancelTimeout for the Barcode Scanner UI. It provides the possibility to set a timeout value in seconds for auto-closing/cancellation of the Barcode Scanner UI.
    • New result field BarcodeItem.rawBytes that contains the raw bytes from the scanned barcode
  • ⚠️ Breaking Changes:
    • Replaced finderAspectRatio parameter with finderWidth and finderHeight in BarcodeScannerConfiguration
  • 🚙 Under the hood:
    • Updated the native Android Scanbot Barcode Scanner SDK to 1.3.2
    • Updated the native iOS Scanbot Barcode Scanner SDK to 1.8.4

Version 1.0.1 (13 May 2020)

  • 🎉 New:
    • Improved pubspec.yaml, adjusted supported platforms.

Version 1.0.0 (12 Feb 2020):

  • 🎉 First release.

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?