Skip to content

Releases: doo/scanbot-barcode-scanner-sdk-ios-spm

7.0.0-RC15

04 Mar 09:41
Compare
Choose a tag to compare
  • 🎉 New:
    • 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 barcode scanner.
    • 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 init(types:), init(types:liveMode:) and methods detectBarCodes(on: UIImage, in: CGRect), detectBarCodes(on: UIImage, orientation: AVCaptureVideoOrientation, in: CGRect), detectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation, in: CGRect), detectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation) in SBSDKBarcodeScanner, use the SBSDKBarcodeScannerConfiguration to initialize the scanner, the detect methods have been renamed to "scan".
    • 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 init?(parentViewController:parentView:) and init?(parentViewController:parentView:delegate:) to init?(parentViewController:parentView:configuration:) and init?(parentViewController:parentView:configuration:delegate:) in SBSDKBarcodeScannerViewController.
    • Changed all methods of SBSDKBarcodeTrackingOverlayControllerDelegate to use the new SBSDKBarcodeItem object type.
    • Changed the method make(withBarcode:) to use the new SBSDKBarcodeItem in SBSDKTrackedBarcodeInfoViewable.
    • Changed all methods of SBSDKBarcodeScanAndCountViewController to use the new SBSDKBarcodeItem.
    • Changed the initializers init?(parentViewController:parentView:) and init?(parentViewController:parentView:delegate:) to init?(parentViewController:parentView:configuration:) and init?(parentViewController:parentView:configuration:delegate:) in SBSDKBarcodeScanAndCountViewController.
    • Renamed SBSDKBarcodeFormat pzn 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.
    • Refactored SBSDKUI2BarcodesExtensionFilter enum for RTU-UI v2 and synchronized with SBSDKUpcEanExtensionBehavior enum from Barcode Scanner Classic component API.
  • 🚙 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.

7.0.0-RC14

28 Feb 15:48
Compare
Choose a tag to compare
  • 🎉 New:
    • 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 SBSDKBarcodeFormat pzn 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.
    • 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.

7.0.0-RC13

27 Feb 16:00
Compare
Choose a tag to compare
  • 🎉 New:
    • 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 SBSDKBarcodeFormat pzn 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.
    • 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.

7.0.0-RC12

25 Feb 16:23
Compare
Choose a tag to compare
  • 🎉 New:
    • 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.
  • 🚀 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 SBSDKBarcodeFormat pzn 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.
    • 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.

7.0.0-RC11

19 Feb 16:27
Compare
Choose a tag to compare
  • 🎉 New:

    • Added a new property configuration in SBSDKBarcodeScanner, SBSDKBarcodeScannerViewController, and SBSDKBarcodeScanAndCountViewController.
    • Added a new class SBSDKBarcodeItem to replace SBSDKBarcodeScannerResult.
    • Added a new property item in SBSDKBarcodeScannerAccumulatingResult to replace code.
    • Added new barcode types pharmaCode, pharmaCodeTwoTrack, pzn.
    • Added a new property acceptedFormats to SBSDKBarcodeDocumentParser.
    • Added a new initializer init(acceptedFormats:) to SBSDKBarcodeDocumentParser.
    • Added a new method detectBarcodesOnFrame: in SBSDKBarcodeScanner.
    • Added a new initializer initWithFormats:live:acceptedDocumentFormats: in SBSDKBarcodeScanner.
    • Added a new class SBSDKUIBarcodeAdditionalParameters.
    • Added a new class SBSDKImageRef.
    • Added a new class SBSDKBarcodeFormats.
    • Added a new class SBSDKBarcodeFormatCommonConfiguration.
    • Added a new property dateOfLastDetection to SBSDKBarcodeScannerAccumulatingResult.
    • Added a new protocol SBSDKAdditionalFrameProcessing to allow additional frame processing before they are passed to the main scanner.
    • Added a new optional variable additionalFrameProcessor to SBSDKBaseScannerViewController.
    • Added a new SBSDKBarcodeScannerEngineMode called 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.
    • Added support of the health industry barcode document hibc as a barcode document format in SBSDKBarcodeDocumentFormat.
  • 🚀 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 overall recall on our internal synthetic dataset for four state postal barcodes (i.e. australiaPost, japanPost, royalMail, royalTntPost, uspsIntelligentMail) from 47% to 56%.
    • Improved our barcode scanner with a significant speed-up in live mode on very large input resolutions.
    • 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 qrCode, microQrCode, rmqrCode, pdf417, microPdf417, and gs1Composite.
  • 🐞 Bug fixes:

    • Fixed a bug in SBSDKBarcodeScannerViewController that could lead to a crash when embedded within a UIViewControllerRepresentable.
    • Fixed a bug in SBSDKBarcodeScanAndCountViewController where the scanner will be stuck if there is no barcode detected.
    • Fixed a UI bug in SBSDKUI2BarcodeScannerViewController where the sheet button overlapped with the action bar.
    • Fixed a bug in SBSDKUI2BarcodeScannerViewController where the flip camera button was not resetting the widest camera available if chosen.
    • Fixed returned results for all types of SBSDKUpcEanExtensionBehavior.
    • Fixed checksum for SBSDKBarcodeFormat.code39.
    • Fixed processing of still images of indexed color space model.
    • Added a new property returnBarcodeImage to SBSDKUI2BarcodeScannerConfiguration. To return the barcode image in the result, set this property to true.
    • Added a new property engineMode to SBSDKUI2BarcodeScannerViewController. To set the engine mode used for barcode scanning.
  • ⚠️ Breaking Changes:

    • Removed property code in SBSDKBarcodeScannerAccumulatingResult, use property item instead.
    • Removed class SBSDKBarcodeScannerResult, please use the new class SBSDKBarcodeItem.
    • Removed properties acceptedBarcodeTypes, additionalDetectionParameters, acceptedDocumentTypes, regularExpressionPattern, engineMode in SBSDKBarcodeScannerViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, extensionFilter, engineMode in SBSDKBarcodeScanAndCountViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, acceptedDocumentTypes, extensionFilter, regularExpressionPattern, additionalParameters, engineMode, useLiveMode in SBSDKBarcodeScanner, 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.
    • Removed class SBSDKUI2BarcodeFormat, please use the new SBSDKBarcodeFormat.
    • 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 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.
    • 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 SBSDKBarcodeFormat pzn 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.
    • Upgraded to C++20.
    • 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.

