Changelog for the iOS Barcode Scanner SDK
tip
For additional details about the API, please refer to our API reference documentation.
Version 7.1.4 (28 October 2025)
- 🐞 Bug fixes:
- Barcode Scanner:
- Fixed truncated text on the back button in the RTU-UI v2 Barcode Scanner screen.
 
 
 - Barcode Scanner:
 
Version 7.1.3 (15 October 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:
 - ⚠️ Breaking changes:
- Barcode Scanner:
- The field 
minConfirmationsStandaloneEANinSBSDKBarcodeAccumulationConfigurationwas moved and renamed to the fieldminimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinSBSDKBarcodeFormatUpcEanConfiguration. 
 - The field 
 
 - Barcode Scanner:
 
Version 7.1.2 (1 September 2025)
- 🎉 New:
- General:
- Added property 
isInterruptedtoSBSDKCameraSessionto indicate if the camera session was interrupted by the system. 
 - Added property 
 
 - General:
 
Version 7.1.0 (24 July 2025)
- 🎉 New:
- Barcode Scanner:
- Added new class 
SBSDKBarcodeItemSelectionfor managing collections of selected barcode items. - Added property 
identityStringtoSBSDKBarcodeItemto uniquely identify barcodes across detection frames. SBSDKBarcodeItemhas a new fieldrawBytesEncodingsthat contains the precise character encoding information ofrawBytes.- Added property 
selectedZoomFactortoSBSDKUI2BarcodeScannerUIResultto retrieve the zoom factor used for the barcode scanning. SBSDKBarcodeItemhas a new fieldstructuredAppendInfo. The Structured Append mode can be used to split a message across multiple barcodes. If present, the corresponding information is returned.SBSDKBarcodeScannerConfigurationhas a new fieldaccumulationConfigwhich allows the accumulation of barcodes over multiple frames in live mode.SBSDKBarcodeItemhas a new fieldglobalIndexwhich allows identifying a barcode across multiple frames.
 - Added new class 
 - General:
- Added property 
hardwareButtonsEnabledtoSBSDKUI2CameraConfiguration. If enabled, it allows zooming using the camera control button (iPhone 16 series). - Added property 
fpsLimittoSBSDKUI2CameraConfigurationandSBSDKUI2DocumentScannerCameraConfigurationto limit the rate of detections per second in normal performance mode. - Added property 
didEndZoomHandlertoSBSDKZoomingImageScrollView. - Added analytics support with new classes: 
SBSDKAnalyticsManager,SBSDKAnalyticsEvent,SBSDKAnalyticsFeature,SBSDKAnalyticsCategory,SBSDKAnalyticsEventName,SBSDKAnalyticsEventFactory, andSBSDKAnalyticsSubscriberfor tracking and managing SDK usage analytics. 
 - Added property 
 
 - Barcode Scanner:
 - 🚀 Improvements:
- Barcode Scanner:
- Added NSCopying support to 
SBSDKBarcodeTrackedViewPolygonStyleandSBSDKBarcodeTrackedViewTextStyle. SBSDKBoardingPassBarcodeDocumentParsernow supports up to version 8 of the IATA-BCBP standard.- vCard document parser was improved.
 
 - Added NSCopying support to 
 
 - Barcode Scanner:
 - 🐞 Bug fixes:
- Barcode Scanner:
- The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now all possible codewords are checked.
 - vCard document parser now correctly processes the "FN" key as FormattedName.
 - Fixed a bug in the Barcode Scanner RTU-UI v2 where the result callback was called multiple times.
 
 - PDF Image Extractor:
- Fixes wrong orientation of extracted images when the PDF page has a transform applied.
 
 - Storage Crypting:
- Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
 
 
 - Barcode Scanner:
 - ⚠️ Breaking changes:
- Barcode Scanner:
- Removed properties 
isSelectableandisAutomaticSelectionEnabledfromSBSDKBarcodeTrackingOverlayConfiguration. - Renamed parameter 
isSelectedtoisHighlightedin tracking overlay methods. - Changed delegate method signatures in 
SBSDKBarcodeTrackingOverlayControllerDelegate:- Removed 
didChangeSelectedBarcodesmethod. - Added 
shouldHighlightmethod to determine barcode highlighting state. - Added 
proposedStyleparameter to style-related delegate methods. 
 - Removed 
 
 - Removed properties 
 - PDF Image Extractor:
- Removed parameter 
scalingfrom all methods and replaced it by member variablescaleFactor. 
 - Removed parameter 
 - General:
- Replaced all occurrences of the deprecated 
AVCaptureVideoOrientationenum by an equal enum namedSBSDKVideoOrientation. 
 - Replaced all occurrences of the deprecated 
 
 - Barcode Scanner:
 - 🚙 Under the hood:
- Added flatbuffers 2.0.6.
 
 
Version 7.0.2 (27 May 2025)
- 🎉 New:
- Added properties 
cameraSessionKeepAliveTimeoutandanimateCameraOverlaytoSBSDKBaseScannerGeneralConfiguration. - Added properties 
sessionDidChangeHandlerandisSessionRunningtoSBSDKBaseScannerViewController. - Added functions 
pauseandresumetoSBSDKBaseScannerViewController. 
 - Added properties 
 - 🚀 Improvements:
- GS1 Composite codes are now processed faster in Scan from Image mode.
 
 - 🐞 Bug fixes:
- Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behavior.
 
 - ⚠️ Breaking changes:
- Removed property 
stopsCameraSessionWhenDisappearedfromSBSDKBaseScannerGeneralConfiguration. To emulate this behavior, setcameraSessionKeepAliveTimeoutto a high value, e.g.TimeInterval.greatestFiniteMagnitude. 
 - Removed property 
 - 🚙 Under the hood:
- Upgraded xtensor to 0.26.0-scanbot.
 - Upgraded xtl to 0.8.
 - Upgraded xsmid to 13.2.
 - Upgraded CLI11 to 2.5.
 - Upgraded spdlog to 1.15.2.
 - Upgraded Boost to 1.88.
 
 
Version 7.0.1 (23 April 2025)
- 🎉 New:
- Added property 
hardwareButtonsEnabledtoSBSDKBaseScannerViewController(all Classic UI) which can be set tofalseto restore the original volume button behavior. 
 - Added property 
 - 🚀 Improvements:
- Improved the recognition of PDF417 barcodes in the barcode scanner.
 - Improved the barcode scanner to better recognize the QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
 
 - 🐞 Bug fixes:
- Fixed an issue when scanning Code93 barcodes with 
stripCheckDigits = false(default) and the check digit is an extension character. - Fixed a crash in the RTU-UI v2 Barcode Scanner when using 
SBSDKUI2FindAndPickScanningMode. 
 - Fixed an issue when scanning Code93 barcodes with 
 
Version 7.0.0 (26 March 2025):
- 🎉 New:
- Advanced configuration of Barcode Scanner. See 
SBSDKBarcodeScannerConfiguration. - Added support for barcode types Pharma Code, Pharma Code Two Track, PZN (Pharmazentralnummer).
 - Added support for the HIBC barcode document format.
 - New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See 
SBSDKBarcodeFormat. - Introduced new property 
optimizeOverlaystoSBSDKBarcodeScannerthat generates more accurate barcode polygons for usage in tracking overlays. - Introduced new barcode engine modes 
nextGenLowPower,nextGenFarDistance, andnextGenLowPowerFarDistance. SeeSBSDKBarcodeScannerEngineMode. - Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new 
setConfiguration(_:)method. SeeSBSDKBarcodeScanner.setConfiguration(_:),SBSDKBarcodeScannerViewController.setConfiguration(_:),SBSDKBarcodeScanAndCountViewController.setConfiguration(_:). - Introduced a new barcode item object to better represent barcode results. See 
SBSDKBarcodeItem. - Ability to get the 
extractedDocumentFormatsfrom the barcode document parser. SeeSBSDKBarcodeDocumentParser.init(extractedDocumentFormats:)andSBSDKBarcodeDocumentParser.extractedDocumentFormats. - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrameusing the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:). - Ability to initialize the Barcode Scanner using the new initializer 
SBSDKBarcodeScanner.init(formats:, live:, extractedDocumentFormats:). - Introduced a boolean 
strictModefor certain barcode configurators. 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 supportstrictModefor QR Code, Micro QR Code, rMQR Code, PDF417, MicroPDF417 and gs1Composite. - Introduced 
SBSDKBarcodeFormatsandSBSDKBarcodeFormatthat represent the barcode format sets and the individual barcode types respectively. - Ability to configure the Barcode Scanner using the common barcode configuration, see 
SBSDKBarcodeFormatCommonConfiguration. - Ability to know when a barcode was last detected using the new property 
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection. - Ability to return the barcode image in the result using the new property 
SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage. - Images returned in scanner results are now represented as image references. See 
SBSDKImageRef. They can be converted toUIImageobjects using the methodtoUIImage(). - Ability to process additional frames before they are passed to the main scanner using the new optional property 
SBSDKBaseScannerViewController.additionalFrameProcessor. 
 - Advanced configuration of Barcode Scanner. See 
 - 🚀 Improvements:
