Skip to main content

Changelog | React Native Barcode Scanner

tip

For additional details about the API, please refer to our API reference documentation.

Version 7.0.0 (6 Jun 2025):

  • 🎉 New:
    • Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
    • Added support for the HIBC barcode document format.
    • Added support for advanced configuration of on-image barcode scanning. See more here BarcodeScannerConfiguration.
    • Added the ability to configure the Barcode Scanner using the common barcode configuration, see BarcodeFormatCommonConfiguration.
    • Added an option to ignore barcodes that do not decode to one of the accepted document formats for BarcodeScannerConfiguration. See more here: BarcodeScannerConfiguration.onlyAcceptDocuments.
    • Added new engine modes NEXT_GEN_FAR_DISTANCE and NEXT_GEN_LOW_POWER_FAR_DISTANCE.
      • NEXT_GEN_FAR_DISTANCE is optimized for scanning from far distances.
      • NEXT_GEN_LOW_POWER_FAR_DISTANCE is optimized for scanning from far on low-power devices.
    • Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). See more here: BarcodeFormats.
    • Barcode scanning results have been enhanced with more detailed information. See more here: BarcodeItem.
    • Added the ability to return the barcode image in the result. See more here: BarcodeScannerConfiguration.returnBarcodeImage.
    • Images returned in scanner results are now represented as image references. They can be converted to base64 or saved in a provided path. See more here: ImageRef.
    • Introduced strictMode for certain barcode configurators. If this mode is disabled, it should allow for a higher detection rate in difficult scenarios, but with the possibility that false positive results may occur. Currently, we support strictMode for QR_CODE, MICRO_QR_CODE, RMQR_CODE, PDF_417, MICRO_PDF417 and GS1_COMPOSITE.
    • Android: Added an option to the RTU-UI Barcode Scanner screen for keeping the screen on.
    • ScanbotBarcodeCameraView: Added property hardwareButtonsEnabled which toggles the original volume button behavior on iOS 17.2 and above.
  • 🚀 Improvements:
    • Improved quiet zone checks for the barcode formats ITF, CODE_11, MSI_PLESSEY, IATA_2_OF_5, INDUSTRIAL_2_OF_5 and CODE_25.
    • Improved the false positive rate for ITF barcodes.
    • Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
    • Improved the recognition of PDF417 barcodes in the Barcode Scanner.
    • Improved the Barcode Scanner to better recognize QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
    • More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
    • QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
    • Improved barcode detection for various barcode types.
    • Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
    • By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set stripCheckDigits = true.
    • Improved the recognition of PDF417 barcodes in the Barcode Scanner.
    • Improved the Barcode Scanner to better recognize QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
    • GS1 Composite codes are now processed faster in Scan from Image mode.
  • 🐞 Bug fixes:
    • Fixed checksum for CODE_39 barcode format.
    • Fixed the returned results for all types of UpcEanExtensionBehavior.
    • Fixed an issue when scanning Code 93 barcodes with stripCheckDigits = false (default), and the check digit is an extension character.
    • iOS: Fixed processing of still images of an indexed color space model in the Barcode Scanner.
    • iOS: Fixed a bug in the AR Barcode Scan and Count where the scanner would be stuck if there was no barcode detected.
    • iOS: Fixed a bug in the Barcode Scanner RTU-UI v2 where the flip camera button was not resetting the widest camera available if chosen.
    • iOS: Fixed a UI bug in the Barcode Scanner RTU-UI v2 where the sheet button overlapped with the action bar.
    • iOS: Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behavior.
    • Android: Fixed an overflow when decoding a MICRO_QR_CODE barcode format with wrong bits in numeric mode.
    • Android: Fixed minimumTextLength for ITF barcode format. Before, we used it to check the number of symbols instead of the true text length.
    • Android: Fixed sorting of quad points for four-state/postal barcode types.
    • Android: Fixed quad when flag BarcodeFormatConfigurationBase.addAdditionalQuietZone is enabled.
    • Android: In RTU-UI v2, the modal dialog no longer appears below the status bar.
    • Android: FindAndPickScanningMode.sheetContent.barcodeItemImageVisible in RTU-UI v2 now correctly applies the visibility setting.
    • Android: Accessibility content for action buttons in RTU-UI v2 is now properly applied.
    • Android: Fixed a crash that occurred when parsing an HIBC document in the Barcode Scanner.
    • Android: Fixed the camera preview size selection algorithm with a square aspect ratio.
    • Android: Fixed the resolution strategy for the square preview.
    • Android: Fixed a crash with barcode launcher initialization when the SDK was not yet initialized in Barcode RTU-UI v2.
  • ⚠️ Breaking Changes:
    • No need for specific import from react-native-scanbot-barcode-scanner-sdk/ui_v2. Everything should be imported from the default react-native-scanbot-barcode-scanner-sdk path.
    • Removed RTU-UI v1 startBarcodeScanner, closeBarcodeScanner, startBatchBarcodeScanner and closeBatchBarcodeScanner deprecated APIs along with all related types.
    • ResultWrapper has been removed from all API responses, except those returned by RTU-UI.
    • startBarcodeScanner API is part of ScanbotBarcodeSDK object. The input configuration and result objects were changed. See more here: ScanbotBarcodeSDK.startBarcodeScanner.
    • initializeSdk API now returns a result of type LicenceInfoResult instead of a status.
    • The input parameters and result objects for detectBarcodesOnImage API were changed. See more here: ScanbotBarcodeSDK.detectBarcodesOnImage.
    • Type literals for BarcodesExtensionFilter, BarcodeScannerEngineMode and FieldValidationStatus have been modified.
    • Renamed typeBarcodeScannerConfiguration to BarcodeScannerScreenConfiguration.
    • Renamed types BarcodeMappedData.barcodeImageKey to BarcodeMappedData.BARCODE_IMAGE_KEY and ExpectedBarcode.barcodeImageKey to ExpectedBarcode.BARCODE_IMAGE_KEY.
    • Renamed types MSIPlesseyChecksumAlgorithm to MsiPlesseyChecksumAlgorithm, EngineMode to BarcodeScannerEngineMode, Gs1HandlingMode to Gs1Handling and ValidationStatus to FieldValidationStatus.
    • Replaced type BarcodeType with BarcodeFormat.
    • Replaced property recognizerConfiguration of type BarcodeRecognizerConfiguration with scannerConfiguration of type CommonBarcodeScannerConfiguration.
    • ScanbotBarcodeCameraView:
      • detectorConfig was replaced with barcodeScannerConfiguration. See more here: ScanbotBarcodeCameraViewProperties.barcodeScannerConfiguration.
      • The parameter for the onBarcodeScannerResult callback is now of type BarcodeItem[].
      • The parameter for the barcodeItemOverlayViewBinder callback is now of type BarcodeItem.
  • 🚙 Under the hood:
    • The regex filters are applied for substrings instead of the entire output string.
    • Upgraded the native Scanbot Android SDK to v7.0.2.
    • Upgraded the native Scanbot iOS SDK to v7.0.2.
    • Upgraded nlohmann::json to 3.11.3.
    • Upgraded xsmid to 13.2.
    • Upgraded xtl to 0.8.
    • Upgraded xtensor to 0.26.0-scanbot.
    • Upgraded yaml-cpp to 0.8.
    • Upgraded spdlog to 1.15.2.
    • Upgraded Boost to 1.88.
    • iOS: Upgraded CLI11 to 2.5.
    • Android: Upgrade OpenCV to 4.10.
    • Android: Updated Compile Sdk to 35.
    • Android: Android Jetpack Compose updated to 1.7.8.

