Skip to main content

Changelog | Flutter Barcode Scanner

Version 6.1.1 (11 February 2025)

  • 🎉 New:
    • Added a new optional property cameraModule in BarcodeCameraConfiguration for the Classic Component Barcode Scanner.
  • 🚙 Under the hood:
    • Changed json_annotation package restriction from 4.8.1 to ^4.8.1.

Version 6.1.0 (27 January 2025)

  • 🎉 New:
    • Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32. Added literals that represent the new barcode types in BarcodeFormat.
    • Added a new optional property addAdditionalQuietZone in BarcodeAdditionalParameters. The default value is false.
    • Added a new property accessibilityDescription in RoundButton and ButtonConfiguration.
    • Added a new property allowEmptySubmission in MultipleScanningMode to allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2.
    • Added new optional properties useIATA2OF5Checksum, useCode11Checksum and australiaPostCustomerFormat in BarcodeScannerConfiguration, BatchBarcodeScannerConfiguration, BarcodeRecognizerConfiguration and BarcodeAdditionalParameters.
    • Added a new type literal NONE in CommonFieldType type used in GenericDocument.
    • iOS: Added new zoom control slider controlled by the new camera control button on all view controllers. Available on all the new iPhone 16 models.
    • Android: Added support for 16KB page size (Android 15).
  • 🚀 Improvements:
    • Improved detection of UPC and EAN extensions.
    • Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec barcodes.
    • For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
  • 🐞 Bug fixes:
    • Fixed KANJI mode for QR codes.
    • iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner FindAndPickScanningMode that never showed the expected barcodes title, but always the barcode value.
    • iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner FindAndPickScanningMode in button sheet mode where the counter badge was not visible.
    • iOS: Fixed a UI issue on the RTU-UI v2 Barcode Scanner's sheet screen where the subtitle label was being vertically cut off.
    • iOS: Fixed a UI issue on the RTU-UI v2 Barcode Scanner's confirmation sheet in the SingleScanningMode where the loading indicator was not centered when the loading message was hidden.
    • iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
    • iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner's finder where the background color overlapped with the line color.
    • iOS: Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes were displayed along with their non-extended versions.
    • iOS: Fixed a bug that did not mirror the front camera as expected.
    • iOS: Fixed a crash in scanners when setting the same minZoom and maxZoom in ZoomRange.
    • Android: Fixed R8 obfuscation config for SDK logging classes.
    • Android: Minor fixes for appearance in RTU-UI v2 Barcode Scanner to make it consistent with its iOS counterpart.
    • Android: Fixed an issue with AR Overlay and barcode mapping in RTU-UI v2 Barcode Scanner, where the mapped image wasn't shown on the AR Overlay until the same barcode appeared in the list below.
  • ⚠️ Breaking Changes:
    • Removed duplicate methods initScanbotSdk and getLicenseStatus from scanbot_barcode_sdk_v2.dart.
    • Renamed the scanbot_barcode_sdk_v2.dart file to scanbot_barcode_sdk_ui_v2.dart.
    • Removed property codeDensity from BarcodeScannerConfiguration, BatchBarcodeScannerConfiguration and BarcodeAdditionalParameters.
    • Removed type literals VALIDATE and DECODE and replaced them with VALIDATE_STRUCTURE, DECODE_STRUCTURE, VALIDATE_FULL and DECODE_FULL in Gs1HandlingMode.
    • Changed the default values for properties okButton, cancelButton and actionButton in ScanbotAlertDialog.
    • Changed the default values for properties enableCameraButton and closeButton in CameraPermissionScreen.
    • Changed the default value for the visible property in the arOverlay field of FindAndPickScanningMode to true.
    • Replaced standard and validationStatus fields with validationErrors in the GS1Element class.
    • Android: Changed barcodesRegexFilter behavior in BarcodeRecognizerConfiguration for BarcodeScannerConfiguration config for RTU-UI v2 Barcode Scanner. Barcodes are accepted if the barcode data contains the part that matches the regex.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK to v6.1.1.
    • Upgraded the native Scanbot iOS SDK to v6.1.1.
    • Added gs1-syntax-dictionary lib.

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?