- 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 the false positive rate for ITF.
 - Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5 and Code 25.
 - Improved barcode detection for various barcode types.
 - Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
 - Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
 - By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set 
stripCheckDigits = true. 
 - 🐞 Bug fixes:
- Fixed processing of still images of indexed color space model in Barcode Scanner.
 - Fixed a bug in the Barcode Scanner RTU-UI v2 where the flip camera button was not resetting the widest camera available if chosen.
 - Fixed a bug in 
SBSDKBarcodeScannerViewControllerthat could have lead to a crash when embedded within aUIViewControllerRepresentable. - Fixed a bug in the AR Barcode Scan and Count where the scanner would be stuck if there was no barcode detected.
 - Fixed a UI bug in the Barcode Scanner RTU-UI v2 where the sheet button overlapped with the action bar.
 - Fixed the returned results for all types of 
SBSDKUpcEanExtensionBehavior. - Fixed the checksum of the Code 39 barcode format.
 
 - ⚠️ Breaking changes:
- Removed property 
codeinSBSDKBarcodeScannerAccumulatingResult, use the propertyiteminstead. - Removed properties 
acceptedBarcodeTypes,acceptedDocumentTypes,extensionFilter,additionalDetectionParameters,acceptedDocumentTypes,useLiveMode,regularExpressionPatternandengineModeinSBSDKBarcodeScannerViewController, please use the newcopyCurrentConfiguration()andsetConfiguration(_:)methods, seeSBSDKBarcodeScannerConfiguration. - Removed initializers 
init(types:),init(types:liveMode:)and methodsdetectBarCodes(on: UIImage, in: CGRect),detectBarCodes(on: UIImage, orientation: AVCaptureVideoOrientation, in: CGRect),detectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation, in: CGRect)anddetectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation)inSBSDKBarcodeScanner, use theSBSDKBarcodeScannerConfigurationto initialize the scanner, the detect methods have been renamed toscan. - Removed enum 
SBSDKBarcodeImageGenerationTypeand propertybarcodeImageGenerationTypefromSBSDKBarcodeScannerViewControllerandSBSDKUIBarcodeScannerBehaviorConfiguration. - Replaced class 
SBSDKPolygonEdgewithSBSDKLineSegment. - Replaced enum 
SBSDKPolygonEdgeOrientationwithSBSDKLineSegmentOrientation. - Renamed class 
SBSDKBarcodeTypetoSBSDKBarcodeFormat. - Renamed class 
SBSDKBarcodeDocumentRootTypetoSBSDKBarcodeDocumentFormat. - Renamed initializer 
init(barcodeResult:)toinit(barcodeItem:)inSBSDKBarcodeScannerAccumulatingResult. - Renamed method 
barcodeScannerController(_:filterResults:)tobarcodeScannerController(_:filterBarcodes:)inSBSDKBarcodeScannerViewControllerDelegate. - Renamed class 
SBSDKUI2BarcodeRecognizerConfigurationtoSBSDKBarcodeScannerConfiguration. - Renamed class 
SBSDKUI2BarcodeScannerResulttoSBSDKUI2BarcodeScannerUIResult. - Changed the initializers 
init?(parentViewController:parentView:)andinit?(parentViewController:parentView:delegate:)toinit?(parentViewController:parentView:configuration:)andinit?(parentViewController:parentView:configuration:delegate:)inSBSDKBarcodeScannerViewController. - Changed all methods of 
SBSDKBarcodeTrackingOverlayControllerDelegateto use the newSBSDKBarcodeItemobject type. - Changed the method 
make(withBarcode:)to use the newSBSDKBarcodeIteminSBSDKTrackedBarcodeInfoViewable. - Changed all methods of 
SBSDKBarcodeScanAndCountViewControllerto use the newSBSDKBarcodeItem. - Changed the initializers 
init?(parentViewController:parentView:)andinit?(parentViewController:parentView:delegate:)toinit?(parentViewController:parentView:configuration:)andinit?(parentViewController:parentView:configuration:delegate:)inSBSDKBarcodeScanAndCountViewController. - Renamed parameter name 
handlertocompletionincreateandpresentfunctions ofSBSDKUI2BarcodeScannerViewController. - Renamed async function 
presentAsync(on:configuration)topresent(on:configuration)inSBSDKUI2BarcodeScannerViewController. - Replaced 
SBSDKUI2BarcodesExtensionFilterenum for RTU-UI v2 withSBSDKUpcEanExtensionBehaviorenum from Barcode Scanner Classic component API. - Renamed property 
barcodesExtensionFilterinSBSDKUI2BarcodeScannerConfigurationtoextensions. - Renamed class 
SBSDKBarcodesExtensionFiltertoSBSDKUIBarcodesExtensionFilter. - Changed the display names of various barcode formats (
SBSDKBarcodeFormat.name):Australia PosttoAustralian Post,CodaBartoCodabar,DataMatrixtoDatamatrix,GS1 Databar LimitedtoDatabar Limited,EAN_13toEAN 13,EAN_8toEAN 8,IATA 2of5toIATA 2 of 5,INDUSTRIAL 2of5toIndustrial 2 of 5,MICRO PDF417toMicro PDF 417,MicroQRCodetoMicro QR,QRCodetoQR,RMQR CodetoRMQR,UPC-AtoUPC A, andUPC-EtoUPC E. 
 - Removed property 
 - 🚙 Under the hood:
- The regex filters are applied for substrings instead of the entire output string.
 - Upgraded nlohmann::json to 3.11.3.
 - Upgraded xsimd to 13.0.
 - Upgraded xtl to 0.7.7.
 - Upgraded xtensor to 0.25.
 - Upgraded yaml-cpp to 0.8.
 
 
Version 6.2.0 (24 January 2025):
- 🎉 New:
- Added support for encryption/decryption of images and PDFs using the AES-GCM algorithm with random 96-bit initialization vectors and variable length authentication tags, as required for ePA-FdV-certification by gematik and BSI. See 
SBSDKAESGCMEncrypterclass. - Added support for encryption key derivation using PBKDF2, HKDF and Random key derivation on both the standard AES encrypter (
SBSDKAESEncrypter) and the new AES-GCM encrypter (SBSDKAESGCMEncrypter) with variable key lengths (128 and 256 bits). See the new protocolSBSDKStorageCryptingKeyGeneratorand the new classesSBSDKRandomKeyGenerator,SBSDKPBKDF2KeyGeneratorandSBSDKHKDFKeyGenerator. - Added protocol-based support for encryption key management. See the new protocol 
SBSDKStorageCryptingKeyProviderand the new classSBSDKVolatileKeyProvider. - Added new class 
SBSDKVolatileKeyProviderthat stores, restores and deletes keys in memory per context. For a persistent storage, e.g. in the keychain or in a file, you can implement your own key provider by conforming to theSBSDKStorageCryptingKeyProviderprotocol. - Added support for encryption/decryption on a encryption-key-per-context base. See 
SBSDKStorageCryptingKeyProviderandSBSDKStorageCrypting. - Added new delegate method 
barcodeTrackingOverlay(_ controller:overrideTextFor:proposedString:)toSBSDKBarcodeTrackingOverlayControllerDelegate. 
 - Added support for encryption/decryption of images and PDFs using the AES-GCM algorithm with random 96-bit initialization vectors and variable length authentication tags, as required for ePA-FdV-certification by gematik and BSI. See 
 - 🐞 Bug fixes:
