Skip to content

Releases: doo/scanbot-sdk-ios-spm

7.0.2-Beta3

08 May 15:06
Compare
Choose a tag to compare

WARNING: Release Notes for version 7.0.2 not found!

7.0.1-Beta1

08 May 15:07
Compare
Choose a tag to compare
  • 🎉 New:
    • Added property hardwareButtonsEnabled to SBSDKBaseScannerViewController (all Classic UI) which can be set to false to restore the original volume button behavior.
    • Added properties cameraSessionkeepAliveTimeout and animateCameraOverlay to SBSDKBaseScannerGeneralConfiguration
    • Added properties sessionDidChangeHandler and isSessionRunning to SBSDKBaseScannerViewController.
    • Added functions pause() and resume to SBSDKBaseScannerViewController.
  • 🚀 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 and widestAvailableBackFacingCamera now returns a simulated camera instead of nil if the physical camera is not available.

7.0.0-RC24

22 Apr 11:18
Compare
Choose a tag to compare
  • 🎉 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 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 and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Introduced new property optimizeOverlays to SBSDKBarcodeScanner 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. See SBSDKBarcodeScanner.setConfiguration(_:), SBSDKBarcodeScannerViewController.setConfiguration(_:) and 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:) and 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 and SBSDKBarcodeFormat 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 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.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:) and 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 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 to SBSDKBaseScannerViewController (all Classic UI) which can be set to false 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 that minimumSizeScore can be chosen differently for each barcode format.
    • Expanded the SBSDKGenericDocumentFieldValidationStatus, a field can now also be inferred - means that the value was not OCR'd but was inferred from the document type or other fields, and ignored - 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 the SBSDKDocumentQualityAnalyzerResult.
    • Added support for non-ICAO conformant machine readable zones on US border crossing cards.
    • Added new enum case photo to SBSDKVideoFrameResolution.
  • 🚀 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. See SBSDKBarcodeScannerConfiguration.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 setting ignoreOrientationMismatch to True. See SBSDKDocumentDetectionStatus and SBSDKDocumentScannerParameters.
    • 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...
Read more

7.0.0

22 Apr 15:09
Compare
Choose a tag to compare
  • 🎉 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 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 and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Introduced new property optimizeOverlays to SBSDKBarcodeScanner 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. See SBSDKBarcodeScanner.setConfiguration(_:), SBSDKBarcodeScannerViewController.setConfiguration(_:) and 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:) and 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 and SBSDKBarcodeFormat 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 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.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:) and 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 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 to SBSDKBaseScannerViewController (all Classic UI) which can be set to false 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 that minimumSizeScore can be chosen differently for each barcode format.
    • Expanded the SBSDKGenericDocumentFieldValidationStatus, a field can now also be inferred - means that the value was not OCR'd but was inferred from the document type or other fields, and ignored - 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 the SBSDKDocumentQualityAnalyzerResult.
    • Added support for non-ICAO conformant machine readable zones on US border crossing cards.
    • Added new enum case photo to SBSDKVideoFrameResolution.
  • 🚀 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. See SBSDKBarcodeScannerConfiguration.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 setting ignoreOrientationMismatch to True. See SBSDKDocumentDetectionStatus and SBSDKDocumentScannerParameters.
    • 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...
Read more

7.0.0-RC23

16 Apr 15:52
Compare
Choose a tag to compare
  • 🎉 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 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 and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Introduced new property optimizeOverlays to SBSDKBarcodeScanner 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. See SBSDKBarcodeScanner.setConfiguration(_:), SBSDKBarcodeScannerViewController.setConfiguration(_:) and 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:) and 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 and SBSDKBarcodeFormat 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 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.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:) and 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 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 to SBSDKBaseScannerViewController (all Classic UI) which can be set to false 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 that minimumSizeScore can be chosen differently for each barcode format.
    • Expanded the SBSDKGenericDocumentFieldValidationStatus, a field can now also be inferred - means that the value was not OCR'd but was inferred from the document type or other fields, and ignored - 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 the SBSDKDocumentQualityAnalyzerResult.
    • Added support for non-ICAO conformant machine readable zones on US border crossing cards.
    • Added new enum case photo to SBSDKVideoFrameResolution.
  • 🚀 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. See SBSDKBarcodeScannerConfiguration.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 setting ignoreOrientationMismatch to True. See SBSDKDocumentDetectionStatus and SBSDKDocumentScannerParameters.
    • 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's fillColor was not being removed when the autoSnapProgress fillColor was being shown.
      ...
Read more

7.0.0-RC22

15 Apr 08:20
Compare
Choose a tag to compare
  • 🎉 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 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 and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Introduced new property optimizeOverlays to SBSDKBarcodeScanner 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. See SBSDKBarcodeScanner.setConfiguration(_:), SBSDKBarcodeScannerViewController.setConfiguration(_:) and 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:) and 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 and SBSDKBarcodeFormat 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 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.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:) and 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 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 to SBSDKBaseScannerViewController (all Classic UI) which can be set to false 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 that minimumSizeScore can be chosen differently for each barcode format.
    • Expanded the SBSDKGenericDocumentFieldValidationStatus, a field can now also be inferred - means that the value was not OCR'd but was inferred from the document type or other fields, and ignored - 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 the SBSDKDocumentQualityAnalyzerResult.
    • Added support for non-ICAO conformant machine readable zones on US border crossing cards.
    • Added new enum case photo to SBSDKVideoFrameResolution.
  • 🚀 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. See SBSDKBarcodeScannerConfiguration.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 setting ignoreOrientationMismatch to True. See SBSDKDocumentDetectionStatus and SBSDKDocumentScannerParameters.
    • 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's fillColor was not being removed when the autoSnapProgress fillColor was being shown.
      ...
Read more

7.0.0-RC21

14 Apr 11:34
Compare
Choose a tag to compare
  • 🎉 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 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 and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Introduced new property optimizeOverlays to SBSDKBarcodeScanner 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. See SBSDKBarcodeScanner.setConfiguration(_:), SBSDKBarcodeScannerViewController.setConfiguration(_:) and 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:) and 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 and SBSDKBarcodeFormat 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 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.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:) and 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 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 to SBSDKBaseScannerViewController (all Classic UI) which can be set to false 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 that minimumSizeScore can be chosen differently for each barcode format.
    • Expanded the SBSDKGenericDocumentFieldValidationStatus, a field can now also be inferred - means that the value was not OCR'd but was inferred from the document type or other fields, and ignored - 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 the SBSDKDocumentQualityAnalyzerResult.
    • Added support for non-ICAO conformant machine readable zones on US border crossing cards.
    • Added new enum case photo to SBSDKVideoFrameResolution.
  • 🚀 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. See SBSDKBarcodeScannerConfiguration.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 setting ignoreOrientationMismatch to True. See SBSDKDocumentDetectionStatus and SBSDKDocumentScannerParameters.
    • 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's fillColor was not being removed when the autoSnapProgress fillColor was being shown.
      ...
Read more

7.0.0-RC20

08 Apr 10:56
Compare
Choose a tag to compare
  • 🎉 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, and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Introduced new property optimizeOverlays to SBSDKBarcodeScanner 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. See SBSDKBarcodeScanner.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 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 property SBSDKBarcodeScannerAccumulatingResult.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.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 to UIImage objects using the method toUIImage().
    • 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 to SBSDKBaseScannerViewController (all Classic UI) which can be set to false 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 that minimumSizeScore can be chosen differently for each barcode format.
    • Expanded the SBSDKGenericDocumentFieldValidationStatus, a field can now also be inferred - means that the value was not OCR'd but was inferred from the document type or other fields, and ignored - 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 the SBSDKDocumentQualityAnalyzerResult.
    • Added support for non-ICAO conformant machine readable zones on US border crossing cards.
  • 🚀 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. See SBSDKBarcodeScannerConfiguration.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 setting ignoreOrientationMismatch to True. See SBSDKDocumentDetectionStatus and SBSDKDocumentScannerParameters.
    • 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 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 ...
Read more

6.2.1-RC1

01 Apr 08:42
Compare
Choose a tag to compare
  • 🚀 Improvements:
    • Added property hardwareButtonsEnabled to SBSDKBaseScannerViewController (all Classic UI) which can be set to false to restore the original volume button behaviour.

7.0.0-RC19

31 Mar 15:16
Compare
Choose a tag to compare
  • 🎉 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, and nextGenLowPowerFarDistance. See SBSDKBarcodeScannerEngineMode.
    • Introduced new property optimizeOverlays to SBSDKBarcodeScanner 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. See SBSDKBarcodeScanner.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 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 property SBSDKBarcodeScannerAccumulatingResult.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.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 to UIImage objects using the method toUIImage().
    • 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 to SBSDKBaseScannerViewController (all Classic UI) which can be set to false to restore the original volume button behaviour.
  • 🚀 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 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 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 copyCurrentConfiguration() and setConfiguration(_:) methods, see SBSDKBarcodeScannerConfiguration.
    • Removed initializers init(types:), init(types:liveMode:) and methods detectBarCodes(on: UIImage, in: CGRect), detectBarCodes(on: UIImage, orientation: AVCaptureVideoOrientation, in: CGRect), detectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation, in: CGRect), detectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation) 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 copyCurrentConfiguration() and setConfiguration(_:) methods.
    • Removed properties detectorMode, preferredAspectRatios, requiredAspectRatios, ignoreBadAspectRatio, acceptedAngleScore, acceptedSizeScore and acceptedBrightnessThreshold in SBSDKDocumentScannerViewController, please use the new copyCurrentConfiguration() and setConfiguration(_:) methods.
    • Removed properties `defaultDetectorMod...
Read more