Changelog
tip
For additional details about the API, please refer to our API reference documentation.
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
DocumentScannerView
classic 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.ShowReviewScreenOnStart
that allows showing the Review Screen immediately if the scanner is opened with an existent document ID. E.g. document edit mode. - RTU-UI v2: Added an option to automatically navigate to the Review Screen after each scan. Use
DocumentScanningFlow.Screens.Camera.OpenReviewAfterEachScan = true
. - RTU-UI v2: Added an option to open either the first or the last page when the Review Screen is opened. Use
DocumentScanningFlow.Screens.Review.ShowLastPageWhenAdding = true
.
- 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
QualityHeatmap
property 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
ExtractVINFromBarcode
inVinScannerConfiguration
that 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:
Inferred
andIgnored
. - Generic document fields now support
ParsedData
attributes 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
Series
field. - Now supports the front side of many more EU driver's licenses.
- Partial support for parsing of German addresses. For respective ID cards, address parsing can be enabled via a new
DeAddressParserConfiguration
. Parsed addresses are stored as child documents.
- 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
BarcodeScannerView
classic component. - Added ability to configure common barcode properties via
BarcodeFormatCommonConfiguration
. - Added
MinimumSizeScore
to barcode configurations; barcodes withSizeScore < MinimumSizeScore
are ignored. - Introduced
StrictMode
for certain barcode configurators (QR Code
,Micro QR Code
,rMQR Code
,PDF417
,MicroPDF417
andgs1Composite
) to balance detection rate and false positives. - Classic Component: Added new properties,
OnlyAcceptDocuments
,EngineMode
,ExtractedDocumentFormats
andBarcodeFormatConfigurations
inBarcodeScannerView
andBarcodeScanAndCountView
. - Added the ability to return the barcode image in the resulting object via
BarcodeScannerConfiguration.ReturnBarcodeImage
. - Introduced new barcode engine modes
NextGen
,NextGenLowPower
,NextGenFarDistance
andNextGenLowPowerFarDistance
. SeeBarcodeScannerEngineMode
.NextGen
is optimized for detecting multiple barcodes in live mode, in particular, bounding boxes of 1D barcodes are predicted as close as possible.NextGenLowPower
is optimized for scanning barcode batches on low-power devices.NextGenFarDistance
which is optimized for scanning from far distances.NextGenLowPowerFarDistance
that 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
ExtendedQuad
andExtendedQuadNormalized
fields to theBarcodeItem
class to represent extended quads for 1D barcodes. BarcodeItem
has a new fieldRawBytesEncodings
that contains the precise character encoding information ofRawBytes
.BarcodeItem
has a new fieldStructuredAppendInfo
for messages split across multiple barcodes.BarcodeScannerConfiguration
has a new fieldAccumulationConfig
which allows the accumulation of barcodes over multiple frames in live mode.BarcodeItem
has a new fieldGlobalIndex
to identify a barcode across multiple frames.- RTU-UI v2: Added
SelectedZoomFactor: Double
metadata field inBarcodeScannerUiResult
with the value that the user used to scan the barcode.
- General:
- .NET: Added support for .NET 9 SDK, in addition to .NET 8 SDK.
- .NET: Added target frameworks
.net8.0
and.net9.0
specifically. - 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.Analytics
service. - Cropped images returned as part of the scanner results are now represented as image references
ImageRef
that can be converted to base64 or saved to a path. - Added exported array constants for union type values to clearly list all available options. See
BarcodeFormats
. - Android: Added support for 16KB page size.
- Android: Added a new property
KeepScreenOn
in 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.Preset5
for 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
DocumentNumber
and Sequence Number asPersonalNumber
in MRZ fields. - On US border crossing permits, the document number is now returned in the correct field.
- Dates in MRZ now also support
ParsedData
correctly.
- 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
DePassport
andDeIdCard
. - 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
ITF
barcodes. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for Barcode Scanner RTU-UI v2
BarcodeScannerConfiguration.OnlyAcceptDocuments
. - Added support for
MaximumTextLength
constraint onCode 11
,Code 39
,Code 93
,Code 128
, andCodabar
barcode 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
MaidenName
andSurname
on some German ID cards. - Resolved DDE high peak memory consumption issue.
- Document Quality Analyzer (DoQA):
- Fixed DoQA crash when
MaxImageSize
was 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 39
barcode format. - Fixed an overflow when decoding
Micro QR Code
with wrong bits in numeric mode. - Fixed
MinimumTextLength
forITF
barcode format (checked symbols instead of text length). - Fixed sorting of quad points for four-state/postal barcode types.
- In
Code 11
barcodes with 10 data digits, whenChecksum
is enabled andStripCheckDigits
is true, scanner now correctly strips both check digits. - Classic Component: Fixed the
OverlayConfiguration
property 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.BarcodeItemImageVisible
in RTU-UI v2 now correctly applies visibility. - Android: Fixed an issue where the
ExtractedDocument
was not being generated for GS1 HandlingDecodeStructure
andDecodeFull
. - 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.MAUI
package 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.ios
workload id18.5.9199
, which depends on Xcode 16.4. - Removed the Image Picker service i.e. the
ScanbotSDKMain.ImagePicker
API. - 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.CheckScanner
returns 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.VinScanner
returns 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
RuntimeIdentifier
conditions for device(arm64
) and simulator(x86
) from the project(.csproj
) file.
- Note: Please remove the
- Android: The Android SDK is now packaged with multiple
.aar
files, split by module (previously provided as a single combined.aar
).- Note: Please clear your projectβs build cache completely when upgrading from a previous
ScanbotSDK
version to prevent potential conflicts.
- 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
GenericDocumentRecognizer
toDocumentDataExtractor
and related types as well. - Renamed
CheckRecognizer
toCheckScanner
and related types as well. - Renamed
MedicalCertificateRecognizer
toMedicalCertificateScanner
and related types as well. - Renamed
TextDataScanner
toTextPatternScanner
and 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-UI
and theDetectOnImage
APIs are under theScanbotSDK.MAUI.<ScannerName>
, e.g.ScanbotSDK.MAUI.Check
. - All the configuration and result classes for the
DetectOnImage
feature 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-UI
now returnsRtuResult<EuropeanHealthInsuranceCardRecognitionResult>
andDetectOnImage
returnsEuropeanHealthInsuranceCardRecognitionResult
result respectively. - The Medical Certificate scanner
RTU-UI
now returnsRtuResult<MedicalCertificateScanningResult>
andDetectOnImage
returnsMedicalCertificateScanningResult
result respectively. - The Check Scanner
RTU-UI(Legacy v1)
now returnsRtuResult<CheckScanningResult>
andDetectOnImage
returnsCheckScanningResult
result respectively. - The VIN Scanner
RTU-UI(Legacy v1)
now returnsRtuResult<VinScannerResult>
result. - The Document Scanner
RTU-UI
now returnsRtuResult<ScannedDocument>
result. - The Barcode Scanner
RTU-UI
now returnsRtuResult<BarcodeScannerUiResult>
andDetectBarcodesOnImage
returnsBarcodeScannerResult
result 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
SBSDKConfiguration
replaced propertyDetectorType
of typeDocumentDetectorType
with propertyEngineMode
of typeDocumentScannerEngineMode
. The default behavior still remains the same, ML based. - Renamed enum
DocumentDetectorMode
toDocumentScannerEngineMode
. - Replaced PDF
PDFConfiguration
withPdfConfiguration
. - Replaced TIFF
TiffOptions
withTiffGeneratorParameters
. - Renamed
DocumentScannerConfiguration
toDocumentScannerScreenConfiguration
. - Renamed
BarcodeScannerConfiguration
toBarcodeScannerScreenConfiguration
.
- In
- Document Scanner Configuration:
- Removed properties (
AcceptedAngleScore
,AcceptedSizeScore
, etc.) fromDocumentScannerCameraConfiguration
, moved toDocumentScannerParameters
. AcceptedSizeScore
andAcceptedAngleScore
range changed from0..1
to0..100
.- Renamed
IgnoreBadAspectRatio
toIgnoreOrientationMismatch
inDocumentScannerScreenConfiguration
,DocumentScannerConfiguration
andFinderDocumentScannerConfiguration
. - iOS: Renamed
DetectorMode
toEngineMode
inDocumentScannerConfiguration
andFinderDocumentScannerConfiguration
.
- Removed properties (
- VIN Scanner Configuration:
- Renamed
MinimumNumberOfRequiredFramesWithEqualRecognitionResult
toMinimumNumberOfRequiredFramesWithEqualScanningResult
inVinScannerConfiguration
.
- Renamed
- Barcode Scanner:
- Classic Component: IMPORTANT: Replaced the
BarcodeFormats
withBarcodeFormatConfigurations
. 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
CameraPermission
styled texts.
- Package Structure:
- π Under the hood:
- Updated the ScanbotSDK.NET 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
ScannedDocument
API to perform document creation and editing. - Added support for German Health Insurance Card front-side and European Health Insurance Card to
IGenericDocumentRecognizer
andIGenericDocumentDetector
. - Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
- Added properties
AustraliaPostCustomerFormat
,UseIata2Of5Checksum
andUseCode11Checksum
toBarcodeAdditionalParameters
andBarcodeRecognizerConfiguration
. - Added new property
AddAdditionalQuietZone
toBarcodeScannerAdditionalConfig
. - Added a new property
AllowEmptySubmission
inMultipleScanningMode
to allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2. - Added a new property
AccessibilityDescription
inRoundButton
andButtonConfiguration
.
- π Improvements:
- Each detector and UI feature is grouped more logically under
ScanbotSDKMain
.RTU
groups all of the Ready-to-Use UI scanners for each feature.Detectors
groups all of the image-based detectors for each feature.
- All SDK interfaces available via
ScanbotSDKMain
are 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
FindAndPickScanningMode
in Barcode Scanner RTU UI v2 screen. - For
Code128
andItf
, 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
IDocumentScanner
by tweaking various timing related default values, such asInitialScanDelay
andAutoSnappingDelay
. - 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
ParsedDocument
toBarcode.RTU.v1.Barcode
so that formatted barcode data can be parsed inIBarcodeDetector
and 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
MinZoom
andMaxZoom
values. - 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
Image
property inBarcodeResultBundle
object returned null even if theBarcodeScannerConfiguration.BarcodeImageGenerationType
property was set toBarcodeImageGenerationType.CapturedImage
.
- β οΈ Breaking changes:
- Dropped support for .NET 7.
- Renamed
ScanbotSDK
class toScanbotSDKMain
. - Removed the
IReadyToUseUIService
andIDataDetectionService
meta-interfaces as all of the individual RTU and detector interfaces are available viaScanbotSDKMain
or dependency injection. - Removed
IScreenMetrics
as it was no longer in active use by the SDK. - Renamed
IImagePickerService
toIImagePicker
. - Renamed
IScanbotSDKService
toIScanbotOperations
. - Moved the RTU v1 Barcode Scanner and related code from
ScanbotSDK.MAUI.RTU.v1
toScanbotSDK.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.PolygonResultPoint
andCommon.PointF
withSystem.Drawing.PointF
. - The previous version of the Document Scanner RTU UI had it's interfaces and configurations moved to the
ScanbotSDK.MAUI.Document.RTU.v1
namespace.- This includes RTU interfaces such as
ICroppingScreen
andIDocumentScanner
as well as configurations such asCroppingScreenConfiguration
,DocumentScannerConfiguration
andFinderDocumentScannerConfiguration
. - The RTU interfaces,
Document.RTU.v1.IDocumentScanner
andDocument.RTU.v1.ICroppingScreen
have been marked as[Obsolete]
.
- This includes RTU interfaces such as
- Deprecated
IScannedPage
and moved it to theScanbotSDK.MAUI.Document.Legacy
namespace. The replacement is the newScannedDocument
andScannedDocument.Page
APIs. - Various existing detection and UI methods have been updated to use
PlatformImage
instead ofImageSource
.- In most cases, extension methods are provided to allow
ImageSource
to still be used. - Methods using
FileImageSource
have been left alone but may be updated toSystem.Uri
in the future (with appropriate compatibility extensions added). - Conversion to
ImageSource
may 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
CodeDensity
fromBarcodeAdditionalParameters
.
- Removed property
- Renamed the values of the enum
DocumentDetectionStatus
. - Removed enum values
Validate
andDecode
fromGS1Handling
and replaced them withDecodeStructure
,DecodeFull
,ValidateStructure
andValidateFull
. - Removed property
SharpnessAcceptanceFactor
fromGenericDocumentRecognizerConfiguration
andGenericDocumentDetectorConfiguration
. - Android: Changed
BarcodesRegexFilter
config 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
CreatePdfAsync
andCreateSandwichPdfAsync
, the updatedSBSDKPDFRendererOptions
is 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.ReadyToUseUIService
to 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
ImageFilter
type filters).
- Added support for German residence permits (2011 and 2019 formats) in the
GenericDocumentRecognizer
. Check property AcceptedDocumentTypes of typeGenericDocumentRootType[]
in theGenericDocumentRecognizerConfiguration
class. - 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.DataDetectionService
API. It will allow inputImageSource
and perform data detection for- Check
- EHIC (European Health Insurance Card)
- Generic Document
- Medical Certificate
- MRZ
- Added
UserDefinedFields
in the class TiffOptions, used in the functionScanbotSDK.SDKService.WriteTiffAsync(...)
. - Added AcceptedBrightnessThreshold in the
DocumentScannerConfiguration
andFinderDocumentScannerConfiguration
. - 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
BarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
, the following properties where exposed:- For Android only (accessible through #if ANDROID):
AutoCancelTimeout
(This property is Android only for theBatchBarcodeScannerConfiguration
.)CameraPreviewMode
UseButtonsAllCaps
DelayAfterScan
TouchToFocusEnabled
MinFocusDistanceLock
- For iOS only (accessible through #if iOS):
FocusLockEnabled
FocusLockPosition
DoubleTapToZoomEnabled
PinchToZoomEnabled
ShouldAnimateZooming
- 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:
BarcodeScannerView
andBarcodeScanAndCountView
must 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.MAUI
namespace. But now they are available in the specific module folders. For e.g:ScanbotSDK.MAUI.DocumentScannerConfiguration
isScanbotSDK.MAUI.Document.DocumentScannerConfiguration
ScanbotSDK.MAUI.CheckRecognizerConfiguration
isScanbotSDK.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
ImageFilter
enum withParametricFilter
object in theIScannedPage
interface. This change can impact the data saved in the local storage, while migrating from the previous versions. Note: We can also set theImageFilter
toParametricFilter
directly. The SDK will implicitly convert the old type and return aParametricFilter
. - Replaced parameter
ImageFilter
withParametricFilter
in 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.v1
namespace, with RTU v2 code existing underScanbotSDK.MAUI
. Also moved the Legacy Barcode Scanners fromScanbotSDK.ReadyToUseUIService
toScanbotSDK.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.Rss14
toBarcodeFormat.Databar
andBarcodeFormat.RssExpanded
toBarcodeFormat.DatabarExpanded
. - Moved
DetectDocumentAsync
fromScanbotSDK.SDKService
toScanbotSDK.DataDetectionService
, keeping all data detectors(from anImageSource
) in a single interface. - iOS:
MinFocusDistanceLock
removed fromBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
.FocusLockEnabled
andFocusLockPosition
are 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
PDFConfiguration
class which allows the user to setPDFSize
,PDFOrientation
,PDFAttributes
for creating a PDF document. Please checkScanbotSDK.MAUI.SDKService.CreatePdfAsync(...)
. ThePDFAttributes
class allows the user to set the PDF metadata. - Added a new property
ScanbotOCR
and methodTesseract(...)
inOcrConfig
class. 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
OCRMode
enum typesML
andLegacy
are renamed withScanbotOCR
andTesseract
respectively. - 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
BarcodeFormat
enum for:USPSIntelligentMail
RoyalMail
JapanPost
RoyalTNTPost
AustraliaPost
GS1Composite
DatabarLimited
- 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
PDFPageOrientation
which 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:AAMVADocument
BoardingPassDocument
DEMedicalPlanDocument
Gs1Document
IDCardPDF417Document
MedicalCertificateDocument
SEPADocument
SwissQRDocument
VCardDocument
- MRZ support for td1 long document standard.
- Added
CameraZoomRange
inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
. - Added
ExtensionFilter
inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
. AddedExtension
property inBarcode
result 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.PdfAttributes
for Android andSBSDKPDFMetadataProcessor
for iOS. - Added support for portrait, landscape and auto page orientation. Check
IO.Scanbot.Pdf.Model.PageDirection
in Android andSBSDKPDFRendererPageOrientation
for iOS. - Extended list of supported page sizes (A3, A5, B4, B5, etc.). Check
IO.Scanbot.Pdf.Model.PageSize
for Android andSBSDKPDFRendererPageSize
for 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.Initialize
to 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
OCRMode
enum type asLegacy
in theOcrConfig
class. BatchBarcodeScannerConfiguration
now supports theBarcodeFormats
property for filtering barcodes.- Improved accuracy and detection speed of
QrCode
,Code39
, andCode93
barcode 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_25
results whenINDUSTRIAL_2_OF_5
was enabled andCODE_25
was disabled. Now, we do not return theCODE_25
result for such decoding options. - Fixed the detection of a few false positive RSS Expanded codes in live mode.
IScanbotSDKService.WriteTiffAsync
,IScanbotSDKService.PerformOcrAsync
andIScanbotSDKService.CreatePdfAsync
all 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_39
andCODABAR
barcodes. - 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
AutoSnapProgressEnabled
andPolygonAutoSnapProgressEnabled
methods inFinderDocumentScannerConfiguration
andDocumentScannerConfiguration
. - Corrected mapping of
UserGuidanceStrings
inCheckRecognizerConfiguration
. - Fixed the
TopBarButtonsColor
option for theMrzScannerConfiguration
andHealthInsuranceCardScannerConfiguration
. - Fixed
EnableCameraButtonTitle
andEnableCameraExplanationText
parameters onBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
.
- 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
AutomaticSelectionEnabled
was not working properly inBarcodeScannerConfiguration
. - Fixed a bug where
FlashEnabled
was 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
ViewFinderEnabled
was disabled inBarcodeScannerConfiguration
andBatchBarcodeScannerConfiguration
. - Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
- Fixed a bug in
SBSDKOpticalCharacterRecognizer
whereRecognizeText
was unable to detect text on imageStorage when the encryption was enabled. - Fixed the issue when the top and bottom toolbars' background color in
SBSDKUICroppingViewController
didn'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.Parse
will 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
. IScannedPageService
renamed toIScannedPage
.- Major updates in
IScanbotSDKService
:- Replaced
EstimateBlurriness
withDetectDocumentQualityAsync
. - Replaced
OcrConfigs
withDefaultOcrConfig
which provides the default OCR configs from the native platforms. - Replaced
public LicenseInfo GetLicenseInfo()
withpublic LicenseInfo LicenseInfo { get; }
. - Updated return value of
ApplyImageFilterAsync
fromTask<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
Gs1DecodingEnabled
of typebool
withGs1HandlingMode
of typeGS1Handling
enum inBarcodeScannerAdditionalParameters
. - The
DocumentSDK.MAUI.iOS
andDocumentSDK.MAUI.Droid
assemblies merged into one assembly namedDocumentSDK.MAUI
. - All types under the
DocumentSDK
andBarcodeSDK
namespaces have been moved to theScanbotSDK
namespace. - The
ScanbotSDK.NET
package 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
MaximumRecommendedImageSize
toSBSDKDeviceInformation
.
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
NullReferenceException
when using theFinderWidthRelativeToDeviceWidth
orFinderHeightRelativeToDeviceWidth
properties inDocumentSDK.MAUI.MrzScannerConfiguration
. DocumentSDK.MAUI.ScanbotSDK.LicenseInfo
now returns the correct license status.
- Fixed
- β οΈ Breaking changes:
- For the
DocumentSDK.MAUI.Constants.MedicalCertificateCheckboxType
enum, changedRequiresCareYes
toCareYes
. - Renamed the
BarcodeSDK.MAUI.Constants.OverlayFormat
enum 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 misspelledautomaticSelectionEnaled
parameter 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.MAUI
NuGet 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