Releases: doo/scanbot-barcode-scanner-sdk-ios-spm
Releases · doo/scanbot-barcode-scanner-sdk-ios-spm
7.0.0-RC15
- 🎉 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. SeeSBSDKBarcodeScannerEngineMode.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 of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame)
. - 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
andSBSDKBarcodeFormat
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 property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property, set this property to
True
. SeeSBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - Images returned in scanner results are now represented as image references. See
SBSDKImageRef
. They can be converted toUIImage
objects using the methodtoUIImage()
. - Ability to process additional frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.additionalFrameProcessor
. - Introduced a new Class
SBSDKUI2PermanentViewFinderConfiguration
to configure the always visible view finder.
- Advanced configuration of Barcode Scanner. See
- 🚀 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 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 aUIViewControllerRepresentable
. - 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
inSBSDKBarcodeScannerAccumulatingResult
, use the propertyitem
instead. - Removed properties
acceptedBarcodeTypes
,acceptedDocumentTypes
,extensionFilter
,additionalDetectionParameters
,acceptedDocumentTypes
,useLiveMode
,regularExpressionPattern
,engineMode
inSBSDKBarcodeScannerViewController
, please use the newconfiguration
property, seeSBSDKBarcodeScannerConfiguration
. - Removed initializers
init(types:)
,init(types:liveMode:)
and methodsdetectBarCodes(on: UIImage, in: CGRect)
,detectBarCodes(on: UIImage, orientation: AVCaptureVideoOrientation, in: CGRect)
,detectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation, in: CGRect)
,detectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation)
inSBSDKBarcodeScanner
, use theSBSDKBarcodeScannerConfiguration
to initialize the scanner, the detect methods have been renamed to "scan". - 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
SBSDKUI2BarcodeRecognizerConfiguration
toSBSDKBarcodeScannerConfiguration
. - Renamed class
SBSDKUI2BarcodeScannerResult
toSBSDKUI2BarcodeScannerUIResult
. - Changed the initializers
init?(parentViewController:parentView:)
andinit?(parentViewController:parentView:delegate:)
toinit?(parentViewController:parentView:configuration:)
andinit?(parentViewController:parentView:configuration:delegate:)
inSBSDKBarcodeScannerViewController
. - Changed all methods of
SBSDKBarcodeTrackingOverlayControllerDelegate
to use the newSBSDKBarcodeItem
object type. - Changed the method
make(withBarcode:)
to use the newSBSDKBarcodeItem
inSBSDKTrackedBarcodeInfoViewable
. - Changed all methods of
SBSDKBarcodeScanAndCountViewController
to use the newSBSDKBarcodeItem
. - Changed the initializers
init?(parentViewController:parentView:)
andinit?(parentViewController:parentView:delegate:)
toinit?(parentViewController:parentView:configuration:)
andinit?(parentViewController: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
. - Refactored
SBSDKUI2BarcodesExtensionFilter
enum for RTU-UI v2 and synchronized withSBSDKUpcEanExtensionBehavior
enum from Barcode Scanner Classic component API.
- Removed property
- 🚙 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
- 🎉 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. SeeSBSDKBarcodeScannerEngineMode.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 of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame)
. - 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
andSBSDKBarcodeFormat
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 property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property, set this property to
True
. SeeSBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - Images returned in scanner results are now represented as image references. See
SBSDKImageRef
. They can be converted toUIImage
objects using the methodtoUIImage()
. - Ability to process additional frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.additionalFrameProcessor
. - Introduced a new Class
SBSDKUI2PermanentViewFinderConfiguration
to configure the always visible view finder.
- Advanced configuration of Barcode Scanner. See
- 🚀 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 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 aUIViewControllerRepresentable
. - 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
inSBSDKBarcodeScannerAccumulatingResult
, use the propertyitem
instead. - Removed properties
acceptedBarcodeTypes
,acceptedDocumentTypes
,extensionFilter
,additionalDetectionParameters
,acceptedDocumentTypes
,useLiveMode
,regularExpressionPattern
,engineMode
inSBSDKBarcodeScannerViewController
, please use the newconfiguration
property, seeSBSDKBarcodeScannerConfiguration
. - Removed initializers
initWithTypes:
,initWithTypes:liveMode:
and methodsdetectBarCodesOnImage:inRect:
,detectBarCodesOnImage:orientation:inRect:
,detectBarCodesOnSampleBuffer:orientation:inRect:
,detectBarCodesOnSampleBuffer:orientation:
inSBSDKBarcodeScanner
, use theSBSDKBarcodeScannerConfiguration
to initialize the scanner, the detect methods have been renamed to "scan". - 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
SBSDKUI2BarcodeRecognizerConfiguration
toSBSDKBarcodeScannerConfiguration
. - Renamed class
SBSDKUI2BarcodeScannerResult
toSBSDKUI2BarcodeScannerUIResult
. - Changed the initializers
initWithParentViewController:parentView:
andinitWithParentViewController: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
inSBSDKTrackedBarcodeInfoViewable
. - Changed all methods of
SBSDKBarcodeScanAndCountViewController
to use the newSBSDKBarcodeItem
. - Changed the initializers
initWithParentViewController:parentView:
andinitWithParentViewController: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 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
- 🎉 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. SeeSBSDKBarcodeScannerEngineMode.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 of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame)
. - 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
andSBSDKBarcodeFormat
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 property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property, set this property to
True
. SeeSBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - Images returned in scanner results are now represented as image references. See
SBSDKImageRef
. They can be converted toUIImage
objects using the methodtoUIImage()
. - Ability to process additional frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.additionalFrameProcessor
. - Introduced a new Class
SBSDKUI2PermanentViewFinderConfiguration
to configure the always visible view finder.
- Advanced configuration of Barcode Scanner. See
- 🚀 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 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 aUIViewControllerRepresentable
. - 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
inSBSDKBarcodeScannerAccumulatingResult
, use the propertyitem
instead. - Removed properties
acceptedBarcodeTypes
,acceptedDocumentTypes
,extensionFilter
,additionalDetectionParameters
,acceptedDocumentTypes
,useLiveMode
,regularExpressionPattern
,engineMode
inSBSDKBarcodeScannerViewController
, please use the newconfiguration
property, seeSBSDKBarcodeScannerConfiguration
. - Removed initializers
initWithTypes:
,initWithTypes:liveMode:
and methodsdetectBarCodesOnImage:inRect:
,detectBarCodesOnImage:orientation:inRect:
,detectBarCodesOnSampleBuffer:orientation:inRect:
,detectBarCodesOnSampleBuffer:orientation:
inSBSDKBarcodeScanner
, use theSBSDKBarcodeScannerConfiguration
to initialize the scanner, the detect methods have been renamed to "scan". - 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
SBSDKUI2BarcodeRecognizerConfiguration
toSBSDKBarcodeScannerConfiguration
. - Renamed class
SBSDKUI2BarcodeScannerResult
toSBSDKUI2BarcodeScannerUIResult
. - Changed the initializers
initWithParentViewController:parentView:
andinitWithParentViewController: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
inSBSDKTrackedBarcodeInfoViewable
. - Changed all methods of
SBSDKBarcodeScanAndCountViewController
to use the newSBSDKBarcodeItem
. - Changed the initializers
initWithParentViewController:parentView:
andinitWithParentViewController: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 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
- 🎉 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. SeeSBSDKBarcodeScannerEngineMode.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 of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame)
. - 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
andSBSDKBarcodeFormat
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 property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property, set this property to
True
. SeeSBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - Images returned in scanner results are now represented as image references. See
SBSDKImageRef
. They can be converted toUIImage
objects using the methodtoUIImage()
. - Ability to process additional frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.additionalFrameProcessor
.
- Advanced configuration of Barcode Scanner. See
- 🚀 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 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 aUIViewControllerRepresentable
. - 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
inSBSDKBarcodeScannerAccumulatingResult
, use the propertyitem
instead. - Removed properties
acceptedBarcodeTypes
,acceptedDocumentTypes
,extensionFilter
,additionalDetectionParameters
,acceptedDocumentTypes
,useLiveMode
,regularExpressionPattern
,engineMode
inSBSDKBarcodeScannerViewController
, please use the newconfiguration
property, seeSBSDKBarcodeScannerConfiguration
. - Removed initializers
initWithTypes:
,initWithTypes:liveMode:
and methodsdetectBarCodesOnImage:inRect:
,detectBarCodesOnImage:orientation:inRect:
,detectBarCodesOnSampleBuffer:orientation:inRect:
,detectBarCodesOnSampleBuffer:orientation:
inSBSDKBarcodeScanner
, use theSBSDKBarcodeScannerConfiguration
to initialize the scanner, the detect methods have been renamed to "scan". - 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
SBSDKUI2BarcodeRecognizerConfiguration
toSBSDKBarcodeScannerConfiguration
. - Renamed class
SBSDKUI2BarcodeScannerResult
toSBSDKUI2BarcodeScannerUIResult
. - Changed the initializers
initWithParentViewController:parentView:
andinitWithParentViewController: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
inSBSDKTrackedBarcodeInfoViewable
. - Changed all methods of
SBSDKBarcodeScanAndCountViewController
to use the newSBSDKBarcodeItem
. - Changed the initializers
initWithParentViewController:parentView:
andinitWithParentViewController: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 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
-
🎉 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 processing of still images of indexed color space model.
- Added a new property
returnBarcodeImage
toSBSDKUI2BarcodeScannerConfiguration
. To return the barcode image in the result, set this property totrue
. - Added a new property
engineMode
toSBSDKUI2BarcodeScannerViewController
. To set the engine mode used for barcode scanning.
- 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 initializers
initWithParentViewController:parentView:
andinitWithParentViewController: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 initializers
initWithParentViewController:parentView:
andinitWithParentViewController: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.
7.0.0-RC10
-
🎉 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.
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.
7.0.0-RC8
- 🎉 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 property
- 🐞 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
5.1.8-Beta3
WARNING: Release Notes for version 5.1.8 not found!
7.0.0-RC7
- 🎉 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 property
- 🐞 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