Skip to main content

Changelog | React Native Document Scanner

Version 4.16.0 (19 Apr 2024):​

  • πŸŽ‰ New:
    • Introduced VIN Scanner RTU UI (see startVinScanner)
    • Introduced Document Quality Analyzer. It analyzes the text quality (legibility) on images.
    • Added new Barcode Types: MICRO_QR_CODE, INDUSTRIAL_2_OF_5, USPS_INTELLIGENT_MAIL, ROYAL_MAIL, JAPAN_POST, ROYAL_TNT_POST, AUSTRALIA_POST, DATABAR_LIMITED and GS1_COMPOSITE.
    • Added support for Kuwait ID cards in the MRZ scanner.
    • Added support for the Israeli Check standard.
    • New generation of Text Data Scanner RTU UI. The quality and speed of scanning has significantly improved. Changed the default OCR engine to the new Scanbot_OCR engine. With the new ML-based OCR engine the speed of text recognition has increased twofold. The new OCR engine currently supports all languages with latin letters, there is no need to specify the languages for it.
    • Tesseract language traindata is no longer needed by default. Tesseract engine mode can still be used with customization of OCR config.
    • Added a type literal, BACK_WIDEST for CameraModule (iOS only).
    • Added a type literal, CREW_MEMBER_CERTIFICATE for MRZDocumentType.
    • Added new type literals for PDFPageSize.
    • Added new types:
      • FinderDocumentScannerResult that describes the result of startFinderDocumentScanner.
      • BarcodeScannerResult that describes the result of startBarcodeScanner.
      • BatchBarcodeScannerResult that describes the result of startBatchBarcodeScanner.
      • TextDataRecognitionResult that describes the result of TextDataScannerResult.
      • HealthInsuranceCardField that describes the fields of the HealthInsuranceCardScannerResult.
      • MedicalCertificateDatesInfo, MedicalCertificateCheckboxesInfo, MedicalCertificatePatientDataInfo and MedicalCertificatePatientDataInfoField to better describe MedicalCertificateRecognizerResult.
      • PerformOCRArguments to better describe the arguments for performOcr function.
      • CreatePDFArguments to better describe the arguments for createPDFResult function.
      • WriteTIFFArguments to better describe the arguments for writeTIFF function.
    • Added new properties in the following configurations:
      • DocumentScannerConfiguration - flashButtonHidden, flashButtonTitle, touchToFocusEnabled and preferredAspectRatios.
      • FinderDocumentScannerConfiguration - flashButtonHidden and touchToFocusEnabled.
      • CroppingConfiguration - topBarTitle and topBarTitleColor.
      • BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration - barcodesExtensionFilter, flashButtonHidden, flashButtonTitle, touchToFocusEnabled, viewFinderEnabled, barcodeValueFilter and confirmationDialogConfiguration.
      • MrzScannerConfiguration, HealthInsuranceCardScannerConfiguration, TextDataScannerConfiguration, LicensePlateScannerConfiguration, MedicalCertificateRecognizerConfiguration, CheckRecognizerConfiguration and GenericDocumentRecognizerConfiguration - flashButtonHidden, flashButtonTitle and touchToFocusEnabled.
    • Added support for inverted PDF-417 barcodes.
    • MRZ support for td1 long document standard.
    • Android: Added a new implementation of extractImagesFromPdf and extractPagesFromPdf.
    • iOS: Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK.
  • πŸš€ Improvements:
    • Improved accuracy and detection speed of QR_CODE, CODE_39, and CODE_93 barcode types.
    • Improved the speed of barcode recognition for most barcode symbologies.
    • Improved contour lines detection with ML Based detection.
    • acceptedCheckStandards can now be set when calling recognizeCheck.
    • Android: Stripped down the Android dynamic symbol table in native libraries. As a result, the size of the native shared libraries has decreased.
    • Android: Optimized the size of native libraries integrated into the Scanbot SDK.
    • Android: Enhanced error handling behavior when deleting SDK pages.
    • Android: Improved quality and speed of the Document Contour detector.
    • Android: Decreased size of Document Contour detector ML model.
    • iOS: Changed the default zoom range from (0.0 - 3.0) to (0.0 - 12.0) for cameraZoomRange in all RTU-UI configurations.
  • 🐞 Bug fixes:
    • Before, for certain invalid decoding of QR, an exception was thrown from ZXing. Now we rigorously treat this as a format error.
    • Before, we 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.
    • Fixed the detection of a few false positive RSS Expanded codes in live mode.
    • Android: Fixed potential memory leak in all RTU-UI screens.
    • Android: Fixed some OOM crashes on low to midrange devices.
    • Android: Fixed false positives for CODE_39 and CODABAR barcodes.
    • Android: Fixed colors not being applied to fields in GenericDocumentRecognizerConfiguration.
    • Android: Fixed crash in TextDataScanner on ARM v7 devices.
    • Android: Fixed bug with invisible back button on Document Scanner RTU UI screens when no Camera permission was granted.
    • Android: Fixed the logic in autoSnapProgressEnabled and polygonAutoSnapProgressEnabled methods in FinderDocumentScannerConfiguration and DocumentScannerConfiguration respectively.
    • Android: Fixed textDataScannerStep not applying in TextDataScannerConfiguration.
    • Android: Fixed behavior of ocrResolutionLimit in TextDataScannerConfiguration.
    • Android: Corrected mapping of userGuidanceStrings in CheckRecognizerConfiguration.
    • Android: Fixed enableCameraButtonTitle and enableCameraExplanationText parameters on BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration.
    • iOS: Fixed issues with performOCR functionality.
    • iOS: Fixed storage path issue for some of the operations when setting custom storage.
    • iOS: Fixed a crash when denying camera permission.
    • iOS: Fixed a bug with magnetic lines in CroppingScreen RTU UI.
    • iOS: Fixed a bug where the polygon should be mirrored when using the front camera in DocumentScannerResult.
    • iOS: Fixed a bug where automaticSelectionEnabled was not working properly in BarcodeScannerConfiguration.
    • iOS: Fixed a bug where flashEnabled was not working properly in HealthInsuranceCardScannerConfiguration.
    • iOS: Fixed a bug where ocrResolutionLimit was not being used in TextDataScannerConfiguration.
    • iOS: Fixed a bug with the iPad 5th generation where captured images were wrong.
    • iOS: Fixed a bug where the finder text hint was still showing when viewFinderEnabled was disabled in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration.
    • iOS: Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
  • ⚠️ 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!
    • status property is included in ResultWrapper interface and extracted from all resulting interfaces.
    • All file outputs are now represented as encoded URI strings.
    • ImageFilterType type literals were changed. Replace the type literals in order to use applyImageFilter, applyImageFilterOnPage, getFilteredDocumentPreviewUri and all Page functionalities.
    • MRZ Scanner and recognizeMRZ result breaking changes: field property in the result was removed and replaced with mrz of type MRZDocument. All types associated with fields property have been removed.
    • Check Recognizer and recognizeCheck result breaking changes: field property in the result was removed and replaced with check of type CheckDocument. All types associated with fields property have been removed.
    • GenericDocumentRecognizer result breaking changes: result was restructured to return an array containing the types MRZDocument, DeIdCardFrontDocument, DeIdCardBackDocument, DePassportDocument, DeDriverLicenseFrontDocument or DeDriverLicenseBackDocument. Previous types and properties have been removed.
    • The estimateBlur functionality has been removed and replaced by the far superior documentQualityAnalyzer.
    • recognizeCheck argument was redefined to be an object that contains imageFileUri and acceptedCheckStandards.
    • The property enableGS1Decoding has been replaced by gs1HandlingMode in BarcodeScannerConfiguration, BatchBarcodeScannerConfiguration and ScanbotBarcodeCameraViewConfiguration. 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.
    • Property supportedLanguages has been removed from HealthInsuranceCardScannerConfiguration.
    • Property barcodeImageGenerationType has been removed from BarcodeScannerConfiguration.
    • Properties rawText and isValidationSuccessful were removed from LicensePlateScannerResult.
    • Property textFilterStrategy has been removed from TextDataScannerStep.
    • Property subfiles in AAMVADocumentFormat now returns an array of AAMVADocumentSubfile.
    • Removed type literal TRAVEL_DOCUMENT from MRZDocumentType.
    • Type literals for types CapturePhotoQualityPrioritization, LicensePlateScanStrategy, MSIPlesseyChecksumAlgorithm, GenericDocumentType and FieldDisplayState have been modified.
    • Type FinderAspectRatio was renamed to AspectRatio.
    • Type InitializationOptions was renamed to ScanbotSdkConfiguration.
    • Type CameraImageFormat was renamed to StorageImageFormat.
    • Removed JS Helpers: JSTextFunction, JSTextFunctionBuilder, JSStringToBoolTextFunction, JSStringToStringTextFunction, JSStringToBoolTextFunctionBuilder and JSStringToStringTextFunctionBuilder.
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v4.2.0
    • Upgraded the native Scanbot iOS SDK to v4.2.2
    • Added "libharu" library to dependencies.
    • Android: Blackview and Caterpillar brands are now excluded from GpuAcceleration-supported devices.
    • Android: Removed "Android PDF Writer" library from dependencies.
    • Android: Upgraded OpenCV version to 4.8
    • Android: Added "icu4c" library to dependencies.
    • 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.15.5 (17 Nov 2023):​

  • 🐞 Bug fixes:
    • Android: fixed storageImageQuality parameter in InitializationOptions.
    • Fixed options being ignored when calling SDK functions: writeTiff, performOCR.
    • Fixed parsing of custom storage path for file URIs on iOS
    • Fixed performOCR for content file URIs
  • ⚠️ Breaking changes:
    • Removed Sensitive Binarization Image Filter