7.0.0-RC10

17 Feb 10:46
Compare
Choose a tag to compare
  • 🎉 New:

    • Added a new property configuration in SBSDKBarcodeScanner, SBSDKBarcodeScannerViewController, and SBSDKBarcodeScanAndCountViewController.
    • Added a new class SBSDKBarcodeItem to replace SBSDKBarcodeScannerResult.
    • Added a new property item in SBSDKBarcodeScannerAccumulatingResult to replace code.
    • Added new barcode types pharmaCode, pharmaCodeTwoTrack, pzn.
    • Added a new property acceptedFormats to SBSDKBarcodeDocumentParser.
    • Added a new initializer init(acceptedFormats:) to SBSDKBarcodeDocumentParser.
    • Added a new method detectBarcodesOnFrame: in SBSDKBarcodeScanner.
    • Added a new initializer initWithFormats:live:acceptedDocumentFormats: in SBSDKBarcodeScanner.
    • Added a new class SBSDKUIBarcodeAdditionalParameters.
    • Added a new class SBSDKImageRef.
    • Added a new class SBSDKBarcodeFormats.
    • Added a new class SBSDKBarcodeFormatCommonConfiguration.
    • Added a new property dateOfLastDetection to SBSDKBarcodeScannerAccumulatingResult.
    • Added a new protocol SBSDKAdditionalFrameProcessing to allow additional frame processing before they are passed to the main scanner.
    • Added a new optional variable additionalFrameProcessor to SBSDKBaseScannerViewController.
    • Added a new SBSDKBarcodeScannerEngineMode called 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.
    • Added support of the health industry barcode document hibc as a barcode document format in SBSDKBarcodeDocumentFormat.
  • 🚀 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 overall recall on our internal synthetic dataset for four state postal barcodes (i.e. australiaPost, japanPost, royalMail, royalTntPost, uspsIntelligentMail) from 47% to 56%.
    • Improved our barcode scanner with a significant speed-up in live mode on very large input resolutions.
    • 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 qrCode, microQrCode, rmqrCode, pdf417, microPdf417, and gs1Composite.
  • 🐞 Bug fixes:

    • Fixed a bug in SBSDKBarcodeScannerViewController that could lead to a crash when embedded within a UIViewControllerRepresentable.
    • Fixed a bug in SBSDKBarcodeScanAndCountViewController where the scanner will be stuck if there is no barcode detected.
    • Fixed a UI bug in SBSDKUI2BarcodeScannerViewController where the sheet button overlapped with the action bar.
    • Fixed a bug in SBSDKUI2BarcodeScannerViewController where the flip camera button was not resetting the widest camera available if chosen.
    • Fixed returned results for all types of SBSDKUpcEanExtensionBehavior.
    • Fixed checksum for SBSDKBarcodeFormat.code39.
  • ⚠️ Breaking Changes:

    • Removed property code in SBSDKBarcodeScannerAccumulatingResult, use property item instead.
    • Removed class SBSDKBarcodeScannerResult, please use the new class SBSDKBarcodeItem.
    • Removed properties acceptedBarcodeTypes, additionalDetectionParameters, acceptedDocumentTypes, regularExpressionPattern, engineMode in SBSDKBarcodeScannerViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, extensionFilter, engineMode in SBSDKBarcodeScanAndCountViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, acceptedDocumentTypes, extensionFilter, regularExpressionPattern, additionalParameters, engineMode, useLiveMode in SBSDKBarcodeScanner, 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.
    • Removed class SBSDKUI2BarcodeFormat, please use the new SBSDKBarcodeFormat.
    • 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 SBSDKUI2BarcodeScannerResult to SBSDKUI2BarcodeScannerUIResult.
    • Changed the methods initWithParentViewController:parentView:, 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.
    • Changed all methods of SBSDKBarcodeScanAndCountViewController to use the new SBSDKBarcodeItem.
    • Changed the methods initWithParentViewController:parentView:, initWithParentViewController:parentView:delegate: to initWithParentViewController:parentView:configuration: and initWithParentViewController:parentView:configuration:delegate: in SBSDKBarcodeScanAndCountViewController.
    • Renamed SBSDKBarcodeFormat pzn 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.
    • Upgraded to C++20.
    • 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.