Version 6.2.1 (17 Mar 2025):

  • 🎉 New:
    • Added a new refreshRate property to BarcodeItemOverlayViewConfig.
  • 🐞 Bug fixes:
    • Android: When the barcodeItemOverlayViewBinder callback is set, the textFormat property in the selectionOverlayConfig for the Classic UI is considered.

Version 6.2.0 (10 Feb 2025):

  • 🎉 New:
    • Added a new callback barcodeItemOverlayViewBinder as a part of SelectionOverlayConfig in ScanbotBarcodeCameraView, that configures the selection overlay for each barcode item individually.
  • 🚀 Improvements:
    • Android: Improved ScanbotBarcodeCameraView resolution selection strategies for scanning and preview cases.
    • Android: Scanbot SDK initialization uses application context under the hood. Even if the activity context is not ready at that moment, the SDK will still be initialized.
  • 🐞 Bug fixes:
    • iOS: Fixed a bug in the barcode RTU-UI v2 action bar items where the accessibilityDescription was not being applied correctly.
  • ⚠️ Breaking Changes:
    • shouldHighlightBarcode callback is removed from SelectionOverlayConfig in ScanbotBarcodeCameraView together with highlighted color properties. Please use the new barcodeItemOverlayViewBinder callback that configures the selection overlay for each barcode item individually.
  • 🚙 Under the hood:
    • Support for RN 0.77.
    • Upgraded the native Scanbot Android SDK to v6.2.1.
    • Upgraded the native Scanbot iOS SDK to v6.2.0.
    • Upgraded the @expo/config-plugins dependency to v9.0.14.
    • Android: Updated androidx camerax 1.4.1 with 16kb page support.
    • iOS: Removed third-party-library symbols from the binary to avoid linking conflicts.

