Skip to main content

Changelog

tip

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

.NET - Version 7.1.0 (11 Sep 2025)​

Android​

  • πŸŽ‰ New:
    • Document Scanner:
      • ContourDetector feature was renamed to DocumentScanner and has a more advanced configuration and scanning API. See DocumentScanner.
      • RTU-UI v2: Added an auto-rotate document option. The document will now be automatically rotated based on the text orientation detected by the Document Quality Analyzer. See CameraScreenConfiguration.AutoRotateImages.
      • RTU-UI v2: Added parameter DocumentScanningFlow.ShowReviewScreenOnStart that allows showing the Review Screen immediately if the scanner is opened with an existent document ID. E.g. document edit mode.
      • RTU-UI v2: Added an option to automatically navigate to the Review Screen after each scan. Use DocumentScanningFlow.Screens.Camera.OpenReviewAfterEachScan = true.
      • RTU-UI v2: Added an option to open either the first or the last page when the Review Screen is opened. Use DocumentScanningFlow.Screens.Review.ShowLastPageWhenAdding = true.
      • Introduced advanced generation settings for PDFs and TIFFs.
      • Added a new document detection status OkButTooDark.
      • Added setters for UseCaseResolutionSize limits for Preview and Analyzer use-cases in ScanbotCameraXView. See ScanbotCameraXView.SetPreviewFrameResolutionLimit(limit: UseCaseResolutionSize) and ScanbotCameraXView#setAnalyzerFrameResolutionLimit(limit: UseCaseResolutionSize).
    • Document Quality Analyzer:
      • Advanced configuration of Document Quality Analyzer. See DocumentQualityAnalyzerConfiguration.
      • Can now return the orientation of the document in steps of 90 degrees. Enabled by setting DocumentQualityAnalyzerConfiguration.DetectOrientation to true.
      • Optionally return QualityHeatmap as a part of the DocumentQualityAnalyzerResult.
      • Added an option to limit the input image size. If it is bigger, then the image will be resized.
      • Added support for an advanced on-image scanning configuration DocumentQualityAnalyzer call.
    • Credit Card Scanner:
      • Introduced a new beta feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See CreditCardScanner.
      • Introduced a new Credit Card Scanner RTU-UI v2 component. See CreditCardScannerActivity.
    • MRZ Scanner:
      • Advanced configuration of MRZ Scanner. See MrzScannerConfiguration.
      • New RTU UI v2 is now available for MRZ Scanner. See MrzScannerActivity.
      • Added support for non-ICAO conformant machine readable zones on US border crossing cards.
      • Added properties to MrzScannerConfiguration that allow to set if crops should be returned.
    • Text Pattern Scanner:
      • Feature was renamed from Generic Text Recognizer to Text Pattern Scanner and has a more advanced configuration and scanning API. See TextPatternScanner.
      • New RTU UI v2 is now available for Text Pattern Scanner. See TextPatternScannerActivity.
    • VIN Scanner:
      • RTU-UI v2: Added a brand-new, redesigned VIN Scanner. Use IO.Scanbot.Sdk.Ui_v2.Vin.VinScannerActivity.
      • Added a new property ExtractVINFromBarcode in VinScannerConfiguration that allows VIN data extraction from barcodes (for RTU UI v1 screen).
    • Document Data Extractor (Previously: Generic Document Recognizer):
      • RTU-UI v2: Added a brand-new, redesigned Document Data Extractor. Use IO.Scanbot.Sdk.Ui_v2.Documentdata.DocumentDataExtractorActivity to start the new scanner.
      • Introduced a Document Verification API including document semantics verification capabilities. Use the new VerifyDocument(documentParts: List<GenericDocument>) method.
      • Added support for multiple new document types:
        • ID Cards from Brazil, Hong Kong, Macao, and China.
        • Chinese Entry and Exit Permits.
      • Returns the issuing series of German ID Cards as part of the returned document as the Series field.
      • Now supports the front side of many more EU driver's licenses.
      • Partial support for parsing of German addresses. For respective ID cards, address parsing can be enabled via a new DeAddressParserConfiguration. Parsed addresses are stored as child documents.
      • Feature was renamed from Generic Document Recognizer to Document Data Extractor and has a more advanced configuration and scanning API. See DocumentDataExtractor.
      • 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: Inferred and Ignored.
      • Generic document fields now support ParsedData attributes for standardized data (ISO 8601 dates, ISO 3166-1 countries, "Male"/"Female" gender). See FieldParsedData.
      • Added support for an advanced on-image scanning configuration for: DocumentDataExtractor, HealthInsuranceCardScanner, MedicalCertificateScanner, MrzScanner, and CheckScanner.
    • Health Insurance Card (EHIC) Scanner:
      • Advanced configuration of Health Insurance Card Scanner. See EuropeanHealthInsuranceCardRecognizerConfiguration.
    • Check Scanner:
      • RTU-UI v2: Added a brand-new, redesigned Check Scanner. Use IO.Scanbot.Sdk.Ui_v2.Check.CheckScannerActivity.
      • Feature was renamed to Check Scanner and has a more advanced configuration and scanning API. See CheckScanner.
      • Added possibility of returning cropped document.
    • Medical Certificate Scanner:
      • Feature was renamed to Medical Certificate Scanner and has a more advanced configuration and scanning API. See MedicalCertificateScanner.
    • 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 ScanFromBitmap call.
      • Added ability to configure common barcode properties via BarcodeFormatCommonConfiguration.
      • Added MinimumSizeScore to barcode configurations; BarcodeItem has a new SizeScore field. Barcodes with SizeScore < MinimumSizeScore are ignored. RTU-UI v2 also supports MinimumSizeScore.
      • Introduced StrictMode for certain barcode configurators (QR Code, Micro QR Code, rMQR Code, PDF417, MicroPDF417 and gs1Composite).
      • Added the ability to return the barcode image in the resulting object via BarcodeScannerConfiguration.ReturnBarcodeImage.
      • Added new engine modes NextGenFarDistance (optimized for scanning from far distances) and NextGenLowPowerFarDistance (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. See BarcodeFormats.
      • Simplified configuration of Barcode Scanner RTU UI v2. See BarcodeScannerConfiguration.
      • Added an ability to filter out all unaccepted barcode document formats in BarcodeDocumentParser.
      • Added a flag AddAdditionalQuietZone to BarcodeFormatConfigurationBase for scanning sharp crops of a barcode.
      • Added ExtendedQuad and ExtendedQuadNormalized fields to the BarcodeItem class to represent extended quads for 1D barcodes.
      • BarcodeItem has a new field RawBytesEncodings that contains the precise character encoding information of RawBytes.
      • BarcodeItem has a new field StructuredAppendInfo for messages split across multiple barcodes.
      • BarcodeScannerConfiguration has a new field AccumulationConfig which allows the accumulation of barcodes over multiple frames in live mode. BarcodeItem has a new field GlobalIndex to identify a barcode across multiple frames.
      • RTU-UI v2: Added SelectedZoomFactor: Double metadata field in BarcodeScannerUiResult with the value that the user used to scan the barcode.
    • General:
      • .NET: Added support for .NET 9 SDK, in addition to .NET 8 SDK.
      • Added a new property KeepScreenOn in all RTU-UI v2 scanner screen configurations to keep the device screen awake while scanning.
      • Cropped images returned as part of the scanner results are now represented as image references (ImageRef).
      • Image Processor can now be created with an ImageRef object. See ImageProcessor(imageRef: ImageRef).
      • The ResultAccumulationConfiguration now supports a new ConfirmationMethod field.
      • Document Data Extractor, Medical Certificate Scanner and Check Scanner now return document detection results.
      • Added source OCR Page as an optional input parameter to PDF Generator.
      • Added an option to limit the analyzer FPS processing for DocumentScannerView, BarcodeScannerView and BarcodeScanAndCountView. See more in ICameraViewConfiguration.SetAnalyzerFpsLimit(fps: Float) method.
      • Added support for 16KB page size.
  • πŸš€ Improvements:
    • Document Scanner:
      • Added OkOrientationMismatch status, returned when screen and document orientations don't match. Can be ignored via configuration.
      • Exposed AcceptedAspectRatioScore and AspectRatios in the scanner configuration.
      • Improved the Document Scanner RTU-UI v2 acknowledgment's bad image quality hint by adding the ability to present up to 5 lines.
      • Increased performance for Document Scanner algorithms.
    • Document Quality Analyzer:
      • Guarantee the same document quality score for 90 degrees rotated images.
      • Speed improvements. Note: document quality scores may slightly change for the same input images when compared to the previous version of the DoQA(Document Quality Analyzer).
    • OCR Engine:
      • Improved handling of special characters like umlauts when frame accumulation is used.
      • Added source OCR Page as an optional input parameter to PDF Generator.
    • Image Processing:
      • New Image Processor preset BinarizationFilterPreset.Preset5 for documents with barcodes.
    • MRZ Scanner:
      • For pre-2022 Costa Rican passports, ID Number is returned as DocumentNumber and Sequence Number as PersonalNumber in MRZ fields.
      • On US border crossing permits, the document number is now returned in the correct field.
      • Dates in MRZ now also support parsedData correctly.
    • Text Pattern Scanner:
      • Improved performance with the same quality (quantized model).
      • General speed improvements.
      • Now supports XNNPACK for faster inference.
    • VIN Scanner:
      • Validation of VINs implements the full ISO 3779 standard, reducing false positives.
    • Document Data Extractor (Previously: GenericDocumentRecognizer):
      • Digits can no longer be recognized as part of given names or surnames.
      • Higher accuracy for document classification.
      • 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.
      • Added normalization before date recognition.
      • More consistent usage of common field types.
      • Improved maiden name processing for DePassport and DeIdCard.
      • 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.
    • Medical Certificate Scanner:
      • Date recognition in Medical Certificate forms is now based on the Scanbot OCR Engine and shows significant quality improvements.
    • 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 quiet zone checks for ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5, and Code 25.
      • Improved the false positive rate for ITF barcodes.
      • 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 MaximumTextLength constraint on Code 11, Code 39, Code 93, Code 128, and Codabar barcode formats.
      • 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.
      • GS1 Composite codes are now processed faster in Scan from Image mode.
      • Improved handling of back action with multiple dialogs and bottom sheets.
    • General:
      • Improved ScanbotCameraXView preview size selection strategy for square screens.
      • Improved the algorithm of high performance cores computation as the old one didn't work correctly on some devices (e.g. Pixel 9 Pro).
      • 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).
      • PDF Generator with OCR layer now handles non-ASCII characters correctly.
  • 🐞 Bug Fixes:
    • Document Scanner and Image Processing:
      • RTU-UI v2: Fixed an issue where the last scanned page's preview would not update on a specific layout configuration.
      • RTU-UI v2: Fixed an issue where the start of the activity without initializing the Scanbot SDK was leading to an application crash.
      • RTU-UI v2: Auto-rotation is now applied only if the document was found in the snapped image.
      • RTU-UI v1: Fixed insets for the shutter button when the app is built with target_sdk >= 35.
      • Fixed Document Scanner point sorting.
      • Fixed Document Quality Analyzer crash when MaxImageSize was 0.
      • Fixed Document Quality Analyzer patch size when MinFraction = 1.
      • Fixed Document Scanner FillPolygonColor (not filled by default) for RTU-UI v1.
      • Fixed Document Scanner/Finder User Guidance default background for RTU-UI v1.
      • Fixed Document Scanner shutter button default color for RTU-UI v1.
      • PDF Generator properly handles no-schema URIs.
      • TIFF Generator: fixed JPEG/Deflate support and URI schema handling.
      • Clamped parametric filters radius to 127.
      • In Document Scanner RTU-UI v2, PageSnapFeedbackNone() no longer prevents auto-transition to review screen at max pages limit.
      • Cropping Screen RTU-UI v2 status bar light/dark mode now correctly applied.
      • Cropping Screen RTU-UI v2 now returns result instead of canceling if no changes were made.
      • Cropping View: Fixed an issue with a broken layout after screen rotation without recreating the view.
      • Fixed person-number extraction crash and simplified logic.
      • Fixed content:// type uri handling for PdfGenerator, TiffGenerator, and OcrEngine.
      • Document Scanner RTU UI v2: fixed the screen behavior on multiple manual snaps in "single page" mode.
      • Document Scanner RTU UI v2: fixed an issue where autofocus failed during the autosnap event.
    • Document Data Extractor (Previously: GenericDocumentRecognizer):
      • Fixed Document Data Extractor bug determining validation status when fields excluded.
      • Fixed Document Data Extractor incorrect handling of Driver License expiry date validation.
      • Fixed Document Data Extractor merging of MaidenName and Surname on some German ID cards.
      • Resolved Document Data Extractor high peak memory consumption issue.
      • Fixed an issue causing null to be returned as a confidence of empty fields.
    • Text Pattern Scanner (Previously: Text Data Scanner):
      • Fixed Text Pattern Scanner incorrect output for Unicode symbols.
    • Check Scanner:
      • Fixed Check Scanner User Guidance default background (was absent) for RTU-UI v1.
    • Medical Certificate Scanner:
      • Fixed Medical Certificate Scanner User Guidance default background (was absent) for RTU-UI v1.
    • MRZ Scanner:
      • Fixed MRZ Scanner crash when MRZ fallback was enabled and no text on document was detected.
      • Scanning from still images now correctly returns MrzScannerResult.Success as true.
    • Barcode Scanner:
      • Fixed returned results for all types of UpcEanExtensionBehavior.
      • Fixed checksum for Code 39 barcode format.
      • Fixed an overflow when decoding Micro Qr Code with wrong bits in numeric mode.
      • Fixed MinimumTextLength for ITF barcode format (checked symbols instead of text length).
      • Fixed sorting of quad points for four-state/postal barcode types.
      • In Code 11 barcodes with 10 data digits, when Checksum is enabled and StripCheckDigits is true, scanner now correctly strips both check digits.
      • FindAndPickScanningMode.SheetContent.BarcodeItemImageVisible in RTU-UI v2 now correctly applies visibility.
      • Fixed quad when flag BarcodeFormatConfigurationBase.AddAdditionalQuietZone is enabled.
      • The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now, all possible codewords are checked.
      • vCard document parser now correctly processes the FN key as FormattedName.
      • RTU-UI v2: Fixed a crash with barcode launcher initialization when the SDK was not yet initialized.
      • Fixed an issue where the ExtractedDocument was not being generated for GS1 Handling DecodeStructure and DecodeFull.
      • Barcode Scanner RTU UI v2: fixed an issue where the back button navigation did not work.
    • General:
      • Fixed the resolution strategy for a square preview for ScanbotCameraXView (Internal View for the scanners).
      • Fixed a crash when adding/removing frameHandlers in ScanbotCameraX in a concurrency race condition.
      • Fixed screen insets for Android API 35 with forced edge-to-edge mode by opting out for RTU-UI v1 screens.
      • In RTU-UI v2, modal dialog no longer appears below status bar.
      • RTU-UI v2: Fixed handling of the back actions for modal dialogs.
      • Accessibility content for action buttons in RTU-UI v2 now properly applied.
      • Fixed a bug when CameraTakePictureCallback.OnTakePictureRequested() wasn't called properly at the corresponding event.
      • Fixed an issue with the black preview in ScanbotCameraXView when the camera selected a square resolution on some Samsung and Xiaomi devices.
  • ⚠️ Breaking changes:
    • Package Structure:
      • In v7.1.0, the packaging structure has changed. Unlike v6.1.0, your application project must now also reference the ScanbotSDK.NET package directly. Transitive references are no longer sufficient, because native Android SDK assets are delivered through a shared reference mechanism to avoid doubling package size.
    • Native Library Update:
      • Android: The Android SDK is now packaged with multiple .aar files, split by module (previously provided as a single combined .aar).
        • Note: Please clear your project’s build cache completely when upgrading from a previous ScanbotSDK version to prevent potential conflicts.
    • General API structure:
      • ContourDetector feature renamed to DocumentScanner. Document Scanner moved to IO.Scanbot.Sdk.Document package.
      • Generic Document Recognizer feature renamed to DocumentDataExtractor.
      • Generic Text Recognizer feature renamed to TextPatternScanner.
      • Medical Certificate Recognizer feature renamed to MedicalCertificateScanner.
      • Check Recognizer feature renamed to CheckScanner.
      • MRZScanner class renamed to MrzScanner.
      • TIFF Writer feature renamed to TiffGenerator. All Write*() methods renamed to GenerateFrom*().
      • For all classic components (scanners) methods like Scan[recognize]WithFinderOverlay() are renamed to Scan[Recognize]InArea().
      • For Document Data Extractor classic component all Recognize methods are renamed to ExtractFrom[input_type]().
      • For Document Quality Analyzer all methods AnalyzeIn*() are renamed to AnalyzeOn*().
      • Removed class IO.Scanbot.Sdk.Ui_v2.Common.Mappers.AspectRatio, use IO.Scanbot.Sdk.Common.AspectRatio.
      • Removed Result Repositories mechanism for most RTU UI screens.
      • Moved all logic related to PDF with OCR from OCR Engine to PDF Generator. See PdfGenerator.GenerateWithOcr*().
      • Removed class ImageProcessor.ImageRotation. Use IO.Scanbot.Sdk.Core.ImageRotation.
    • Feature removal:
      • Removed deprecated License Plate Scanner feature.
      • Removed deprecated Text Orientation Scanner. Use DocumentQualityAnalyzer instead.
    • Result type changes:
      • Changed result APIs for Barcode Scanner (RTU-UI v2: BarcodeScannerUiResult), Check Scanner (CheckScanningResult), Health Insurance Card Scanner (EuropeanHealthInsuranceCardRecognitionResult), MRZ Scanner (MrzScannerResult), Medical Certificate Scanner (MedicalCertificateScanningResult), VIN Scanner (VinScannerResult), Document Scanner (DocumentDetectionResult), Text Pattern Scanner (TextPatternScannerResult).
    • Configuration object changes:
      • Removed old configuration APIs for Barcode Scanner, Check Scanner, Document Quality Analyzer, Health Insurance Card Scanner, MRZ Scanner, Document Data Extractor, Text Pattern Scanner, Medical Certificate Scanner, VIN Scanner, and PDF Generator. Use new configuration mechanisms.
      • Renamed enum MSIPlesseyChecksumAlgorithm to MsiPlesseyChecksumAlgorithm.
      • Replaced AcceptedDocumentFormats in BarcodeScannerConfiguration with ExtractedDocumentFormats and OnlyAcceptDocuments flag.
    • Document Scanner:
      • Changed engine mode API representation: Legacy for EdgeBased, Ml for MlBased. See DocumentScannerEngineMode.
      • RTU-UI v2: Screens.Camera.CameraConfiguration.IgnoreBadAspectRatio parameter renamed to IgnoreOrientationMistmatch.
      • RTU-UI v2: AcceptedSizeScore and AcceptedAngleScore range changed from 0..1 to 0..100.
      • RTU-UI v2: Detection parameters moved from Screens.Camera.CameraConfiguration to Screens.Camera.ScannerParameters.
      • All detected lines in results represented by new LineSegmentFloat class.
    • Document Quality Analyzer:
      • Removed NoDocument status from DocumentQuality enum.
    • Text Pattern Scanner:
      • Changed interfaces of Text Pattern Validation and Clean callbacks. Use new ContentValidator.
    • Document Data Extractor (Previously: GenericDocumentRecognizer):
      • Removed the legacy RTU-UI Document Data Extractor. Use RTU-UI v2 instead.
      • Removed ShouldRecognize property from Extract*() methods. Use new DocumentDataExtractionMode.
      • By default, only German documents are now enabled for scanning. Previously, all supported documents were enabled.
      • DeDriverLicenseFront and DeDriverLicenseBack are renamed to EuropeanDriverLicenseFront and EuropeanDriverLicenseBack respectively.
    • VIN Scanner:
      • VIN Scanner RTU-UI v1: Changed TextPatternScannerResult result type to VinScannerResult.
    • Barcode Scanner:
      • All Barcode Formats are represented by IO.Scanbot.Sdk.Barcode.BarcodeFormat enum. Other barcode format enums removed.
      • Replaced class IO.Scanbot.Barcodescanner.Model.BarcodeType with IO.Scanbot.Sdk.Barcode.BarcodeFormat.
      • Barcode Document Format is represented by IO.Scanbot.Sdk.Barcode.BarcodeDocumentFormat enum.
      • RTU-UI v2: Refactored BarcodesExtensionFilter enum, synchronized with UpcEanExtensionBehavior enum from Barcode Scanner Classic component API.
      • BarcodePolygonsView.BarcodeItemViewBinder.BindView(): Added an additional property with TextViewStyle.
    • RTU-UI v1:
      • RTU-UI v1: All screens now expect RGBA values for HEX string when parsing configuration from JSON.
      • RTU-UI v1 Barcode: Refactored screen result structure. Removed ability to set Barcode Image Generation type in screen config.
    • General: Removed ScanbotSdkInitializer.UseCameraXRtuUi().
  • ⚠️ Deprecations:
    • Marked Document Scanner, Finder Document Scanner, MRZ Scanner and Text Pattern Scanner RTU UI v1 screens as deprecated. Please use the corresponding RTU UI v2 screens.
  • πŸš™ Under the hood:
    • Updated the native Android SDK to Android Document SDK 7.1.1.
    • The Android SDK is now packaged with multiple .aar files, split by module (previously provided as a single combined .aar).
    • Updated Compile Sdk to 35.
    • Android Jetpack Compose updated to 1.7.8.
    • Upgraded nlohmann::json to 3.11.3.
    • Updated xsimd version to 13.2.0.
    • Updated xtensor version to 0.26.0-scanbot.
    • Updated xtl version to 0.8.0.
    • Upgraded yaml-cpp to 0.8.
    • Upgrade OpenCV to 4.10.
    • Updated Boost C++ version to 1.88.0.
    • Updated spdlog version to 1.15.2.
    • Added flatbuffers 2.0.6.
    • Added 3rd party PdfiumAndroid library.

