Data Capture Modules changelog β .NET SDK
tip
For additional details about the API, refer to our API reference documentation.
.NET - Version 10.0.0 (28 Oct 2026)β
- π Release notes:
- Explore the release highlights and key improvements here.
Androidβ
- π New:
- General:
- Added landscape mode support for all RTU UI screens.
- Added a
requestPermission: Booleanflag to theCameraViewType.Mock(...)config to enable or disable camera permission requests. - Added the
SetLensFocusDistanceProvidermethod for manual control of the lens focus distance in theScanbotCameraXViewpublic API. - Added support for the
Drawableinterface forImageRef. You can use anImageRefdirectly in anImageViewwithout copying it into aBitmap.
- Barcode Scanner:
- Added the
SelectionConfigfield toBarcodeScannerConfiguration. ItsSelectionMethoddetermines whether all detected barcodes are returned (All), only the barcode closest to the center (CenterClosest), or only the barcode touching the center (Center). ForCenterClosestandCenter, the center point can be configured with the normalized valuesCenterCoordXandCenterCoordY(default:0.5,0.5). ForCenter, aCenterDistanceTolerancecan also be configured. - 2D barcode configurations have a new field
FallbackEncoding, used when the barcode doesn't specify an encoding. The default isUnknown, where the SDK guesses the encoding, as in previous versions.
- Added the
- Document Data Extractor:
- Added support for the new German passports introduced in October 2025 (distinguishable by the Type value
PP). - Added support for provisional German ID cards via MRZ fallback.
- Added support for the new German passports introduced in October 2025 (distinguishable by the Type value
- Document Scanner:
- Added the Document Cleanup feature that lets the user remove artifacts from a document by drawing over them while preserving the text. See
DocumentCleanupActivity. - RTU UI: Added a new Document Cleanup screen integrated into the scanning flow. See
DocumentScanningFlow.Screens.Cleanupconfiguration. - Added a parameter
documentCropOptimizationto theImageProcessor.Crop(...)method. To turn it off, passDocumentCropOptimization.Noneor use the default valueDocumentCropOptimization.OptimizeQuad, that corresponds to the existing behavior (reduces the input quad by 0.5%). - Document API: Added a
CleanupAppliedboolean flag to thePageclass.
- Added the Document Cleanup feature that lets the user remove artifacts from a document by drawing over them while preserving the text. See
- Image Processing:
- The stroke weight (line thickness) of binarized images with anti-aliasing enabled can now be controlled with the
StrokeWeightparameter.
- The stroke weight (line thickness) of binarized images with anti-aliasing enabled can now be controlled with the
- Text Pattern Scanner:
- Added the
InputHeightLimitoption. It limits the input image height to avoid text that's too large for the text detection model.
- Added the
- General:
- π Improvements:
- General:
- Optimized and improved the frame processing speed by about 5 ms per frame for
ScanbotCameraXView. - Improved memory handling when using the autosnapping mechanism in the Document Scanner and in several Data Capture components.
- Added an outline to keyboard-focused elements for accessibility.
- Optimized and improved the frame processing speed by about 5 ms per frame for
- Barcode Scanner:
BarcodeFormatUpcEanConfigurationhas a new fieldConvertUpceToUpca, which converts the 6-digit UPC-E result into a 12-digit UPC-A result. It'sfalseby default.- The DataBar and DataBar Expanded barcode configurations now support minimum and maximum text lengths. For GS1 messages, both limits apply to the parsed text.
- In single-shot mode, larger internal image sizes are allowed for the engine modes
NextGenFarDistance(up to 4K for the barcode detector model) andNextGenMaxDistance(unlimited input size for the barcode detector model). Use these modes with caution, because they can require substantial memory depending on the input resolution. - Improved recall for heavily damaged barcodes in the Code 128, Code 39, EAN-8, and EAN-13 formats, where every single scanline is corrupted, via a new field
DamagedBarcodeReconstruction(enabled by default) in the barcode configurations.
- Check Scanner:
- Now uses the same accumulation logic as the Document Data Extractor. This makes the results substantially more reliable and accurate in both live and single-shot modes.
- Canadian checks with a leading dash in the account number are now supported.
- Credit Card Scanner:
- Documents with the wrong aspect ratio are now ignored.
- Uses a digit-only list of characters for card number recognition.
- Document Data Extractor:
- Extraction for Driver Qualification Certificates is more lenient towards printing offsets.
- Increased stability when scanning the country field on European Health Insurance Cards.
- Improved data consistency for surnames on German ID cards.
- Document Scanner:
- Improved TalkBack accessibility for the Review Screen zoom button.
- Stopped the page feedback animation from playing when an image is imported instead of scanned.
- Accessibility improvements to hidden and empty elements on the Review Screen.
- RTU UI: The Review Screen toolbar is adaptive. The Add, Retake, Crop, Rotate, Cleanup, Reorder, and Delete buttons automatically collapse into a "More" pop-up menu only when they don't fit in the toolbar. The toolbar is a bottom bar in portrait and a side bar in landscape.
- Improved performance of the zoomable image in the Review Screen during drag actions.
- Image Processing:
- Binarized images with anti-aliasing enabled are more legible and have higher contrast.
- Improved behavior of the
ColorDocumentShadowRemovalFilteron documents with tables.
- General:
- π Bug fixes:
- General:
- Fixed a memory leak in the
ScanbotCameraXViewclass(Note:ScanbotCameraXViewis a base class for all the Custom UIs). - Fixed an NPE crash on finder view calculation calls from non-UI threads in
ScanbotCameraXView. - Fixed a
ConcurrentModificationExceptioncrash occurring inScanbotCameraXView. - Using the same value for both the visible label and
AccessibilityDescriptioninButtonConfigurationdoes not cause duplicate accessibility announcements. - All RTU UI screens: Fixed an issue with the status bar state resetting after the device was rotated.
- Fixed a memory leak in the
- Barcode Scanner:
- Fixed undefined behavior for some clean input scanlines in the HMM decoder.
StripCheckDigitsnow applies correctly to UPC and EAN formats.- Fixed a rare bug when scanning UPC and EAN barcodes with a 5-digit (EAN-5) extension while the scanner was configured to accept only barcodes with a 2-digit extension.
- Fixed the orientation of quads for DataBar and DataBar Expanded barcodes with multiple stacks.
- Fixed an issue where vCards containing a colon in their value were silently ignored.
- Fixed some duplicated results for UPC and EAN barcodes with extensions.
- Fixed crashes when scanning Data Matrix barcodes with
EngineModeset toLegacy. - For the Micro QR Code and rMQR Code formats, the scanner now returns
RawBytesEncodings. - Fixed a potential crash during "beep" sound playback.
- Document parser: Fixed HIBC parsing to allow a trailing slash and an alphanumeric lot number.
- Reduced the false positive rate for corrupted barcodes in strong light.
- Fixed an issue where EAN-8 barcodes were returned when the EAN-8 format was disabled and
damagedBarcodeReconstructionwas enabled. - Fixed a bug where barcodes weren't mapped correctly when
BarcodeMapperwas initialized. - Fixed a security issue with
GetSerializable(...)method exploitation for RCE.
- Check Scanner:
- Fixed an issue where a Canadian check was incorrectly recognized as a USA check.
- Credit Card Scanner:
- If frame accumulation is used in single-shot mode and the scanner doesn't find a document on some attempts, it returns the accumulated result.
- Fixed the quad (the corner coordinates of the detected card) returned in single-shot mode.
- Fixed the returned status of document detection in single-shot mode.
- Document Data Extractor:
- Fixed incorrect crops for the country field on European Health Insurance Cards.
- Fixed the document detection result points in single-shot mode.
- Fixed the Document Data Extractor crop results when
ReturnCrops = true.
- Document Scanner:
- Fixed a crash on
DocumentScannerActivitywhen it was killed in the background. - Fixed a bug where
Page.Sourcewouldn't update when an image was imported inDocumentScannerActivity.
- Fixed a crash on
- Image Processing:
- Fixed the chessboard artifacts produced by the
ColorDocumentShadowRemovalFilteron images smaller than 1 megapixel.
- Fixed the chessboard artifacts produced by the
- MRZ Scanner:
- The Nationality field is no longer shown for Swiss driver's license MRZ documents.
- OCR Engine:
- Fixed an issue that could sometimes produce wrong bounding boxes.
- Fixed an issue where the
AllowedCharactersset was sometimes ignored.
- Text Pattern Scanner:
- Fixed how the VIN Scanner and Text Pattern Scanner apply the input image height limit.
- General:
- β οΈ Breaking changes:
- General:
- Changed the accessibility announcements for buttons: TalkBack now announces the
AccessibilityDescriptionfromButtonConfiguration, or theTitleifAccessibilityDescriptionis empty. - Replaced the
BarButtonConfigurationandPopupMenuItemconfigs of adaptive toolbar items with a singleAdaptiveBarButtonConfigurationthat combines both classes. - RTU UI: Renamed
BottomBartoToolbarin all configuration classes and fields. - RTU UI:
PreferredMaxHeightwas replaced with theMaxWidthandMaxHeightparameters inFinderConfiguration.
- Changed the accessibility announcements for buttons: TalkBack now announces the
- Barcode Scanner:
- The boolean
EnableOneDBlurScannerwas replaced by theConfigStateenumBlurryOneDScanner. - Renamed the field
ChecksumtoUseCheckDigitsinBarcodeFormatCode11Configuration.
- The boolean
- Check Scanner:
- The Check Scanner now features improved result accumulation across frames, which significantly reduces the likelihood of OCR errors. It can be configured via
CheckScannerConfiguration.ResultAccumulationConfig. - Added new
CheckMagneticInkStripScanningStatusenum values:ScanningInProgressandSuccessButLowConfidenceResult. - In live scanning mode, by default, 3 frames need to yield the same scanning result to produce a scan with the status
Success. During accumulation, the statusScanningInProgressis returned along with the current best intermediate result. - In single-shot scanning mode, up to 9 detections are run on small perturbations of the input image. Again, by default, a result with the status
Successis returned only if at least 3 of these scans are identical and successful. If fewer successful scans are obtained, a result with the statusSuccessButLowConfidenceResultis produced. - Both live and single-shot scanning modes can still produce results with the statuses
IncompleteValidation(if a MICR line with an unknown format was found) orErrorNothingFound(if no check was found at all). - Live scanning no longer yields the status
IncompleteValidation. If a check is detected that doesn't pass validation, the statusScanningInProgressis returned instead.
- The Check Scanner now features improved result accumulation across frames, which significantly reduces the likelihood of OCR errors. It can be configured via
- Document Data Extractor:
- The new status
OkButLowConfidenceResultswas introduced. This status can only be returned in single-shot mode. OkButNotConfirmedwas renamed to theScanningInProgressstatus, which is now only returned in live scanning mode.- Replaced
DocumentDataExtractionStatus.OkButNotConfirmedwithDocumentDataExtractionStatus.OkButLowConfidenceResultsfor still image scanning and withDocumentDataExtractionStatus.ScanningInProgressfor live scanning.
- The new status
- Document Scanner:
- The
DocumentEnhancerclass with theStraightenWithImage(...)method was renamed to theDocumentStraightenerclass with theRunWithImage(...)method. - Moved most
PopupMenuItemconfigs fromReviewMorePopupMenutoAdaptiveBarButtonConfigurationitems inReviewToolbarConfiguration. - Renamed the
ReviewBottomBarConfigurationclass and theBottomBarfield toReviewToolbarConfigurationandToolbar. - RTU UI: Renamed
CroppingConfigurationtoCroppingStandaloneConfiguration.
- The
- Image Processing:
- Binarized images with anti-aliasing enabled now have higher contrast by default. To get the previous behavior, set
StrokeWeight=0in theCustomBinarizationFilter's configuration. To get the previous behavior of theScanbotBinarizationFilter, useCustomBinarizationFilterwithPreset4andStrokeWeight=0. ImageProcessor.Crop(...)has a new argument,DocumentCropOptimization, that controls how the crop is optimized, assuming the cropped image is a document. The argument has a default value. As a consequence, this is expected to be a breaking change only on platforms that don't support default argument values.
- Binarized images with anti-aliasing enabled now have higher contrast by default. To get the previous behavior, set
- MRZ Scanner:
- The internal MRZ field
Unknownwas previously returned but is now removed from the result. - The Nationality field is now optional.
- The internal MRZ field
- General:
- β οΈ Deprecations:
- General:
- RTU UI:
TopBarMode.Hidden,TopBarMode.Gradient,ToolbarMode.Hidden, andToolbarMode.Gradientvalues are deprecated.
- RTU UI:
- Text Pattern Scanner:
- The
OcrResolutionLimitoption is deprecated in favor ofInputHeightLimit.
- The
- General:
- π Under the hood:
- Document Scanner:
- When you create a
Pageobject from an image,DocumentDetectionStatusandSourceare nownullby default.
- When you create a
- General:
- Updated the native SDK to Android SDK 10.0.0.
- Updated gs1-json to version 1.2.
- Updates to the
NuGetdependencies:- .NET 9:
- Updated
Xamarin.AndroidX.Activity.Composefrom1.10.1.1to1.13.0. - Updated
Xamarin.AndroidX.Camera.Camera2,Xamarin.AndroidX.Camera.Extensions, andXamarin.AndroidX.Camera.Viewfrom1.4.1to1.6.1. - Updated
Xamarin.AndroidX.Compose.Materialfrom1.7.8to1.11.3. - Updated
Xamarin.AndroidX.Compose.Material3from1.3.1.1to1.4.0.2. - Updated
Xamarin.AndroidX.Preferencefrom1.2.0.7to1.2.1.17. - Updated
Xamarin.Google.Accompanist.DrawablePainterandXamarin.Google.Accompanist.Permissionsfrom0.36.0to0.37.3.1. - Updated
Xamarin.Google.Android.Materialfrom1.4.0.2to1.13.0.2. - Updated
Xamarin.Kotlin.Parcelize.Runtimefrom2.0.21.2to2.2.0.1. - Added
Xamarin.AndroidX.Compose.Material.Icons.Coreversion1.7.8.5. - Added
Xamarin.AndroidX.DataBinding.ViewBindingversion9.0.1.1. - Added AndroidX Lifecycle dependencies version
2.11.0:Lifecycle.Common.Java8,Lifecycle.LiveData,Lifecycle.Process,Lifecycle.Runtime.Ktx,Lifecycle.ViewModel.Compose, andLifecycle.ViewModelSavedState. - Added
Xamarin.AndroidX.LocalBroadcastManagerversion1.1.0.22. - Removed direct dependencies on
Xamarin.AndroidX.Activity.Ktx,Xamarin.AndroidX.AppCompat,Xamarin.AndroidX.Collection.Ktx,Xamarin.AndroidX.Compose.UI.ViewBinding,Xamarin.AndroidX.ConstraintLayout.Core, andXamarin.AndroidX.Legacy.Support.V4. - Removed direct dependencies on
Xamarin.Google.Accompanist.AppCompat.Theme,Xamarin.Google.Accompanist.FlowLayout,Xamarin.Google.Accompanist.Pager.Indicators,Xamarin.Google.Accompanist.Placeholder,Xamarin.Google.Accompanist.SystemUIController,Xamarin.Google.Dagger, andXamarin.Google.Guava.
- Updated
- .NET 10:
- Updated
Xamarin.AndroidX.Activity.Composefrom1.10.1.3to1.13.0. - Updated
Xamarin.AndroidX.Camera.Camera2,Xamarin.AndroidX.Camera.Extensions, andXamarin.AndroidX.Camera.Viewfrom1.4.2.3to1.6.1. - Updated
Xamarin.AndroidX.Compose.Materialfrom1.8.3.1to1.11.3. - Updated
Xamarin.AndroidX.Compose.Material3from1.3.2.3to1.4.0.2. - Updated
Xamarin.AndroidX.Preferencefrom1.2.1.15to1.2.1.17. - Updated
Xamarin.Google.Android.Materialfrom1.4.0.2to1.13.0.2. - Added
Xamarin.AndroidX.Compose.Material.Icons.Coreversion1.7.8.5. - Added
Xamarin.AndroidX.DataBinding.ViewBindingversion9.0.1.1. - Added AndroidX Lifecycle dependencies version
2.11.0:Lifecycle.Common.Java8,Lifecycle.LiveData,Lifecycle.Process,Lifecycle.Runtime.Ktx,Lifecycle.ViewModel.Compose, andLifecycle.ViewModelSavedState. - Added
Xamarin.AndroidX.LocalBroadcastManagerversion1.1.0.22. - Removed direct dependencies on
Xamarin.AndroidX.AppCompat,Xamarin.AndroidX.Compose.UI.ViewBinding,Xamarin.AndroidX.ConstraintLayout.Core, andXamarin.AndroidX.Legacy.Support.V4. - Removed direct dependencies on
Xamarin.Google.Accompanist.AppCompat.Theme,Xamarin.Google.Accompanist.FlowLayout,Xamarin.Google.Accompanist.Pager.Indicators,Xamarin.Google.Accompanist.Placeholder,Xamarin.Google.Accompanist.SystemUIController,Xamarin.Google.Dagger, andXamarin.Google.Guava.
- Updated
- .NET 9:
- Document Scanner: