Releases: doo/scanbot-sdk-ios-spm
Releases · doo/scanbot-sdk-ios-spm
7.0.2-Beta3
WARNING: Release Notes for version 7.0.2 not found!
7.0.1-Beta1
- 🎉 New:
- Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) which can be set tofalse
to restore the original volume button behavior. - Added properties
cameraSessionkeepAliveTimeout
andanimateCameraOverlay
toSBSDKBaseScannerGeneralConfiguration
- Added properties
sessionDidChangeHandler
andisSessionRunning
toSBSDKBaseScannerViewController
. - Added functions
pause()
andresume
toSBSDKBaseScannerViewController
.
- Added property
- 🚀 Improvements:
- Improved the recognition of PDF417 barcodes in the barcode scanner.
- Improved the barcode scanner to better recognize the QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
- The camera permission screen will now appear if camera access is restricted in all RTU-UI screens.
- Improved the accessibility handling in RTU-UI v2 Document Scanner. Accessibility for the document preview button is now activated only when scanned pages are available.
- 🐞 Bug fixes:
- Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behaviour.
- Fixed an issue when scanning Code93 barcodes with
stripCheckDigits = false
(default) and the check digit is an extension character. - Fixed a crash in the RTU-UI v2 Barcode Scanner when using
SBSDKUI2FindAndPickScanningMode
. - Fixed a bug in all cropping screens where the magnetic lines were missing.
- Fixed an issue in RTU-UI v2 where the introduction screen appeared automatically even when camera access was denied.
- Fixed a crash in
SBSDKBaseScannerViewController
caused by camera access being restricted by system-wide settings (e.g. Parental Controls / Screen Time).
⚠️ Breaking changes:defaultBackFacingCamera
,defaultFrontFacingCamera
andwidestAvailableBackFacingCamera
now returns a simulated camera instead ofnil
if the physical camera is not available.
7.0.0-RC24
- 🎉 New:
DocumentDetector
was renamed toDocumentScanner
and has a more advanced configuration and scanning API. SeeSBSDKDocumentScanner
.- 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
SBSDKBarcodeScannerConfiguration
. - Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See
SBSDKBarcodeFormat
. - Introduced new barcode engine modes
nextGenLowPower
,nextGenFarDistance
andnextGenLowPowerFarDistance
. SeeSBSDKBarcodeScannerEngineMode
. - Introduced new property
optimizeOverlays
toSBSDKBarcodeScanner
that generates more accurate barcode polygons for usage in tracking overlays. - Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new
setConfiguration(_:)
method. SeeSBSDKBarcodeScanner.setConfiguration(_:)
,SBSDKBarcodeScannerViewController.setConfiguration(_:)
andSBSDKBarcodeScanAndCountViewController.setConfiguration(_:)
. - Introduced a new barcode item object to better represent barcode results. See
SBSDKBarcodeItem
. - Ability to get the
extractedDocumentFormats
from the barcode document parser. SeeSBSDKBarcodeDocumentParser.init(extractedDocumentFormats:)
andSBSDKBarcodeDocumentParser.extractedDocumentFormats
. - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:)
. - Ability to initialize the Barcode Scanner using the new initializer
SBSDKBarcodeScanner.init(formats:, 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 represent the barcode format sets and the individual barcode types respectively. - Ability to configure the Barcode Scanner using the common barcode configuration, see
SBSDKBarcodeFormatCommonConfiguration
. - Ability to know when a barcode was last detected using the new property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property
SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - New and advanced API of the Document Quality Analyzer. See
SBSDKDocumentQualityAnalyzer
,SBSDKDocumentQualityAnalyzerConfiguration
andSBSDKDocumentQualityAnalyzerResult
. - 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.scan(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 method
SBSDKCheckScannerViewController.setConfiguration(_:)
. - 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 initializers
SBSDKImageProcessor.init(imageRef:)
,SBSDKImageProcessor.init(uiImage:)
andSBSDKImageProcessor.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 toUIImage
objects using the methodtoUIImage()
. - Ability to additionally process frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.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. - Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) which can be set tofalse
to restore the original volume button behaviour. - All barcode configurations have a new property
minimumSizeScore
that is set to 0 by default. - All barcodes with
sizeScore < minimumSizeScore
are ignored. Note thatminimumSizeScore
can be chosen differently for each barcode format. - Expanded the
SBSDKGenericDocumentFieldValidationStatus
, a field can now also beinferred
- means that the value was not OCR'd but was inferred from the document type or other fields, andignored
- means that the field is required by the schema, but was disabled in the recognizer. - Generic document fields now support
parsedData
attributes (see:SBSDKGenericDocumentFieldParsedData
). Dates are parsed into the YYYY-MM-DD format according to ISO 8601, while countries are represented in the formats ISO_COUNTRY_NAME, ISO_COUNTRY_ALPHA_2, ISO_COUNTRY_ALPHA_3 and ISO_COUNTRY_NUMERIC as per ISO 3166-1. Gender fields, if applicable, are parsed as "Male" or "Female". - Added support for German driver qualification card.
- Document Data Extractor now extracts the MRZ on unknown documents by using the config
SBSDKMRZDocumentType.unknown
. - Added a new document detection status
okButTooDark
which means that a document was detected, but it is too dark. - The Document Quality Analyzer can now also return the orientation of the document in steps of 90 degrees. Enabled by setting
SBSDKDocumentQualityAnalyzerConfiguration.detectOrientation
to true. - The Document Data Extractor, Medical Certificate and Check Scanners now return document detection results. See
SBSDKDocumentDetectionResult
. - Optionally,
QualityHeatmap
is returned as a part of theSBSDKDocumentQualityAnalyzerResult
. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
- Added new enum case
photo
toSBSDKVideoFrameResolution
.
- 🚀 Improvements:
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved the false positive rate for ITF.
- Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5 and Code 25.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the Document Scanner RTU-UI v2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
- Improved performance when editing
SBSDKScannedPage
and in the RTU-UI v2 Document Scanner Review Screen. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for
SBSDKBarcodeScannerConfiguration
in RTU-UI v2. SeeSBSDKBarcodeScannerConfiguration.onlyAcceptDocuments
. - Added the option to extract VIN data from barcodes for VIN Scanner RTU UI v1. See
SBSDKUIVINScannerBehaviorConfiguration.extractVINFromBarcode
. - Added the status
okButOrientationMismatch
which is returned when the screen and document orientations don't match. It can be disabled by settingignoreOrientationMismatch
to True. SeeSBSDKDocumentDetectionStatus
andSBSDKDocumentScannerParameters
. - The validation of VINs implements full ISO 3779 standard reducing false positives.
- Digits are no longer recognized as part of given names or surnames in the Document Data Extractor.
- Improved captured image quality when using the Document Scanner Classic UI or RTU-UI (v1 and v2).
- Improved the recognition of PDF417 barcodes in the barcode scanner.
- Improved the barcode scanner to better recognize the QR codes if the top left finder pattern is corrupted (up to QR code ver...
7.0.0
- 🎉 New:
DocumentDetector
was renamed toDocumentScanner
and has a more advanced configuration and scanning API. SeeSBSDKDocumentScanner
.- 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
SBSDKBarcodeScannerConfiguration
. - Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See
SBSDKBarcodeFormat
. - Introduced new barcode engine modes
nextGenLowPower
,nextGenFarDistance
andnextGenLowPowerFarDistance
. SeeSBSDKBarcodeScannerEngineMode
. - Introduced new property
optimizeOverlays
toSBSDKBarcodeScanner
that generates more accurate barcode polygons for usage in tracking overlays. - Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new
setConfiguration(_:)
method. SeeSBSDKBarcodeScanner.setConfiguration(_:)
,SBSDKBarcodeScannerViewController.setConfiguration(_:)
andSBSDKBarcodeScanAndCountViewController.setConfiguration(_:)
. - Introduced a new barcode item object to better represent barcode results. See
SBSDKBarcodeItem
. - Ability to get the
extractedDocumentFormats
from the barcode document parser. SeeSBSDKBarcodeDocumentParser.init(extractedDocumentFormats:)
andSBSDKBarcodeDocumentParser.extractedDocumentFormats
. - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:)
. - Ability to initialize the Barcode Scanner using the new initializer
SBSDKBarcodeScanner.init(formats:, 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 represent the barcode format sets and the individual barcode types respectively. - Ability to configure the Barcode Scanner using the common barcode configuration, see
SBSDKBarcodeFormatCommonConfiguration
. - Ability to know when a barcode was last detected using the new property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property
SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - New and advanced API of the Document Quality Analyzer. See
SBSDKDocumentQualityAnalyzer
,SBSDKDocumentQualityAnalyzerConfiguration
andSBSDKDocumentQualityAnalyzerResult
. - 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.scan(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 method
SBSDKCheckScannerViewController.setConfiguration(_:)
. - 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 initializers
SBSDKImageProcessor.init(imageRef:)
,SBSDKImageProcessor.init(uiImage:)
andSBSDKImageProcessor.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 toUIImage
objects using the methodtoUIImage()
. - Ability to additionally process frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.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. - Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) which can be set tofalse
to restore the original volume button behaviour. - All barcode configurations have a new property
minimumSizeScore
that is set to 0 by default. - All barcodes with
sizeScore < minimumSizeScore
are ignored. Note thatminimumSizeScore
can be chosen differently for each barcode format. - Expanded the
SBSDKGenericDocumentFieldValidationStatus
, a field can now also beinferred
- means that the value was not OCR'd but was inferred from the document type or other fields, andignored
- means that the field is required by the schema, but was disabled in the recognizer. - Generic document fields now support
parsedData
attributes (see:SBSDKGenericDocumentFieldParsedData
). Dates are parsed into the YYYY-MM-DD format according to ISO 8601, while countries are represented in the formats ISO_COUNTRY_NAME, ISO_COUNTRY_ALPHA_2, ISO_COUNTRY_ALPHA_3 and ISO_COUNTRY_NUMERIC as per ISO 3166-1. Gender fields, if applicable, are parsed as "Male" or "Female". - Added support for German driver qualification card.
- Document Data Extractor now extracts the MRZ on unknown documents by using the config
SBSDKMRZDocumentType.unknown
. - Added a new document detection status
okButTooDark
which means that a document was detected, but it is too dark. - The Document Quality Analyzer can now also return the orientation of the document in steps of 90 degrees. Enabled by setting
SBSDKDocumentQualityAnalyzerConfiguration.detectOrientation
to true. - The Document Data Extractor, Medical Certificate and Check Scanners now return document detection results. See
SBSDKDocumentDetectionResult
. - Optionally,
QualityHeatmap
is returned as a part of theSBSDKDocumentQualityAnalyzerResult
. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
- Added new enum case
photo
toSBSDKVideoFrameResolution
.
- 🚀 Improvements:
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved the false positive rate for ITF.
- Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5 and Code 25.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the Document Scanner RTU-UI v2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
- Improved performance when editing
SBSDKScannedPage
and in the RTU-UI v2 Document Scanner Review Screen. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for
SBSDKBarcodeScannerConfiguration
in RTU-UI v2. SeeSBSDKBarcodeScannerConfiguration.onlyAcceptDocuments
. - Added the option to extract VIN data from barcodes for VIN Scanner RTU UI v1. See
SBSDKUIVINScannerBehaviorConfiguration.extractVINFromBarcode
. - Added the status
okButOrientationMismatch
which is returned when the screen and document orientations don't match. It can be disabled by settingignoreOrientationMismatch
to True. SeeSBSDKDocumentDetectionStatus
andSBSDKDocumentScannerParameters
. - The validation of VINs implements full ISO 3779 standard reducing false positives.
- Digits are no longer recognized as part of given names or surnames in the Document Data Extractor.
- Improved captured image quality when using the Document Scanner Classic UI or RTU-UI (v1 and v2).
- Improved the recognition of PDF417 barcodes in the barcode scanner.
- Improved the barcode scanner to better recognize the QR codes if the top left finder pattern is corrupted (up to QR code ver...
7.0.0-RC23
- 🎉 New:
DocumentDetector
was renamed toDocumentScanner
and has a more advanced configuration and scanning API. SeeSBSDKDocumentScanner
.- 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
SBSDKBarcodeScannerConfiguration
. - Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See
SBSDKBarcodeFormat
. - Introduced new barcode engine modes
nextGenLowPower
,nextGenFarDistance
andnextGenLowPowerFarDistance
. SeeSBSDKBarcodeScannerEngineMode
. - Introduced new property
optimizeOverlays
toSBSDKBarcodeScanner
that generates more accurate barcode polygons for usage in tracking overlays. - Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new
setConfiguration(_:)
method. SeeSBSDKBarcodeScanner.setConfiguration(_:)
,SBSDKBarcodeScannerViewController.setConfiguration(_:)
andSBSDKBarcodeScanAndCountViewController.setConfiguration(_:)
. - Introduced a new barcode item object to better represent barcode results. See
SBSDKBarcodeItem
. - Ability to get the
extractedDocumentFormats
from the barcode document parser. SeeSBSDKBarcodeDocumentParser.init(extractedDocumentFormats:)
andSBSDKBarcodeDocumentParser.extractedDocumentFormats
. - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:)
. - Ability to initialize the Barcode Scanner using the new initializer
SBSDKBarcodeScanner.init(formats:, 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 represent the barcode format sets and the individual barcode types respectively. - Ability to configure the Barcode Scanner using the common barcode configuration, see
SBSDKBarcodeFormatCommonConfiguration
. - Ability to know when a barcode was last detected using the new property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property
SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - New and advanced API of the Document Quality Analyzer. See
SBSDKDocumentQualityAnalyzer
,SBSDKDocumentQualityAnalyzerConfiguration
andSBSDKDocumentQualityAnalyzerResult
. - 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.scan(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 method
SBSDKCheckScannerViewController.setConfiguration(_:)
. - 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 initializers
SBSDKImageProcessor.init(imageRef:)
,SBSDKImageProcessor.init(uiImage:)
andSBSDKImageProcessor.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 toUIImage
objects using the methodtoUIImage()
. - Ability to additionally process frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.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. - Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) which can be set tofalse
to restore the original volume button behaviour. - All barcode configurations have a new property
minimumSizeScore
that is set to 0 by default. - All barcodes with
sizeScore < minimumSizeScore
are ignored. Note thatminimumSizeScore
can be chosen differently for each barcode format. - Expanded the
SBSDKGenericDocumentFieldValidationStatus
, a field can now also beinferred
- means that the value was not OCR'd but was inferred from the document type or other fields, andignored
- means that the field is required by the schema, but was disabled in the recognizer. - Generic document fields now support
parsedData
attributes (see:SBSDKGenericDocumentFieldParsedData
). Dates are parsed into the YYYY-MM-DD format according to ISO 8601, while countries are represented in the formats ISO_COUNTRY_NAME, ISO_COUNTRY_ALPHA_2 and ISO_COUNTRY_ALPHA_3, and ISO_COUNTRY_NUMERIC as per ISO 3166-1. Gender fields, if applicable, are parsed as "Male" or "Female". - Added support for German driver qualification card.
- Document Data Extractor now extracts the MRZ on unknown documents by using the config
SBSDKMRZDocumentType.unknown
. - Added a new document detection status
okButTooDark
which means that a document was detected, but it is too dark. - The Document Quality Analyzer can now also return the orientation of the document in steps of 90 degrees. Enabled by setting
SBSDKDocumentQualityAnalyzerConfiguration.detectOrientation
to true. - The Document Data Extractor, Medical Certificate and Check Scanners now return document detection results. See
SBSDKDocumentDetectionResult
. - Optionally,
QualityHeatmap
is returned as a part of theSBSDKDocumentQualityAnalyzerResult
. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
- Added new enum case
photo
toSBSDKVideoFrameResolution
.
- 🚀 Improvements:
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved the false positive rate for ITF.
- Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5 and Code 25.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the Document Scanner RTU-UI v2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
- Improved performance when editing
SBSDKScannedPage
and in the RTU-UI v2 Document Scanner Review Screen. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for
SBSDKBarcodeScannerConfiguration
in RTU-UI v2. SeeSBSDKBarcodeScannerConfiguration.onlyAcceptDocuments
. - Added the option to extract VIN data from barcodes for VIN Scanner RTU UI v1 screen. See
SBSDKUIVINScannerBehaviorConfiguration.extractVINFromBarcode
. - Added the status
okButOrientationMismatch
which is returned when the screen and document orientations don't match. It can be disabled by settingignoreOrientationMismatch
to True. SeeSBSDKDocumentDetectionStatus
andSBSDKDocumentScannerParameters
. - The validation of VINs implements full ISO 3779 standard reducing false positives.
- Digits are no longer recognized as part of given names or surnames in the Document Data Extractor.
- Improved captured image quality when using the Document Scanner Classic UI or RTU-UI (v1 and v2).
- 🐞 Bug fixes:
- Fixed a UI bug in the Document Scanner Classic UI where
accepted
document'sfillColor
was not being removed when theautoSnapProgress
fillColor
was being shown.
...
- Fixed a UI bug in the Document Scanner Classic UI where
7.0.0-RC22
- 🎉 New:
DocumentDetector
was renamed toDocumentScanner
and has a more advanced configuration and scanning API. SeeSBSDKDocumentScanner
.- 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
SBSDKBarcodeScannerConfiguration
. - Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See
SBSDKBarcodeFormat
. - Introduced new barcode engine modes
nextGenLowPower
,nextGenFarDistance
andnextGenLowPowerFarDistance
. SeeSBSDKBarcodeScannerEngineMode
. - Introduced new property
optimizeOverlays
toSBSDKBarcodeScanner
that generates more accurate barcode polygons for usage in tracking overlays. - Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new
setConfiguration(_:)
method. SeeSBSDKBarcodeScanner.setConfiguration(_:)
,SBSDKBarcodeScannerViewController.setConfiguration(_:)
andSBSDKBarcodeScanAndCountViewController.setConfiguration(_:)
. - Introduced a new barcode item object to better represent barcode results. See
SBSDKBarcodeItem
. - Ability to get the
extractedDocumentFormats
from the barcode document parser. SeeSBSDKBarcodeDocumentParser.init(extractedDocumentFormats:)
andSBSDKBarcodeDocumentParser.extractedDocumentFormats
. - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:)
. - Ability to initialize the Barcode Scanner using the new initializer
SBSDKBarcodeScanner.init(formats:, 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 represent the barcode format sets and the individual barcode types respectively. - Ability to configure the Barcode Scanner using the common barcode configuration, see
SBSDKBarcodeFormatCommonConfiguration
. - Ability to know when a barcode was last detected using the new property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property
SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - New and advanced API of the Document Quality Analyzer. See
SBSDKDocumentQualityAnalyzer
,SBSDKDocumentQualityAnalyzerConfiguration
andSBSDKDocumentQualityAnalyzerResult
. - 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.scan(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 method
SBSDKCheckScannerViewController.setConfiguration(_:)
. - 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 initializers
SBSDKImageProcessor.init(imageRef:)
,SBSDKImageProcessor.init(uiImage:)
andSBSDKImageProcessor.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 toUIImage
objects using the methodtoUIImage()
. - Ability to additionally process frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.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. - Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) which can be set tofalse
to restore the original volume button behaviour. - All barcode configurations have a new property
minimumSizeScore
that is set to 0 by default. - All barcodes with
sizeScore < minimumSizeScore
are ignored. Note thatminimumSizeScore
can be chosen differently for each barcode format. - Expanded the
SBSDKGenericDocumentFieldValidationStatus
, a field can now also beinferred
- means that the value was not OCR'd but was inferred from the document type or other fields, andignored
- means that the field is required by the schema, but was disabled in the recognizer. - Generic document fields now support
parsedData
attributes (see:SBSDKGenericDocumentFieldParsedData
). Dates are parsed into the YYYY-MM-DD format according to ISO 8601, while countries are represented in the formats ISO_COUNTRY_NAME, ISO_COUNTRY_ALPHA_2 and ISO_COUNTRY_ALPHA_3, and ISO_COUNTRY_NUMERIC as per ISO 3166-1. Gender fields, if applicable, are parsed as "Male" or "Female". - Added support for German driver qualification card.
- Document Data Extractor now extracts the MRZ on unknown documents by using the config
SBSDKMRZDocumentType.unknown
. - Added a new document detection status
okButTooDark
which means that a document was detected, but it is too dark. - The Document Quality Analyzer can now also return the orientation of the document in steps of 90 degrees. Enabled by setting
SBSDKDocumentQualityAnalyzerConfiguration.detectOrientation
to true. - The Document Data Extractor, Medical Certificate and Check Scanners now return document detection results. See
SBSDKDocumentDetectionResult
. - Optionally,
QualityHeatmap
is returned as a part of theSBSDKDocumentQualityAnalyzerResult
. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
- Added new enum case
photo
toSBSDKVideoFrameResolution
.
- 🚀 Improvements:
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved the false positive rate for ITF.
- Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5 and Code 25.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the Document Scanner RTU-UI v2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
- Improved performance when editing
SBSDKScannedPage
and in the RTU-UI v2 Document Scanner Review Screen. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for
SBSDKBarcodeScannerConfiguration
in RTU-UI v2. SeeSBSDKBarcodeScannerConfiguration.onlyAcceptDocuments
. - Added the option to extract VIN data from barcodes for VIN Scanner RTU UI v1 screen. See
SBSDKUIVINScannerBehaviorConfiguration.extractVINFromBarcode
. - Added the status
okButOrientationMismatch
which is returned when the screen and document orientations don't match. It can be disabled by settingignoreOrientationMismatch
to True. SeeSBSDKDocumentDetectionStatus
andSBSDKDocumentScannerParameters
. - The validation of VINs implements full ISO 3779 standard reducing false positives.
- Digits are no longer recognized as part of given names or surnames in the Document Data Extractor.
- Improved captured image quality when using the Document Scanner Classic UI or RTU-UI (v1 and v2).
- 🐞 Bug fixes:
- Fixed a UI bug in the Document Scanner Classic UI where
accepted
document'sfillColor
was not being removed when theautoSnapProgress
fillColor
was being shown.
...
- Fixed a UI bug in the Document Scanner Classic UI where
7.0.0-RC21
- 🎉 New:
DocumentDetector
was renamed toDocumentScanner
and has a more advanced configuration and scanning API. SeeSBSDKDocumentScanner
.- 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
SBSDKBarcodeScannerConfiguration
. - Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See
SBSDKBarcodeFormat
. - Introduced new barcode engine modes
nextGenLowPower
,nextGenFarDistance
andnextGenLowPowerFarDistance
. SeeSBSDKBarcodeScannerEngineMode
. - Introduced new property
optimizeOverlays
toSBSDKBarcodeScanner
that generates more accurate barcode polygons for usage in tracking overlays. - Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new
setConfiguration(_:)
method. SeeSBSDKBarcodeScanner.setConfiguration(_:)
,SBSDKBarcodeScannerViewController.setConfiguration(_:)
andSBSDKBarcodeScanAndCountViewController.setConfiguration(_:)
. - Introduced a new barcode item object to better represent barcode results. See
SBSDKBarcodeItem
. - Ability to get the
extractedDocumentFormats
from the barcode document parser. SeeSBSDKBarcodeDocumentParser.init(extractedDocumentFormats:)
andSBSDKBarcodeDocumentParser.extractedDocumentFormats
. - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:)
. - Ability to initialize the Barcode Scanner using the new initializer
SBSDKBarcodeScanner.init(formats:, 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 represent the barcode format sets and the individual barcode types respectively. - Ability to configure the Barcode Scanner using the common barcode configuration, see
SBSDKBarcodeFormatCommonConfiguration
. - Ability to know when a barcode was last detected using the new property
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection
. - Ability to return the barcode image in the result using the new property
SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage
. - New and advanced API of the Document Quality Analyzer. See
SBSDKDocumentQualityAnalyzer
,SBSDKDocumentQualityAnalyzerConfiguration
andSBSDKDocumentQualityAnalyzerResult
. - 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.scan(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 method
SBSDKCheckScannerViewController.setConfiguration(_:)
. - 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 initializers
SBSDKImageProcessor.init(imageRef:)
,SBSDKImageProcessor.init(uiImage:)
andSBSDKImageProcessor.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 toUIImage
objects using the methodtoUIImage()
. - Ability to additionally process frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.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. - Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) which can be set tofalse
to restore the original volume button behaviour. - All barcode configurations have a new property
minimumSizeScore
that is set to 0 by default. - All barcodes with
sizeScore < minimumSizeScore
are ignored. Note thatminimumSizeScore
can be chosen differently for each barcode format. - Expanded the
SBSDKGenericDocumentFieldValidationStatus
, a field can now also beinferred
- means that the value was not OCR'd but was inferred from the document type or other fields, andignored
- means that the field is required by the schema, but was disabled in the recognizer. - Generic document fields now support
parsedData
attributes (see:SBSDKGenericDocumentFieldParsedData
). Dates are parsed into the YYYY-MM-DD format according to ISO 8601, while countries are represented in the formats ISO_COUNTRY_NAME, ISO_COUNTRY_ALPHA_2 and ISO_COUNTRY_ALPHA_3, and ISO_COUNTRY_NUMERIC as per ISO 3166-1. Gender fields, if applicable, are parsed as "Male" or "Female". - Added support for German driver qualification card.
- Document Data Extractor now extracts the MRZ on unknown documents by using the config
SBSDKMRZDocumentType.unknown
. - Added a new document detection status
okButTooDark
which means that a document was detected, but it is too dark. - The Document Quality Analyzer can now also return the orientation of the document in steps of 90 degrees. Enabled by setting
SBSDKDocumentQualityAnalyzerConfiguration.detectOrientation
to true. - The Document Data Extractor, Medical Certificate and Check Scanners now return document detection results. See
SBSDKDocumentDetectionResult
. - Optionally,
QualityHeatmap
is returned as a part of theSBSDKDocumentQualityAnalyzerResult
. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
- Added new enum case
photo
toSBSDKVideoFrameResolution
.
- 🚀 Improvements:
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved the false positive rate for ITF.
- Improved quiet zone checks for the barcode formats ITF, Code 11, MSI Plessey, IATA 2 of 5, Industrial 2 of 5 and Code 25.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the Document Scanner RTU-UI v2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
- Improved performance when editing
SBSDKScannedPage
and in the RTU-UI v2 Document Scanner Review Screen. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for
SBSDKBarcodeScannerConfiguration
in RTU-UI v2. SeeSBSDKBarcodeScannerConfiguration.onlyAcceptDocuments
. - Added the option to extract VIN data from barcodes for VIN Scanner RTU UI v1 screen. See
SBSDKUIVINScannerBehaviorConfiguration.extractVINFromBarcode
. - Added the status
okButOrientationMismatch
which is returned when the screen and document orientations don't match. It can be disabled by settingignoreOrientationMismatch
to True. SeeSBSDKDocumentDetectionStatus
andSBSDKDocumentScannerParameters
. - The validation of VINs implements full ISO 3779 standard reducing false positives.
- Digits are no longer recognized as part of given names or surnames in the Document Data Extractor.
- Improved captured image quality when using the Document Scanner Classic UI or RTU-UI (v1 and v2).
- 🐞 Bug fixes:
- Fixed a UI bug in the Document Scanner Classic UI where
accepted
document'sfillColor
was not being removed when theautoSnapProgress
fillColor
was being shown.
...
- Fixed a UI bug in the Document Scanner Classic UI where
7.0.0-RC20
- 🎉 New:
- 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
SBSDKBarcodeScannerConfiguration
. - Added support for barcode types Pharma Code, Pharma Code Two Track, PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See
SBSDKBarcodeFormat
. - Introduced new barcode engine modes
nextGenLowPower
,nextGenFarDistance
, andnextGenLowPowerFarDistance
. SeeSBSDKBarcodeScannerEngineMode
. - Introduced new property
optimizeOverlays
toSBSDKBarcodeScanner
that generates more accurate barcode polygons for usage in tracking overlays. - Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new
setConfiguration(_:)
method. SeeSBSDKBarcodeScanner.setConfiguration(_:)
,SBSDKBarcodeScannerViewController.setConfiguration(_:)
,SBSDKBarcodeScanAndCountViewController.setConfiguration(_:)
. - Introduced a new barcode item object to better represent barcode results. See
SBSDKBarcodeItem
. - Ability to get the extractedDocumentFormats from the barcode document parser. See
SBSDKBarcodeDocumentParser.init(extractedDocumentFormats:)
,SBSDKBarcodeDocumentParser.extractedDocumentFormats
. - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:)
. - Ability to initialize the Barcode Scanner using the new initializer
SBSDKBarcodeScanner.init(formats:, 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
. - New and advanced API of the Document Quality Analyzer. See
SBSDKDocumentQualityAnalyzer
,SBSDKDocumentQualityAnalyzerConfiguration
andSBSDKDocumentQualityAnalyzerResult
. - 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.scan(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 method
SBSDKCheckScannerViewController.setConfiguration(_:)
. - 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 initializers
SBSDKImageProcessor.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 toUIImage
objects using the methodtoUIImage()
. - Ability to additionally process frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.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. - Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) which can be set tofalse
to restore the original volume button behaviour. - All barcode configurations have a new property
minimumSizeScore
that is set to 0 by default. - All barcodes with
sizeScore < minimumSizeScore
are ignored. Note thatminimumSizeScore
can be chosen differently for each barcode format. - Expanded the
SBSDKGenericDocumentFieldValidationStatus
, a field can now also beinferred
- means that the value was not OCR'd but was inferred from the document type or other fields, andignored
- means that the field is required by the schema, but was disabled in the recognizer. - Generic document fields now support parsedData attributes (see:
SBSDKGenericDocumentFieldParsedData
). Dates are parsed into the YYYY-MM-DD format according to ISO 8601, while countries are represented in the formats ISO_COUNTRY_NAME, ISO_COUNTRY_ALPHA_2, ISO_COUNTRY_ALPHA_3, and ISO_COUNTRY_NUMERIC as per ISO 3166-1. Gender fields, if applicable, are parsed as "Male" or "Female". - Added support for German driver qualification card.
- Document Data Extractor now extracts the MRZ on unknown documents by using the config
SBSDKMRZDocumentType.unknown
. - Added a new document detection status
okButTooDark
which means that a document was detected, but it is too dark. - The Document Quality Analyzer can now also return the orientation of the document in steps of 90 degrees. Enabled by setting
SBSDKDocumentQualityAnalyzerConfiguration.detectOrientation
to true. - The Document Data Extractor, Medical Certificate and Check Scanners now return document detection results. See
SBSDKDocumentDetectionResult
. - Optionally
QualityHeatmap
is returned as a part of theSBSDKDocumentQualityAnalyzerResult
. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
- DocumentDetector was renamed to DocumentScanner and has a more advanced configuration and scanning API. 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.
- 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.
- Improved the Document Scanner RTU-UI V2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
- Improved performance when editing
SBSDKScannedPage
and in the RTU-UIv2 document scanner review. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for
SBSDKBarcodeScannerConfiguration
in RTU-UI v2 screen. SeeSBSDKBarcodeScannerConfiguration.onlyAcceptDocuments
. - Added the option to extract VIN data from barcodes for VinScanner RTU UI v1 screen. See
SBSDKUIVINScannerBehaviorConfiguration.extractVINFromBarcode
. - Added the status
okButOrientationMismatch
returned when the screen and document orientations don't match. It can be disabled by settingignoreOrientationMismatch
to True. SeeSBSDKDocumentDetectionStatus
andSBSDKDocumentScannerParameters
. - The validation of the VINs implements full ISO 3779 standard reducing false positives.
- The digits are no longer recognized as part of given names or surnames in the Document Data Extractor.
- 🐞 Bug fixes:
- Fixed a UI bug in the Document Scanner Classic UI where
accepted
document's fillColor was not being removed when theautoSnapProgress
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 ...
- Fixed a UI bug in the Document Scanner Classic UI where
6.2.1-RC1
7.0.0-RC19
- 🎉 New:
- 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
SBSDKBarcodeScannerConfiguration
. - Added support for barcode types Pharma Code, Pharma Code Two Track, PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- New predefined subsets (1D, 2D, Postal, Pharma, etc.) of barcode formats. See
SBSDKBarcodeFormat
. - Introduced new barcode engine modes
nextGenLowPower
,nextGenFarDistance
, andnextGenLowPowerFarDistance
. SeeSBSDKBarcodeScannerEngineMode
. - Introduced new property
optimizeOverlays
toSBSDKBarcodeScanner
that generates more accurate barcode polygons for usage in tracking overlays. - Ability to configure the Barcode Scanner, its Classic UI and the Scan-and-Count Classic UI using the new
setConfiguration(_:)
method. SeeSBSDKBarcodeScanner.setConfiguration(_:)
,SBSDKBarcodeScannerViewController.setConfiguration(_:)
,SBSDKBarcodeScanAndCountViewController.setConfiguration(_:)
. - Introduced a new barcode item object to better represent barcode results. See
SBSDKBarcodeItem
. - Ability to get the extractedDocumentFormats from the barcode document parser. See
SBSDKBarcodeDocumentParser.init(extractedDocumentFormats:)
,SBSDKBarcodeDocumentParser.extractedDocumentFormats
. - Ability to scan barcodes from frames of type of
SBSDKBaseScannerFrame
using the new methodSBSDKBarcodeScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode:)
. - Ability to initialize the Barcode Scanner using the new initializer
SBSDKBarcodeScanner.init(formats:, 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
. - New and advanced API of the Document Quality Analyzer. See
SBSDKDocumentQualityAnalyzer
,SBSDKDocumentQualityAnalyzerConfiguration
andSBSDKDocumentQualityAnalyzerResult
. - 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.scan(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 method
SBSDKCheckScannerViewController.setConfiguration(_:)
. - 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 initializers
SBSDKImageProcessor.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 toUIImage
objects using the methodtoUIImage()
. - Ability to additionally process frames before they are passed to the main scanner using the new optional property
SBSDKBaseScannerViewController.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. - Added property
hardwareButtonsEnabled
toSBSDKBaseScannerViewController
(all Classic UI) which can be set tofalse
to restore the original volume button behaviour.
- DocumentDetector was renamed to DocumentScanner and has a more advanced configuration and scanning API. 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.
- 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.
- Improved the Document Scanner RTU-UI V2 acknowledgment's bad image hint by adding the ability to present up to 5 lines.
- Improved performance when editing
SBSDKScannedPage
and in the RTU-UIv2 document scanner review.
- 🐞 Bug fixes:
- Fixed a UI bug in the Document Scanner Classic UI where
accepted
document's fillColor was not being removed when theautoSnapProgress
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 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.
- Fixed a UI bug in the Document Scanner Classic UI where
⚠️ Breaking changes:- Removed properties
acceptedAngleScore
,acceptedSizeScore
,acceptedBrightnessThreshold
,requiredAspectRatios
andignoreAspectRatio
fromSBSDKUI2DocumentScannerCameraConfiguration
, they now belong the newscannerParameters
property inSBSDKUI2CameraScreenConfiguration
. - Removed property
code
inSBSDKBarcodeScannerAccumulatingResult
, use the propertyitem
instead. - Removed properties
acceptedBarcodeTypes
,acceptedDocumentTypes
,extensionFilter
,additionalDetectionParameters
,acceptedDocumentTypes
,useLiveMode
,regularExpressionPattern
,engineMode
inSBSDKBarcodeScannerViewController
, please use the newcopyCurrentConfiguration()
andsetConfiguration(_:)
methods, 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". - Renamed the
SBSDKCheckRecognizer
toSBSDKCheckScanner
, also renamed its "recognize" methods to "scan" methods. - Removed properties
imageSizeLimit
,minimumNumberOfSymbols
inSBSDKDocumentQualityAnalyzer
, please use the newcopyCurrentConfiguration()
andsetConfiguration(_:)
methods. - Removed properties
detectorMode
,preferredAspectRatios
,requiredAspectRatios
,ignoreBadAspectRatio
,acceptedAngleScore
,acceptedSizeScore
andacceptedBrightnessThreshold
inSBSDKDocumentScannerViewController
, please use the newcopyCurrentConfiguration()
andsetConfiguration(_:)
methods. - Removed properties `defaultDetectorMod...
- Removed properties