Skip to main content

Changelog | Xamarin Native Document Scanner SDK

ScanbotSDK.Xamarin - Version 4.2.0 (25 Apr 2024)

  • 🎉 New:
    • Both iOS and Android:
      • Added new feature - Document Quality Analyzer. It analyzes the text quality (legibility) on images.
      • 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.
      • Added support for more PDF page sizes. Please check enum PDFPageSize. For native check SBSDKPDFRendererPageSize and IO.Scanbot.Sdk.Model.PageSize enums.
      • Added support for PDF orientations. Please check PDFPageOrientation. For native 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.
      • Introduced new classes and properties to manage barcode tracking overlay.
      • Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK which complies with the latest Apple specs.
      • Added new static property MaximumRecommendedImageSize to SBSDKDeviceInformation.
      • 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 SetBarcodeFormatsFilter(barcodeFormat: List<BarcodeFormat>) method in BatchBarcodeScannerConfiguration class.
      • 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:
      • Removed parameter forceCpu: Boolean from ImageProcessor methods.
      • 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:
    • Both iOS and Android:
      • Updated PerformOCR(...) in the respective platforms specific SBSDK class.
      • Updated CreatePDF(...) method by adding an optional parameter orientation of type PDFPageOrientation enum.
      • Removed deprecated BlurEstimator feature. Use DocumentQualityAnalyzer instead.
    • 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.
      • Replaced CreateBlurEstimator(...) with CreateDocumentQualityAnalyzer(...).
      • Changed signature of RenderDocumentFromImages() and RenderDocumentFromPages() methods - pageSize: PDFPageSize was replaced with more detailed pdfConfig: PdfConfig parameter.
      • Replaced PerformOCR(AndroidNetUri[] images, string[] languages, AndroidNetUri pdfOutputFileUri = null) with public static OcrResult PerformOCR(AndroidNetUri[] images, OcrConfigs configs = null, AndroidNetUri pdfOutputFileUri = null) in SBSDK.
      • Replaced CameraModule.FrontMirrored with CameraModule.Front, which behaves as mirrored mode.
      • The TextDataScannerConfiguration now requires an instance of TextDataScannerStep for initialization.
      • Changed namespace for IO.Scanbot.Sdk.Process.PDFPageSize to IO.Scanbot.Pdf.Model.PageSize.
    • iOS:
      • Removed SBSDKImageMetricsAnalyzer, SBSDKImageChannelMetrics and UIImage+SBSDKMetricsAnalysis.
      • Refactored all OCR and PDF rendering classes to incorporate the new OCR engine and simplify the API.
      • 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.
      • Replaced public static void CreatePDF(NSUrl[] images, NSUrl pdfOutputURL, PDFPageSize pageSize) with public static async Task CreatePDF(NSUrl[] images, NSUrl pdfOutputURL, PDFPageSize pageSize, PDFPageOrientation orientation = PDFPageOrientation.Auto).
      • Replaced public static SBSDKOCRResult PerformOCR(NSUrl[] images, string[] languages, NSUrl pdfOutputFileURL = null) with public static Task<SBSDKOCRResult> PerformOCR(NSUrl[] images, OcrConfigs configs = null, NSUrl pdfOutputFileURL = null).
      • Changed public static void CreatePDF(ImageStorage storage, NSUrl pdfOutputURL, PDFPageSize pageSize) method to private visibility.
      • 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.
      • Renamed a few UIImage extension methods:
        • Sbsdk_imageWarpedByPolygon with ImageWarpedByPolygon
        • Sbsdk_imageScaledToSize with ImageScaledToSize
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK to v4.2.0.
    • Upgraded the native Scanbot iOS SDK to v4.2.2.

ScanbotSDK.Xamarin - Version 3.10.2 (24 Nov 2023)

  • 🚀 Improvements:
    • Added support for Android 13.
    • Nuget packages dependencies for Android were reduced and updated.
    • Please remove the Scanbot.NET.SDK.Dependencies or Scanbot.Xamarin.SDK.Dependencies nuget package, if you have them in your project. All dependencies are now included inside this package.

ScanbotSDK.Xamarin - Version 3.10.0 (6 Nov 2023)

  • 🎉 New:
    • Added support for the Micro QR barcode type.
    • Added new property to enable view finder in Barcode and Batch Barcode Scanning configurations.
    • Added Barcode confirmation dialog feature in Barcode scanning.
    • Added Vehicle Identification Number(VIN) scanner in RTU UI and Classic components.
    • Added Barcode Scan And Count feature in classic components.
    • Android:
      • Now you can update the AR Overlay color on each barcode in BarcodeScanAndCountView and BarcodeScannerView by using delegate property BarcodeAppearanceDelegate. Please refer to SelectionOverlayController and CounterOverlayController properties respectively.
    • iOS:
      • Added properties MaxNumberOfAccumulatedResults and RequiredNumberOfEqualAccumulatedResults to SBSDKMachineReadableZoneRecognizer, SBSDKMRZScannerViewController and SBSDKUIMRZScannerBehaviorConfiguration.
      • Added property ExtensionFilter to all barcode scanning APIs SBSDKBarcodeScanner, SBSDKBarcodeScannerViewController, SBSDKBarcodeScanAndCountViewController, SBSDKUIBarcodeScannerBehaviorConfiguration and SBSDKUIBarcodesBatchScannerBehaviorConfiguration.
      • Added property Extension in SBSDKBarcodeScannerResult to access barcode extension result.
  • 🚀 Improvements:
    • Support for inverted PDF-417 barcodes.
    • The barcode types Code 39 and Code 93 decode slightly faster.
    • Support for generic documents in the MRZ recognizer.
    • OCR quality for the Generic Text Line Scanner should be significantly more reliable.
    • Android: Fixed potential memory leak in all RTU-UI screens.
  • ⚠️ Breaking changes:
    • Major updates made in the MRZ scanner.
    • Removed barcode type Unknown.
    • Major updates on the AR Overlay feature for Barcode Scanner Classic component.
    • Android:
      • Replaced MRZDocumentType class with MRZGenericDocument.MRZDocumentType.
      • Removed deprecated MultipleObjectsDetector, MultipleObjectsDetectorActivity and BusinessCardsImageProcessor.
    • iOS:
      • Due to a Swift compiler naming collision, some classes are renamed from ScanbotSDK to Scanbot.
      • Removed property ResultAccumulationCount from SBSDKMachineReadableZoneRecognizer, SBSDKMRZScannerViewController and SBSDKUIMRZScannerBehaviorConfiguration.
      • Renamed the property AcceptedMachineCodeTypes to AcceptedBarcodeTypes in SBSDKUIBarcodeScannerBehaviorConfiguration and SBSDKUIBarcodesBatchScannerBehaviorConfiguration.
      • Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
      • Removed class SBSDKUIMachineCodesCollection.
      • Removed classes SBSDKMultipleObjectScannerViewController, SBSDKBusinessCardsImageProcessor, SBSDKMultipleObjectsDetector, SBSDKUIMultipleObjectScannerViewController and its configuration classes.
      • Removed class SBSDKBaseCameraViewController.
      • Removed TextFilterStrategy from SBSDKUITextDataScannerStep.
      • Removed SupportedLanguages from SBSDKUITextDataScannerBehaviorConfiguration.
      • Renamed SBSDKUIBarcodeSelectionOverlayConfiguration to SBSDKUIBarcodeTrackingOverlayConfiguration.
      • Renamed SelectionOverlayConfiguration to TrackingOverlayConfiguration in SBSDKUIBarcodeScannerConfiguration and SBSDKUIBarcodesBatchScannerConfiguration.
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK.
    • The Changelog of the native Scanbot iOS SDK.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK to v3.0.1.
    • Upgraded the native Scanbot iOS SDK to v3.0.2.

