Skip to content

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

7.0.0

27 Mar 14:11
Compare
Choose a tag to compare
  • 🎉 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 optimizeOverlays to SBSDKBarcodeScanner that generates more accurate barcode polygons for usage in tracking overlays.
    • Introduced new barcode engine modes nextGenLowPower, nextGenFarDistance, and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new setConfiguration(_:) method. See SBSDKBarcodeScanner.setConfiguration(_:),SBSDKBarcodeScannerViewController.setConfiguration(_:),SBSDKBarcodeScanAndCountViewController.setConfiguration(_:).
    • 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:) and SBSDKBarcodeDocumentParser.extractedDocumentFormats.
    • Ability to scan barcodes from frames of type ofSBSDKBaseScannerFrame using the new method SBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:).
    • Ability to initialize the Barcode Scanner using the new initializer SBSDKBarcodeScanner.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.
    • Introduced SBSDKBarcodeFormats and SBSDKBarcodeFormat that 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 to UIImage objects using the method toUIImage().
    • Ability to process additional frames before they are passed to the main scanner using the new optional property SBSDKBaseScannerViewController.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 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.
  • 🐞 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 SBSDKBarcodeScannerViewController that could have lead to a crash when embedded within a UIViewControllerRepresentable.
    • 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 code in SBSDKBarcodeScannerAccumulatingResult, use the property item instead.
    • Removed properties acceptedBarcodeTypes, acceptedDocumentTypes, extensionFilter, additionalDetectionParameters, acceptedDocumentTypes, useLiveMode, regularExpressionPattern and engineMode in SBSDKBarcodeScannerViewController, please use the new copyCurrentConfiguration() and setConfiguration(_:) methods, 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) and 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 parameter name handler to completion in create and present functions of SBSDKUI2BarcodeScannerViewController.
    • Renamed async function presentAsync(on:configuration) to present(on:configuration) in SBSDKUI2BarcodeScannerViewController.
    • Replaced SBSDKUI2BarcodesExtensionFilter enum for RTU-UI v2 with SBSDKUpcEanExtensionBehavior enum from Barcode Scanner Classic component API.
    • Renamed property barcodesExtensionFilter in SBSDKUI2BarcodeScannerConfiguration to extensions.
    • Renamed class SBSDKBarcodesExtensionFilter to SBSDKUIBarcodesExtensionFilter.
    • Changed the display names of various barcode formats (SBSDKBarcodeFormat.name): Australia Post to Australian Post, CodaBar to Codabar, DataMatrix to Datamatrix, GS1 Databar Limited to Databar Limited, EAN_13 to EAN 13, EAN_8 to EAN 8, IATA 2of5 to IATA 2 of 5, INDUSTRIAL 2of5 to Industrial 2 of 5, MICRO PDF417 to Micro PDF 417, MicroQRCode to Micro QR, QRCode to QR, RMQR Code to RMQR, UPC-A to UPC A, and UPC-E to UPC E.
  • 🚙 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-RC18

24 Mar 15:52
Compare
Choose a tag to compare
  • 🎉 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 optimizeOverlays to SBSDKBarcodeScanner that generates more accurate barcode polygons for usage in tracking overlays.
    • Introduced new barcode engine modes nextGenLowPower, nextGenFarDistance, and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new setConfiguration(_:) method. See SBSDKBarcodeScanner.setConfiguration(_:),SBSDKBarcodeScannerViewController.setConfiguration(_:),SBSDKBarcodeScanAndCountViewController.setConfiguration(_:).
    • 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, useLiveMode:).
    • 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.
    • Introduced SBSDKBarcodeFormats 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 and Pharma Code barcodes.
    • Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5, 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, 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 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 copyCurrentConfiguration() and setConfiguration(_:) methods, 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.
    • Replaced SBSDKUI2BarcodesExtensionFilter enum for RTU-UI v2 with SBSDKUpcEanExtensionBehavior enum from Barcode Scanner Classic component API.
    • Renamed property barcodesExtensionFilter in SBSDKUI2BarcodeScannerConfiguration to extensions.
    • Renamed class SBSDKBarcodesExtensionFilter to SBSDKUIBarcodesExtensionFilter.
    • Changed the display names of various barcode formats (`SBSDKBarcodeFormat.name'): "Australia Post" to "Australian Post", "CodaBar" to "Codabar", "DataMatrix" to "Datamatrix", "GS1 Databar Limited" to "Databar Limited", "EAN_13" to "EAN 13", "EAN_8" to "EAN 8", "IATA 2of5" to "IATA 2 of 5", "INDUSTRIAL 2of5" to "Industrial 2 of 5", "MICRO PDF417" to "Micro PDF 417", "MicroQRCode" to "Micro QR", "QRCode" to "QR", "RMQR Code" to "RMQR", "UPC-A" to "UPC A", and "UPC-E" to "UPC E".
  • 🚙 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-RC17

20 Mar 09:32
Compare
Choose a tag to compare
  • 🎉 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 optimizeOverlays to SBSDKBarcodeScanner that generates more accurate barcode polygons for usage in tracking overlays.
    • Introduced new barcode engine modes nextGenLowPower, nextGenFarDistance, and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new setConfiguration(_:) method. See SBSDKBarcodeScanner.setConfiguration(_:),SBSDKBarcodeScannerViewController.setConfiguration(_:),SBSDKBarcodeScanAndCountViewController.setConfiguration(_:).
    • 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, useLiveMode:).
    • 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.
    • Introduced SBSDKBarcodeFormats 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 and Pharma Code barcodes.
    • Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5, 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, 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 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 copyCurrentConfiguration() and setConfiguration(_:) methods, 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.
    • Replaced SBSDKUI2BarcodesExtensionFilter enum for RTU-UI v2 with SBSDKUpcEanExtensionBehavior enum from Barcode Scanner Classic component API.
    • Renamed property barcodesExtensionFilter in SBSDKUI2BarcodeScannerConfiguration to extensions.
    • Renamed class SBSDKBarcodesExtensionFilter to SBSDKUIBarcodesExtensionFilter.
  • 🚙 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-RC16

13 Mar 11:56
Compare
Choose a tag to compare
  • 🎉 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 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 setConfiguration(_:) method. See SBSDKBarcodeScanner.setConfiguration(_:),SBSDKBarcodeScannerViewController.setConfiguration(_:),SBSDKBarcodeScanAndCountViewController.setConfiguration(_:).
    • 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, useLiveMode:).
    • 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.
    • Introduced SBSDKBarcodeFormats 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 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 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 copyCurrentConfiguration() and setConfiguration(_:) methods, 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-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.