Changelog | React Native Document Scanner
tip
For additional details about the API, please refer to our API reference documentation.
Version 7.1.1 (5 Nov 2025)
- 🎉 New:
- Barcode Scanner:
- Barcode configurations for 1D barcode types have a new field
minimumNumberOfRequiredFramesWithEqualRecognitionResultthat requires this number of frames on which the barcode has to be detected.
- Barcode configurations for 1D barcode types have a new field
- Check Scanner:
- We now extract the field after the account number on US checks. The name in the result is
checkNumber. Note that this name is only based on common usage and not on any enforced standard.
- We now extract the field after the account number on US checks. The name in the result is
- Barcode Scanner:
- 🚀 Improvements:
- Check Scanner:
- Updated US check field documentation.
- Improve handling of scanning result when detection mode
DETECT_AND_CROP_DOCUMENTis set.
- Check Scanner:
- 🐞 Bug fixes:
- Document Scanner:
- Fix serialization of
DocumentDataclass. - iOS: Fixed a bug in RTU-UI that did not always crop images from the photo library.
- Android: Fixed issue with empty
documentQualitywhenacknowledgementModewas set toBAD_QUALITY. - Android: Fixed a bug where the usage guidance wouldn't show properly on screen startup.
- Android: Fixed image size on review screen when screen is in horizontal layout.
- ScanbotDocumentScannerView:
- Fixed an issue where
snapDocumentcommand did not work for old architecture on iOS.
- Fixed an issue where
- Fix serialization of
- Check Scanner:
- Fixed a bug in the implementation of the US check standard which lead to rejection of valid checks.
- General:
- iOS: Fixed a bug in the RTU-UI user interface that prevented the proper display of the view finder in landscape mode.
- Android: Fixed 16 kb page size support for TFLite native library.
- Document Scanner:
- ⚠️ Breaking changes:
- Barcode Scanner:
- The field
minConfirmationsStandaloneEANinBarcodeAccumulationConfigurationwas moved and renamed to the fieldminimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinBarcodeFormatUpcEanConfiguration.
- The field
- Barcode Scanner:
- 🚙 Under the hood:
- Upgraded the native Scanbot iOS SDK to v7.1.4.
- Upgraded the native Scanbot Android SDK to v7.1.2.
Version 7.1.0 (18 Sep 2025)
- 🎉 New:
- Document Scanner:
- Added property
showReviewScreenOnStarttoDocumentScanningFlow. If enabled, the scanner automatically navigates to the Review Screen when the flow starts. - Added property
openReviewAfterEachScantoCameraScreenConfiguration. If enabled, the Review Screen is opened after each addition of a new page. - Added property
showLastPageWhenAddingtoReviewScreenConfiguration. If enabled, the Review Screen will be opened showing the last page.
- Added property
- VIN Scanner:
- Introduced a new RTU-UI v2 VIN Scanner.
- Check Scanner:
- Introduced a new RTU-UI v2 Check Scanner.
- Document Data Extractor:
- Introduced a new RTU-UI v2 Document Data Extractor.
- Introduced a Document Verification API including document semantics verification capabilities.
- Added support for multiple new document types:
- ID Cards from Brazil, Hong Kong, Macao, and China.
- Chinese Entry and Exit Permits.
- Now supports the front side of many more EU driver's licenses.
- Added partial support for parsing of German addresses. For the respective ID cards, address parsing can be enabled via a new
DeAddressParserConfiguration. If the parsing was successful, the parsed address is stored as a child document (similar to MRZ). - Returns the issuing series of German ID Cards as part of the returned document as the Series field.
- Barcode Scanner:
BarcodeItemhas new properties:extendedQuadandextendedQuadNormalizedthat represent extended quads for 1D barcodes.rawBytesEncodingsthat contains the precise character encoding information ofrawBytes.structuredAppendInfothat contains the messages split across multiple barcodes.globalIndexto identify a barcode across multiple frames.
BarcodeScannerUiResulthas a new propertyselectedZoomFactorthat contains the value that the user used to scan the barcode.BarcodeScannerConfigurationhas a new propertyaccumulationConfigthat allows the accumulation of barcodes over multiple frames in live mode.- ScanbotBarcodeCameraView:
- Introduced a new optional callback
onBarcodeTapwhich is triggered when the user taps on a barcode AR overlay. - Added a new property
accumulationConfiginBarcodeCameraViewScannerConfigurationfor configuring accumulated barcodes across multiple frames in live mode. - Added a new property
optimizedForOverlaysinBarcodeCameraViewScannerConfigurationthat is used to produce more stable barcode outlines across frames.
- Introduced a new optional callback
- General:
- Added a new classic component,
ScanbotCroppingView. Learn more about it here. - Added a new analytics API. Subscription to events is now available, and events can be redirected to an external analytics system. See this example.
- Added a new mock camera API that allows injecting an image to simulate a video stream to the scanner camera session for UI testing. See this example.
CameraConfigurationhas new properties:fpsLimitto limit the rate of detections per second in normal performance mode.- iOS:
hardwareButtonsEnabledto enable zooming using the camera control button (iPhone 16 series).
- Android: Added new property
performanceHintApiinScanbotSdkConfiguration. If enabled, performance is increased due to increased use of top CPU cores.
- Added a new classic component,
- Document Scanner:
- 🚀 Improvements:
- Document Scanner:
- Increased performance for Document Scanner algorithms.
- iOS: Improved landscape-orientation layout of RTU-UI v2 screens.
- iOS: The zoomed page view in the RTU-UI v2 Review Screen now closes when you finish zooming while being below the minimum zoom value.
- iOS: Rebalanced the internally used photo capture settings to better match the photo quality prioritization modes. The mode
speedis now significantly faster, the modebalancedis a bit faster, and the modequalityis a bit slower with the best possible image quality. - Android: Don't rotate images if they are initially detected as rotated by 180 degrees.
- ScanbotDocumentScannerView:
- Introduced a boolean parameter to
snapDocumentto enable camera focus when set to true.
- Introduced a boolean parameter to
- OCR Engine:
- Improved performance of the Scanbot OCR engine by improving handling of special characters like umlauts when frame accumulation is used.
- Document Quality Analyzer:
- Improved performance. Document quality scores may slightly change for the same input images when compared to the previous version of the DoQA.
- MRZ Scanner:
- On US border crossing permits, the document number is now returned in the correct field.
- Dates in MRZ now also support
parsedDatacorrectly
- Text Pattern Scanner:
- General speed improvements.
- Now supports XNNPACK for faster inference
- Document Data Extractor:
- General speed improvements.
- Now detects whether a document is in focus and only starts the heavy recognition pipeline when image quality is suitable.
- Can now detect glare in images. Fields obstructed by glare will be returned with a validation status of
OBSTRUCTED. - Classification for documents with MRZ is more stable.
- More consistent usage of common field types.
- Improved maiden name processing for
DePassportandDeIdCard. - Now also supports the new German ID card format issued starting 2024.
- Check Scanner:
- If image cropping is enabled and is successful, check recognition is performed on the crop instead of the original image.
- Credit Card Scanner:
- Support for credit cards with an expiry date above the card number.
- Support for credit cards with a name written on two lines.
- Medical Certificate Scanner:
- Date recognition in Medical Certificate forms is now based on the Scanbot OCR Engine and shows significant quality improvements.
- Barcode Scanner:
- All Barcode AR overlays are now based on
extendedQuads. - Boarding pass document parser now supports up to version 8 of the IATA-BCBP standard.
- vCard document parser was improved.
- Android: Improved handling of back action with multiple dialogs and bottom sheets.
- All Barcode AR overlays are now based on
- General:
- Android: Improved the algorithm of high performance cores computation as the old one didn't work correctly on some devices (e.g., Pixel 9 Pro).
- Android: Integrated Android Performance Hint Session. This significantly improves multithreading performance for some scanners (e.g., Credit Card Scanner and Barcode Scanner) on devices that support the Hint Session (e.g. Pixel 9 Pro and Samsung S24 Ultra).
- Android: Added more debug level logging to
ScanbotCameraXViewevents. - Android: Updated custom CameraX ConfigProvider logic for Kiron devices.
- Document Scanner:
- 🐞 Bug fixes:
- Document Scanner:
- Fixed a bug in RTU-UI v2 Document Scanner where auto rotation was applied if no document was detected.
- iOS: Fixed a bug in RTU-UI v2 Document Scanner where the document could not be captured in auto snap mode when
enabledInAutoSnappingModewas set to false inShutterButton. - iOS: Fixed an issue on simulators where the shutter button was missing in the RTU-UI Document Scanner.
- iOS: Fixed an issue where documents were incorrectly rotated when using
modifyPage. - Android: Fixed an issue in RTU-UI v2 where multiple manual snaps in "single page" mode caused invalid screen behavior.
- Android: Fixed an issue in RTU-UI v2 where autofocus failed during the autosnap event.
- Android: Fixed an issue in RTU-UI v2 where the last scanned page's preview would not update on a specific layout configuration.
- Android: Fixed an issue in RTU-UI v2 where the start of the activity without initializing the Scanbot SDK was leading to an application crash.
- Android: Fixed insets in RTU-UI v1 for the shutter button when the app is built with target_sdk >= 35.
- ScanbotDocumentScannerView:
- Fixed an issue where document capturing produced an invalid result when image orientation was provided.
- PDF Image Extractor:
- iOS: Fixed wrong orientation of extracted images when the PDF page had a transform applied.
- Document Quality Analyzer:
- iOS: Fixed quality estimation for rotated images.
- MRZ Scanner:
- Fixed an issue causing
nullto be returned as a confidence of empty fields.
- Fixed an issue causing
- Credit Card Scanner:
- Returns the correct scanning status if no fields are recognized.
- Setting the confirmation method to interpolate when scanning credit cards no longer results in unsuccessful recognitions if all data was extracted and verified.
- iOS: Fixed a crash if document detection was not successful due to an
OK_BAD_ASPECT_RATIOstatus. - Android: Fixed an issue where an invalid status was not being returned when the frame accumulator confirmed an invalid field.
- Document Data Extractor:
- When
IssuerNumberis excluded on European health insurance cards, this no longer leads to theIssuerNamebeing incorrectly excluded. - MRZ fallback now also works when no accepted document types are selected.
- When
- Barcode Scanner:
- The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now all possible codewords are checked that encode the carrier identifier.
- vCard document parser now correctly processes the
FNkey asFormattedName. - Android: Fixed an issue where the
extractedDocumentwas not being generated for GS1 HandlingDecodeStructureandDecodeFull. - Android: Barcode Scanner RTU UI v2: fixed an issue where the back button navigation did not work.
- Storage Crypting:
- iOS: Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
- General:
- Fixed a rare division by zero crash in Credit Card Scanner, Document Data Extractor, and MRZ Scanner.
- iOS: Fixed a bug with scanned documents cloning when using per-file encryption.
- Android: Fixed handling of the back actions for modal dialogs in RTU-UI v2.
- Android: Prevent throwing exception when /sys/devices/system/cpu/cpufreq doesn't exist.
- Android: Fixed an issue with the black previews in classic components when the camera selected a square resolution on some Samsung and Xiaomi devices.
- Document Scanner:
- ⚠️ Breaking Changes:
- Barcode Scanner:
- ScanbotBarcodeCameraView:
- Removed
automaticSelectionEnabledproperty fromSelectionOverlayConfig. Each scanned barcode is sent to theonBarcodeScannerResultcallback.
- Removed
- ScanbotBarcodeCameraView:
- VIN Scanner:
- Renamed RTU v1
VinScannerConfigurationtoVinScannerScreenConfiguration.
- Renamed RTU v1
- Check Scanner:
- Moved
acceptedCheckStandardsconfiguration from the function signature intoCheckScannerConfigurationobject forrecognizeCheck.
- Moved
- Document Data Extractor:
- Removed
startDocumentDataExtractorandcloseDocumentDataExtractorRTU UI v1 and all associated types. See the newly added RTU UI v2startDocumentDataExtractor. - By default, only German documents are now enabled for scanning. Previously, all supported documents were enabled.
- Renamed
DeDriverLicenseFrontDocumentTypetoEuropeanDriverLicenseFrontDocumentType. Associated types/interfaces are also renamed. - Renamed
DeDriverLicenseBackDocumentTypetoEuropeanDriverLicenseBackDocumentType. Associated types/interfaces are also renamed.
- Removed
- General:
- Removed
useCameraXproperty fromScanbotSdkConfiguration.
- Removed
- Barcode Scanner:
- ⚠️ Deprecations:
- Marked
startCheckScannerandcloseCheckScannerRTU UI v1 as deprecated. Please see the new RTU UI v2 Check Scanner. - Marked
startVinScannerandcloseVinScannerRTU UI v1 as deprecated. Please see the new RTU UI v2 VIN Scanner. - Marked
refreshImageUris,applyImageFiltersOnPage,createPage,rotatePage,removePage,setDocumentImage,detectDocumentOnPageandextractPagesFromPdfas deprecated.
- Marked
- 🚙 Under the hood:
- Upgraded the native Scanbot iOS SDK to v7.1.2.
- Upgraded the native Scanbot Android SDK to v7.1.1.
- Added flatbuffers 2.0.6.
Version 7.0.1 (27 Jun 2025)
- 🐞 Bug Fixes:
- Document Scanner:
- iOS: Fixed a memory leak when dealing with grayscale images.
- Document Scanner:
- 🚙 Under the hood:
- Support for RN 0.80.
- Upgraded the native Scanbot iOS SDK to v7.0.3.
Version 7.0.0 (16 Jun 2025)
- 🎉 New:
- Document Scanner:
- Added the ability to auto-rotate the document based on the text orientation detected by the Document Quality Analyzer in Document Scanner RTU-UI v2.
- Introduced advanced generation settings for PDFs and TIFFs.
- Added the ability to show custom images in the Intro Screen for Document Scanner RTU-UI v2.
- Added a new document detection status
OK_BUT_TOO_DARK— triggered when a document is detected under poor lighting conditions.
- Document Quality Analyzer (DoQA):
- Can now return the orientation of the document. Enabled by
DocumentQualityAnalyzerConfiguration.detectOrientation. - Optionally returns a qualityHeatmap.
- Added support for an advanced on-image scanning configuration documentQualityAnalyzer call.
- Can now return the orientation of the document. Enabled by
- Credit Card Scanner:
- Added new Credit Card Scanner feature with Ready-to-Use UI (RTU UI v2). See startCreditCardScanner. It can also be used with Scan from Image approach. See recognizeCreditCard.
- MRZ:
- New RTU UI v2 is now available for MRZ Scanner. See startMRZScanner.
- Added support for non-ICAO conformant machine-readable zones on US border crossing cards.
- Text Pattern Scanner:
- New RTU UI v2 is now available for Text Pattern Scanner. See startTextPatternScanner.
- VIN Scanner:
- Added a new property
extractVINFromBarcodein VinScannerConfiguration that allows VIN data extraction from barcodes.
- Added a new property
- Document Data Extractor (DDE) (formerly Generic Document Recognizer):
- Now supports fallback to extraction of only the MRZ on unsupported documents.
- Added support for German driver qualification card.
- Document field validation now supports two additional statuses:
INFERREDandIGNORED. - Generic document fields now support
parsedDataattributes for standardized data (ISO 8601 dates, ISO 3166-1 countries, "Male"/"Female" gender). - Added support for an advanced on-image scanning configuration for: documentDataExtractor, recognizeEHIC, recognizeMedicalCertificate, recognizeMrz, recognizeCheck.
- Barcode Scanner:
- 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 an advanced on-image scanning configuration for detectBarcodesOnImage call.
- Added ability to configure common barcode properties via BarcodeFormatCommonConfiguration.
- Added
minimumSizeScoreto barcode configurations; barcodes withsizeScore < minimumSizeScoreare ignored. - Introduced
strictModefor certain barcode configurators (QR_CODE,MICRO_QR_CODE,RMQR_CODE,PDF_417,MICRO_PDF417, andGS1_COMPOSITE) to balance detection rate and false positives. - Added the ability to return the barcode image in the resulting object via
BarcodeScannerConfiguration.returnBarcodeImage. - Added new engine modes
NEXT_GEN_FAR_DISTANCE(optimized for scanning from far distances) andNEXT_GEN_LOW_POWER_FAR_DISTANCE(optimized for scanning from far on low-power devices). - Barcode scanning results have been enhanced with more detailed information, including
sizeScore. See BarcodeItem. - Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). Old sets removed.
- Cropped images returned as part of the scanner results are now represented as image references (ImageRef) that can be converted to base64 or saved to a path.
- Added exported array constants for union type values to clearly list all available options (for ex,
BarcodeFormatValues). - Android: Added a new property
keepScreenOnin all RTU-UI v2 scanner screen configurations to keep the device screen awake while scanning. - ScanbotBarcodeCameraView: Added a new
refreshRateproperty to BarcodeItemOverlayViewConfig. - ScanbotDocumentScannerView: Orientation mismatches on the document can now be ignored in the result.
- Document Scanner:
- 🚀 Improvements:
- Document Scanner:
- Added
OK_ORIENTATION_MISMATCHstatus, returned when screen and document orientations don't match. Can be ignored via configuration. - Improved DocumentScannerUserGuidance by providing
orientationMismatchlabel. - Improved the Document Scanner RTU-UI v2 acknowledgment's bad image quality hint by adding the ability to present up to 5 lines.
- iOS: Improved performance when editing a page in RTU-UI v2 Document Scanner Review Screen.
- iOS: Improved the accessibility handling in RTU-UI v2 Document Scanner. Accessibility for the document preview button is now activated only when scanned pages are available.
- Added
- Document Quality Analyzer (DoQA):
- Guarantee the same document quality score for 90 degrees rotated images.
- Image Processing:
- New Image Processor preset
BinarizationFilterPreset.PRESET_5for documents with barcodes.
- New Image Processor preset
- PDF & TIFF Generation:
- PDF Generator with OCR layer now handles non-ASCII characters correctly.
- MRZ:
- For pre-2022 Costa Rican passports, ID Number is returned as documentNumber and Sequence Number as personalNumber in MRZ fields.
- Text Pattern Scanner:
- Improved performance with the same quality.
- VIN Scanner:
- Validation of VINs implements the full ISO 3779 standard, reducing false positives.
- Document Data Extractor (DDE):
- Digits can no longer be recognized as part of given names or surnames.
- Higher accuracy for document classification.
- Barcode Scanner:
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
stripCheckDigits = true. - Significant speed-up in live mode on very large input resolutions.
- Improved barcode detection for various barcode types.
- GS1 Composite codes are now processed faster when scanned from image.
- More robust QR code recognition (timing patterns, alignment, artistic QR codes).
- QR codes with non-square finder patterns and embedded in adversarial backgrounds can now be recognized.
- Improved quiet zone checks for
ITF,CODE_11,MSI_PLESSEY,IATA_2_OF_5,INDUSTRIAL_2_OF_5, andCODE_25. - Improved the false positive rate for
ITFbarcodes. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for Barcode Scanner RTU-UI v2 (BarcodeScannerConfiguration.onlyAcceptDocuments).
- Added support for
maximumTextLengthconstraint onCODE_11,CODE_39,CODE_93,CODE_128, andCODABARbarcode formats. - Improved performance when scanning four-state postal barcodes.
- Added new accessibility descriptions for some buttons in BarcodeTextLocalization.
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
- Added new accessibility descriptions for the buttons in ActionBarConfiguration.
- Document Scanner:
- 🐞 Bug Fixes:
- Document Scanner and Data Capture modules:
- Fixed Document Scanner point sorting.
- Fixed Document Data Extractor bug determining validation status when fields excluded.
- Fixed Document Data Extractor incorrect handling of Driver License expiry date validation.
- Fixed DDE merging of maidenName and surname on some German ID cards.
- Fixed DoQA crash when
maxImageSizewas 0. - Fixed DoQA patch size when
minFraction= 1. - Resolved DDE high peak memory consumption issue.
- Fixed Text Pattern Scanner incorrect output for Unicode symbols.
- Clamped parametric filters radius to 127.
- iOS: Fixed UI bug in Document Scanner RTU-UI v2 where the bar buttons weren't properly grayed out when disabled.
- iOS: Fixed UI bug in Document Scanner Classic UI where accepted document's
fillColorwasn't removed withautoSnapProgressfillColor. - iOS: Fixed processing of still images of an indexed color space model in all scanners, DoQA, and PDF/TIFF generators.
- Android: In Document Scanner RTU-UI v2,
PageSnapFeedbackNone()no longer prevents auto-transition to review screen at max pages limit. - Android: Removed accessibility container for user guidance image in Document Scanner RTU-UI v2.
- Android: Cropping Screen RTU-UI v2 status bar light/dark mode now correctly applied.
- Android: Cropping Screen RTU-UI v2 now returns result instead of canceling if no changes were made.
- Android: Fixed Document Scanner
fillPolygonColor(not filled by default) RTU-UI v1. - Android: Fixed Document Scanner/Finder User Guidance default background for RTU-UI v1.
- Android: Fixed Document Scanner shutter button default color for RTU-UI v1.
- Android: Fixed Check Scanner User Guidance default background (was absent) for RTU-UI v1.
- Android: Fixed Medical Certificate Scanner User Guidance default background (was absent) for RTU-UI v1.
- Barcode Scanner:
- Fixed returned results for all types of UpcEanExtensionBehavior.
- Fixed checksum for
CODE_39barcode format. - Fixed an overflow when decoding
MICRO_QR_CODEwith wrong bits in numeric mode. - Fixed
minimumTextLengthforITFbarcode format (checked symbols instead of text length). - Fixed sorting of quad points for four-state/postal barcode types.
- In
Code11barcodes with 10 data digits, whenchecksumis enabled andstripCheckDigitsis true, scanner now correctly strips both check digits. - iOS: Fixed a bug in Barcode Scanner RTU-UI v2 where the flip camera button was not resetting to the widest available camera.
- iOS: Fixed a UI bug in Barcode Scanner RTU-UI v2 where the sheet button overlapped the action bar.
- iOS: Fixed a bug in AR Barcode Scan and Count where the scanner would get stuck if no barcode was detected.
- iOS: Fixed an issue in RTU-UI v2 where the introduction screen appeared automatically even when camera access was denied.
- iOS: Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behavior.
- iOS: Fixed a crash in SBSDKBaseScannerViewController caused by camera access being restricted by system-wide settings (e.g. Parental Controls / Screen Time).
- Android:
FindAndPickScanningMode.sheetContent.barcodeItemImageVisiblein RTU-UI v2 now correctly applies visibility.
- ScanbotBarcodeCameraView:
- Android: Fixed the resolution strategy for the square preview.
- Android: When
barcodeItemOverlayViewBindercallback is set,textFormatproperty inselectionOverlayConfigfor Classic UI is considered.
- Android: Fixed screen insets for Android API 35 with forced edge-to-edge mode by opting out for RTU-UI v1 screens.
- Android: In RTU-UI v2, modal dialog no longer appears below status bar.
- Android: Accessibility content for action buttons in RTU-UI v2 now properly applied.
- Document Scanner and Data Capture modules:
- ⚠️ Breaking Changes:
ResultWrapperhas been removed from all API responses, except those returned by RTU UI.initializeSDKnow returns aLicenseInfoResultinstead of the previous result format.- RTU-UI v1 Removal:
- Removed RTU-UI v1 APIs:
startMrzScanner,startTextDataScanner,startBarcodeScanner,startBatchBarcodeScanner,startLicensePlateScannerand related types. Use corresponding RTU UI v2 methods.
- Removed RTU-UI v1 APIs:
- Feature renaming:
- Renamed
startGenericDocumentRecognizertostartDocumentDataExtractorand related types fromGenericDocumentRecognizertoDocumentDataExtractor. - Renamed
startCheckRecognizertostartCheckScannerand related types fromCheckRecognizertoCheckScanner. - Renamed
startMedicalCertificateRecognizertostartMedicalCertificateScannerand related types fromMedicalCertificateRecognizertoMedicalCertificateScanner. - Renamed
recognizeGenericDocumenttodocumentDataExtractor. - Renamed Text Data Scanner (also Generic Text Recognizer) to Text Pattern Scanner.
- Renamed
- Result Type Changes:
startEHICScannerandrecognizeEHICnow return EuropeanHealthInsuranceCardRecognitionResult.startMedicalCertificateScannerandrecognizeMedicalCertificatenow return MedicalCertificateScanningResult.startDocumentDataExtractoranddocumentDataExtractornow return DocumentDataExtractionResult.startCheckScannerandrecognizeChecknow return CheckScanningResult.startBarcodeScanner(RTU-UI v2) now returns BarcodeScannerUiResult.documentQualityAnalyzernow returns DocumentQualityAnalyzerResult.startVinScannernow returns VinScannerResult.- Renamed
GetLicenseInfoResulttoLicenseInfoResult,GetImageDataResulttoImageDataResult,GetOCRConfigsResulttoOCRConfigsResult.
- Configuration Object Changes:
- Replaced Barcode Scanner
recognizerConfigurationwithscannerConfiguration. - Replaced PDF
CreatePDFOptionswith PdfConfiguration. - Replaced TIFF
CreateTIFFOptionswith TiffGeneratorParameters. - Renamed
DocumentScannerConfigurationto DocumentScannerScreenConfiguration. - Renamed
BarcodeScannerConfigurationto BarcodeScannerScreenConfiguration. - Renamed
DocumentDetectorModeto DocumentScannerEngineMode and updated the type literals. - Renamed
documentDetectorModetodocumentScannerEngineModein ScanbotSdkConfiguration.
- Replaced Barcode Scanner
- Document Scanner Configuration:
- Removed properties (
acceptedAngleScore,acceptedSizeScore, etc.) fromDocumentScannerCameraConfiguration, moved to DocumentScannerParameters. acceptedSizeScoreandacceptedAngleScorerange changed from0..1to0..100.- Renamed
detectorModetoengineModeandignoreBadAspectRatiotoignoreOrientationMismatchin DocumentScannerScreenConfiguration and FinderDocumentScannerConfiguration.
- Removed properties (
- VIN Scanner Configuration:
- Renamed
minimumNumberOfRequiredFramesWithEqualRecognitionResulttominimumNumberOfRequiredFramesWithEqualScanningResultin VinScannerConfiguration.
- Renamed
- ScanbotBarcodeCameraView:
detectorConfigreplaced withbarcodeScannerConfiguration.onBarcodeScannerResultcallback parameter is nowBarcodeItem[].barcodeItemOverlayViewBindercallback parameter is nowBarcodeItem.- Renamed type
FinderInsettoCameraViewFinderInset. - Renamed type
AspectRatiotoCameraViewAspectRatio.
- ScanbotDocumentScannerView:
- Renamed type
AspectRatiotoCameraViewAspectRatio. - Removed property
ignoreBadAspectRatio; userequiredAspectRatios.
- Renamed type
- Changed default text values for
CameraPermissionstyled texts.
- 🚙 Under the hood:
- 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.0
- Android: Android Jetpack Compose updated to 1.7.8.
- Android: Updated Compile Sdk to 35.
- Android: Upgrade OpenCV to 4.10.
- iOS: The regex filters are applied for substrings instead of the entire output string.
- iOS: Upgraded CLI11 to 2.5.
Version 6.2.1 (21 Mar 2025)
- 🐞 Bug fixes:
- iOS: Resolved an issue where the iOS build failed when
use_frameworks!was enabled in the Podfile.
- iOS: Resolved an issue where the iOS build failed when
Version 6.2.0 (18 Feb 2025)
- 🎉 New:
- Added a new classic component,
ScanbotDocumentScannerView. Learn more about it here. - Added a new callback
barcodeItemOverlayViewBinderas a part ofSelectionOverlayConfiginScanbotBarcodeCameraView, that configures the selection overlay for each barcode item individually. - Barcode Scanner RTU-UI v2:
- Added accessibility description strings for flash, zoom and flip camera buttons.
- Document Scanner RTU-UI v2:
- Added support for setting magnetic line color in cropping screen.
- Added an option to suppress auto-cropping on manual snaps.
- Added a configurable title for the acknowledge screen.
- Added a new classic component,
- 🚀 Improvements:
- Android: Document Scanner RTU-UI v2: The Review Screen zoom button now allows its text to be hidden.
- Android: Improved
ScanbotCameraXresolution selection strategies for scanning, and preview cases. - iOS: The Generic Document Recognizer no longer needs the additional data bundle with OCR languages.
- iOS: The Generic Document Recognizer now returns ID number (document number field) and sequence number (personal number field) separately for pre-2022 Costa Rican passports.
- 🐞 Bug fixes:
- Fixed the returned result when submitting a document without any changes in the cropping UI.
- iOS: Fixed layout when hiding the text of the close button on zooming in RTU-UI v2 Document Scanner.
- iOS: Fixed a layout bug in the RTU-UI v2 cropping screen's top bar.
- Android: Fixed potential issue with
ScanbotBarcodeCameraViewduringonDestroywhen the AR overlay is displayed. - Android: Fixed nested views of
ScanbotDocumentScannerViewandScanbotBarcodeCameraViewwhen readjusting the parent view size. - Android: Cropping RTU-UI v2: Now returns successfully when the crop has not been adjusted and the apply button is pressed.
- Android: Document Scanner RTU-UI v2: The horizontal layout camera bar now has a fixed width.
- ⚠️ Breaking Changes:
shouldHighlightcallback is removed fromSelectionOverlayConfiginScanbotBarcodeCameraViewtogether with highlighted color properties. Please use the newbarcodeItemOverlayViewBindercallback 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.
- 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.1 (12 Dec 2024)
- 🐞 Bug fixes:
- Fixed a bug where legacy
Pagecouldn't be reused if thedocumentImageSizeLimitproperty was set on creation.
- Fixed a bug where legacy
Version 6.1.0 (5 Dec 2024):
- 🎉 New:
- Implemented new RTU-UI v2 Document Scanner screen with extended scanning and reviewing capabilities. Added
startDocumentScannerandstartCroppingScreenAPIs that can be imported fromreact-native-scanbot-sdk/ui_v2. See full documentation here. - Implemented new Document API to perform document creation and editing.
- Added support for German health insurance cards (front side) and European health insurance cards to
startGenericDocumentRecognizerandrecognizeGenericDocument. Added literalsDE_HEALTH_INSURANCE_CARD_FRONTandEU_HEALTH_INSURANCE_CARDtoGenericDocumentType. AddedEuropeanHealthInsuranceCardDocumentTypeandDeHealthInsuranceCardFrontDocumentTypetoDocumentsModelRootType. - 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
licenseStatusMessageinGetLicenseInfoResult. - Added a new optional property
addAdditionalQuietZoneinDetectBarcodesOnImageArguments. The default value is false. - Added a new optional property
recognizerParametersof typeHealthInsuranceCardRecognizerParametersinHealthInsuranceCardScannerConfigurationto configure live detection parameters. - Added a new property
accessibilityDescriptioninRoundButtonandButtonConfiguration. - Added a new optional property
encryptedImageFilesinCreatePDFArguments. The default value is false. - Added a new property
allowEmptySubmissioninMultipleScanningModeto allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2. - Added new optional properties
useIATA2OF5Checksum,useCode11ChecksumandaustraliaPostCustomerFormatinBarcodeScannerConfiguration,BatchBarcodeScannerConfiguration,BarcodeRecognizerConfigurationandDetectBarcodesOnImageArguments. - Added the ability to display the scanned barcode's image in the RTU-UI V2 Barcode Scanner
FindAndPickScanningModeUseCaseby specifyingExpectedBarcode.barcodeImageKeyfor the expected barcode'simageproperty. - Added a new type literal
CONFIRMEDinValidationStatustype inGenericDocument. - iOS: Added new zoom control slider (controlled by the new camera control button) to all view controllers. Available on all the new iPhone 16 models.
- Android: Added a new property
polygonInRootinFieldtype used inGenericDocument. - Android: Added support for 16KB page size (Android 15).
- Implemented new RTU-UI v2 Document Scanner screen with extended scanning and reviewing capabilities. Added
- 🚀 Improvements:
- Document detector:
- Improved detection speed and robustness against orientation changes.
- Improved robustness against picking up random contours.
- Improved robustness against documents with colored corners, booklets, handheld documents, and cards, documents near edges of tables, and overlapping documents.
- The Generic Document Recognizer now uses the new
SCANBOT_OCRengine under the hood. In order to scan generic documents, the additional OCR language data bundle is no longer required. - Improved detection of
UPCandEANextensions. - Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec barcodes.
- Improved performance of
documentQualityAnalyzer. - For
CODE_128andITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly. - iOS: Improved sharpness of captured images in
documentScannerby tweaking various timing related default values, such asautoSnappingDelay. - Android: Improved generic document recognition on static images.
- Document detector:
- 🐞 Bug fixes:
- Fixed KANJI mode for QR codes.
- iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModeUseCasethat never showed the expected barcodes title, but always the barcode value. - iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModeUseCasein 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
SingleScanningModeUseCasewhere the loading indicator was not centered when the loading message was hidden. - iOS: Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes are displayed along with their non-extended versions.
- 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 RTU-UI v2 Barcode Scanner's finder where the background color overlapped with the line color.
- iOS: Fixed a crash when zooming with invalid
minZoomandmaxZoomvalues. - iOS: Fixed a bug that did not mirror the front camera as expected.
- iOS: Fixed a bug where
acceptedDocumentFormatswhere not accepted inrecognizeGenericDocument. - Android: Fixed image preprocessing for
documentQualityAnalyzer. - 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: Fix point sorting in the contour detector.
- 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.
- Deprecated
startDocumentScanner,startFinderDocumentScanner,startCroppingScreenand related configurations and result types. See RTU-UI v2 Document Scanner. - Deprecated
startEHICScanner,recognizeEHICand related configurations and result types. - Removed property
codeDensityfromBarcodeScannerConfiguration,BatchBarcodeScannerConfiguration,BarcodeRecognizerConfigurationandDetectBarcodesOnImageArguments. - Removed property
sharpnessAcceptanceFactorfromGenericDocumentRecognizerConfigurationandRecognizeGenericDocumentArguments. - Removed type literals
VALIDATEandDECODEand replaced them withVALIDATE_STRUCTURE,DECODE_STRUCTURE,VALIDATE_FULLandDECODE_FULLinGs1HandlingMode. - Removed type literals
SUCCESS_FOUNDandERROR_TOO_BLURRYand added newERROR_UNKNOWN_DOCUMENT,ERROR_UNACCEPTABLE_DOCUMENTandINCOMPLETE_VALIDATIONinRecognitionStatus. - Renamed type
DetectionStatustoDocumentDetectionStatusand removedOK_BARCODEtype literal. - Changed default values for properties
enableCameraButtonandcloseButtoninCameraPermissionScreen. - Changed default values for properties
okButton,cancelButtonandactionButtoninScanbotAlertDialog. - Changed default value for property
visibleinArOverlayFindAndPickConfigurationto true forFindAndPickScanningMode. - Document models changes:
- Added property
cardAccessNumberand removed propertypininDeIdCardFrontandDeResidencePermitFrontmodels. pseudonymproperty now returnsField | undefinedinDeIdCardBackmodel.restrictionsproperty now returnsField | undefinedinDeDriverLicenseBackmodel.- Replaced
mproperty of typeDeDriverLicenseBack.Categories.Mwithamproperty of typeDeDriverLicenseBack.Categories.AM. - Replaced
standardandvalidationStatusfields withvalidationErrorsin theGS1.Elementclass.
- Added property
- Android: Changed
barcodesRegexFilterbehavior inBarcodeRecognizerConfigurationforBarcodeScannerConfigurationconfig for RTU-UI v2 Barcode Scanner. Barcodes are accepted if the barcode data contains the part that matches the regex. - Android: Some newly created files, like PDF, TIFF, or temporary images, will have different paths than previously created files.
- iOS: Added optional property
displayTextinField.Type. - iOS:
rotatePagerotates clockwise with negative values.
- 🚙 Under the hood:
- Upgraded the native Scanbot Android SDK to v6.1.2.
- 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.
- 🚀 Improvements:
- ScanbotBarcodeCameraView: Improved attachment and detachment of the barcode scanner.
- 🐞 Bug fixes:
- iOS: Fixed a crash when using React Native versions below 0.72.
Version 5.1.0 (26 Aug 2024):
- 🎉 New:
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Import
startBarcodeScannerfromreact-native-scanbot-sdk/ui_v2to leverage the new UI. See our updated documentation for a full set of examples and use cases. - Added new data recognizers on still images:
recognizeMedicalCertificate,recognizeEHIC,recognizeGenericDocument. - Added support for new barcode format MICRO_PDF_417.
MICRO_PDF_417literal added to typeBarcodeFormat. - Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- Added support for Canadian and UAE Check standards.
UAEandCANliterals added to typeCheckStandard. - Added support for German residence permits (2011 and 2019 formats) in GenericDocumentRecognizer.
DE_RESIDENCE_PERMIT_FRONTandDE_RESIDENCE_PERMIT_BACKliterals added to typeGenericDocumentType. Wrapper classes added for the generic document result (DeResidencePermitFront, DeResidencePermitBack). - Added new class-based image filters ParametricFilters:
ScanbotBinarizationFilterCustomBinarizationFilterColorDocumentFilterBrightnessFilterContrastFilterGrayscaleFilterWhiteBlackPointFilterLegacyFilter(encapsulates the deprecated ImageFilterType filters)
- Added new
VALIDATION_FAILEDliteral to typeCheckStatus. - Added new type
DocumentQualityAnalyzerArgumentsto better describe the input parameters for documentQualityAnalyzer. - Added new type
HealthInsuranceCardFieldTypeto better describe the type property inHealthInsuranceCardField. - Added new types
OCRBoundingBox,OCRResultBlockandOCRPageto better describePerformOCRResult. - Added new property
detectionStatusof typeHealthInsuranceCardDetectionStatusinHealthInsuranceCardScannerResult. - Added new property
acceptedBrightnessThresholdinDocumentScannerConfiguration,FinderDocumentScannerConfiguration. - Added new property
textDataValueFilterinTextDataScannerConfiguration. - Added new property
userDefinedFieldsof typeTIFFUserDefinedField[]inWriteTIFFArgument. - Added new property
minimumNumberOfSymbolsinDocumentQualityAnalyzerArguments. - Added new properties
pageFitMode,dpi,jpegQuality,resampleandocrConfigurationinCreatePDFArguments. - Added new properties
engineMode,lowPowerMode,codeDensityinDetectBarcodesOnImageArguments. - Added new property
parametricFiltersinPage. - Added new literals
OK_OFF_CENTERandOK_BARCODEto typeDetectionStatus. - Added new
applyImageFiltersandapplyImageFiltersOnPageAPIs that accept an array of parametric filters as input and apply them to an image or page, respectively. - The result of the document scanner RTU screen has metadata that shows the current state of the flash, multiPage, and autoSnapping settings during scanning.
- ScanbotBarcodeCameraView:
- Added new property
cameraZoomRangewhich sets the range of valid camera zoom factors. - Added new property
cameraModulewhich sets the camera device being used for scanning. - Added new property
minFocusDistanceLockwhich locks focus distance within minimum possible range. - Added new property
lowPowerModewhich regulates energy consumption. - Added new property
barcodesExtensionFilterwhich sets the extension filter for EAN and UPC barcodes. - Added new property
finderInsetwhich sets the minimum space from view finders outer edges to the view edges. - Added new property
codeDensitywhich sets expected density of QR codes. - Added new methods
freezeCameraandunfreezeCamerawhich control the camera preview. - Added new config
selectionOverlayConfigwhich configures the selection overlay.
- Added new property
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Import
- 🚀 Improvements:
- The Barcode Scanner now supports transposed (mirrored/flipped) Aztec barcodes.
- The Health Insurance Card Recognizer now implements the new Scanbot OCR engine. The recognition is faster and more accurate than before.
- 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.
- iOS: Improved the installation of custom OCR languages for the Tesseract OCR engine.
- iOS: Improved speed and image quality of still image capturing.
- iOS: Added support of haptic feedback on capable devices.
- Android: Optimized speed of the camera preview frames handling for all scanners.
- Android: Optimized memory consumption for PDF rendering with encryption enabled.
- Android: Text detection is faster and more accurate.
- Android: Improved MRZ parser for a stronger rejection of outliers.
- Android: Improved speed and quality of scanning for GenericDocumentRecognizer.
- Android: Changed touch to focus square in the native camera view to a circle.
- Android:
writeTiffAPI method can be used with encryption. - ScanbotBarcodeCameraView:
- Improved overall performance and reliability.
- Improved consistency between the behaviors on Android and iOS.
- Added support for the new React Native Fabric renderer.
- 🐞 Bug fixes:
- Android: For BarcodeFormat.PDF_417, a single case to generate clusters was not covered, which led to a crash.
- Android: Fixed an issue with misaligned barcode polygons on some devices with horizontal orientation.
- Android: Fixed null pointer exception for PageFileStorage operations.
- Android: BarcodeExtensionsFilter now accepts EAN and UPC barcodes with extensions only and all other formats without extensions.
- Android: Fixed
recognizeMRZAPI crash on some devices due to incorrect image loading.
- ⚠️ Breaking changes:
- React Native SDK 0.68 is the minimum supported version.
- Android: Important: Previously in order to use the plugin, manual linking was needed in android project (android/settings.gradle). There is no need for that anymore. Linking is done automatically, but you need to remove the manual linking, otherwise the plugin won't work starting from v5.1.0.
- startBarcodeScanner, closeBarcodeScanner, startBatchBarcodeScanner, closeBatchBarcodeScanner have been deprecated.
- Removed getFilteredDocumentPreviewUri and associated types. Please utilize applyImageFiltersOnPage.
- Removed detectBarcodesOnImages and associated types. Please utilize detectBarcodesOnImage.
- Removed literal
FAILfromCheckStatus. All failed check recognitions are now being rejected. - Removed literals
CCITTFAX3andCCITTFAX4fromTIFFCompression. UseCCITT_T4andCCITT_T6respectively. - Replaced
GenericDocumentWrapperwith the improvedGenericDocument. - Changed
formattedResulttype to aGenericDocumentinBarcodeResultField. Removed the previous barcode document interfaces (AAMVADocumentFormat, BoardingPassDocumentFormat, GS1DocumentFormat, IDCardPDF417DocumentFormat, MedicalCertificateDocumentFormat, MedicalPlanDocumentFormat, SEPADocumentFormat, SwissQRCodeDocumentFormat, VCardDocumentFormat), and replaced them with the improved and more capable wrapper classes (AAMVA, BoardingPass, GS1, IDCardPDF417, MedicalCertificate, DEMedicalPlan, SEPA, SwissQR, VCard). - Changed
checktype to aGenericDocumentinCheckRecognizerResult. Removed the previous check document interfaces (USACheckDocument, FRACheckDocument, KWTCheckDocument, AUSCheckDocument, INDCheckDocument, ISRCheckDocument, UnknownCheckDocument), and replaced them with the improved and more capable wrapper classes (USACheck, FRACheck, KWTCheck, AUSCheck, INDCheck, ISRCheck, UnknownCheck). - Changed
mrztype to aGenericDocumentinRecognizeMRZResult. Removed the previous mrz document interface (MRZDocument) and replaced it with the improved and more capable wrapper class (MRZDocument). - Changed
documentstype to aGenericDocument[]inGenericDocumentRecognizerResult. Removed the previous generic document interfaces (MRZDocument, DeIdCardFrontDocument, DeIdCardBackDocument, DePassportDocument, DeDriverLicenseFrontDocument, DeDriverLicenseBackDocument), and replaced them with the improved and more capable wrapper classes (MRZ, DeIdCardFront, DeIdCardBack, DePassport, DeDriverLicenseFront, DeDriverLicenseBack). - Changed
acceptedCheckStandardsproperty type toCheckDocumentModelRootTypein recognizeCheck. - Replaced literals
RSS_14andRSS_EXPANDEDwithDATABARandDATABAR_EXPANDEDinBarcodeFormat. - Replaced property
oneBitEncodedwithbinarizationFilterinWriteTIFFArguments. - Renamed property
pageOrientationtopageDirectioninCreatePDFArguments. - Renamed type
MRZDocumentTypetoMRZDocumentTypes,PDFPageSizetoPageSize,PDFPageOrientationtoPageDirection. - Removed type
RemovePageResult. removePage now returns status only. - Removed type
CheckRecognizerScreenResult. - Removed applyImageFilter and applyImageFilterOnPage. The new applyImageFilters and applyImageFiltersOnPage accept parametric filter array.
- The following properties are now required:
pageinCroppingResultdocumentImageFileUriandpolygoninDetectDocumentResultresultinTextDataScannerResult- all properties of
LicensePlateScannerResult - all properties of
VinScannerResult
- Reworked performOCR parameters and result. See
PerformOCRResultandPerformOCRArguments. - 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.
BarcodeFormat.CODE_25is no longer being scanned with the default configuration and needs to be included explicitly in the barcode formats array for all barcode scanners.- 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.
- 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.
- onBarcodeScannerResult now returns
BarcodeScannerResultinstead ofScanbotBarcodeCameraViewResult. - Renamed property
shouldUseFinderViewtoviewFinderEnabled. - Renamed property
finderAspectRatiotorequiredAspectRatio. - renamed property
finderMinimumPaddingtominPadding. - Removed property
finderBackgroundColorandfinderBackgroundOpacityin favor ofoverlayColor.overlayColoraccepts ColorValue through which opacity can be set. - Removed property
finderVerticalOffset. - Removed property
requestComponentReload.
- 🚙 Under the hood:
- Upgraded the native Scanbot Android SDK to v5.1.3.
- Upgraded the native Scanbot iOS SDK to v5.1.4.
- Added 3rd-party library libzueci version 1.0.0.
- Updated 3rd-party libraries: libjpeg-turbo to 2.1.5.1, libpng to 1.6.40 and libtiff to 4.6.0.
- iOS: Refactored all public SDK code to Swift.
- iOS: Updated 3rd-party library zlib to version 1.3.1.
- Android: Added 3rd-party library zlib.
- Android: Added Theme.AppCompat.NoActionBar theme as default for Barcode Scanner RTU UI v2 activity.
- Android: Fixed pro-guard rules for DocumentQualityAnalyzer.
- Android: Added more rules for R8 shrinker to work adequately with AGP >= 8.
- Android: Added an R8 consumer rule to keep the internals of io.scanbot.core.processor.ImageProcessor from shrinking/obfuscating.
- Android: Added Consumer Proguard rules for RTU UI v2 modules.
- ScanbotBarcodeCameraView:
- Android: Replaced the native component ScanbotCameraView with the new and improved ScanbotCameraScannerView.
Version 4.16.0 (19 Apr 2024):
- 🎉 New:
- Introduced VIN Scanner RTU UI.
- 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_LIMITEDandGS1_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_OCRengine. 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_WIDESTforCameraModule(iOS only). - Added a type literal,
CREW_MEMBER_CERTIFICATEforMRZDocumentType. - Added new types:
FinderDocumentScannerResultthat describes the result ofstartFinderDocumentScanner.BarcodeScannerResultthat describes the result ofstartBarcodeScanner.BatchBarcodeScannerResultthat describes the result ofstartBatchBarcodeScanner.TextDataRecognitionResultthat describes the result ofTextDataScannerResult.HealthInsuranceCardFieldthat describes the fields of theHealthInsuranceCardScannerResult.MedicalCertificateDatesInfo,MedicalCertificateCheckboxesInfo,MedicalCertificatePatientDataInfoandMedicalCertificatePatientDataInfoFieldto better describeMedicalCertificateRecognizerResult.PerformOCRArgumentsto better describe the arguments forperformOcrfunction.CreatePDFArgumentsto better describe the arguments forcreatePDFResultfunction.WriteTIFFArgumentsto better describe the arguments forwriteTIFFfunction.
- Added new properties in the following configurations:
DocumentScannerConfiguration-flashButtonHidden,flashButtonTitle,touchToFocusEnabledandpreferredAspectRatios.FinderDocumentScannerConfiguration-flashButtonHiddenandtouchToFocusEnabled.CroppingConfiguration-topBarTitleandtopBarTitleColor.BarcodeScannerConfigurationandBatchBarcodeScannerConfiguration-barcodesExtensionFilter,flashButtonHidden,flashButtonTitle,touchToFocusEnabled,viewFinderEnabled,barcodeValueFilterandconfirmationDialogConfiguration.MrzScannerConfiguration,HealthInsuranceCardScannerConfiguration,TextDataScannerConfiguration,LicensePlateScannerConfiguration,MedicalCertificateRecognizerConfiguration,CheckRecognizerConfigurationandGenericDocumentRecognizerConfiguration-flashButtonHidden,flashButtonTitleandtouchToFocusEnabled.
- Added support for inverted PDF-417 barcodes.
- MRZ support for td1 long document standard.
- Android: Added a new implementation of
extractImagesFromPdfandextractPagesFromPdf. - iOS: Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK.
- 🚀 Improvements:
- Improved accuracy and detection speed of
QR_CODE,CODE_39, andCODE_93barcode types. - Improved the speed of barcode recognition for most barcode symbologies.
- Improved contour lines detection with ML Based detection.
- 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
cameraZoomRangein all RTU-UI configurations.
- Improved accuracy and detection speed of
- 🐞 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_25results whenINDUSTRIAL_2_OF_5was enabled andCODE_25was disabled. Now, we do not return theCODE_25result 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_39andCODABARbarcodes. - Android: Fixed colors not being applied to fields in
GenericDocumentRecognizerConfiguration. - Android: Fixed crash in
TextDataScanneron 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
autoSnapProgressEnabledandpolygonAutoSnapProgressEnabledmethods inFinderDocumentScannerConfigurationandDocumentScannerConfigurationrespectively. - Android: Fixed
textDataScannerStepnot applying inTextDataScannerConfiguration. - Android: Fixed behavior of
ocrResolutionLimitinTextDataScannerConfiguration. - Android: Corrected mapping of
userGuidanceStringsinCheckRecognizerConfiguration. - Android: Fixed
enableCameraButtonTitleandenableCameraExplanationTextparameters onBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration. - iOS: Fixed issues with
performOCRfunctionality. - 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
automaticSelectionEnabledwas not working properly inBarcodeScannerConfiguration. - iOS: Fixed a bug where
flashEnabledwas not working properly inHealthInsuranceCardScannerConfiguration. - iOS: Fixed a bug where
ocrResolutionLimitwas not being used inTextDataScannerConfiguration. - 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
viewFinderEnabledwas disabled inBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration. - iOS: Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
- iOS: Fixed rare cases where RTU UI screens were not shown and the application froze.
- iOS: Fixed a bug where
recognizeGenericDocumentdid not accept anyacceptedDocumentFormatsvalues.
- ⚠️ 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!
statusproperty is included inResultWrapperinterface and extracted from all resulting interfaces.- All file outputs are now represented as encoded URI strings.
ImageFilterTypetype literals were changed. Replace the type literals in order to useapplyImageFilter,applyImageFilterOnPage,getFilteredDocumentPreviewUriand allPagefunctionalities.- MRZ Scanner and
recognizeMRZresult breaking changes: field property in the result was removed and replaced withmrzof typeMRZDocument. All types associated with fields property have been removed. - Check Recognizer and
recognizeCheckresult breaking changes: field property in the result was removed and replaced withcheckof typeCheckDocument. All types associated with fields property have been removed. GenericDocumentRecognizerresult breaking changes: result was restructured to return an array containing the typesMRZDocument,DeIdCardFrontDocument,DeIdCardBackDocument,DePassportDocument,DeDriverLicenseFrontDocumentorDeDriverLicenseBackDocument. Previous types and properties have been removed.- The
estimateBlurfunctionality has been removed and replaced by the far superiordocumentQualityAnalyzer. recognizeCheckargument was redefined to be an object that containsimageFileUriandacceptedCheckStandards.- The property
enableGS1Decodinghas been replaced by gs1HandlingMode inBarcodeScannerConfiguration,BatchBarcodeScannerConfigurationandScanbotBarcodeCameraViewConfiguration. GS1 codes are now handled differently for various barcode types. Using the default optionPARSEwill give the same result as before for all barcode types, except ofRSS_EXPANDED. Previously, forRSS_EXPANDED, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, choose the optionDECODE. - Property
supportedLanguageshas been removed fromHealthInsuranceCardScannerConfiguration. - Property
barcodeImageGenerationTypehas been removed fromBarcodeScannerConfiguration. - Properties
rawTextandisValidationSuccessfulwere removed fromLicensePlateScannerResult. - Property
textFilterStrategyhas been removed fromTextDataScannerStep. - Property
subfilesinAAMVADocumentFormatnow returns an array ofAAMVADocumentSubfile. - Removed type literal
TRAVEL_DOCUMENTfromMRZDocumentType. - Type literals for types
CapturePhotoQualityPrioritization,LicensePlateScanStrategy,MSIPlesseyChecksumAlgorithm,GenericDocumentTypeandFieldDisplayStatehave been modified. - Type
FinderAspectRatiowas renamed toAspectRatio. - Type
InitializationOptionswas renamed toScanbotSdkConfiguration. - Type
CameraImageFormatwas renamed toStorageImageFormat. - Removed JS Helpers:
JSTextFunction,JSTextFunctionBuilder,JSStringToBoolTextFunction,JSStringToStringTextFunction,JSStringToBoolTextFunctionBuilderandJSStringToStringTextFunctionBuilder.
- 🚙 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
storageImageQualityparameter in InitializationOptions. - Fixed options being ignored when calling SDK functions:
writeTiff,performOCR. - Fixed parsing of custom storage path for file URIs on iOS
- Fixed
performOCRfor content file URIs
- Android: fixed
- ⚠️ Breaking changes:
- Removed Sensitive Binarization Image Filter
Version 4.15.4 (29 Sep 2023):
- 🎉 New:
- Introduced
FinderDocumentScannerRTU UI
- Introduced
- 🐞 Bug fixes:
- iOS:
pageImageSourceadded to page response - iOS: fixed property
documentImageSizeLimitnot being set properly - iOS: fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
- Android: added new enum values
PageImageSource.UNDEFINEDandPageImageSource.IMPORTtoPageImageSource - Android: renamed
previewImageUritooriginalPreviewImageFileUri - Android: fixed
documentImageSizeLimitreturning an empty string - Android: fixed
documentImageSizeLimitcast error - Android:
filterproperty from thePageresponse now returns the correct value type ofImageFilterTypeinstead ofImageFilter - Android: Min SDK was decreased back to 21
- iOS:
- ⚠️ Breaking changes:
- Replaced
ImageFilterwithImageFilterType.applyImageFilter,applyImageFilterOnPageandgetFilterDocumentPreviewUrinow useImageFilterTypetype value as an argument.
- Replaced
Version 4.15.3 (29 Jun 2023):
- 🎉 New:
- Introduced exported
GenericDocumentNormalizedFieldsconstant for easier configuration ofGenericDocumentRecognizer
- Introduced exported
- 🐞 Bug fixes:
- iOS: Fixed storage issues that would cause different SDK functions to fail when a custom storage directory was not specified
- Android: Fixed
licenseExpirationDatemissing fromgetLicenseInfo()result
- 🚀 Improvements:
- iOS: Automatically removing minihash query parameter from URLs passed to SDK functions
- Android: Optimized
getImageData()to return smaller Base64 strings Note:NO_WRAPencoding 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_5andINDUSTRIAL_2_OF_5 - Introduced Check Recognizer Ready-To-Use UI (
startCheckRecognizer) andrecognizeCheckOnImageAPI 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
overlayConfigurationinBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration - Document Scanner:
- Added new properties in DocumentScannerConfiguration:
userGuidanceFontSizetextHintOffCenterstopsCameraSessionWhenDisappearedphotoQualityPriorizationforceUserGuidancedetectorModedefaultPageFiltercancelButtonHiddencameraUnavailableExplanationTextcameraPreviewMode
- Added new properties in DocumentScannerConfiguration:
- MRZ Scanner:
- Added
rawStringin MRZ Result, which contains the detected raw MRZ text - Added new properties in MrzScannerConfiguration:
cancelButtonHiddenfinderAspectRatioflashButtonHiddentopBarButtonsActiveColortopBarButtonsInactiveColorreplaceCancelButtonWithIconcameraPreviewModeautoCancelTimeout
- Added
- Barcode Scanner:
- Added new properties in BarcodeScannerConfiguration:
enableCameraButtonTitleenableCameraExplanationTextflashButtonHiddenfocusLockEnabledfocusLockPositionminFocusDistanceLockreplaceCancelButtonWithIconcameraPreviewModecameraZoomRangeautoCancelTimeoutcodeDensitybarcodeImageGenerationTypeinitialScanDelaydelayAfterScandoubleTapToZoomEnabledpinchToZoomEnabledshouldAnimateZoomingconfirmationDialogConfigurationoverlayConfiguration
- Added new properties in BarcodeScannerConfiguration:
- Batch Barcode Scanner:
- Added new properties in BarcodeScannerConfiguration:
enableCameraButtonTitleenableCameraExplanationTextflashButtonHiddenfocusLockEnabledfocusLockPositionminFocusDistanceLockreplaceCancelButtonWithIconcameraPreviewModecameraZoomRangeautoCancelTimeoutcodeDensitybarcodeImageGenerationTypeinitialScanDelaydelayAfterScandoubleTapToZoomEnabledpinchToZoomEnabledshouldAnimateZoomingconfirmationDialogConfigurationoverlayConfiguration
- Added new properties in BarcodeScannerConfiguration:
- Health Insurance Card Scanner:
- Added new properties in HealthInsuranceCardScannerConfiguration:
enableCameraButtonTitleenableCameraExplanationTextflashButtonHiddentopBarButtonsActiveColortopBarButtonsInactiveColorreplaceCancelButtonWithIconcameraPreviewMode
- Added new properties in HealthInsuranceCardScannerConfiguration:
- Text Data Scanner:
- Added new properties in TextDataScannerConfiguration:
cancelButtonHiddenenableCameraExplanationTextflashButtonHiddenflashButtonTitleorientationLockModetopBarButtonsActiveColortopBarButtonsInactiveColoruseButtonsAllCapsreplaceCancelButtonWithIconcameraPreviewModetextDataScannerStep
- Now you can also specify a threshold used to pause the detection after significant movement occurred; use property
significantShakeDelayinsidetextDataScannerStepin TextDataScannerConfiguration
- Added new properties in TextDataScannerConfiguration:
- License Plate Scanner:
- Added new properties in LicensePlateScannerConfiguration:
topBarButtonsActiveColorconfirmationDialogStyleconfirmationDialogConfirmButtonStyleconfirmationDialogRetryButtonStyleenableCameraButtonTitleenableCameraExplanationTextfinderPreferredHeightflashButtonHiddenflashButtonTitlesignificantShakeDelayreplaceCancelButtonWithIconcameraPreviewMode
- Added new properties in LicensePlateScannerConfiguration:
- Medical Certificate Recognizer:
- Added new properties in MedicalCertificateScannerConfiguration:
cameraOverlayColorfinderLineColorfinderLineWidthflashButtonHiddenflashButtonTitleuserGuidanceHiddenrecognizePatientInforeturnCroppedDocumentImageerrorDialogStyleerrorDialogTitleerrorDialogAccentColorerrorDialogMessageerrorDialogOkButtonerrorDialogOkButtonFillederrorDialogOkButtonFilledTextColorerrorDialogButtonStyleshowFinderOverlayuserGuidanceStringscameraPreviewModefinderAspectRatiofinderSecondaryAspectRatio
- Added new properties in MedicalCertificateScannerConfiguration:
- 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
- ⚠️ 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 settingacceptedDocumentTypesin GenericDocumentRecognizer to['DeIdCardFront', 'DeIdCardBack']. What used to beIdCardScannerResultwill be contained in thefieldsproperty ofGenericDocumentRecognizerResultwhen you explicitly cast it toDeIdCardResultlike this:let idCardResult = result.fields as DeIdCardResult; the result is slightly different:- Fields
pin,pseudonymandmaidenNamewere removed; - Field
mrzhas been renamed torawMrz
- Fields
- Removed NFC Passport Reader
- Replaced
interfaceOrientation(ALL, PORTRAIT, LANDSCAPE) withorientationLockMode(NONE, PORTRAIT, LANDSCAPE) in all RTU Configurations; if you were usingALLyou can replace it withNONE. - MRZ Scanner:
- Removed
finderHeightandfinderWidthfrom MrzScannerConfiguration; from now on, use the new propertyfinderAspectRatio - Removed
topBarButtonsColorfrom MrzScannerConfiguration and addedtopBarButtonsActiveColorandtopBarButtonsInactiveColor; now you can set the color for each state in which the buttons might be in
- Removed
- Batch Barcode Scanner:
- Removed unused property
recognitionEnabledfromBatchBarcodeScannerConfiguration
- Removed unused property
- Health Insurance Card Scanner:
- Removed property
validationTypefromHealthInsuranceCardScannerConfiguration - Removed properties
flashButtonInactiveColorandtopBarButtonsColorfromHealthInsuranceCardScannerConfigurationand addedtopBarButtonsActiveColorandtopBarButtonsInactiveColor; now you can set the color for each state in which the buttons might be in - Removed unused property
recognitionEnabledfromHealthInsuranceCardScannerConfiguration
- Removed property
- Text Data Scanner:
- The following properties are now inside the new property
textDataScannerStep(of type TextDataScannerStep) in TextDataScannerConfiguration:guidanceTextpatternshouldMatchSubstringpreferredZoomaspectRatiounzoomedFinderHeightallowedSymbolstextFilterStrategy
- Removed properties from TextDataScannerConfiguration:
flashButtonInactiveColorrecognitionEnabledtitletopBarButtonsColor- addedtopBarButtonsActiveColorandtopBarButtonsInactiveColor; now you can set the color for each state in which the buttons might be invalidationBlockstringSanitizerBlock
- The following properties are now inside the new property
- License Plate Scanner:
- Renamed
detectorModein LicensePlateScannerConfiguration toscanStrategy - Renamed
topBarButtonsColortotopBarButtonsActiveColorin LicensePlateScannerConfiguration
- Renamed
- Medical Certificate Recognizer:
startMedicalCertificateScannerhas been renamed tostartMedicalCertificateRecognizerMedicalCertificateScannerConfigurationhas been renamed toMedicalCertificateRecognizerConfigurationMedicalCertificateScannerResulthas been renamed toMedicalCertificateRecognizerResult- Removed "data" field of type
MedicalCertificateScannerResultDatafrom the result inMedicalCertificateScannerResult; its fields are now at top-level - Removed unused field
validationConfidencefrom the result date fields inMedicalCertificateScannerResult - Removed properties from configuration:
extractPatientInfo(renamed torecognizePatientInfo)guidanceText(useuserGuidanceStringsinstead)errorDialogText(useerrorDialogMessage; also see new error dialog properties)
- TypeScript: all the SDK types are now directly exported from
- 🚀 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
finderVerticalOffsetwrong direction in ScanbotBarcodeCameraView configuration - iOS: Fixed
stripCheckDigitsnot 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:
Version 4.14.0 (3 Mar 2023):
- 🚀 Improvements:
- Internal refactoring and improvements
- 🐞 Bug fixes:
- Fixed conflicts in
ScanbotBarcodeCameraViewcaused by usage of deprecated dimensions listener in RN 0.70+ - Android: Fixed
ScanbotBarcodeCameraViewnot recognizing barcodes after navigating back from another screen - Android: Fixed
interfaceOrientationnot working for valueALL - Android: Fixed configuration properties being ignored under some conditions
- Android: Fixed issues when
engineModeis not set inScanbotBarcodeCameraView
- Fixed conflicts in
- 🚙 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
- Upgraded the native Scanbot Android SDK to v1.93.1.665 which contains a special hotfix for the back navigation problem in
Version 4.13.1 (22 Jun 2022):
- 🚀 Improvements:
- Updated README
Version 4.13.0 (25 May 2022):
- 🎉 New:
- New checkbox types are now supported for Medical certificates:
requiresCareNo,accidentNo,otherAccident. See Medical Certificate Scanner - Added
extractPatientInfoinMedicalCertificateScannerConfigurationwhich allows deciding whether the information of the patient is extracted or not. - Added
cancelButtonHiddeninMedicalCertificateScannerConfigurationwhich allows hiding the cancel button. iOS only. - Added
guidanceTextinMedicalCertificateScannerConfigurationwhich allows configuring the guidance texts. - Added
errorDialogTextinMedicalCertificateScannerConfigurationwhich allows configuring the error alert texts. - Removed unused configuration parameters in
MedicalCertificateScannerConfiguration. - Added
topAndBottomButtonsSwappedinCroppingScreenConfigurationto invert the top and bottom buttons' position.
- New checkbox types are now supported for Medical certificates:
- 🚀 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
topBarButtonsActiveColorinMedicalCertificateScannerConfigurationwas not working on both iOS and Android. - The configuration
topBarButtonsInactiveColorinMedicalCertificateScannerConfigurationwas not working on iOS.
- ⚠️ Breaking changes:
capturedPageproperty is removed fromMedicalCertificateScannerResultDataandimageFileUriproperty is introduced as a replacement forcapturedPageinMedicalCertificateScannerResultData
- 🚙 Under the hood:
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
allowGpuAccelerationtotruewhen you initialize the SDK - 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
SBSDKPDFPagesExtractorwith transformed PDF pages - iOS: Fixed an issue with view finder colors and line width not being applied in RTU-UI components
- Android: By default, GPU acceleration has been disabled (due to issues on the Samsung S22 series devices). To enable it, set
- ⚠️ Breaking changes:
- IMPORTANT (iOS): Changed SDK internal podspec definition; a full clean by removing
node_modules,package-lock.json, clearing npm cache, removingPodsandPodfile.lock, and reinstalling everything again withnpm installandpod install --repo-updatemight be needed in case the iOS build fails.
- IMPORTANT (iOS): Changed SDK internal podspec definition; a full clean by removing
- 🚙 Under the hood:
Version 4.11.3 (13 Jan 2022):
- 🐞 Bug fixes:
- Fixed the
interfaceOrientationconfiguration inCroppingScreenConfigurationwhich could have caused an exception on Android
- Fixed the
Version 4.11.2 (12 Jan 2022):
- 🐞 Bug fixes:
- Re-added missing
flashButtonHiddenconfiguration parameter intoDocumentScannerConfiguration.
- Re-added missing
Version 4.11.1 (12 Jan 2022):
- 🎉 New:
- Added new configuration parameter
flashButtonInactiveColorintoHealthInsuranceCardScannerConfigurationwhich allows choosing the foreground color of the flash button when the flash is off (iOS only) EHIC Scanner - Added new configuration parameter
allowXnnpackAccelerationintoInitializationOptions, which allows controlling whether the XNN pack optimizations should be used (Android only) - Added new configuration parameter
enableNativeLoggingintoInitializationOptions, which enables Scanbot SDK Core native logging (default is false; Android only)
- Added new configuration parameter
- 🚀 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
bottomButtonsActiveColorandbottomButtonsInactiveColorfromHealthInsuranceCardScannerConfiguration
- IMPORTANT: Removed
- 🚙 Under the hood:
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
cameraModulein RTU-UI components! You can set it toFRONTif you want to use the front camera in the RTU-UI component.
- 🚀 Improvements:
- Barcode Camera View now supports
stripCheckDigits - Android:
initializeSdknow throws an error when the SDK initialization fails (eg. invalid license)
- Barcode Camera View now supports
- 🐞 Bug fixes:
- Fixed
licenseExpirationDatewrong timestamp ingetLicenseInfoAndroid result - Fixed
gs1DecodingEnabledbeing ignored in RTU-UI components - Fixed
allowedInterfaceOrientationsambiguous behavior in RTU-UI configurations - Fixed
getLicenseInfonot being callable when using an invalid license
- Fixed
- ⚠️ Breaking changes:
- IMPORTANT: Removed
allowedInterfaceOrientationsandorientationLockModefrom all RTU-UI configurations. UseinterfaceOrientationinstead (PORTRAIT,LANDSCAPEorALL)
- IMPORTANT: Removed
- 🚙 Under the hood:
Version 4.10.1 (8 Nov 2021):
- 🎉 New:
- Introduced
forceClosefunction in RTU-UI components! You can use it to programmatically close the components.
- Introduced
- 🚀 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
useCameraXinInitializationOptions - Android: GPU Acceleration will be used for Barcode Scanner, Document Scanner and Generic Document Recognizer. You can disable it by setting
allowGpuAccelerationtofalse; seeInitializationOptions
- 🐞 Bug fixes:
- Android: Fixed
msiPlesseyChecksumAlgorithm,stripCheckDigitsandcameraZoomFactorbeing ignored inBatchBarcodeScannerConfiguration
- Android: Fixed
- ⚠️ Breaking changes:
submitButtonTitleinIdCardScannerConfigurationhas been renamed toviewResultsButtonTitle- The ID Card Scanner result is now wrapped in
idCardobject.
- 🚙 Under the hood:
Version 4.10.0 (21 Sep 2021):
- 🎉 New:
- Introduced
BarcodeCameraViewnative component! From now on you can use it to embed our camera view directly into your react layouts! - New functionalities to extract images and pages from PDF files!
- Added new parameter
cameraZoomFactorin Barcode Scanner RTU-UI, to set the initial camera zoom level. - Added new parameter
pageImageSourcein Page objects. - Added new parameter
anchorPointsColorin Cropping Screen RTU-UI. - Introduced new parameter
stripCheckDigitsfor Barcode Detection. - Added
acceptedDocumentFormatsparameter in Batch Barcode Scanner RTU-UI.
- Introduced
- 🚀 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:
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 -
BarcodeScannerConfigurationandBatchBarcodeScannerConfigurationto 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:
Version 4.8.0 (25 Jun 2021):
- 🎉 New:
MSI Plesseybarcode recognition
- 🚀 Improvements:
- Droid: Exposed native dependencies to allow custom native implementations
- 🚙 Under the hood:
Version 4.7.0 (14 Apr 2021):
- 🎉 New:
- A new scanner UI component for Vehicle License Plates! See the new API function startLicensePlateScanner
- Added detectBarcodesOnImages for multiple images barcode detection.
- Added support for TIFF files encryption
- Document Type filters for Barcode and ID Card Scanner. See startIdCardScanner, startBarcodeScanner.
- Accessibility configuration for Document Scanner and Cropping Screen
- 🚀 Improvements:
- Introduced minimumTextLength, maximumTextLength, minimum1DBarcodesQuietZone for ITF Barcodes on startBarcodeScanner.
- Added Document Scanner polygonCornerRadius parameter and auto-snapping UI customization. See startDocumentScanner.
- Added new ID Card Scanner parameter 'sharpnessAcceptanceFactor'. See startIdCardScanner
- ⚠️ Breaking Changes:
- Removed flashImageButtonHidden from DocumentScanner configuration; use flashButtonHidden instead. See startDocumentScanner/
- 🚙 Under the hood:
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
jsonDatainstead of a JSON file (jsonFileUri)
- The structured OCR result data is now returned as a JSON data field
- 🚙 Under the hood:
Version 4.4.0 (4 Dec 2020):
- 🎉 New:
- Android: Added a new optional config property
useButtonsAllCaps: booleanfor all RTU UI screens to control whether the buttons should use the all-capitals-style, as defined by the Android Material Design
- Android: Added a new optional config property
- 🚀 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")
- iOS: Introduced a new API method
- 🚙 Under the hood:
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.
- New
CroppingScreenConfigurationparameters:hintTitleandhintTitleColor
- 🚀 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:
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
compressionanddpiof 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:
topBarBackgroundColornow also affects the status bar in all UI components (Document Scanner UI, Cropping UI, etc)
- Android:
- 🚙 Under the hood:
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:
- Added support for React Native 0.62.
- 🐞 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 usegetLicenseInfo().isLicenseValidinstead. BarcodeResultnow contains an array of barcodes- Android:
minSdkVersionincreased to 21
- Removed
- 🚙 Under the hood:
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:
- Added official support for React Native 0.60+ with the Autolinking feature.
- Android: Migrated to AndroidX libraries.
- iOS: Added default support for CocoaPods.
- 🚙 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.
- Android & iOS: Added a new Images Filter
-
🐞 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.
- Android: Fixed crashes with some image filters, like
-
🚙 Under the hood:
Version 3.0.0 (26 Jul 2019)
-
🎉 New:
- Android & iOS: Reset/Detect functionality in Cropping UI.
- Android & iOS: Added support for
orientationLockModein Cropping UI. - Android & iOS: Support for PDF page sizes (see the createPdf method).
- Android & iOS: Added new Images Filters
OTSU_BINARIZATION,DEEP_BINARIZATION,EDGE_HIGHLIGHTandLOW_LIGHT_BINARIZATION. - Android & iOS: A new config option
storageBaseDirectoryallows 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_64architecture.
-
🚀 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 (
.jpgor.png) for allPageimages. 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 archivedPageimages 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 newstorageBaseDirectoryconfig option. - Android & iOS: The config parameter
pageCounterButtonTitlein 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.
- Android: Added file format extension (
-
🐞 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
orientationLockModein Document Scanner. - iOS: Fixed handling of
uiConfigsarguments in Cropping UI (polygonColor, etc). - iOS: Fixed a bug with missing
Pagemeta data as result of thedetectDocumentOnPagemethod. - iOS: Fixed handling of the config arguments
enableCameraButtonTitleandenableCameraExplanationTextin 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:
-
🛠 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).
- Android: Requires Android SDK 28, Android Support Libs 28+ (
Version 2.0.7 (1 Jul 2019)
- Android: Removed
minSdkVersionfromAndroidManifest.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()andapplyImageFilterOnPage() - Under the hood: Upgraded the native Scanbot Android SDK to v1.33.3
- Removed the
allowBackupflag fromAndroidManifest.xmlinio.scanbot:sdk-package-uilibrary
- Removed the
- iOS: Added the
?minihash=query parameter in result ofgetFilteredDocumentPreviewUri() - 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 a free trial license to test the Scanbot SDK thoroughly.
Get free trial license