You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DocumentDetector was renamed to DocumentScanner and has a more advanced configuration and scanning API. See SBSDKDocumentScanner.
Document Scanner RTU-UI v2: Added the auto-rotate document option. The document will now be automatically rotated based on the text orientation detected by the Document Quality Analyzer. See SBSDKUI2CameraScreenConfiguration.autoRotateImages.
Ability to to set the bad aspect ratio hint of the Document Scanner. See SBSDKDocumentScannerStatusTextConfiguration.textHintBadAspectRatio.
Introduced a new Document Scanner result object to better represent document detection results. See SBSDKDocumentDetectionResult.
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.
New and advanced API of the Document Quality Analyzer. See SBSDKDocumentQualityAnalyzer, SBSDKDocumentQualityAnalyzerConfiguration and SBSDKDocumentQualityAnalyzerResult.
Advanced configuration of Health Insurance Card Recognizer. See SBSDKEuropeanHealthInsuranceCardRecognizerConfiguration.
Introduced a new MRZ RTU-UI V2 component, see SBSDKUI2MRZScannerViewController.
Advanced configuration of MRZ Scanner. See SBSDKMRZScannerConfiguration.
Generic Document Recognizer was renamed to Document Data Extractor and has more advanced configuration and scanning API. See SBSDKDocumentDataExtractor.
Introduced a new Text Pattern RTU-UI V2 component, see SBSDKUI2TextPatternScannerViewController.
Generic Text Recognizer was renamed to Text Pattern Scanner and has more advanced configuration and scanning API. See SBSDKTextPatternScanner.
Medical Certificate Recognizer was renamed to Medical Certificate Scanner and has more advanced configuration and scanning API. See SBSDKMedicalCertificateScanner.
Introduced a new method to scan a medical certificate from frames. See SBSDKMedicalCertificateScanner.scanMedicalCertificate(from:parameters:).
Check Recognizer was renamed to Check Scanner and has more advanced configuration and scanning API. See SBSDKCheckScanner.
Ability to configure the Check Scanner Classic UI using the new propertySBSDKCheckScannerViewController.configuration.
Introduced a new beta feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See SBSDKCreditCardScanner.
Ability to initialize the Image Processor using the new initializersSBSDKImageProcessor.init(imageRef:),SBSDKImageProcessor.init(uiImage:),SBSDKImageProcessor.init?(imageURL:).
Introduced new methods to the Image Processor to apply filters, crop, rotate and resize images. See SBSDKImageProcessor.
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.
Advanced configuration of the PDF Generator. See SBSDKPDFConfiguration.
Introduced a new OCR configuration to the PDF Generator, see SBSDKPDFGenerator.ocrConfiguration.
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 a UI bug in the Document Scanner Classic UI where accepted document's fillColor was not being removed when the autoSnapProgress fillColor was being shown.
Fixed a UI bug in the Document Scanner RTU-UI V2 where the bar buttons were not properly greyed out when in disabled state.
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 properties acceptedAngleScore, acceptedSizeScore, acceptedBrightnessThreshold, requiredAspectRatios and ignoreAspectRatio from SBSDKUI2DocumentScannerCameraConfiguration, they now belong the new scannerParameters property in SBSDKUI2CameraScreenConfiguration.
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".
Renamed the SBSDKCheckRecognizer to SBSDKCheckScanner, also renamed its "recognize" methods to "scan" methods.
Removed properties imageSizeLimit, minimumNumberOfSymbols in SBSDKDocumentQualityAnalyzer, please use the new configuration property.
Removed properties detectorMode, preferredAspectRatios, requiredAspectRatios, ignoreBadAspectRatio, acceptedAngleScore, acceptedSizeScore and acceptedBrightnessThreshold in SBSDKDocumentScannerViewController, please use the configuration property.
Removed properties defaultDetectorMode, acceptedSizeScore, acceptedAngleScore, acceptedBrightnessThreshold, currentTotalScore, currentSizeScore, currentWidthScore, currentHeightScore, currentAngleScore, currentDistanceScore, detectionMetrics, preferredAspectRatios, requiredAspectRatios, detectedHorizontalEdges, detectedVerticalEdges, detectorMode in SBSDKDocumentDetector, use the new configuration property instead, the SBSDKDocumentDetector was renamed to SBSDKDocumentScanner.
Removed methods detectDocumentPolygonOnImage:visibleImageRect:smoothingEnabled:useLiveDetectionParameters:, detectPhotoPolygonOnImage:visibleImageRect:smoothingEnabled:, detectDocumentPolygonOnSampleBuffer:visibleImageRect:smoothingEnabled:useLiveDetectionParameters:, detectPhotoPolygonOnSampleBuffer:visibleImageRect:smoothingEnabled: in SBSDKDocumentDetector, the SBSDKDocumentDetector was renamed to SBSDKDocumentScanner.
Removed property recognizerParameters in SBSDKHealthInsuranceCardRecognizerViewController, use the new configuration property instead.
Removed property liveDetectionParameters in SBSDKHealthInsuranceCardRecognizer, use the new configuration property instead.
Removed methods recognizeOnStillImage:, recognizeOnVideoFrameImage:, recognizeOnSampleBuffer:orientation:, recognizeOnSampleBuffer:searchInRect:orientation: in SBSDKHealthInsuranceCardRecognizer, use the new recognizeFromImage:, recognizeFromSampleBuffer:orientation: and recognizeFromFrame:useLiveMode methods.
Removed properties acceptedDocumentTypes, resultAccumulatorConfiguration, excludedFieldTypes in SBSDKDocumentDataExtractorViewController, use the new configuration property instead.
Removed initializers init?(acceptedDocumentTypes:excludedFieldTypes:delegate:), init?(parentViewController:parentView:delegate:) and init() from SBSDKDocumentDataExtractorViewController.
Removed properties acceptedDocumentTypes, excludedFieldTypes, resultAccumulatorConfiguration in SBSDKDocumentDataExtractor, use the new init(configuration:) initializer instead.
Removed initializers init() and init(acceptedDocumentTypes:) from SBSDKDocumentDataExtractor.
Removed properties maxNumberOfAccumulatedResults, requiredNumberOfEqualAccumulatedResults in SBSDKMRZScannerViewController, use the new configuration property instead.
Removed property recognitionOptions in SBSDKMedicalCertificateRecognizer, The SBSDKMedicalCertificateRecognizer was renamed to SBSDKMedicalCertificateScanner.
Removed initializer initWithConfigurationOptions: in SBSDKMedicalCertificateRecognizer. The SBSDKMedicalCertificateRecognizer was renamed to SBSDKMedicalCertificateScanner.
Removed property options in SBSDKPDFRenderer. The SBSDKPDFRenderer was renamed to SBSDKPDFGenerator.
Removed initializer initWithOptions:encrypter: in SBSDKPDFRenderer. The SBSDKPDFRenderer was renamed to SBSDKPDFGenerator.
Removed method write(to:format:compression:) in SBSDKImageProcessor.
Removed class SBSDKVehicleIdentificationNumberScanner, SBSDKVehicleIdentificationNumberScannerConfiguration, SBSDKVehicleIdentificationNumberScannerResult, please use the new SBSDKTextPatternScanner instead.
Removed class SBSDKTIFFImageWriterCompressionOptions, please use the new SBSDKCompressionMode class.
Removed class SBSDKTIFFImageWriterParameters, please use the new SBSDKTIFFGeneratorParameters class.
Removed class SBSDKTIFFImageWriterUserDefinedField, please use the new SBSDKUserField class.
Removed class SBSDKTIFFImageWriterUserDefinedFieldType, please use the new SBSDKUserFieldValue class.
Removed class SBSDKDocumentDetectorResult, please use the new SBSDKDocumentDetectionResult class.
Removed class SBSDKUIPDFRenderer, please use the new SBSDKPDFGenerator.
Removed class SBSDKUI2AspectRatio, please use SBSDKAspectRatio.
Removed enum SBSDKBarcodeImageGenerationType and property barcodeImageGenerationType from SBSDKBarcodeScannerViewController and SBSDKUIBarcodeScannerBehaviorConfiguration.
Removed the license plate scanner and all of its related files.
Replaced class SBSDKMachineReadableZoneRecognizerResult by SBSDKMRZScannerResult.
Replaced class SBSDKMachineReadableZoneRecognizerResultDocumentType by SBSDKMRZDocumentType.
Replaced class SBSDKPDFRendererOptions by SBSDKPDFConfiguration.
Replaced initializer initWithMode: with initWithConfiguration: in SBSDKDocumentDetector, now called SBSDKDocumentScanner.
Replaced class SBSDKPolygonEdge with SBSDKLineSegment.
Replaced class SBSDKMachineReadableZoneRecognizer with SBSDKMRZScanner.
Replaced method recognizeFromImage:detectDocument: with scanFromImage:parameters:, and recognizeFromSampleBuffer:orientation:detectDocument: with scanFromSampleBuffer:orientation:parameters: in SBSDKMedicalCertificateRecognizer, now called SBSDKMedicalCertificateScanner.
Replaced class SBSDKGenericTextLineRecognizer with SBSDKTextPatternScanner.
Replaced class SBSDKGenericTextLineRecognizerConfiguration with SBSDKTextPatternScannerConfiguration.
Replaced class SBSDKGenericTextLineRecognizerResult with SBSDKTextPatternScannerResult.
Replaced enum SBSDKPolygonEdgeOrientation with SBSDKLineSegmentOrientation.
Replaced class SBSDKCheckRecognizerResult by SBSDKCheckScanningResult.
Replaced class SBSDKMedicalCertificateRecognizerConfigurationOptions by SBSDKMedicalCertificateScanningParameters.
Replaced class SBSDKMedicalCertificateRecognizerResult by SBSDKMedicalCertificateScanningResult.
Renamed class SBSDKDocumentDetector to SBSDKDocumentScanner.
Renamed class SBSDKDocumentDetectorMode to SBSDKDocumentScannerEngineMode.The engine modes now are respectively named legacy for standard and ml for machineLearning.
Renamed class SBSDKHealthInsuranceCardScannerViewController to SBSDKHealthInsuranceCardRecognizerViewController.
Renamed delegate SBSDKHealthInsuranceCardScannerViewControllerDelegate to SBSDKHealthInsuranceCardRecognizerViewControllerDelegate and all of its method signatures.
Renamed delegate SBSDKUIMRZRecongizerViewControllerDelegate to SBSDKUIMRZScannerViewControllerDelegate.
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 SBSDKCheckDocumentRootType to SBSDKCheckDocumentModelRootType.
Renamed method recognizeOnBuffer:orientation: to scanFromBuffer:orientation:, recognizeOnImage: to scanFromImage: in SBSDKCheckRecognizer, now called SBSDKCheckScanner.
Renamed class SBSDKUIHealthInsuranceCardScannerBehaviorConfiguration to SBSDKUIHealthInsuranceCardRecognizerBehaviorConfiguration.
Renamed class SBSDKUIHealthInsuranceCardScannerConfiguration to SBSDKUIHealthInsuranceCardRecognizerConfiguration.
Renamed class SBSDKUIHealthInsuranceCardScannerTextConfiguration to SBSDKUIHealthInsuranceCardRecognizerTextConfiguration.
Renamed class SBSDKUIHealthInsuranceCardScannerUIConfiguration to SBSDKUIHealthInsuranceCardRecognizerUIConfiguration.
Renamed class SBSDKUIHealthInsuranceCardScannerViewController to SBSDKUIHealthInsuranceCardRecognizerViewController.
Renamed the delegate SBSDKUIHealthInsuranceCardScannerViewControllerDelegate to SBSDKUIHealthInsuranceCardRecognizerViewControllerDelegate.
Renamed method recognize(on:videoOrientation:) to extractDocument(from:videoOrientation:), and recognize(on:) to extractDocument(from:) in SBSDKDocumentDataExtractor.
Renamed class SBSDKGenericDocumentRootType to SBSDKDocumentsModelRootType.
Renamed class SBSDKTIFFImageWriter to SBSDKTIFFGenerator.
Renamed class SBSDKGenericTextLineRecognizerViewController to SBSDKTextPatternScannerViewController.
Renamed delegate SBSDKGenericTextLineRecognizerViewControllerDelegate to SBSDKTextPatternScannerViewControllerDelegate.
Renamed method textLineRecognizerViewController:didFinishStep:withResult: to textPatternScannerViewController:didFinishStep:withResult:, and textLineScannerViewControllerDidCancel: to textPatternScannerViewControllerDidCancel: in SBSDKUITextPatternScannerViewControllerDelegate.
Renamed enum SBSDKMedicalCertificateRecognizerCheckboxType to SBSDKMedicalCertificateCheckBoxType.
Renamed class SBSDKMedicalCertificateRecognizerCheckboxResult to SBSDKMedicalCertificateCheckBox.
Renamed enum SBSDKMedicalCertificateRecognizerDateResult to SBSDKMedicalCertificateDateRecord.
Renamed enum SBSDKMedicalCertificateRecognizerDateResultType to SBSDKMedicalCertificateDateRecordType.
Renamed enum SBSDKMedicalCertificateRecognizerForm to SBSDKMedicalCertificateFormType.
Renamed enum SBSDKMedicalCertificateRecognizerResultPatientFieldType to SBSDKMedicalCertificatePatientInfoFieldType.
Renamed enum SBSDKMedicalCertificateRecognizerResultPatientField to SBSDKMedicalCertificatePatientInfoField
Renamed class SBSDKHealthInsuranceCardFieldType to SBSDKEuropeanHealthInsuranceCardRecognitionResultFieldType.
Renamed class SBSDKHealthInsuranceCardFieldValidationStatus to SBSDKEuropeanHealthInsuranceCardRecognitionResultFieldValidationStatus.
Renamed class SBSDKHealthInsuranceCardField to SBSDKEuropeanHealthInsuranceCardRecognitionResultField.
Renamed class SBSDKHealthInsuranceCardDetectionStatus to SBSDKEuropeanHealthInsuranceCardRecognitionResultRecognitionStatus.
Renamed class SBSDKHealthInsuranceCardCountryType to SBSDKEuropeanHealthInsuranceCardIssuingCountry.
Renamed class SBSDKHealthInsuranceCardRecognizerParameters to SBSDKEuropeanHealthInsuranceCardRecognizerConfiguration.
Renamed enum SBSDKPDFRendererPageFitMode to SBSDKPageFit.
Renamed enum SBSDKPDFRendererPageOrientation to SBSDKPageDirection.
Renamed enum SBSDKPDFRendererPageSize to SBSDKPageSize.
Renamed class SBSDKGenericDocumentConstants to SBSDKDocumentsModelConstants.
Renamed class SBSDKGenericDocumentDeIdCardFront to SBSDKDocumentsModelDeIdCardFront.
Renamed class SBSDKGenericDocumentMRZ to SBSDKDocumentsModelMRZ.
Renamed class SBSDKGenericDocumentDeIdCardBack to SBSDKDocumentsModelDeIdCardBack.
Renamed class SBSDKGenericDocumentDePassport to SBSDKDocumentsModelDePassport.
Renamed class SBSDKGenericDocumentDeDriverLicenseFront to SBSDKDocumentsModelDeDriverLicenseFront.
Renamed class SBSDKGenericDocumentDeDriverLicenseBack to SBSDKDocumentsModelDeDriverLicenseBack.
Renamed class SBSDKGenericDocumentDeResidencePermitFront to SBSDKDocumentsModelDeResidencePermitFront.
Renamed class SBSDKGenericDocumentDeResidencePermitBack to SBSDKDocumentsModelDeResidencePermitBack.
Renamed class SBSDKGenericDocumentEuropeanHealthInsuranceCard to SBSDKDocumentsModelEuropeanHealthInsuranceCard.
Renamed class SBSDKGenericDocumentDeHealthInsuranceCardFront to SBSDKDocumentsModelDeHealthInsuranceCardFront.
Renamed class SBSDKUI2BarcodeScannerResult to SBSDKUI2BarcodeScannerUIResult.
Renamed class SBSDKUI2BarcodeRecognizerConfiguration to SBSDKBarcodeScannerConfiguration.
Renamed property croppingTopBarCancelButtonTitle to croppingCancelButtonTitle in SBSDKUI2CroppingTextLocalization and SBSDKUI2DocumentScannerTextLocalization.
Renamed class SBSDKHealthInsuranceCardRecognitionResult to SBSDKEuropeanHealthInsuranceCardRecognitionResult.
Renamed class SBSDKCheckRecognitionResultStatus to SBSDKCheckRecognitionStatus.
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.
Changed the initializer initWithParentViewController:parentView:delegate: to initWithParentViewController:parentView:configuration:delegate: in SBSDKCheckScannerViewController.
Renamed SBSDKBarcodeFormatpzn to pzn8, also allow to decode the legacy format pzn7.
Renamed parameter name completionHandler to completion in create and present functions of SBSDKUI2DocumentScannerController.
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.
Updated the type of the completion result parameter in SBSDKUI2CroppingViewController from SBSDKUI2CroppingResult to SBSDKUI2CroppingResult?. The completion now returns nil when the user cancels the cropping.
Renamed property ignoreBadAspectRatio to ignoreOrientationMismatch in SBSDKUIDocumentScannerBehaviourConfiguration.
Renamed property ignoreBadAspectRatio to ignoreOrientationMismatch in SBSDKUIFinderDocumentScannerBehaviourConfiguration.
β οΈ Deprecations:
The MRZ Scanner RTU-UI V1 is deprecated and will be removed soon. Instead, please use our new MRZ Scanner RTU-UI V2.
The Text Pattern Scanner RTU-UI V1 is deprecated and will be removed soon. Instead, please use our new Text Pattern Scanner RTU-UI V2.
π Under the hood:
The regex filters are applied for substrings instead of the entire output string.