Version 4.15.4 (29 Sep 2023):​

  • πŸŽ‰ New:
  • 🐞 Bug fixes:
    • iOS: pageImageSource added to page response
    • iOS: fixed property documentImageSizeLimit not being set properly
    • iOS: fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
    • Android: added new enum values PageImageSource.UNDEFINED and PageImageSource.IMPORT to PageImageSource
    • Android: renamed previewImageUri to originalPreviewImageFileUri
    • Android: fixed documentImageSizeLimit returning an empty string
    • Android: fixed documentImageSizeLimit cast error
    • Android: filter property from the Page response now returns the correct value type of ImageFilterType instead of ImageFilter
    • Android: Min SDK was decreased back to 21
  • ⚠️ Breaking changes:
    • Replaced ImageFilter with ImageFilterType. applyImageFilter, applyImageFilterOnPage and getFilterDocumentPreviewUri now use ImageFilterType type value as an argument.

Version 4.15.3 (29 Jun 2023):​

  • πŸŽ‰ New:
    • Introduced exported GenericDocumentNormalizedFields constant for easier configuration of GenericDocumentRecognizer
  • 🐞 Bug fixes:
    • iOS: Fixed storage issues that would cause different SDK functions to fail when a custom storage directory was not specified
    • Android: Fixed licenseExpirationDate missing from getLicenseInfo() result
  • πŸš€ Improvements:
    • iOS: Automatically removing minihash query parameter from URLs passed to SDK functions
    • Android: Optimized getImageData() to return smaller Base64 strings Note: NO_WRAP encoding format is now used - the string will not contain line breaks anymore

Version 4.15.2 (19 Jun 2023):​

  • 🐞 Bug fixes:
    • iOS: Fixed 'Unsupported Swift Architecture' error when targeting the simulator
  • πŸš€ Improvements:
    • iOS: You can now start RTU components from modal components

Version 4.15.0 (14 Jun 2023):​

  • πŸŽ‰ New:
    • Introduced Generic Document Recognizer! It can be used to recognize various types of documents, including German ID cards, German passports, and German driver's licenses. See startGenericDocumentRecognizer
    • Added new supported Barcode types: CODE_25, IATA_2_OF_5 and INDUSTRIAL_2_OF_5
    • Introduced Check Recognizer Ready-To-Use UI (startCheckRecognizer) and recognizeCheckOnImage API function
    • Introduced Barcode Document Formats! When scanning barcodes, if a supported document is recognized, it will be parsed and included in the result
    • Introduced selection overlay for Barcode Scanner and Batch Barcode Scanner! See property overlayConfiguration in BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration
    • Document Scanner:
      • Added new properties in DocumentScannerConfiguration:
        • userGuidanceFontSize
        • textHintOffCenter
        • stopsCameraSessionWhenDisappeared
        • photoQualityPriorization
        • forceUserGuidance
        • detectorMode
        • defaultPageFilter
        • cancelButtonHidden
        • cameraUnavailableExplanationText
        • cameraPreviewMode
    • MRZ Scanner:
      • Added rawString in MRZ Result, which contains the detected raw MRZ text
      • Added new properties in MrzScannerConfiguration:
        • cancelButtonHidden
        • finderAspectRatio
        • flashButtonHidden
        • topBarButtonsActiveColor
        • topBarButtonsInactiveColor
        • replaceCancelButtonWithIcon
        • cameraPreviewMode
        • autoCancelTimeout
    • Barcode Scanner:
      • Added new properties in BarcodeScannerConfiguration:
        • enableCameraButtonTitle
        • enableCameraExplanationText
        • flashButtonHidden
        • focusLockEnabled
        • focusLockPosition
        • minFocusDistanceLock
        • replaceCancelButtonWithIcon
        • cameraPreviewMode
        • cameraZoomRange
        • autoCancelTimeout
        • codeDensity
        • barcodeImageGenerationType
        • initialScanDelay
        • delayAfterScan
        • doubleTapToZoomEnabled
        • pinchToZoomEnabled
        • shouldAnimateZooming
        • confirmationDialogConfiguration
        • overlayConfiguration
    • Batch Barcode Scanner:
      • Added new properties in BarcodeScannerConfiguration:
        • enableCameraButtonTitle
        • enableCameraExplanationText
        • flashButtonHidden
        • focusLockEnabled
        • focusLockPosition
        • minFocusDistanceLock
        • replaceCancelButtonWithIcon
        • cameraPreviewMode
        • cameraZoomRange
        • autoCancelTimeout
        • codeDensity
        • barcodeImageGenerationType
        • initialScanDelay
        • delayAfterScan
        • doubleTapToZoomEnabled
        • pinchToZoomEnabled
        • shouldAnimateZooming
        • confirmationDialogConfiguration
        • overlayConfiguration
    • Health Insurance Card Scanner:
      • Added new properties in HealthInsuranceCardScannerConfiguration:
        • enableCameraButtonTitle
        • enableCameraExplanationText
        • flashButtonHidden
        • topBarButtonsActiveColor
        • topBarButtonsInactiveColor
        • replaceCancelButtonWithIcon
        • cameraPreviewMode
    • Text Data Scanner:
      • Added new properties in TextDataScannerConfiguration:
        • cancelButtonHidden
        • enableCameraExplanationText
        • flashButtonHidden
        • flashButtonTitle
        • orientationLockMode
        • topBarButtonsActiveColor
        • topBarButtonsInactiveColor
        • useButtonsAllCaps
        • replaceCancelButtonWithIcon
        • cameraPreviewMode
        • textDataScannerStep
      • Now you can also specify a threshold used to pause the detection after significant movement occurred; use property significantShakeDelay inside textDataScannerStep in TextDataScannerConfiguration
    • License Plate Scanner:
      • Added new properties in LicensePlateScannerConfiguration:
        • topBarButtonsActiveColor
        • confirmationDialogStyle
        • confirmationDialogConfirmButtonStyle
        • confirmationDialogRetryButtonStyle
        • enableCameraButtonTitle
        • enableCameraExplanationText
        • finderPreferredHeight
        • flashButtonHidden
        • flashButtonTitle
        • significantShakeDelay
        • replaceCancelButtonWithIcon
        • cameraPreviewMode
    • Medical Certificate Recognizer:
      • Added new properties in MedicalCertificateScannerConfiguration:
        • cameraOverlayColor
        • finderLineColor
        • finderLineWidth
        • flashButtonHidden
        • flashButtonTitle
        • userGuidanceHidden
        • recognizePatientInfo
        • returnCroppedDocumentImage
        • errorDialogStyle
        • errorDialogTitle
        • errorDialogAccentColor
        • errorDialogMessage
        • errorDialogOkButton
        • errorDialogOkButtonFilled
        • errorDialogOkButtonFilledTextColor
        • errorDialogButtonStyle
        • showFinderOverlay
        • userGuidanceStrings
        • cameraPreviewMode
        • finderAspectRatio
        • finderSecondaryAspectRatio
  • ⚠️ Breaking changes:
    • TypeScript: all the SDK types are now directly exported from react-native-scanbot-sdk; it is no longer required to use subpaths (ex. react-native-scanbot-sdk/src/enum) to import interfaces, types and enums in your code
    • IMPORTANT: Removed jniLibs from the plugin; when migrating from a previous version, you should remove the jniLibs folder from your Android project, along with the pickFirst packaging option in your app build.gradle
    • Removed ID Card Scanner. You should now use our Generic Document Recognizer (see startGenericDocumentRecognizer) to recognize German ID Cards, passports and driving licenses. You can still choose to detect ID Cards only, by setting acceptedDocumentTypes in GenericDocumentRecognizer to ['DeIdCardFront', 'DeIdCardBack']. What used to be IdCardScannerResult will be contained in the fields property of GenericDocumentRecognizerResult when you explicitly cast it to DeIdCardResult like this: let idCardResult = result.fields as DeIdCardResult; the result is slightly different:
      • Fields pin, pseudonym and maidenName were removed;
      • Field mrz has been renamed to rawMrz
    • Removed NFC Passport Reader
    • Replaced interfaceOrientation (ALL, PORTRAIT, LANDSCAPE) with orientationLockMode (NONE, PORTRAIT, LANDSCAPE) in all RTU Configurations; if you were using ALL you can replace it with NONE.
    • MRZ Scanner:
      • Removed finderHeight and finderWidth from MrzScannerConfiguration; from now on, use the new property finderAspectRatio
      • Removed topBarButtonsColor from MrzScannerConfiguration and added topBarButtonsActiveColor and topBarButtonsInactiveColor; now you can set the color for each state in which the buttons might be in
    • Batch Barcode Scanner:
      • Removed unused property recognitionEnabled from BatchBarcodeScannerConfiguration
    • Health Insurance Card Scanner:
      • Removed property validationType from HealthInsuranceCardScannerConfiguration
      • Removed properties flashButtonInactiveColor and topBarButtonsColor from HealthInsuranceCardScannerConfiguration and added topBarButtonsActiveColor and topBarButtonsInactiveColor; now you can set the color for each state in which the buttons might be in
      • Removed unused property recognitionEnabled from HealthInsuranceCardScannerConfiguration
    • Text Data Scanner:
      • The following properties are now inside the new property textDataScannerStep (of type TextDataScannerStep) in TextDataScannerConfiguration:
        • guidanceText
        • pattern
        • shouldMatchSubstring
        • preferredZoom
        • aspectRatio
        • unzoomedFinderHeight
        • allowedSymbols
        • textFilterStrategy
      • Removed properties from TextDataScannerConfiguration:
        • flashButtonInactiveColor
        • recognitionEnabled
        • title
        • topBarButtonsColor - added topBarButtonsActiveColor and topBarButtonsInactiveColor; now you can set the color for each state in which the buttons might be in
        • validationBlock
        • stringSanitizerBlock
    • License Plate Scanner:
      • Renamed detectorMode in LicensePlateScannerConfiguration to scanStrategy
      • Renamed topBarButtonsColor to topBarButtonsActiveColor in LicensePlateScannerConfiguration
    • Medical Certificate Recognizer:
      • startMedicalCertificateScanner has been renamed to startMedicalCertificateRecognizer
      • MedicalCertificateScannerConfiguration has been renamed to MedicalCertificateRecognizerConfiguration
      • MedicalCertificateScannerResult has been renamed to MedicalCertificateRecognizerResult
      • Removed "data" field of type MedicalCertificateScannerResultData from the result in MedicalCertificateScannerResult; its fields are now at top-level
      • Removed unused field validationConfidence from the result date fields in MedicalCertificateScannerResult
      • Removed properties from configuration:
        • extractPatientInfo (renamed to recognizePatientInfo)
        • guidanceText (use userGuidanceStrings instead)
        • errorDialogText (use errorDialogMessage; also see new error dialog properties)
  • πŸš€ Improvements:
    • Improved crops and contours for detected barcodes
    • Improved 1D barcode recognition
    • Improved MRZ detection for US passports
    • Improved recognition of inverted barcodes
    • Improved performance and reduced false positive rate for stacked RSS barcodes
    • Improved performance of DataMatrix and QR-codes
    • Improved recognition of Medical Certificates
    • Improved performance and accuracy of machine-readable-zone recognition
    • The raw string is now returned for RSS Expanded barcodes that don't contain a GS1 string
    • Patient info box recognition has been improved in the medical certificate scanners
    • Various memory allocation improvements
    • iOS: Various performance improvements for BarcodeCameraView
  • 🐞 Bug fixes:
    • Fixed a crash when applying a filter to single channel images
    • Fixed issues with MRZ on Mexican and US passports
    • Fixed finderVerticalOffset wrong direction in ScanbotBarcodeCameraView configuration
    • iOS: Fixed stripCheckDigits not being applied for ScanbotBarcodeCameraView component
    • iOS: Fixed a bug that caused the document scanner to auto-capture a second image shortly after the first image
    • iOS: Fixed a rare crash on the detection of Health Insurance cards
    • iOS: Fixed a potential crash when the app using ScanbotSDK is suspended by the operating system
    • iOS: Fixed a potential crash during the SDK initialization when the app name contains spaces
    • iOS: Fix component configuration being ignored on start of BarcodeCameraView
    • iOS: Medical certificates of type 1C are no longer recognized as 1A
    • iOS: Fixed visibility of the shutter button in Document Scanner when camera access is denied
    • iOS: Fixed a bug where the MRZ recognition would produce inaccurate results
    • iOS: Fixed a bug where UPC/EAN extensions were not recognized
    • Android: Fixed Scanbot RTU-UI scanners handling when the app is terminated in the background
    • Android: Fixed a crash on specific PDF-417 codes with boarding passes
    • Android: Fixed an incorrect mapping of guidance strings for Medical Certificate Recognizer
    • Android: Fixed snapped page filtering in Document Scanner RTU UI screen
    • Android: Fixed a bug with RTU Barcode scanner not being able to produce the barcode image when a barcode filter is set
    • Android: Fixed crashes on devices running Android 5 and 6 in some scenarios
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v2.2.0 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v2.2.0 (cf. changelog)

Version 4.14.0 (3 Mar 2023):​

  • πŸš€ Improvements:
    • Internal refactoring and improvements
  • 🐞 Bug fixes:
    • Fixed conflicts in ScanbotBarcodeCameraView caused by usage of deprecated dimensions listener in RN 0.70+
    • Android: Fixed ScanbotBarcodeCameraView not recognizing barcodes after navigating back from another screen
    • Android: Fixed interfaceOrientation not working for value ALL
    • Android: Fixed configuration properties being ignored under some conditions
    • Android: Fixed issues when engineMode is not set in ScanbotBarcodeCameraView
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.93.1.665 which contains a special hotfix for the back navigation problem in ScanbotBarcodeCameraView

Version 4.13.1 (22 Jun 2022):​

  • πŸš€ Improvements:
    • Updated README

Version 4.13.0 (25 May 2022):​

  • πŸŽ‰ New:
  • πŸš€ 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:
    • Android: Fixed GPU acceleration issues with the Samsung S22 series devices.
    • Android: Fixed camera flash state for the document scanner after picture is taken in multi-page mode.
    • Android: Fixed cropped images of 1D barcodes.
    • iOS: Fixed a bug with the view finder rectangle not being calculated correctly in landscape mode in Barcode Scanner.
    • The configuration topBarButtonsActiveColor in MedicalCertificateScannerConfiguration was not working on both iOS and Android.
    • The configuration topBarButtonsInactiveColor in MedicalCertificateScannerConfiguration was not working on iOS.
  • ⚠️ Breaking changes:
    • capturedPage property is removed from MedicalCertificateScannerResultData and imageFileUri property is introduced as a replacement for capturedPage in MedicalCertificateScannerResultData
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.93.0 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.26.2 (cf. changelog)

