Changelog | MAUI Barcode Scanner
tip
For additional details about the API, please refer to our API reference documentation.
MAUI - Version 7.1.1 (30 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
- Barcode Scanner:
- 🚀 Improvements:
- Barcode Scanner:
- Android: Improved handling of the back action with multiple dialogs and bottom sheets.
- General:
- Android: Changed permissions for the mock camera to
android.permission.READ_MEDIA_IMAGESandandroid.permission.READ_MEDIA_VIDEOfor API >= 33, andREAD_EXTERNAL_STORAGEfor API < 33.
- Android: Changed permissions for the mock camera to
- Barcode Scanner:
- 🐞 Bug fixes:
- Barcode Scanner:
- Android: Fixed an issue where the
ExtractedDocumentwas not being generated for GS1 HandlingDecodeStructureandDecodeFull. - Android: Fixed an issue where the back button navigation did not work in Barcode Scanner RTU UI v2.
- Android: Fixed an issue where the
- General:
- Android: Fixed an issue with the black preview in
ScanbotCameraXViewwhen the camera selected a square resolution on some Samsung and Xiaomi devices. - Android: Prevent throwing exception when /sys/devices/system/cpu/cpufreq doesn't exist.
- Android: Fixed an issue with the black preview in
- Barcode Scanner:
- ⚠️ Breaking changes:
- Barcode Scanner:
- The field
MinConfirmationsStandaloneEANinBarcodeAccumulationConfigurationwas moved and renamed to the fieldMinimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinBarcodeFormatUpcEanConfiguration.
- The field
- Barcode Scanner:
- 🚙 Under the hood:
- Updated the .NET bindings to .NET Barcode SDK 7.1.1 (see our .NET changelog for more under the hood changes).
MAUI - Version 7.1.0 (18 Aug 2025)
- 🎉 New:
- 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. Can be used for live scanning.- Added property
FpsLimittoCameraConfigurationto limit the rate of detections per second in normal performance mode. - Added property
SelectedZoomFactortoBarcodeScannerUiResultto retrieve the zoom factor used for the barcode scanning. - Added new Mock Camera API that allows to set an image and emulate behavior similar to real camera only for testing purposes. Use
ScanbotSDKMain.CommonOperations.ConfigureMockCamera(...)to configure it. Check the full example here - iOS: Added property
HardwareButtonsEnabledtoCameraConfiguration. If enabled, it also allows zooming using the camera control button (iPhone 16 series). - Android: Added property
PerformanceHintApiEnabledtoSBSDKConfiguration. Enables or disables CPU acceleration.
- Added
- 🚀 Improvements:
- Boarding pass document parser now supports up to version 8 of the IATA-BCBP standard.
- vCard document parser was improved.
- Android: Improved
ScanbotCameraXViewpreview size selection strategy for square screens. - Android: Improved the algorithm of high performance cores computation as the old one didn't work correctly on some devices (e.g. Pixel 9 Pro).
- Android: Integrated Android Performance Hint Session. This significantly improves multithreading performance on devices that support the Hint Session (e.g. Pixel 9 Pro and Samsung S24 Ultra).
- 🐞 Bug Fixes:
- vCard document parser now correctly processes the
FNkey asFormattedName. - iOS: The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. All possible codewords are checked now.
- iOS: Fixed a bug in the Barcode Scanner RTU-UI v2 where the result callback was called multiple times.
- iOS: Fixes wrong orientation of extracted images when the PDF page has a transform applied.
- iOS: Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
- Android: The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now, all possible codewords are checked.
- Android: RTU-UI v2: Fixed handling of the back actions for modal dialogs.
- vCard document parser now correctly processes the
- ⚠️ Breaking Changes:
- Changed the return type of the RTU UI method
BarcodeScanner.LaunchAsync(...)fromTask<BarcodeScannerUiResult>toTask<RtuResult<BarcodeScannerUiResult>>. The method no longer throws aTaskCanceledExceptionwhen any RTU UI screen is closed. To determine the operation status, check theStatusproperty. - Removed property
AutomaticSelectionEnabledfromSelectionOverlayConfiguration. - Removed property
UseCameraXRtuUifromSBSDKConfiguration. - Modified some properties in
BoardingPass:- Renamed property
NametoPassengerName. - Renamed property
ElectronicTickettoElectronicTicketIndicator.
- Renamed property
- Modified many properties in
vCard. Some of them:- Replaced property
TitlewithTitleslist. - Renamed property
FirstNametoFormattedName. - Replaced property
EmailwithEmailslist. - Replaced property
RolewithRoleslist.
- Replaced property
- Changed the return type of the RTU UI method
- 🚙 Under the hood:
- Updated the .NET bindings to .NET Barcode SDK 7.1.0 (see our .NET changelog for more under the hood changes).
- Added flatbuffers 2.0.6.
MAUI - Version 7.0.3 (28 Jul 2025)
- 🐞 Bug fixes:
- iOS: Resolved a crash in the RTU UI Barcode Scanner caused by multiple rapid result callbacks occurring simultaneously.
MAUI - Version 7.0.2 (4 Jul 2025)
- 🎉 New:
- Added target for
.net8.0and.net9.0frameworks.
- Added target for
- 🚀 Improvements:
- iOS - Classic Component: Further improvements in memory management.
- ⚠️ Breaking Changes:
- Targeting .NET 9 requires a minimum
microsoft.net.sdk.iosworkload id18.5.9199, which depends on Xcode 16.4.
- Targeting .NET 9 requires a minimum
MAUI - Version 7.0.0 (30 May 2025)
- 🎉 New:
- Added support for
.NET 9SDK. - Added support for new barcode formats that are used in the pharmaceutical industry:
PharmaCode,PharmaCodeTwoTrack,Pzn7andPzn8(Pharmazentralnummer). - Added support for a new barcode document format:
Hibc. - Added advanced configuration to the Barcode Scanner that allows to further configure the barcode formats individually. See
ScanbotSDK.MAUI.Barcode.Core.BarcodeScannerConfigurationclass for recognition on still images andBarcodeFormatConfigurationsproperty for Classic components. - Added the ability to configure the Barcode Scanner using the common barcode configuration, see
BarcodeFormatCommonConfiguration. - Added an option to ignore barcodes that do not decode to one of the accepted document formats for
BarcodeScannerConfiguration. See more here:BarcodeScannerConfiguration.OnlyAcceptDocuments. - 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.
- Updated the lists of predefined subsets (OneD, TwoD, Postal, Pharma, etc.) of barcode formats. Old predefined sets of barcode formats were removed. See
BarcodeFormats. - Introduced a new barcode item object to better represent barcode results. See
BarcodeItem. - Added the ability to control the return of the barcode image in the result using the new
ReturnBarcodeImageproperty. See more here:BarcodeScannerConfiguration.ReturnBarcodeImage. - Images are now represented as references by using the
ImageReffeature. - Introduced a boolean
StrictModefor certain barcode configurations. If this mode is disabled, it should allow for a higher detection rate in difficult scenarios, but with the possibility that false positive results may occur. Currently, we supportStrictModeforQrCode,MicroQrCode,RmqrCode,Pdf417,MicroPdf417andGs1Composite. This can be used in Classic components and recognition on still images. - Android: Added an option to the RTU-UI v2 Barcode Scanner screen for keeping the screen on. Use
BarcodeScannerScreenConfiguration.KeepScreenOnto control this function. - Classic Component: Added new properties,
OnlyAcceptDocuments,EngineMode,ExtractedDocumentFormatsandBarcodeFormatConfigurationsinBarcodeScannerViewandBarcodeScanAndCountView.
- Added support for
- 🚀 Improvements:
- Improved quiet zone checks for the barcode formats
Itf,Code11,MsiPlessey,Iata2Of5,Industrial2Of5andCode25. - Improved the false positive rate for
Itf. - Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the recognition of
Pdf417barcodes in the barcode scanner. - Improved the Barcode Scanner to better recognize QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e.
AustraliaPost,JapanPost,RoyalMail,RoyalTntPostandUspsIntelligentMail). - We additionally allow for checking
MaximumTextLengthfor the barcode formatsCode11,Code39,Code93,Code128andCodabar. - Android: Updated the 3rd party nuget dependencies. Please see the
Dependenciestab on the nuget store. - Android:
CloseBarcodeScannerAsync()also supported on Android platform. SeeScanbotSDKMain.RTU.BarcodeScanner.CloseBarcodeScannerAsync().
- Improved quiet zone checks for the barcode formats
- 🐞 Bug fixes:
- iOS: Fixed a camera leak issue in the RTU-UI v2 Barcode Scanner.
- Fixed checksum for
Code39barcode format. - Fixed the returned results for all types of
UpcEanExtensionBehavior. - Fixed an issue when scanning
Code93barcodes withstripCheckDigits = false(default) and the check digit was an extension character. - 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 processing of still images of indexed color space model in the Barcode Scanner.
- iOS: Fixed a bug in the AR Barcode Scan and Count where the scanner would be stuck if there was no barcode detected.
- iOS: RTU-UI v2: Fixed a bug in the Barcode Scanner RTU-UI where the flip camera button was not resetting the widest camera available if chosen.
- iOS: RTU-UI v2: Fixed a UI bug in the Barcode Scanner RTU-UI where the sheet button overlapped with the action bar.
- iOS Classic Component: Fixed an issue where quickly stopping and starting the camera session could lead to a crash or unpredictable behavior.
- Android: Clamped parametric filters radius to 127 to prevent asserts in openCV.
- Android: Fixed an overflow when decoding a
MicroQrCodebarcode format with wrong bits in numeric mode. - Android: Fixed
MinimumTextLengthforItfbarcode format. Before, we used it to check the number of symbols instead of the true text length. - Android: Fixed sorting of quad points for four-state/postal barcode types.
- Android: Fixed quad when flag
BarcodeFormatConfigurationBase.AddAdditionalQuietZoneis enabled. - Android: RTU-UI v2: The modal dialog no longer appears below the status bar.
- Android: RTU-UI v2: Fixed an issue where
FindAndPickScanningMode.SheetContent.BarcodeItemImageVisiblewas not properly applied. - Android: RTU-UI v2: fixed accessibility content for action buttons.
- Android: Now there is no need to register the android activity for configuring the
ScanbotBarcodeSDK.MAUIpackage.
- ⚠️ Breaking Changes:
- IMPORTANT: Removed support for
.NET 7SDK. Now we support.NET 8and.NET 9SDKs. - IMPORTANT: Removed the obsolete Barcode Scanner RTU-UI v1. All the related configuration classes, functions, properties and extensions were removed completely. Please use RTU-UI v2 instead.
- IMPORTANT: Removed the deprecated
ScanbotBarcodeSDKclass. All its functionalities have been migrated to the newScanbotSDKMainclass, which offers a more modular and organized structure. - IMPORTANT: Removed
InitializationOptionsclass. Please useSBSDKConfigurationclass instead. - Classic Component: Removed
BarcodeFormatsproperty, please use the new advancedBarcodeFormatConfigurationsproperty instead. - Classic Component: Renamed the
AcceptedDocumentFormatsproperty toExtractedDocumentFormats. - Classic Component: Removed the
RegularExpressionPatternproperty. - Removed the function
DependencyManager.RegisterActivity(), which helped to register the activity for launching the Barcode Scanner. It is no longer required. - Removed
BarcodeDetectorExtensionsclass. - Removed function
ICommonOperations.ClearStorageDirectory(). - Replaced
BarcodesExtensionFilterenum withUpcEanExtensionBehaviorenum and renamed the propertyBarcodesExtensionFilterwithExtensionsin RTU-UI v2. SeeBarcodeScannerConfiguration. - Replaced function
Task<BarcodeScannerResult> LaunchAsync(BarcodeScannerConfiguration configuration)withTask<BarcodeScannerUiResult> LaunchAsync(BarcodeScannerScreenConfiguration configuration);in the Barcode Scanner RTU-UI v2. - Replaced the Barcode scanner RTU-UI v2 result object
BarcodeScannerResultwithBarcodeScannerUiResult. - Updated the method overrides in the
DelegateBarcodeItemMapperclass andIStaticBarcodeItemMapperinterface. They are used in configuring theBarcodeUseCase.BarcodeInfoMapping. - By default,
Code93now includes check digits in the result. To disable this and restore the previous behavior, setStripCheckDigits = true. - iOS: Starting from this version, the Scanbot SDK is linked as an xcframework under the hood, instead of a framework as it was until now. Please remove any
RuntimeIdentifierorForceSimulatorX64ArchitectureInIDEproperties from your*.csprojfile.
- IMPORTANT: Removed support for
- 🚙 Under the hood:
- Updated the .NET bindings to .NET Barcode SDK 7.0.0 (see our .NET changelog for more under the hood changes).
MAUI - Version 6.1.0 (14 Feb 2025)
- 🎉 New:
- Added new
SBSDKInitializerclass which provides 2 method overloads to initialize the SDK.- Added new
SBSDKConfigurationclass for the SDK initialization configuration.
- Added new
- Added new class
ScanbotSDKMainwhich contains each detector and UI feature grouped more logically.RTUgroups all of the Ready-to-Use UI scanners, along with theLegacygroup for the Legacy Barcode scanner.Detectorsgroups all of the image-based barcode detectors.- All SDK interfaces available via
ScanbotSDKMainare also registered for MAUI dependency injection when initializing the SDK with aMauiAppBuilder.
- Added support for new barcode types
MaxiCode,RmqrCode,Code11andCode32. - Added properties
AustraliaPostCustomerFormat,UseIATA2OF5ChecksumandUseCode11ChecksumtoBarcodeScannerAdditionalParametersandBarcodeRecognizerConfiguration. - Added property
AddAdditionalQuietZoneinBarcodeScannerAdditionalParameters. - Added
AustraliaPostCustomerFormatenum to represent formats of the barcode data for the Australian Post customer barcode. - Added new property
PostalFormatstoBarcodeFormatsclass. - Added a new property
AllowEmptySubmissioninMultipleScanningModeto allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2. - iOS: Added new zoom control slider controlled by the new camera control button on all view controllers. Available on all the new iPhone 16 models.
- Added the ability to display the scanned barcode's image in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModeuse case by setting the valueExpectedBarcode.BarcodeImageKeyto theImageproperty ofExpectedBarcodeclass.
- Added new
- 🚀 Improvements:
- Improved GS1 string handling with new modes for decoding and validation. See
Gs1Handling. - Improved detection of UPC and EAN extensions.
- Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec barcodes.
- For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
- Improved GS1 string handling with new modes for decoding and validation. See
- 🐞 Bug fixes:
- Fixed KANJI mode for QR codes.
- iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModeuse case that never showed the expected barcode title, but always the barcode value. - iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModeuse case in button sheet mode where the counter badge was not visible. - iOS: Fixed a UI issue on the RTU-UI v2 Barcode Scanner's sheet screen where the subtitle label was being vertically cut off.
- 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 Barcode Scanner's finder where the background color overlapped with the line color.
- iOS: Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes were displayed along with their non-extended versions.
- iOS: Fixed a bug that did not mirror the front camera as expected.
- iOS: Fixed a crash in scanners when setting the same
minZoomandmaxZoominZoomRange. - Android: Fixed R8 obfuscation config for SDK logging classes.
- Android: Minor fixes for appearance in RTU-UI v2 Barcode Scanner to make it consistent with its iOS counterpart.
- Android: Fixed an issue with AR Overlay and barcode mapping in RTU-UI v2 Barcode Scanner, where the mapped image wasn't shown on the AR Overlay until the same barcode appeared in the list below.
- ⚠️ Breaking Changes:
- IMPORTANT: Marked the
ScanbotBarcodeSDKclass as obsolete. Please refer to the new alternative classScanbotSDKMain. - IMPORTANT: Moved the Barcode APIs from the
ScanbotSDK.MAUInamespace toScanbotSDK.MAUI.Barcodenamespace. Below are some examples:ScanbotSDK.MAUI.RTU.v1.IBarcodeDetectortoScanbotSDK.MAUI.Barcode.RTU.v1.IBarcodeDetectorScanbotSDK.MAUI.RTU.v1.IBarcodeScannertoScanbotSDK.MAUI.Barcode.RTU.v1.IBarcodeScannerScanbotSDK.MAUI.RTU.v1.ResulttoScanbotSDK.MAUI.Barcode.RTU.v1.Result
- IMPORTANT: Various existing detection and UI methods have been updated to use
PlatformImageinstead ofImageSource.- Please see
ScanbotSDK.MAUI.Barcode.BarcodeDetectorExtensions. The extension methods are provided to allowImageSourceto still be used. - Conversion to
ImageSourcemay be needed in cases where it is used in a result type (for exampleBarcodeResultBundle,Barcodeclasses and the ImagePicker result, etc).
- Please see
- Renamed interface
IScanbotBarcodeSDKServicetoICommonOperations. Please seeScanbotBarcodeSDK.SDKServiceobject.- Replaced
GetLicenseInfo()method withLicenseInfoproperty. - Replaced the namespace of
ScanbotSDK.MAUI.RTU.v1.ResultwithScanbotSDK.MAUI.Barcode.RTU.v1.Result, which is the return type ofScanbotBarcodeSDK.SDKService.ClearStorageDirectory()method.
- Replaced
- Replaced
ScanbotBarcodeSDK.BarcodeScanner.OpenBarcodeScannerAsync(...)method withScanbotBarcodeSDK.BarcodeScanner.LaunchAsync(...).- The
OpenBarcodeScannerAsync(...)method, which is now marked obsolete, can still be found in theBarcodeScannerExtensionsclass.
- The
- Renamed interface
IImagePickerServicetoIImagePicker. Please seeScanbotSDKMain.ImagePickerobject. - Renamed all the methods in
ScanbotBarcodeSDK.LegacyScanner. SeeScanbotSDKMain.RTU.Legacy.BarcodeScanner. - Removed enum
BarcodeDensity. - Removed property
CodeDensityfromBarcodeScannerAdditionalParameters. - Removed enum values
ValidateandDecodefromGs1Handlingand replaced them byDecodeStructure,DecodeFull,ValidateStructureandValidateFull. - AR overlay is enabled by default for
FindAndPickScanningModein Barcode Scanner RTU-UI v2 screen. - Android: Removed redundant fields
BarcodeImagePathandBarcodePreviewFramePathfromResultclass in Barcode Scanner RTU-UI v2. - Android: Changed
BarcodesRegexFilterconfig behavior for Barcode Scanner RTU-UI v2. Barcodes are accepted if the barcode data contains the part that matches the regex.
- IMPORTANT: Marked the
- 🚙 Under the hood:
- Updated the .NET bindings to .NET Barcode SDK 6.1.0 (see our .NET changelog for more under the hood changes).
- Android: Added gs1-syntax-dictionary lib.
MAUI - Version 5.1.1 (12 Dec 2024)
- 🎉 New:
- Added
ParsedDocumentproperty in the RTU UI Barcode v1 result. Refer toScanbotSDK.MAUI.RTU.v1.Barcodeclass. - Added support for
net8.0andnet7.0, which is helpful for the unit tests projects, to test the configuration classes.
- Added
- 🚀 Improvements:
- Android: Added a fix for scanning big chunks of barcodes in a single session.
- iOS: Improved the Barcode classic components behavior when the scanner visibility was toggled.
MAUI - Version 5.1.0 (7 Aug 2024)
- 🎉 New:
- Added new freshly designed RTU-UI version 2 for Barcode scanning with advanced agile configuration. Use
ScanbotSDK.MAUI.ScanbotBarcodeSDK.BarcodeScannerto leverage the new UI. See Ready-to-Use UI for documentation and various use cases. - Added support for filtering barcodes using a regular expression in our barcode classic component.
- Added support for the Micro PDF 417 barcode format.
- Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- 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:
BarcodeScannerConfigurationandBatchBarcodeScannerConfigurationthe following properties where exposed:- Both iOS and Android:
AutoCancelTimeout(this was already present inBarcodeScannerConfiguration, but was added toBatchBarcodeScannerConfiguration).
- For Android only (accessible through #if ANDROID):
CameraPreviewModeUseButtonsAllCapsDelayAfterScanTouchToFocusEnabledMinFocusDistanceLock
- For iOS only (accessible through #if iOS):
FocusLockEnabledFocusLockPositionDoubleTapToZoomEnabledPinchToZoomEnabledShouldAnimateZooming
- Both iOS and Android:
- 🐞 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: The MAUI Classic UI Components:
BarcodeScannerViewandBarcodeScanAndCountViewmust now be wrapped insideScanbotClassicUIContainer. - 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. - 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. - ZoomRange can be created with any input values but will be limited under the hood by internal MIN_ZOOM (x0.2) and MAX_ZOOM (x100) values.
- iOS:
MinFocusDistanceLockremoved fromBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration.FocusLockEnabledandFocusLockPositionare exposed for iOS and these values give more control for camera focus.
- 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.
- IMPORTANT: The MAUI Classic UI Components:
- 🚙 Under the hood:
- Updated the .NET bindings to .NET Barcode SDK 5.1.0 (see our .NET changelog for more under the hood changes).
MAUI - Version 4.2.1 (25 Mar 2024)
- 🎉 New:
- Added new events for
ScanbotSDK.MAUI.ClassicComponent.BarcodeScannerView:OnBarcodeScanResult, triggered after a barcode scan result is obtained;OnSelectBarcodeResult, which occurs when a barcode result is selected.
- Added new events for
- 🚀 Improvements:
- Previously targeting
.NET 7, now supports both.NET 7and.NET 8.
- Previously targeting
- 🐞 Bug Fixes:
- Namespace issues in the classic component resolved;
- The
OverlayTextFormatproperty is now consistently reflected across platforms.
- ⚠️ Breaking Changes:
- Changes in
SelectionOverlayConfiguration:PolygonColorhas been renamed toStrokeColor.HighlightedPolygonColorhas been renamed toHighlightedStrokeColor.
BarcodeScannerView.OverlayTextEnabledis set to true by default.
- Changes in
- 🚙 Under the hood:
- The native Scanbot iOS SDK upgraded to v4.2.2.
MAUI - Version 4.2.0 (6 Mar 2024)
- 🎉 New:
- Added support for several new barcode formats including:
AustraliaPostDatabarLimitedGs1CompositeJapanPostRoyalMailRoyalTntPostUspsIntelligentMail
- Enhanced control over how to handle GS1 messages in barcodes.
- Added new components
ScanbotSDK.MAUI.ClassicComponent.BarcodeScannerViewandScanbotSDK.MAUI.ClassicComponent.BarcodeScanAndCountView. It's recommended to utilize .NET 8 as your target platform because .NET 7 has issues with its Shell control which affect our Classic Component. - 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:AAMVADocumentDEMedicalPlanDocumentGs1DocumentIDCardPDF417DocumentMedicalCertificateDocumentSEPADocumentSwissQRDocumentVCardDocumentBoardingPass
- Added
CameraZoomRangeinBarcodeScannerConfigurationandBatchBarcodeScannerConfiguration.
- Added support for several new barcode formats including:
- 🚀 Improvements:
- Improved the speed of barcode recognition for most barcode symbologies.
- Improved contour lines detection with ML Based detection.
- 🐞 Bug fixes:
- Android:
- Optimized camera functionalities in
ScanbotCameraXView.
- Optimized camera functionalities in
- Android:
- ⚠️ 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, choose the optionGS1Handling.Decode.
- GS1 codes are now handled differently for various barcode types. Using the default option
- 🚙 Under the hood:
- iOS:
- Added new methods in
SBSDKCameraDeviceclass for camera and licensing functionalities.
- Added new methods in
- The native Scanbot iOS SDK upgraded to v4.2.1.
- The native Scanbot Android SDK upgraded to v4.2.0.
- iOS:
MAUI - Version 4.0.0 (9 Jan 2024)
- 🚀 Improvements:
- Improved the speed of barcode recognition for most barcode symbologies.
- No need to call
DependencyManager.RegisterServicesin platform specific start-up code. Services are registered as soon as the SDK is initialized.
- 🐞 Bug fixes:
- Both iOS and Android:
InitialScanDelayonly used some portions of theTimeSpanobject (seconds for iOS, milliseconds for Android). Now the full total is used.AutoCancelTimeoutremoved fromBatchBarcodeScannerConfigurationas it is only currently supported for the regular barcode scanner viaBarcodeScannerConfiguration.
- Android:
- Before, for certain invalid decodings of QR and MicroQR codes, an exception was thrown from ZXing. Now we rigorously treat this as a format error.
- Before, we returned
BarcodeFormat.Code25results whenBarcodeFormat.Industrial2Of5was enabled andBarcodeFormat.Code25was disabled. Now, we do not return theBarcodeFormat.Code25result for such decoding options. AutoCancelTimeoutonly used the seconds portion of theTimeSpanobject. Now the total number of seconds is correctly used.
- iOS:
- Fixed a crash when denying camera permission.
- Fixed issue with
ScanbotBarcodeSDK.BarcodeService.OpenBarcodeScannerViewin which the default title of the confirm button was set to the default title of the retry button. AutoCancelTimeoutis now applied correctly when usingScanbotBarcodeSDK.BarcodeService.OpenBarcodeScannerView.
- Both iOS and Android:
- ⚠️ Breaking changes:
- All types under the
BarcodeSDKnamespace have been moved to theScanbotSDKnamespace.
- All types under the
- 🚙 Under the hood:
- The
ScanbotBarcodeSDK.NETpackage is no longer referenced as a dependency. All needed files and dependencies are included directly in the package. BarcodeSDK.MAUI.iOSandBarcodeSDK.MAUI.Droidassemblies merged into one assembly namedBarcodeSDK.MAUI.- The native Scanbot Android SDK upgraded to v4.0.1.
- The native Scanbot iOS SDK upgraded to v4.0.3.
- The
MAUI - Version 3.7.0 (5 Oct 2023)
- 🎉 New:
- More supported barcode types:
- Micro QR Code
- 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:
BarcodeSDK.MAUI.ScanbotBarcodeSDK.LicenseInfonow returns the correct license status.- Fixed iOS-specific issue with barcode RTU-UI components not scanning on first use.
- For
BarcodeSDK.MAUI.ScanbotBarcodeSDK.DetectionService.DetectBarcodesFrom:- Fixed
NullReferenceExceptionwhen using anullImageSource(usually from a cancelled image selection). - Fixed iOS-specific issue with barcodes not being scanned when no configuration is provided.
- Fixed Android-specific issue with the method always returning
nullwhen using theImageSourceoverload.
- Fixed
- ⚠️ Breaking changes:
- 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.
- Renamed the
- 🚙 Under the hood:
- The native Scanbot Android SDK upgraded to v3.7.0.
- The native Scanbot iOS SDK upgraded to v3.7.1.
MAUI - Version 3.6.0 (20 Jul 2023)
- 🎉 First release of the
ScanbotBarcodeSDK.MAUINuGet package. - 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 Barcode SDK:
- Barcode & QR Code Scanning
- Batch Barcode Scanning.
- Provides additional SDK features based on image picked from the device photos application:
- Detect Barcodes on Image
- New unified Scanbot SDK API:
- Idiomatic asynchronous design
- MAUI-based unified API for Android & iOS
- Example App demonstrating the new functionality: scanbot-barcode-sdk-maui-example
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get free trial license