Version 6.1.0 (11 Dec 2024):

  • 🎉 New:
    • Added a new API, getImageData, that returns a base 64 encoded representation of the image data.
    • 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 DetectBarcodesOnImageArguments. 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 DetectBarcodesOnImageArguments.
    • Added the ability to display the scanned barcode's image in the RTU-UI v2 Barcode Scanner FindAndPickScanningModeUseCase by specifying ExpectedBarcode.barcodeImageKey for the expected barcode's image property.
    • Added a new type literal CONFIRMED in ValidationStatus type in GenericDocument.
    • Added a new type literal NONE in CommonFieldType type used in GenericDocument.
    • iOS: Added a new property displayText in GenericDocument.Type and Field.Type.
    • 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).
    • Android: Added a new property polygonInRoot in Field type used in GenericDocument.
  • 🚀 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 FindAndPickScanningModeUseCase that never showed the expected barcodes title, but always the barcode value.
    • iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner FindAndPickScanningModeUseCase 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 SingleScanningModeUseCase 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 are 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:
    • React Native SDK 0.73 is the minimum supported version.
    • Removed property codeDensity from BarcodeScannerConfiguration, BatchBarcodeScannerConfiguration and DetectBarcodesOnImageArguments.
    • Removed DetectBarcodesOnImagesField, DetectBarcodesOnImageResult and ExtractImagesFromPdfResult interfaces.
    • 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 property visible in ArOverlayFindAndPickConfiguration to true for FindAndPickScanningMode.
    • Replaced standard and validationStatus fields with validationErrors in the GS1.Element class.
    • Renamed RootTypeName to BarcodeDocumentModelRootType and also renamed the inherited document types.
    • 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.1 (13 Sep 2024):

  • 🎉 New:
    • Expo config plugin is now available for Expo projects. Learn more about it here.
  • 🐞 Bug fixes:
    • iOS: Fixed a crash when navigating away from a screen that contains ScanbotBarcodeCameraView.
    • Android: Fixed the camera not starting while navigating between screens that contain ScanbotBarcodeCameraView.

