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.