tip
For additional details about the API, please refer to our API reference documentation.
Changelog
Version 7.1.0 (18 September 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 Seriesfield.
 
- Barcode Scanner:
- BarcodeItemhas new properties:- extendedQuadand- extendedQuadNormalizedthat represent extended quads for 1D barcodes.
- rawBytesEncodingsthat contains the precise character encoding information of- rawBytes.
- structuredAppendInfothat contains the messages split across multiple barcodes.
- globalIndexto identify a barcode across multiple frames.
 
- BarcodeScannerUiResulthas a new property- selectedZoomFactorthat contains the value that the user used to scan the barcode.
- BarcodeScannerConfigurationhas a new property- accumulationConfigthat allows the accumulation of barcodes over multiple frames in live mode.
 
- General:
- 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 performanceHintApiinScanbotSdkConfig. If enabled, performance is increased due to increased use of top CPU cores.
 
 
- 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.
 
- 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.
- BarcodeScannerCamera: Added support for individual barcode overlay customization via barcodeItemOverlayViewBinder callback.
- BarcodeScannerCamera: Enhanced onBarcodeTap callback to include a highlightedparameter.
- BarcodeScannerCamera: loadingText can now be customized when barcodeItemOverlayViewBinderis not null. This parameter is part of theSelectionOverlayScannerConfiguration.
 
- 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.
 
 
- Document Scanner:
- 🐞 Bug fixes:
- Document Scanner:
- Fixed a bug in RTU-UI v2 Document Scanner where autorotation was applied if no document was detected.
- iOS: Fixed an issue on simulators where the shutter button was missing in the RTU-UI Document Scanner.
- 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.
- 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.
- Android: Document Scanner RTU UI v2: fixed the screen behavior on multiple manual snaps in "single page" mode.
- Android: Document Scanner RTU UI v2: fixed an issue where autofocus failed during the autosnap event.
 
- 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 null to be returned as a confidence of empty fields.
- Android: MRZ Scanner RTU UI v1: fixed kotlin compatibility issue.
 
- 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.
- Fixed a bug where the INCOMPLETE_VALIDATIONstatus was incorrectly returned in the Document Data Extractor (RTU-UI v2).
 
- 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 extractedDocument was not being generated for Gs1Handling DECODE_STRUCTUREandDECODE_FULL.
- Android: Barcode Scanner RTU UI v2: fixed an issue where the back button navigation did not work.
 
- Check Scanner:
- iOS: Fixed a bug where the "no check" dialog was displayed when camera permission was denied in the Check Scanner (RTU-UI v2).
 
- Storage Crypting:
- iOS: Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
 
- General:
- Fix incorrect CANCELstatus value in RTU UI scanner's result.
- Fixed a rare division by zero crash in Credit Card Scanner, Document Data Extractor, and MRZ Scanner.
- Android: RTU-UI v2: Fixed handling of the back actions for modal dialogs.
- iOS: Fixed a bug with scanned documents cloning when using per-file encryption.
 
- Fix incorrect 
 
- Document Scanner:
- ⚠️ Breaking Changes:
- Barcode Scanner:
- Modified several properties in the BoardingPass and VCard models.
- Default value for barcodeItemInfoPosition in ArOverlayGeneralConfigurationis changed toDISABLED.
- BarcodeScannerCamera: Removed automaticSelectionEnabledproperty fromSelectionOverlayScannerConfiguration.
- BarcodeScannerCamera: Renamed onBarcodeClickedtoonBarcodeTap.
 
- VIN Scanner:
- Renamed RTU v1 VinScannerConfigurationtoVinScannerScreenConfiguration.
 
- Renamed RTU v1 
- Check Scanner:
- Moved acceptedCheckStandardsconfiguration from the function signature intoCheckScannerConfigurationobject forrecognizeCheckOnImage.
 
- Moved 
- Document Data Extractor:
- Removed startDocumentDataExtractorRTU 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 fromScanbotSdkConfig.
 
- Removed 
 
- Barcode Scanner:
- ⚠️ Deprecations:
- Marked startCheckScannerRTU UI v1 as deprecated. Please see the new RTU UI v2 Check Scanner.
- Marked startVinScannerRTU UI v1 as deprecated. Please see the new RTU UI v2 VIN Scanner.
 
- 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 (25 August 2025)
- 🎉 New:
- Added new optional parameter documentPreviewImageSizeLimittocreatePageWithImageBytes, iOS only.
- Added new property storageImagePreviewSizetoScanbotSdkConfig, Android only.
- Added new property documentPreviewImageSizeLimittoDocumentClassicScannerConfiguration, iOS only.
- Added new property documentPreviewImageSizeLimittoPageclass, iOS only.
 
- Added new optional parameter 
- 🐞 Bug Fixes:
- Document Scanner:
- Fixed a bug with the page counter's visibility in the RTU-UI v2 Document Scanner.
- 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.
 
- DocumentScannerCamera:
- Fixed false positive display of textHintOrientationMismatchinDocumentScannerCamera.
 
- Fixed false positive display of 
 - iOS: Fixed handler for createTIFFFromImages.
 
- Document Scanner:
- 🚙 Under the hood:
- Upgraded the native Scanbot Android SDK to v7.0.4.
- Upgraded the native Scanbot iOS SDK to v7.0.6.
 
Version 7.0.0 (30 June 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.
- 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.
- RTU-UI v2: changed acceptedSizeScoreandacceptedAngleScorerange of values from0..1to0..100.
- RTU-UI v2: Configurable title for the acknowledge screen.
- RTU-UI v2: Option to suppress auto-cropping on manual snaps (autoCropOnManualSnapin camera config).
- RTU-UI v2 Cropping Screen: Support for magnetic line color (croppingPolygonMagneticLineColor).
 
- Image Processing:
- Images are now represented as references using the ImageReffeature.
 - Added ScanbotSdk.makeSnapshot()API to take a snapshot of theImageRefpool.
 
- Images are now represented as references using the 
- PDF & TIFF Generation:
- Introduced advanced generation settings for PDFs and TIFFs.
- Added extractImagesFromPdfmethod.
 
- Document Quality Analyzer:
- Introduced new API for an advanced on-image scanning configuration: analyzeDocumentQuality(String imageFileUri, DocumentQualityAnalyzerConfiguration config).
- Can now return the orientation of the document, enabled by DocumentQualityAnalyzerConfiguration.detectOrientation.
- Optionally possible to returnQualityHeatmap.
 
- Introduced new API for an advanced on-image scanning configuration: 
- MRZ Scanner:
- New RTU-UI v2 is now available for MRZ Scanner. See startMRZScanner.
- Advanced on-image scanning configuration.
- Added support for non-ICAO conformant machine-readable zones on US border crossing cards.
 
- New RTU-UI v2 is now available for MRZ Scanner. See 
- Text Pattern Scanner:
- New RTU-UI v2 is now available for Text Pattern Scanner. See startTextPatternScanner.
- Introduced PatternContentValidatorandDefaultContentValidatorfor content validation.
 
- New RTU-UI v2 is now available for Text Pattern Scanner. See 
- VIN Scanner:
- Added a new property extractVINFromBarcodeinVinScannerConfigurationthat allows VIN data extraction from barcodes.
 
- Added a new property 
- Document Data Extractor:
- Advanced on-image scanning configuration.
- Now supports fallback to extraction of only the MRZ on unsupported documents.
- Generic document fields now support parsedDataattributes for standardized data (ISO 8601 dates, ISO 3166-1 countries, "Male"/"Female" gender).
- Added support for German driver qualification card.
- Document field validation now supports two additional statuses: INFERREDandIGNORED.
- Added possibility of returning cropped document.
- Fieldclass enhanced with- polygonInRoot,- confidenceWeight, and- imageproperty.
- Added PLACE_OF_ISSUEtoCommonFieldType.
- Added CARD_ACCESS_NUMBERtoCommonFieldType.
 
- Health Insurance Card Scanner:
- Advanced on-image scanning configuration.
 
- Check Scanner:
- Advanced on-image scanning configuration.
- Added possibility of returning cropped document.
 
- 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. SeerecognizeCreditCardOnImage.
 
- Added new Credit Card Scanner feature with Ready-to-Use UI (RTU-UI v2). See 
- Medical Certificate Scanner:
- Advanced on-image scanning configuration.
 
- 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 detectBarcodesOnImagecall.
- Added ability to configure common barcode properties via BarcodeFormatCommonConfiguration.
- Added minimumSizeScoreto barcode configurations; barcodes withsizeScore < minimumSizeScoreare ignored.
- Barcode scanning results have been enhanced with more detailed information, including sizeScore. SeeBarcodeItem.
- 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),NEXT_GEN_LOW_POWER_FAR_DISTANCE(optimized for scanning from far on low-power devices).
- Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). Old sets removed.
- Added a flag addAdditionalQuietZonetoBarcodeFormatConfigurationBasefor Scan from Image.
- Classic UI: Added new customization properties to SelectionOverlayScannerConfiguration:highlightedPolygonColor,highlightedStrokeColor,highlightedTextColor,highlightedTextContainerColor, andstrokeColorfor improved barcode overlay appearance.
 
