Changelog
tip
For additional details about the API, please refer to our API reference documentation.
MAUI - Version 7.1.1 (29 Oct 2025)β
- π New:
- Barcode Scanner:
- Barcode configurations for 1D barcode types have a new field
MinimumNumberOfRequiredFramesWithEqualRecognitionResultthat requires this number of frames on which the barcode has to be detected.
- Barcode configurations for 1D barcode types have a new field
- Check Scanner:
- We now extract the field after the account number on US checks. The name in the result is
CheckNumber. Note that this name is only based on common usage and not on any enforced standard.
- We now extract the field after the account number on US checks. The name in the result is
- Barcode Scanner:
- π Improvements:
- Check Scanner:
- Updated the documentation for US check field.
- Improved the handling of scanning results when the detection mode
DetectAndCropDocumentis set.
- Check Scanner:
- π Bug fixes:
- Document Scanner:
- iOS: Fixed a bug in RTU-UI that did not always crop images from the photo library.
- Android: Fixed an issue with an empty
DocumentQualitywhenAcknowledgementModewas set toBadQuality. - Android: Fixed a bug where the usage guidance wouldn't display properly on screen startup.
- Android: Fixed the image size on the review screen when in horizontal layout.
- Check Scanner:
- Fixed a bug in the implementation of the US check standard which lead to rejection of valid checks.
- General:
- iOS: Fixed a bug in the RTU-UI that prevented the proper display of the view finder in landscape mode.
- Android: Fixed 16 KB page size support for the TFLite native library.
- Android: Fixed an issue where
PdfUriwas returned instead ofTiffUriinScannedDocument.CreateTiffAsync(...).
- Document Scanner:
- β οΈ Breaking changes:
- Barcode Scanner:
- The field
MinConfirmationsStandaloneEANinBarcodeAccumulationConfigurationwas moved and renamed to the fieldMinimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinBarcodeFormatUpcEanConfiguration.
- The field
- Barcode Scanner:
- π Under the hood:
- Updated ScanbotSDK.NET to 7.1.1.
- Updated the native Android SDK to Android Document SDK 7.1.2.
- Updated the native iOS SDK to iOS Document SDK 7.1.4.
MAUI - Version 7.1.0 (11 Sep 2025)β
- π New:
- Document Scanner:
- 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(objDocumentScanningFlow.Screens.Camera.AutoRotateImages). - Classic Component: Added new
DocumentScannerViewclassic component. - Introduced advanced generation settings for PDFs and TIFFs.
- Added a new document detection status
OkButTooDark. - Added the ability to show custom images in the Intro Screen for Document Scanner RTU-UI v2.
- RTU-UI v2: Added parameter
DocumentScanningFlow.ShowReviewScreenOnStartthat 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.
- 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
- Document Quality Analyzer (DoQA):
- Can now return the orientation of the document. Enabled by
DocumentQualityAnalyzerConfiguration.DetectOrientation. - Optionally returns a
QualityHeatmapproperty in the result. - Added support for an advanced on-image scanning configuration
ScanbotSDKMain.CommonOperations.DetectDocumentQualityAsync(...)call.
- Can now return the orientation of the document. Enabled by
- Credit Card Scanner:
- Added new Credit Card Scanner feature with Ready-to-Use UI (RTU-UI v2). See
ScanbotSDKMain.Rtu.CreditCard.LaunchAsync(...). - It can also be used with Scan from Image approach. See
ScanbotSDKMain.Detector.CreditCard.DetectOnImageAsync(...).
- Added new Credit Card Scanner feature with Ready-to-Use UI (RTU-UI v2). See
- MRZ Scanner:
- New RTU-UI v2 is now available for MRZ Scanner. See
ScanbotSDKMain.Rtu.MrzScanner.LaunchAsync(...). - Added support for non-ICAO conformant machine-readable zones on US border crossing cards.
- New RTU-UI v2 is now available for MRZ Scanner. See
- Text Pattern Scanner:
- New RTU-UI v2 is now available for Text Pattern Scanner. See
ScanbotSDKMain.Rtu.TextPatternScanner.LaunchAsync(...).
- New RTU-UI v2 is now available for Text Pattern Scanner. See
- Check Scanner:
- New RTU-UI v2 is now available for Check Scanner. See
ScanbotSDKMain.Rtu.CheckScanner.LaunchAsync(...). For legacy scanner, check the breaking changes.
- New RTU-UI v2 is now available for Check Scanner. See
- VIN Scanner:
- New RTU-UI v2 is now available for VIN Scanner. See
ScanbotSDKMain.Rtu.VinScanner.LaunchAsync(...). For legacy scanner, check the breaking changes. - Added a new property
ExtractVINFromBarcodeinVinScannerConfigurationthat allows VIN data extraction from barcodes.
- New RTU-UI v2 is now available for VIN Scanner. See
- Document Data Extractor (DDE) (formerly Generic Document Recognizer):
- New RTU-UI v2 is now available for DDE Scanner. See
ScanbotSDKMain.Rtu.DocumentDataExtractor.LaunchAsync(...). - Now supports fallback to extraction of only the MRZ on unsupported documents.
- Added support for German driver qualification card.
- Document field validation now supports two additional statuses:
InferredandIgnored. - Generic document fields now support
ParsedDataattributes for standardized data (ISO 8601 dates, ISO 3166-1 countries, "Male"/"Female" gender). - Added support for 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
Seriesfield. - 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.
- New RTU-UI v2 is now available for DDE Scanner. See
- 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
ScanbotSDKMain.Detector.Barcode.DetectBarcodesAsync(...)call. - Added support for an advanced scanning configuration for
BarcodeScannerViewclassic component. - Added ability to configure common barcode properties via
BarcodeFormatCommonConfiguration. - Added
MinimumSizeScoreto barcode configurations; barcodes withSizeScore < MinimumSizeScoreare ignored. - Introduced
StrictModefor certain barcode configurators (QR Code,Micro QR Code,rMQR Code,PDF417,MicroPDF417andgs1Composite) to balance detection rate and false positives. - Classic Component: Added new properties,
OnlyAcceptDocuments,EngineMode,ExtractedDocumentFormatsandBarcodeFormatConfigurationsinBarcodeScannerViewandBarcodeScanAndCountView. - Added the ability to return the barcode image in the resulting object via
BarcodeScannerConfiguration.ReturnBarcodeImage. - Introduced new barcode engine modes
NextGen,NextGenLowPower,NextGenFarDistanceandNextGenLowPowerFarDistance. SeeBarcodeScannerEngineMode.NextGenis optimized for detecting multiple barcodes in live mode, in particular, bounding boxes of 1D barcodes are predicted as close as possible.NextGenLowPoweris optimized for scanning barcode batches on low-power devices.NextGenFarDistancewhich is optimized for scanning from far distances.NextGenLowPowerFarDistancethat is optimized for scanning barcodes from far distances on low-power devices.
- Barcode scanning results have been enhanced with more detailed information, including
SizeScore. SeeBarcodeItem. - Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). Old sets removed.
- Android:
CloseAsync()also supported on Android platform. SeeScanbotSDKMain.Rtu.BarcodeScanner.CloseAsync(). - Added
ExtendedQuadandExtendedQuadNormalizedfields to theBarcodeItemclass to represent extended quads for 1D barcodes. BarcodeItemhas a new fieldRawBytesEncodingsthat contains the precise character encoding information ofRawBytes.BarcodeItemhas a new fieldStructuredAppendInfofor messages split across multiple barcodes.BarcodeScannerConfigurationhas a new fieldAccumulationConfigwhich allows the accumulation of barcodes over multiple frames in live mode.BarcodeItemhas a new fieldGlobalIndexto identify a barcode across multiple frames.- RTU-UI v2: Added
SelectedZoomFactor: Doublemetadata field inBarcodeScannerUiResultwith the value that the user used to scan the barcode.
- General:
- .NET: Added support for .NET 9 SDK, in addition to .NET 8 SDK.
- .NET: Added target frameworks
.net8.0and.net9.0specifically. - Added support for an advanced on-image scanning configuration for below
ScanbotSDKMain.Detector.<Scanner>.DetectOnImageAsync(...)DocumentDataExtractor.DetectOnImageAsync(...)Ehic.DetectOnImageAsync(...)MedicalCertificate.DetectOnImageAsync(...)Mrz.DetectOnImageAsync(...)Check.DetectOnImageAsync(...)CreditCard.DetectOnImageAsync(...)
- Added analytics support for tracking and managing the SDK usage analytics. Please see
ScanbotSDKMain.CommonOperations.Analyticsservice. - Cropped images returned as part of the scanner results are now represented as image references
ImageRefthat can be converted to base64 or saved to a path. - Added exported array constants for union type values to clearly list all available options. See
BarcodeFormats. - Android: Added support for 16KB page size.
- Android: Added a new property
KeepScreenOnin all RTU-UI v2 scanner screen configurations to keep the device screen awake while scanning.
- Document Scanner:
- π Improvements:
- Document Scanner:
- 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.
- iOS: Improved performance when editing a page in RTU-UI v2 Document Scanner Review Screen.
- iOS: Improved the accessibility handling in RTU-UI v2 Document Scanner. Accessibility for the document preview button is now activated only when scanned pages are available.
- iOS: RTU-UI v2: The
ScannedDocument.Page.AddPage()function now has the ability to also detect the document while adding a new PlatformImage(as ScannedPage). - iOS: 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.
- OCR Engine:
- Improved handling of special characters like umlauts when frame accumulation is used.
- Image Processing:
- New Image Processor preset
BinarizationFilterPreset.Preset5for documents with barcodes.
- New Image Processor preset
- PDF & TIFF Generation:
- PDF Generator with OCR layer now handles non-ASCII characters correctly.
- MRZ Scanner:
- For pre-2022 Costa Rican passports, ID Number is returned as
DocumentNumberand Sequence Number asPersonalNumberin MRZ fields. - On US border crossing permits, the document number is now returned in the correct field.
- Dates in MRZ now also support
ParsedDatacorrectly.
- For pre-2022 Costa Rican passports, ID Number is returned as
- Text Pattern Scanner:
- Improved performance with the same quality.
- Now supports XNNPACK for faster inference.
- VIN Scanner:
- Validation of VINs implements the full ISO 3779 standard, reducing false positives.
- 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.
- Document Data Extractor (DDE):
- 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
DePassportandDeIdCard. - Now also supports the new German ID card format issued starting 2024.
- Barcode Scanner:
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
StripCheckDigits = true. - Significant speed-up in live mode on very large input resolutions.
- Improved barcode detection for various barcode types.
- GS1 Composite codes are now processed faster when scanned from image.
- More robust QR code recognition (timing patterns, alignment, artistic QR codes).
- QR codes with non-square finder patterns and embedded in adversarial backgrounds can now be recognized.
- Improved quiet zone checks for
ITF,Code 11,MSI Plessey,IATA 2 of 5,Industrial 2 of 5, andCode 25. - Improved the false positive rate for
ITFbarcodes. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for Barcode Scanner RTU-UI v2
BarcodeScannerConfiguration.OnlyAcceptDocuments. - Added support for
MaximumTextLengthconstraint onCode 11,Code 39,Code 93,Code 128, andCodabarbarcode formats. - Improved performance when scanning four-state postal barcodes.
- Added new accessibility descriptions for some buttons in
BarcodeTextLocalization. - Android: All Barcode AR overlays are now based on
ExtendedQuads. - Android: Improved handling of back action with multiple dialogs and bottom sheets.
- iOS - Classic Component: - Further improvements in memory management.
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
- Document Scanner:
- π Bug Fixes:
- Document Scanner:
- RTU-UI v2: Fixed a memory leak issue from the Document Scanner when closing the scanner.
- iOS: Fixed UI bug in Document Scanner RTU-UI v2 where the bar buttons weren't properly grayed out when disabled.
- iOS: Fixed processing of still images of an indexed color space model in all scanners, DoQA, and PDF/TIFF generators.
- iOS: Fixed an issue on simulators where the shutter button was missing in the RTU-UI Document Scanner.
- Android: Cropping View: Fixed an issue with a broken layout after screen rotation without recreating the view.
- Android: Fixed Document Scanner point sorting.
- Android: Clamped parametric filters radius to 127.
- Android: RTU-UI v2: Fixed an issue where the last scanned page's preview would not update on a specific layout configuration.
- Android: RTU-UI v2: Fixed an issue where the start of the activity without initializing the Scanbot SDK was leading to an application crash.
- Android: RTU-UI v1: Fixed insets for the shutter button when the app is built with
target_sdk >= 35. - Android: In Document Scanner RTU-UI v2,
PageSnapFeedbackNone()no longer prevents auto-transition to review screen at max pages limit. - Android: Removed accessibility container for user guidance image in Document Scanner RTU-UI v2.
- Android: Fixed Document Scanner
FillPolygonColor(not filled by default) RTU-UI v1. - Android: Fixed Document Scanner/Finder User Guidance default background for RTU-UI v1.
- Android: Fixed Document Scanner shutter button default color for RTU-UI v1.
- Android: Cropping Screen RTU-UI v2 status bar light/dark mode now correctly applied.
- Android: Cropping Screen RTU-UI v2 now returns result instead of canceling if no changes were made.
- Android: Document Scanner RTU UI v2: fixed the screen behavior on multiple manual snaps in "single page" mode.
- Android: Document Scanner RTU UI v2: fixed an issue where autofocus failed during the autosnap event.
- Document Data Extractor (DDE):(previously Generic Document Recognizer)
- Fixed DDE bug determining validation status when fields excluded.
- Fixed DDE bug for incorrect handling of Driver License expiry date validation.
- Fixed DDE bug for merging of
MaidenNameandSurnameon some German ID cards. - Resolved DDE high peak memory consumption issue.
- Document Quality Analyzer (DoQA):
- Fixed DoQA crash when
MaxImageSizewas 0. - Fixed DoQA patch size when
MinFraction= 1.
- Fixed DoQA crash when
- Text Pattern Scanner:
- Fixed Text Pattern Scanner incorrect output for Unicode symbols.
- Check Scanner:
- Android: Fixed Check Scanner User Guidance default background (was absent) for RTU-UI v1.
- Medical Certificate Scanner:
- Android: Fixed Medical Certificate Scanner User Guidance default background (was absent) for RTU-UI v1.
- Barcode Scanner:
- Fixed returned results for all types of
UpcEanExtensionBehavior. - Fixed checksum for
Code 39barcode format. - Fixed an overflow when decoding
Micro QR Codewith wrong bits in numeric mode. - Fixed
MinimumTextLengthforITFbarcode format (checked symbols instead of text length). - Fixed sorting of quad points for four-state/postal barcode types.
- In
Code 11barcodes with 10 data digits, whenChecksumis enabled andStripCheckDigitsis true, scanner now correctly strips both check digits. - Classic Component: Fixed the
OverlayConfigurationproperty not updating while barcode scanning was in progress. - iOS - Classic Component: Fixed an issue where rapid stopping and starting the camera session could lead to a crash or memory leak.
- iOS: Fixed a bug in Barcode Scanner RTU-UI v2 where the flip camera button was not resetting to the widest available camera.
- iOS: Fixed a UI bug in Barcode Scanner RTU-UI v2 where the sheet button overlapped the action bar.
- iOS: Fixed a bug in AR Barcode Scan and Count where the scanner would get stuck if no barcode was detected.
- iOS: Fixed an issue in RTU-UI v2 where the introduction screen appeared automatically even when camera access was denied.
- iOS: Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behavior.
- iOS: Fixed a crash in barcode scanner feature caused by camera access being restricted by system-wide settings (e.g. Parental Controls / Screen Time).
- Android:
FindAndPickScanningMode.SheetContent.BarcodeItemImageVisiblein RTU-UI v2 now correctly applies visibility. - Android: Fixed an issue where the
ExtractedDocumentwas not being generated for GS1 HandlingDecodeStructureandDecodeFull. - Android: Barcode Scanner RTU UI v2: fixed an issue where the back button navigation did not work.
- Fixed returned results for all types of
- iOS: Fixed a bug with scanned documents cloning when using per-file encryption.
- Android: Fixed screen insets for Android API 35 with forced edge-to-edge mode by opting out for RTU-UI v1 screens.
- Android: In RTU-UI v2, modal dialog no longer appears below status bar.
- Android: Accessibility content for action buttons in RTU-UI v2 now properly applied.
- Document Scanner:
- β οΈ Breaking changes:
- Package Structure:
- In
v7.1.0, the packaging structure has changed. Unlikev6.1.0, your application project must now also reference theScanbotSDK.MAUIpackage directly. Transitive references are no longer sufficient, because native Android and iOS SDK assets are delivered through a shared reference mechanism to avoid doubling package size.
- In
- General:
- Targeting .NET 9 requires a minimum
microsoft.net.sdk.iosworkload id18.5.9199, which depends on Xcode 16.4. - Removed the Image Picker service i.e. the
ScanbotSDKMain.ImagePickerAPI. - RTU-UI v2: Replaced the
ScannedDocument.Page.AddPage(PlatformImage)function withScannedDocument.Page.AddPage(PlatformImage image, bool detectDocument, ParametricFilter[] filters = null, int index = -1);.
- Targeting .NET 9 requires a minimum
- Legacy Scanners:
- Check Scanner:
ScanbotSDKMain.Rtu.CheckScannerreturns the RTU-UI v2 Check Scanner. The legacy RTU-UI v1 Check Scanner was moved toScanbotSDKMain.Rtu.Legacy.CheckScanner. Check related configurations and namespaces. - VIN Scanner:
ScanbotSDKMain.Rtu.VinScannerreturns the RTU-UI v2 VIN Scanner. The legacy RTU-UI v1 VIN Scanner was moved toScanbotSDKMain.Rtu.Legacy.VinScanner. Check related configurations and namespaces.
- Check Scanner:
- Native Library Update:
- iOS: The iOS SDK is now included as an
.xcframework(previously provided as a.framework).- Note: Please remove the
RuntimeIdentifierconditions for device(arm64) and simulator(x86) from the project(.csproj) file.
- Note: Please remove the
- Android: The Android SDK is now packaged with multiple
.aarfiles, split by module (previously provided as a single combined.aar).- Note: Please clear your projectβs build cache completely when upgrading from a previous
ScanbotSDKversion to prevent potential conflicts.
- Note: Please clear your projectβs build cache completely when upgrading from a previous
- iOS: The iOS SDK is now included as an
- RTU-UI v1 Removal:
- Removed RTU-UI v1 scanner, please use the corresponding RTU-UI v2 methods, that were newly added:
- Removed
ScanbotSDKMain.RTU.MrzScanner.LaunchMrzScannerAsync(...). UseScanbotSDKMain.Rtu.MrzScanner.LaunchAsync(...)instead. - Removed
ScanbotSDKMain.RTU.TextDataScanner.LaunchTextDataScannerAsync(...). UseScanbotSDKMain.Rtu.TextPatternScanner.LaunchAsync(...)instead. - Removed
ScanbotSDKMain.RTU.Legacy.BarcodeScanner.LaunchBarcodeScannerAsync(...)and...LaunchBatchBarcodeScannerAsync(...). UseScanbotSDKMain.Rtu.BarcodeScanner.LaunchAsync(...)instead. - Removed
ScanbotSDKMain.RTU.LicensePlateScanner.LaunchLicensePlateScannerAsync(...). - Removed
ScanbotSDKMain.RTU.GenericDocumentRecognizer.LaunchGenericDocumentRecognizerAsync(...).
- Removed
- Removed RTU-UI v1 scanner, please use the corresponding RTU-UI v2 methods, that were newly added:
- Feature Renaming (RTU-UI and Detectors):
- Renamed
GenericDocumentRecognizertoDocumentDataExtractorand related types as well. - Renamed
CheckRecognizertoCheckScannerand related types as well. - Renamed
MedicalCertificateRecognizertoMedicalCertificateScannerand related types as well. - Renamed
TextDataScannertoTextPatternScannerand related types as well.
- Renamed
- API changes:
- Updated the RTU-UI APIs for the below scanners:
- Renamed
ScanbotSDKMain.RTU...toScanbotSDKMain.Rtu.... - Renamed
ScanbotSDKMain.Detectors...toScanbotSDKMain.Detector... - Renamed
ScanbotSDKMain.RTU.MRZ...toScanbotSDKMain.Rtu.Mrz... - Renamed
ScanbotSDKMain.RTU.VIN...toScanbotSDKMain.Rtu.Vin.... - Renamed
ScanbotSDKMain.RTU.TextData...toScanbotSDKMain.Rtu.TextPattern.... - Renamed
ScanbotSDKMain.RTU.EHIC...toScanbotSDKMain.Rtu.Ehic.... - Replaced
ScanbotSDKMain.RTU.GenericDocument...toScanbotSDKMain.Rtu.DocumentDataExtractor....
- Renamed
- Simplified the API naming by updating all the:
ScanbotSDKMain.Detector.<ScannerName>.Detect<ScannerName>OnImageAsync()toScanbotSDKMain.Detector.<ScannerName>.DetectOnImageAsync(..).ScanbotSDKMain.RTU.<ScannerName>.Launch<ScannerName>Async()toScanbotSDKMain.Rtu.<ScannerName>.LaunchAsync().ScanbotSDKMain.RTU.<ScannerName>.Close<ScannerName>Async()toScanbotSDKMain.Rtu.<ScannerName>.CloseAsync().- Note: Not all the new RTU-UI v2 scanners contain the
CloseAsync()feature(aka Force closing feature of the scanner).
- IMPORTANT - Namespaces:
- All the
RTU-UIand theDetectOnImageAPIs are under theScanbotSDK.MAUI.<ScannerName>, e.g.ScanbotSDK.MAUI.Check. - All the configuration and result classes for the
DetectOnImagefeature are under theScanbotSDK.MAUI.Core.<ScannerName>, e.g.ScanbotSDK.MAUI.Core.Check.
- All the
- Updated the RTU-UI APIs for the below scanners:
- Result Type Changes:
- For the RTU-UIs, Updated the result APIs to be wrapped under a generic type
RtuResult<ScannerResultType>object. It will provide more information about the scanner result status, and error message. - The EHIC scanner
RTU-UInow returnsRtuResult<EuropeanHealthInsuranceCardRecognitionResult>andDetectOnImagereturnsEuropeanHealthInsuranceCardRecognitionResultresult respectively. - The Medical Certificate scanner
RTU-UInow returnsRtuResult<MedicalCertificateScanningResult>andDetectOnImagereturnsMedicalCertificateScanningResultresult respectively. - The Check Scanner
RTU-UI(Legacy v1)now returnsRtuResult<CheckScanningResult>andDetectOnImagereturnsCheckScanningResultresult respectively. - The VIN Scanner
RTU-UI(Legacy v1)now returnsRtuResult<VinScannerResult>result. - The Document Scanner
RTU-UInow returnsRtuResult<ScannedDocument>result. - The Barcode Scanner
RTU-UInow returnsRtuResult<BarcodeScannerUiResult>andDetectBarcodesOnImagereturnsBarcodeScannerResultresult respectively. - The
ScanbotSDKMain.CommonOperations.DetectDocumentQualityAsync(...)now returnsDocumentQualityAnalyzerResult, which returns more information.
- For the RTU-UIs, Updated the result APIs to be wrapped under a generic type
- Configuration Object Changes:
- In
SBSDKConfigurationreplaced propertyDetectorTypeof typeDocumentDetectorTypewith propertyEngineModeof typeDocumentScannerEngineMode. The default behavior still remains the same, ML based. - Renamed enum
DocumentDetectorModetoDocumentScannerEngineMode. - Replaced PDF
PDFConfigurationwithPdfConfiguration. - Replaced TIFF
TiffOptionswithTiffGeneratorParameters. - Renamed
DocumentScannerConfigurationtoDocumentScannerScreenConfiguration. - Renamed
BarcodeScannerConfigurationtoBarcodeScannerScreenConfiguration.
- In
- Document Scanner Configuration:
- Removed properties (
AcceptedAngleScore,AcceptedSizeScore, etc.) fromDocumentScannerCameraConfiguration, moved toDocumentScannerParameters. AcceptedSizeScoreandAcceptedAngleScorerange changed from0..1to0..100.- Renamed
IgnoreBadAspectRatiotoIgnoreOrientationMismatchinDocumentScannerScreenConfiguration,DocumentScannerConfigurationandFinderDocumentScannerConfiguration. - iOS: Renamed
DetectorModetoEngineModeinDocumentScannerConfigurationandFinderDocumentScannerConfiguration.
- Removed properties (
- VIN Scanner Configuration:
- Renamed
MinimumNumberOfRequiredFramesWithEqualRecognitionResulttoMinimumNumberOfRequiredFramesWithEqualScanningResultinVinScannerConfiguration.
- Renamed
- Barcode Scanner:
- Classic Component: IMPORTANT: Replaced the
BarcodeFormatswithBarcodeFormatConfigurations. Now we can set more advanced configuration for an individual barcode format. We can still use the enums, see the example project implementation.
- Classic Component: IMPORTANT: Replaced the
- Changed default text values for
CameraPermissionstyled texts.
- Package Structure:
- π Under the hood:
- Updated ScanbotSDK.NET to 7.1.0.
- Updated the native Android SDK to Android Document SDK 7.1.1.
- Updated the native iOS SDK to iOS Document SDK 7.1.2.
MAUI - Version 6.1.0 (29 Jan 2025)β
- π New:
- Implemented new Ready-To-Use Document Scanner screen with extended scanning and reviewing capabilities. See Ready-to-Use UI for documentation and various use cases.
- Implemented new
ScannedDocumentAPI to perform document creation and editing. - Added support for German Health Insurance Card front-side and European Health Insurance Card to
IGenericDocumentRecognizerandIGenericDocumentDetector. - Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
- Added properties
AustraliaPostCustomerFormat,UseIata2Of5ChecksumandUseCode11ChecksumtoBarcodeAdditionalParametersandBarcodeRecognizerConfiguration. - Added new property
AddAdditionalQuietZonetoBarcodeScannerAdditionalConfig. - Added a new property
AllowEmptySubmissioninMultipleScanningModeto allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2. - Added a new property
AccessibilityDescriptioninRoundButtonandButtonConfiguration.
- π Improvements:
- Each detector and UI feature is grouped more logically under
ScanbotSDKMain.RTUgroups all of the Ready-to-Use UI scanners for each feature.Detectorsgroups all of the image-based detectors for each feature.
- All SDK interfaces available via
ScanbotSDKMainare also registered for MAUI dependency injection when intializing the SDK with aMauiAppBuilder. - Document detector:
- Improved detection speed and robustness against orientation changes.
- Improved robustness against picking up random contours.
- Improved robustness against documents with colored corners, booklets, handheld documents, and cards, documents near edges of tables, and overlapping documents.
- AR overlay is enabled by default for
FindAndPickScanningModein Barcode Scanner RTU UI v2 screen. - For
Code128andItf, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly. - iOS: Improved sharpness of captured images in
IDocumentScannerby tweaking various timing related default values, such asInitialScanDelayandAutoSnappingDelay. - Android: Improved generic document recognition on static images.
- Each detector and UI feature is grouped more logically under
- π Bug fixes:
- Fixed KANJI mode for QR codes.
- Added missing
ParsedDocumenttoBarcode.RTU.v1.Barcodeso that formatted barcode data can be parsed inIBarcodeDetectorand our Barcode Classic Components. - Android: Minor fixes for appearance in RTU-UI v2 Barcode Scanner to make it consistent with its iOS counterpart.
- Android: Fixed point sorting in
ContourDetector. - Android: Fixed an issue with AR Overlay and barcode mapping in RTU UI v2, where the mapped image wasn't shown on the AR Overlay until the same barcode appeared in the list below.
- Android: Fixed image preprocessing for Document Quality Analyzer.
- Android: Fixed R8 obfuscation config for SDK logging classes.
- iOS: Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes were displayed along with their non-extended versions.
- iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
- iOS: Fixed a UI issue in the RTU-UI v2 Find & Pick scanner in button sheet mode where the counter badge was not visible.
- iOS: Fixed a UI issue in RTU-UI v2 finder where the background color overlapped with the line color.
- iOS: Fixed a crash when zooming with invalid
MinZoomandMaxZoomvalues. - iOS: Fixed a bug that did not mirror the front camera as expected.
- iOS: Fixed a bug in the Barcode RTU v1 result where the
Imageproperty inBarcodeResultBundleobject returned null even if theBarcodeScannerConfiguration.BarcodeImageGenerationTypeproperty was set toBarcodeImageGenerationType.CapturedImage.
- β οΈ Breaking changes:
- Dropped support for .NET 7.
- Renamed
ScanbotSDKclass toScanbotSDKMain. - Removed the
IReadyToUseUIServiceandIDataDetectionServicemeta-interfaces as all of the individual RTU and detector interfaces are available viaScanbotSDKMainor dependency injection. - Removed
IScreenMetricsas it was no longer in active use by the SDK. - Renamed
IImagePickerServicetoIImagePicker. - Renamed
IScanbotSDKServicetoIScanbotOperations. - Moved the RTU v1 Barcode Scanner and related code from
ScanbotSDK.MAUI.RTU.v1toScanbotSDK.MAUI.Barcode.RTU.v1. This coincides with a change in the previous release to group features in their appropriate namespace. - Replaced usage of
Barcode.RTU.v1.PolygonResultPointandCommon.PointFwithSystem.Drawing.PointF. - The previous version of the Document Scanner RTU UI had it's interfaces and configurations moved to the
ScanbotSDK.MAUI.Document.RTU.v1namespace.- This includes RTU interfaces such as
ICroppingScreenandIDocumentScanneras well as configurations such asCroppingScreenConfiguration,DocumentScannerConfigurationandFinderDocumentScannerConfiguration. - The RTU interfaces,
Document.RTU.v1.IDocumentScannerandDocument.RTU.v1.ICroppingScreenhave been marked as[Obsolete].
- This includes RTU interfaces such as
- Deprecated
IScannedPageand moved it to theScanbotSDK.MAUI.Document.Legacynamespace. The replacement is the newScannedDocumentandScannedDocument.PageAPIs. - Various existing detection and UI methods have been updated to use
PlatformImageinstead ofImageSource.- In most cases, extension methods are provided to allow
ImageSourceto still be used. - Methods using
FileImageSourcehave been left alone but may be updated toSystem.Uriin the future (with appropriate compatibility extensions added). - Conversion to
ImageSourcemay be needed in cases where it is used in a result type (for exampleCheckRecognizerResult,Barcode, etc).
- In most cases, extension methods are provided to allow
- Removed enum
BarcodeDensity.- Removed property
CodeDensityfromBarcodeAdditionalParameters.
- Removed property
- Renamed the values of the enum
DocumentDetectionStatus. - Removed enum values
ValidateandDecodefromGS1Handlingand replaced them withDecodeStructure,DecodeFull,ValidateStructureandValidateFull. - Removed property
SharpnessAcceptanceFactorfromGenericDocumentRecognizerConfigurationandGenericDocumentDetectorConfiguration. - Android: Changed
BarcodesRegexFilterconfig behavior for Barcode Scanner RTU UI v2. Barcodes are accepted if the barcode data contains the part that matches the regex.
- π Under the hood:
- iOS: For the iOS implementations of
CreatePdfAsyncandCreateSandwichPdfAsync, the updatedSBSDKPDFRendererOptionsis used to support PDF attributes instead of the now removedSBSDKPDFMetadataEditor. - Android: Added gs1-syntax-dictionary lib.
- Updated the native Android SDK to Android Document SDK 6.1.2.
- Updated the native iOS SDK to iOS Document SDK 6.1.1.
- iOS: For the iOS implementations of
MAUI - Version 5.1.1 (4 Oct 2024)β
- π Improvements:
- Re-added support for the net-8 target framework to make it easier to use our configuration classes and interfaces for unit testing.
- π Bug fixes:
- Fixed reference issues when using our MAUI package in more complex project structures.
MAUI - Version 5.1.0 (19 Sep 2024)β
- π New:
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Use
ScanbotSDK.ReadyToUseUIServiceto leverage the new UI. - Added support for the Micro PDF 417 barcode format.
- Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- Added support for Canadian and UAE Check standards.
- Added new class-based image filters, ParametricFilter, for the ImageProcessor API:
- ScanbotBinarizationFilter
- CustomBinarizationFilter
- ColorDocumentFilter
- BrightnessFilter
- ContrastFilter
- GrayscaleFilter
- WhiteBlackPointFilter
- LegacyFilter (encapsulates the deprecated
ImageFiltertype filters).
- Added support for German residence permits (2011 and 2019 formats) in the
GenericDocumentRecognizer. Check property AcceptedDocumentTypes of typeGenericDocumentRootType[]in theGenericDocumentRecognizerConfigurationclass. - Added new class
DocumentQualityAnalyzerConfiguration. - Added new properties to the PDFConfiguration class used while creating a PDF file.
- Added new Data detection on still Image feature which can be accessed from
ScanbotSDK.DataDetectionServiceAPI. It will allow inputImageSourceand perform data detection for- Check
- EHIC (European Health Insurance Card)
- Generic Document
- Medical Certificate
- MRZ
- Added
UserDefinedFieldsin the class TiffOptions, used in the functionScanbotSDK.SDKService.WriteTiffAsync(...). - Added AcceptedBrightnessThreshold in the
DocumentScannerConfigurationandFinderDocumentScannerConfiguration. - Added ReturnCroppedDocumentImage in the
MedicalCertificateRecognizerConfiguration.
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Use
- π Improvements:
- Optimized camera preview quality and processing speed for all scanners.
- iOS:
- IMPORTANT: Changed the default rear cameras on all scanners to the triple or dual camera. On some devices with triple camera this results in a different view port (more zoomed in). Please make sure to adapt your zoom ranges and factors.
- Added support of haptic feedback on capable devices.
- Android:
- Changed the touch to focus square in the native camera view to a circle.
- Added several missing, and mostly platform specific, properties to the RTU v1 scanner configurations:
- For
BarcodeScannerConfigurationandBatchBarcodeScannerConfiguration, the following properties where exposed:- For Android only (accessible through #if ANDROID):
AutoCancelTimeout(This property is Android only for theBatchBarcodeScannerConfiguration.)CameraPreviewModeUseButtonsAllCapsDelayAfterScanTouchToFocusEnabledMinFocusDistanceLock
- For iOS only (accessible through #if iOS):
FocusLockEnabledFocusLockPositionDoubleTapToZoomEnabledPinchToZoomEnabledShouldAnimateZooming
- For Android only (accessible through #if ANDROID):
- For
- π 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.
- β οΈ Breaking changes:
- IMPORTANT - Classic Component: The MAUI Classic UI Components:
BarcodeScannerViewandBarcodeScanAndCountViewmust now be wrapped insideScanbotClassicUIContainer. - IMPORTANT - Namespaces: There are namespace changes for almost every RTU UI configuration. Earlier all the RTU UI configurations were available in the
ScanbotSDK.MAUInamespace. But now they are available in the specific module folders. For e.g:ScanbotSDK.MAUI.DocumentScannerConfigurationisScanbotSDK.MAUI.Document.DocumentScannerConfigurationScanbotSDK.MAUI.CheckRecognizerConfigurationisScanbotSDK.MAUI.Check.CheckRecognizerConfiguration- For all the other class namespaces, Please refer to the API references here.
- IMPORTANT - ImageFilter : Replaced all the properties and functions using
ImageFilterenum withParametricFilterobject in theIScannedPageinterface. This change can impact the data saved in the local storage, while migrating from the previous versions. Note: We can also set theImageFiltertoParametricFilterdirectly. The SDK will implicitly convert the old type and return aParametricFilter. - Replaced parameter
ImageFilterwithParametricFilterin theScanbotSDK.SDKService.ApplyImageFilterAsync(...)method. - IMPORTANT - BarcodeScanner: Our Ready to Use UI v1 barcode scanners are now deprecated and it is highly encouraged to use the new RTU UI v2 barcode scanner API. All RTU v1 code has been moved to the
ScanbotSDK.MAUI.RTU.v1namespace, with RTU v2 code existing underScanbotSDK.MAUI. Also moved the Legacy Barcode Scanners fromScanbotSDK.ReadyToUseUIServicetoScanbotSDK.LegacyBarcodeScanner. - The structure of barcode formatted results has been changed from record classes to using GenericDocument. See API reference for the new structure here. This change affects RTU UI v1, however, the same structures are used across RTU UI v1 and RTU UI v2.
- Renamed
BarcodeFormat.Rss14toBarcodeFormat.DatabarandBarcodeFormat.RssExpandedtoBarcodeFormat.DatabarExpanded. - Moved
DetectDocumentAsyncfromScanbotSDK.SDKServicetoScanbotSDK.DataDetectionService, keeping all data detectors(from anImageSource) in a single interface. - iOS:
MinFocusDistanceLockremoved fromBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration.FocusLockEnabledandFocusLockPositionare exposed for iOS and these values give more control for camera focus.
- IMPORTANT - Camera: Changed the default rear cameras on all scanners to the triple or dual camera.
- IMPORTANT - Classic Component: The MAUI Classic UI Components:
- π Under the hood:
- Updated the .NET bindings to .NET SDK 5.1.0 (see our .NET changelog for more under the hood changes).
- Upgraded the native Scanbot Android SDK to v5.1.3 and Scanbot iOS SDK to v5.1.4 versions.
MAUI - Version 4.2.1 (6 May 2024)β
- π New:
- Added
PDFConfigurationclass which allows the user to setPDFSize,PDFOrientation,PDFAttributesfor creating a PDF document. Please checkScanbotSDK.MAUI.SDKService.CreatePdfAsync(...). ThePDFAttributesclass allows the user to set the PDF metadata. - Added a new property
ScanbotOCRand methodTesseract(...)inOcrConfigclass. It simplifies the usage of OCR configuration engines. - Added a new method
ScanbotSDK.MAUI.SDKService.CreateSandwichPdfAsync(...)which creates PDF document along with performing the OCR on it.
- Added
- π Bug fixes:
- iOS: Fixed a bug in
ScanbotSDK.MAUI.SDKService.CreatePdfAsync(...), it always used the OCR engine before. Now, there are 2 different functions for both usecases:- Creating a PDF document, See
ScanbotSDK.MAUI.SDKService.CreatePdfAsync(...) - Creating a PDF including OCR (Sandwich PDF document). See
ScanbotSDK.MAUI.SDKService.CreateSandwichPdfAsync(...)
- Creating a PDF document, See
- iOS: Fixed a bug in
- β οΈ Breaking changes:
- The
OCRModeenum typesMLandLegacyare renamed withScanbotOCRandTesseractrespectively. - Replaced
ScanbotSDK.MAUI.SDKService.CreatePdfAsync(IEnumerable<FileImageSource> files, PDFPageSize pageSize, PDFPageOrientation pdfPageOrientation, OcrConfig configuration)withScanbotSDK.MAUI.SDKService.CreatePdfAsync(IEnumerable<FileImageSource> files, PDFConfiguration configuration).
- The
MAUI - Version 4.2.0 (17 Apr 2024)β
- π New:
- Added new RTU UI components:
- VIN (Vehicle identification number) Scanner
- License Plate Scanner
- Text Data Scanner
- Introduced Document Quality Analyzer. It analyzes the text quality (legibility) on images. See β οΈ Breaking changes for more information.
- Added new supported barcode formats. Check
BarcodeFormatenum for:USPSIntelligentMailRoyalMailJapanPostRoyalTNTPostAustraliaPostGS1CompositeDatabarLimited
- Added support for Kuwait ID cards in the MRZ scanner.
- Added support for Israelian checks to the check recognizer.
- Added new type literals for
PDFPageSize. - Added a new enum
PDFPageOrientationwhich can be used while creating PDF inIScanbotService.CreatePdfAsync(...)method. - Formatted barcode documents are now exposed on barcodes via a new property called
FormattedResult, which contains strongly typed records of the data contained within the barcode. The new record types include:AAMVADocumentBoardingPassDocumentDEMedicalPlanDocumentGs1DocumentIDCardPDF417DocumentMedicalCertificateDocumentSEPADocumentSwissQRDocumentVCardDocument
- MRZ support for td1 long document standard.
- Added
CameraZoomRangeinBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration. - Added
ExtensionFilterinBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration. AddedExtensionproperty inBarcoderesult model to access the extension result.
- Both Android and iOS:
- New PDF renderer for simple PDF and "sandwiched" PDF generation.
- Added support for custom PDF metadata. Check
IO.Scanbot.Pdf.Model.PdfAttributesfor Android andSBSDKPDFMetadataProcessorfor iOS. - Added support for portrait, landscape and auto page orientation. Check
IO.Scanbot.Pdf.Model.PageDirectionin Android andSBSDKPDFRendererPageOrientationfor iOS. - Extended list of supported page sizes (A3, A5, B4, B5, etc.). Check
IO.Scanbot.Pdf.Model.PageSizefor Android andSBSDKPDFRendererPageSizefor iOS.
- Added support for custom PDF metadata. Check
- New PDF renderer for simple PDF and "sandwiched" PDF generation.
- Added new RTU UI components:
- π Improvements:
- Improved the speed of barcode recognition for most barcode symbologies.
- Enhanced control over how to handle GS1 messages in barcodes.
- New overloads for
SBSDKInitializer.Initializeto enable initialization directly from a MAUI application instead of platform specific application objects. - New improved document detector with better performance and less memory consumption.
- Added new Optical Character Recognition engine based on machine learning algorithms. The new OCR engine currently supports all languages with latin letters, there is no need to specify the languages for it. The speed of text recognition has increased twofold. We can still use the legacy recognition by setting
OCRModeenum type asLegacyin theOcrConfigclass. BatchBarcodeScannerConfigurationnow supports theBarcodeFormatsproperty for filtering barcodes.- Improved accuracy and detection speed of
QrCode,Code39, andCode93barcode types. - Improved contour lines detection with ML Based detection.
- Android:
- Stripped down the Android dynamic symbol table in native libraries. As a result, the size of the native shared libraries has decreased.
- Optimized the size of native libraries integrated into the Scanbot SDK.
- Enhanced error handling behavior when deleting SDK pages.
- Improved quality and speed of the Document Contour detector.
- Decreased size of Document Contour detector ML model.
- π Bug fixes:
- Before, for certain invalid decoding of QR, an exception was thrown from ZXing. Now we rigorously treat this as a format error.
- Before, we have returned
CODE_25results whenINDUSTRIAL_2_OF_5was enabled andCODE_25was disabled. Now, we do not return theCODE_25result for such decoding options. - Fixed the detection of a few false positive RSS Expanded codes in live mode.
IScanbotSDKService.WriteTiffAsync,IScanbotSDKService.PerformOcrAsyncandIScanbotSDKService.CreatePdfAsyncall receiveIEnumerable<FileImageSource>instead ofIEnumerable<ImageSource>. With the prior implementations, an invalid cast exception was thrown when a set of files wasn't provided because the internals do, in fact, require files. See also β οΈ Breaking changes.- Android:
- Fixed potential memory leak in all RTU-UI screens.
- Fixed some OOM crashes on low to midrange devices.
- Fixed false positives for
CODE_39andCODABARbarcodes. - Fixed colors not being applied to fields in
GenericDocumentRecognizerConfiguration. - Fixed bug with invisible back button on Document Scanner RTU UI screens when no Camera permission was granted.
- Fixed the logic in
AutoSnapProgressEnabledandPolygonAutoSnapProgressEnabledmethods inFinderDocumentScannerConfigurationandDocumentScannerConfiguration. - Corrected mapping of
UserGuidanceStringsinCheckRecognizerConfiguration. - Fixed the
TopBarButtonsColoroption for theMrzScannerConfigurationandHealthInsuranceCardScannerConfiguration. - Fixed
EnableCameraButtonTitleandEnableCameraExplanationTextparameters onBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration.
- iOS:
- Fixed a crash when denying camera permission.
- Fixed a bug with magnetic lines in CroppingScreen RTU UI.
- Fixed a bug where the polygon should be mirrored when using the front camera in
DocumentScannerResult. - Fixed a bug where
AutomaticSelectionEnabledwas not working properly inBarcodeScannerConfiguration. - Fixed a bug where
FlashEnabledwas not working properly inHealthInsuranceCardScannerConfiguration. - Fixed a bug with the iPad 5th generation where captured images were wrong.
- Fixed a bug where the finder text hint was still showing when
ViewFinderEnabledwas disabled inBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration. - Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
- Fixed a bug in
SBSDKOpticalCharacterRecognizerwhereRecognizeTextwas unable to detect text on imageStorage when the encryption was enabled. - Fixed the issue when the top and bottom toolbars' background color in
SBSDKUICroppingViewControllerdidn't update on dark mode change, when set toUIColor.systemBackground.
- β οΈ Breaking changes:
- GS1 codes are now handled differently for various barcode types. Using the default option
GS1Handling.Parsewill give the same result as before for all barcode types, except forBarcodeFormat.RssExpanded. Previously, forRssExpanded, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, use the optionGS1Handling.Decode. IScannedPageServicerenamed toIScannedPage.- Major updates in
IScanbotSDKService:- Replaced
EstimateBlurrinesswithDetectDocumentQualityAsync. - Replaced
OcrConfigswithDefaultOcrConfigwhich provides the default OCR configs from the native platforms. - Replaced
public LicenseInfo GetLicenseInfo()withpublic LicenseInfo LicenseInfo { get; }. - Updated return value of
ApplyImageFilterAsyncfromTask<ImageSource>toTask<FileImageSource>. - Replaced
CreatePdfAsync(List<ImageSource> images, PDFPageSize pageSize)withCreatePdfAsync(IEnumerable<FileImageSource> files, PDFPageSize pageSize = PDFPageSize.Custom, PDFPageOrientation pdfPageOrientation = PDFPageOrientation.Auto, OcrConfig configuration = null). - Replaced
PerformOcrAsync(IEnumerable<ImageSource> images, IEnumerable<string> languages, string pdfOutputPath = null)withTask<OcrResult> PerformOcrAsync(IEnumerable<FileImageSource> sources, OcrConfig configuration = null, string pdfOutputPath = null) - Replaced
WriteTiffAsync(IEnumerable<ImageSource> images, TiffOptions options = null)withWriteTiffAsync(IEnumerable<FileImageSource> files, TiffOptions options = null).
- Replaced
- Replaced property
Gs1DecodingEnabledof typeboolwithGs1HandlingModeof typeGS1Handlingenum inBarcodeScannerAdditionalParameters. - The
DocumentSDK.MAUI.iOSandDocumentSDK.MAUI.Droidassemblies merged into one assembly namedDocumentSDK.MAUI. - All types under the
DocumentSDKandBarcodeSDKnamespaces have been moved to theScanbotSDKnamespace. - The
ScanbotSDK.NETpackage is no longer referenced as a dependency. All needed files and dependencies are included directly in the package. - Renamed all the extension methods to
ToNative()andToMaui(). The extension methods which are responsible for converting Maui class objects to Native(iOS/Android) class objects or vice versa. Same with the conversion of Maui enums to Native enums or vice versa.
- GS1 codes are now handled differently for various barcode types. Using the default option
- π Under the hood:
- Upgraded the native Scanbot Android SDK to v4.2.0 and Scanbot iOS SDK to v4.2.2
- Added "libharu" library to dependencies.
- Android:
- Blackview and Caterpillar brands are now excluded from GpuAcceleration-supported devices.
- Removed "Android PDF Writer" library from dependencies.
- Upgraded OpenCV version to 4.8.
- Added "icu4c" library to dependencies.
- Updated version of Nameof C++ library to v0.10.3.
- Disabled GPU acceleration for Redmi 9 models, Samsung Galaxy Grand Prime and devices with Android older than 6.
- iOS:
- Added Privacy manifest file (PrivacyInfo.xcprivacy) to the SDK which complies with the latest Apple specs.
- Added new static property
MaximumRecommendedImageSizetoSBSDKDeviceInformation.
MAUI - Version 2.3.1 (11 Oct 2023)β
- π Bug fixes:
- Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
MAUI - Version 2.3.0 (15 Sep 2023)β
- π New:
- More supported barcode types:
- Micro QR Code
- An additional Ready-To-Use UI Component in the form of Finder Document Scanner.
- Support for configuring a confirmation dialog for the Barcode Scanner Ready-To-Use UI Component.
- More supported barcode types:
- π Improvements:
- Improved accuracy and detection speed of QR_CODE, Code39, and Code93 barcode types.
- Added support for inverted PDF-417 barcodes.
- π Bug fixes:
- Fixed
NullReferenceExceptionwhen using theFinderWidthRelativeToDeviceWidthorFinderHeightRelativeToDeviceWidthproperties inDocumentSDK.MAUI.MrzScannerConfiguration. DocumentSDK.MAUI.ScanbotSDK.LicenseInfonow returns the correct license status.
- Fixed
- β οΈ Breaking changes:
- For the
DocumentSDK.MAUI.Constants.MedicalCertificateCheckboxTypeenum, changedRequiresCareYestoCareYes. - Renamed the
BarcodeSDK.MAUI.Constants.OverlayFormatenum toBarcodeSDK.MAUI.Constants.BarcodeTextFormat.- Any types which use the enum have also been updated, such as
BarcodeSDK.MAUI.Configurations.SelectionOverlayConfiguration.
- Any types which use the enum have also been updated, such as
- If using named parameters for
BarcodeSDK.MAUI.Configurations.SelectionOverlayConfiguration, the misspelledautomaticSelectionEnaledparameter has been renamed toautomaticSelectionEnabled.
- For the
- π Under the hood:
- The native Scanbot Android SDK upgraded to v2.3.0.
- The native Scanbot iOS SDK upgraded to v2.3.1.
MAUI - Version 2.2.0 (26 Jun 2023)β
- π First release of the
ScanbotSDK.MAUINuGet package for MAUI. - Provides Ready-To-Use UI Components - a set of easy to integrate and customize high-level MAUI 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