7.0.0-RC9
-
🎉 New:
- Added a new property
configuration
inSBSDKBarcodeScanner
,SBSDKBarcodeScannerViewController
, andSBSDKBarcodeScanAndCountViewController
. - Added a new class
SBSDKBarcodeItem
to replaceSBSDKBarcodeScannerResult
. - Added a new property
item
inSBSDKBarcodeScannerAccumulatingResult
to replacecode
. - Added new barcode types
pharmaCode
,pharmaCodeTwoTrack
,pzn
. - Added a new property
acceptedFormats
toSBSDKBarcodeDocumentParser
. - Added a new initializer
init(acceptedFormats:)
toSBSDKBarcodeDocumentParser
. - Added a new method
detectBarcodesOnFrame:
inSBSDKBarcodeScanner
. - Added a new initializer
initWithFormats:live:acceptedDocumentFormats:
inSBSDKBarcodeScanner
. - 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
toSBSDKBarcodeScannerAccumulatingResult
. - Added a new protocol
SBSDKAdditionalFrameProcessing
to allow additional frame processing before they are passed to the main scanner. - Added a new optional variable
additionalFrameProcessor
toSBSDKBaseScannerViewController
. - Added a new
SBSDKBarcodeScannerEngineMode
callednextGenAr
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 inSBSDKBarcodeDocumentFormat
.
- Added a new property
-
🚀 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
inSBSDKBarcodeScannerEngineMode
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 forqrCode
,microQrCode
,rmqrCode
,pdf417
,microPdf417
, andgs1Composite
.
-
🐞 Bug fixes:
- Fixed a bug in
SBSDKBarcodeScannerViewController
that could lead to a crash when embedded within aUIViewControllerRepresentable
. - 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 a bug in
-
⚠️ Breaking Changes:- Removed property
code
inSBSDKBarcodeScannerAccumulatingResult
, use propertyitem
instead. - Removed class
SBSDKBarcodeScannerResult
, please use the new classSBSDKBarcodeItem
. - Removed properties
acceptedBarcodeTypes
,additionalDetectionParameters
,acceptedDocumentTypes
,regularExpressionPattern
,engineMode
inSBSDKBarcodeScannerViewController
, please use the new propertyconfiguration
, seeSBSDKBarcodeScannerConfiguration
. - Removed properties
acceptedBarcodeTypes
,extensionFilter
,engineMode
inSBSDKBarcodeScanAndCountViewController
, please use the new propertyconfiguration
, seeSBSDKBarcodeScannerConfiguration
. - Removed properties
acceptedBarcodeTypes
,acceptedDocumentTypes
,extensionFilter
,regularExpressionPattern
,additionalParameters
,engineMode
,useLiveMode
inSBSDKBarcodeScanner
, please use the newconfiguration
property, seeSBSDKBarcodeScannerConfiguration
. - Removed initializers
initWithTypes:
,initWithTypes:liveMode:
and methodsdetectBarCodesOnImage:inRect:
,detectBarCodesOnImage:orientation:inRect:
,detectBarCodesOnSampleBuffer:orientation:inRect:
,detectBarCodesOnSampleBuffer:orientation:
inSBSDKBarcodeScanner
. - Removed class
SBSDKUI2BarcodeFormat
, please use the newSBSDKBarcodeFormat
. - Removed class
SBSDKUI2AspectRatio
, please useSBSDKAspectRatio
. - Removed enum
SBSDKBarcodeImageGenerationType
and propertybarcodeImageGenerationType
fromSBSDKBarcodeScannerViewController
andSBSDKUIBarcodeScannerBehaviorConfiguration
. - Replaced class
SBSDKPolygonEdge
withSBSDKLineSegment
. - Replaced enum
SBSDKPolygonEdgeOrientation
withSBSDKLineSegmentOrientation
. - Renamed class
SBSDKBarcodeType
toSBSDKBarcodeFormat
. - Renamed class
SBSDKBarcodeDocumentRootType
toSBSDKBarcodeDocumentFormat
. - Renamed initializer
init(barcodeResult:)
toinit(barcodeItem:)
inSBSDKBarcodeScannerAccumulatingResult
. - Renamed method
barcodeScannerController:filterResults:
tobarcodeScannerController:filterBarcodes:
inSBSDKBarcodeScannerViewControllerDelegate
. - Renamed class
SBSDKUI2BarcodeScannerResult
toSBSDKUI2BarcodeScannerUIResult
. - Changed the methods
initWithParentViewController:parentView:
,initWithParentViewController:parentView:delegate:
toinitWithParentViewController:parentView:configuration:
andinitWithParentViewController:parentView:configuration:delegate:
inSBSDKBarcodeScannerViewController
. - Changed all methods of
SBSDKBarcodeTrackingOverlayControllerDelegate
to use the newSBSDKBarcodeItem
object type. - Changed the method
makeWithBarcode:
to use the newSBSDKBarcodeItem
. - Changed all methods of
SBSDKBarcodeScanAndCountViewController
to use the newSBSDKBarcodeItem
. - Changed the methods
initWithParentViewController:parentView:
,initWithParentViewController:parentView:delegate:
toinitWithParentViewController:parentView:configuration:
andinitWithParentViewController:parentView:configuration:delegate:
inSBSDKBarcodeScanAndCountViewController
. - Renamed
SBSDKBarcodeFormat
pzn
topzn8
, also allow to decode the legacy formatpzn7
. - Renamed parameter name
handler
tocompletion
increate
andpresent
functions ofSBSDKUI2BarcodeScannerViewController
. - Renamed async function
presentAsync(on:configuration)
topresent(on:configuration)
inSBSDKUI2BarcodeScannerViewController
.
- Removed property
-
🚙 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.