- Cropped images returned as part of the scanner results are now represented as image references (ImageRef) that can be converted toUint8Listbuffer or saved to a path.
- initScanbotSdknow returns a- SdkLicenseStatus.
- Added removePagesByIDmethod toScanbotDocument.
- Introduced ScanbotImageRecognitionOperationsclass (consolidatingScanbotSdkRecognizeOperations).
- Introduced accessibilityDescriptionproperties for buttons inTopBarConfigurationandActionBarConfiguration.
- Android: Added a new property keepScreenOnin all RTU-UI v2 scanner screen configurations to keep the device screen awake while scanning.
 
- Document Scanner:
- 🚀 Improvements:
- Document Scanner:
- Added OK_BUT_ORIENTATION_MISMATCHstatus, returned when screen and document orientations don't match. Can be ignored via configuration.
- Improved DocumentScannerUserGuidanceby providingorientationMismatchas a part ofUserGuidanceStates.
- Improved the Document Scanner RTU-UI v2 acknowledgment's bad image quality hint by adding the ability to present up to 5 lines.
- Android: Added basic support for landscape mode in RTU-UI v2.
- Android: The Review Screen zoom button in RTU-UI v2 now allows its text to be hidden.
- iOS: Improved performance when editing a page in RTU-UI v2 Document Scanner Review Screen.
- iOS: Improved captured image quality.
- 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 
- 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.
 
- Document Quality Analyzer:
- Guarantee the same document quality score for 90 degrees rotated images.
 
- OCR Engine:
- Simplified OCR API: performOCR(PerformOCRArguments args).
 
- Simplified OCR API: 
- MRZ Scanner:
- For pre-2022 Costa Rican passports, ID Number is returned as documentNumberand Sequence Number aspersonalNumberin MRZ fields.
 
- For pre-2022 Costa Rican passports, ID Number is returned as 
- 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:
- Higher accuracy for document classification.
- Digits can no longer be recognized as part of given names or surnames.
- No longer needs the additional data bundle with OCR languages.
 
- Barcode Scanner:
- GS1 Composite codes are now processed faster in Scan from Image mode.
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set stripCheckDigits = true.
- Improved barcode detection for various barcode types.
- Significant speed-up in live mode on very large input resolutions.
- More robust QR code recognition (timing patterns, alignment, artistic QR codes).
- 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.
 
- Improved memory management, logging, and resource deallocation for the Classic UI components.
- Reorganized SDK into modular service-style components: ScanbotDocument,ScanbotImageOperations,ScanbotImageRecognitionOperations, andScanbotSdk.
- Enhanced consistency across document-related methods with clearer return types.
- Added new accessibility descriptions for the buttons in ActionBarConfiguration.
- The camera permission screen will now appear if camera access is restricted in all RTU-UI screens.
- Android: Proguard rules needed for Scanbot SDK are embedded in the package. There is no need to manually specify them in your project.
- Android: Improved camera resolution selection strategies.
 
