You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Advanced configuration of Barcode Scanner. See SBSDKBarcodeScanner.configuration.
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 a new barcode engine mode nextGenAr which is optimized for detecting multiple barcodes in live mode. In particular, bounding boxes of one-d barcodes are predicted as close as possible. See SBSDKBarcodeScannerEngineMode.nextGenAr.
Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new configuration property. See SBSDKBarcodeScanner.configuration,SBSDKBarcodeScannerViewController.configuration,SBSDKBarcodeScanAndCountViewController.configuration.
Introduced a new barcode item object to better represent barcode results. See SBSDKBarcodeItem.
Ability to get the extractedDocumentFormats from the barcode document parser. See SBSDKBarcodeDocumentParser.init(extractedDocumentFormats:),SBSDKBarcodeDocumentParser.extractedDocumentFormats.
Ability to scan barcodes from frames of type ofSBSDKBaseScannerFrame using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame).
Ability to initialize the Barcode Scanner using the new initializerSBSDKBarcodeScanner.init(formats:, live:, extractedDocumentFormats:).
Introduced a boolean strictMode for 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 support strictMode for QR Code, Micro QR Code, rMQR Code, PDF417, MicroPDF417, and gs1Composite.
IntroducedSBSDKBarcodeFormats and SBSDKBarcodeFormat that represents 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 propertySBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection.
Ability to return the barcode image in the result using the new property, set this property to True. See SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage.
Images returned in scanner results are now represented as image references. See SBSDKImageRef. They can be converted to UIImage objects using the method toUIImage().
Ability to process additional frames before they are passed to the main scanner using the new optional propertySBSDKBaseScannerViewController.additionalFrameProcessor.
Introduced a new Class SBSDKUI2PermanentViewFinderConfiguration to configure the always visible view finder.
🚀 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, Code 25.
Introduced a new engine mode nextGenLowPowerAr in SBSDKBarcodeScannerEngineMode that is optimized for scanning barcode batches on low-power devices.
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, USPS Intelligent Mail).
Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
🐞 Bug fixes:
Fixed processing of still images of indexed color space model in all scanners, document quality analyzer, and PDF and TIFF generators.
Fixed a bug in 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 SBSDKBarcodeScannerViewController that could lead to a crash when embedded within a UIViewControllerRepresentable.
Fixed a bug in the AR Barcode ScanAndCount where the scanner will be stuck if there is 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 code in SBSDKBarcodeScannerAccumulatingResult, use the property item instead.
Removed properties acceptedBarcodeTypes, acceptedDocumentTypes, extensionFilter, additionalDetectionParameters, acceptedDocumentTypes, useLiveMode, regularExpressionPattern, engineMode in SBSDKBarcodeScannerViewController, please use the new configuration property, see SBSDKBarcodeScannerConfiguration.
Removed initializers initWithTypes:, initWithTypes:liveMode: and methods detectBarCodesOnImage:inRect:, detectBarCodesOnImage:orientation:inRect:, detectBarCodesOnSampleBuffer:orientation:inRect:, detectBarCodesOnSampleBuffer:orientation: in SBSDKBarcodeScanner, use the SBSDKBarcodeScannerConfiguration to initialize the scanner, the detect methods have been renamed to "scan".
Removed class SBSDKUI2AspectRatio, please use SBSDKAspectRatio.
Removed enum SBSDKBarcodeImageGenerationType and property barcodeImageGenerationType from SBSDKBarcodeScannerViewController and SBSDKUIBarcodeScannerBehaviorConfiguration.
Replaced class SBSDKPolygonEdge with SBSDKLineSegment.
Replaced enum SBSDKPolygonEdgeOrientation with SBSDKLineSegmentOrientation.
Renamed class SBSDKBarcodeType to SBSDKBarcodeFormat.
Renamed class SBSDKBarcodeDocumentRootType to SBSDKBarcodeDocumentFormat.
Renamed initializer init(barcodeResult:) to init(barcodeItem:) in SBSDKBarcodeScannerAccumulatingResult.
Renamed method barcodeScannerController:filterResults: to barcodeScannerController:filterBarcodes: in SBSDKBarcodeScannerViewControllerDelegate.
Renamed class SBSDKUI2BarcodeRecognizerConfiguration to SBSDKBarcodeScannerConfiguration.
Renamed class SBSDKUI2BarcodeScannerResult to SBSDKUI2BarcodeScannerUIResult.
Changed the initializers initWithParentViewController:parentView: and initWithParentViewController:parentView:delegate: to initWithParentViewController:parentView:configuration: and initWithParentViewController:parentView:configuration:delegate: in SBSDKBarcodeScannerViewController.
Changed all methods of SBSDKBarcodeTrackingOverlayControllerDelegate to use the new SBSDKBarcodeItem object type.
Changed the method makeWithBarcode: to use the new SBSDKBarcodeItem in SBSDKTrackedBarcodeInfoViewable.
Changed all methods of SBSDKBarcodeScanAndCountViewController to use the new SBSDKBarcodeItem.
Changed the initializers initWithParentViewController:parentView: and initWithParentViewController:parentView:delegate: to initWithParentViewController:parentView:configuration: and initWithParentViewController:parentView:configuration:delegate: in SBSDKBarcodeScanAndCountViewController.
Renamed SBSDKBarcodeFormatpzn to pzn8, also allow to decode the legacy format pzn7.
Renamed parameter name handler to completion in create and present functions of SBSDKUI2BarcodeScannerViewController.
Renamed async function presentAsync(on:configuration) to present(on:configuration) in SBSDKUI2BarcodeScannerViewController.
🚙 Under the hood:
The regex filters are applied for substrings instead of the entire output string.