- Fixed a bug in the barcode RTU-UI v2 action bar items where the 
accessibilityDescriptionwas not being applied correctly. 
 - Fixed a bug in the barcode RTU-UI v2 action bar items where the 
 - 🚙 Under the hood:
- Removed third-party-library symbols from the binary to avoid linking conflicts.
 
 
Version 6.1.1 (28 November 2024):
- 🐞 Bug fixes:
- Fixes a crash in scanners when setting the same 
minZoomandmaxZoominSBSDKZoomRange. 
 - Fixes a crash in scanners when setting the same 
 
Version 6.1.0 (7 November 2024):
- 🎉 New:
- Added a new property 
hardwareButtonsEnabledthat enables snapping from the hardware volume buttons and the new hardware camera control button toSBSDKBarcodeScanAndCountViewController, available on iOS 17.2 and later. - 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 a new property 
allowEmptySubmissiontoSBSDKUI2MultipleScanningMode. 
 - Added a new property 
 - 🐞 Bug fixes:
- Fixed KANJI mode for QR codes.
 - Fixed a bug with wrong raw bytes returned for some 2D barcode types.
 
 - ⚠️ Breaking Changes:
- Replaced the buggy initializer 
init?(json: Data)inSBSDKUI2BarcodeScannerConfigurationby the static functionSBSDKUI2BarcodeScannerConfiguration.fromJson(json: String)?. 
 - Replaced the buggy initializer 
 