7.0.0-RC9

14 Feb 13:21
Compare
Choose a tag to compare
  • 🎉 New:

    • Added a new property configuration in SBSDKBarcodeScanner, SBSDKBarcodeScannerViewController, and SBSDKBarcodeScanAndCountViewController.
    • Added a new class SBSDKBarcodeItem to replace SBSDKBarcodeScannerResult.
    • Added a new property item in SBSDKBarcodeScannerAccumulatingResult to replace code.
    • Added new barcode types pharmaCode, pharmaCodeTwoTrack, pzn.
    • Added a new property acceptedFormats to SBSDKBarcodeDocumentParser.
    • Added a new initializer init(acceptedFormats:) to SBSDKBarcodeDocumentParser.
    • Added a new method detectBarcodesOnFrame: in SBSDKBarcodeScanner.
    • Added a new initializer initWithFormats:live:acceptedDocumentFormats: in SBSDKBarcodeScanner.
    • Added a new class SBSDKUIBarcodeAdditionalParameters.
    • Added a new class SBSDKImageRef.
    • Added a new class SBSDKBarcodeFormats.
    • Added a new class SBSDKBarcodeFormatCommonConfiguration.
    • Added a new property dateOfLastDetection to SBSDKBarcodeScannerAccumulatingResult.
    • Added a new protocol SBSDKAdditionalFrameProcessing to allow additional frame processing before they are passed to the main scanner.
    • Added a new optional variable additionalFrameProcessor to SBSDKBaseScannerViewController.
    • Added a new SBSDKBarcodeScannerEngineMode called 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.
    • Added support of the health industry barcode document hibc as a barcode document format in SBSDKBarcodeDocumentFormat.
  • 🚀 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 overall recall on our internal synthetic dataset for four state postal barcodes (i.e. australiaPost, japanPost, royalMail, royalTntPost, uspsIntelligentMail) from 47% to 56%.
    • Improved our barcode scanner with a significant speed-up in live mode on very large input resolutions.
    • 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 qrCode, microQrCode, rmqrCode, pdf417, microPdf417, and gs1Composite.
  • 🐞 Bug fixes:

    • Fixed a bug in SBSDKBarcodeScannerViewController that could lead to a crash when embedded within a UIViewControllerRepresentable.
    • Fixed a bug in SBSDKBarcodeScanAndCountViewController where the scanner will be stuck if there is no barcode detected.
    • Fixed a UI bug in SBSDKUI2BarcodeScannerViewController where the sheet button overlapped with the action bar.
    • Fixed a bug in SBSDKUI2BarcodeScannerViewController where the flip camera button was not resetting the widest camera available if chosen.
    • Fixed returned results for all types of SBSDKUpcEanExtensionBehavior.
    • Fixed checksum for SBSDKBarcodeFormat.code39.
  • ⚠️ Breaking Changes:

    • Removed property code in SBSDKBarcodeScannerAccumulatingResult, use property item instead.
    • Removed class SBSDKBarcodeScannerResult, please use the new class SBSDKBarcodeItem.
    • Removed properties acceptedBarcodeTypes, additionalDetectionParameters, acceptedDocumentTypes, regularExpressionPattern, engineMode in SBSDKBarcodeScannerViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, extensionFilter, engineMode in SBSDKBarcodeScanAndCountViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, acceptedDocumentTypes, extensionFilter, regularExpressionPattern, additionalParameters, engineMode, useLiveMode in SBSDKBarcodeScanner, 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.
    • Removed class SBSDKUI2BarcodeFormat, please use the new SBSDKBarcodeFormat.
    • 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 SBSDKUI2BarcodeScannerResult to SBSDKUI2BarcodeScannerUIResult.
    • Changed the methods initWithParentViewController:parentView:, 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.
    • Changed all methods of SBSDKBarcodeScanAndCountViewController to use the new SBSDKBarcodeItem.
    • Changed the methods initWithParentViewController:parentView:, initWithParentViewController:parentView:delegate: to initWithParentViewController:parentView:configuration: and initWithParentViewController:parentView:configuration:delegate: in SBSDKBarcodeScanAndCountViewController.
    • Renamed SBSDKBarcodeFormat pzn 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.
    • Upgraded to C++20.
    • 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.