iOS​

  • πŸŽ‰ New:
    • Document Scanner:
      • DocumentDetector was renamed to DocumentScanner and has a more advanced configuration and scanning API. See SBSDKDocumentScanner.
      • RTU-UI v2: Added the auto-rotate document option. The document will now be automatically rotated based on the text orientation detected by the Document Quality Analyzer. See SBSDKUI2CameraScreenConfiguration.AutoRotateImages.
      • Introduced advanced generation settings for PDFs and TIFFs (via SBSDKPDFConfiguration and SBSDKTIFFGeneratorParameters).
      • Added a new document detection status OkButTooDark. Returned when a document is detected under poor lighting conditions.
      • Ability to set the bad aspect ratio hint of the Document Scanner. See SBSDKDocumentScannerStatusTextConfiguration.TextHintBadAspectRatio.
      • Image Processor can be initialized with SBSDKImageRef, UIImage, or ImageURL. New methods to apply filters, crop, rotate, and resize. See SBSDKImageProcessor.
      • Added advanced configuration to the PDF Generator. See SBSDKPDFConfiguration. Introduced new OCR configuration: SBSDKPDFGenerator.OcrConfiguration.
      • Added property ShowReviewScreenOnStart to SBSDKUI2DocumentScanningFlow. If enabled, the scanner automatically navigates to the Review Screen when the flow starts.
      • Added property OpenReviewAfterEachScan to SBSDKUI2CameraScreenConfiguration. If enabled, the Review Screen is opened after each addition of a new page.
      • Added property ShowLastPageWhenAdding to SBSDKUI2ReviewScreenConfiguration. If enabled, the Review Screen will be opened showing the last page.
      • Added property DocumentPreviewImageSizeLimit in SBSDKDocumentPage to limit the size of the document preview image.
    • Document Quality Analyzer:
      • Added advanced APIs in Document quality analyzer feature. See SBSDKDocumentQualityAnalyzer, SBSDKDocumentQualityAnalyzerConfiguration, and SBSDKDocumentQualityAnalyzerResult.
      • Can now also return the orientation of the document in steps of 90 degrees. Enabled by setting SBSDKDocumentQualityAnalyzerConfiguration.DetectOrientation to true.
      • Optionally, QualityHeatmap is returned as a part of the SBSDKDocumentQualityAnalyzerResult.
      • Added support for an advanced on-image scanning configuration SBSDKDocumentQualityAnalyzer.Analyze(image:) call.
    • Credit Card Scanner:
      • Introduced a new beta feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See SBSDKCreditCardScanner.
      • New RTU UI v2 component for Credit Card Scanner. See SBSDKUI2CreditCardScannerViewController.
    • MRZ Scanner:
      • Added advanced configuration to the MRZ Scanner. See SBSDKMRZScannerConfiguration.
      • New RTU UI v2 is now available for MRZ Scanner. See SBSDKUI2MRZScannerViewController.
      • Added support for non-ICAO conformant machine readable zones on US border crossing cards.
    • Text Pattern Scanner:
      • Feature was renamed from Generic Text Recognizer to Text Pattern Scanner and has more advanced configuration and scanning API. See SBSDKTextPatternScanner.
      • New RTU UI v2 is now available for Text Pattern Scanner. See SBSDKUI2TextPatternScannerViewController.
    • VIN Scanner:
      • Added a new property ExtractVINFromBarcode in SBSDKUIVINScannerBehaviorConfiguration that allows VIN data extraction from barcodes (for RTU UI v1).
    • Document Data Extractor (Previously: Generic Document Recognizer):
      • RTU-UI v2: Added a brand-new, redesigned Document Data Extractor. See SBSDKUI2DocumentDataExtractorViewController.
      • Feature was renamed from Generic Document Recognizer to Document Data Extractor and has a more advanced configuration and scanning API. See SBSDKDocumentDataExtractor.
      • Introduced a Document Verification API including document semantics verification capabilities. Use the new VerifyDocumentWithDocumentParts(SBSDKGenericDocument[] documentParts) method in SBSDKDocumentDataExtractor.
      • Added support for multiple new document types:
        • ID Cards from Brazil, Hong Kong, Macao, and China.
        • Chinese Entry and Exit Permits.
      • Returns the issuing series of German ID Cards as part of the returned document as the Series field.
      • Now supports the front side of many more EU driver's licenses.
      • Partial support for parsing of German addresses. For respective ID cards, address parsing can be enabled via a new SBSDKDeAddressParserConfiguration. Parsed addresses are stored as child documents.
      • Now supports fallback to extraction of only the MRZ on unsupported documents by using the config SBSDKMRZDocumentType.Unknown.
      • Added support for German driver qualification card.
      • Document field validation now supports two additional statuses: Inferred and Ignored. See SBSDKGenericDocumentFieldValidationStatus.
      • Generic document fields now support ParsedData attributes for standardized data (ISO 8601 dates, ISO 3166-1 countries, "Male"/"Female" gender). See SBSDKGenericDocumentFieldParsedData.
      • Added support for an advanced on-image scanning configuration for: DocumentDataExtractor, HealthInsuranceCardScanner, MedicalCertificateScanner, MrzScanner, and CheckScanner.
    • Health Insurance Card (EHIC) Scanner:
      • Added advanced configuration to the Health Insurance Card Recognizer. See SBSDKEuropeanHealthInsuranceCardRecognizerConfiguration.
    • Check Scanner:
      • Feature was renamed to Check Scanner and now has more advanced configuration and scanning API. See SBSDKCheckScanner.
      • Ability to configure Check Scanner Classic UI using SBSDKCheckScannerViewController.SetConfiguration(_:).
    • Medical Certificate Scanner:
      • Feature was renamed to Medical Certificate Scanner and has more advanced configuration and scanning API. See SBSDKMedicalCertificateScanner.
      • Introduced a new method to scan a medical certificate from frames. See SBSDKMedicalCertificateScanner.ScanFromImage(from:parameters:).
    • 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 SBSDKBarcodeScanner.ScanFromImage(from:useLiveMode:) call.
      • Added ability to configure common barcode properties via SBSDKBarcodeFormatCommonConfiguration.
      • Added MinimumSizeScore to barcode configurations; SBSDKBarcodeItem has new SizeScore. Barcodes with SizeScore < MinimumSizeScore are ignored.
      • Introduced StrictMode for certain barcode configurators (QR Code, Micro QR Code, rMQR Code, PDF417, MicroPDF417 and gs1Composite).
      • Added the ability to return the barcode image in the resulting object via SBSDKUI2BarcodeScannerConfiguration.ReturnBarcodeImage property.
      • Added new engine modes NextGenLowPower, NextGenFarDistance and NextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
      • Barcode scanning results have been enhanced with more detailed information. See SBSDKBarcodeItem.
      • Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). Old sets removed(SBSDKBarcodeTypes). See SBSDKBarcodeFormat, SBSDKBarcodeFormats.
      • Ability to initialize Barcode Scanner using new constructor SBSDKBarcodeScanner(formats:, extractedDocumentFormats:).
      • Introduced new property OptimizeOverlays to SBSDKBarcodeScanner.
      • Ability to configure Barcode Scanner Classic UI and Scan-and-Count Classic UI using SetConfiguration(_:).
      • Ability to get ExtractedDocumentFormats from SBSDKBarcodeDocumentParser.
      • Ability to know when a barcode was last detected using SBSDKBarcodeScannerAccumulatingResult.DateOfLastDetection.
    • General:
      • .NET: Added support for .NET 9 SDK, in addition to .NET 8 SDK.
      • Added property HardwareButtonsEnabled to SBSDKUI2CameraConfiguration. If enabled, it allows zooming using the camera control button (iPhone 16 series).
      • Added property FpsLimit to SBSDKUI2CameraConfiguration and SBSDKUI2DocumentScannerCameraConfiguration to limit the rate of detections per second in normal performance mode.
      • Added property DidEndZoomHandler to SBSDKZoomingImageScrollView.
      • Added analytics support with new classes: SBSDKAnalyticsManager, SBSDKAnalyticsEvent, SBSDKAnalyticsFeature, SBSDKAnalyticsCategory, SBSDKAnalyticsEventName, SBSDKAnalyticsEventFactory, and SBSDKAnalyticsSubscriber for tracking and managing SDK usage analytics.
      • Added support for an advanced on-image scanning configuration for: SBSDKDocumentDataExtractor, SBSDKHealthInsuranceCardRecognizer, SBSDKMedicalCertificateScanner, SBSDKMRZScanner, and SBSDKCheckScanner.
      • Added property HardwareButtonsEnabled to SBSDKBaseScannerViewController (all Classic UI) to toggle volume button behavior. If set to false it restores the original volume button behavior.
      • Added properties CameraSessionKeepAliveTimeout and AnimateCameraOverlay to SBSDKBaseScannerGeneralConfiguration.
      • Added properties SessionDidChangeHandler and IsSessionRunning to SBSDKBaseScannerViewController.
      • Added functions Pause and Resume to SBSDKBaseScannerViewController.
      • Cropped images returned as part of the scanner results are now represented as image references (SBSDKImageRef), convertible to UIImage.
      • Ability to additionally process frames before main scanner via SBSDKBaseScannerViewController.AdditionalFrameProcessor property.
      • Introduced SBSDKUI2PermanentViewFinderConfiguration for always visible view finder.
      • Document Data Extractor, Medical Certificate Scanner and Check Scanner now return document detection results (SBSDKDocumentDetectionResult).
      • Added new enum case Photo to SBSDKVideoFrameResolution.
      • Added property IsInterrupted to SBSDKCameraSession to indicate if the camera session was interrupted by the system.
  • πŸš€ Improvements:
    • Document Scanner:
      • Added OkButOrientationMismatch status, returned when screen and document orientations don't match. Can be disabled by setting IgnoreOrientationMismatch to True. See SBSDKDocumentDetectionStatus and SBSDKDocumentScannerParameters.
      • Improved the Document Scanner RTU-UI v2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
      • Improved performance when editing SBSDKScannedPage and in the RTU-UI v2 Document Scanner Review Screen.
      • Improved captured image quality when using the Document Scanner Classic UI or RTU-UI (v1 and v2).
      • Improved the user guidance in the Document Scanner RTU-UI v2 to support longer text entries.
      • PDF Generator with OCR layer now handles non-ASCII characters correctly.
      • Improved landscape-orientation layout of RTU-UI v2 screens.
      • Increased performance for Document Scanner algorithms.
      • The zoomed page view in the Document Scanner RTU-UI v2 Review Screen now closes when you finish zooming while being below the minimum zoom value.
      • Rebalanced the internally used photo capture settings to better match the photo quality prioritization modes. The mode speed is now significantly faster, the mode balanced is a bit faster, and the mode quality is a bit slower with the best possible image quality.
    • Document Quality Analyzer (DoQA):
      • Guarantee the same document quality score for 90 degrees rotated images.
      • Speed improvements. Note: document quality scores may slightly change for the same input images when compared to the previous version of the DoQA.
    • Image Processing:
      • New Image Processor preset BinarizationFilterPreset.Preset5 for documents with barcodes.
    • 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.
      • 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, and Code 25.
      • Improved the false positive rate for ITF.
      • Added the option to ignore barcodes that do not decode to one of the accepted document formats for Barcode Scanner RTU-UI v2. See SBSDKBarcodeScannerConfiguration.OnlyAcceptDocuments property.
      • Improved performance when scanning four-state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
      • Improved the recognition of PDF417 barcodes.
      • Improved the barcode scanner to better recognize QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
      • Classic Component: Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behavior.
    • The camera permission screen will now appear if camera access is restricted in all RTU-UI screens.
  • 🐞 Bug Fixes:
    • Document Scanner:
      • Fixed processing of still images of an indexed color space model in all scanners, Document Quality Analyzer, and PDF and TIFF generators.
      • Fixed a UI bug in the Document Scanner Classic UI where Accepted document's FillColor was not being removed when the AutoSnapProgress FillColor was being shown.
      • Fixed a UI bug in the Document Scanner RTU-UI v2 where the bar buttons were not properly grayed out when in disabled state.
      • Fixed a bug in the TIFF generator that prevented the creation of JPEG-encoded colored TIFF files.
      • Fixed a bug in RTU-UI v2 Document Scanner where the document could not be captured in auto snap mode when EnabledInAutoSnappingMode was set to false in SBSDKUI2ShutterButton.
      • Fixed a bug in RTU-UI v2 Document Scanner where auto rotation was applied if no document was detected.
      • Fixed a memory leak when dealing with grayscale images.
      • Fixed an issue on simulators where the shutter button was missing in the RTU-UI Document Scanner.
    • Image Editing:
      • Fixed a rare crash when the screen orientation changed.
    • PDF Image Extractor:
      • Fixed wrong orientation of extracted images when the PDF page had a transform applied.
    • Document Quality Analyzer:
      • Fixed quality estimation for rotated images.
    • Storage Crypting:
      • Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
    • Barcode Scanner:
      • Fixed returned results for all types of SBSDKUpcEanExtensionBehavior.
      • Fixed the checksum of the Code 39 barcode format.
      • Fixed a bug in the Barcode Scanner RTU-UI v2 where the flip camera button was not resetting the widest camera available if chosen.
      • Fixed a bug in SBSDKBarcodeScannerViewController that could lead to a crash when embedded within a UIViewControllerRepresentable.
      • Fixed a bug in the AR Barcode Scan and Count where the scanner would be stuck if there was no barcode detected.
      • Fixed a UI bug in the Barcode Scanner RTU-UI v2 where the sheet button overlapped with the action bar.
      • Fixed an issue where the ExtractedDocument was not being generated for GS1 Handling DecodeStructure and DecodeFull.
    • General:
      • Fixed a bug with scanned documents cloning when using per-file encryption.
  • ⚠️ Breaking changes:
    • Package Structure:
      • In v7.1.0, the packaging structure has changed. Unlike v6.1.0, your application project must now also reference the ScanbotSDK.NET package directly. Transitive references are no longer sufficient, because native iOS SDK assets are delivered through a shared reference mechanism to avoid doubling package size.
    • Native Library Update:
      • iOS: The iOS SDK is now included as an .xcframework (previously provided as a .framework).
        • Note: Please remove the RuntimeIdentifier conditions for device(arm64) and simulator(x86) from the project(.csproj) file.
    • General API structure & naming:
      • Extensive renaming of classes, properties, methods, and enums (e.g., DocumentDetector to SBSDKDocumentScanner, GenericDocumentRecognizer to SBSDKDocumentDataExtractor, CheckRecognizer to SBSDKCheckScanner, SBSDKHealthInsuranceCardRecognizer related classes, SBSDKMachineReadableZoneRecognizer to SBSDKMRZScanner, SBSDKGenericTextLineRecognizer to SBSDKTextPatternScanner, SBSDKMedicalCertificateRecognizer to SBSDKMedicalCertificateScanner, SBSDKPDFRenderer to SBSDKPDFGenerator, SBSDKTIFFImageWriter to SBSDKTIFFGenerator).
      • Many Recognize... methods renamed to Scan... or Extract....
      • Many initializers changed to accept new configuration objects.
    • Feature removal:
      • Removed the License Plate Scanner and all of its related files.
    • Result type changes:
      • Result objects updated for many scanners (e.g., SBSDKDocumentDetectionResult, SBSDKBarcodeItem, SBSDKMRZScannerResult, SBSDKCheckScanningResult, SBSDKMedicalCertificateScanningResult, SBSDKVINScannerResult).
      • SBSDKMachineReadableZoneRecognizerResult replaced by SBSDKMRZScannerResult.
      • SBSDKMachineReadableZoneRecognizerResultDocumentType by SBSDKMRZDocumentType.
      • SBSDKCheckRecognizerResult by SBSDKCheckScanningResult.
      • SBSDKMedicalCertificateRecognizerResult by SBSDKMedicalCertificateScanningResult.
      • SBSDKHealthInsuranceCardRecognitionResult to SBSDKEuropeanHealthInsuranceCardRecognitionResult.
    • Configuration object changes:
      • Removed old configuration APIs for most scanners; use new SetConfiguration(_:) methods with dedicated configuration objects.
      • SBSDKPDFRendererOptions replaced by SBSDKPDFConfiguration.
      • SBSDKUI2BarcodeRecognizerConfiguration to SBSDKBarcodeScannerConfiguration.
      • SBSDKUI2AspectRatio replaced by SBSDKAspectRatio.
    • Document Scanner:
      • The SBSDKUI2DocumentScannerController does not dismiss itself automatically anymore when using the static Create(configuration:completion:) method.
      • Properties related to detection parameters (angle, size, brightness, and aspect ratios) moved from SBSDKUI2DocumentScannerCameraConfiguration to ScannerParameters in SBSDKUI2CameraScreenConfiguration.
      • IgnoreBadAspectRatio renamed to IgnoreOrientationMismatch in UI configurations.
      • SBSDKDocumentDetectorResult replaced by SBSDKDocumentDetectionResult. SBSDKPolygonEdge by SBSDKLineSegment.
      • Renamed class SBSDKDocumentDetectorMode to SBSDKDocumentScannerEngineMode.
    • PDF Image Extractor:
      • Removed parameter Scaling from all methods and replaced it by member variable ScaleFactor.
    • Barcode Scanner:
      • Initializers for SBSDKBarcodeScannerViewController and SBSDKBarcodeScanAndCountViewController changed to accept configuration objects.
      • SBSDKUI2BarcodeScannerResult renamed to SBSDKUI2BarcodeScannerUIResult.
      • Removed properties like AcceptedBarcodeTypes, EngineMode, etc., from SBSDKBarcodeScannerViewController; configure via SBSDKBarcodeScannerConfiguration.
      • Removed SBSDKBarcodeScannerAccumulatingResult.Code property, use SBSDKBarcodeScannerAccumulatingResult.Item instead.
      • SBSDKBarcodeType renamed to SBSDKBarcodeFormat. SBSDKBarcodeDocumentRootType to SBSDKBarcodeDocumentFormat. Display names of various barcode formats changed.
      • Replaced SBSDKUI2BarcodesExtensionFilter enum with SBSDKUpcEanExtensionBehavior. Property BarcodesExtensionFilter in SBSDKUI2BarcodeScannerConfiguration renamed to Extensions.
      • Methods of SBSDKBarcodeTrackingOverlayControllerDelegate and SBSDKTrackedBarcodeInfoViewable now use SBSDKBarcodeItem.
      • Removed SBSDKBarcodeImageGenerationType and related properties.
    • MRZ Scanner:
      • Replaced methods SBSDKMRZScanner.ScanFromImage(from: UIImage) and SBSDKMRZScanner.ScanFromFrame(from: SBSDKBaseScannerFrame) by SBSDKMRZScanner.ScanFromImage(from: UIImage, useLiveMode: Bool) and SBSDKMRZScanner.ScanFromFrame(from: SBSDKBaseScannerFrame, useLiveMode: Bool).
      • Removed outdated DetectMrz: Boolean flag from ScanInArea() methods.
    • DefaultBackFacingCamera, DefaultFrontFacingCamera and WidestAvailableBackFacingCamera now returns a simulated camera instead of null if the physical camera is not available.
    • Removed property StopsCameraSessionWhenDisappeared from SBSDKBaseScannerGeneralConfiguration. To emulate this behavior, set CameraSessionKeepAliveTimeout to a high value, e.g. Double.MaxValue.
    • Other class & enum renames:
      • SBSDKCheckDocumentRootType to SBSDKCheckDocumentModelRootType.
      • SBSDKCheckRecognitionResultStatus by SBSDKCheckMagneticInkStripScanningStatus.
      • SBSDKGenericDocumentRootType to SBSDKDocumentsModelRootType and related constants/model classes.
      • SBSDKHealthInsuranceCardFieldType to SBSDKEuropeanHealthInsuranceCardRecognitionResultFieldType and related field/status/type classes.
      • SBSDKMedicalCertificateRecognizerCheckboxType to SBSDKMedicalCertificateCheckBoxType and related result/enum renames.
      • Renamed parameter completionHandler to completion in CreateNewWithConfiguration and PresentOn functions of SBSDKUI2DocumentScannerController.
      • Renamed parameter handler to completion in CreateNewWithConfiguration and PresentOn functions of SBSDKUI2BarcodeScannerViewController.
      • Renamed async function PresentOnAsync(on:configuration) to PresentOn(on:configuration) in SBSDKUI2BarcodeScannerViewController.
      • Completion handler result type for SBSDKUI2CroppingViewController is now optional (Action<SBSDKUI2CroppingResult?>).
    • Other removed classes:
      • Removed SBSDKCaptureInfo, SBSDKDocumentDetectionMetrics, SBSDKGenericDocumentRecognizerAccumulationConfiguration, SBSDKMachineReadableZoneRecognizerFieldName, SBSDKImageProcessorError, etc.
    • General:
      • Replaced all occurrences of the deprecated AVCaptureVideoOrientation enum by an equal enum named SBSDKVideoOrientation.
  • ⚠️ Deprecations:
    • MRZ Scanner RTU-UI v1 is deprecated. Use new SBSDKUI2MRZScannerViewController.
    • Text Pattern Scanner RTU-UI v1 is deprecated. Use new SBSDKUI2TextPatternScannerViewController.
  • πŸš™ Under the hood:
    • The iOS SDK is now included as an .xcframework (previously provided as a .framework).
    • Updated the native iOS SDK to iOS Document SDK 7.1.2.
    • The regex filters are applied for substrings instead of the entire output string.
    • Upgraded nlohmann::json to 3.11.3.
    • Upgraded xsimd to 13.2.
    • Upgraded xtl to 0.8.
    • Upgraded xtensor to 0.26.0-scanbot.
    • Upgraded yaml-cpp to 0.8.
    • Upgraded CLI11 to 2.5.
    • Upgraded spdlog to 1.15.2.
    • Upgraded Boost to 1.88.
    • Added flatbuffers 2.0.6.