Version 6.0.0 (22 October 2024):
- 🎉 New:
- Added new property 
addAdditionalQuietZonetoSBSDKBarcodeAdditionalParameters. - Added new property 
postalTypestoSBSDKBarcodeType. 
 - Added new property 
 - 🚀 Improvements:
- The AR-overlay in 
SBSDKUI2FindAndPickScanningModeis now visible by default. - For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
 
 - The AR-overlay in 
 - 🐞 Bug fixes:
- Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes are displayed along with their non-extended versions.
 - Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
 - Fixed a UI issue in the RTU-UI v2 Find & Pick scanner in 
buttonsheet mode where the counter badge was not visible. - Fixed a bug that did not mirror the front camera as expected.
 - Fixed a bug in 
SBSDKUI2SingleScanDialogModelProviderwhere the default displayed texts were not correct. 
 
Version 5.2.1 (24 July 2024):
- 🚀 Improvements:
- Made the SwiftUI Barcode Scanner more flexible. See 
SBSDKUI2BarcodeScannerView. 
 - Made the SwiftUI Barcode Scanner more flexible. See 
 - 🐞 Bug fixes:
- Fixed a UI issue on the RTU-UI V2 barcode sheet screen where the subtitle label was being vertically cut off.
 - Fixed a UI issue on the RTU-UI V2 barcode confirmation sheet in the single use case where the loading indicator was not centered when the loading message was hidden.
 
 - ⚠️ Breaking Changes:
- Changed SwiftUI Barcode Scanner initializer to accept blocks instead of binding vars. See 
SBSDKUI2BarcodeScannerView. 
 - Changed SwiftUI Barcode Scanner initializer to accept blocks instead of binding vars. See 
 