Version 4.12.0 (06 Apr 2022):​

  • πŸš€ Improvements:
    • Improved Machine Readable Zone recognizer
    • Improved ID card recognizer
    • Improved Aztec barcode recognition
    • Android: Improved the UX of the Document Scanner; now the pausing of the preview is done only after the image is captured. Previously it could result in blurry images.
  • 🐞 Bug fixes:
    • Android: By default, GPU acceleration has been disabled (due to issues on the Samsung S22 series devices). To enable it, set allowGpuAcceleration to true when you initialize the SDK; see InitializationOptions
    • iOS: Fixed ScanbotSDK being embedded twice under certain configurations, causing the build to fail
    • iOS: Fixed a bug with simulators not capturing the demo image when the shutter button is pressed
    • iOS: Fixed a bug in SBSDKPDFPagesExtractor with transformed PDF pages
    • iOS: Fixed an issue with view finder colors and line width not being applied in RTU-UI components
  • ⚠️ Breaking changes:
    • IMPORTANT (iOS): Changed SDK internal podspec definition; a full clean by removing node_modules, package-lock.json, clearing npm cache, removing Pods and Podfile.lock, and reinstalling everything again with npm install and pod install --repo-update might be needed in case the iOS build fails. If you still encounter issues on the iOS build, check out our updated Getting Started - iOS Setup section
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.92.1 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.25.1 (cf. changelog)

Version 4.11.3 (13 Jan 2022):​

  • 🐞 Bug fixes:
    • Fixed the interfaceOrientation configuration in CroppingScreenConfiguration which could have caused an exception on Android

Version 4.11.2 (12 Jan 2022):​

  • 🐞 Bug fixes:
    • Re-added missing flashButtonHidden configuration parameter into DocumentScannerConfiguration. See startDocumentScanner

Version 4.11.1 (12 Jan 2022):​

  • πŸŽ‰ New:
    • Added new configuration parameter flashButtonInactiveColor into HealthInsuranceCardScannerConfiguration which allows choosing the foreground color of the flash button when the flash is off (iOS only) EHIC Scanner
    • Added new configuration parameter allowXnnpackAcceleration into InitializationOptions, which allows controlling whether the XNN pack optimizations should be used (Android only) SDK Initialization
    • Added new configuration parameter enableNativeLogging into InitializationOptions, which enables Scanbot SDK Core native logging (default is false; Android only) SDK Initialization
  • πŸš€ Improvements:
    • Improved PDF417 recognition performance on single photos (iOS)
    • Improved barcode detection on large documents (iOS)
    • Updated flash buttons' icons (iOS)
    • Improved GS-1 databar recognition in the next-gen barcode scanner (iOS)
    • Improved robustness and performance of the MRZ scanner (Android)
    • Improved recognition of small barcodes on large images (Android)
    • Improved recognition of stacked RSS Expanded (GS1) barcodes (Android)
    • Improved rectangular DataMatrix performance (Android)
    • Increased performance on stable images with PDF-417 barcodes (Android)
  • 🐞 Bug fixes:
    • Fixed a problem with an inaccurate finder in Health Insurance Card Scanner and MRZ Scanner (iOS)
    • Fixed a crash in the barcode detector with Legacy engine mode on still images (Android)
  • ⚠️ Breaking changes:
    • IMPORTANT: Removed bottomButtonsActiveColor and bottomButtonsInactiveColor from HealthInsuranceCardScannerConfiguration
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.90.1 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.23.0 (cf. changelog)