.NET - Version 6.1.0 (5 Dec 2024)​

Android​

  • πŸŽ‰ New:
    • Implemented new Document API to perform document creation and editing.
    • Implemented new Ready-To-Use Document Scanner screen with extended scanning and reviewing capabilities.
    • Added multiple overloads of Render(...) method in IPDFRenderer interface.
    • Added multiple overloads of RecognizeTextWithPdfFrom(...) method in IOpticalCharacterRecognizer interface.
    • Added multiple overloads of WriteTIFF() method in TIFFWriter class.
    • Added new property AddAdditionalQuietZone to BarcodeScannerAdditionalConfig.
    • Added a new predefined collection of barcodes, BarcodeFormat.POSTAL, which includes barcodes used in the postal industry.
    • Added option MultipleScanningMode.AllowEmptySubmission to allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2.
  • πŸš€ Improvements:
    • Improved MagnifierView.
    • AR overlay is enabled by default for FindAndPickScanningMode in Barcode Scanner RTU UI v2 screen.
    • For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
    • Improved false positive rate of UPC/EAN extensions in live mode.
  • 🐞 Bug fixes:
    • Minor fixes for Barcode Scanner appearance in RTU UI v2 to make it consistent with its iOS counterpart.
    • Fix point sorting in ContourDetector.
    • Fixed KANJI mode for QR codes.
    • Fixed an issue with AR Overlay and barcode mapping in BarcodeScannerActivity RTU UI v2.0, where the mapped image wasn't shown on the AR Overlay until the same barcode appeared in the list below.
    • Fixed image preprocessing for Document Quality Analyzer.
    • Fixed fallback in the "Background Clean" filter when the ML model is unavailable.
    • Fixed R8 obfuscation config for SDK logging classes.
    • Fixed a bug in ScanbotColor where setting IsArgb to true, resulted in a wrong color.
  • ⚠️ Breaking changes:
    • IMPORTANT Dropped support for the target .net7.0-android.
    • All classes from the old Page API were marked as deprecated and moved to IO.Scanbot.Sdk.Persistence.Page.Legacy package.
    • Renamed methods to Render(...) in IPDFRenderer interface.
    • Changed Render(...) method signature in IPDFRenderer interface. Now it takes an array of Uris instead of the List of Uris.
    • Renamed WriteTIFFFromImages(...) and WriteTIFFFromFiles(...) methods to WriteTIFF(...) in the TIFFWriter class.
    • Renamed IO.Scanbot.Sdk.Process.Model.DocumentQualityResult to IO.Scanbot.Sdk.Process.Model.DocumentQuality.
    • Renamed IO.Scanbot.Sdk.Core.Contourdetector.DetectionStatus to IO.Scanbot.Sdk.Core.Contourdetector.DocumentDetectionStatus.
    • Changed the type of the Rotation field in the Page class to the IO.Scanbot.Sdk.Core.ImageProcessor enum.
    • Removed enum BarcodeDensity.
    • Removed property CodeDensity from BarcodeAdditionalParameters.
    • Removed enum values Validate and Decode from Gs1Handling and replaced them by DecodeStructure, DecodeFull, ValidateStructure and ValidateFull.
    • Removed property SharpnessAcceptanceFactor from GenericDocumentRecognizer and GenericDocumentRecognizerConfiguration for RTU UI screen.
    • Removed redundant fields BarcodeImagePath and BarcodePreviewFramePath from Result class in Barcode Scanner RTU UI v2.
    • Changed BarcodesRegexFilter config behavior for Barcode Scanner RTU UI v2. Barcodes are accepted if the barcode data contains the part that matches the regex.
    • Replaced Standard and ValidationStatus fields with ValidationErrors in the GS1.Element class.
  • πŸš™ Under the hood:

iOS​

  • πŸŽ‰ New:
    • Added new RTU-UI V2 component, see SBSDKUI2DocumentScannerController.
    • Added document capture animation in SBSDKDocumentScannerViewController.
    • Added CaptureAnimationConfiguration(...) and PolygonConfigurationFor(...) method to SBSDKDocumentScannerViewControllerDelegate.
    • Added class SBSDKDocumentAnimationConfiguration to configure document capture animation.
    • Added classes SBSDKScannedDocument and SBSDKScannedPage.
    • Added support for the new SBSDKScannedDocument class to SBSDKPDFRenderer, SBSDKUIPDFRenderer, SBSDKTIFFImageWriter and SBSDKOpticalCharacterRecognizer.
    • Added new constructor to SBSDKUI2Color that initializes from SBSDKUI2Color(UIColor uiColor).
    • Added new property IsAnimatingCapture to SBSDKDocumentScannerViewController.
    • Added new class SBSDKDocumentScannerPolygonConfiguration.
    • Added new properties PolygonConfigurationAccepted, PolygonConfigurationRejected and AutoSnapProgressPolygonConfiguration to SBSDKDocumentScannerViewController.
    • Added new method DidDetectPolygon(...) to SBSDKImageEditingViewControllerDelegate.
    • Added new property AddAdditionalQuietZone to SBSDKBarcodeAdditionalParameters.
    • Added new property PostalTypes to SBSDKBarcodeType.
    • Added a new property HardwareButtonsEnabled that enables snapping from the hardware volume buttons and the new hardware camera control button to SBSDKDocumentScannerViewController and SBSDKBarcodeScanAndCountViewController, available on iOS 17.2 and later.
    • Added support for German health insurance cards (front side) and European health insurance cards to SBSDKGenericDocumentRecognizer, SBSDKGenericDocumentRecognizerViewController and SBSDKUIGenericDocumentViewController.
    • Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
    • Added properties AustraliaPostCustomerFormat, UseIATA2OF5Checksum and UseCode11Checksum to SBSDKBarcodeAdditionalParameters and SBSDKUI2BarcodeRecognizerConfiguration.
    • Added support for PDF metadata attributes when rendering PDF files: see new class SBSDKPDFAttributes and new property pdfAttributes in SBSDKPDFRendererOptions.
    • Added new properties resultAccumulatorConfiguration to SBSDKGenericDocumentRecognizer and SBSDKGenericDocumentRecognizerViewController. See new class SBSDKGenericDocumentRecognizerAccumulationConfiguration.
    • Added new zoom control slider controlled by the new camera control button on all view controllers, available on all the new iPhone 16 models.
    • Added a new property AllowEmptySubmission to SBSDKUI2MultipleScanningMode.
  • πŸš€ Improvements:
    • Improved sharpness of captured images in SBSDKDocumentScannerViewController by tweaking various timing related default values, such as InitialScanDelay and AutoSnappingDelay.
    • The AR-overlay in SBSDKUI2FindAndPickScanningMode is now visible by default.
    • For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
    • Improved detection of UPC and EAN extensions.
    • The Generic Document Recognizer and its UI components now use the new Scanbot OCR engine under the hood. In order to scan for generic documents the additional OCR language data bundle is no longer required.
    • Improved document detection on booklet documents.
    • Improved performance of SBSDKDocumentQualityAnalyzer.
    • Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec.
    • Improved GS1 string handling with new modes for decoding and validation. See SBSDKGS1Handling.
    • Added the ability to display the scanned barcodes image in the FindAndPick usecase of SBSDKUI2BarcodeScannerViewController by specifying SBSDKUI2ExpectedBarcode.barcodeImageKey for the expected barcodes Imageproperty.
  • 🐞 Bug fixes:
    • Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes are displayed along with their non-extended versions.
    • Fixed a bug in the Find & Pick use case of SBSDKUI2BarcodeScannerViewController that never showed the expected barcodes title, but always the barcode value.
    • Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
    • Fixed a UI issue in SBSDKFinderView where the background color overlapped with the line color.
    • Fixed a UI issue in the RTU-UI v2 Find & Pick scanner in button sheet mode where the counter badge was not visible.
    • Fixed a crash when zooming with invalid MinZoom and MaxZoom values.
    • Fixed a bug that did not mirror the front camera as expected.
    • Fixed a bug in SBSDKUI2SingleScanDialogModelProvider where the default displayed texts were not correct.
    • Fixed KANJI mode for QR codes.
    • Fixed a bug with wrong raw bytes returned for some 2D barcode types.
    • Fixed potential broken generic document field validation status that could lead to a crash or undefined behavior.
    • Fixed a UI issue on the RTU-UI v2 barcode sheet screen where the subtitle label was being vertically cut off.
    • Fixed a UI issue on the RTU-UI v2 barcode confirmation sheet in the single use case where the loading indicator was not centered when the loading message was hidden.
    • Fixed a bug in Compression of SBSDKTIFFImageWriterParameters where the SBSDKTIFFImageWriter was not using the chosen compression value.
    • Fixed a bug in SBSDKCheckRecognizer where the AcceptedCheckTypes were not being applied correctly.
    • Fixed a bug in SBSDKUICheckRecognizerViewController where the AcceptedCheckStandards were not being applied correctly.
  • ⚠️ Breaking Changes:
    • IMPORTANT Dropped support for the target .net7.0-ios.
    • Deprecated SBSDKUIDocumentScannerViewController, SBSDKUIFinderDocumentScannerViewController, SBSDKUICroppingViewController and their related classes.
    • Removed enum SBSDKBarcodeDensity.
    • Removed property CodeDensity from SBSDKBarcodeAdditionalParameters.
    • Removed enum values Validate and Decode from SBSDKGS1Handling and replaced them by DecodeStructure, DecodeFull, ValidateStructure and ValidateFull.
    • Removed property SharpnessAcceptanceFactor from SBSDKGenericDocumentRecognizer, SBSDKGenericDocumentRecognizerViewController and SBSDKUIGenericDocumentRecognizerBehaviorConfiguration.
    • Removed property isAccumulatingDocuments from SBSDKGenericDocumentRecognizer and SBSDKGenericDocumentRecognizerViewController.
    • Deprecated SBSDKHealthInsuranceCardRecognizer, SBSDKHealthInsuranceCardScannerViewController and SBSDKUIHealthInsuranceCardScannerViewController.
    • Removed class SBSDKPDFMetadataEditor.
    • Renamed the values of the enum SBSDKDocumentDetectionStatus.
    • Removed optional delegate methods PolygonFillColorFor(...) and PolygonFillColorFor(...) from SBSDKDocumentScannerViewControllerDelegate class.
    • Removed properties PolygonLineWidth, PolygonLineColorAccepted, PolygonLineColorRejected, PolygonFillColorAccepted, PolygonFillColorRejected, PolygonAutoSnapProgressEnabled, PolygonAutoSnapProgressColor, PolygonAutoSnapProgressLineWidth and PolygonCornerRadius from SBSDKDocumentScannerViewController.
    • Renamed property ResidencePermitFronBack to ResidencePermitFrontBack in SBSDKUIDocumentType.
    • Removed parameter Encrypter from all SBSDKPDFRenderer methods and added it to the initializer of the class.
  • πŸš™ Under the hood:

.NET - Version 5.1.1 (4 Oct 2024)​

  • 🐞 Bug fixes:
    • Fixed reference issues when using our .NET package in more complex project structures.

.NET - Version 5.1.0 (15 Aug 2024)​

Android​

  • πŸŽ‰ New:
    • Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration.
    • Added support for new barcode format BarcodeFormat.MicroPdf417.
    • Added support for Canadian and UAE Check standards.
    • Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
    • Added new ParametricFilters in ImageProcessor API
      • ScanbotBinarizationFilter
      • CustomBinarizationFilter
      • ColorDocumentFilter
      • BrightnessFilter
      • ContrastFilter
      • GrayscaleFilter
      • WhiteBlackPointFilter
      • LegacyFilter
    • Added support for German residence permits (2011 and 2019 formats) in GenericDocumentRecognizer.
  • πŸš€ Improvements:
    • Optimized speed of the camera preview frames handling for all scanners.
    • Changed the touch to focus square in ScanbotCameraXView to a circle.
  • 🐞 Bug fixes:
    • For BarcodeFormat.Pdf417, a single case to generate clusters was not covered, which led to a crash.
    • Fixed issue with misaligned barcode polygons on some devices with horizontal orientation.
    • Fixed SoundController crash on Android API <= 23.
    • Fixed VinScannerConfiguration.setFinderTextHintColor(color) not being applied to the text hint.
    • Fixed null pointer exception for PageFileStorage operations.
  • ⚠️ Breaking Changes:
    • BatchBarcodeScannerActivity class from RTU UI v1 is now marked as 'Deprecated'.
    • Renamed Rss14 barcode format to Databar and RssExpanded to DatabarExpanded.
    • Removed BarcodeFormat.Code25 from BarcodeFormat.CommonCodes list.
    • Deleted deprecated IsLicenseActive and IsLicenseValid from ScanbotSDK. Please use LicenseInfo.IsValid instead.
    • ZoomRange can be created with any input values but will be limited under the hood by internal MinZoom (x0.2) and MaxZoom (x100) values.
    • Replaced the class BarCodeFormattedResult by GenericDocument class for barcode document parser output.
    • BarcodeExtensionsFilter now accepts EAN and UPC barcodes with extensions only and all other formats without extensions.
    • All HealthInsuranceCard prefixes in result model class names were replaced with Ehic (EhicRecognitionResult, EhicDetectionStatus, etc.).
  • πŸš™ Under the hood:
    • Updated the native SDK to Android Document SDK 5.1.2.
    • Updated 3rd-party libraries:
      • libjpeg-turbo to 2.1.5.1
      • libpng to 1.6.40
      • libtiff to 4.6.0
    • Added third-party library libzueci 1.0.0 and zlib 1.3.1.
    • Extracted parts of ScanbotBarcodeScannerSDK API to the ILicensableSdk and IBarcodeScanningSdk interfaces.
    • Migrated project to AGP 8.x.
    • Added more rules for R8 shrinker to work adequately with AGP >= 8.
    • Added Theme.AppCompat.NoActionBar theme as default for Barcode Scanner RTU UI v2 activity.
    • Added Consumer Proguard rules for RTU UI v2 modules.
    • Class SoundController was renamed to SoundControllerImpl and interface SoundController was extracted.