- Document Scanner:
- 🐞 Bug Fixes:
- Document Scanner:
- Fixed Document Scanner point sorting.
- Fixed TIFF generator bug (JPEG-encoded colored TIFFs).
- Android: Fixed content://URI handling forPdfGenerator,TiffGeneratorandOcrEngine.
- Android: In Document Scanner RTU-UI v2, PageSnapFeedbackNone()no longer prevents auto-transition to review screen at max pages limit.
- Android: Document Scanner RTU-UI v2: The horizontal layout camera bar now has a fixed width.
- 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 polygonColor(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: RTU-UI v2: Removed accessibility container for user guidance image.
- 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 withautoSnapProgressStrokeColorfillColor.
- iOS: Fixed a layout bug in the RTU-UI v2 cropping screen's top bar.
- iOS: Fixed layout when hiding the text of the close button on zooming in RTU-UI v2 Document Scanner.
- iOS: Fixed a memory leak when dealing with grayscale images.
- iOS: Fixed a bug in all cropping screens where the magnetic lines were missing.
- iOS: Fixed an issue in RTU-UI v2 where the introduction screen appeared automatically even when camera access was denied.
 
- MRZ Scanner:
- Android: Scanning from still images now correctly returns MrzScannerResult.successas true.
 
- Android: Scanning from still images now correctly returns 
- Document Quality Analyzer:
- Fixed crash when maxImageSizewas0.
- Fixed patch size when minFractionwas1.
 
- Fixed crash when 
- Text Pattern Scanner:
- Fixed incorrect output for Unicode symbols.
 
- Document Data Extractor:
- Resolved high peak memory consumption issue.
- Fixed bug determining validation status when fields excluded.
- Fixed incorrect handling of Driver License expiry date validation.
- Fixed merging of maidenNameandsurnameon some German ID cards.
 
- Check Scanner:
- Android: Fixed Check Scanner User Guidance default background (was absent) for RTU-UI v1.
 
- Medical Certificate Scanner:
- 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.
- Fixed incorrect raw bytes returned for 2D barcode types.
- In CODE_11barcodes with 10 data digits, whenchecksumis enabled andstripCheckDigitsistrue, scanner now correctly strips both check digits.
- Classic UI Android: Fixed the resolution strategy for the square preview.
- Android: FindAndPickScanningMode.sheetContent.barcodeItemImageVisiblein RTU-UI v2 now correctly applies visibility.
- Android: Fixed potential issue during onDestroywhen the AR overlay is displayed.
- 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 when scanning Code 93 barcodes with stripCheckDigits = false(default) and the check digit was an extension character.
- iOS: Fixed a crash in the RTU-UI v2 Barcode Scanner when using FindAndPickScanningMode
 
- Fixed returned results for all types of 
- Android: Accessibility content for action buttons in RTU-UI v2 now properly applied.
- Android: In RTU-UI v2, modal dialog no longer appears below status bar.
- Android: Fixed nested views of camera components when readjusting parent view size.
- Android: Fixed screen insets for Android API 35 with forced edge-to-edge mode by opting out for RTU-UI v1 screens.
- iOS: Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behavior.
 
- Document Scanner:
- ⚠️ Breaking changes:
- General API structure:
- ResultWrapperhas been removed from all API responses, except those returned by RTU-UI.
- In ResultWrapper<T>, renamed propertyvaluetodata.
- Renamed expirationDatetolicenseExpirationDateandstatustolicenseStatusinSdkLicenseStatus.
- Renamed enum StatustoSdkLicenseStatuswith PascalCase values.
- Removed licenseErrorHandlerfromScanbotSdkConfig.
 
- Feature renaming:
- Renamed startGenericDocumentRecognizertostartDocumentDataExtractorand related types fromGenericDocumentRecognizertoDocumentDataExtractor.
- Renamed recognizeGenericDocumentOnImagetoextractDocumentDataFromImage.
- Renamed Text Data Scanner (also Generic Text Recognizer) to Text Pattern Scanner.
 
- Renamed 
- Feature removal:
- Removed RTU-UI v1 APIs: startMrzScanner,startTextDataScanner,startBarcodeScanner,startBatchBarcodeScanner,startLicensePlateScannerand related types. Use corresponding RTU-UI v2 methods.
- Removed legacy classes: TextDataScanResult,TextDataScanResultField,TextDataScannerConfiguration. Replaced withTextPatternScannerResultandTextPatternScannerConfiguration.
 
- Removed RTU-UI v1 APIs: 
- Configuration object changes:
- Replaced Barcode Scanner recognizerConfigurationwithscannerConfiguration.
- Renamed DocumentScannerConfigurationtoDocumentScannerScreenConfiguration.
- Renamed BarcodeScannerConfigurationtoBarcodeScannerScreenConfiguration.
- Renamed documentDetectorModetodocumentScannerEngineModeinScanbotSdkConfig.
- Changed default text values for CameraPermissionScreenstyled texts.
- Renamed CameraConfigurationtoBaseCameraConfiguration.
- Renamed Gs1HandlingModetoGs1Handling,MSIPlesseyChecksumAlgorithmtoMsiPlesseyChecksumAlgorithm.
 
- Replaced Barcode Scanner 
- Result type changes:
- startEHICScannerand- recognizeHealthInsuranceCardOnImagenow return- EuropeanHealthInsuranceCardRecognitionResult.
- startMedicalCertificateScannerand- recognizeMedicalCertificateOnImagenow return- MedicalCertificateScanningResult.
- startDocumentDataExtractorand- extractDocumentDataFromImagenow return- DocumentDataExtractionResult.
- startCheckScannerand- recognizeCheckOnImagenow return- CheckScanningResult.
- startBarcodeScanner(RTU-UI v2) now returns- BarcodeScannerUiResult.
- analyzeQualityOfDocumentnow returns- DocumentQualityAnalyzerResult.
- startVinScannernow returns- VinScannerResult.
- Removed MrzScanningResultandMrzGenericScanningResultmodels.
 
- Data model changes:
- Removed NONEfromCommonFieldType.
- Renamed all CommonFieldTypevalues to uppercase with underscores.
- Renamed ValidationStatustoFieldValidationStatusand addedINFERRED,IGNOREDstates.
- Field.validationStatusdefault is now- FieldValidationStatus.NONE(was- null).
 
- Removed 
- Document Scanner:
- Removed properties (e.g., acceptedAngleScore) fromDocumentScannerCameraConfiguration, moved toDocumentScannerParameters.
- Renamed detectorModetoengineModeandignoreBadAspectRatiotoignoreOrientationMismatchinDocumentScannerScreenConfigurationandFinderDocumentScannerConfiguration.
- Renamed DocumentDetectorModetoDocumentScannerEngineModeand updated the type literals.
 
- Removed properties (e.g., 
- Barcode Scanner:
- Removed additionalParametersfromBarcodeScannerScreenConfigurationand the generalBarcodeScannerConfiguration.
- Classic UI: In BarcodeClassicScannerConfiguration,barcodeFormatschanged tobarcodeFormatConfigurations.
- Classic UI: barcodeListenercallback parameter is nowBarcodeItem[].
 
- Removed 
- VIN Scanner:
- Renamed minimumNumberOfRequiredFramesWithEqualRecognitionResulttominimumNumberOfRequiredFramesWithEqualScanningResultinVinScannerConfiguration.
 
- Renamed 
 
- General API structure:
- ⚠️ Deprecations:
- Deprecated ScanbotSdk.createPdfandScanbotSdk.createTiffin favor ofScanbotDocument.createPDFForDocumentandScanbotDocument.createTIFFForDocument.
 
- Deprecated 
- 🚙 Under the hood:
- Upgraded the native Scanbot Android SDK to v7.0.2.
- Upgraded the native Scanbot iOS SDK to v7.0.3.
- Added ffipackage for native interoperability.
- Upgraded nlohmann::jsonto 3.11.3.
- Upgraded xsimdto 13.2.
- Upgraded xtlto 0.8.
- Upgraded xtensorto 0.26.0-scanbot.
- Upgraded yaml-cppto 0.8.
- Upgraded spdlog to 1.15.2.
- Upgraded Boost to 1.88.
- Android: Android Jetpack Compose updated to 1.7.8.
- Android: Updated Compile Sdk to 35.
- Android: Upgrade OpenCV to 4.10.
- Android: Updated androidx.camera:camera-camera2to 1.4.1 with 16kb page support.
 
Version 6.1.2 (16 January 2025)
- 🐞 Bug fixes:
- Android: Resolved an issue with detected polygon display for Document Classic UI Component.
 
- 🚙 Under the hood:
- Downgraded the kotlin_versionto v1.8.20.
 
- Downgraded the 
Version 6.1.1 (16 December 2024)
- 🐞 Bug fixes:
- Android: Resolved a crash with legacy startDocumentScannerwhendocumentImageSizeLimitis set in DocumentScannerConfiguration.
 
- Android: Resolved a crash with legacy 
Version 6.1.0 (12 December 2024)
- 🎉 New:
- Implemented new RTU-UI v2 Document Scanner screen with extended scanning and reviewing capabilities. Added startDocumentScannerandstartCroppingScreenAPIs that can be imported frompackage:scanbot_sdk/scanbot_sdk_ui_v2.dart. See full documentation here.
- Implemented new ImageOperations API for creating TIFFs, extracting images from PDFs, generating PDFs, rotating images, and applying filters on images.
- Implemented new Document API to perform document creation and editing.
- Moved all RTU-UI v2 scanners into ScanbotSdkUiV2.
- Added support for German health insurance cards (front side) and European health insurance cards to startGenericDocumentRecognizerandrecognizeGenericDocumentOnImage. Added literalsDE_HEALTH_INSURANCE_CARD_FRONTandEU_HEALTH_INSURANCE_CARDtoGenericDocumentType. AddedEuropeanHealthInsuranceCardandDeHealthInsuranceCardFront.
- Added support for new barcode types MAXI_CODE,RMQR_CODE,CODE_11andCODE_32. Added literals that represent the new barcode types inBarcodeFormat.
- Added a new optional property recognizerParametersof typeHealthInsuranceCardRecognizerParametersinHealthInsuranceCardScannerConfigurationto configure live detection parameters.
- Added a new property accessibilityDescriptioninRoundButtonandButtonConfiguration.
- 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,BatchBarcodeScannerConfigurationandBarcodeRecognizerConfiguration.
- Added new optional property enableNativeLogginginScanbotSdkConfig.
- 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 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.
 
- 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.
- 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:
- Introduced new properties, fileEncryptionPasswordandfileEncryptionMode, inScanbotSdkConfigto replace the encryption parameters.
- Deprecated startDocumentScanner,startFinderDocumentScanner,startCroppingScreenand related configurations and result types. See RTU-UI v2 Document Scanner.
- Removed property codeDensityfromBarcodeScannerConfiguration,BatchBarcodeScannerConfigurationandBarcodeRecognizerConfiguration.
- Removed property sharpnessAcceptanceFactorfromGenericDocumentRecognizerConfiguration.
- Removed type literals VALIDATEandDECODEand replaced them withVALIDATE_STRUCTURE,DECODE_STRUCTURE,VALIDATE_FULLandDECODE_FULLinGs1HandlingMode.
- Removed type literals SuccessFoundandErrorTooBlurryand added newErrorUnknownDocument,ErrorUnacceptableDocumentandIncompleteValidationinGenericDocumentRecognitionStatus.
- Removed scanbot_sdk_v2and moved initialization of sdk intoscanbot_sdk.
- Removed EncryptionParametersandencryptionParametersproperty fromScanbotSdkConfig.
- Removed OK_BARCODEtype literal fromDetectionStatus.
- Renamed property name enginetoengineModeinOcrOptions.
- Changed property name imageFormattostorageImageFormat, andimageQualitytostorageImageQualityinScanbotSdkConfig.
- Changed default values for properties enableCameraButtonandcloseButtoninCameraPermissionScreen.
- Changed default values for properties  okButton,cancelButtonandactionButtoninScanbotAlertDialog.
- Changed default value for property visibleinArOverlayFindAndPickConfigurationto true forFindAndPickScanningMode.
- ResultWrapper model changes:
- Added a new OperationStatusenum and an extension method for parsing strings toOperationStatus.
 
- Added a new 
- Document models changes:
- Added property cardAccessNumberand removed propertypininDeIdCardFrontandDeResidencePermitFrontmodels.
- pseudonymproperty now returns- Field | undefinedin- DeIdCardBackmodel.
- restrictionsproperty now returns- Field | undefinedin- DeDriverLicenseBackmodel.
- 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.
 
- Introduced new properties, 
- 🚙 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.3 (5 November 2024)
- 🚀 Improvements:
- iOS:
- Added widgetFadeAnimationDurationiOStoScanbotCroppingWidgetto customize the animation duration.
 
- Added 
 
- iOS:
- 🐞 Bug Fixes:
- Android:
- Fixed an issue where polygon detection didn't work after switching the page inside ScanbotCroppingWidget.
 
- Fixed an issue where polygon detection didn't work after switching the page inside 
- iOS:
- Resolved a blink issue that caused brief redraws during page changes inside ScanbotCroppingWidget.
 
- Resolved a blink issue that caused brief redraws during page changes inside 
 
- Android:
Version 5.1.2 (25 October 2024)
- 🐞 Bug fixes:
- iOS:
- Fixed the image processing and editing flow in ScanbotCroppingWidget.
 
- Fixed the image processing and editing flow in 
 
- iOS:
Version 5.1.1 (21 October 2024)
- 🚀 Improvements:
- Updated visibility of ScanbotCameraWidgetStateto allow access tochannelName.
 
- Updated visibility of 
- 🐞 Bug fixes:
- Android:
- Fixed transitive resources issue for proper references across modules.
 
 
- Android:
Version 5.1.0 (20 September 2024)
- 🎉 New:
- Introduced the redesigned RTU-UI version 2.0 for enhanced Barcode scanning, featuring advanced agile configuration options.
- Added support for the Micro PDF 417 barcode format.
- Added support for parsing AAMVA Certificate of Title for motor vehicle barcodes.
- Added a new field shouldReturnCroppedImageinBarcodeClassicScannerConfigurationfor theBarcodeScannerCameraClassic UI. When set totrue, the result will be returned in thebarcodeImageBase64field of theBarcodeItemmodel.
- Added new RTU components:
- VIN Scanner: The startVinScannercomponent is designed to accurately scan and decode Vehicle Identification Numbers (VINs). This scanner is optimized to handle VINs from a variety of sources, including vehicle dashboards and registration documents, providing precise extraction and decoding of this critical vehicle information.
- Check Scanner: With the startCheckScannercomponent, you can scan and recognize various check formats. This scanner processes checks to extract key data fields, enabling streamlined check processing and verification.
- Text Data Scanner: The startTextDataScannercomponent extracts text data from documents using Optical Character Recognition (OCR). It is particularly useful for capturing and digitizing text from forms, invoices, and other text-heavy documents, facilitating efficient data entry and management.
- Medical Certificate Scanner: The startMedicalCertificateScannercomponent is tailored for scanning and recognizing medical certificates. It supports various medical document formats, extracting essential information such as patient details, diagnoses, and treatment data, which is crucial for healthcare documentation and management.
 
- VIN Scanner: The 
- Added new ParametricFilterAPIs:- ScanbotBinarizationFilter
- CustomBinarizationFilter
- ColorDocumentFilter
- BrightnessFilter
- ContrastFilter
- GrayscaleFilter
- WhiteBlackPointFilter
- LegacyFilter
 
- Added support for German residence permits (2011 and 2019 formats) in GenericDocumentRecognizer.
- PdfRenderingOptionsnow allows setting the- jpegQualityfor image encoding. Additional fields include- pageFitMode,- dpi, and- resample.
- Introduced a new class ScanbotSdkRecognizeOperationswith operations:- recognizeMrzOnImage
- recognizeMedicalCertificateOnImage
- recognizeHealthInsuranceCardOnImage
- recognizeGenericDocumentOnImage
- recognizeCheckOnImage
 
 
- 🚀 Improvements:
- The Health Insurance Card Recognizer now implements the new Scanbot OCR engine. The recognition is faster and more accurate than before.
- Improved speed and quality of scanning for Generic Document.
- Improved detection of UPC/EAN barcode extensions in live mode.
- Improved speed and image quality of still image capturing.
 
- 🐞 Bug Fixes
- Fixed issue with misaligned barcode polygons on devices with horizontal orientation.
- Fixed a crash with BarcodeFormat.PDF_417 due to an uncovered cluster generation case.
- Fixed error handling in storage cleanup and page loading.
 
- ⚠️ Breaking Changes:
- Deprecated the Ready-to-Use UI v1.0 barcode scanners. Adoption of the RTU UI v2 scanner API is strongly recommended.
- Transitioned barcode result structures from record classes to GenericDocument, affecting RTU UI v1 but standardizing across RTU UI v1 and v2.
- Renamed BarcodeFormat.RSS_14toBarcodeFormat.DATABARandBarcodeFormat.RSS_EXPANDEDtoBarcodeFormat.DATABAR_EXPANDED.
- Eliminated the LiveDetectorandCameraControllerclasses. Their functionalities are now integrated within the widgets.
- Updated widgets to automatically adjust to configuration changes received by the camera widget constructors.
- Updated BarcodeScannerCameraClassic UI Component:- Previous Structure:
- Used ScanbotCameraControllerfor camera control and barcode detection, withcameraDetectorandonWidgetReadyfor initialization.
 
- Used 
- New Structure:
- Simplified to use direct callbacks: barcodeListenerfor handling scanning results,errorListenerfor error handling, andonCameraPreviewStartedfor setup after the camera preview starts.ScanbotCameraControllerandcameraDetectorare no longer needed.
 
- Simplified to use direct callbacks: 
 
- Previous Structure:
- Updated DocumentScannerCameraClassic UI Component:- Previous Structure:
- Relied on DocumentCameraLiveDetectorfor document scanning and separate listeners for results, errors, and document contours. RequiredScanbotCameraControllerfor control and initialization.
 
- Relied on 
- New Structure:
- Consolidated functionality into the DocumentScannerCamerawidget. UsessnapListenerfor handling scanned pages,errorListenerfor errors,documentContourListenerfor document contours, andonCameraPreviewStartedfor setup after the preview starts.
 
- Consolidated functionality into the 
 
- Previous Structure:
- Updated MedicalCertificateScannerCameraClassic UI Component:- Previous Structure:
- Used MedicalCertificateCameraLiveDetectorandScanbotCameraControllerfor control and initialization. IncludedfinderandonWidgetReadyfor UI setup.
 
- Used 
- New Structure:
- Integrated all functionality into the MedicalCertificateScannerCamerawidget. Now usesmcListenerfor medical certificate results,errorListenerfor error handling, andonCameraPreviewStartedfor setup. Enhancedfinderconfiguration includes new UI options.
 
- Integrated all functionality into the 
 
- Previous Structure:
- Removed Legacy Components:
- Removed DocumentCameraLiveDetectorandScanbotCameraControllerin favor of a streamlined approach.
- Removed MedicalCertificateCameraLiveDetector; its functionality is now integrated directly into theMedicalCertificateScannerCamerawidget.
- Removed the LiveDetectorandCameraControllerclasses. Their functionality is now integrated directly into theBarcodeScannerCamerawidget.
 
- Removed 
 
- 🚙 Under the Hood:
- Updated the native Scanbot iOS SDK to v5.1.3 (cf. changelog).
- Updated the native Scanbot Android SDK to v5.1.2 (cf. changelog).
- Android:
- Updated Kotlin to version 1.8.22 and set jvmTargetto "17".
- Updated 3rd-party libraries:
- libjpeg-turboto 2.1.5.1
- libpngto 1.6.40
- libtiffto 4.6.0
- Added zliblibrary
 
 
- Updated Kotlin to version 1.8.22 and set 
- iOS:
- Updated 3rd-party libraries:
- zlibto 1.3.1
- libtiffto 4.6.0
- libjpeg-turboto 2.1.5.1
- libpngto 1.6.40
 
 
- Updated 3rd-party libraries:
 
Version 4.2.3 (26 August 2024)
- 🐞 Bug fixes:
- Android:
- Resolved a build failure in the CameraDisplayOwnerclass that occurred due to incorrect implementation of theLifecycleOwnerinterface.
 
- Resolved a build failure in the 
 
- Android:
Version 4.2.2 (12 April 2024)
- 🐞 Bug fixes:
- iOS:
- Changed privacy manifest to comply with the latest Apple specs.
 
 
- iOS:
- 🚙 Under the hood:
- Updated the native iOS Scanbot SDK to 4.2.2 (cf. changelog)
 
Version 4.2.1 (5 February 2024)
- 🐞 Bug fixes:
- Android:
- Fixed an unhandled exception when closing the Document Scanner classic component.
 
 
- Android:
Version 4.2.0 (12 January 2024)
- 🎉 New:
- Added support for new barcode type BarcodeFormat.GS1_COMPOSITE.
- Added analyzer image size limit property for Document Quality Analyzer analyzeQualityOfDocument(Page page, Size? analyzerImageSizeLimit). IfanalyzerImageSizeLimitnot set, the image will be downscaled to 2500 px.
- Added support for Kuwait ID cards in the MRZ scanner.
 
- Added support for new barcode type 
- 🚀 Improvements:
- Added more control over how to handle GS1 messages in barcodes. See BarcodeScannerAdditionalConfig.setGs1HandlingMode.
 
- Added more control over how to handle GS1 messages in barcodes. See 
- ⚠️ Breaking Changes:
- Replaced BarcodeScannerConfiguration.gs1DecodingEnabledwithBarcodeScannerConfiguration.gs1DecodingModein the RTU-UI Barcode Scanner and Batch Barcode Scanner.
 
- Replaced 
- 🐞 Bug fixes:
- Android:
- Fixed the Camera Preview blinking after capturing a picture.
 
 
- Android:
- 🚙 Under the hood:
Version 4.1.0 (15 December 2023)
- 🎉 New:
- Added a new Optical Character Recognition engine based on machine learning algorithms that is usually much faster and less error prone. This new OCR engine currently supports all languages with latin letters, there is no need to specify the languages for it. The legacy engine, based on Tesseract, can still be used for non latin-based languages.
- New PDF renderer for simple PDFs and "sandwiched" PDFs generation.
- Added support for custom PDF metadata.
- Added support for portrait, landscape and auto locks for the page orientation.
- Extended the list of supported page sizes (A3, A5, B4, B5, etc.)
 
- Added new Document Quality Analyzer. Use ScanbotSdk.analyzeQualityOfDocument.
- Added new  barcode types: AUSTRALIA_POST,JAPAN_POST,ROYAL_MAIL,ROYAL_TNT_POST,USPS_INTELLIGENT_MAIL,DATABAR_LIMITED.
- Added touchToFocusEnabledto the RTU-UI scanner configs.
- Added CameraModule.BACK_WIDESTto thecameraModuleconfig.
 
- 🚀 Improvements:
- Improved the document detector with better performance and less memory consumption.
 
- 🐞 Bug fixes:
- Fixed the behavior of the Barcode Scanner when an empty array is set. Now it scans all barcode types for iOS.
 
- ⚠️ Breaking Changes:
- photoQualityPrioritizationparameter spelling was fixed in the Document Scanner.
- Removed autoCancelTimeoutparameter from the MRZ Scanner.
- Removed ScanbotSdk.estimateBlurOnPagemethod. Use the newScanbotSdk.analyzeQualityOfDocumentmethod instead.
- Removed PdfRenderSizeenum in favor ofPageSizeclass.
- The default OCR engine has changed from TESSERACTtoSCANBOT_OCR. Please useTESSERACTif you need to recognize non-Latin language texts.
 
- 🚙 Under the hood:
- Changed the behavior of classic components cameraZoomFactorparameter. Now 0..1 maps to the real zoom value in the range 1.0..12.0x on both Android and iOS.
- Changed the behavior of the barcode data mapper callback.
- Updated the native iOS Scanbot SDK to 4.1.0 (cf. changelog)
- Updated the native android Scanbot SDK to 4.1.1 (cf. changelog)
 
- Changed the behavior of classic components 
Version 2.13.6 (24 October 2023)
- 🐞 Bug fixes:
- Fixed a bug where documentContourListenerwas not correctly returningDetectionStatus.OKwhenignoreBadAspectRatio: truewas set.
 
- Fixed a bug where 
Version 2.13.5 (16 October 2023)
- 🐞 Bug fixes:
- Fixed ScanbotCroppingWidgetnot showing the image whenencryptionEnabledmode is set.
 
- Fixed 
Version 2.13.4 (13 October 2023)
- 🚀 Improvements:
- Optimized preview image quality in ScanbotCroppingWidgetin Android.
- Optimized behavior of DocumentScannerCamera. When scanning withignoreBadAspectRatio: true, thedocumentContourListenerwon't returnDetectionStatus.OK_BUT_BAD_ASPECT_RATIO.
 
- Optimized preview image quality in 
Version 2.13.3 (4 October 2023)
- 🐞 Bug fixes:
- Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
- Fixed an issue that prevented the Batch Barcode screen from starting.
 
Version 2.13.2 (26 September 2023)
- 🎉 New:
- Added named parameters originalImageSizeLimitanddocumentImageSizeLimittoScanbotSdk.createPage,ScanbotSdk.createPageFromBytesandDocumentClassicScannerConfigurationthat limits page images size to this value. If the image size exceeds the limit, the image will be downscaled to fit the limit. Cropped images will never be bigger than the original images.
- Added ContourConfiguration.showPolygonInManualModetoDocumentScannerConfigurationthat allows to show/hide polygon contour when auto-snapping is disabled.
 
- Added named parameters 
- 🚀 Improvements:
- Improved behavior of DocumentScannerCamera. Now it automatically reacts to the changes ofDocumentClassicScannerConfiguration.autoSnapEnabledparameter. Hence, you can change this parameter and don't need to callliveDetector.setAutoSnappingEnabledwhen changing this state by pressing a button.
- Improved behavior of CroppingController.rotateCw()andCroppingController.rotateCCW(). Now the call can be awaited so you can block UI elements during the rotation animation.
 
- Improved behavior of 
- 🐞 Bug fixes:
- Fixed a bug with encryption where EncryptionParameters.passwordhad a default empty value which is not correct. Nowpasswordis a required parameter to encrypt the data.
- Fixed documentation for acceptedAngleScoreandacceptedSizeScoreinDocumentClassicScannerConfiguration. The range changed to 0-100 in percentage values.
- Fixed behavior of document contour in DocumentScannerCamera. Now it's the same for both platforms.
- Fixed DocumentCameraLiveDetector.documentContourListenercallback. Now it always returns the detection status on iOS.
- Fixed crash in iOS when partially filled sub-objects of RTU-UI configurations were set.
 
- Fixed a bug with encryption where 
Version 2.13.1 (20 September 2023)
- 🐞 Bug fixes:
- Fixed a bug in the RTU-UI Document Scanner due to an issue with config parsing.
 
Version 2.13.0 (15 August 2023)
- 🎉 New:
- Added MICRO_QR_CODEbarcode format toBarcodeFormat.
- Added onCameraPreviewStartedcallback to custom components to get notified when the camera preview is started. It also runs each time the preview restarts after the picture is taken (Android).
- Changed behavior of onWidgetReadycallback in custom camera components. It is now called when the camera widget is initialized and ready to use. This happens not only once when the widget is created but also when the app returns to the foreground and the user pops to the camera page from another page, ifScanbotCamera.scanbotSdkRouteObserveris registered.
- Added barcode scanning classic component AR overlay feature.
- Added BarcodeCameraConfiguration.overlayConfigurationto configure the barcode scanning classic component AR overlay.
 
- Added 
- 🚀 Improvements:
- Refactored behavior colors. The colors in RTU-UI screens that should be displayed as semi-transparent should be used with alpha as follows: fillColor: Colors.red.withAlpha(150).
 
- Refactored behavior colors. The colors in RTU-UI screens that should be displayed as semi-transparent should be used with alpha as follows: 
- 🐞 Bug fixes:
- Fixed bug with  ScanbotSdk.refreshImageUrismethod on Android. Now it renews uris properly.
- ScanbotCroppingWidgetnow properly reacts to the- Pageobject changes. If you reassign a new page to the page property (with a new id), it will reset its content and cropping state to the new state.
- Fixed a bug when the camera is disabled, the document scanner screen could crash on iOS.
 
- Fixed bug with  
- ⚠️ Breaking Changes:
- Refactored the structure of ALL RTU-UI scanners configuration classes. Please check example app and documentation for more details.
- Refactored the way we process and return the data for the Generic Document Scanner and MRZ Scanner. The structure of the result classes for the both scanners are changed to support the GenericDocumentstructure. Same as the native SDKs. Please check example app and documentation for more details.
- Refactored imports structure inside scanbot_sdk. Please replace all scanbot_sdk related imports to import 'package:scanbot_sdk/scanbot_sdk.dart';in your code. For imports with the prefixes please useimport 'package:scanbot_sdk/scanbot_sdk.dart' as ScanbotSdk;. Please check example app and documentation for more details.
 
- 🚙 Under the hood:
- Default set of params applied for all RTU-UI scanner configs if not specified explicitly.
- Added dart library dart:collectionsv.1.17.1 to the internal usage of scanbot_sdk,json_annotationdependency updated to 4.8.1,environment:sdktool to>=2.17.0 <4.0.0.
- Updated the native iOS Scanbot SDK to 2.3.1-Beta4 (cf. changelog)
- Updated the native android Scanbot SDK to 2.3.0 (cf. changelog)
 
Version 2.12.1 (9 June 2023)
- 🐞 Bug fixes:
- Fixed a crash in the iOS Classic components for when the scanners were closed multiple times.
 
Version 2.12.0 (8 May 2023)
- 🎉 New:
- Added IATA_2_OF_5,INDUSTRIAL_2_OF_5andCODE_25barcode formats toBarcodeFormat.
- Added property recognitionConfidenceValuetoMcPatientInfoField.
 
- Added 
- 🚀 Improvements:
- Improved behavior of Classic UI components for asynchronous communication with the native SDK.
 
- ⚠️ Breaking Changes:
- Changed structure of MedicalCertificateRecognizerResult:- McInfoBoxSubTyperenamed to- MedicalCertificateCheckBoxType.
- McPatientInfoFieldTyperenamed to- MedicalCertificatePatientInfoFieldType.
- MedicalCertificateInfoBoxtype split into- MedicalCertificatePatientInfoFieldand- MedicalCertificateCheckBox.
- MedicalCertificateInfoBox.patientInfoFieldsproperty now available as- MedicalCertificateInfoBox.patientInfoBox.patientInfoFields.
- DateRecord.validationConfidenceValueremoved.
 
- Removed parameter decodeStacks1D. The decoding of stacked barcodes is now handled automatically.
 
- Changed structure of 
- 🚙 Under the hood:
Version 2.11.0 (27 March 2023)
- 🎉 New:
- Introduced Classical Components for the Medical Certificate Scanner that allow you to build your own flexible and fully customizable UI for Scanning German Medical Certificates. Use the classes MedicalCertificateScannerCameraandScanbotCameraControllerto build a custom document scanner UI.
 
- Introduced Classical Components for the Medical Certificate Scanner that allow you to build your own flexible and fully customizable UI for Scanning German Medical Certificates. Use the classes 
- 🚙 Under the hood:
Version 2.10.1 (20 January 2023)
- 🎉 New:
- Introduced Classical Components for Cropping Page that allow you to build your own flexible and fully customizable UI for cropping Page Objects. Use the classes ScanbotCroppingWidgetandCroppingControllerto build a custom cropping UI.
 
- Introduced Classical Components for Cropping Page that allow you to build your own flexible and fully customizable UI for cropping Page Objects. Use the classes 
- ⚠️ Breaking Changes:
- Renamed DetectionResulttoDetectionStatus
- Renamed FinderInsetstoInsets
 
- Renamed 
- 🐞 Bug fixes:
- Fixed enableCameraButtonTitleandenableCameraExplanationTextin EHIC and MRZ Scanners
- Fixed image saving for classical document scanner on android
 
- Fixed 
Version 2.10.0 (17 November 2022)
- 🎉 New:
- Introduced Classical Components for Document Scanning that allow you to build your own flexible and fully customizable UI for the document scanner. Use the classes DocumentScannerCamera,DocumentCameraLiveDetector, andScanbotCameraControllerto build a custom document scanner UI.
- Added GS1barcode document toBarcodeDocumentFormat.
 
- Introduced Classical Components for Document Scanning that allow you to build your own flexible and fully customizable UI for the document scanner. Use the classes 
- ⚠️ Breaking Changes:
- Changed file location of Barcode Scanner and Batch Barcode Scanner related classes.
- Renamed AcceptedDocumentFormattoBarcodeDocumentFormat
- Renamed CameraOrientationModetoOrientationLockMode
 
- 🚙 Under the hood:
Version 2.9.1 (28 September 2022)
- 🐞 Bug fixes:
- Fixed compatibility issues with Xcode 14 (build error)
- Fixed compatibility issues with Kotlin 1.7.10 (build error)
 
Version 2.9.0 (22 June 2022)
- 🎉 New:
- Introduced Classical Components for Barcode Scanning that allow you to build your own flexible and fully customizable UI for the barcode scanner. Use the classes BarcodeScannerCamera,BarcodeCameraLiveDetectorandScanbotCameraControllerto build a custom scanner UI.
 
- Introduced Classical Components for Barcode Scanning that allow you to build your own flexible and fully customizable UI for the barcode scanner. Use the classes 
- 🚀 Improvements:
- Improved 1D barcode recognition
 
- 🚙 Under the hood:
Version 2.8.3 (31 May 2022)
- 🚀 Improvements:
- Updated README
 
Version 2.8.2 (31 May 2022)
- 🐞 Bug fixes:
- Fixed compatibility issues with Flutter v3.0.1+
 
Versions 2.8.1 (16 March 2022)
- 🐞 Bug fixes:
- Fixed LicenseExpirationDate: Invalid date format.
 
- Fixed 
Version 2.8.0 (8 March 2022)
- 🎉 New:
- Introduced the Generic Document Recognizer, providing the ability to scan various types of documents, includingGerman ID cards,German passportsandGerman driver's licenses
- Added detectBarcodesOnImagesinScanbotSdkfor detecting barcodes on multiple still images.
- Android: Added useCameraXinScanbotSdkConfig. You can now enable CameraX under the hood.
- Android: Added allowXnnpackAccelerationinScanbotSdkConfigwhich allows controlling whether the XNN pack optimizations should be used.
- Android: Added allowGpuAccelerationinScanbotSdkConfigwhich enables GPU acceleration for TensorFlow ML models.
- Added the ability to disable auto-focus by locking the lens at the specified lens position. See minFocusDistanceinBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration
 
- Introduced the 
- 🚀 Improvements:
- Improved Aztec barcode recognition.
- Improved PDF417 recognition performance on single photos.
- Improved barcode detection on large documents.
- Improved GS-1 databar recognition in the next-gen barcode scanner.
 
- 🐞 Bug fixes:
- Fixed LicenseExpirationDatereturning the incorrect time.
 
- Fixed 
- ⚠️ Breaking Changes:
- Renamed detectBarcodeFromImageFileparameter todetectBarcodesOnImage
 
- Renamed 
- 🚙 Under the hood:
Version 2.7.0 (3 Dec 2021)
- 🎉  New:
- Added createPageFromBytesfunction to create a page object without storing a temporary image object outside the SDK
- Added support for AcceptedDocumentFormatsinBarcodeScannerConfiguration,BatchBarcodeScannerConfigurationanddetectBarcodeFromImageFile
 
- Added 
- 🚀  Improvements:
- Significant performance improvements for all scanners
 
- 🚙 Under the hood
- 🐞  Bug fixes:
- Fixed CroppingResult.error()return forCroppingResultobject in the page cropping component
 
- Fixed 
Version 2.6.0 (23 Jul 2021)
- 🎉 New:
- Brand new "Next Generation" machine-learning-based barcode scanning engine with improved reliability and much faster performance
- API changes for the new barcode engine: added engineModeproperty of typeEngineModeon barcode scanning APIs -BarcodeScannerConfigurationandBatchBarcodeScannerConfigurationto switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used.
- Added the new cameraZoomFactorproperty inBarcodeScannerConfigurationfor configuring the zoom level of the camera.
- Added support for MSI Plessey barcodes.
 
- 🚙 Under the hood
- ⚠️ Breaking Changes:
- Removed enableHighSensitivityModeproperty onBarcodeScanner, because it is no longer needed
 
- Removed 
Version 2.5.0 (2 Jun 2021)
- 🎉 New:
- Added NFC Passport Reader.
- Add License Plate scanner for the EU cars license plates.
 
- 🚙 Under the hood:
Version 2.4.1 (1 Apr 2021)
- 🐞 Bug fixes:
- iOS: Fixed a mapping issue of the config parameter flashButtonHiddenin the Document Scanner.
 
- iOS: Fixed a mapping issue of the config parameter 
Version 2.4.0 (30 Mar 2021)
- 🎉 New:
- Add null safety support for the SDK.
 
- ⚠️ Breaking Changes:
- Due to null safety support update please follow compilation issues and warnings from 'flutter analyze' command
- Updated minimum dart sdk to 2.12.0-0and flutter to2.0.1
 
Version 2.3.0 (11 Mar 2021)
- 🎉 New:
- Encryption for images, PDF, and TIFF files, generated by the SDK. For more details please check out the section Storage Encryption.
- Blur estimation feature. See the new API function estimateBlurOnPage.
 
- 🐞 Bug fixes:
- iOS: Multiple UI fixes for barcode scanners.
 
- 🚙 Under the hood:
Version 2.2.2 (16 Feb 2021)
- ⚠️ Breaking Changes:
- Android compileSdkVersion is set to 30
- Increase flutter min support version to 1.22.6
 
- 🐞 Bug fixes:
- Fix compilation for compileSdkVersion 30 for android
 
Version 2.2.1 (12 Feb 2021)
- 🐞 Bug fixes:
- Added missing permission text properties enableCameraButtonTitleandenableCameraExplanationTexttoDocumentScannerConfiguration
 
- Added missing permission text properties 
Version 2.2.0 (12 Feb 2021)
- 🎉 New:
- Batch Barcode Scanner - a new RTU-UI screen component to scan multiple barcodes in a row.
See the new API function startBatchBarcodeScanner.
- Added barcode detection from still images, see detectBarcodeFromImageFile.
- New result field BarcodeItem.rawBytesthat contains the raw bytes from the scanned barcode.
 
- Batch Barcode Scanner - a new RTU-UI screen component to scan multiple barcodes in a row.
See the new API function 
- ⚠️ Breaking Changes:
- Replaced finderAspectRatioparameter withfinderWidthandfinderHeightinBarcodeScannerConfigurationandMrzScannerConfiguration.
 
- Replaced 
- 🚙 Under the hood:
Version 2.1.0 (15 Dec 2020)
- 🐞 Bug fixes:
- iOS: Introduced a new API method refreshImageUris(pages)to fix image file paths after app updates.
- iOS: Fixed de-/serialization of the property Page.detectionStatus.
 
- iOS: Introduced a new API method 
Version 2.0.1 (28 Nov 2020)
- 🚀 Improvements:
- iOS: Swift 5 support
 
Version 2.0.0 (30 Oct 2020)
- 🎉 New:
- A new Machine Learning based approach for document detection.
See the new SDK initialization parameter documentDetectorMode.
- Barcode Scanner: Added barcode data parsers for several document types. See the new result field BarcodeItem.formattedResultas well as the corresponding implementations ofBarcodeFormattedResult.
 
- A new Machine Learning based approach for document detection.
See the new SDK initialization parameter 
- 🚀 Improvements:
- Android: Some big improvements in the Document Scanner UI that make document scanning perform better and much smoother. Decreased 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).
- Barcode Scanner: Multi-barcode scan support!
 
- ⚠️ Breaking Changes:
- Android: Migrated to Android embedding v2
- Android: Raised minSdkVersionto21
- iOS: Dropped support for iOS 9 and iOS 10!
 
- 🚙 Under the hood:
Version 1.1.4 (29 Sep 2020)
- 🚀 Improvements:
- iOS: Changed presenter logic for all Scanbot SDK RTU-UI screens.
 
Version 1.1.3 (27 Aug 2020)
- 🐞 Bug fixes:
- iOS: Fixed a mapping issue of the config parameter doneButtonTitlein Cropping UI.
 
- iOS: Fixed a mapping issue of the config parameter 
Version 1.1.2 (28 May 2020):
- 🚀 Improvements:
- OperationResult.CANCELEDwhen the user presses- cancelin any Scanbot UI screen component
 
Version 1.1.1 (13 May 2020):
- 🐞 Bug fixes:
- Android: Fixed a bug with mappings of OCR language data files
(zh-Hansandzh-Hanttochi_sim.traineddataandchi_tra.traineddata).
 
- Android: Fixed a bug with mappings of OCR language data files
(
Version 1.1.0 (9 Dec 2019):
- 🎉 New:
- Added further TIFF options dpiandcompression.
 
- Added further TIFF options 
- 🚀 Improvements:
- Improved OCR API. The OCR results now contain bounding boxes and values of recognized words, lines and paragraphs.
See the API docs of OcrResult.pagesfor more details.
 
- Improved OCR API. The OCR results now contain bounding boxes and values of recognized words, lines and paragraphs.
See the API docs of 
- 🐞 Bug fixes:
- iOS: Fixed file URI handling in the native implementation of the createPage()method.
 
- iOS: Fixed file URI handling in the native implementation of the 
Version 1.0.0 (6 Nov 2019):
- 🎉 First release.
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get free trial license