Version 5.1.0 (9 Jul 2024):

  • 🎉 New:
    • Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Import startBarcodeScanner from react-native-scanbot-barcode-scanner-sdk/ui_v2 to leverage the new UI. See our updated documentation for a full set of examples and use cases.
    • Added support for the MICRO_PDF_417 barcode format.
    • Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
    • ScanbotBarcodeCameraView:
      • Added new property cameraZoomRange which sets the range of valid camera zoom factors.
      • Added new property cameraModule which sets the camera device being used for scanning.
      • Added new property minFocusDistanceLock which locks focus distance within minimum possible range.
      • Added new methods freezeCamera and unfreezeCamera which control the camera preview.
      • Added new config selectionOverlayConfig which configures the selection overlay.
      • Android: Added new property minPadding which sets initial padding for insets.
      • iOS: lowPowerMode property is now configurable for iOS.
  • 🚀 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: Added support of haptic feedback on capable devices.
    • iOS: Improved speed and image quality of still image capturing.
    • iOS: Important: The default rear camera in all scanners has been changed from the ultra-wide or wide camera to the triple or dual camera.
    • Android: Changed the touch to focus square in the native camera view to a circle.
    • ScanbotBarcodeCameraView:
      • Improved overall performance and reliability.
      • Consistency between the behaviors on Android and iOS.
  • 🐞 Bug fixes:
    • iOS: Some params from DetectBarcodesOnImageArguments were not applied in the scanner configuration.
    • Android: Fixed an issue with misaligned barcode polygons on some devices with horizontal orientation.
    • Android: For BarcodeFormat.PDF_417, a single case to generate clusters was not covered, which led to a crash.
    • Android: BarcodesExtensionFilter now accepts EAN and UPC barcodes with extensions only and all other formats without extensions.
  • ⚠️ Breaking changes:
    • Our Ready to Use UI v1 barcode scanners are now deprecated and it is highly encouraged to use the new RTU UI v2 barcode scanner API.
    • The structure of barcode formatted results has been changed from record classes to using GenericDocument. See API reference for the new structure (https://api-docs.scanbot.io/barcode-scanner-sdk/react-native/v7.0.0/). This change affects RTU UI v1, however, the same structures are used across RTU UI v1 and RTU UI v2.
    • Renamed BarcodeFormat.RSS_14 to BarcodeFormat.DATABAR and BarcodeFormat.RSS_EXPANDED to BarcodeFormat.DATABAR_EXPANDED.
    • Renamed GetLicenseInfoResult interface to LicenseInfoResult.
    • 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.
    • Android: Removed BarcodeFormat.CODE_25 from COMMON_CODES list.
    • Android: ZoomRange can be created with any input values but will be limited under the hood by internal MIN_ZOOM (x0.2) and MAX_ZOOM (x100) values.
    • ScanbotBarcodeCameraView:
      • Decoupled all the properties from configuration prop and subdivided by configurations.
      • Child views are no longer added natively. There is a dedicated container that holds views.
      • Renamed shouldUseFinderView to viewFinderEnabled.
      • Renamed finderAspectRatio to requiredAspectRatio.
      • Removed finderBackgroundColor and finderBackgroundOpacity in favor of overlayColor. overlayColor accepts ColorValue through which opacity can be set.
  • 🚙 Under the hood:
    • Upgraded native Scanbot Android Barcode Scanner SDK to v5.1.2
    • Upgraded native Scanbot iOS Barcode Scanner SDK to v5.1.3
    • iOS: Added third-party library libzueci version 1.0.0.
    • Android: Updated 3rd-party libraries: libjpeg-turbo to 2.1.5.1, libpng to 1.6.40 and libtiff to 4.6.0.
    • Android: Added more rules for R8 shrinker to work adequately with AGP >= 8.
    • Android: Updated AGP to 7.4.2, TargetSDK to 33 and Kotlin to 1.8.22.
    • ScanbotBarcodeCameraView:
      • Android: Replaced the native component ScanbotCameraView with the new and improved ScanbotCameraScannerView.

Version 4.2.0 (18 April 2024):

  • 🎉 New:
    • Added new supported Barcode types: CODE_25, IATA_2_OF_5, INDUSTRIAL_2_OF_5, MICRO_QR_CODE, USPS_INTELLIGENT_MAIL, ROYAL_MAIL, JAPAN_POST, ROYAL_TNT_POST, AUSTRALIA_POST, DATABAR_LIMITED and GS1_COMPOSITE.
    • Introduced Barcode Document Formats! When scanning barcodes, if a supported document is recognized, it will be parsed and included in the result.
    • New functionality to extract images from PDF files! See the new API functions extractImagesFromPDF.
    • Added a type literal, BACK_WIDEST for CameraModule (iOS only).
    • Added encryption for image files. For more details please check out the section Storage Encryption.
    • Added new configuration properties for Barcode Scanner RTU-UI Screen:
      • flashButtonTitle
      • barcodeValueFilter
      • touchToFocusEnabled
      • confirmationDialogConfiguration
    • Added new configuration properties for Batch Barcodes Scanner RTU-UI Screen:
      • flashButtonTitle
      • barcodeValueFilter
      • touchToFocusEnabled
      • autoCancelTimeout
    • iOS: Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK.
  • 🚀 Improvements:
    • Improved general speed and accuracy when detecting barcodes.
    • Added more control over how to handle GS1 messages in barcodes. See gs1HandlingMode in barcode scanner configuration.
    • Overall improvements for the Barcode Camera View component.
  • 🐞 Bug fixes:
    • Fixed potential memory leaks in all RTU-UI screens.
    • iOS: Fixed a bug where the finder text hint was still showing when viewFinderEnabled was disabled for RTU-UI screens.
    • iOS: Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
    • Android: Fixed minimum1DBarcodesQuietZone property for ScanbotBarcodeCameraViewConfiguration classical component.
  • ⚠️ Breaking changes:
    • Renamed InitializationOptions type to ScanbotBarcodeSdkConfiguration and added new properties:
      • fileEncryptionMode
      • fileEncryptionPassword
    • Renamed FinderAspectRatio type to AspectRatio.
    • Renamed BarcodeOverlayFormat type to BarcodeOverlayTextFormat.
    • Renamed BarcodeResult type to BarcodeScannerResult and removed imageFileUri from the main result.
    • Replaced barcodeFilter property in barcode scanner configurations with barcodesExtensionFilter.
    • Replaced allowedInterfaceOrientations property in barcode scanner configurations with orientationLockMode.
    • Replaced overlayTextFormat property in selection overlay configuration with textFormat.
    • Replaced gs1DecodingEnabled property with gs1HandlingMode. GS1 codes are now handled differently for various barcode types. Using the default option PARSE will give the same result as before for all barcode types, except of RSS_EXPANDED. Previously, for RSS_EXPANDED, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, choose the option DECODE.
    • Removed barcodeImageGenerationType property in barcode scanner configurations.
    • Type literals for MSIPlesseyChecksumAlgorithm have been modified.
    • Results from all API calls are modified. You will receive ResultWrapper that contains status property and data optional generic property.
  • 🚙 Under the hood:
    • Upgraded native Scanbot Android Barcode Scanner SDK to v4.2.0
    • Upgraded native Scanbot iOS Barcode Scanner SDK to v4.2.2
    • Android: Updated version of Nameof C++ library to v0.10.3
    • Android: Disabled GPU acceleration for Redmi 9 models, Samsung Galaxy Grand Prime and devices with Android older than 6.

Version 4.0.4 (23 Jan 2024)

  • 🎉 New:
    • Added scanningEnabled property in the ScanbotBarcodeCameraView native component configuration. When disabled, no barcodes will be detected, but the camera preview will still be active. Default is enabled.
  • 🐞 Bug fixes:
    • Fixed finderInset property in the ScanbotBarcodeCameraView native component configuration. For Android so far pixels were used, now these values are representing dip.
    • Android: Fixed finderAspectRatio property in the ScanbotBarcodeCameraView native component configuration

Version 4.0.3 (15 Dec 2023)

  • 🚀 Improvements:
    • The plugin is now compatible with React Native v0.73
  • 🐞 Bug fixes:
    • iOS: Fixed native component issue when new architecture is enabled

Version 4.0.2 (27 Oct 2023)

  • 🐞 Bug fixes:
    • Android: Fixed crash that occurred when the app was killed in the background while the scanner screen was open.

Version 4.0.1 (9 Oct 2023)

  • 🎉 New:
    • Added licenseExpirationDate to the SDK function getLicenseInfo result.
  • 🚀 Improvements:
    • The SDK function getLicenseInfo can now also be called even when the SDK initialization has failed.
    • Significantly improved memory usage.
  • 🐞 Bug fixes:
    • Fixed various memory leaks on iOS.

Version 4.0.0 (5 Oct 2023)

  • 🎉 New:
    • Introduced support for React Native New Architecture! The classic component ScanbotBarcodeCameraView is available as a Fabric Component when enabling the new architecture. Backward compatibility is still granted.
  • 🚀 Improvements:
    • Android: CameraX is now used by default for Ready-To-Use UI Components. You can disable it by setting useCameraX to false when initializing the SDK.
    • Improved the speed of barcode recognition for most barcode symbologies.
    • Fixed false positives for Code 39 and Codabar barcodes.
    • Fixed potential memory leak in all RTU-UI screens.
  • ⚠️ Breaking changes:
    • IMPORTANT: Increased required minimum version of React Native to 0.68
  • 🐞 Bug fixes:
    • iOS: Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
  • 🚙 Under the hood:
    • The Scanbot Android Barcode SDK has been updated to v4.0.1 (see the changelog)
    • The Scanbot iOS Barcode SDK has been updated to v4.0.2 (see the changelog)

Version 3.7.0 (29 Aug 2023)

  • 🎉 New:
    • Added support for the barcode type MICRO_QR_CODE.
    • Added new properties to BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration:
      • viewFinderEnabled
      • cameraZoomRange
      • enableCameraButtonTitle
      • enableCameraExplanationText
      • initialScanDelay
      • cameraPreviewMode
      • minFocusDistanceLock
      • focusLockPosition
      • focusLockEnabled
      • doubleTapToZoomEnabled
      • pinchToZoomEnabled
      • shouldAnimateZooming
    • Added autoCancelTimeout and delayAfterScan to BarcodeScannerConfiguration.
  • 🚀 Improvements:
    • Improved per-frame accuracy for QR code detection.
  • ⚠️ Breaking Changes:
    • iOS: Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
  • 🐞 Bug fixes:
    • iOS: Fixed a bug where automaticSelectionEnabled was not working properly in BatchBarcodeScannerConfiguration.
  • 🚙 Under the hood:
    • Updated the native Android Scanbot Barcode Scanner SDK to 3.7.0 (cf. changelog).
    • Updated the native iOS Scanbot Barcode Scanner SDK to 3.7.0 (cf. changelog).
    • Updated some third-party libraries.

Version 3.6.0 (30 May 2023)

  • 🎉 New:
    • Added support for the barcode type CODE_25, which is a variant of the Industrial-2of5 type without the checksum.
  • 🚀 Improvements:
    • Improved barcode scanning with new ML models.
    • Substantial improvements to stacked RSS barcode scanning.
  • ⚠️ Breaking Changes:
    • Removed decodeStacks1D property from BarcodeAdditionalParameters. The barcode scanner now handles this automatically.
  • 🚙 Under the hood:
    • Updated the native Android Scanbot Barcode Scanner SDK to 3.6.0 (cf. changelog).
    • Updated the native iOS Scanbot Barcode Scanner SDK to 3.6.0 (cf. changelog).
    • Updated some third-party libraries.

Version 3.5.0 (28 Mar 2023)

  • 🎉 New:
    • Added decodeStacks1D property in BarcodeAdditionalParameters which is available in all Ready to use UI and classical components.
    • Added automaticSelectionEnabled property in SelectionOverlayConfiguration.
  • 🚀 Improvements:
    • The overlayTextFormat property in SelectionOverlayConfiguration now supports all formats. Please check BarcodeOverlayFormat enum.
  • 🐞 Bug fixes:
    • Android: Fixed the codeDensity property in the classical component.
    • Android: Fixed the flashEnabled property in the classical component.
  • 🚙 Under the hood:
    • Updated the native Android Scanbot Barcode Scanner SDK to 3.5.0 (cf. changelog).
    • Updated the native iOS Scanbot Barcode Scanner SDK to 3.5.0 (cf. changelog).
    • Updated some third-party libraries.

Version 3.3.1 (8 Feb 2023)

  • 🐞 Bug fixes:
    • Fixed build errors for RN 0.70+ caused by usage of deprecated dimensions listener
    • Fixed wrong default values for finder inset in BarcodeCameraView
    • BarcodeCameraView: fixed barcode detection not working after navigating back from a different page on Android
  • 🚀 Improvements:
    • Android: Improved the performance of the Barcode Camera View
  • 🚙 Under the hood:
    • Internal restructure of BarcodeCameraView UI
    • Updated Android SDK to v3.3.1.244-SNAPSHOT

Version 3.3.0 (11 Jan 2023)

  • 🎉 New:
    • Added barcode formats IATA2Of5 and Industrial2Of5.
    • Added SelectionOverlayConfiguration class for showing barcode detail overlays while scanning.
    • Added overlayConfiguration property of type SelectionOverlayConfiguration in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration for configuring the overlay UI.
    • Added new parameter finderInset of type FinderInset for setting the insets to Finder View in ScanbotBarcodeCameraViewConfiguration classical component.
    • Added Barcode Additional Parameter codeDensity of type CodeDensity in all barcode detection categories.
  • ⚠️ Breaking changes:
    • Removed finderMininmumPadding and finderVerticalOffset from ScanbotBarcodeCameraViewConfiguration. Use finderInset property instead.
    • Removed orientation enums LANDSCAPE_LEFT, LANDSCAPE_RIGHT, PORTRAIT_UPSIDE_DOWN and ALL_BUT_UPSIDE_DOWN. Please use ALL, PORTRAIT or LANDSCAPE instead.
  • 🚙 Under the hood:
    • Updated the native Android Scanbot Barcode Scanner SDK to 3.3.1 (cf. changelog).
    • Updated the native iOS Scanbot Barcode Scanner SDK to 3.3.0 (cf. changelog).
    • Updated some third-party libraries.

Version 3.2.1 (13 Sep 2022):

  • 🎉 New:
    • Barcode Camera View Component new implementation!
      • Android: Using CameraX under the hood; replaced old fragment based implementation: now the component is much more stable and also compatible with the majority of React Views
      • iOS: UI and performance minor improvements
    • Added rawBytes attribute to barcode results: it contains the unparsed raw data detected in the scanned image, as an array of bytes.
    • Added textWithExtension attribute to barcode result: if the detected barcode has an extension, it contains both the text and the extension, otherwise it contains the text only.
    • Added barcode filters in all components! See configuration parameter barcodeFilters. NOTE: while using barcodeFilters, please leave barcodeImageGenerationType to its default value (NONE)
    • Added parameters lowPowerMode, gs1DecodingEnabled and msiPlesseyChecksumAlgorithm to detectBarcodesOnImage
  • 🐞 Bug fixes:
    • Fixed bug for which some additionalParameters in barcode detection were ignored
  • ⚠️ Breaking Changes:
    • BarcodeResult barcodes attribute is now non-nullable; an empty array will now be returned whenever no barcodes can be detected
    • TypeScript type ScanbotBarcodeCameraViewResult has been removed; use BarcodeResult instead

Version 3.2.0 (21 Jun 2022):

  • 🎉 New:
    • Added new parameter replaceCancelButtonWithIcon in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration which allows replacing the Cancel button with a back arrow (Android only).
    • Added new type GS1 in BarcodeDocumentFormat enum.
  • 🚀 Improvements:
    • Huge improvement on the speed and accuracy of 1D barcodes recognition.
    • Native libraries size decreased by more than 20%
    • iOS: Improved barcode image cropping.
  • 🐞 Bug fixes:
    • iOS: Fixed scanning issue for Barcode types RSS_14 and RSS_EXPANDED.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK to v3.2.1 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v3.2.1 (cf. changelog)

Version 3.1.0 (9 Feb 2022)

  • 🎉 New:
    • Added the ability for Scanbot SDK Core native logging! See enableNativeLogging in ScanbotBarcodeSDKConfiguration (Android only).
    • Added allowXnnpackAcceleration in ScanbotBarcodeSDKConfiguration which allows controlling whether the XNN pack optimizations should be used (Android only).
    • Added lowPowerMode in ScanbotBarcodeSDKConfiguration and BatchBarcodeScannerConfiguration (Android only).
    • Added cameraModule in ScanbotBarcodeSDKConfiguration and BatchBarcodeScannerConfiguration.
  • 🚀 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
    • Upgraded the native Scanbot Android SDK to v3.1.0 (cf. changelog).
    • Upgraded the native Scanbot iOS SDK to v3.1.1 (cf. changelog).
    • Updated some third party libraries.

Version 3.0.1 (19 Nov 2021)

  • 🎉 New:
    • Introduced BarcodeCameraView native component! From now on you can use it to embed our camera view directly into your react layouts!
    • Introduced force close functionality in RTU-UI components! You can use it to programmatically close the components.
    • Additional parameter stripCheckDigits in Barcode Scanner RTU-UI, Batch-Barcode Scanner RTU-UI and BarcodeCameraView
    • Added support for zooming in Batch Barcode Scanner RTU-UI.
    • Android: You can enable CameraX under the hood on Android. See useCameraX in InitializationOptions
    • Android: GPU Acceleration will be used for Barcode Scanner RTU-UI and Batch Barcode Scanner RTU-UI. You can disable it by setting allowGpuAcceleration to false; see InitializationOptions
  • 🚀 Improvements:
    • acceptedDocumentFormats now works on iOS for Batch Barcode Scanner
    • Improved recognition of UPC/EAN barcodes due to ink spread
    • Significant performance improvements of the scanner
    • All-zeros MSI Plessey barcodes are ignored now
    • Android: Improved internal architecture of all RTU screens
  • 🐞 Bug fixes:
    • Fixed some rare crashes
    • Android: Fixed msiPlesseyChecksumAlgorithm, stripCheckDigits and cameraZoomFactor parameters being ignored in BatchBarcodeScannerConfiguration
    • Android: Fixed a bug for which RTU-UI does not detect any barcodes with the image generation type VIDEO_FRAME
  • 🚙 Under the hood:
    • Updated the native Android Scanbot Barcode Scanner SDK to 3.0.6
    • Updated the native iOS Scanbot Barcode Scanner SDK to 3.0.3

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 on barcode scanning APIs to switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used.
    • Re-introduced MSI Plessey barcode recognition (disabled by default)
  • 🚙 Under the hood:
    • Updated the native Android Scanbot Barcode Scanner SDK to 3.0.1
    • Updated the native iOS Scanbot Barcode Scanner SDK to 3.0.0

Version 1.1.1 (1 July 2021):

  • 🚀 Improvements:
    • Changes to .podspec to support react-native 0.63+'s new dependency management system
    • All configuration and result imports are now available from package root

Version 1.1.0 (4 May 2021):

  • 🎉 New:
    • Typescript Type Declarations for ScanbotBarcodeSDK functions, configurations and results!
    • Introduced Batch Barcode Scanner RTU-UI component, for multiple barcodes scanning.
    • Added support for zooming in Barcode Scanner; see the property cameraZoomFactor in startBarcodeScanner.
    • Added support for Swiss QR codes
    • Document Type filters for Barcode Scanner.
  • 🚀 Improvements:

    • Significantly improved barcode scanning & detection.
    • Various RTU-UI improvements.
    • Introduced minimumTextLength, maximumTextLength, minimum1DBarcodesQuietZone for ITF Barcodes, and enableGS1Decoding for CODE-128 Barcodes.
    • Android: memory consumption optimization.
  • ⚠️ Breaking Changes:

    • IMPORTANT: Removed support for iOS 9 and iOS 10
    • Renamed imageUri to imageFileUri in startBarcodeScanner and detectBarcodesOnImage result
    • Removed storeImages from startBarcodeScanner. Use barcodeImageGenerationType instead.
    • Renamed uri to imageFileUri in detectBarcodesOnImage arguments.
    • Removed bottomButtonsInactiveColor and bottomButtonsActiveColor from BarcodeScannerConfiguration.
    • Removed storeImages from detectBarcodesOnImage, the imageFileUri is now returned by default, when available.
    • Removed finderWidth and finderHeight! Please, use finderAspectRatio instead.
  • 🐞 Bug fixes:

    • Many bug fixes and improvements
    • iOS: Fixed an issue with uploading apps containing the Scanbot Barcode SDK (related Apple error codes ITMS-90166, ITMS-90535 and ITMS-90171).
  • 🚙 Under the hood:

    • Updated Android Scanbot Barcode SDK to version 1.7.0
    • Updated iOS Scanbot Barcode SDK to version 1.11.0

Version 1.0.0 (18 Mar 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?