iOS​

  • πŸŽ‰ New:
    • Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration.
    • Added support for new barcode type SBSDKBarcodeType.MicroPdf417.
    • Added support for Canadian and UAE Check standards.
    • Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
    • Added various properties to SBSDKBaseScannerViewController and SBSDKBarcodeScannerViewController:
    • Added new classes for all the barcode document formats. See the API documentation for more details.
    • Added possibility to inject an image to simulate a video stream and a captured image to any scanner's camera session for UI testing. See ScanbotSDKGlobal.TestData, SBSDKTestData and SBSDKSimulatedCameraMockData.
    • Added streaming encryption support to SBSDKStorageCrypting.
    • Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK.
    • Added new static property MaximumRecommendedImageSize to SBSDKDeviceInformation.
    • Added new class-based image filters with customizable parameters:
      • SBSDKParametricFilter (abstract base class)
      • SBSDKScanbotBinarizationFilter
      • SBSDKCustomBinarizationFilter
      • SBSDKColorDocumentFilter
      • SBSDKBrightnessFilter
      • SBSDKContrastFilter
      • SBSDKGrayscaleFilter
      • SBSDKWhiteBlackPointFilter
      • SBSDKLegacyFilter (encapsulates the deprecated SBSDKImageFilterType filters)
    • Added support for German residence permit documents to SBSDKGenericDocumentRecognizer. See SBSDKGenericDocumentRootType.
    • Added a new configuration class SBSDKHealthInsuranceCardRecognizerParameters to configure the live detection recognizer in SBSDKHealthInsuranceCardRecognizer.
    • Added a new property liveDetectionParameters in SBSDKHealthInsuranceCardRecognizer.
    • Added a new property recognizerParameters in SBSDKHealthInsuranceCardScannerViewController and SBSDKUIHealthInsuranceCardScannerViewController.
    • Added property acceptedBrightnessThreshold to SBSDKDocumentScanner, SBSDKDocumentScannerViewController, SBSDKUIDocumentScannerBehaviourConfiguration and SBSDKUIFinderDocumentScannerBehaviorConfiguration.
    • Added property averageBrightness to SBSDKDocumentDetectionMetrics.
  • πŸš€ Improvements:
    • 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.
    • Improved detection of UPC/EAN barcode extensions in live mode.
    • Improved image quality and capture speed on most iOS devices slightly by capturing HEIF images.
    • Added support of haptic feedback on capable devices.
    • SBSDKPDFPagesExtractor functions now create the output directory if it doesn't exist yet.
    • Added support for structured logging (OSLog) to the SDK (iOS 14+).
    • The health insurance card recognizer now implements the new scanbot OCR engine. The recognition is faster and more accurate than before.
  • 🐞 Bug fixes:
    • Changed privacy manifest to comply with the latest Apple specs.
    • Fixes a bug with the asynchronous functions of SBSDKPDFPagesExtractor which returned an empty array of image URLs.
    • Fixed a bug with the generic textline recognizer not returning multiline results.
  • ⚠️ Breaking Changes:
  • πŸš™ Under the hood:
    • Updated the native SDK to iOS Document SDK 5.1.3.
    • Updated third-party libraries zlib to version 1.3.1, libtiff to 4.6.0, libjpeg-turbo to 2.1.5.1, libpng to 1.6.40.
    • Added third-party library libzueci version 1.0.0.
    • Refactored all public SDK code to Swift.

