Changelog for the iOS Data Capture SDK
tip
For additional details about the API, please refer to our API reference documentation.
Version 7.1.0 (24 July 2025):
- 🎉 New:
- Document Scanner:
- Added property
showReviewScreenOnStart
toSBSDKUI2DocumentScanningFlow
. If enabled, the scanner automatically navigates to the Review Screen when the flow starts. - Added property
openReviewAfterEachScan
toSBSDKUI2CameraScreenConfiguration
. If enabled, the Review Screen is opened after each addition of a new page. - Added property
showLastPageWhenAdding
toSBSDKUI2ReviewScreenConfiguration
. If enabled, the Review Screen will be opened showing the last page.
- Added property
- VIN Scanner:
- Introduced a new VIN Scanner RTU-UI v2 component, see
SBSDKUI2VINScannerViewController
.
- Introduced a new VIN Scanner RTU-UI v2 component, see
- Document Data Extractor:
- Introduced a new Document Data Extractor RTU-UI v2 component, see
SBSDKUI2DataExtractorViewController
. - Now supports the front side of many more EU driver's licenses.
- Added (partial) support for parsing of German addresses. For the respective ID cards, address parsing can be enabled via a new
SBSDKDeAddressParserConfiguration
. If the parsing was successful, the parsed address is stored as a child document (similar to MRZ). - Added support for multiple new document types:
- ID Cards from Brazil, Hong Kong, Macao, and China.
- Chinese Entry and Exit Permits.
- Added a new method
setGlareDetectionConfiguration
inSBSDKDocumentDataExtractorConfigurationBuilder
to fine-tune the detection of glare over the fields. - Added a new method
setAutoFocusConfig
inSBSDKDocumentDataExtractorConfigurationBuilder
to precisely control the exclusion of frames that lack focus. - Added case
errorStillFocussing
toSBSDKDocumentDataExtractionStatus
. - Returns the issuing series of German ID Cards as part of the returned document as the
Series
field. - Introduced a Document Verification API including document semantics verification capabilities.
- Introduced a new Document Data Extractor RTU-UI v2 component, see
- Check Scanner:
- Introduced a new Check Scanner RTU-UI v2 component, see
SBSDKUI2CheckScannerViewController
. - Introduced a boolean
captureHighResolutionImage
in Check Scanner Classic UI. If disabled, the scanning is performed on video frames. When enabled, a high-resolution photo is captured and used for scanning, which may result in slower scanning speed.
- Introduced a new Check Scanner RTU-UI v2 component, see
- Barcode Scanner:
- Added new class
SBSDKBarcodeItemSelection
for managing collections of selected barcode items. - Added property
identityString
toSBSDKBarcodeItem
to uniquely identify barcodes across detection frames. SBSDKBarcodeItem
has a new fieldrawBytesEncodings
that contains the precise character encoding information ofrawBytes
.- Added property
selectedZoomFactor
toSBSDKUI2BarcodeScannerUIResult
to retrieve the zoom factor used for the barcode scanning. SBSDKBarcodeItem
has a new fieldstructuredAppendInfo
. The Structured Append mode can be used to split a message across multiple barcodes. If present, the corresponding information is returned.SBSDKBarcodeScannerConfiguration
has a new fieldaccumulationConfig
which allows the accumulation of barcodes over multiple frames in live mode.SBSDKBarcodeItem
has a new fieldglobalIndex
which allows identifying a barcode across multiple frames.
- Added new class
- General:
- Added property
hardwareButtonsEnabled
toSBSDKUI2CameraConfiguration
. If enabled, it allows zooming using the camera control button (iPhone 16 series). - Added property
fpsLimit
toSBSDKUI2CameraConfiguration
andSBSDKUI2DocumentScannerCameraConfiguration
to limit the rate of detections per second in normal performance mode. - Added property
didEndZoomHandler
toSBSDKZoomingImageScrollView
. - Added analytics support with new classes:
SBSDKAnalyticsManager
,SBSDKAnalyticsEvent
,SBSDKAnalyticsFeature
,SBSDKAnalyticsCategory
,SBSDKAnalyticsEventName
,SBSDKAnalyticsEventFactory
, andSBSDKAnalyticsSubscriber
for tracking and managing SDK usage analytics.
- Added property
- Document Scanner:
- 🚀 Improvements:
- Document Scanner:
- Improved landscape-orientation layout of RTU-UI v2 screens.
- Increased performance for Document Scanner algorithms.
- The zoomed page view in the RTU-UI v2 Review Screen now closes when you finish zooming while being below the minimum zoom value.
- Document Quality Analyzer:
- Improved performance. Note: document quality scores may slightly change for the same input images when compared to the previous version of the DoQA.
- OCR Engine:
- Improved performance of the Scanbot OCR engine.
- MRZ Scanner:
- On US border crossing permits, the document number is now returned in the correct field.
- Dates in MRZ now also support
parsedData
correctly.
- Text Pattern Scanner:
- General speed improvements.
- Now supports XNNPACK for faster inference.
- Document Data Extractor:
- General speed improvements.
- Now detects whether a document is in focus and only starts the heavy recognition pipeline when image quality is suitable.
- Can now detect glare in images. Fields obstructed by glare will be returned with a validation status of
SBSDKGenericDocumentFieldValidationStatus.obstructed
. - Classification for documents with MRZ is more stable.
- Added normalization before date recognition.
- More consistent usage of common field types.
- Improved maiden name processing for DePassport and DeIdCard.
- Now also supports the new German ID card format issued starting 2024.
- Check Scanner:
- If image cropping is enabled and is successful, check recognition is performed on the crop instead of the original image.
- Credit Card Scanner:
- Support for credit cards with an expiry date above the card number.
- Support for credit cards with a name written on two lines.
- Medical Certificate Scanner:
- Date recognition in Medical Certificate forms is now based on the Scanbot OCR Engine and shows significant quality improvements.
- Barcode Scanner:
- Added NSCopying support to
SBSDKBarcodeTrackedViewPolygonStyle
andSBSDKBarcodeTrackedViewTextStyle
. SBSDKBoardingPassBarcodeDocumentParser
now supports up to version 8 of the IATA-BCBP standard.- vCard document parser was improved.
- Added NSCopying support to
- Document Scanner:
- 🐞 Bug fixes:
- Document Scanner:
- Fixed a bug in RTU-UI v2 Document Scanner where the document could not be captured in auto snap mode when
enabledInAutoSnappingMode
was set to false inSBSDKUI2ShutterButton
. - Fixed a bug in RTU-UI v2 Document Scanner Swift UI component
SBSDKUI2DocumentScannerView
where the completion handler was not called when the view was a root view. Additionally, the view is now prevented from being automatically dismissed upon completion. - Fixed a bug in RTU-UI v2 Document Scanner where auto rotation was applied if no document was detected.
- Fixed a bug in RTU-UI v2 Document Scanner where the document could not be captured in auto snap mode when
- Image Editing:
- Fixed a rare crash when the screen orientation changed.
- PDF Image Extractor:
- Fixed wrong orientation of extracted images when the PDF page had a transform applied.
- Document Quality Analyzer:
- Fixed quality estimation for rotated images.
- MRZ Scanner:
- Fixed an issue causing
nil
to be returned as a confidence of empty fields.
- Fixed an issue causing
- Document Data Extractor (DDE):
- When
IssuerNumber
is excluded on European health insurance cards, this no longer leads to theIssuerName
being incorrectly excluded. - MRZ fallback now also works when no accepted document types are selected.
- When
- Credit Card Scanner:
- Fixed a crash if document detection was not successful due to an
OK_BAD_ASPECT_RATIO
status. - Setting the confirmation method to
interpolate
when scanning credit cards no longer results in unsuccessful recognitions if all data was extracted and verified. - Returns the correct scanning status if no fields are recognized.
- Fixed a crash if document detection was not successful due to an
- Barcode Scanner:
- The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now all possible codewords are checked that encode the carrier identifier.
- vCard document parser now correctly processes the "FN" key as FormattedName.
- Fixed a bug in the Barcode Scanner RTU-UI v2 where the result callback was called multiple times.
- Storage Crypting:
- Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
- General:
- Fixed a rare division by zero crash in Credit Card Scanner, Document Data Extractor, and MRZ Scanner.
- Document Scanner:
- ⚠️ Breaking changes:
- Document Scanner:
- Changed the
init
toconvenience init
inSBSDKUI2DocumentScannerController
. - The
SBSDKUI2DocumentScannerController
does not dismiss itself automatically anymore when usingconvenience init(configuration:completion:)
or the staticcreate(configuration:completion:)
method.
- Changed the
- PDF Image Extractor:
- Removed parameter
scaling
from all methods and replaced it by member variablescaleFactor
.
- Removed parameter
- Document Data Extractor:
- Removed the
SBSDKUIDataExtractorViewController
class and its related components as part of the DDE RTU-UI V1 removal. - Renamed
SBSDKDeDriverLicenseFront
andSBSDKDeDriverLicenseBack
toSBSDKEuropeanDriverLicenseFront
andSBSDKEuropeanDriverLicenseFrontBack
. - By default, only German documents are now enabled for scanning. Previously all supported documents were enabled.
- Removed the
- Check Scanner:
- Renamed enum
SBSDKCheckRecognizerState
toSBSDKCheckScannerState
. - Renamed the enum case
recognizing
toscanning
inSBSDKCheckScannerState
. - Removed
acceptedCheckTypes
fromSBSDKCheckScanner
andSBSDKCheckScannerViewController
. - Introduced
acceptedCheckStandards
property inSBSDKCheckScannerConfiguration
to specify accepted check standards.
- Renamed enum
- Barcode Scanner:
- Removed properties
isSelectable
andisAutomaticSelectionEnabled
fromSBSDKBarcodeTrackingOverlayConfiguration
. - Renamed parameter
isSelected
toisHighlighted
in tracking overlay methods. - Changed delegate method signatures in
SBSDKBarcodeTrackingOverlayControllerDelegate
:- Removed
didChangeSelectedBarcodes
method. - Added
shouldHighlight
method to determine barcode highlighting state. - Added
proposedStyle
parameter to style-related delegate methods.
- Removed
- Removed properties
- General:
- Replaced all occurrences of the deprecated
AVCaptureVideoOrientation
enum by an equal enum namedSBSDKVideoOrientation
.
- Replaced all occurrences of the deprecated
- Document Scanner:
- 🚙 Under the hood:
- Added flatbuffers 2.0.6.
Version 7.0.3 (June 2025):
- 🐞 Bug fixes:
- Document Scanner:
- Fixed a memory leak when dealing with grayscale images.
- Document Scanner:
Version 7.0.2 (28 May 2025):
- 🎉 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:
- ** Document Scanner**:
- 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.
- PDF & TIFF Generation:
- PDF Generator with OCR layer now handles non-ASCII characters correctly.
- Barcode Scanner:
- GS1 Composite codes are now processed faster in Scan from Image mode.
- Improved the barcode scanner to better recognize QR codes if the top left finder pattern was 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.
- ** Document Scanner**:
- 🐞 Bug fixes:
- Document Scanner:
- Fixed a race condition in
SBSDKScannedPage
. - 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 race condition in
- Barcode Scanner:
- Fixed an issue when scanning Code 93 barcodes with
stripCheckDigits = false
(default) and the check digit was an extension character. - Fixed a crash in the RTU-UI v2 Barcode Scanner when using
SBSDKUI2FindAndPickScanningMode
.
- Fixed an issue when scanning Code 93 barcodes with
- Fixed an issue where quickly stopping and starting the camera session of any scanner screen could lead to a crash or unpredictable behavior.
- Fixed a crash in
SBSDKBaseScannerViewController
caused by camera access being restricted by system-wide settings (e.g. Parental Controls / Screen Time).
- Document Scanner:
- ⚠️ Breaking changes:
- MRZ Scanner:
- Replaced methods
SBSDKMRZScanner.scan(from: UIImage)
andSBSDKMRZScanner.scan(from: SBSDKBaseScannerFrame)
bySBSDKMRZScanner.scan(from: UIImage, useLiveMode: Bool)
andSBSDKMRZScanner.scan(from: SBSDKBaseScannerFrame, useLiveMode: Bool)
.
- Replaced methods
defaultBackFacingCamera
,defaultFrontFacingCamera
andwidestAvailableBackFacingCamera
now returns a simulated camera instead ofnil
if the physical camera is not available.- Removed property
stopsCameraSessionWhenDisappeared
fromSBSDKBaseScannerGeneralConfiguration
. To emulate this behavior, setcameraSessionKeepAliveTimeout
to a high value, e.g.TimeInterval.greatestFiniteMagnitude
.
- MRZ Scanner:
- 🚙 Under the hood:
- Upgraded xtensor to 0.26.
- Upgraded xtl to 0.8.
- Upgraded xsmid to 13.2.
- Upgraded CLI11 to 2.5.
- Upgraded spdlog to 1.15.2.
- Upgraded Boost to 1.88.
Version 7.0.0 (22 April 2025):
- 🎉 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 version size 20).
- Improved the user guidance in the Document Scanner RTU-UI v2 to support longer text entries.
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
stripCheckDigits = true
.
- 🐞 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 RTU-UI v2 where the bar buttons were not properly grayed 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 Scan and Count where the scanner would be stuck if there was 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 bug in the TIFF generator that prevented the creation of JPEG-encoded colored TIFF files.
- 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
andengineMode
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)
anddetectBarCodes(on: CMSampleBuffer, orientation: AVCaptureVideoOrientation)
inSBSDKBarcodeScanner
, use theSBSDKBarcodeScannerConfiguration
to initialize the scanner, the detect methods have been renamed toscan
. - Renamed the
SBSDKCheckRecognizer
toSBSDKCheckScanner
, also renamed itsrecognize
methods toscan
methods. - Removed properties
imageSizeLimit
andminimumNumberOfSymbols
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
defaultDetectorMode
,acceptedSizeScore
,acceptedAngleScore
,acceptedBrightnessThreshold
,currentTotalScore
,currentSizeScore
,currentWidthScore
,currentHeightScore
,currentAngleScore
,currentDistanceScore
,detectionMetrics
,preferredAspectRatios
,requiredAspectRatios
,detectedHorizontalEdges
,detectedVerticalEdges
anddetectorMode
inSBSDKDocumentDetector
, use the newcopyCurrentConfiguration()
andsetConfiguration(_:)
methods instead, theSBSDKDocumentDetector
was renamed toSBSDKDocumentScanner
. - Removed methods
detectDocumentPolygon(on: UIImage, visibleImageRect: CGRect, smoothingEnabled: Bool, useLiveDetectionParameters: Bool)
,detectPhotoPolygon(on: UIImage, visibleImageRect: CGRect, smoothingEnabled: Bool)
,detectDocumentPolygon(on: CMSampleBuffer, visibleImageRect: CGRect, smoothingEnabled: Bool, useLiveDetectionParameters: Bool)
anddetectPhotoPolygon(on: CMSampleBuffer, visibleImageRect: CGRect, smoothingEnabled: Bool)
inSBSDKDocumentDetector
, theSBSDKDocumentDetector
was renamed toSBSDKDocumentScanner
. - Removed property
recognizerParameters
inSBSDKHealthInsuranceCardRecognizerViewController
, use the newcopyCurrentConfiguration()
andsetConfiguration(_:)
methods instead. - Removed property
liveDetectionParameters
inSBSDKHealthInsuranceCardRecognizer
, use the newrecognize(from: useLiveMode:)
methods instead. - Removed methods
recognize(onStillImage:)
,recognize(onVideoFrameImage:)
,recognize(on:orientation:)
andrecognize(on:searchIn:orientation:)
inSBSDKHealthInsuranceCardRecognizer
, use the newrecognize(from: UIImage, useLiveMode: Bool)
,recognize(from: CMSampleBuffer, orientation: AVCaptureVideoOrientation)
andrecognize(from: SBSDKBaseScannerFrame, useLiveMode: Bool)
methods. - Removed properties
acceptedDocumentTypes
,resultAccumulatorConfiguration
,excludedFieldTypes
inSBSDKDocumentDataExtractorViewController
, use the newcopyCurrentConfiguration()
andsetConfiguration(_:)
methods instead. - Removed initializers
init?(acceptedDocumentTypes:excludedFieldTypes:delegate:)
,init?(parentViewController:parentView:delegate:)
andinit()
fromSBSDKDocumentDataExtractorViewController
. - Removed properties
acceptedDocumentTypes
,excludedFieldTypes
andresultAccumulatorConfiguration
inSBSDKDocumentDataExtractor
, use the newinit(configuration:)
initializer instead. - Removed initializers
init()
andinit(acceptedDocumentTypes:)
fromSBSDKDocumentDataExtractor
. - Removed properties
maxNumberOfAccumulatedResults
andrequiredNumberOfEqualAccumulatedResults
inSBSDKMRZScannerViewController
, use the newcopyCurrentConfiguration()
andsetConfiguration(_:)
methods instead. - Removed property
recognitionOptions
inSBSDKMedicalCertificateRecognizer
. TheSBSDKMedicalCertificateRecognizer
was renamed toSBSDKMedicalCertificateScanner
. - Removed initializer
init(configurationOptions:)
inSBSDKMedicalCertificateRecognizer
. TheSBSDKMedicalCertificateRecognizer
was renamed toSBSDKMedicalCertificateScanner
. - Removed property
options
inSBSDKPDFRenderer
. TheSBSDKPDFRenderer
was renamed toSBSDKPDFGenerator
. - Removed initializer
init(options:encrypter:)
inSBSDKPDFRenderer
. TheSBSDKPDFRenderer
was renamed toSBSDKPDFGenerator
. - Removed method
write(to:format:compression:)
inSBSDKImageProcessor
. - Removed classes
SBSDKVehicleIdentificationNumberScanner
,SBSDKVehicleIdentificationNumberScannerConfiguration
andSBSDKVehicleIdentificationNumberScannerResult
, please use the newSBSDKTextPatternScanner
class instead. - Removed class
SBSDKTIFFImageWriterCompressionOptions
, please use the newSBSDKCompressionMode
class. - Removed class
SBSDKTIFFImageWriterParameters
, please use the newSBSDKTIFFGeneratorParameters
class. - Removed class
SBSDKTIFFImageWriterUserDefinedField
, please use the newSBSDKUserField
class. - Removed class
SBSDKTIFFImageWriterUserDefinedFieldType
, please use the newSBSDKUserFieldValue
class. - Removed class
SBSDKDocumentDetectorResult
, please use the newSBSDKDocumentDetectionResult
class. - Removed class
SBSDKUIPDFRenderer
, please use the newSBSDKPDFGenerator
class. - Removed class
SBSDKUI2AspectRatio
, please useSBSDKAspectRatio
class. - Removed classes
SBSDKCaptureInfo
,SBSDKDocumentDetectionMetrics
,SBSDKGenericDocumentRecognizerAccumulationConfiguration
,SBSDKMachineReadableZoneRecognizerFieldName
,SBSDKMachineReadableZoneRecognizerField
,SBSDKMachineReadableZoneRecognizerResultCheckDigitType
,SBSDKMachineReadableZoneRecognizerResultCheckDigit
,SBSDKImageProcessorError
andSBSDKGenericTextLineRecognizerResultWordBox
. - Removed enum
SBSDKBarcodeImageGenerationType
and propertybarcodeImageGenerationType
fromSBSDKBarcodeScannerViewController
andSBSDKUIBarcodeScannerBehaviorConfiguration
. - Removed the License Plate Scanner and all of its related files.
- Replaced class
SBSDKMachineReadableZoneRecognizerResult
bySBSDKMRZScannerResult
. - Replaced class
SBSDKMachineReadableZoneRecognizerResultDocumentType
bySBSDKMRZDocumentType
. - Replaced class
SBSDKPDFRendererOptions
bySBSDKPDFConfiguration
. - Replaced initializer
init(mode:)
withinit(configuration:)
inSBSDKDocumentDetector
, now calledSBSDKDocumentScanner
. - Replaced class
SBSDKPolygonEdge
withSBSDKLineSegment
. - Replaced class
SBSDKMachineReadableZoneRecognizer
withSBSDKMRZScanner
. - Replaced method
recognize(from:detectDocument:)
withscan(from:parameters:)
, andrecognize(from:orientation:detectDocument:)
withscan(from:orientation:parameters:)
inSBSDKMedicalCertificateRecognizer
, now calledSBSDKMedicalCertificateScanner
. - Replaced class
SBSDKGenericTextLineRecognizer
withSBSDKTextPatternScanner
. - Replaced class
SBSDKGenericTextLineRecognizerConfiguration
withSBSDKTextPatternScannerConfiguration
. - Replaced class
SBSDKGenericTextLineRecognizerResult
withSBSDKTextPatternScannerResult
. - Replaced enum
SBSDKPolygonEdgeOrientation
withSBSDKLineSegmentOrientation
. - Replaced class
SBSDKCheckRecognizerResult
bySBSDKCheckScanningResult
. - Replaced class
SBSDKMedicalCertificateRecognizerConfigurationOptions
bySBSDKMedicalCertificateScanningParameters
. - Replaced class
SBSDKMedicalCertificateRecognizerResult
bySBSDKMedicalCertificateScanningResult
. - Replaced class
SBSDKCheckRecognitionResultStatus
bySBSDKCheckMagneticInkStripScanningStatus
. - Renamed class
SBSDKDocumentDetector
toSBSDKDocumentScanner
. - Renamed class
SBSDKDocumentDetectorMode
toSBSDKDocumentScannerEngineMode
. - Renamed class
SBSDKHealthInsuranceCardScannerViewController
toSBSDKHealthInsuranceCardRecognizerViewController
. - Renamed delegate
SBSDKHealthInsuranceCardScannerViewControllerDelegate
toSBSDKHealthInsuranceCardRecognizerViewControllerDelegate
and all of its method signatures. - Renamed delegate
SBSDKUIMRZRecongizerViewControllerDelegate
toSBSDKUIMRZScannerViewControllerDelegate
. - Renamed class
SBSDKBarcodeType
toSBSDKBarcodeFormat
. - Renamed class
SBSDKBarcodeDocumentRootType
toSBSDKBarcodeDocumentFormat
. - Renamed initializer
init(barcodeResult:)
toinit(barcodeItem:)
inSBSDKBarcodeScannerAccumulatingResult
. - Renamed method
barcodeScannerController(_:filterResults:)
tobarcodeScannerController(_:filterBarcodes:)
inSBSDKBarcodeScannerViewControllerDelegate
. - Renamed class
SBSDKCheckDocumentRootType
toSBSDKCheckDocumentModelRootType
. - Renamed method
recognize(on:orientation:)
toscan(from:orientation:)
,recognize(on:)
toscan(from: UIImage, useLiveMode: Bool)
,scan(from: SBSDKBaseScannerFrame, useLiveMode: Bool)
andscan(from: CMSampleBuffer, orientation: AVCaptureVideoOrientation)
inSBSDKCheckRecognizer
, now calledSBSDKCheckScanner
. - Renamed class
SBSDKUIHealthInsuranceCardScannerBehaviorConfiguration
toSBSDKUIHealthInsuranceCardRecognizerBehaviorConfiguration
. - Renamed class
SBSDKUIHealthInsuranceCardScannerConfiguration
toSBSDKUIHealthInsuranceCardRecognizerConfiguration
. - Renamed class
SBSDKUIHealthInsuranceCardScannerTextConfiguration
toSBSDKUIHealthInsuranceCardRecognizerTextConfiguration
. - Renamed class
SBSDKUIHealthInsuranceCardScannerUIConfiguration
toSBSDKUIHealthInsuranceCardRecognizerUIConfiguration
. - Renamed class
SBSDKUIHealthInsuranceCardScannerViewController
toSBSDKUIHealthInsuranceCardRecognizerViewController
. - Renamed the delegate
SBSDKUIHealthInsuranceCardScannerViewControllerDelegate
toSBSDKUIHealthInsuranceCardRecognizerViewControllerDelegate
. - Renamed method
recognize(on:videoOrientation:)
toextract(from:videoOrientation:)
, andrecognize(on:)
toextract(from:useLiveMode:)
inSBSDKDocumentDataExtractor
. - Renamed class
SBSDKGenericDocumentRootType
toSBSDKDocumentsModelRootType
. - Renamed class
SBSDKTIFFImageWriter
toSBSDKTIFFGenerator
. - Renamed class
SBSDKGenericTextLineRecognizerViewController
toSBSDKTextPatternScannerViewController
. - Renamed delegate
SBSDKGenericTextLineRecognizerViewControllerDelegate
toSBSDKTextPatternScannerViewControllerDelegate
. - Renamed method
textLineRecognizerViewController(_:didFinish:with:)
totextPatternScannerViewController(_:didFinish:with:)
, andtextLineRecognizerViewControllerDidCancel(_:)
totextPatternScannerViewControllerDidCancel(_:)
inSBSDKUITextPatternScannerViewControllerDelegate
. - Renamed enum
SBSDKMedicalCertificateRecognizerCheckboxType
toSBSDKMedicalCertificateCheckBoxType
. - Renamed class
SBSDKMedicalCertificateRecognizerCheckboxResult
toSBSDKMedicalCertificateCheckBox
. - Renamed enum
SBSDKMedicalCertificateRecognizerDateResult
toSBSDKMedicalCertificateDateRecord
. - Renamed enum
SBSDKMedicalCertificateRecognizerDateResultType
toSBSDKMedicalCertificateDateRecordType
. - Renamed enum
SBSDKMedicalCertificateRecognizerForm
toSBSDKMedicalCertificateFormType
. - Renamed enum
SBSDKMedicalCertificateRecognizerResultPatientFieldType
toSBSDKMedicalCertificatePatientInfoFieldType
. - Renamed enum
SBSDKMedicalCertificateRecognizerResultPatientField
toSBSDKMedicalCertificatePatientInfoField
- Renamed class
SBSDKHealthInsuranceCardFieldType
toSBSDKEuropeanHealthInsuranceCardRecognitionResultFieldType
. - Renamed class
SBSDKHealthInsuranceCardFieldValidationStatus
toSBSDKEuropeanHealthInsuranceCardRecognitionResultFieldValidationStatus
. - Renamed class
SBSDKHealthInsuranceCardField
toSBSDKEuropeanHealthInsuranceCardRecognitionResultField
. - Renamed class
SBSDKHealthInsuranceCardDetectionStatus
toSBSDKEuropeanHealthInsuranceCardRecognitionResultRecognitionStatus
. - Renamed class
SBSDKHealthInsuranceCardCountryType
toSBSDKEuropeanHealthInsuranceCardIssuingCountry
. - Renamed class
SBSDKHealthInsuranceCardRecognizerParameters
toSBSDKEuropeanHealthInsuranceCardRecognizerConfiguration
. - Renamed enum
SBSDKPDFRendererPageFitMode
toSBSDKPageFit
. - Renamed enum
SBSDKPDFRendererPageOrientation
toSBSDKPageDirection
. - Renamed enum
SBSDKPDFRendererPageSize
toSBSDKPageSize
. - Renamed class
SBSDKGenericDocumentConstants
toSBSDKDocumentsModelConstants
. - Renamed class
SBSDKGenericDocumentDeIdCardFront
toSBSDKDocumentsModelDeIdCardFront
. - Renamed class
SBSDKGenericDocumentMRZ
toSBSDKDocumentsModelMRZ
. - Renamed class
SBSDKGenericDocumentDeIdCardBack
toSBSDKDocumentsModelDeIdCardBack
. - Renamed class
SBSDKGenericDocumentDePassport
toSBSDKDocumentsModelDePassport
. - Renamed class
SBSDKGenericDocumentDeDriverLicenseFront
toSBSDKDocumentsModelDeDriverLicenseFront
. - Renamed class
SBSDKGenericDocumentDeDriverLicenseBack
toSBSDKDocumentsModelDeDriverLicenseBack
. - Renamed class
SBSDKGenericDocumentDeResidencePermitFront
toSBSDKDocumentsModelDeResidencePermitFront
. - Renamed class
SBSDKGenericDocumentDeResidencePermitBack
toSBSDKDocumentsModelDeResidencePermitBack
. - Renamed class
SBSDKGenericDocumentEuropeanHealthInsuranceCard
toSBSDKDocumentsModelEuropeanHealthInsuranceCard
. - Renamed class
SBSDKGenericDocumentDeHealthInsuranceCardFront
toSBSDKDocumentsModelDeHealthInsuranceCardFront
. - Renamed class
SBSDKUI2BarcodeScannerResult
toSBSDKUI2BarcodeScannerUIResult
. - Renamed class
SBSDKUI2BarcodeRecognizerConfiguration
toSBSDKBarcodeScannerConfiguration
. - Renamed property
croppingTopBarCancelButtonTitle
tocroppingCancelButtonTitle
inSBSDKUI2CroppingTextLocalization
andSBSDKUI2DocumentScannerTextLocalization
. - Renamed class
SBSDKHealthInsuranceCardRecognitionResult
toSBSDKEuropeanHealthInsuranceCardRecognitionResult
. - Renamed class
SBSDKBarcodesExtensionFilter
toSBSDKUIBarcodesExtensionFilter
. - Changed the initializers
init?(parentViewController:parentView:)
andinit?(parentViewController:parentView:delegate:)
toinit?(parentViewController:parentView:configuration:)
andinit?(parentViewController:parentView:configuration:delegate:)
inSBSDKBarcodeScannerViewController
. - Changed all methods of
SBSDKBarcodeTrackingOverlayControllerDelegate
to use the newSBSDKBarcodeItem
object type. - Changed the method
make(withBarcode:)
to use the newSBSDKBarcodeItem
inSBSDKTrackedBarcodeInfoViewable
. - Changed all methods of
SBSDKBarcodeScanAndCountViewController
to use the newSBSDKBarcodeItem
. - Changed the initializers
init?(parentViewController:parentView:)
andinit?(parentViewController:parentView:delegate:)
toinit?(parentViewController:parentView:configuration:)
andinit?(parentViewController:parentView:configuration:delegate:)
inSBSDKBarcodeScanAndCountViewController
. - Changed the initializer
init?(parentViewController:parentView:delegate:)
toinit?(parentViewController:parentView:configuration:delegate:)
inSBSDKCheckScannerViewController
. - Renamed parameter name
completionHandler
tocompletion
increate
andpresent
functions ofSBSDKUI2DocumentScannerController
. - Renamed parameter name
handler
tocompletion
increate
andpresent
functions ofSBSDKUI2BarcodeScannerViewController
. - Renamed async function
presentAsync(on:configuration)
topresent(on:configuration)
inSBSDKUI2BarcodeScannerViewController
. - Updated the type of the completion result parameter in
SBSDKUI2CroppingViewController
fromSBSDKUI2CroppingResult
toSBSDKUI2CroppingResult?
. The completion now returnsnil
when the user cancels the cropping. - Renamed property
ignoreBadAspectRatio
toignoreOrientationMismatch
inSBSDKUIDocumentScannerBehaviourConfiguration
. - Renamed property
ignoreBadAspectRatio
toignoreOrientationMismatch
inSBSDKUIFinderDocumentScannerBehaviourConfiguration
. - Replaced
SBSDKUI2BarcodesExtensionFilter
enum for RTU-UI v2 withSBSDKUpcEanExtensionBehavior
enum from Barcode Scanner Classic component API. - Renamed property
barcodesExtensionFilter
inSBSDKUI2BarcodeScannerConfiguration
toextensions
. - Changed the display names of various barcode formats (
SBSDKBarcodeFormat.name
):Australia Post
toAustralian Post
,CodaBar
toCodabar
,DataMatrix
toDatamatrix
,GS1 Databar Limited
toDatabar Limited
,EAN_13
toEAN 13
,EAN_8
toEAN 8
,IATA 2of5
toIATA 2 of 5
,INDUSTRIAL 2of5
toIndustrial 2 of 5
,MICRO PDF417
toMicro PDF 417
,MicroQRCode
toMicro QR
,QRCode
toQR
,RMQR Code
toRMQR
,UPC-A
toUPC A
, andUPC-E
toUPC E
.
- Removed properties
- ⚠️ Deprecations:
- The MRZ Scanner RTU-UI v1 is deprecated and will be removed soon. Instead, please use our new MRZ Scanner RTU-UI v2.
- The Text Pattern Scanner RTU-UI v1 is deprecated and will be removed soon. Instead, please use our new Text Pattern Scanner RTU-UI v2.
- 🚙 Under the hood:
- The regex filters are applied for substrings instead of the entire output string.
- Upgraded nlohmann::json to 3.11.3.
- Upgraded xsimd to 13.0.
- Upgraded xtl to 0.7.7.
- Upgraded xtensor to 0.25.
- Upgraded yaml-cpp to 0.8.
Version 6.2.0 (24 January 2025):
- 🎉 New:
- Added support for encryption/decryption of images and PDFs using the AES-GCM algorithm with random 96-bit initialization vectors and variable length authentication tags, as required for ePA-FdV-certification by gematik and BSI. See
SBSDKAESGCMEncrypter
class. - Added support for encryption key derivation using PBKDF2, HKDF and Random key derivation on both the standard AES encrypter (
SBSDKAESEncrypter
) and the new AES-GCM encrypter (SBSDKAESGCMEncrypter
) with variable key lengths (128 and 256 bits). See the new protocolSBSDKStorageCryptingKeyGenerator
and the new classesSBSDKRandomKeyGenerator
,SBSDKPBKDF2KeyGenerator
andSBSDKHKDFKeyGenerator
. - Added protocol-based support for encryption key management. See the new protocol
SBSDKStorageCryptingKeyProvider
and the new classSBSDKVolatileKeyProvider
. - Added new class
SBSDKVolatileKeyProvider
that stores, restores and deletes keys in memory per context. For a persistent storage, e.g. in the keychain or in a file, you can implement your own key provider by conforming to theSBSDKStorageCryptingKeyProvider
protocol. - Added support for encryption/decryption on a encryption-key-per-context base. See
SBSDKStorageCryptingKeyProvider
andSBSDKStorageCrypting
. - When storing files in image storages, with the PDF renderer, or the TIFF writer, a context in the form of the file URL is being passed to the encrypter APIs to allow for context-based key derivation.
- Added new property
autoCropOnManualSnap
toSBSDKDocumentScannerViewController
andSBSDKUI2DocumentScannerCameraConfiguration
to enable/disable the automatic cropping of the document after a manual snap. - Added new property
croppingPolygonMagneticLineColor
toSBSDKUI2CroppingScreenConfiguration
to set the color of the magnetic lines in the cropping screen. - Added compliance to NSCopying protocol to
SBSDKScannedDocument
. - Added new delegate method
barcodeTrackingOverlay(_ controller:overrideTextFor:proposedString:)
toSBSDKBarcodeTrackingOverlayControllerDelegate
. - Added new property
topBarTitle
toSBSDKUI2AcknowledgementScreenConfiguration
.
- Added support for encryption/decryption of images and PDFs using the AES-GCM algorithm with random 96-bit initialization vectors and variable length authentication tags, as required for ePA-FdV-certification by gematik and BSI. See
- 🚀 Improvements:
- The Generic Document Recognizer no longer needs the additional data bundle with OCR languages.
- The Generic Document Recognizer now returns ID number (document number field) and sequence number (personal number field) separately for pre-2022 Costa Rican passports.
- 🐞 Bug fixes:
- Fixed layout when hiding the text of the close button on zooming in RTU-UI v2 Document Scanner.
- Fixed a layout bug in the RTU-UI v2 cropping screen's top bar.
- Fixed a bug in the barcode RTU-UI v2 action bar items where the
accessibilityDescription
was not being applied correctly.
- 🚙 Under the hood:
- Removed third-party-library symbols from the binary to avoid linking conflicts.
Version 6.1.1 (28 November 2024):
- 🐞 Bug fixes:
- Fixed a bug that did not properly store an
SBSDKScannedDocument
without pages. - Fixed a bug that caused
SBSDKTIFFImageWriter
to crash when the input images are encrypted.
- Fixed a bug that did not properly store an
- ⚠️ Breaking Changes:
- Changed signature of
SBSDKScannedPage
methodapply(rotation: SBSDKImageRotation?, polygon: SBSDKPolygon?, filters: [SBSDKParametricFilter]?)
toapply(rotation: SBSDKImageRotation, polygon: SBSDKPolygon?, filters: [SBSDKParametricFilter]?)
to properly expose it to Objective-C.
- Changed signature of
Version 6.1.0 (7 November 2024):
- 🎉 New:
- Added a new property
hardwareButtonsEnabled
that enables snapping from the hardware volume buttons and the new hardware camera control button toSBSDKDocumentScannerViewController
andSBSDKBarcodeScanAndCountViewController
, available on iOS 17.2 and later. - Added new zoom control slider controlled by the new camera control button on all view controllers, available on all the new iPhone 16 models.
- Added a new property
captureWithHardwareButtonsEnabled
toSBSDKUI2DocumentScannerCameraConfiguration
. - Added a new mode
SBSDKUI2PageSnapFeedbackNone
to disable the animation when a page is captured. - Added a new property
allowEmptySubmission
toSBSDKUI2MultipleScanningMode
.
- Added a new property
- 🚀 Improvements:
- Document detector:
- Improved detection speed and robustness against orientation changes.
- Improved robustness against picking up random contours.
- Improved robustness against documents with colored corners, booklets, handheld documents and cards, documents near edges of tables and overlapping documents.
- Document detector:
- 🐞 Bug fixes:
- Fixed KANJI mode for QR codes.
- Fixed a bug with wrong raw bytes returned for some 2D barcode types.
- Fixed potential broken generic document field validation status that could lead to a crash or undefined behavior.
- Fixed a bug with the page counters visibility in the RTU-UI v2 Document Scanner.
- Fixed a bug in RTU-UI v2 Document Scanner where the document could not be captured in auto snap mode when
enabledInAutoSnappingMode
is set to false inSBSDKUI2ShutterButton
. - Fixed a memory leak in
SBSDKUI2DocumentScannerViewController
when the document scanner is dismissed.
- ⚠️ Breaking Changes:
- Replaced the buggy initializer
init?(json: Data)
inSBSDKUI2BarcodeScannerConfiguration
by the static functionSBSDKUI2BarcodeScannerConfiguration.fromJson(json: String)?
. - Replaced the buggy initializer
init?(json: Data)
inSBSDKUI2DocumentScanningFlow
by the static functionSBSDKUI2DocumentScanningFlow.fromJson(json: String)?
.
- Replaced the buggy initializer
Version 6.0.0 (15 October 2024):
- 🎉 New:
- Added new RTU-UI V2 component, see
SBSDKUI2DocumentScannerController
. - Added document capture animation in
SBSDKDocumentScannerViewController
. - Added new optional delegate function
documentScannerViewControllerCaptureAnimationConfiguration(_ controller: SBSDKDocumentScannerViewController) -> SBSDKDocumentAnimationConfiguration
inSBSDKDocumentScannerViewController
. - Added class
SBSDKDocumentAnimationConfiguration
to configure document capture animation. - Added classes
SBSDKScannedDocument
andSBSDKScannedPage
. - Added support for the new
SBSDKScannedDocument
class toSBSDKPDFRenderer
,SBSDKUIPDFRenderer
,SBSDKTIFFImageWriter
andSBSDKOpticalCharacterRecognizer
. - Added
init(uiColor: UIColor)
inSBSDKUI2Color
. - Added new property
isAnimatingCapture
toSBSDKDocumentScannerViewController
. - Added new class
SBSDKDocumentScannerPolygonConfiguration
. - Added new properties
polygonConfigurationAccepted
,polygonConfigurationRejected
andautoSnapProgressPolygonConfiguration
toSBSDKDocumentScannerViewController
. - Added new optional delegate method
documentScannerViewController(_ controller: SBSDKDocumentScannerViewController, polygonConfigurationFor: SBSDKDocumentDetectionStatus) -> SBSDKDocumentScannerPolygonConfiguration
to protocolSBSDKDocumentScannerViewControllerDelegate
. - Added new optional delegate method
imageEditingViewController(_ editingViewController: didDetectPolygon:)
toSBSDKImageEditingViewControllerDelegate
. - Added new property
addAdditionalQuietZone
toSBSDKBarcodeAdditionalParameters
. - Added new property
postalTypes
toSBSDKBarcodeType
.
- Added new RTU-UI V2 component, see
- 🚀 Improvements:
- Improved sharpness of captured images in
SBSDKDocumentScannerViewController
by tweaking various timing related default values, such asinitialScanDelay
andautoSnappingDelay
. - The AR-overlay in
SBSDKUI2FindAndPickScanningMode
is now visible by default. - For CODE_128 and ITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
- Improved sharpness of captured images in
- 🐞 Bug fixes:
- Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes are displayed along with their non-extended versions.
- Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
- Fixed a UI issue in the RTU-UI v2 Find & Pick scanner in
button
sheet mode where the counter badge was not visible. - Fixed a UI issue in
SBSDKFinderView
where the background color overlapped with the line color. - Fixed a crash when zooming with invalid
minZoom
andmaxZoom
values. - Fixed a bug that did not mirror the front camera as expected.
- Fixed a bug in
SBSDKUI2SingleScanDialogModelProvider
where the default displayed texts were not correct.
- ⚠️ Breaking Changes:
- Deprecated
SBSDKUIDocumentScannerViewController
,SBSDKUIFinderDocumentScannerViewController
,SBSDKUICroppingViewController
and their related classes. - Renamed the values of the enum
SBSDKDocumentDetectionStatus
. - Removed optional delegate method
documentScannerViewController(_ controller:, polygonLineColorFor:) -> UIColor
from protocolSBSDKDocumentScannerViewControllerDelegate
. - Removed optional delegate method
documentScannerViewController(_ controller:, polygonFillColorFor:) -> UIColor
from protocolSBSDKDocumentScannerViewControllerDelegate
. - Removed properties
polygonLineWidth
,polygonLineColorAccepted
,polygonLineColorRejected
,polygonFillColorAccepted
,polygonFillColorRejected
,polygonAutoSnapProgressEnabled
,polygonAutoSnapProgressColor
,polygonAutoSnapProgressLineWidth
andpolygonCornerRadius
fromSBSDKDocumentScannerViewController
. - Renamed property
residencePermitFronBack
toresidencePermitFrontBack
inSBSDKUIDocumentType
. - Removed parameter
encrypter
from allSBSDKPDFRenderer
methods and added it to the initializer of the class.
- Deprecated
Version 5.2.2 (2 August 2024):
- 🐞 Bug fixes:
- Fixed the false positive document detection (introduced in v5.2.0).
Version 5.2.1 (24 July 2024):
- 🎉 New:
- Added support for United Arab Emirates (UAE) and Canadian (CAN) checks.
- Added new properties
resultAccumulatorConfiguration
toSBSDKGenericDocumentRecognizer
andSBSDKGenericDocumentRecognizerViewController
. See new classSBSDKGenericDocumentRecognizerAccumulationConfiguration
.
- 🚀 Improvements:
- Made the SwiftUI Barcode Scanner more flexible. See
SBSDKUI2BarcodeScannerView
.
- Made the SwiftUI Barcode Scanner more flexible. See
- 🐞 Bug fixes:
- Fixed a UI issue on the RTU-UI V2 barcode sheet screen where the subtitle label was being vertically cut off.
- Fixed a UI issue on the RTU-UI V2 barcode confirmation sheet in the single use case where the loading indicator was not centered when the loading message was hidden.
- Fixed a bug in
compression
ofSBSDKTIFFImageWriterParameters
where theSBSDKTIFFImageWriter
was not using the chosen compression value. - Fixed a bug in
SBSDKCheckRecognizer
where theacceptedCheckTypes
were not being applied correctly. - Fixed a bug in
SBSDKUICheckRecognizerViewController
where theacceptedCheckStandards
were not being applied correctly.