Version 5.2.0 (26 June 2024):
- 🎉 New:
- Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
 - Added properties 
australiaPostCustomerFormat,useIATA2OF5ChecksumanduseCode11ChecksumtoSBSDKBarcodeAdditionalParametersandSBSDKUI2BarcodeRecognizerConfiguration. 
 - 🚀 Improvements:
- Improved detection of UPC and EAN extensions.
 - Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec.
 - Improved GS1 string handling with new modes for decoding and validation. See 
SBSDKGS1Handling. - Added the ability to display the scanned barcode's image in the FindAndPick usecase of 
SBSDKUI2BarcodeScannerViewControllerby specifyingSBSDKUI2ExpectedBarcode.barcodeImageKeyfor the expected barcode'simageproperty. 
 - 🐞 Bug fixes:
- Fixed a bug in the FindAndPick usecase of 
SBSDKUI2BarcodeScannerViewControllerthat never showed the expected barcode's title, but always the barcode value. 
 - Fixed a bug in the FindAndPick usecase of 
 - ⚠️ Breaking Changes:
- Removed enum 
SBSDKBarcodeDensity. - Removed property 
codeDensityfromSBSDKBarcodeAdditionalParameters. - Removed enum values 
validateanddecodefromSBSDKGS1Handlingand replaced them bydecodeStructure,decodeFull,validateStructureandvalidateFull. 
 - Removed enum 
 
Version 5.1.3 (26 June 2024):
- 🚀 Improvements:
- Improved detection of UPC/EAN barcode extensions in live mode.
 - The barcode scanner now supports transposed (mirrored/flipped) Aztec barcodes.
 
 - 🐞 Bug fixes:
- Fixes a bug in 
SBSDKUI2Colorwhere settingisArgbto true, resulted in a wrong color. 
 - Fixes a bug in 
 
Version 5.1.1 (6 June 2024):
- 🐞 Bug fixes:
- Fixes a crash with all Classic UI components when energy saving is disabled.
 - Fixes a bug in 
SBSDKUI2BarcodeScannerViewControllerin single scan mode that prevented the barcode scanner from pausing the recognition while the submit dialog is shown. 
 
Version 5.1.0 (21 May 2024):
- 🎉 New:
- Added new property 
regularExpressionPatterntoSBSDKBarcodeScannerandSBSDKBarcodeScannerViewControllerto limit detection results. - Added support of the new 'Find and Pick' barcode scanning mode, see 
SBSDKUI2FindAndPickScanningMode. - Added support for continuous scanning in 
SBSDKUI2BarcodeScannerViewController. - Added Swift structured concurrency API (async/await) to 
SBSDKUI2BarcodeScannerViewController. - Added support for new barcode type 
SBSDKBarcodeTypeMicroPdf417. - Added a new class 
SBSDKBarcodeDocumentConstantswhich has all the constants related to the barcode document format. - Added new classes for all the barcode document formats. See the API documentation for more details.
 - Added a new class 
SBSDKBarcodeDocumentRootTypewhich replaces the oldSBSDKBarCodeScannerDocumentFormat. - Added a new struct 
SBSDKUI2BarcodeScannerViewwhich is the SwifUI wrapper forSBSDKUI2BarcodeScannerViewController. - Added possibility to inject an image to simulate a video stream and a captured image to any scanner's camera session for UI testing. See 
Scanbot.testData,SBSDKTestDataandSBSDKSimulatedCameraMockData. - Added 
isCameraFrozenproperty toSBSDKBaseScannerViewController. - Added new static properties 
allFormats,commonFormats,oneDFormatsandtwoDFormatstoSBSDKUI2BarcodeFormat. - Added new class 
SBSDKUI2BarcodeTextLocalizationand new propertylocalizationtoSBSDKUI2BarcodeScannerConfigurationto support localized strings. - Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
 
 - Added new property 
 - 🚀 Improvements:
- 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.
 - Improved image quality and capture speed on most iOS devices slightly by capturing HEIF images.
 - Added support of haptic feedback on capable devices.
 SBSDKPDFPagesExtractorfunctions now create the output directory if it doesn't exist yet.- Added support for structured logging (OSLog) to the SDK (iOS 14+).
 
 - 🐞 Bug fixes:
- Fixes a bug with the asynchronous functions of 
SBSDKPDFPagesExtractorwhich returned an empty array of image URLs. - Fixes a UI bug in the 
SBSDKUI2BarcodeScannerViewController. - Fixed JSON representation of 
SBSDKUI2BarcodeItem. 
 - Fixes a bug with the asynchronous functions of 
 - ⚠️ Breaking Changes:
- Important: The default rear camera in all scanners has been changed from the ultra-wide or wide camera to the triple or dual camera.
 - Renamed function 
captureJPEGStillImagetocaptureStillImageinSBSDKBaseScannerViewController(and all subclasses) andSBSDKCameraSession. - Renamed function 
captureOutput(_ output:, didOutput:, from:)tocameraSession(_ session:, didOutput:)in protocolSBSDKCameraSessionDelegate. - Replaced the class 
SBSDKBarcodeDocumentTypebySBSDKBarcodeDocumentRootType. - Renamed 
supportedBarcodesTypes(for:)tosupportedBarcodeTypes(for:)in the new classSBSDKBarcodeDocumentRootType. - Removed the protocol 
SBSDKBarCodeScannerDocumentFormatand all of its children classes. - Removed default properties of use cases in 
SBSDKUI2BarcodeUseCase, now use the proper initializer for every use case, e.g.SBSDKUI2SingleScanningMode(). - Made the property 
typeinSBSDKUI2BarcodeItemoptional. - Changed type of property 
rawBytesfrom [UInt8] to Data. 
 - 🚙 Under the hood:
- Added third-party library libzueci version 1.0.0
 
 
Version 5.0.4 (27 March 2024):
- 🐞 Bug fixes:
- Fixes a bug where barcode results formattedResult returned nil instead of the correct barcode document.
 
 
Version 5.0.3 (21 March 2024):
- 🐞 Bug fixes:
- Changed privacy manifest to comply with the latest Apple specs.
 
 
Version 5.0.2 (15 March 2024):
- 🐞 Bug fixes:
- Fixes a problem that slowed down still image capturing on some older iOS devices.
 
 - 🚀 Improvements:
- Improved speed and image quality of still image capturing.
 
 
Version 5.0.1 (12 March 2024):
- 🐞 Bug fixes:
- Fixed a critical bug in the camera session causing still images to be captured at a lower than expected resolution.
 
 
Version 5.0.0 (1 March 2024):
- 🎉 New:
- Added new RTU-UI V2 component, see 
SBSDKUI2BarcodeScannerViewController. - Added the 
SBSDKFinderView.Styleenum and the propertystylethat defines the drawing styles of the finder view toSBSDKFinderViewandSBSDKBaseScannerViewFinderConfiguration. - Added the 
viewFinderStyleproperty toSBSDKBaseScannerViewController. - Added streaming encryption support to 
SBSDKStorageCrypting. - Added Privacy manifest file (
PrivacyInfo.xcprivacy) to the SDK. - Added new static property 
maximumRecommendedImageSizetoSBSDKDeviceInformation. - Added new function 
resetAccumulationtoSBSDKBarcodeScannerViewController. 
 - Added new RTU-UI V2 component, see 
 - ⚠️ Breaking Changes