.NET - Version 4.2.0 (23 Apr 2024)​

  • πŸŽ‰ New:
    • Both Android and iOS:
      • Added new feature - Document Quality Analyzer. It analyzes the text quality (legibility) on images.
      • Added new component - VIN (Vehicle identification number) scanner.
      • New generation of Text Data Scanner component. The quality and speed of scanning has significantly improved.
      • MRZ support for td1 long document standard.
      • Added support for Kuwait ID cards in the MRZ scanner.
      • Added support for Israelian checks to the check recognizer. Check SBSDKCheckDocumentRootType and IO.Scanbot.Check.Entity.RootDocumentType enums.
      • Added support for more PDF page sizes. Check SBSDKPDFRendererPageSize and IO.Scanbot.Sdk.Model.PageSize enums.
      • Added support for PDF orientations. Check SBSDKPDFRendererPageOrientation and IO.Scanbot.Pdf.Model.PageDirection enums.
    • Android:
      • Added new supported barcode formats. Check BarcodeFormat enum for:
        • UspsIntelligentMail
        • RoyalMail
        • JapanPost
        • RoyalTntPost
        • AustraliaPost
        • Gs1Composite
        • DatabarLimited
      • The new PDF renderer for simple PDF and "sandwiched" PDF generation also allows flexibility to add custom PDF metadata.
    • iOS:
      • Added new classes SBSDKDocumentQualityAnalyzer, SBSDKOpticalCharacterRecognizer, SBSDKOpticalCharacterRecognizerConfiguration and SBSDKTextLayoutRecognizer.
      • Added TrackingOverlayController property to SBSDKBarcodeScannerViewController.
      • Added property ExtensionFilter to all barcode scanning APIs and added property Extension to SBSDKBarcodeScannerResult.
      • Introduced new classes and properties to manage barcode tracking overlay.
      • Added functions to SBSDKDeviceInformation to get the total, used and unused disk space on the device.
      • Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK which complies with the latest Apple specs.
      • Added SetupDefaultLicenseFailureHandlerWithCompletion method to the ScanbotSDKGlobal class.
      • Added new method WidestAvailableBackFacingCamera to SBSDKCameraDevice.
      • Added support for new barcode types. Check SBSDKBarcodeType enum for:
        • USPSIntelligentMail
        • RoyalMail
        • JapanPost
        • RoyalTNTPost
        • AustraliaPost
        • GS1Composite
        • DatabarLimited
  • πŸš€ Improvements:
    • Both Android and iOS:
      • Added new Optical Character Recognition engine based on machine learning algorithms that is much faster and less error-prone. The 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.
      • Added more control over how to handle GS1 messages in barcodes. Check Gs1 Handling property in the Barcode scanner configurations classes.
      • Improved the document detector with better performance and less memory consumption.
    • Android:
      • Added SetBarcodeFormatsFilter(barcodeFormat: List<BarcodeFormat>) method in BatchBarcodeScannerConfiguration class.
      • Optimized default and custom preview/picture size selection in the ScanbotCameraXView.
      • Optimized SetForceMaxSnappingSize(enabled: bool) behavior in the ScanbotCameraXView.
      • Improved pinch-to-zoom gesture in ScanbotCameraXView.
      • Added SetLifecycleOwner(lifecycleOwner: ILifecycleOwner) method for ViewController in DocumentScannerView and BarcodeScannerView to improve compatibility with Compose UI.
  • 🐞 Bug fixes:
    • Android:
      • Fixed some OOM crashes on low to midrange devices.
      • Fixed EnableCameraButtonTitle and EnableCameraExplanationText parameters on Batch and Barcode RTU UI screen configs.
      • Fixed crash in GenericTextRecognizer on ARM v7 devices.
      • Fixed behavior of OcrResolutionLimit configuration in GenericTextRecognizer.
    • iOS:
      • Fixed a bug where the finder text hint was still showing when ViewFinderEnabled was disabled in SBSDKUIBarcodeScannerViewController and SBSDKUIBarcodesBatchScannerViewController.
      • Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
      • Fixed an issue where the MRZ Scanner was not recognizing the new standard of Belgian ID Cards.
      • Fixed the issue when the top and bottom toolbars' background color in SBSDKUICroppingViewController didn't update on dark mode change, when set to UIColor.SystemBackground.
  • ⚠️ Breaking changes:
    • Android:
      • If you are using SetPictureSize(pictureSize: Size), SetCameraFrameSize(frameSize: Size) or SetPreviewFrameSize(frameSize: Size), make sure input Size has the correct orientation (fits the view or display size).
      • All scanner components have been switched to zoom ratio (values 1x, 2x, etc.) instead of linear zoom (from 0 to 1). Methods renamed: SetOpticalZoomRange() -> SetPhysicalZoomRange(), SetOpticalZoomLevel() -> SetPhysicalZoomRatio() in ScanbotCameraXView, DocumentScannerView, BarcodeScanAndCountView and BarcodeScannerView. setPhysicalZoomRange() and setPhysicalZoomRatio() accept possible zoom values from 0.5x up to 100x. NOTE: if the value sent to the camera is out of range for a specific device's capabilities, then the camera will try to set the max or min possible for that specific device. eg. Zoom 100x will only work on some high-end Samsung devices, whereas other devices will only have 12x-30x max. The same goes for minimum supported values, 0.5x is a wide-format camera module that does not exist on many Android devices.
      • Removed deprecated BlurEstimator and added DocumentQualityAnalyzer feature. Please use SDK function CreateDocumentQualityAnalyzer(...) instead of CreateBlurEstimator(...).
      • Changed signature of RenderDocumentFromImages() and RenderDocumentFromPages() methods - pageSize: PDFPageSize was replaced with more detailed pdfConfig: PdfConfig parameter.
      • Changed namespace from IO.Scanbot.Sdk.Process.PDFPageSize to IO.Scanbot.Pdf.Model.PageSize.
      • Removed parameter forceCpu: Boolean from ImageProcessor methods.
      • The TextDataScannerConfiguration now requires an instance of TextDataScannerStep for initialization.
      • Replaced CameraModule.FrontMirrored with CameraModule.Front, which behaves as mirrored mode.
    • iOS:
      • Removed SBSDKImageMetricsAnalyzer, SBSDKImageChannelMetrics and UIImage+SBSDKMetricsAnalysis.
      • Refactored all OCR and PDF rendering classes to incorporate the new OCR engine and simplify the APIs.
      • Removed SBSDKOpticalTextRecognizer and SBSDKTextOrientationRecognizer.
      • Renamed SBSDKPageOrientation to SBSDKTextOrientation.
      • Changed function signatures of methods in SBSDKPDFRenderer and SBSDKUIPDFRenderer.
      • Added new values and removed unused values in SBSDKPDFRendererPageSize.
      • Removed barcode type SBSDKBarcodeTypeUnknown.
      • Removed property AutoCancelTimeout from SBSDKUIMRZScannerBehaviorConfiguration.
      • Removed TextRecognitionLanguages and TextFilterStrategy from SBSDKGenericTextLineRecognizerViewController.
      • Removed TextFilterStrategy from SBSDKUITextDataScannerStep.
      • Removed SupportedLanguages from SBSDKUITextDataScannerBehaviorConfiguration.
      • Removed SelectionOverlayTextFor from SBSDKUIBarcodeScannerViewControllerDelegate.
      • Renamed SelectionOverlayConfiguration to TrackingOverlayConfiguration in SBSDKUIBarcodeScannerConfiguration and SBSDKUIBarcodesBatchScannerConfiguration.
      • Renamed SBSDKUIBarcodeSelectionOverlayConfiguration to SBSDKUIBarcodeTrackingOverlayConfiguration.
      • Replaced the properties PolygonEnabled, PolygonColor, PolygonFillColor and PolygonLineWidth by the property PolygonStyle in SBSDKBarcodeScanAndCountViewController.
      • The class SBSDKBlurrinessEstimator has been removed and replaced by the far superior SBSDKDocumentQualityAnalyzer.
      • Changed default value of the finder aspect ratio in SBSDKUIFinderDocumentScannerUIConfiguration to DIN A4 portrait.
      • Removed prefix Sbsdk_ from all the method names in UIImage_SBSDKFiltersAndWarping interface. (eg: Sbsdk_imageWarpedByPolygon to ImageWarpedByPolygon).
  • πŸš™ Under the hood:
    • The native Scanbot Android SDK upgraded to v4.2.0.
    • The native Scanbot iOS SDK upgraded to v4.2.2.

.NET - Version 2.3.1 (11 Oct 2023)​

  • 🐞 Bug fixes:
    • Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.