7.0.0-RC8

10 Feb 11:15
Compare
Choose a tag to compare
  • 🎉 New:
    • Added a new property configuration in SBSDKBarcodeScanner, SBSDKBarcodeScannerViewController, and SBSDKBarcodeScanAndCountViewController.
    • Added a new class SBSDKBarcodeItem to replace SBSDKBarcodeScannerResult.
    • Added a new property item in SBSDKBarcodeScannerAccumulatingResult to replace code.
    • Added new barcode types pharmaCode, pharmaCodeTwoTrack, pzn.
    • Added a new property acceptedFormats to SBSDKBarcodeDocumentParser.
    • Added a new initializer init(acceptedFormats:) to SBSDKBarcodeDocumentParser.
    • Added a new method detectBarcodesOnFrame: in SBSDKBarcodeScanner.
    • Added a new initializer initWithFormats:live:acceptedDocumentFormats: in SBSDKBarcodeScanner.
    • Added a new class SBSDKUIBarcodeAdditionalParameters.
    • Added a new class SBSDKImageRef.
    • Added a new class SBSDKBarcodeFormats.
    • Added a new class SBSDKBarcodeFormatCommonConfiguration.
    • Added a new property dateOfLastDetection to SBSDKBarcodeScannerAccumulatingResult.
    • Added a new protocol SBSDKAdditionalFrameProcessing to allow additional frame processing before they are passed to the main scanner.
    • Added a new optional variable additionalFrameProcessor to SBSDKBaseScannerViewController.
  • 🐞 Bug fixes:
    • Fixed a bug in SBSDKBarcodeScannerViewController that could lead to a crash when embedded within a UIViewControllerRepresentable.
    • Fixed a bug in SBSDKBarcodeScanAndCountViewController where the scanner will be stuck if there is no barcode detected.
    • Fixed a UI bug in SBSDKUI2BarcodeScannerViewController where the sheet button overlapped with the action bar.
    • Fixed a bug in SBSDKUI2BarcodeScannerViewController where the flip camera button was not resetting the widest camera available if chosen.
    • Fixed returned results for all types of SBSDKUpcEanExtensionBehavior.
    • Fixed checksum for SBSDKBarcodeFormat.code39.
  • ⚠️ Breaking Changes:
    • Removed property code in SBSDKBarcodeScannerAccumulatingResult, use property item instead.
    • Removed class SBSDKBarcodeScannerResult, please use the new class SBSDKBarcodeItem.
    • Removed properties acceptedBarcodeTypes, additionalDetectionParameters, acceptedDocumentTypes, regularExpressionPattern, engineMode in SBSDKBarcodeScannerViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, extensionFilter, engineMode in SBSDKBarcodeScanAndCountViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, acceptedDocumentTypes, extensionFilter, regularExpressionPattern, additionalParameters, engineMode, useLiveMode in SBSDKBarcodeScanner, 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.
    • Removed class SBSDKUI2BarcodeFormat, please use the new SBSDKBarcodeFormat.
    • 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 SBSDKUI2BarcodeScannerResult to SBSDKUI2BarcodeScannerUIResult.
    • Changed the methods initWithParentViewController:parentView:, 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.
    • Changed all methods of SBSDKBarcodeScanAndCountViewController to use the new SBSDKBarcodeItem.
    • Changed the methods initWithParentViewController:parentView:, initWithParentViewController:parentView:delegate: to initWithParentViewController:parentView:configuration: and initWithParentViewController:parentView:configuration:delegate: in SBSDKBarcodeScanAndCountViewController.
    • Renamed SBSDKBarcodeFormat pzn 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.