Version 4.11.0 (14 Dec 2021):​

  • πŸŽ‰ New:
    • Introduced Medical Certificate Scanner RTU-UI! You can use it to scan German medical certificates. See startMedicalCertificateScanner.
    • Introduced cameraModule in RTU-UI components! You can set it to FRONT if you want to use the front camera in the RTU-UI component.
  • πŸš€ Improvements:
    • Barcode Camera View now supports stripCheckDigits
    • Android: initializeSdk now throws an error when the SDK initialization fails (eg. invalid license)
  • 🐞 Bug fixes:
    • Fixed licenseExpirationDate wrong timestamp in getLicenseInfo Android result
    • Fixed gs1DecodingEnabled being ignored in RTU-UI components
    • Fixed allowedInterfaceOrientations ambiguous behavior in RTU-UI configurations
    • Fixed getLicenseInfo not being callable when using an invalid license
  • ⚠️ Breaking changes:
    • IMPORTANT: Removed allowedInterfaceOrientations and orientationLockMode from all RTU-UI configurations. Use interfaceOrientation instead (PORTRAIT, LANDSCAPE or ALL)
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.89.1 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.22.0 (cf. changelog)

Version 4.10.1 (8 Nov 2021):​

  • πŸŽ‰ New:
    • Introduced forceClose function in RTU-UI components! You can use it to programmatically close the components.
  • πŸš€ Improvements:
    • Improved flexibility, speed, and accuracy of the EHIC Scanner (European Health Insurance Cards)
    • Android: You can enable CameraX under the hood on Android. See useCameraX in InitializationOptions
    • Android: GPU Acceleration will be used for Barcode Scanner, Document Scanner and Generic Document Recognizer. You can disable it by setting allowGpuAcceleration to false; see InitializationOptions
  • 🐞 Bug fixes:
    • Android: FixedΒ msiPlesseyChecksumAlgorithm,Β stripCheckDigitsΒ andΒ cameraZoomFactor being ignored in BatchBarcodeScannerConfiguration
  • ⚠️ Breaking changes:
    • submitButtonTitle in IdCardScannerConfiguration has been renamed to viewResultsButtonTitle
    • The ID Card Scanner result is now wrapped in idCard object. See startIdCardScanner.
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.89.0 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.21.2 (cf. changelog)

Version 4.10.0 (21 Sep 2021):​

  • πŸŽ‰ New:
  • πŸš€ Improvements:
    • Improved recognition of UPC/EAN barcodes due to ink spread
    • Android: Improved recognition of the front side of ID cards by GenericDocumentRecognizer
  • 🐞 Bug fixes:
    • Android: Fixed a bug with the EHIC recognizer that caused some UTF8 characters to be ignored upon recognition
  • ⚠️ Breaking changes:
    • Android: Updated compile and target SDK of the library to 30
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.87.1 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.20.0 (cf. changelog)

Version 4.9.0 (9 Aug 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.
    • Text Data Scanner: a new RTU-UI component that allows you to perform OCR using our Data Scanner Camera API. See the new API function startTextDataScanner).
  • 🐞 Bug fixes:
    • Document Scanner (Android): fixed a bug that sometimes caused pictures to have the wrong orientation after they were imported
    • Fixed various UI related issues
  • πŸš™ Under the hood:
    • Updated the native Android Scanbot SDK to 1.85.1 (cf. changelog)
    • Updated the native iOS Scanbot SDK to 1.19.3 (cf. changelog)

Version 4.8.0 (25 Jun 2021):​

  • πŸŽ‰ New:
    • MSI Plessey barcode recognition
  • πŸš€ Improvements:
    • Droid: Exposed native dependencies to allow custom native implementations
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.84.0 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.18.0 (cf. changelog)

Version 4.7.0 (14 Apr 2021):​

Version 4.6.0 (15 Feb 2021):​

  • πŸŽ‰ New:
    • Added NFC passport reader - a new UI component to read data from passport's NFC chip.

Version 4.5.0 (2 Feb 2021):​

  • πŸŽ‰ New:
    • Encryption of image and PDF files. For more details please check out the section "Storage Encryption".
  • πŸš€ Improvements:
    • Improved support for advanced TypeScript compiler constraints
  • ⚠️ Breaking Changes:
    • The structured OCR result data is now returned as a JSON data field jsonData instead of a JSON file (jsonFileUri)
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.78.0 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.13.0 (cf. changelog)

Version 4.4.0 (4 Dec 2020):​

  • πŸŽ‰ New:
    • Android: Added a new optional config property useButtonsAllCaps: boolean for all RTU UI screens to control whether the buttons should use the all-capitals-style, as defined by the Android Material Design
  • πŸš€ Improvements:
    • Improvements in the detection of barcodes, especially of the type PDF417. Better recognition of rotated and damaged PDF417 codes
  • 🐞 Bug fixes:
    • iOS: Introduced a new API method refreshImageUris(pages) to fix image file paths after app updates. For more details please check out the section Persistence of Page Objects.
    • iOS: Fixed an issue about Bitcode support when submitting an app to the App Store Connect (error "ITMS-90562: Invalid Bundle - Bitcode failed to compile")
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.76.2 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.12.1 (cf. changelog)