.NET - Version 2.3.0 (15 Sep 2023)​

  • πŸŽ‰ New:
    • Both Android and iOS:.
      • Added support for the Micro QR barcode type.
      • Added view finder flag for barcode scanners (see more details below).
      • Added support for Scan and Count of Barcodes (see more details below).
    • Android:
      • Added new function setViewFinderEnabled to:
        • IO.Scanbot.Sdk.UI.View.Barcode.Configuration.BarcodeScannerConfiguration
        • IO.Scanbot.Sdk.UI.View.Barcode.Batch.Configuration.BatchBarcodeScannerConfiguration
      • Introduced a scanned barcode confirmation dialog in IO.Scanbot.Sdk.UI.View.Barcode.BarcodeScannerActivity RTU screen:
        • Added SetConfirmationDialogConfiguration to IO.Scanbot.Sdk.UI.View.Barcode.Configuration.BarcodeScannerConfiguration for modifying dialog UI.
      • Added Scan and Count of Barcodes feature.
        • Use IO.Scanbot.Sdk.Barcode.UI.BarcodeScanAndCountView to integrate it into your app.
    • iOS:
      • Added new property ViewFinderEnabled to:
        • ScanbotSDK.iOS.SBSDKUIBarcodeScannerBehaviorConfiguration
        • ScanbotSDK.iOS.SBSDKUIBarcodesBatchScannerBehaviorConfiguration
      • Added new Classic UI component Scanbot.iOS.SBSDKBarcodeScanAndCountViewController which enables you to scan barcodes multiple times using the shutter button.
      • Added new properties ConfirmationDialogTitle and ConfirmationDialogMessage to
        • ScanbotSDK.iOS.SBSDKUIBarcodeScannerTextConfiguration.
      • Machine-readable-zone results have been refactored (please see ⚠️ Breaking changes):
        • Added new properties to ScanbotSDK.iOS.SBSDKMachineReadableZoneRecognizerResult:
          • GenericDocument
          • TravelDocumentTypeVariantField
          • DateOfIssueField
        • Added new value CrewMemberCertificate to the Scanbot.iOS.SBSDKMachineReadableZoneRecognizerResultDocumentType enum.
        • Added new values to the Scanbot.iOS.SBSDKMachineReadableZoneRecognizerFieldName enum:
          • DateOfIssuance
          • TravelDocumentTypeVariant
      • Added new function FlipHorizontally to ScanbotSDK.iOS.SBSDKPolygon.
      • Added new property IsMirrored to ScanbotSDK.iOS.SBSDKCameraDevice.
  • πŸš€ Improvements:
    • Both Android and iOS:
      • Improved accuracy and detection speed of several barcode types, such as QR_CODE, Code39, and Code93.
      • Added support for inverted PDF-417 barcodes.
    • iOS:
      • Changed the default value for the DocumentType property in Scanbot.iOS.SBSDKUIGenericDocumentRecognizerBehaviorConfiguration
        • All documents are recognised by default now.
      • Changed the default zoom range from (0.0 - 3.0) to (0.0 - 12.0) in:
        • All Classic UI components
        • All RTU-UI components
        • The ScanbotSDK.iOS.SBSDKZoomRange class
      • Support for generic documents in the MRZ recognizer.
  • 🐞 Bug fixes:
    • Android:
      • Fixed a crash within the barcode detector.
      • Fixed detection of several RSS_EXPANDED false-positives in live mode.
      • Fixed a bug causing incorrect (mirrored) preview when CameraModule.Front is set up for IO.Scanbot.Sdk.UI.Camera.ScanbotCameraXView.
      • Fixed the logic in setAutoSnapProgressEnabled and setPolygonAutoSnapProgressEnabled methods in:
        • IO.Scanbot.Sdk.UI.View.Camera.Configuration.FinderDocumentScannerConfiguration
        • IO.Scanbot.Sdk.UI.View.Camera.Configuration.DocumentScannerConfiguration
      • Fixed TextDataScaner.textDataScannerStep not applying from JSON configuration.
      • Ignored iOS-only parameter shutterButtonIndicatorColor when mapping:
        • IO.Scanbot.Sdk.UI.View.Camera.Configuration.DocumentScannerConfiguration
        • IO.Scanbot.Sdk.UI.View.Camera.Configuration.FinderDocumentScannerConfiguration
      • Corrected mapping of userGuidanceStrings JSON configuration for IO.Scanbot.Sdk.UI.View.Check.Configuration.CheckRecognizerConfiguration.
    • iOS:
      • Fixed the detection of a few false positive RSS Expanded codes in live mode.
      • Fixed an unexpected behavior of the barcode scanner when passing ScanbotSDK.iOS.SBSDKBarcodeType.Unknown as accepted barcode type.
      • Fixed a bug in all Classic UI and RTU-UI components where the RecognitionEnabled property might not have worked as intended.
      • Fixed a bug where ocrResolutionLimit was not being used in: ScanbotSDK.iOS.SBSDKUITextDataScannerBehaviorConfiguration from JSON.
      • Fixed a bug where the polygon should be mirrored when using the front camera in:
        • ScanbotSDK.iOS.SBSDKDocumentScannerViewController
        • ScanbotSDK.iOS.SBSDKUIDocumentScannerViewController
      • Fixed a bug where automaticSelectionEnabled was not working properly in ScanbotSDK.iOS.SBSDKUIBarcodesBatchScannerViewController.
  • ⚠️ Breaking changes:
    • Android:
      • API breaking changes in the MRZ scanner result interface:
        • Replaced IO.Scanbot.Mrzscanner.Model.MRZRecognitionResult result model class with IO.Scanbot.Mrzscanner.Model.MRZGenericDocument.
        • Removed the Fields list and MRZField class, instead:
          • All detected fields are now stored in the Document.Fields list in IO.Scanbot.Mrzscanner.Model.MRZGenericDocument.
        • The travelDocType: MRZDocumentType is now represented by the documentType: MRZDocumentType field in the MRZGenericDocument instance.
        • Date fields in the IO.Scanbot.Mrzscanner.Model.MRZGenericDocument result model now contain an unformatted date string.
        • Replaced IO.Scanbot.Mrzscanner.Model.MRZDocumentType class with IO.Scanbot.Mrzscanner.Model.MRZGenericDocument.MRZDocumentType.
    • iOS:
      • Several delegate method names were renamed, such as:
        • ScanbotSDK.iOS.SBSDKCheckRecognizerViewControllerDelegate:
          • CheckRecognizerViewController to DidRecognizeCheck.
          • CheckRecognizerViewController to DidChangeState.
          • CheckRecognizerViewControllerShouldRecognize to ShouldRecognize.
        • ScanbotSDK.iOS.SBSDKGenericDocumentRecognizerViewControllerDelegate:
          • DocumentRecognizerViewController to DidRecognizeResult.
          • GenericDocumentRecognizerViewControllerShouldRecognize to ShouldRecognize.
        • ScanbotSDK.iOS.SBSDKHealthInsuranceCardScannerViewControllerDelegate:
          • HealthInsuranceCardScannerViewController to DidScanHealthInsuranceCard.
          • HealthInsuranceCardScannerViewControllerShouldRecognize to ShouldRecognize.
        • ScanbotSDK.iOS.SBSDKUIHealthInsuranceCardScannerViewControllerDelegate:
          • HealthInsuranceCardDetectionViewController to DidDetectCard.
          • HealthInsuranceCardDetectionViewControllerDidCancel to DidCancel.
        • ScanbotSDK.iOS.SBSDKImageEditingViewControllerDelegate:
          • ImageEditingViewController to DidApplyChangesWithPolygon.
          • ImageEditingViewControllerDidCancelChanges to DidCancelChanges.
          • ImageEditingViewControllerDidChangePolygon to DidChangePolygon.
          • ImageEditingViewControllerCancelButtonItem to CancelButtonItem.
          • ImageEditingViewControllerApplyButtonItem to ApplyButtonItem.
          • ImageEditingViewControllerToolbarStyle to ToolbarStyle.
          • ImageEditingViewControllerToolbarTintColor to ToolbarTintColor.
          • ImageEditingViewControllerToolbarItemTintColor to ToolbarItemTintColor.
          • ImageEditingViewControllerRotateClockwiseToolbarItem to RotateClockwiseToolbarItem.
          • ImageEditingViewControllerRotateCounterClockwiseToolbarItem to RotateCounterClockwiseToolbarItem.
        • ScanbotSDK.iOS.SBSDKDocumentScannerViewControllerDelegate:
          • DocumentScannerViewController to DidSnapDocumentImage.
          • DocumentScannerViewControllerShouldDetectDocument to ShouldDetectDocument.
          • DocumentScannerController to DidSampleVideoFrame.
          • DocumentScannerViewControllerWillSnapImage to WillSnapImage.
          • DocumentScannerViewControllerDidFailSnappingImage to DidFailSnappingImage.
          • DocumentScannerViewController to ShouldAutoSnapImageWithForDetectionResult.
          • DocumentScannerViewControllerLineColor to PolygonLineColorForStatus.
          • DocumentScannerViewController to PolygonFillColorForStatus.
          • DocumentScannerViewController to ConfigureStatusDetectionLabel.
        • ScanbotSDK.iOS.SBSDKUIGenericDocumentRecognizerViewControllerDelegate:
          • GenericDocumentRecognizerViewController to DidFinishWithDocuments.
          • GenericDocumentRecognizerViewControllerDidCancel to DidCancel.
        • ScanbotSDK.iOS.SBSDKMedicalCertificateScannerViewControllerDelegate:
          • MedicalCertificateScannerViewController to DidRecognizeMedicalCertificate.
          • MedicalCertificateScannerViewControllerShouldRecognize to ShouldRecognize.
          • MedicalCertificateScannerViewController to DidChangeState.
        • ScanbotSDK.iOS.SBSDKUIMedicalCertificateScannerViewControllerDelegate:
          • MedicalScannerViewController to DidFinishWithResult.
          • MedicalScannerViewControllerDidCancel to DidCancel.
        • ScanbotSDK.iOS.SBSDKUIViewControllerDelegate:
          • ViewControllerShouldCancel to ShouldCancel.
          • ViewControllerShouldFinish to ShouldFinish.
      • Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
      • Removed classes:
        • ScanbotSDK.iOS.SBSDKUIMachineCodesCollection
        • ScanbotSDK.iOS.SBSDKMultipleObjectScannerViewController
        • ScanbotSDK.iOS.SBSDKBusinessCardsImageProcessor
        • ScanbotSDK.iOS.SBSDKMultipleObjectsDetector
        • ScanbotSDK.iOS.SBSDKUIMultipleObjectScannerViewController and its configuration classes.
        • ScanbotSDK.iOS.SBSDKBaseCameraViewController
      • Renamed the property AcceptedMachineCodeTypes to AcceptedBarcodeTypes in:
        • ScanbotSDK.iOS.SBSDKUIBarcodeScannerBehaviorConfiguration
        • ScanbotSDK.iOS.SBSDKUIBarcodesBatchScannerBehaviorConfiguration
      • Machine-readable-zone results have been refactored:
        • Date fields in machine-readable-zones are returned unformatted now, e.g. in the format 'YYMMDD'. Previously we tried to convert them to the format 'DD.MM.YY'.
        • Removed value DiscreetIssuingStateOrOrganization from the ScanbotSDK.iOS.SBSDKMachineReadableZoneRecognizerFieldName enum.
        • Removed value TravelDocument from the ScanbotSDK.iOS.SBSDKMachineReadableZoneRecognizerResultDocumentType enum.
        • Removed property DiscreetIssuingStateOrOrganizationField from ScanbotSDK.iOS.SBSDKMachineReadableZoneRecognizerResult.
        • Removed property CheckDigitsCount from ScanbotSDK.iOS.SBSDKMachineReadableZoneRecognizerResult.
  • πŸš™ Under the hood:
    • The native Scanbot Android SDK upgraded to v2.3.0.
    • The native Scanbot iOS SDK upgraded to v2.3.1.

.NET - Version 2.2.0 (26 Jun 2023)​

  • πŸŽ‰ First release of the ScanbotSDK.NET NuGet package for Native iOS and Android APIs.
  • Provides Ready-To-Use UI Components - a set of easy to integrate Native wrappers of .NET based on iOS and Android native components for the most common tasks in Scanbot SDK:
    • Document Scanner
    • Cropping UI & ImageFilters
    • Barcode & QR code Scanner
    • MRZ Scanner
    • Generic Document Recognizer
    • EHIC Scanner
    • Check Recognizer
  • Provides additional SDK features based on image picked from the device photos application:
    • Detect Barcodes on Image
    • Detect Document on Image
  • New unified Scanbot SDK API:
    • Idiomatic asynchronous design
    • MAUI-based unified API for Android & iOS
  • Example App demonstrating the new functionality: scanbot-sdk-maui-example