5.1.8-Beta3

06 Feb 09:13
Compare
Choose a tag to compare

WARNING: Release Notes for version 5.1.8 not found!

7.0.0-RC7

04 Feb 16:43
Compare
Choose a tag to compare
  • 🎉 New:
    • Added a new property configuration in SBSDKBarcodeScanner, SBSDKBarcodeScannerViewController, and SBSDKBarcodeScanAndCountViewController.
    • Added a new class SBSDKBarcodeItem to replace SBSDKBarcodeScannerResult.
    • Added a new property item in SBSDKBarcodeScannerAccumulatingResult to replace code.
    • Added new barcode types pharmaCode, pharmaCodeTwoTrack, pzn.
    • Added a new property acceptedFormats to SBSDKBarcodeDocumentParser.
    • Added a new initializer init(acceptedFormats:) to SBSDKBarcodeDocumentParser.
    • Added a new method detectBarcodesOnFrame: in SBSDKBarcodeScanner.
    • Added a new initializer initWithFormats:live:acceptedDocumentFormats: in SBSDKBarcodeScanner.
    • Added a new class SBSDKUIBarcodeAdditionalParameters.
    • Added a new class SBSDKImageRef.
    • Added a new class SBSDKBarcodeFormats.
    • Added a new class SBSDKBarcodeFormatCommonConfiguration.
    • Added a new property dateOfLastDetection to SBSDKBarcodeScannerAccumulatingResult.
    • Added a new protocol SBSDKAdditionalFrameProcessing to allow additional frame processing before they are passed to the main scanner.
    • Added a new optional variable additionalFrameProcessor to SBSDKBaseScannerViewController.
  • 🐞 Bug fixes:
    • Fixed a bug in SBSDKBarcodeScannerViewController that could lead to a crash when embedded within a UIViewControllerRepresentable.
    • Fixed a bug in SBSDKBarcodeScanAndCountViewController where the scanner will be stuck if there is no barcode detected.
    • Fixed a UI bug in SBSDKUI2BarcodeScannerViewController where the sheet button overlapped with the action bar.
    • Fixed a bug in SBSDKUI2BarcodeScannerViewController where the flip camera button was not resetting the widest camera available if chosen.
    • Fixed returned results for all types of SBSDKUpcEanExtensionBehavior.
    • Fixed checksum for SBSDKBarcodeFormat.code39.
  • ⚠️ Breaking Changes:
    • Removed property code in SBSDKBarcodeScannerAccumulatingResult, use property item instead.
    • Removed class SBSDKBarcodeScannerResult, please use the new class SBSDKBarcodeItem.
    • Removed properties acceptedBarcodeTypes, additionalDetectionParameters, acceptedDocumentTypes, regularExpressionPattern, engineMode in SBSDKBarcodeScannerViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, extensionFilter, engineMode in SBSDKBarcodeScanAndCountViewController, please use the new property configuration, see SBSDKBarcodeScannerConfiguration.
    • Removed properties acceptedBarcodeTypes, acceptedDocumentTypes, extensionFilter, regularExpressionPattern, additionalParameters, engineMode, useLiveMode in SBSDKBarcodeScanner, 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.
    • Removed class SBSDKUI2BarcodeFormat, please use the new SBSDKBarcodeFormat.
    • 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 SBSDKUI2BarcodeScannerResult to SBSDKUI2BarcodeScannerUIResult.
    • Changed the methods initWithParentViewController:parentView:, 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.
    • Changed all methods of SBSDKBarcodeScanAndCountViewController to use the new SBSDKBarcodeItem.
    • Changed the methods initWithParentViewController:parentView:, initWithParentViewController:parentView:delegate: to initWithParentViewController:parentView:configuration: and initWithParentViewController:parentView:configuration:delegate: in SBSDKBarcodeScanAndCountViewController.
    • Renamed SBSDKBarcodeFormat pzn 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.