Skip to content

7.0.0-RC9

Compare
Choose a tag to compare
@scanbot-ci scanbot-ci released this 14 Feb 13:21
· 45 commits to master since this release
  • 🎉 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.