ScanbotSDK.Xamarin - Version 3.9.0 (2 August 2023)

  • NOTE: Major update! A thorough review of the breaking changes is highly recommended.
  • 🎉 New:
    • A new RTU-UI component, Text Data Scanner, was added, allowing OCR performance using our Data Scanner Camera API.
      • Android: TextDataScannerConfiguration and TextDataScannerStep should be referred to for implementation.
      • iOS: SBSDKUITextDataScannerConfiguration and SBSDKUITextDataScannerViewController should be referred to for implementation.
    • Support for new Barcode Formats, Code25, IATA, and Industrial types, was added.
    • A new AR overlay feature for Barcode and Batch Barcode scanning was added. See SelectionOverlayConfiguration for android and SBSDKUIBarcodeSelectionOverlayConfiguration for iOS.
    • Android:
      • New types in enum CheckBoxType were added, including McBoxEntitlementToContinuedPaymentYes, McBoxEntitlementToContinuedPaymentNo, McBoxSickPayWasClaimedYes, McBoxEntitlementToContinuedPaymentNo, McBoxSingleParentYes, McBoxSingleParentNo.
      • Form21aBack type in McFormType enum was added.
      • SetRequiredAspectRatios in DocumentScannerConfiguration class was added.
    • iOS:
      • New add-ons for Classic Components were added in the under-the-hood Scanbot SDK iOS change log.
      • FilterResults method was added to SBSDKBarcodeScannerViewControllerDelegate.
      • Support for more camera device types in SBSDKCameraDevice was added. The new device types are SBSDKCameraDeviceTypeUltraWide, SBSDKCameraDeviceTypeDualWide, SBSDKCameraDeviceTypeDualandSBSDKCameraDeviceTypeTriple`.
      • New types in enum SBSDKMedicalCertificateRecognizerCheckboxType were added, including EntitlementToContinuedPaymentYes, EntitlementToContinuedPaymentNo, SickPayWasClaimedYes, SickPayWasClaimedNo, SingleParentYes, SingleParentNo.
      • SBSDKMedicalCertificateRecognizerFormType_21A_BACK in SBSDKMedicalCertificateRecognizerFormType was added.
      • RequiredAspectRatios in SBSDKUIDocumentScannerBehaviorConfiguration class was added.
      • Properties dateOfDetection and age were added to SBSDKBarcodeScannerResult.
      • New RTU-UI component SBSDKUIFinderDocumentScannerViewController was added, which enables scanning of a single document page with the help of a viewfinder and bound to a certain aspect ratio.
      • New property ignoresSafeAreaInsets was added to SBSDKFinderView.
  • ⚠️ Breaking changes:
    • Android:
      • McInfoBoxSubtype was renamed to CheckBoxType.
      • FinderAspectRatio and PageAspectRatio got deprecated. AspectRatio should be used instead.
      • NfcPassportScanner, PayFormScanner and Workflows were removed.
      • McBoxAccident got renamed to McBoxAccidentYes and McBoxRequiresCare got renamed to McBoxRequiresCareYes in McInfoBoxSubtype.
      • Method ScanbotSDKInitializer.prepareMRZBlobs() was removed.
      • Enums MedicalCertificateInsuredPersonType and MedicalCertificateIntention were removed.
      • Classic Components: The FrameHandler interface got converted to an abstract class under-the-hood. Please check all new FrameHandler Wrapper and ResultHandler Wrapper classes added for all Classic Components.
    • iOS:
      • Xcode 14.0 or higher is now required to build and submit apps using ScanbotSDK!
      • Bitcode was removed from ScanbotSDK. Bitcode is no longer needed and Apple deprecated it with Xcode 14. Please turn bitcode off for your apps using ScanbotSDK!
      • SBSDKScannerViewController was removed. Please use SBSDKDocumentScannerViewController instead.
      • HideDetectionStatusLabel got renamed to SuppressDetectionStatusLabel in SBSDKDocumentScannerViewController.
      • Accident got renamed to AccidentYes, RequiresCare to RequiresCareYes SBSDKMedicalCertificateRecognizerCheckboxType.
      • All deprecated classes: SBSDKUIWorkflowScannerViewController, SBSDKUINFCPassportReaderViewController, SBSDKNFCPassportReader, SBSDKScannerViewController, SBSDKPayFormScanner and all their related classes were removed.
      • Deprecated properties and functions in SBSDKMachineReadableZoneRecognizerResult, SBSDKMedicalCertificateRecognizer, SBSDKOpticalTextRecognizer, SBSDKCaptureInfo, SBSDKUIPage and SBSDKGenericTextLineRecognizerConfiguration were removed.
      • SBSDKBarcodeScannerViewControllerDelegate got refactored. Please check all your classes that conform to SBSDKBarcodeScannerViewControllerDelegate.
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK.
    • The Changelog of the native Scanbot iOS SDK.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK to v2.2.0.
    • Upgraded the native Scanbot iOS SDK to v2.2.0.

ScanbotSDK.Xamarin - Version 3.8.3 (26 Jul 2023)

  • 🐞 Bug fixes:
    • iOS: Fixed issue regarding orientation changes in Ready-To-Use screens
  • 🚙 Under the hood:
    • Upgraded the native Scanbot iOS SDK to v1.29.1

ScanbotSDK.Xamarin - Version 3.8.0 (6 Dec 2022)

  • NOTE: Major update! Please read breaking changes carefully.
  • 🎉 New:
    • Added support for JSON in all RTU-UI configurations!
      • iOS: All SBSDKUI...Configuration classes now have an initWithJSON: initializer.
      • Android: Each RTU UI configuration and ScanbotSDKInitializer class now contains FromJson(input: String) and ModifyFromJsonConfiguration(<ScreenName>JsonConfiguration) methods allowing to create or edit the configuration classes using JSON input. The format of the JSON string should be compatible with <ScreenName>JsonConfiguration class
    • New Check Recognizer UI and improvements:
      • All the Cheque components and packages were renamed to Check
      • iOS: Added new component SBSDKUICheckRecognizerViewController for scanning checks.
      • Android:
        • Introduced CheckRecognizerActivity RTU UI for the convenient use of our updated Check Recognizer SDK
        • Added SetAcceptedCheckStandards(acceptedCheckStandards: ArrayList<RootDocumentType>) method for Check filtering by standard in CheckRecognizer. By default - empty list (all standards are accepted).
        • Added ReturnImageOnSuccess: Boolean parameter for Recognize(...) and RecognizeWithFinderOverlay(...) methods in CheckRecognizer. By default - false.
      • Added new parameter codeDensity for Barcode Detection:
        • iOS: See SBSDKBarcodeAdditionalParameters;
        • Android: See BarcodeScannerAdditionalConfig;
      • Added new platform-specific parameters:
        • iOS:
          • forceUserGuidance to SBSDKUIDocumentScannerBehaviorConfiguration;
          • flashButtonHidden to all RTU-UI screens;
      • Added new supported checkbox types for Medical Certificate Recognizer:
        • iOS: McBoxRequiresCare, McBoxRequiresCareNo, McBoxAccident, McBoxAccidentNo, McBoxIntention and McBoxOtherAccident.
        • Android: McBoxRequiresCare, McBoxAccident, McBoxAccidentNo and McBoxOtherAccident.
      • iOS:
        • New Classic UI components! All RTU-UI components now use them under the hood:
          • Added a new base scanner view controller SBSDKBaseScannerViewController which provides a lot of base functionality like zooming, view finder, energy management, focus locking, flash light and flash animation, automatic interruption of detection on disappearance or when presenting view controllers and more.
          • Made all Classic UI scanner view controllers subclasses of the new SBSDKBaseScannerViewController.
          • Added new component SBSDKCheckRecognizerViewController for scanning checks.
          • Added new component SBSDKHealthInsuranceScannerViewController for scanning health insurance cards.
          • Added new component SBSDKMRZScannerViewController for scanning machine-readable zones.
          • Added new component SBSDKDocumentScannerViewController for scanning documents. This is a simpler version of the deprecated SBSDKScannerViewController.
        • Added new class SBSDKSoundController to play a default or custom sound on different actions, e.g. successful code detection.
        • Added new method PlayBleepSound to SBSDKBaseScannerViewController to play a default bleep sound.
        • Added asynchronous, cancellable and progress-observable functions to SBSDKPDFPagesExtractor.
        • Added optional delegate method DidSampleVideoFrame(:detectionResult) to SBSDKDocumentScannerViewControllerDelegate, which informs the delegate that the document scanner has processed a video frame.
        • Added the SBSDKUIDialogFactory class to create iOS system-style alerts with extended functionality, e.g. displaying images.
        • Added the function TiffDataForImages(:parameters) to get the TIFF image data in SBSDKTIFFImageWriter.
        • Replaced autoSnappingEnabled with autoSnappingMode of the new type SBSDKAutosnappingMode in SBSDKDocumentScannerViewController.
      • Android:
        • Added Fragment.RegisterForActivityResultOk method for calling activity from fragments for subscribing to success result with the new Activity Result API.
        • With the new BarcodeScannerView and DocumentScannerView Classic Components, the integration of barcode scanning and document scanning with Custom UIs is now even easier!
  • 🚀 Improvements:
    • Improved accuracy and performance of the check recognizer.
    • Huge improvement on the speed and accuracy of 1D barcodes recognition.
    • Improved generic document recognizer field validation.
    • Android:
      • Added default images for EditPolygonView anchors and for MagnifierView overlay image in classical components.
      • Added new insets API for the finder box:
        • FinderInsets allows setting the finder edge padding from the camera preview edges.
        • SafeAreaInsets can add additional padding to the finder. This is particularly useful when part of the camera preview is covered by another widget (e.g. a navigation bar), thus preventing the finder from appearing behind this widget.
      • Added configuration methods to MedicalCertificateRecognizerConfiguration that allow configuring the appearance of the medical certificate scanner's finder. Details in MedicalCertificateRecognizerConfiguration API reference.
      • If the medical certificate contains a barcode, the information contained in it will be merged with the printed information.
      • Added an option to force display the user guidance interface when manually snapping documents in DocumentScannerActivity. Use DocumentScannerConfiguration.SetForceUserGuidance(true) to enable this option.
      • Added a cancellation interface for PdfPagesExtractor calls. Now you can cancel extracting pages from large PDFs and thus don't need to wait until the end of the process. Look for property cancelCallback: LongOperationCancelCallback inside fun PagesFromPdf(pdfFile, cancelCallback).
      • Fixed an issue with the NFC scanner not working for some devices, e.g. Xiaomi Mi10.
      • Native libraries size decreased by more than 20%
      • Improved behavior of FinderOverlayView and its child classes. Now any Finder View can inject other layouts inside itself and these parts would be properly positioned with the finder window changes. There are 3 customizable parts:
        • top - is a zone above the finder window. Can be used for inserting some hints.
        • bottom - is a zone below the finder window. Can be used for inserting some hints.
        • center - is a zone inside the finder window. Can be used for showing an overlay inside the finder window.
    • iOS:
      • Improved loading performance of SBSDKImageEditingViewController by executing the document detection concurrently. You can specify the queue for the document detection by setting the property ProcessingQueue before assigning an image.
      • Improved memory footprint of SBSDKPDFPagesExtractor
      • Major improvements on barcode detection.
      • Improved barcode image cropping.
      • Changed default OCR language in the health insurance card scanner to German for better recognition of umlauts.
  • ⚠️ Breaking changes:
    • iOS:
      • Replaced SBSDKUIBarcodeScannerViewController.CreateNewWithAcceptedMachineCodeTypes with SBSDKUIBarcodeScannerViewController.CreateNewWithConfiguration. In order to set the barcode types, you have to use the behaviorConfiguration AcceptedMachineCodeTypes parameter
      • Replaced SBSDKUIDocumentScannerViewControllerDelegate method DidFinish with DidFinishWithDocument, which argument is the scanned document, instead of the array of pages. Use document.NumberOfPages to get the number of scanned pages, and document.PageAtIndex(PAGE_INDEX) to retrieve the page
      • Moved the parameter RecognitionStep from SBSDKUITextDataScannerViewController to SBSDKUITextDataScannerBehaviorConfiguration.
      • Removed the parameter AccumulatedFramesCount and the corresponding initializers from SBSDKBarcodeScanner.
      • Removed the parameter BarcodeAccumulatedFramesCount from SBSDKBarcodeScannerViewController and SBSDKScannerViewController.
      • Removed parameters ImageOrientationLock and AllowedInterfaceOrientations from all RTU-UI configurations. This has been replaced by the combined property OrientationLockMode.
      • Removed delegate methods DidChangeDeviceOrientation(UIViewController controller, UIDeviceOrientation orientation, CGAffineTransform transform) and ShouldRotateInterfaceForDeviceOrientation(UIDeviceOrientation orientation, CGAffineTransform transform) from SBSDKScannerViewControllerDelegate
      • Replaced SBSDKBarcodeScannerViewController designated initializer with SBSDKBarcodeScannerViewController(UIViewController parentViewController, UIView containerView, SBSDKBarcodeScannerViewControllerDelegate delegate).
      • Replaced SBSDKFinderLayer with SBSDKFinderView.
      • Removed properties:
        • SBSDKLicensePlateScannerViewController:
          • ShowViewFinder, please use viewFinderConfiguration.ViewFinderEnabled.
          • ViewFinderBackgroundColor, please use viewFinderConfiguration.BackgroundColor.
          • ViewFinderLineColor, please use viewFinderConfiguration.LineColor.
          • ViewFinderLineWidth, please use viewFinderConfiguration.LineWidth.
          • ViewFinderMinimumInset, please use viewFinderConfiguration.MinimumInset.
        • SBSDKBarcodeScannerViewController:
          • HUDView, please use OverlayView.
          • CameraZoomRange, please use zoomConfiguration.ZoomRange.
          • CameraZoomFactor, please use zoomConfiguration.InitialZoomFactor.
          • DoubleTapToZoomEnabled, please use zoomConfiguration.DoubleTapToZoomEnabled.
          • PinchToZoomEnabled, please use zoomConfiguration.PinchToZoomEnabled.
          • FinderAspectRatio, please use viewFinderConfiguration.AspectRatio.
          • FinderMinimumInset, please use viewFinderConfiguration.MinimumInset.
          • ViewFinderBackgroundColor, please use viewFinderConfiguration.BackgroundColor.
          • ViewFinderLineColor, please use viewFinderConfiguration.LineColor.
          • ViewFinderLineWidth, please use viewFinderConfiguration.LineWidth.
          • FinderMinimumInset, please use viewFinderConfiguration.MinimumInset.
          • ViewFinderBackgroundColor, please use viewFinderConfiguration.BackgroundColor.
          • ViewFinderLineColor, please use viewFinderConfiguration.LineColor.
          • ViewFinderLineWidth, please use viewFinderConfiguration.LineWidth.
          • ShouldUseFinderFrame.
          • PreviewBackgroundColor.
        • SBSDKGenericTextLineRecognizerViewController:
          • ViewFinderBackgroundColor, please use viewFinderConfiguration.BackgroundColor.
          • ViewFinderLineColor, please use viewFinderConfiguration.LineColor.
          • ViewFinderLineWidth, please use viewFinderConfiguration.LineWidth.
          • FinderMinimumInset, please use viewFinderConfiguration.MinimumInset.
          • DoubleTapToZoomEnabled, please use zoomConfiguration.DoubleTapToZoomEnabled.
          • ShouldAnimateZooming, please use zoomConfiguration.ShouldAnimateZooming.
          • DeviceMotionRecognitionDelay.
          • ToggleZoom.
          • ZoomIn.
          • ZoomOut.
        • SBSDKGenericDocumentRecognizerViewController:
          • ShowViewFinder, please use viewFinderConfiguration.ViewFinderEnabled.
          • ViewFinderBackgroundColor, please use viewFinderConfiguration.BackgroundColor.
          • ViewFinderLineColor, please use viewFinderConfiguration.LineColor.
          • ViewFinderLineWidth, please use viewFinderConfiguration.LineWidth.
          • FinderMinimumInset, please use viewFinderConfiguration.MinimumInset
      • Deprecated SBSBDKScannerViewController in favor of SBSDKDocumentScannerViewController.
      • Deprecated workflows, namely SBSDKUIWorkflowScannerViewController, its configurations and SBSDKUIWorkflowStep. These will be removed from the SDK soon as they are not commonly used by our customers.
      • Removed the deprecated classes SBSDKIDCardRecognizer, SBSDKIDCardScannerViewController, SBSDKUIIDCardScannerViewController and their related classes. Please use the SBSDKGenericDocument-based API.
      • Renamed SBSDKUIVideoContentMode to SBSDKVideoContentMode.
      • Renamed PageCounterAccessibilityHint to PageCounterButtonAccessibilityHint in SBSDKUIDocumentScannerAccessibilityConfiguration.
    • Android:
      • Check Recognizer:
        • The obsolete method ScanbotSDKInitializer#PrepareChequeBlobs(prepareBlobs: bool) was removed from the SDK API.
        • CheckRecognizer returns CheckRecognizerResult object with recognized data.
      • Changed the default Camera View to ScanbotCameraXView based on CameraX API in all RTU UI screens
      • Removed EngineMode.Legacy support for Barcode Scanner
      • ContourDetector's detect methods are now synchronized and return a new DetectionResult entity. It incorporates all data related to contour recognition. Fields that were previously used to obtain this data have been deleted (Polygon, PolygonF, DetectionScore, VerticalLines and HorizontalLines)
      • DetectionResult class name changed to DetectionStatus
      • SetFinderOffset deleted. Use FinderInset values instead
      • finder_description view id is no longer used to place text views below the finder. Please use the new API.
      • Moved configuration of page for cropping screen from method to constructor CroppingConfiguration(page).
      • Deprecated component FilterPredictor was removed.
      • Deprecated field MRZCheckDigit.ValidatedString was removed.
    • 🐞 Bug fixes:
      • Android:
        • Fixed ContourDetector crash when assembled release with obfuscation on old AGP version.
        • The polygon's background color now displays correctly at the corners of the PolygonView in document detector screens
        • Fixed snapped page filtering in Document Scanner RTU UI screen
        • Fixed incorrect preview size calculation after granting permission for legacy ScanbotCameraView
        • The system back gesture navigation was fixed on the CroppingActivity and EditPolygonImageView
        • Fixed a crash on specific PDF-417 codes with boarding passes.
        • Fixed an incorrect mapping of guidance strings for MedicalCertificateRecognizerActivity.
        • Fixed a potential crash in ScanbotCameraXView when taking a picture after the screen was paused.
        • PDFRenderer now properly handles content:\\ type uris.
        • Fixed crash for calling TIFFWriter in release build variant version.
        • Fixed crash for calling TextOrientationRecognizer in release build variant version.
        • Fixed camera flash state for DocumentScannerActivity after the picture is taken in multi-page mode.
        • Fixed cropped images of 1D barcodes.
        • Fixed Multi-Page button state for MultipleObjectsDetectorActivity.
        • Fixed an incorrectly thrown FileAccessException in ScanbotSDKInitializer when cleaning deprecated blob files.
      • iOS:
        • Fixed a bug in SBSDKImageEditingViewController where the initial document detection failed.
        • Fixed a crash in SBSDKBarcodeScannerViewController
        • Fixed a bug with inaccurate results of the MRZ recognizer.
        • Fixed a crash in the check recognizer.
        • Fixed autoSnappingEnabled in SBSDUIDocumentScannerBehaviourConfiguration that had no effect.
        • Fixed visibility of the shutter button in SBSDKUIDocumentScannerViewController when camera access is denied.
        • Driver's license number is being validated now by its checksum.
        • Medical certificates of type 1C are no longer recognized as 1A.
        • Fixed a bug with the view finder rectangle not being calculated correctly in landscape mode in SBSDKBarcodeScannerViewController.
    • 👉 Please also see:
      • The Changelog of the native Scanbot Android SDK.
      • The Changelog of the native Scanbot iOS SDK.
    • 🚙 Under the hood:
      • Upgraded the native Scanbot Android SDK to v1.96.0.
      • Upgraded the native Scanbot iOS SDK to v1.29.0.

ScanbotSDK.Xamarin - Version 3.7.0 (2 Jun 2022)

  • 🎉 New:
    • Android: Added support for CameraX. You can now use ScanbotCameraXView classical component, or you can set UseCameraXRtuUi in the SDK initialization options to use CameraX in all Ready To Use UI Components.
    • Added support for the GS1 barcode document format. See SBSDKGS1DocumentFormat (iOS) and Gs1Document (Android).
    • Added Barcode Document Parser, which parses any given string for supported barcode document types. See SBSDKBarcodeDocumentParser (iOS) and BarcodeDocumentParser (Android).
    • New layouts of German ID cards are now supported.
    • You can now swap the top and bottom buttons in the Cropping UI. See CroppingConfiguration.SetSwapTopBottomButtons() on Android and topAndBottomButtonsSwapped property in SBSDKUICroppingScreenUIConfiguration on iOS.
    • Android:
      • Added new parameter LowPowerMode in BarcodeScannerAdditionalConfiguration for BarcodeScannerConfiguration and BatchBarcodeScannerConfiguration for RTU UI screens and ScanbotBarcodeDetector classical component, which enables a mode that slightly decreases the scanning quality and energy consumption, thereby increasing the scanning speed.
      • Added method LockMinFocusDistance in IScanbotCameraView to lock in the minimum supported camera focus distance (supported only with CameraX).
    • iOS:
      • Support for front-facing, telephoto and wide angle cameras in RTU-UI and classic components: New classes for camera support: SBSDKCameraDevice, SBSDKUIConfiguration and SBSDKUICameraConfiguration.
      • Added the ability to read and write PDF metadata from and to PDF files, see SBSDKPDFMetadataProcessor.
  • 🚀 Improvements:
    • Improved robustness and performance of the MRZ scanner.
    • Improved recognition of small barcodes on large images.
    • Improved recognition of stacked RSS Expanded (GS1) barcodes.
    • Improved rectangular DataMatrix performance.
    • Increased performance on still images with PDF-417 barcodes.
    • Android:
      • Added method SetFinderMinPadding to the FinderOverlayView, making it possible to change this value programmatically rather than only from XML.
      • All the date fields returned by GenericDocumentRecognizer now have a ValidationStatus. Fields with ValidationStatus = Invalid will not be shown in the list of fields for GenericDocumentRecognizerActivity.
      • Improved the UX of the DocumentScannerActivity screen. Now the SnapFlashView animation and the pausing of the preview happens only after the image was captured. Previously it could result in blurry images.
      • If the Scanbot SDK is not initialized, RTU UI screens are force closed without the RuntimeException.
  • 🐞 Bug fixes:
    • Various platform specific bug fixes. Read more in the Android and iOS changelogs.
  • ⚠️ Breaking changes:
    • Removed deprecated ID Card Scanner and all the classes related to it. Consider using Generic Document Recognizer instead.
    • Disability Certificate has been renamed to Medical Certificate. Renamed all related classes and package names with DC prefix to MedicalCertificate, and occurrences of DisabilityCertificate can now be found as MedicalCertificate. Read more in the Android & iOS changelogs.
    • Android:
      • Constants ResultLicenseInvalid, CancellationReasonTimeout, ScannedBarcodeExtra, ScannedBarcodeImagePathExtra, ScannedBarcodePreviewFramePathExtra, SnappedPageExtra, EditedPageExtra, ExtractedFieldsExtra, WorkflowExtra, WorkflowResultExtra and SnappedObjectsExtra were deleted. Instead, we have implemented AndroidX Activity Result API for RTU UI components.
        • Note: If you really want to continue with the deprecated approach, please replace the removed constants with IO.Scanbot.Sdk.UI.View.Base.RtuConstants.ExtraKeyRtuResult.
      • Removed unused parameters setShouldSavePhotoImageInStorage and setShouldSaveSignatureImageInStorage from GenericDocumentRecognizerConfiguration.
      • Removed methods DetectAndRecognizeMcJpeg(...) and DetectAndRecognizeMcBitmap(...) from MedicalCertificateRecognizer. Use RecognizeMcJpeg and RecognizeMcBitmap instead.
      • Replaced the usage of internal class IO.Scanbot.Mcscanner.Model.MedicalCertificateRecognizerResultInfo with publicly available class IO.Scanbot.Sdk.Mcrecognizer.Entity.MedicalCertificateRecognizerResult in all Medical Certificate classical components.
      • The obsolete method PrepareBlurEstimatorBlobs was removed from the SDK Initializer.
      • Removed outdated parameters width: Int and height: Int from MedicalCertificateRecognizer#RecognizeMcJpeg(...).
    • iOS:
      • Removed properties BottomButtonsInactiveColor and BottomButtonsActiveColor of SBSDKUIHealthInsuranceCardScannerUIConfiguration as they are unnecessary.
    • Various platform specific bug fixes. Read more in the Android and iOS changelogs.
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK.
    • The Changelog of the native Scanbot iOS SDK.
  • 🚙 Under the hood:
    • Upgraded the native Scanbot Android SDK to v1.92.0.
    • Upgraded the native Scanbot iOS SDK to v1.25.1.

ScanbotSDK.Xamarin - Version 3.6.0 (17 Feb 2022)

  • 🎉 New:
    • It is now possible to trigger a force-close of scanner/recognizer screens! See [rtuViewController].DismissViewControllerAsync() on iOS and [RtuActivityClass].ForceClose(context, ...) on Android.
    • Android: Added new parameters for the SDK initialization! See UseCameraXRtuUi, AllowXnnpackAcceleration and AllowGpuAcceleration.
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to 1.89.0
    • iOS: Upgraded the native Scanbot iOS SDK to v1.21.2
  • 🚀 Improvements:
    • Significant performance improvements for all scanners
  • 🐞 Bug fixes:
    • Various platform specific bug fixes; read more in the Android and iOS changelogs
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 3.5.0 (27 Aug 2021)

  • 🎉 New:
    • Brand new Next Generation machine-learning-based barcode scanning engine with improved reliability and much faster performance! This engine will be used by default; you can use the parameter engineMode: EngineMode in the scanners configuration to use the old legacy engine instead.
    • Introduced Generic Document Recognizer! This component allows you to scan various types of documents, including German ID Cards, Passports and Driver's licenses!
    • Added support for MSI-Plessey! See the new format MSI_PLESSEY and the configuration parameters msiPlesseyChecksumAlgorithms in BarcodeDetector classical component and BarcodeScannerAdditionalConfiguration for RTU-UI screens; NOTE: by default MSI-Plessey is disabled, you must explicitly pass it to the configuration as an accepted barcode type.
    • Added a new type to supported Disability Certificate formats - DCFormType.Form_1b_Custom on Android and SBSDKDisabilityCertificatesRecognizerFormType_1B_CUSTOM on iOS
    • Android: Added a new callback in EditPolygonImageView allowing to handle the dragging state. See EditPolygonDragStateListener
  • 🚀 Improvements:
    • Significant performance improvements for all scanners
    • Added new parameter to the SDK License status class licenseStatusMessage: String? on Android and improved logging for License validation on iOS;
    • Added a new parameter errorMessage in License Error Handler callbacks to get descriptive errors in case of License Validation failures
    • More clear default values for user guidance strings on RTU UI screens
    • Android: Added the possibility to customize the delay between successful frames for BatchBarcodeScannerActivity. Default changed from 1000 ms to 0 ms (no delay)
  • ⚠️ Breaking changes:
    • Added errorMessage additional parameter in License Error Handler callbacks (handleLicenceStatusError in IScanbotSDKLicenseErrorHandler on Android, SBSDKLicenseFailureHandler on iOS)
    • Android
      • The obsolete method ScanbotSDKInitializer#prepareDcBlobs(prepareBlobs: Boolean) was removed from the SDK API.
      • Classical components BlurEstimator, TextOrientationScanner, IdCardScanner, TIFFWriter, MRZScanner, BlurEstimator, PayFormScanner, ChequeScanner, DCScanner, HealthInsuranceCardScanner and MultipleObjectsDetector are no longer singletons! You should get your instance from SDK, configure it and use it as needed. Retrieving this components from new ScanobotSDK(this).<component>(), will get you a new instance of the required component, with default configuration.
      • Refactor RTU's NfcPassportScanningResult entity by using Integer for fields that contains integer values
      • Removed disableMlDetector config parameter in BarcodeScannerConfig. Use EngineMode.LegacyFast instead.
      • Removed BarcodeDetectorType class and setDetectorType() method from Barcode RTU screens. Use setEngineMode(engineMode: EngineMode) instead.
      • Removed unused parameters width: Int and height: Int from detectFromJpeg(jpeg: ByteArray, frameOrientation: Int) method in ScanbotBarcodeDetector
      • IdCardScanner is now deprecated. Consider using GenericDocumentRecognizer instead
    • iOS
      • Deprecated SBSDKIDCardRecognizer, SBSDKIDCardScannerViewController, SBSDKUIIDCardScannerViewController and related classes, please use the SBSDKGenericDocument-based API
      • Removed enableHighSensitivityMode property on SBSDKBarcodeScanner, because it is no longer needed
  • 🐞 Bug fixes:
    • Fixed a problem with UPC-A barcodes being recognized as EAN13 barcodes
    • Android
      • Fixed TiffWriter on 32-bit devices
      • Fixed a crash after the license expiration in Classical components
      • Fixed incorrect toolbar color on NfcPassportScannerActivity
    • iOS
      • Fixes a localization issue in SBSDKUIGenericDocumentRecognizerViewController
      • Fixes a layout bug with long text on detection status labels
      • Fixes a bug in document scanner view controllers (Classic UI and Ready-to-use UI) where sometimes the energy save mode did not end properly
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.85.1
    • iOS: Upgraded the native Scanbot iOS SDK to v1.19.3
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 3.4.0 (21 May 2021)

  • ⚠️ Breaking changes:
    • capturingFrameAspectRatio renamed to finderAspectRatio, capturingFrameMinimumInset renamed to finderMinimumInset.
    • Removed SBSDKUIMachineCodeScannerConfiguration and related configurations. SBSDKUIMRZScannerViewController now takes SBSDKUIMRZScannerConfiguration and SBSDKUIBarcodeScannerViewController takes SBSDKUIBarcodeScannerConfiguration
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.82.0
    • iOS: Upgraded the native Scanbot iOS SDK to v1.16.0
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 3.3.1 (16 Apr 2021)

  • 🐞 Bug fixes:
    • Droid: Fixed linking issue
  • 🚙 Under the hood:
    • Android: Updated NuGet dependencies
    • iOS: Upgraded the native Scanbot iOS SDK to v1.15.1
  • 👉 Please also see:

ScanbotSDK.Xamarin - Version 3.3.0 (9 Apr 2021)

  • 🎉 NEW:
  • 🐞 Bug fixes:
    • iOS: Tweaked link of CFunctions: Linker Behavior can now be set to "Don't Link"
  • ⚠️ Breaking changes:
    • Removed MSI Plessey Barcode format
    • Deprecated SDK-level processing of imported image urls – Load the image before running document detection
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.81.0
    • iOS: Upgraded the native Scanbot iOS SDK to v1.15.0
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 3.2.2 (24 Mar 2021)

  • 🐞 Bug fixes:
    • iOS: Fixed pathing issue introduced in latest Visual Studio build (_CodeSignature not found exception)

ScanbotSDK.Xamarin - Version 3.2.1 (15 Feb 2021)

  • 🐞 Bug fixes:
    • iOS: Fixed storage issue when creating PDFs or performing OCR

ScanbotSDK.Xamarin - Version 3.2.0 (10 Dec 2020)

  • 🎉 NEW:
    • iOS: BinarizationFilter option when creating TIFF
  • 🚀 Improvements:
    • Improvements in the detection of barcodes, especially of the type PDF417. Better recognition of rotated and damaged PDF417 codes.
  • 🐞 Bug fixes:
    • Android: Fixed a bug with the size of generated PDF documents being too big.
  • ⚠️ Breaking changes:
    • iOS: Added support for image file encryption. ScannerViewController constructors now require an SBSDKStorageCrypting parameter. Pass null to continue existing behavior, or checkout the native iOS SDK documentation on how to implement the encryption.
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.76.2
    • iOS: Upgraded the native Scanbot iOS SDK to v1.12.1
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 3.1.3 (13 Nov 2020)

  • 🐞 Bug fixes:
    • Android: Fixed rendering of the PDF without OCR for PNG storage format
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.75.2
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK

ScanbotSDK.Xamarin - Version 3.1.2 (12 Nov 2020)

  • 🐞 Bug fixes:
    • Android: Camera component optimization fix

ScanbotSDK.Xamarin - Version 3.1.1 (11 Nov 2020)

  • 🐞 Bug fixes:
    • iOS:
      • Fixed a license problem in SBSDKUIWorkflowScannerViewController
      • Fixed a deadlock in SBSDKUIBarcodesBatchScannerViewController
      • Fixed a potential memory leak with SBSDKUIBarcodesBatchScannerViewController
      • The delegate function of SBSDKUIBarcodeBatchStorageDelegate- (void)barcodeBatchStorage:(SBSDKUIBarcodeBatchStorage *)storage didUpdateBarcode:(SBSDKUIBarcodeMappedResult *)barcode atIndex:(NSInteger)index; is now called on the main queue
  • 🚙 Under the hood:
    • iOS: Upgraded the native Scanbot iOS SDK to v1.11.8
  • 👉 Please also see:

ScanbotSDK.Xamarin - Version 3.1.0 (4 Nov 2020)

  • 🚀 Improvements:
    • Improved barcode recognition for matrix codes (QR code and Data Matrix code)
  • ⚠️ Breaking changes:
    • Android: The interface IPictureCallback was replaced by an abstract class PictureCallback that implements the IBasePictureCallback interface. For adjustments see our example app on GitHub.
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.75.1
    • iOS: Upgraded the native Scanbot iOS SDK to v1.11.7
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 3.0.0 (16 Oct 2020)

  • 🎉 NEW:
    • Batch Barcode Scanner - a new RTU UI Component to scan multiple barcodes in a row (BatchBarcodeScannerActivity for Android and SBSDKUIBarcodesBatchScannerViewController for iOS)
    • Blurriness Estimator - a new SDK feature to detect blurriness on still images.
    • Android: Migrated to AndroidX libs
  • 🚀 Improvements:
    • Android: Significant improvements in the camera components as well as in the Document Scanner RTU UI that make document scanning perform better and much smoother:
      • Increased start-up time of the camera preview.
      • Faster saving of the snapped pages in the Document Scanner RTU UI.
      • Optimized performance of the image processing for simple operations (rotate, crop, resize).
  • ⚠️ Breaking changes:
    • iOS: Various, please cf. the Changelog of the native Scanbot iOS SDK
    • iOS: Removed support for iOS 9 and iOS 10
    • Android: Various; please cf. the Changelog of the native Scanbot Android SDK
    • Android: Dropped legacy SupportLibs, built for AndroidX. To migrate your project please check out the documentation from Microsoft
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.74.0
    • iOS: Upgraded the native Scanbot iOS SDK to v1.11.2
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 2.0.4 (24 Mar 2021)

  • 🐞 Bug fixes:
    • iOS: Fixed pathing issue introduced in latest Visual Studio build (_CodeSignature not found exception)

ScanbotSDK.Xamarin - Version 2.0.3 (9 Sep 2020)

  • 🐞 Bug fixes:
    • Droid: Fixed issue where CroppingActivity polygon could still be modified after Done click

ScanbotSDK.Xamarin - Version 2.0.2 (6 Aug 2020)

  • 🐞 Bug fixes:
    • Android: Fixed binding issue with ContourDetectorFrameHandler

ScanbotSDK.Xamarin - Version 2.0.0 (19 Jun 2020)

  • 🎉 NEW:
    • ML-Based Document detection: DocumentDetectorType.MLBased
  • ⚠️ Breaking changes:
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.39.61 (release notes correspond to 1.61)
    • Android: Dropped support for Android 4.x. Updated minimum Android API level to 21 (Android 5.0)
    • Android: Removed deprecated zxing and Playservices, Annotations, Android.Support.v4 dependencies
    • Android: Replaced with Naxam.Rx with Xamarin.Android.ReactiveX
    • Android: Updated Xamarin.Android.Support.v7 to 28.0.0.3
    • iOS: Upgraded the native Scanbot iOS SDK to v1.9.15
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 1.5.0 (2 Feb 2020)

  • 🎉 NEW:
    • QR- & Barcode Scanner as beta feature which provides:
      • Improved detection and extraction of 1D and 2D barcodes, especially Data Matrix and PDF 417 codes
      • Support for multiple barcode detection
      • Out-of-the-box parsers, like German Medical Plans (Medikationsplan) based on Data Matrix, ID Cards or US Driver Licenses (AAMVA format) both based on PDF 417.
    • Recognizer for the European Health Insurance Cards (EHIC). Provides live detection and data extraction of all fields on the back of the card.
      • iOS: Available as Classical SDK Component class SBSDKHealthInsuranceCardRecognizer as well as the Ready-To-Use UI Component class SBSDKUIHealthInsuranceCardScannerViewController
      • Android: Available as Classical SDK Components (HealthInsuranceCardScanner, HealthInsuranceCardScannerFrameHandler) as well as the Ready-To-Use UI Component (HealthInsuranceCardScannerActivity)
    • Android: Added business card detector and processor – MultipleObjectsDetector and BusinessCardsImageProcessor
    • Config property in the RTU UI Document Scanner Component
      • iOS: SBSDKUIDocumentScannerBehaviorConfiguration.MaxNumberOfPages
      • Android: DocumentScannerConfiguration.SetMaxNumberOfPages(int maxNumberOfPages)
    • Black & white image filter:
      • iOS: SBSDKImageFilterType.LowLightBinarization2
      • Android: ImageFilterType.LowLightBinarization2
    • Disability Certificate Recognizer – Recognition of new fields: Intention, InsuredPersonType
    • Android: Added new features in TIFFWriter
      • Support for further TIFF compressions like CCITTFAX4, ADOBE_DEFLATE, etc
      • Ability to define DPI value in TIFF metadata.
  • 🚀 Improvements:
    • Android & iOS: Custom ScanbotException thrown on license registration failure
    • iOS: New SBSDKUIPage constructor with documentImageSizeLimit as parameter
    • Android: Improved API of the TIFFWriter class
    • Android: Deprecated some methods like writeBinarizedSinglePageTIFFFromFile, writeSinglePageTIFFFromFile, writeBinarizedMultiPageTIFFFromFileList, writeMultiPageTIFFFromFileList. Instead please use the new unified and simplified methods based on TIFF parameters TIFFImageWriterParameters - e.g. writeTIFFFromFiles(List<File> sourceFiles, File targetFile, TIFFImageWriterParameters parameters)
    • Android: Increased resolution of the preview images that are generated by RTU UI Components
  • ⚠️ Breaking changes:
    • SBSDKPayFormScanner API – Removed the obsolete methods DetectOnImage and RecognizeFieldsOnImage, replaced by a new all-in-one method RecognizeFromImage
    • Removed obsolete classes SBSDKPayFormResult, SBSDKPayFormDetectionResult and SBSDKPayFormDetectedBox
    • Barcode types passed to ScanbotSDK API are now enums: SBSDKBarcodeType. Affected APIs are located in SBSDKBarcodeScanner, SBSDKBarcodeScannerResult, SBSDKScannerViewController , SBSDKUIBarcodeScannerViewController, SBSDKUIMachineCodesCollection and SBSDKUIWorkflowStep and their subclasses
    • ScanbotException is thrown on license registration failure
  • 🐞 Bug fixes:
    • iOS: Fixed OCR resource path
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.39.56.3
    • iOS: Upgraded the native Scanbot iOS SDK to v1.9.9
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 1.4.4 (11 Oct 2019)

ScanbotSDK.Xamarin - Version 1.4.3 (4 Sep 2019)

  • 🐞 Bug fixes:
    • Android: Workaround for a Mono issue on Android with file operations like File.Move(), which are used in the ScanbotSDK.Xamarin methods CreatePDF(..) and PerformOCR(..).

ScanbotSDK.Xamarin - Version 1.4.2 (26 Aug 2019)

  • 🐞 Bug fixes:
    • Android: Fixed crashes with some image filters, like BackgroundClean, DeepBinarization, LowLightBinarization, etc. on ARM 32-bit devices (armeabi-v7).
    • Android: Removed permission READ_PHONE_STATE used in a sub library of the native Scanbot SDK.
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to 1.39.52.2.
    • Android: Removed dependencies to the deprecated library net.doo:doo-datamining-tools-android.
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK.

ScanbotSDK.Xamarin - Version 1.4.1 (1 Aug 2019)

  • 🐞 Bug fixes:
    • Android & iOS: Added missing field DocumentType in MRZ Scanner result.

ScanbotSDK.Xamarin - Version 1.4.0 (16 May 2019)

  • 🎉 NEW:
    • Android & iOS: OCR - Upgraded the OCR engine to Tesseract v4.00. Improved recognition speed and quality. Please also note the Breaking Changes below.
    • Android & iOS: Workflows - New RTU UI Scanning Components. See the Workflows section for more details.
    • Android & iOS: Added new config properties for the RTU UI Document Scanner Component:
      • limit the size of the document image:
        • iOS: SBSDKUIDocumentScannerBehaviorConfiguration.DocumentImageSizeLimit
        • Android: DocumentScannerConfiguration.setDocumentImageSizeLimit
      • hide the shutter button:
        • iOS: SBSDKUIDocumentScannerUIConfiguration.ShutterButtonHidden
        • Android: DocumentScannerConfiguration.setShutterButtonHidden
    • Android & iOS: Added new Images Filter LowLightBinarization - a binarization filter primarily intended for use on low-contrast documents with hard shadows.
    • Android: x86_64 architecture is now fully supported. Added native libs (.so) for the x86_64 architecture.
  • 🚀 Improvements:
    • Android & iOS: OCR - Upgraded the OCR engine to Tesseract v4.00. Improved recognition speed and quality. Please also note the Breaking Changes below.
    • Android & iOS: Improved performance of the images filter DeepBinarization.
  • ⚠️ Breaking changes:
    • Android & iOS: OCR Language Files - If you use the OCR feature of the Scanbot SDK or some recognizer components which are based on OCR, please upgrade the OCR language files to Tesseract 4.00. See the OCR section for more details.
    • iOS: The SBSDKLanguageData resource folder for OCR files no longer works. Add the ScanbotSDKOCRData.bundle to the project's resources instead.
  • 🐞 Bug fixes:
    • Android & iOS: Various bug fixes and improvements in native SDKs. Please refer to the release notes of the native SDKs.
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to 1.39.50
    • iOS: Upgraded the native Scanbot iOS SDK to v1.9.1
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 1.3.0 (5 Mar 2019)

  • 🎉 NEW:
    • Android & iOS: Added new Images Filters OtsuBinarization, DeepBinarization and EdgeHighlight.
    • Android & iOS: Support for PDF page sizes (e.g. A4, US Letter, etc). See the new Wrapper methods SBSDK.CreatePDF(images, pdfOutputFile, pageSize) for Android and iOS.
    • Android & iOS: Added new feature "Required Aspect Ratios" in Classical Components to restrict document detection to given aspect ratios.
      • Android: See the classes ContourDetectorFrameHandler.setRequiredAspectRatios(..), FinderOverlayView.setRequiredAspectRatios(..) and ContourDetector.setRequiredAspectRatios(..). For an example implementation please check out the native example app camera-view-aspect-ratio-finder.
      • iOS: See the classes SBSDKScannerViewController.requiredAspectRatios and SBSDKDocumentDetector.requiredAspectRatios. For an example implementation please check out the native example code AspectRatioDocumentDemoViewController
      • We will provide the corresponding Xamamrin example code very soon.
  • 🚀 Improvements:
    • Android: Improved the OCR API and implemented a new mechanism to handle OCR language files as well as other blob files (MRZ blobs, etc) as Assets. It replaces the obsolete mechanism based on fetch-methods (blobManager.fetch(..)).
      • If you use the OCR feature with the unified and convenient Xamarin Wrapper class SBSDK (recommended), please see the OCR section in this documentation.
      • If you use the Xamarin Binding classes of the native Scanbot SDK, please see our native docs Optical Character Recognition for more details.
    • iOS: Improved the OCR API. See the OCR section in this documentation.
  • ⚠️ Breaking changes:
    • Android: Internal Storage for RTU UI - The RTU UI Components of the Scanbot SDK now use the internal storage by default, which is more secure and do not require storage permission prompts. Please note: In case your app is using the storage for RTU UI Pages as permanent storage, make sure to implement a suitable migration (E.g. move the archived Page images from external storage folder to the new internal storage. Or alternatively overwrite the storage to the external folder again).
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK from v1.38.3 to v1.39.1
    • Android: Requires upgrade of Xamarin.Android.Support.* Libs to v28.0.0.1 or higher
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK

ScanbotSDK.Xamarin - Version 1.2.0 (20 Feb 2019)

  • 🎉 NEW:
    • iOS: Added bindings for the new feature Business Card Scanner, based on classes SBSDKMultipleObjectsDetector, SBSDKBusinessCardsImageProcessor and SBSDKTextOrientationRecognizer. Check out the iOS example app scanbot-sdk-example-xamarin.
  • 🐞 Bug fixes:
    • iOS: Fixed issues with not loaded assets (Changed the behaviour of image resource loading in the native SDK framework)
    • iOS: Fixed animation of the Shutter Button in SmartMode in SBSDKScannerViewController
    • iOS: Fixed handling of 24bit PNG images (e.g iOS 12 screenshots)
  • 🚙 Under the hood:
    • iOS: Upgraded the native Scanbot iOS SDK from v1.8.2 to v1.8.6
  • 👉 Please also see:

ScanbotSDK.Xamarin - Version 1.1.1 (5 Feb 2019)

  • 🐞 Bug fixes:
    • iOS: Fixed linker behavior for debugging.

ScanbotSDK.Xamarin - Version 1.1.0 (21 Nov 2018)

  • 🎉 NEW:
    • Android & iOS: Reset/Detect functionality in the RTU Cropping UI.
    • Android & iOS: Cheque Scanner as Classical SDK Components (see bindings SBSDKChequeRecognizer* for iOS and Net.Doo.Snap.Chequescanner.* for Android).
  • 🚀 Improvements:
    • Android & iOS: MRZ Scanner: improved detection on still images and parsing of some optional MRZ fields.
    • Android & iOS: DC Scanner: improved recognition and extraction.
  • ⚠️ Breaking changes:
    • Android: Added file format extension (.jpg or .png) for RTU UI Page images. Affects image files created by all RTU UI components, like DocumentScannerActivity, CroppingActivity, etc. Please note that only the new created image files will contain extensions. The currently available image files in the temporary storage of the Scanbot SDK will not get file extensions and may become inaccessible. So please make sure to implement a suitable migration mechanism.
    • Android: All MRZ Scanner and Recognizer components (MRZScanner, MRZScannerActivity) now require an additional trained data blob file (MRZ cascade blob file mrz.xml), which is included in the SDK and can be fetched via blobManager.fetch(blobFactory.mrzCascadeBlob()).
    • Android & iOS: The config parameter pageCounterButtonTitle in RTU Document Scanner UI now requires a placeholder "%d" for the number of pages (e.g. pageCounterButtonTitle = "%d Pages")
    • Android: Replaced NuGet packages Xamarin.Kotlin.StdLib and Xamarin.Kotlin.StdLib.Jre7 by Scanbot.Xamarin.Kotlin.StdLib and Scanbot.Xamarin.Kotlin.StdLib.Jre7. Please remove Xamarin.Kotlin.StdLib and Xamarin.Kotlin.StdLib.Jre7 from your Android project after the upgrade!
  • 🐞 Bug fixes:
    • Android: Fixed some camera issues on "Xiaomi Redmi 5 Plus" devices with MIUI Chinese ROM.
    • Android: Fixed a bug with freezing camera on Activity start.
    • Android: Small fixes in MRZScanner (improved detection on still images of some ID cards)
    • Android: Some layout fixes in RTU Cropping UI (aka. inaccessible "DONE" button).
    • Android & iOS: MRZ Scanner: Fixed extraction of the field dateOfBirth from some French ID cards.
    • iOS: Fixed issues with orientationLockMode in RTU Document Scanner UI.
  • 🚙 Under the hood:
    • Android: Upgraded the native Scanbot Android SDK to v1.38.3
    • iOS: Upgraded the native Scanbot iOS SDK to v1.8.2
  • 👉 Please also see:
    • The Changelog of the native Scanbot Android SDK
    • The Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 1.0.7 (7 Sep 2018)

  • Upgraded the native Scanbot iOS SDK to v1.7.8:
    • See the full Changelog of the native Scanbot iOS SDK

ScanbotSDK.Xamarin - Version 1.0.6 (28 Aug 2018)

  • Upgraded the native Scanbot iOS SDK to v1.7.7

ScanbotSDK.Xamarin - Version 1.0.5 (28 Aug 2018)

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

ScanbotSDK.Xamarin - Version 1.0.3 (27 Jul 2018)

  • Android:
    • Fixed an issue with file handling in method SBSDK.WriteTiff()
    • Improved handling of input image file URIs
  • iOS:
    • Improved handling of input image file URLs

ScanbotSDK.Xamarin - Version 1.0.2 (25 Jul 2018)

  • Upgraded the native Scanbot Android SDK to v1.33.3:
    • Minor fixes and improvements in EditPolygonImageView
    • Removed the obsolete allowBackup flag from AndroidManifest.xml of the SDK
  • Upgraded the native Scanbot iOS SDK to v1.7.4:
    • Fixed a bug where SBSDKIndexedImageStorage removes image files not properly
    • Fixed memory leaks in SBSDKUIDocumentScannerViewController and SBSDKScannerViewController

ScanbotSDK.Xamarin - Version 1.0.1 (12 Jul 2018)

  • Upgraded the native Scanbot Android SDK to v1.33.1:
    • Improved disability certificate date field recognition

ScanbotSDK.Xamarin - Version 1.0.0 (3 Jul 2018)

🎉 First release of the new universal ScanbotSDK.Xamarin Nuget package for Xamarin.Android and Xamarin.iOS.

  • Feature: Added Ready-To-Use UI Components - a set of easy to integrate and customize high-level UI components for the most common tasks in Scanbot SDK.
    • Android: DocumentScannerActivity, CroppingActivity, MRZScannerActivity, BarcodeScannerActivity
    • iOS: SBSDKUIDocumentScannerViewController, SBSDKUICroppingViewController, SBSDKUIMRZScannerViewController, SBSDKUIBarcodeScannerViewController
  • Feature: TIFF support (TIFFWriter) for Android and iOS: provides creation of 1-bit TIFF images with multi-page support
  • Feature: New image filter:
    • PureBinarized - Creates an image with pixel values set to either pure black or pure white.
    • BackgroundClean - Cleans up the background and tries to preserve photos within the image.
    • BlackAndWhite - Black and white filter with background cleaning. Creates a grayscaled 8-bit image with mostly black or white pixels.
  • Feature: New Scanner components in Classical UI Components for Android & iOS:
    • MRZ Scanner (Android: MRZScanner, iOS: SBSDKMachineReadableZoneRecognizer)
    • SEPA PayForm Scanner (Android: PayFormScanner, iOS: SBSDKPayFormScanner)
    • Disability Certificate Scanner (Android: DCScanner, iOS: SBSDKDisabilityCertificatesRecognizer)
    • Barcode / QR code Scanner (Android: BarcodeDetectorFrameHandler, iOS: part of SBSDKScannerViewController)
  • Under the hood: Upgraded the native Scanbot Android SDK to v1.33.0:
    • Added native libs for arm64-v8a. ⚠️ Please note: In August 2019, Google Play Store will require that new apps and app updates with native libraries provide 64-bit versions in addition to their 32-bit versions (https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html). We strongly recommend to upgrade the Scanbot SDK for Android to the latest version to benefit from the full support of arm64-v8a libs.
    • Added an animated ShutterButton component (io.scanbot.sdk.ui.camera.ShutterButton) which can also be used with our Classical UI Components
  • Under the hood: Upgraded the native Scanbot iOS SDK to v1.7.2:
    • Dropped support for iOS 8
    • Added SBSDKCameraExposureSettings class to extract the current exposure metering parameters
    • Deprecated SBSDKImageStorage, added SBSDKIndexedImageStorage and SBSDKKeyedImageStorage as replacements
  • Minor bug fixes and improvements

Deprecated Packages:

⚠️ Please note: The Nuget packages ScanbotSDK.Xamarin.Android and ScanbotSDK.Xamarin.iOS are deprecated. Please use the new universal ScanbotSDK.Xamarin Nuget package instead. The new package ScanbotSDK.Xamarin contains the SDK assemblies for both platforms iOS and Android. It is fully compatible with the deprecated packages ScanbotSDK.Xamarin.Android and ScanbotSDK.Xamarin.iOS. You have just to change the following namespace:

  • old ScanbotSDK.Xamarin.Android.Wrapper => new ScanbotSDK.Xamarin.Android
  • old ScanbotSDK.Xamarin.iOS.Wrapper => new ScanbotSDK.Xamarin.iOS

Release history of deprecated packages:

ScanbotSDK.Xamarin.Android 1.3.3

  • Upgraded the native Scanbot Android SDK to v1.28.3
  • Provided the possibility to reinitialize the Scanbot SDK
  • Various bug fixes in EditPolygonImageView and MagnifierView

ScanbotSDK.Xamarin.Android 1.3.2

  • Upgraded the native Scanbot Android SDK to v1.27.3
  • Various bug fixes and improvements

ScanbotSDK.Xamarin.iOS 1.1.5

  • Various bug fixes in SBSDKImageEditingViewController
  • Requires Visual Studio for Mac 7.4+

ScanbotSDK.Xamarin.iOS 1.1.4

  • Bug fix in PDF creation of SBSDK Wrapper. Switched to native class SBSDKPDFRenderer.

ScanbotSDK.Xamarin.Android 1.3.0

  • Upgraded the native Scanbot Android SDK to v1.26.2
  • Optimized AutoSnappingController sensitivity and auto snapping timings. Added SetShutterSound(boolean enable), SetAutoFocusSound(boolean enable) and SetAutoFocusOnTouch(boolean enable) methods in ScanbotCameraView
  • Optimized Scanbot SDK license check and error handling. Added Java exceptions with human readable messages

ScanbotSDK.Xamarin.Android 1.2.3

  • Upgraded the native Scanbot Android SDK to v1.25.1
  • EditPolygonImageView now provides image rotation functionality
  • Add new Image Filter ImageFilter.ColorDocument to SBSDK Wrapper
  • Add RotateImage function to SBSDK Wrapper
  • Add IsLicenseValid function to SBSDK Wrapper

ScanbotSDK.Xamarin.iOS 1.1.3

  • Upgraded the native Scanbot iOS SDK to v1.4.8
  • Bindings for the new class SBSDKImageEditingViewController and its delegate interface (SBSDKImageEditingViewController as a flexible and more powerful replacement of SBSDKCropViewController)
  • SBSDKCropViewController has been deprecated and will not longer receive software engineering love
  • Add new Image Filter ImageFilter.ColorDocument to SBSDK Wrapper
  • Add RotateImage function to SBSDK Wrapper
  • Add IsLicenseValid function to SBSDK Wrapper

ScanbotSDK.Xamarin.iOS 1.1.2

  • Upgraded the native Scanbot iOS SDK to v1.4.7

ScanbotSDK.Xamarin.Android 1.2.2

  • Upgraded the native Scanbot Android SDK to v1.25.1

ScanbotSDK.Xamarin.iOS 1.1.1

  • Upgraded the native Scanbot iOS SDK to v1.4.6
  • SDK size optimizations

ScanbotSDK.Xamarin.Android 1.2.1

  • Upgraded the native Scanbot Android SDK to v1.23.3

ScanbotSDK.Xamarin.Android 1.2.0

  • Upgraded the native Scanbot Android SDK to v1.23.2
  • Upgraded dependency "Xamarin.Android.Support.v7.AppCompat" to v25.3.1

ScanbotSDK.Xamarin.Android 1.1.2

  • Upgraded the native Scanbot Android SDK to v1.22.3, which provides continuous focus mode in ScanbotCameraView

ScanbotSDK.Xamarin.Android 1.1.1

  • Upgraded the native Scanbot Android SDK to v1.22.0

ScanbotSDK.Xamarin.iOS 1.1.0

  • Upgraded the native Scanbot iOS SDK to v1.4.0
  • Added bindings for Cropping UI (see SBSDKCropViewController)

ScanbotSDK.Xamarin.Android 1.1.0

  • Removed DLLs (Xamarin.Android.Support.v4.dll and Xamarin.Android.Support.v7.AppCompat.dll) from the NuGet package
  • Minor fixes

ScanbotSDK.Xamarin.iOS 1.0.0 & ScanbotSDK.Xamarin.Android 1.0.0

  • First release versions

Want to scan longer than one minute?

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

Get your free Trial License

What do you think of this documentation?


On this page

Scroll to top