- Deprecated 
SBSDKUIBarcodeScannerViewControllerandSBSDKUIBarcodesBatchScannerViewControlleralong with their related classes. Please consider switching to the newSBSDKUI2BarcodeScannerViewController. - Changed 
isLicenseValid,licenseStatusfrom functions to variables inScanbotclass. - Changed 
defaultImageStoreEncrypter,defaultPDFEncrypter,shouldShowStatusBarOnScanningScreens,defaultStatusBarStylefrom separated getters and setters to variables inScanbotUIclass. - Removed 
printInfo:,printError:andprintWarning:fromSBSDKLog. - Changed 
setLoggingEnabled:to propertyisLoggingEnabledinSBSDKLog. - Functions 
logInfo:,logError:andlogWarning:inSBSDKLognow acceptStringas a parameter instead ofva_list. - Changed all 
SBSDKBarcodeTypeglobal constants to static properties ofSBSDKBarcodeType. - Refactored 
SBSDKBarcodeType, it introduces a style naming change for all barcode types, please see the documentation. - Moved the global constants 
SBSDKBarcodeMetadataEANUPCExtensionKeyandSBSDKBarcodeMetadataIsGS1MessageKeytoSBSDKBarcodeScannerResultas its static properties. - Changed all 
SBSDKBarcodeDocumentTypeglobal constants to static properties ofSBSDKBarcodeDocumentType. - Replaced the default value of 
acceptedBarcodeTypeswithSBSDKBarcodeType.commonTypes, this property will no longer accept nil anywhere, if it's set to an empty array, this will automatically be translated toSBSDKBarcodeType.commonTypes. 
 - Deprecated 
 - 🚙 Under the hood:
- Refactored all public SDK code to Swift.
 
 
Version 4.2.2 (21 March 2024):
- 🐞 Bug fixes:
- Changed privacy manifest to comply with the latest Apple specs.
 
 
Version 4.2.1 (13 February 2024):
- 🎉 New:
- Added Privacy manifest file (
PrivacyInfo.xcprivacy) to the SDK. - Added new static property 
maximumRecommendedImageSizetoSBSDKDeviceInformation. 
 - Added Privacy manifest file (
 
Version 4.2.0 (7 December 2023):
- 🎉 New:
- Added support for new barcode type 
SBSDKBarcodeTypeGS1Composite. 
 - Added support for new barcode type 
 - 🚀 Improvements:
- Added more control over how to handle GS1 messages in barcodes. See 
SBSDKGS1Handling. 
 - Added more control over how to handle GS1 messages in barcodes. See 
 - ⚠️ Breaking Changes:
- The property 
enableGS1Decodinghas been replaced by the enumSBSDKGS1HandlinginSBSDKBarcodeAdditionalParameters. GS1codes are now handled differently for various barcode types. Using the default optionPARSEwill give the same result as before for all barcode types, except ofRSS_EXPANDED. Previously, forRSS_EXPANDED, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, it is needed to choose the optionDECODE.
 - The property 
 
Version 4.1.0 (27 November 2023):
- 🎉 New:
- Added support for 6 new barcode types to the barcode scanner:
SBSDKBarcodeTypeUSPSIntelligentMailSBSDKBarcodeTypeRoyalMailSBSDKBarcodeTypeJapanPostSBSDKBarcodeTypeRoyalTNTPostSBSDKBarcodeTypeAustraliaPostSBSDKBarcodeTypeDatabarLimited
 
 - Added support for 6 new barcode types to the barcode scanner:
 - 🐞 Bug fixes:
- Fixed a bug where the finder text hint was still showing when 
viewFinderEnabledwas disabled inSBSDKUIBarcodeScannerViewControllerandSBSDKUIBarcodesBatchScannerViewController. - Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
 
 - Fixed a bug where the finder text hint was still showing when 
 
Version 4.0.3 (30 October 2023):
- 🎉 New:
- Added new method 
widestAvailableBackFacingCameratoSBSDKCameraDevice. - Added new method 
setupDefaultLicenseFailureHandlerWithCompletion:to theScanbotclass. 
 - Added new method 
 - ⚠️ Breaking Changes:
- Renamed 
photoQualityPriorizationtophotoQualityPrioritizationeverywhere in the SDK. 
 - Renamed 
 
Version 4.0.2 (28 September 2023):
- 🐞 Bug fixes:
- Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.