Version 4.3.0 (22 Oct 2020):​

  • πŸŽ‰ New:
    • Batch Barcode Scanner - a new UI component to scan multiple barcodes in a row. See the new API function startBatchBarcodeScanner.
    • ID-Card Scanner - See the new API function startIdCardScanner.
    • Blur Estimator - a new API method to detect blurriness on still images. See estimateBlur.
    • New CroppingScreenConfiguration parameters: hintTitle and hintTitleColor
  • πŸš€ Improvements:
    • Android: Some big improvements in the Document Scanner UI that make document scanning perform better and much smoother. Increased start-up time of the camera preview. Faster saving of the snapped pages. Optimized performance of the image processing for simple operations (rotate, crop, resize).
    • Android and iOS: Improved recognition of barcodes and QR-codes (live detection and from still images)
  • ⚠️ Breaking Changes:
    • iOS: Dropped support for iOS 9 and iOS 10!
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.74.2 (cf. changelog)
    • Upgraded the native Scanbot iOS SDK to v1.11.2 (cf. changelog)

Version 4.2.1 (28 Sep 2020)​

  • 🐞 Bug fixes:
    • Android: Fixed a crash during the initialization process on some devices with Android 5.1 and less
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.72.3 (see the changelog)

Version 4.2.0 (5 Aug 2020)​

  • πŸŽ‰ New:
    • A new scanner UI component for the European Health Insurance Cards (EHIC)! See the new API function startEHICScanner
    • Added support for TIFF compression types and for defining custom DPI value as TIFF meta data. See the new options compression and dpi of the writeTIFF() method.
  • πŸš€ Improvements:
    • Improved shared asset copy script with proper error handling and different pathing options
    • Android: Increased resolution of the preview images
  • 🐞 Bug fixes:
    • Android: topBarBackgroundColor now also affects the status bar in all UI components (Document Scanner UI, Cropping UI, etc)
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.71.0 (see the changelog)
    • Upgraded the native Scanbot iOS SDK to v1.9.19 (see the changelog)

Version 4.1.0 (20 Jul 2020)​

  • πŸŽ‰ New:
    • New and improved Barcode Scanner. Support for multiple barcode scanning.
    • Introduced getLicenseInfo() API method to get more information about your license
    • Barcode detection on still (imported) images: detectBarcodesOnImage
    • ML-Based document detection: documentDetectorMode: 'ML_BASED'
  • πŸš€ Improvements:
  • 🐞 Bug fixes:
    • Android: Fixed several crashes that occurred as of React Native 0.62 😑
    • iOS: Fixed multiple beep-boop sounds when scanning barcodes
    • iOS: MRZ Scanner finder aspect ratio is now properly set
  • ⚠️ Breaking Changes:
    • Removed isLicenseValid() API method. Please use getLicenseInfo().isLicenseValid instead.
    • BarcodeResult now contains an array of barcodes
    • Android: minSdkVersion increased to 21
  • πŸš™ Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.70.1 (see the changelog)
    • Upgraded the native Scanbot iOS SDK to v1.9.15 (see the changelog)

Version 4.0.1 (13 Jan 2020)​

  • πŸš€ Improvements:
    • Android & iOS: Enhanced TypeScript support
  • 🐞 Bug fixes:
    • Android: Fixed a rare case where the application crashed on startup
    • iOS: Fixed issue where document detection status was empty

Version 4.0.0 (11 Nov 2019)​

This version requires React Native 0.60 or higher as well as CocoaPods integration for iOS.

  • πŸŽ‰ New:

  • πŸš™ Under the hood:

    • Upgraded the native Scanbot Android SDK to v1.54.0 (see the changelog)

Version 3.1.0 (10 Oct 2019)​

  • πŸŽ‰ New:

    • Android & iOS: Added a new Images Filter LOW_LIGHT_BINARIZATION_2.
  • 🐞 Bug fixes:

    • Android: Fixed crashes with some image filters, like BACKGROUND_CLEAN, DEEP_BINARIZATION, LOW_LIGHT_BINARIZATION, etc. on ARM 32-bit devices (armeabi-v7).
    • iOS: Fixed modal dialog style of the Document Scanner UI, Cropping UI, Barcode Scanner UI and MRZ Scanner UI on iOS 13. All UI screens are opened in full-screen mode again.
  • πŸš™ Under the hood:

    • Upgraded the native Scanbot Android SDK to v1.39.52.2 (see the changelog)
    • Upgraded the native Scanbot iOS SDK to v1.9.3 (see the changelog)

Version 3.0.0 (26 Jul 2019)​

  • πŸŽ‰ New:

    • Android & iOS: Reset/Detect functionality in Cropping UI.
    • Android & iOS: Added support for orientationLockMode in Cropping UI.
    • Android & iOS: Support for PDF page sizes (see the createPdf method).
    • Android & iOS: Added new Images Filters OTSU_BINARIZATION, DEEP_BINARIZATION, EDGE_HIGHLIGHT and LOW_LIGHT_BINARIZATION.
    • Android & iOS: A new config option storageBaseDirectory allows to overwrite the storage location of the native Scanbot SDKs on initialization.
    • Android & iOS: Added new config properties in the Document Scanner UI:
      • documentImageSizeLimit - to limit the resolution of the document image.
      • maxNumberOfPages - maximum number of pages to scan.
      • shutterButtonHidden - to hide the shutter button.
      • textHintEnergySavingActive - the text being displayed on the user-guidance label, when the scanners energy saver is activated (iOS only).
    • Android: Added native libs (.so) for the x86_64 architecture.
  • πŸš€ Improvements:

    • Android: Internal Storage - All components of this Module now use the internal storage by default, which is more secure and do not require storage permission prompts. See the Storage section of this documentation for more details.
    • Android & iOS: OCR - Upgraded the OCR engine to Tesseract v4.00. Improved recognition speed and quality. Please also note the Breaking Changes below.
    • Android & iOS: OCR API - Detailed OCR results per page, including bounding boxes for words, lines and paragraphs. See OcrOutputFormat.RESULT_JSON.
  • ⚠️ Breaking Changes:

    • Android: Added file format extension (.jpg or .png) for all Page images. Affects the new image files created by all modules like Document Scanner, Cropping UI, etc. Please note that only the new created image files will contain extensions. The currently available image files in the temporary storage of the Scanbot SDK RN Module will not get file extensions and may become inaccessible. So please make sure to implement a suitable migration mechanism.
    • Android: Internal Storage - In case your app is using the storage for scanned Pages as permanent storage, please make sure to implement a suitable migration. E.g. move the previous archived Page images from the old external storage folder to the new internal storage. Or alternatively overwrite the storage directory to the external folder again by using the new storageBaseDirectory config option.
    • Android & iOS: The config parameter pageCounterButtonTitle in Document Scanner now requires a placeholder "%d" for the number of pages (e.g. pageCounterButtonTitle: "%d Page(s)").
    • Android & iOS: OCR Language Files - If you use the OCR feature of this Module, please upgrade the OCR language files to Tesseract 4.00. See the OCR section of this documentation for more details.
  • 🐞 Bug fixes:

    • Android: Fixed an issue with camera on "Xiaomi Redmi 5 Plus" devices with MIUI Chinese ROM.
    • Android: Fixed a bug with freezing camera on Document Scanner start.
    • Android: Some layout fixes in Cropping UI (aka. inaccessible "DONE" button).
    • Android: Fixed a bug with the Magnifier in Cropping UI (the Magnifier was stuck in a corner).
    • iOS: Fixed issues with orientationLockMode in Document Scanner.
    • iOS: Fixed handling of uiConfigs arguments in Cropping UI (polygonColor, etc).
    • iOS: Fixed a bug with missing Page meta data as result of the detectDocumentOnPage method.
    • iOS: Fixed handling of the config arguments enableCameraButtonTitle and enableCameraExplanationText in Document Scanner UI, Barcode Scanner UI and MRZ Scanner UI.
    • iOS: Fixed the status of the torch light toggle button in the Document Scanner on reactivating the scanning screen.
    • Android & iOS: Various minor fixes and improvements.
  • πŸš™ Under the hood:

    • Upgraded the native Scanbot Android SDK to v1.39.52 (see the changelog)
    • Upgraded the native Scanbot iOS SDK to v1.9.2 (see the changelog)
  • πŸ›  Dependencies:

    • Android: Requires Android SDK 28, Android Support Libs 28+ (com.android.support:*).
    • Android: The native Scanbot Android SDK now uses the latest version of Google Play Services Vision lib v16.2.0 (com.google.android.gms:play-services-vision:16.2.0).

Version 2.0.7 (1 Jul 2019)​

  • Android: Removed minSdkVersion from AndroidManifest.xml.

Version 2.0.6 (20 Dec 2018)​

  • iOS: Fixed Cropping UI configuration.

Version 2.0.5 (28 Aug 2018)​

  • Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.7:
    • Fixed bitcode generation

Version 2.0.4 (28 Aug 2018)​

  • Under the hood: Upgraded the native Scanbot Android SDK to v1.34.0
    • Upgraded to OpenCV 3.4.2
  • Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.6

Version 2.0.3 (1 Aug 2018)​

  • New function recognizeMrz(imageFileUri: string) to recognize MRZ data on image file.

Version 2.0.2 (23 Jul 2018)​

  • Android: Various bug fixes and improvements in methods getFilteredDocumentPreviewUri() and applyImageFilterOnPage()
  • Under the hood: Upgraded the native Scanbot Android SDK to v1.33.3
    • Removed the allowBackup flag from AndroidManifest.xml in io.scanbot:sdk-package-ui library
  • iOS: Added the ?minihash= query parameter in result of getFilteredDocumentPreviewUri()
  • Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.4
    • Fixed memory leaks in Document Scanner

Version 2.0.1 (16 Jul 2018)​

  • iOS:
    • Fixed a bug in PDF creation
    • Fixed property mapping of text key textHintOK
  • Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.3

Version 2.0.0 (10 Jul 2018)​

  • New Document Scanner UI and Cropping UI - based on the native Ready-To-Use UI Components of the Scanbot SDK for Android and iOS.
  • Multi-page scanning in Document Scanner UI
  • Barcode Scanner UI
  • MRZ Scanner UI
  • TIFF support: provides creation of 1-bit TIFF images with multi-page support
  • New image filter types:
    • PURE_BINARIZED - Creates an image with pixel values set to either pure black or pure white.
    • BACKGROUND_CLEAN - Cleans up the background and tries to preserve photos within the image.
    • BLACK_AND_WHITE - Black and white filter with background cleaning. Creates a grayscaled 8-bit image with mostly black or white pixels.
  • New Scanbot SDK JS API:
    • Promise-based design (compatible with async/await)
    • Typings provide contextual help in JS IDEs
  • Under the hood: Upgraded the native Scanbot Android SDK to v1.33.0
  • Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.2:
    • Dropped support for iOS 8
  • Minor bug fixes and improvements

Want to scan longer than one minute?

Generate your free "no-strings-attached" Trial License and properly test the Scanbot SDK.

Get your free Trial License

What do you think of this documentation?