Changelog for the iOS Document Scanner SDK
tip
For additional details about the API, please refer to our API reference documentation.
Version 7.1.4 (28 October 2025)
- 🐞 Bug fixes:
- Barcode Scanner:
- Fixed truncated text on the back button in the RTU-UI v2 Barcode Scanner screen.
 
 - Document Scanner:
- Fixed truncated texts on the back buttons in the RTU-UI v2 Document Scanner screens.
 
 
 - Barcode Scanner:
 
Version 7.1.3 (15 October 2025)
- 🎉 New:
- Barcode Scanner:
- Barcode configurations for 1D barcode types have a new field 
minimumNumberOfRequiredFramesWithEqualRecognitionResultthat requires this number of frames on which the barcode has to be detected. 
 - Barcode configurations for 1D barcode types have a new field 
 - Check Scanner:
- We now extract the field after the account number on US checks. The name in the result is 
checkNumber. Note that this name is only based on common usage and not on any enforced standard. - Added 
SBSDKCheckScannerViewControllerDelegatefunctioncheckScannerViewControllerShouldCaptureHighResImage(_ controller: SBSDKCheckScannerViewController, forResult result: SBSDKCheckScanningResult) -> Bool. 
 - We now extract the field after the account number on US checks. The name in the result is 
 
 - Barcode Scanner:
 - 🚀 Improvements:
- Check Scanner:
- Updated US check field documentation.
 
 
 - Check Scanner:
 - 🐞 Bug fixes:
- General:
- Fixed a bug in the RTU-UI v2 user interface that prevented the proper display of the view finder in landscape mode.
 
 - Document Scanner:
- Fixed a bug in RTU-UI v2 that did not always crop images from the photo library.
 
 - Check Scanner:
- Fixed a bug in the implementation of the US check standard which lead to rejection of valid checks.
 - Fixed a bug in Check Scanner RTU-UI v2 that delivered (invalid) results when 
documentDetectionModewas set todetectAndCropDocument. 
 
 - General:
 - ⚠️ Breaking changes:
- Barcode Scanner:
- The field 
minConfirmationsStandaloneEANinSBSDKBarcodeAccumulationConfigurationwas moved and renamed to the fieldminimumNumberOfRequiredFramesWithEqualRecognitionResultExtensionlessinSBSDKBarcodeFormatUpcEanConfiguration. 
 - The field 
 - Check Scanner:
- Changed 
SBSDKCheckScannerViewControllerDelegatefunctioncheckScannerViewController(: SBSDKCheckScannerViewController, didScanCheck: SBSDKCheckScanningResult)tocheckScannerViewController(: SBSDKCheckScannerViewController ,didScanCheck: SBSDKCheckScanningResult, isHighRes: Bool). 
 - Changed 
 
 - Barcode Scanner:
 
Version 7.1.2 (1 September 2025):
- 🎉 New:
- General:
- Added property 
isInterruptedtoSBSDKCameraSessionto indicate if the camera session was interrupted by the system. 
 - Added property 
 - Document Scanner:
- Added property 
documentPreviewImageSizeLimitinSBSDKDocumentPageto limit the size of the document preview image. 
 - Added property 
 
 - General:
 - 🚀 Improvements:
- Document Scanner:
- Rebalanced the internally used photo capture settings to better match the photo quality prioritization modes. The mode 
speedis now significantly faster, the modebalancedis a bit faster, and the modequalityis a bit slower with the best possible image quality. 
 - Rebalanced the internally used photo capture settings to better match the photo quality prioritization modes. The mode 
 
 - Document Scanner:
 - 🐞 Bug fixes:
- Document Scanner:
- Fixed an issue on simulators where the shutter button was missing in the RTU-UI Document Scanner.
 
 - General:
- Fixed a bug with scanned documents cloning when using per-file encryption.
 
 
 - Document Scanner:
 
Version 7.1.0 (24 July 2025):
- 🎉 New:
- Document Scanner:
- Added property 
showReviewScreenOnStarttoSBSDKUI2DocumentScanningFlow. If enabled, the scanner automatically navigates to the Review Screen when the flow starts. - Added property 
openReviewAfterEachScantoSBSDKUI2CameraScreenConfiguration. If enabled, the Review Screen is opened after each addition of a new page. - Added property 
showLastPageWhenAddingtoSBSDKUI2ReviewScreenConfiguration. If enabled, the Review Screen will be opened showing the last page. 
 - Added property 
 - General:
- Added property 
hardwareButtonsEnabledtoSBSDKUI2CameraConfiguration. If enabled, it allows zooming using the camera control button (iPhone 16 series). - Added property 
fpsLimittoSBSDKUI2CameraConfigurationandSBSDKUI2DocumentScannerCameraConfigurationto limit the rate of detections per second in normal performance mode. - Added property 
didEndZoomHandlertoSBSDKZoomingImageScrollView. - Added analytics support with new classes: 
SBSDKAnalyticsManager,SBSDKAnalyticsEvent,SBSDKAnalyticsFeature,SBSDKAnalyticsCategory,SBSDKAnalyticsEventName,SBSDKAnalyticsEventFactory, andSBSDKAnalyticsSubscriberfor 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 Document Scanner RTU-UI v2 Review Screen now closes when you finish zooming while being below the minimum zoom value.
 
 - Document Quality Analyzer:
- Speed improvements. Note: document quality scores may slightly change for the same input images when compared to the previous version of the DoQA.
 
 
 - 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 
enabledInAutoSnappingModewas set to false inSBSDKUI2ShutterButton. - Fixed a bug in RTU-UI v2 Document Scanner Swift UI component 
SBSDKUI2DocumentScannerViewwhere 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.
 
 - Storage Crypting:
- Fixed data corruption issues in AES encryption/decryption that could result in corrupted or partially corrupted files.
 
 
 - Document Scanner:
 - ⚠️ Breaking changes:
- Document Scanner:
- Changed the 
inittoconvenience initinSBSDKUI2DocumentScannerController. - The 
SBSDKUI2DocumentScannerControllerdoes not dismiss itself automatically anymore when usingconvenience init(configuration:completion:)or the staticcreate(configuration:completion:)method. 
 - Changed the 
 - PDF Image Extractor:
- Removed parameter 
scalingfrom all methods and replaced it by member variablescaleFactor. 
 - Removed parameter 
 - General:
- Replaced all occurrences of the deprecated 
AVCaptureVideoOrientationenum 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 
hardwareButtonsEnabledtoSBSDKBaseScannerViewControllerwhich can be set tofalseto restore the original volume button behavior. - Added properties 
cameraSessionKeepAliveTimeoutandanimateCameraOverlaytoSBSDKBaseScannerGeneralConfiguration. - Added properties 
sessionDidChangeHandlerandisSessionRunningtoSBSDKBaseScannerViewController. - Added functions 
pauseandresumetoSBSDKBaseScannerViewController. 
 - Added property 
 - 🚀 Improvements:
- 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 a race condition in 
SBSDKScannedPage. - 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 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 
SBSDKBaseScannerViewControllercaused by camera access being restricted by system-wide settings (e.g. Parental Controls / Screen Time). 
 - Fixed a race condition in 
 - ⚠️ Breaking changes:
defaultBackFacingCamera,defaultFrontFacingCameraandwidestAvailableBackFacingCameranow returns a simulated camera instead ofnilif the physical camera is not available.- Removed property 
stopsCameraSessionWhenDisappearedfromSBSDKBaseScannerGeneralConfiguration. To emulate this behavior, setcameraSessionKeepAliveTimeoutto a high value, e.g.TimeInterval.greatestFiniteMagnitude. 
 - 🚙 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.1 (May 2025):
- 🎉 New:
 
- Added property 
hardwareButtonsEnabledtoSBSDKBaseScannerViewControllerwhich can be set tofalseto restore the original volume button behavior. 
- 🐞 Bug fixes:
 
- 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.
 
Version 7.0.0 (22 April 2025):
- 🎉 New:
- Document Scanner:
DocumentDetectorwas renamed toDocumentScannerand has a more advanced configuration and scanning API. SeeSBSDKDocumentScanner.- 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. - Introduced advanced generation settings for PDFs and TIFFs (via 
SBSDKPDFConfigurationandSBSDKTIFFGeneratorParameters). - Added a new document detection status 
okButTooDark. - Ability to set the bad aspect ratio hint of the Document Scanner. See 
SBSDKDocumentScannerStatusTextConfiguration.textHintBadAspectRatio. - Image Processor can be initialized with 
SBSDKImageRef,UIImage, orimageURL. New methods to apply filters, crop, rotate, and resize. SeeSBSDKImageProcessor. - Advanced configuration of the PDF Generator. See 
SBSDKPDFConfiguration. Introduced new OCR configuration:SBSDKPDFGenerator.ocrConfiguration. 
 - Document Quality Analyzer:
- New and advanced API. See 
SBSDKDocumentQualityAnalyzer,SBSDKDocumentQualityAnalyzerConfiguration, andSBSDKDocumentQualityAnalyzerResult. - Can now also return the orientation of the document in steps of 90 degrees. Enabled by setting 
SBSDKDocumentQualityAnalyzerConfiguration.detectOrientationto true. - Optionally, 
QualityHeatmapis returned as a part of theSBSDKDocumentQualityAnalyzerResult. - Added support for an advanced on-image scanning configuration 
SBSDKDocumentQualityAnalyzer.analyze(image:)call. 
 - New and advanced API. See 
 - Credit Card Scanner:
- Introduced a new beta feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See 
SBSDKCreditCardScanner. - New RTU UI v2 component for Credit Card Scanner.
 
 - Introduced a new beta feature: Credit Card Scanner, capable of detecting credit cards and extracting data from them. See 
 - MRZ Scanner:
- Advanced configuration of MRZ Scanner. See 
SBSDKMRZScannerConfiguration. - New RTU UI v2 is now available for MRZ Scanner. See 
SBSDKUI2MRZScannerViewController. - Added support for non-ICAO conformant machine readable zones on US border crossing cards.
 
 - Advanced configuration of MRZ Scanner. See 
 - Text Pattern Scanner:
- Feature was renamed from Generic Text Recognizer to Text Pattern Scanner and has more advanced configuration and scanning API. See 
SBSDKTextPatternScanner. - New RTU UI v2 is now available for Text Pattern Scanner. See 
SBSDKUI2TextPatternScannerViewController. 
 - Feature was renamed from Generic Text Recognizer to Text Pattern Scanner and has more advanced configuration and scanning API. See 
 - VIN Scanner:
- Added a new property 
extractVINFromBarcodeinSBSDKUIVINScannerBehaviorConfigurationthat allows VIN data extraction from barcodes (for RTU UI v1). 
 - Added a new property 
 - Document Data Extractor:
- Feature was renamed from Generic Document Recognizer to Document Data Extractor and has more advanced configuration and scanning API. See 
SBSDKDocumentDataExtractor. - Now supports fallback to extraction of only the MRZ on unsupported documents by using the config 
SBSDKMRZDocumentType.unknown. - Added support for German driver qualification card.
 - Document field validation now supports two additional statuses: 
inferredandignored. SeeSBSDKGenericDocumentFieldValidationStatus. - Generic document fields now support 
parsedDataattributes for standardized data (ISO 8601 dates, ISO 3166-1 countries, "Male"/"Female" gender). SeeSBSDKGenericDocumentFieldParsedData. - Added support for an advanced on-image scanning configuration for: 
SBSDKDocumentDataExtractor,SBSDKEuropeanHealthInsuranceCardRecognizer,SBSDKMedicalCertificateScanner,SBSDKMRZScanner, andSBSDKCheckScanner. 
 - Feature was renamed from Generic Document Recognizer to Document Data Extractor and has more advanced configuration and scanning API. See 
 - Health Insurance Card (EHIC) Scanner:
- Advanced configuration of Health Insurance Card Recognizer. See 
SBSDKEuropeanHealthInsuranceCardRecognizerConfiguration. 
 - Advanced configuration of Health Insurance Card Recognizer. See 
 - Check Scanner:
- Feature was renamed to Check Scanner and has more advanced configuration and scanning API. See 
SBSDKCheckScanner. - Ability to configure Check Scanner Classic UI using 
SBSDKCheckScannerViewController.setConfiguration(_:). 
 - Feature was renamed to Check Scanner and has more advanced configuration and scanning API. See 
 - Medical Certificate Scanner:
- Feature 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:). 
 - Feature was renamed to Medical Certificate Scanner and has more advanced configuration and scanning API. See 
 - Barcode Scanner:
- Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
 - Added support for the HIBC barcode document format.
 - Added support for an advanced on-image scanning configuration for 
SBSDKBarcodeScanner.scan(from:useLiveMode:)call. - Added ability to configure common barcode properties via 
SBSDKBarcodeFormatCommonConfiguration. - Added 
minimumSizeScoreto barcode configurations;SBSDKBarcodeItemhas newsizeScore. Barcodes withsizeScore < minimumSizeScoreare ignored. - Introduced 
strictModefor certain barcode configurators (QR Code,Micro QR Code,rMQR Code,PDF417,MicroPDF417andgs1Composite). - Added the ability to return the barcode image in the resulting object via 
SBSDKUI2BarcodeScannerConfiguration.returnBarcodeImage. - Added new engine modes 
nextGenLowPower,nextGenFarDistanceandnextGenLowPowerFarDistance. SeeSBSDKBarcodeScannerEngineMode. - Barcode scanning results have been enhanced with more detailed information. See 
SBSDKBarcodeItem. - Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). Old sets removed. See 
SBSDKBarcodeFormat,SBSDKBarcodeFormats. - Ability to initialize Barcode Scanner using 
SBSDKBarcodeScanner.init(formats:, extractedDocumentFormats:). - Introduced new property 
optimizeOverlaystoSBSDKBarcodeScanner. - Ability to configure Barcode Scanner Classic UI and Scan-and-Count Classic UI using 
setConfiguration(_:). - Ability to get 
extractedDocumentFormatsfromSBSDKBarcodeDocumentParser. - Ability to know when a barcode was last detected using 
SBSDKBarcodeScannerAccumulatingResult.dateOfLastDetection. 
 - Added property 
hardwareButtonsEnabledtoSBSDKBaseScannerViewController(all Classic UI) to toggle volume button behavior. - Cropped images returned as part of the scanner results are now represented as image references (
SBSDKImageRef), convertible toUIImage. - Ability to additionally process frames before main scanner via 
SBSDKBaseScannerViewController.additionalFrameProcessor. - Introduced 
SBSDKUI2PermanentViewFinderConfigurationfor always visible view finder. - Document Data Extractor, Medical Certificate Scanner and Check Scanner now return document detection results (
SBSDKDocumentDetectionResult). - Added new enum case 
phototoSBSDKVideoFrameResolution. 
 - Document Scanner:
 - 🚀 Improvements:
- Document Scanner:
- Added 
okButOrientationMismatchstatus, returned when screen and document orientations don't match. Can be disabled by settingignoreOrientationMismatchto True. SeeSBSDKDocumentDetectionStatusandSBSDKDocumentScannerParameters. - 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 
SBSDKScannedPageand in the RTU-UI v2 Document Scanner Review Screen. - Improved captured image quality when using the Document Scanner Classic UI or RTU-UI (v1 and v2).
 - Improved the user guidance in the Document Scanner RTU-UI v2 to support longer text entries.
 
 - Added 
 - Document Quality Analyzer (DQA):
- Guarantee the same document quality score for 90 degrees rotated images.
 
 - Image Processing:
- New Image Processor preset 
BinarizationFilterPreset.PRESET_5for documents with barcodes. 
 - New Image Processor preset 
 - Text Pattern Scanner:
- Improved performance with the same quality.
 
 - VIN Scanner:
- Validation of VINs implements the full ISO 3779 standard, reducing false positives.
 
 - Document Data Extractor (DDE):
- Digits can no longer be recognized as part of given names or surnames.
 - Higher accuracy for document classification.
 
 - Barcode Scanner:
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set 
stripCheckDigits = true. - Significant speed-up in live mode on very large input resolutions.
 - Improved barcode detection for various barcode types.
 - More robust QR code recognition (timing patterns, alignment, artistic QR codes).
 - QR codes with non-square finder patterns and embedded in adversarial backgrounds can now be recognized.
 - Improved quiet zone checks for 
ITF,Code 11,MSI Plessey,IATA 2 of 5,Industrial 2 of 5, andCode 25. - Improved the false positive rate for 
ITF. - Added the option to ignore barcodes that do not decode to one of the accepted document formats for Barcode Scanner RTU-UI v2 (
SBSDKBarcodeScannerConfiguration.onlyAcceptDocuments). - Improved performance when scanning four-state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
 - Improved the recognition of 
PDF417barcodes. - Improved the barcode scanner to better recognize the 
QRcodes if the top left finder pattern is corrupted (up to QR code version size 20). 
 - By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set 
 
 - Document Scanner:
 - 🐞 Bug Fixes:
- Document Scanner and Data Capture modules:
- Fixed processing of still images of an indexed color space model in all scanners, Document Quality Analyzer, and PDF and TIFF generators.
 - Fixed a UI bug in the Document Scanner Classic UI where 
accepteddocument'sfillColorwas not being removed when theautoSnapProgressfillColorwas 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 a bug in the TIFF generator that prevented the creation of JPEG-encoded colored TIFF files.
 
 - Barcode Scanner:
- Fixed returned results for all types of 
SBSDKUpcEanExtensionBehavior. - Fixed the checksum of the 
Code 39barcode format. - 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 
SBSDKBarcodeScannerViewControllerthat 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 returned results for all types of 
 
 - Document Scanner and Data Capture modules:
 - ⚠️ Breaking changes:
- General API structure & naming:
- Extensive renaming of classes, properties, methods, and enums (e.g., 
DocumentDetectortoSBSDKDocumentScanner,GenericDocumentRecognizertoSBSDKDocumentDataExtractor,CheckRecognizertoSBSDKCheckScanner,SBSDKHealthInsuranceCardRecognizerrelated classes,SBSDKMachineReadableZoneRecognizertoSBSDKMRZScanner,SBSDKGenericTextLineRecognizertoSBSDKTextPatternScanner,SBSDKMedicalCertificateRecognizertoSBSDKMedicalCertificateScanner,SBSDKPDFRenderertoSBSDKPDFGenerator,SBSDKTIFFImageWritertoSBSDKTIFFGenerator). - Many 
recognize...methods renamed toscan...orextract.... - Many initializers changed to accept new configuration objects.
 
 - Extensive renaming of classes, properties, methods, and enums (e.g., 
 - Feature removal:
- Removed the License Plate Scanner and all of its related files.
 
 - Result type changes:
- Result objects updated for many scanners (e.g., 
SBSDKDocumentDetectionResult,SBSDKBarcodeItem,SBSDKMRZScannerResult,SBSDKCheckScanningResult,SBSDKMedicalCertificateScanningResult). SBSDKMachineReadableZoneRecognizerResultreplaced bySBSDKMRZScannerResult.SBSDKMachineReadableZoneRecognizerResultDocumentTypebySBSDKMRZDocumentType.SBSDKCheckRecognizerResultbySBSDKCheckScanningResult.SBSDKMedicalCertificateRecognizerResultbySBSDKMedicalCertificateScanningResult.SBSDKHealthInsuranceCardRecognitionResulttoSBSDKEuropeanHealthInsuranceCardRecognitionResult.
 - Result objects updated for many scanners (e.g., 
 - Configuration object changes:
- Removed old configuration APIs for most scanners; use new 
setConfiguration(_:)methods with dedicated configuration objects. SBSDKPDFRendererOptionsreplaced bySBSDKPDFConfiguration.SBSDKUI2BarcodeRecognizerConfigurationtoSBSDKBarcodeScannerConfiguration.SBSDKUI2AspectRatioreplaced bySBSDKAspectRatio.
 - Removed old configuration APIs for most scanners; use new 
 - Document Scanner:
- Properties related to detection parameters (angle, size, brightness, and aspect ratios) moved from 
SBSDKUI2DocumentScannerCameraConfigurationtoscannerParametersinSBSDKUI2CameraScreenConfiguration. ignoreBadAspectRatiorenamed toignoreOrientationMismatchin UI configurations.SBSDKDocumentDetectorResultreplaced bySBSDKDocumentDetectionResult.SBSDKPolygonEdgebySBSDKLineSegment.- Renamed class 
SBSDKDocumentDetectorModetoSBSDKDocumentScannerEngineMode. 
 - Properties related to detection parameters (angle, size, brightness, and aspect ratios) moved from 
 - Barcode Scanner:
- Initializers for 
SBSDKBarcodeScannerViewControllerandSBSDKBarcodeScanAndCountViewControllerchanged to accept configuration objects. SBSDKUI2BarcodeScannerResultrenamed toSBSDKUI2BarcodeScannerUIResult.- Removed properties like 
acceptedBarcodeTypes,engineMode, etc., fromSBSDKBarcodeScannerViewController; configure viaSBSDKBarcodeScannerConfiguration. SBSDKBarcodeScannerAccumulatingResult.coderemoved, useitem.SBSDKBarcodeTyperenamed toSBSDKBarcodeFormat.SBSDKBarcodeDocumentRootTypetoSBSDKBarcodeDocumentFormat. Display names of various barcode formats changed.- Replaced 
SBSDKUI2BarcodesExtensionFilterenum withSBSDKUpcEanExtensionBehavior. PropertybarcodesExtensionFilterinSBSDKUI2BarcodeScannerConfigurationrenamed toextensions. - Methods of 
SBSDKBarcodeTrackingOverlayControllerDelegateandSBSDKTrackedBarcodeInfoViewablenow useSBSDKBarcodeItem. - Removed 
SBSDKBarcodeImageGenerationTypeand related properties. 
 - Initializers for 
 - Other class & enum renames:
SBSDKCheckDocumentRootTypetoSBSDKCheckDocumentModelRootType.SBSDKCheckRecognitionResultStatusbySBSDKCheckMagneticInkStripScanningStatus.SBSDKGenericDocumentRootTypetoSBSDKDocumentsModelRootTypeand related constants/model classes.SBSDKHealthInsuranceCardFieldTypetoSBSDKEuropeanHealthInsuranceCardRecognitionResultFieldTypeand related field/status/type classes.SBSDKMedicalCertificateRecognizerCheckboxTypetoSBSDKMedicalCertificateCheckBoxTypeand related result/enum renames.- Renamed parameter 
completionHandlertocompletionincreateandpresentfunctions ofSBSDKUI2DocumentScannerController. - Renamed parameter 
handlertocompletionincreateandpresentfunctions ofSBSDKUI2BarcodeScannerViewController. - Renamed async function 
presentAsync(on:configuration)topresent(on:configuration)inSBSDKUI2BarcodeScannerViewController. - Completion result type for 
SBSDKUI2CroppingViewControlleris now optional (SBSDKUI2CroppingResult?). 
 - Other removed classes:
- Removed 
SBSDKCaptureInfo,SBSDKDocumentDetectionMetrics,SBSDKGenericDocumentRecognizerAccumulationConfiguration,SBSDKMachineReadableZoneRecognizerFieldName,SBSDKImageProcessorError, etc. 
 - Removed 
 
 - General API structure & naming:
 - ⚠️ Deprecations:
- MRZ Scanner RTU-UI v1 is deprecated. Use new 
SBSDKUI2MRZScannerViewController. - Text Pattern Scanner RTU-UI v1 is deprecated. Use new 
SBSDKUI2TextPatternScannerViewController. 
 - MRZ Scanner RTU-UI v1 is deprecated. Use new 
 - 🚙 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 
SBSDKAESGCMEncrypterclass. - 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 protocolSBSDKStorageCryptingKeyGeneratorand the new classesSBSDKRandomKeyGenerator,SBSDKPBKDF2KeyGeneratorandSBSDKHKDFKeyGenerator. - Added protocol-based support for encryption key management. See the new protocol 
SBSDKStorageCryptingKeyProviderand the new classSBSDKVolatileKeyProvider. - Added new class 
SBSDKVolatileKeyProviderthat 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 theSBSDKStorageCryptingKeyProviderprotocol. - Added support for encryption/decryption on a encryption-key-per-context base. See 
SBSDKStorageCryptingKeyProviderandSBSDKStorageCrypting. - 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 
autoCropOnManualSnaptoSBSDKDocumentScannerViewControllerandSBSDKUI2DocumentScannerCameraConfigurationto enable/disable the automatic cropping of the document after a manual snap. - Added new property 
croppingPolygonMagneticLineColortoSBSDKUI2CroppingScreenConfigurationto 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 
topBarTitletoSBSDKUI2AcknowledgementScreenConfiguration. 
 - 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 
accessibilityDescriptionwas 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 
SBSDKScannedDocumentwithout pages. - Fixed a bug that caused 
SBSDKTIFFImageWriterto crash when the input images are encrypted. 
 - Fixed a bug that did not properly store an 
 - ⚠️ Breaking Changes:
- Changed signature of 
SBSDKScannedPagemethodapply(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 
hardwareButtonsEnabledthat enables snapping from the hardware volume buttons and the new hardware camera control button toSBSDKDocumentScannerViewControllerandSBSDKBarcodeScanAndCountViewController, 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 
captureWithHardwareButtonsEnabledtoSBSDKUI2DocumentScannerCameraConfiguration. - Added a new mode 
SBSDKUI2PageSnapFeedbackNoneto disable the animation when a page is captured. - Added a new property 
allowEmptySubmissiontoSBSDKUI2MultipleScanningMode. 
 - 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 
enabledInAutoSnappingModeis set to false inSBSDKUI2ShutterButton. - Fixed a memory leak in 
SBSDKUI2DocumentScannerViewControllerwhen the document scanner is dismissed. 
 - ⚠️ Breaking Changes:
- Replaced the buggy initializer 
init?(json: Data)inSBSDKUI2BarcodeScannerConfigurationby the static functionSBSDKUI2BarcodeScannerConfiguration.fromJson(json: String)?. - Replaced the buggy initializer 
init?(json: Data)inSBSDKUI2DocumentScanningFlowby 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) -> SBSDKDocumentAnimationConfigurationinSBSDKDocumentScannerViewController. - Added class 
SBSDKDocumentAnimationConfigurationto configure document capture animation. - Added classes 
SBSDKScannedDocumentandSBSDKScannedPage. - Added support for the new 
SBSDKScannedDocumentclass toSBSDKPDFRenderer,SBSDKUIPDFRenderer,SBSDKTIFFImageWriterandSBSDKOpticalCharacterRecognizer. - Added 
init(uiColor: UIColor)inSBSDKUI2Color. - Added new property 
isAnimatingCapturetoSBSDKDocumentScannerViewController. - Added new class 
SBSDKDocumentScannerPolygonConfiguration. - Added new properties 
polygonConfigurationAccepted,polygonConfigurationRejectedandautoSnapProgressPolygonConfigurationtoSBSDKDocumentScannerViewController. - Added new optional delegate method 
documentScannerViewController(_ controller: SBSDKDocumentScannerViewController, polygonConfigurationFor: SBSDKDocumentDetectionStatus) -> SBSDKDocumentScannerPolygonConfigurationto protocolSBSDKDocumentScannerViewControllerDelegate. - Added new optional delegate method 
imageEditingViewController(_ editingViewController: didDetectPolygon:)toSBSDKImageEditingViewControllerDelegate. - Added new property 
addAdditionalQuietZonetoSBSDKBarcodeAdditionalParameters. - Added new property 
postalTypestoSBSDKBarcodeType. 
 - Added new RTU-UI V2 component, see 
 - 🚀 Improvements:
- Improved sharpness of captured images in 
SBSDKDocumentScannerViewControllerby tweaking various timing related default values, such asinitialScanDelayandautoSnappingDelay. - The AR-overlay in 
SBSDKUI2FindAndPickScanningModeis 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 
buttonsheet mode where the counter badge was not visible. - Fixed a UI issue in 
SBSDKFinderViewwhere the background color overlapped with the line color. - Fixed a crash when zooming with invalid 
minZoomandmaxZoomvalues. - Fixed a bug that did not mirror the front camera as expected.
 - Fixed a bug in 
SBSDKUI2SingleScanDialogModelProviderwhere the default displayed texts were not correct. 
 - ⚠️ Breaking Changes:
- Deprecated 
SBSDKUIDocumentScannerViewController,SBSDKUIFinderDocumentScannerViewController,SBSDKUICroppingViewControllerand their related classes. - Renamed the values of the enum 
SBSDKDocumentDetectionStatus. - Removed optional delegate method 
documentScannerViewController(_ controller:, polygonLineColorFor:) -> UIColorfrom protocolSBSDKDocumentScannerViewControllerDelegate. - Removed optional delegate method 
documentScannerViewController(_ controller:, polygonFillColorFor:) -> UIColorfrom protocolSBSDKDocumentScannerViewControllerDelegate. - Removed properties 
polygonLineWidth,polygonLineColorAccepted,polygonLineColorRejected,polygonFillColorAccepted,polygonFillColorRejected,polygonAutoSnapProgressEnabled,polygonAutoSnapProgressColor,polygonAutoSnapProgressLineWidthandpolygonCornerRadiusfromSBSDKDocumentScannerViewController. - Renamed property 
residencePermitFronBacktoresidencePermitFrontBackinSBSDKUIDocumentType. - Removed parameter 
encrypterfrom allSBSDKPDFRenderermethods 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 
resultAccumulatorConfigurationtoSBSDKGenericDocumentRecognizerandSBSDKGenericDocumentRecognizerViewController. 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 
compressionofSBSDKTIFFImageWriterParameterswhere theSBSDKTIFFImageWriterwas not using the chosen compression value. - Fixed a bug in 
SBSDKCheckRecognizerwhere theacceptedCheckTypeswere not being applied correctly. - Fixed a bug in 
SBSDKUICheckRecognizerViewControllerwhere theacceptedCheckStandardswere not being applied correctly. 
 - ⚠️ Breaking Changes:
- Changed SwiftUI Barcode Scanner initializer to accept blocks instead of binding vars. See 
SBSDKUI2BarcodeScannerView. - Removed 
ccittfax3andccittfax4options fromSBSDKTIFFImageWriterCompressionOptions, you should now useccitt_t4andccitt_t6respectively. 
 - Changed SwiftUI Barcode Scanner initializer to accept blocks instead of binding vars. See 
 
Version 5.2.0 (26 June 2024):
- 🎉 New:
- Added support for german health insurance card front side and european health insurance card to 
SBSDKGenericDocumentRecognizer,SBSDKGenericDocumentRecognizerViewControllerandSBSDKUIGenericDocumentViewController. - Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32.
 - Added properties 
australiaPostCustomerFormat,useIATA2OF5ChecksumanduseCode11ChecksumtoSBSDKBarcodeAdditionalParametersandSBSDKUI2BarcodeRecognizerConfiguration. - Added support for PDF metadata attributes when rendering PDF files: see new class 
SBSDKPDFAttributesand new propertypdfAttributesonSBSDKPDFRendererOptions. 
 - Added support for german health insurance card front side and european health insurance card to 
 - 🚀 Improvements:
- Improved detection of UPC- and EAN extensions.
 - The generic document recognizer and its UI components now use the new Scanbot OCR engine under the hood. In order to scan for generic documents the additional OCR language data bundle is no longer required.
 - Improved document detection on booklet documents.
 - Improved performance of 
SBSDKDocumentQualityAnalyzer. - Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec.
 - Improved GS1 string handling with new modes for decoding and validation. See 
SBSDKGS1Handling. - Added the ability to display the scanned barcodes image in the FindAndPick usecase of 
SBSDKUI2BarcodeScannerViewControllerby specifyingSBSDKUI2ExpectedBarcode.barcodeImageKeyfor the expected barcodesimageproperty. 
 - 🐞 Bug fixes:
- Fixed a bug in the FindAndPick usecase of 
SBSDKUI2BarcodeScannerViewControllerthat never showed the expected barcodes title, but always the barcode value. 
 - Fixed a bug in the FindAndPick usecase of 
 - ⚠️ Breaking Changes:
- Removed enum 
SBSDKBarcodeDensity. - Removed property 
codeDensityfromSBSDKBarcodeAdditionalParameters. - Removed enum values 
validateanddecodefromSBSDKGS1Handlingand replaced them bydecodeStructure,decodeFull,validateStructureandvalidateFull. - Removed property 
sharpnessAcceptanceFactorfromSBSDKGenericDocumentRecognizer,SBSDKGenericDocumentRecognizerViewControllerandSBSDKUIGenericDocumentRecognizerBehaviorConfiguration. - Removed property 
isAccumulatingDocumentsfromSBSDKGenericDocumentRecognizerandSBSDKGenericDocumentRecognizerViewController. - Deprecated 
SBSDKHealthInsuranceCardRecognizer,SBSDKHealthInsuranceCardScannerViewControllerandSBSDKUIHealthInsuranceCardScannerViewController. - Removed class 
SBSDKPDFMetadataEditor. 
 - Removed enum 
 
Version 5.1.3 (26 June 2024):
- 🚀 Improvements:
- Improved detection of UPC/EAN barcode extensions in live mode.
 - The barcode scanner now supports transposed (mirrored/flipped) Aztec barcodes.
 
 - 🐞 Bug fixes:
- Fixes a bug in 
SBSDKUI2Colorwhere settingisArgbto true, resulted in a wrong color. 
 - Fixes a bug in 
 
Version 5.1.1 (6 June 2024):
- 🐞 Bug fixes:
- Fixes a crash with all Classic UI components when energy saving is disabled.
 - Fixes a bug in 
SBSDKUI2BarcodeScannerViewControllerin single scan mode that prevented the barcode scanner from pausing the recognition while the submit dialog is shown. 
 
Version 5.1.0 (21 May 2024):
- 🎉 New:
- Added new property 
regularExpressionPatterntoSBSDKBarcodeScannerandSBSDKBarcodeScannerViewControllerto limit detection results. - Added support of the new 'Find and Pick' barcode scanning mode, see 
SBSDKUI2FindAndPickScanningMode. - Added support for continuous scanning in 
SBSDKUI2BarcodeScannerViewController. - Added a new configuration class 
SBSDKHealthInsuranceCardRecognizerParametersto configure the live detection recognizer inSBSDKHealthInsuranceCardRecognizer. - Added a new property 
liveDetectionParametersinSBSDKHealthInsuranceCardRecognizer. - Added a new property 
recognizerParametersinSBSDKHealthInsuranceCardScannerViewControllerandSBSDKUIHealthInsuranceCardScannerViewController. - Added support for new barcode type 
SBSDKBarcodeTypeMicroPdf417. - Added a new class 
SBSDKBarcodeDocumentConstantswhich has all the constants related to the barcode document format. - Added new classes for all the barcode document formats. See the API documentation for more details.
 - Added a new class 
SBSDKBarcodeDocumentRootTypewhich replaces the oldSBSDKBarCodeScannerDocumentFormat. - Added read-only, Key-Value observable property 
pagesof type[SBSDKDocumentPage]toSBSDKDocument. - Added Swift structured concurrency API (async/await) to 
SBSDKUI2BarcodeScannerViewController,SBSDKUIPDFRenderer,SBSDKPDFRenderer,SBSDKTIFFImageWriter,SBSDKOpticalCharacterRecognizer,SBSDKPDFPagesExtractorandSBSDKTextLayoutRecognizer. - Added a new struct 
SBSDKUI2BarcodeScannerViewwhich is the SwifUI wrapper forSBSDKUI2BarcodeScannerViewController. - Added possibility to inject an image to simulate a video stream and a captured image to any scanner's camera session for UI testing. See 
Scanbot.testData,SBSDKTestDataandSBSDKSimulatedCameraMockData. - Added 
isCameraFrozenproperty toSBSDKBaseScannerViewController. - Added property 
acceptedBrightnessThresholdtoSBSDKDocumentScanner,SBSDKDocumentScannerViewController,SBSDKUIDocumentScannerBehaviourConfigurationandSBSDKUIFinderDocumentScannerBehaviorConfiguration. - Added property 
averageBrightnesstoSBSDKDocumentDetectionMetrics. - Added new static properties 
allFormats,commonFormats,oneDFormatsandtwoDFormatstoSBSDKUI2BarcodeFormat. - Added new class 
SBSDKUI2BarcodeTextLocalizationand new propertylocalizationtoSBSDKUI2BarcodeScannerConfigurationto support localized strings. - Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
 
 - Added new property 
 - 🚀 Improvements:
- IMPORTANT: Changed the default rear cameras on all scanners to the triple or dual camera. On some devices with triple camera this results in a different view port (more zoomed in). Please make sure to adapt your zoom ranges and factors.
 - Improved image quality and capture speed on most iOS devices slightly by capturing HEIF images.
 - The health insurance card recognizer now implements the new scanbot OCR engine. The recognition is faster and more accurate than before.
 - Added support of haptic feedback on capable devices.
 - Made properties 
polygon,filter,parametricFilters,documentImageSizeLimit,documentImage,documentImageURL,documentPreviewImageanddocumentPreviewImageURLof classSBSDKDocumentPageKey-Value observable. SBSDKPDFPagesExtractorfunctions now create the output directory if it doesn't exist yet.- Added support for structured logging (OSLog) to the SDK (iOS 14+).
 
 - 🐞 Bug fixes:
- Fixed a bug with the generic textline recognizer not returning multiline results.
 - Fixed a bug with the asynchronous functions of 
SBSDKPDFPagesExtractorwhich returned an empty array of image URLs. - Fixed a UI bug in the 
SBSDKUI2BarcodeScannerViewController. - Fixed the documentation of 
isShutterButtonHiddeninSBSDKUIFinderDocumentScannerUIConfigurationto correctly mention its default value. - Fixed JSON representation of 
SBSDKUI2BarcodeItem. 
 - ⚠️ Breaking Changes:
- Important: The default rear camera in all scanners has been changed from the ultra-wide or wide camera to the triple or dual camera.
 - Renamed function 
captureJPEGStillImagetocaptureStillImageinSBSDKBaseScannerViewController(and all subclasses) andSBSDKCameraSession. - Renamed function 
captureOutput(_ output:, didOutput:, from:)tocameraSession(_ session:, didOutput:)in protocolSBSDKCameraSessionDelegate. - Replaced the class 
SBSDKBarcodeDocumentTypebySBSDKBarcodeDocumentRootType. - Renamed 
supportedBarcodesTypes(for:)tosupportedBarcodeTypes(for:)in the new classSBSDKBarcodeDocumentRootType. - Removed the protocol 
SBSDKBarCodeScannerDocumentFormatand all of its children classes. - Removed default properties of use cases in 
SBSDKUI2BarcodeUseCase, now use the proper initializer for every use case, e.g.SBSDKUI2SingleScanningMode(). - Changed the type of numeric parametric filter parameters from Float to Double.
 - Changed the order of parameters in the initializer of 
SBSDKCustomBinarizationFilter. - Removed 
barcodeTypesandacceptedDocumentTypesfromSBSDKUI2BarcodeRecognizerConfigurationas they are not needed anymore and we can usebarcodeFormatsandacceptedDocumentFormatsdirectly. - Made the property 
typeinSBSDKUI2BarcodeItemoptional. - Changed type of property 
rawBytesfrom [UInt8] to Data. 
 - 🚙 Under the hood:
- Updated third-party libraries zlib to version 1.3.1, libtiff to 4.6.0, libjpeg-turbo to 2.1.5.1, libpng to 1.6.40.
 - Added third-party library libzueci version 1.0.0
 
 
Version 5.0.4 (27 March 2024):
- 🐞 Bug fixes:
- Fixes a bug where barcode results formattedResult returned nil instead of the correct barcode document.
 
 
Version 5.0.3 (21 March 2024):
- 🐞 Bug fixes:
- Changed privacy manifest to comply with the latest Apple specs.
 
 
Version 5.0.2 (15 March 2024):
- 🐞 Bug fixes:
- Fixes a problem that slowed down still image capturing on some older iOS devices.
 
 - 🚀 Improvements:
- Improved speed and image quality of still image capturing.
 
 
Version 5.0.1 (12 March 2024):
- 🐞 Bug fixes:
- Fixed a critical bug in the camera session causing still images to be captured at a lower than expected resolution.
 - Fixed a bug in the Generic Document Scanner which prevented the extraction of the given names as well as the valid from date from a residence permit card.
 
 
Version 5.0.0 (1 March 2024):
- 🎉 New:
- Added new RTU-UI V2 component, see 
SBSDKUI2BarcodeScannerViewController. - Added new class-based image filters with customizable parameters:
SBSDKParametricFilter(abstract base class)SBSDKScanbotBinarizationFilterSBSDKCustomBinarizationFilterSBSDKColorDocumentFilterSBSDKBrightnessFilterSBSDKContrastFilterSBSDKGrayscaleFilterSBSDKWhiteBlackPointFilterSBSDKLegacyFilter(encapsulates the deprecatedSBSDKImageFilterTypefilters)
 - Added support for German residence permit documents to 
SBSDKGenericDocumentRecognizer. SeeSBSDKGenericDocumentRootType. - Added class 
SBSDKCheckDocumentto represent a document specifically used for checking purposes, inheriting properties and methods fromSBSDKGenericDocument. - Added the 
returnCroppedDocumentImageproperty toSBSDKMedicalCertificateRecognizerConfigurationOptions,SBSDKMedicalCertificateScannerViewControllerandSBSDKUIMedicalCertificateScannerViewController. This property allows you to control whether the SDK should include a cropped document image in its output or not. - Added new property 
minimumNumberOfSymbolstoSBSDKDocumentQualityAnalyzer. - Added streaming encryption support to 
SBSDKStorageCrypting. - Added the 
SBSDKFinderView.Styleenum and the propertystylethat defines the drawing styles of the finder view toSBSDKFinderViewandSBSDKBaseScannerViewFinderConfiguration. - Added the 
viewFinderStyleproperty toSBSDKBaseScannerViewController. - Added a new property 
supportedBarcodeTypesinSBSDKBarcodeDocumentTypethat has the supported barcode types of the barcode document format. - Added a new static method 
supportedBarcodesTypes(for:)inSBSDKBarcodeDocumentTypeto return the supported barcode types of a given array of barcode document formats. - Added a new modern beep sound in 
SBSDKSoundController. - Added a new enum 
SBSDKSoundTypeto configure the default beep sound ofSBSDKSoundController. - Added Privacy manifest file (
PrivacyInfo.xcprivacy) to the SDK. - Added new static property 
maximumRecommendedImageSizetoSBSDKDeviceInformation. - Added a new property 
boundingBoxWithImageSizetoSBSDKOCRResultBlockto get the bounding box of the receiver in absolute image coordinate system. - Added new function 
resetAccumulationtoSBSDKBarcodeScannerViewController. 
 - Added new RTU-UI V2 component, see 
 - 🚀 Improvements:
- Improved the installation of custom OCR languages for the Tesseract OCR engine. See 
SBSDKOCRLanguagesManager. - Streaming rendering and encrypting for 
SBSDKPDFRendererandSBSDKTIFFImageWriter. Memory footprint during rendering reduced by up to 5x for TIFF. Unlimited PDF rendering. 
 - Improved the installation of custom OCR languages for the Tesseract OCR engine. See 
 - 🐞 Bug fixes:
- Fixed a bug where the 
recognizeOnImageStorage:completion:was unable to detect text on imageStorage when the encryption was on. 
 - Fixed a bug where the 
 - ⚠️ Breaking Changes
- Due to the refactoring of Scanbot SDK to the Swift language a lot of properties and method parameters have changed in order to provide a clean and consistent interface for Swift and Objective-C.
 - Renamed barcode type RSS14 to Databar and RSSExpanded to DatabarLimited.
 - Removed adjustable filters and partially replaced them with the parametric filters.
 - Deprecated 
SBSDKImageFilterType. Use the new parametric filtersSBSDKParametricFilterand its subclasses if possible. - Replaced parameters of type 
SBSDKImageFilterTypebySBSDKParametricFilterin most classes. - Changed type of 
binarizationFilterinSBSDKTIFFImageWriterParametersfromSBSDKImageFilterTypetoSBSDKParametricFilter. - Renamed 
SBSDKUIDocumenttoSBSDKDocument,SBSDKUIPagetoSBSDKDocumentPageandSBSDKUIPageFileStoragetoSBSDKDocumentPageFileStorage. - Refactored 
SBSDKImageProcessormoving away from the complex asynchronous functions to a straight object oriented approach. - Deprecated 
SBSDKUIBarcodeScannerViewControllerandSBSDKUIBarcodesBatchScannerViewControlleralong with their related classes. Please consider switching to the newSBSDKUI2BarcodeScannerViewController. - Changed 
isLicenseValid,licenseStatusfrom functions to variables inScanbotclass. - Changed 
defaultImageStoreEncrypter,defaultPDFEncrypter,shouldShowStatusBarOnScanningScreens,defaultStatusBarStylefrom separated getters and setters to variables inScanbotUIclass. - Removed 
printInfo:,printError:andprintWarning:fromSBSDKLog. - Changed 
setLoggingEnabled:to propertyisLoggingEnabledinSBSDKLog. - Functions 
logInfo:,logError:andlogWarning:inSBSDKLognow acceptStringas a parameter instead ofva_list. - Changed all properties of type 
NSNumberto optionalDoubleinSBSDKImageMetadata. - Replaced default initialization 
initWithParentViewController:containerViewby the new static methodcreateWithParentViewController:containerViewinSBSDKImageEditingViewController. - Changed 
SBSDKTIFFImageWriterfrom static class to instantiated class and simplified the interface. - Changed all 
SBSDKBarcodeTypeglobal constants to static properties ofSBSDKBarcodeType. - Refactored 
SBSDKBarcodeType, it introduces a style naming change for all barcode types, please see the documentation. - Moved the global constants 
SBSDKBarcodeMetadataEANUPCExtensionKeyandSBSDKBarcodeMetadataIsGS1MessageKeytoSBSDKBarcodeScannerResultas its static properties. - Renamed enum 
SBSDKAutosnappingModetoSBSDKAutoSnappingMode. - Renamed enum 
SBSDKMedicalCertificateRecognizerFormTypetoSBSDKMedicalCertificateRecognizerForm, please see the documentation for the refactored types. - Renamed properties 
patientInformationRecognitionEnabledandbarcodeRecognitionEnabledtoisPatientInformationRecognitionEnabledandisBarcodeRecognitionEnabledinSBSDKMedicalCertificateRecognizerConfigurationOptions. - Renamed and refactored class 
SBSDKPDFMetadataProcessortoSBSDKPDFMetadataEditor. - Renamed and refactored class 
SBSDKResourcesManagertoSBSDKOCRLanguagesManager. - Renamed functions 
mlConfigurationandlegacyConfigurationWithLanguages:inSBSDKOpticalCharacterRecognizerConfigurationtoscanbotOCRandtesseractWithLanguages:. - Renamed enum values 
SBSDKOpticalCharacterRecognitionModeLegacytoSBSDKOpticalCharacterRecognitionModeTesseractandSBSDKOpticalCharacterRecognitionModeMLtoSBSDKOpticalCharacterRecognitionModeScanbotOCR. - Renamed the function 
recognizeFromStillImage,recognizeFromVideoFrameImage,recognizeFromSampleBuffer:orientation:,recognizeFromSampleBuffer:searchInRect:orientation:torecognizeOnStillImage,recognizeOnVideoFrameImage,recognizeOnSampleBuffer:orientation:,recognizeOnSampleBuffer:searchInRect:orientation:inSBSDKHealthInsuranceCardRecognizer. - Renamed the static factory functions in 
SBSDKUIHealthInsuranceCardScannerViewControllerto fix their ugly signatures. - Renamed the function 
recognizeFromSampleBuffertorecognizeOnSampleBufferinSBSDKGenericTextLineRecognizer. - Renamed the static factory functions in 
SBSDKUITextDataScannerViewControllerto fix their ugly signatures. - Changed all 
SBSDKBarcodeDocumentTypeglobal constants to static properties ofSBSDKBarcodeDocumentType. - Changed all 
SBSDKGenericDocumentglobal constants to static properties ofSBSDKGenericDocumentandSBSDKCheckDocument. - Replaced the default value of 
acceptedBarcodeTypeswithSBSDKBarcodeType.commonTypes, this property will no longer accept nil anywhere, if it's set to an empty array, this will automatically be translated toSBSDKBarcodeType.commonTypes. - The property 
acceptedDocumentTypesofSBSDKBarcodeScannerandSBSDKBarcodeScannerViewControllercan no longer be set to nil. - Renamed the property 
optional1FieldinSBSDKMachineReadableZoneRecognizerResulttovisaOptionalField. - Renamed enum value 
SBSDKMachineReadableZoneRecognizerFieldNameOptional1toSBSDKMachineReadableZoneRecognizerFieldNameVisaOptional. 
 - 🚙 Under the hood:
- Refactored all public SDK code to Swift.
 
 
Version 4.2.2 (21 March 2024):
- 🐞 Bug fixes:
- Changed privacy manifest to comply with the latest Apple specs.
 
 
Version 4.2.1 (13 February 2024):
- 🎉 New:
- Added Privacy manifest file (
PrivacyInfo.xcprivacy) to the SDK. - Added new static property 
maximumRecommendedImageSizetoSBSDKDeviceInformation. 
 - Added Privacy manifest file (
 - 🐞 Bug fixes:
- Fixed a bug in 
SBSDKOpticalCharacterRecognizerwhererecognizeText:completion:was unable to detect text on imageStorage when the encryption was enabled. - Fixed the issue when the top and bottom toolbars' background color in 
SBSDKUICroppingViewControllerdidn't update on dark mode change, when set toUIColor.systemBackground. 
 - Fixed a bug in 
 
Version 4.2.0 (8 January 2024):
- 🎉 New:
- Added support for Kuwait ID cards in the MRZ scanner.
 - Added support for Israelian checks to the check recognizer.
 - Added support for new barcode type 
SBSDKBarcodeTypeGS1Composite. - Added property 
imageSizeLimittoSBSDKDocumentQualityAnalyzer. 
 - 🚀 Improvements:
- Improved the performance and memory footprint of the document quality analyzer.
 - Added more control over how to handle GS1 messages in barcodes. See 
SBSDKGS1Handling. 
 - ⚠️ Breaking Changes:
- The property 
enableGS1Decodinghas been replaced by the enumSBSDKGS1HandlinginSBSDKBarcodeAdditionalParameters. GS1codes are now handled differently for various barcode types. Using the default optionPARSEwill give the same result as before for all barcode types, except ofRSS_EXPANDED. Previously, forRSS_EXPANDED, the result was inconsistently returned with parentheses. Now, to get results with parentheses for all barcode types, it is needed to choose the optionDECODE.
 - The property 
 
Version 4.1.0 (24 November 2023):
- 🎉 New:
- Added a new class 
SBSDKDocumentQualityAnalyzer. - Added support for 6 new barcode types to the barcode scanner:
SBSDKBarcodeTypeUSPSIntelligentMailSBSDKBarcodeTypeRoyalMailSBSDKBarcodeTypeJapanPostSBSDKBarcodeTypeRoyalTNTPostSBSDKBarcodeTypeAustraliaPostSBSDKBarcodeTypeDatabarLimited
 
 - Added a new class 
 - 🐞 Bug fixes:
- Fixed a bug with the iPad 5th generation where captured images were wrong.
 - Fixed a bug where the finder text hint was still showing when 
viewFinderEnabledwas disabled inSBSDKUIBarcodeScannerViewControllerandSBSDKUIBarcodesBatchScannerViewController. - Fixed a wrong polygon color in RTU-UI barcode scanner tracking overlay.
 
 - ⚠️ Breaking Changes:
- The class 
SBSDKBlurrinessEstimatorhas been removed and replaced by the far superiorSBSDKDocumentQualityAnalyzer. 
 - The class 
 
Version 4.0.0 (18 October 2023):
- 🎉 New:
- Added new classes 
SBSDKOpticalCharacterRecognizer,SBSDKOpticalCharacterRecognizerConfigurationandSBSDKTextLayoutRecognizer. - Added new method 
widestAvailableBackFacingCameratoSBSDKCameraDevice. - Added new method 
setupDefaultLicenseFailureHandlerWithCompletion:to theScanbotclass. 
 - Added new classes 
 - 🚀 Improvements:
- New improved document detector with better performance and less memory consumption.
 - Added new Optical Character Recognition engine based on machine learning algorithms that is much faster and less error prone.
 - The new OCR engine currently supports all languages with latin letters, there is no need to specify the languages for it. The legacy engine based on Tesseract can still be used.
 
 - ⚠️ Breaking Changes:
- Renamed 
photoQualityPriorizationtophotoQualityPrioritizationeverywhere in the SDK. - Removed 
SBSDKImageMetricsAnalyzer,SBSDKImageChannelMetricsandUIImage+SBSDKMetricsAnalysis. - Refactored all OCR and PDF rendering classes to incorporate the new OCR engine and simplify the API:
- Removed 
SBSDKOpticalTextRecognizerandSBSDKTextOrientationRecognizer. - Renamed 
SBSDKPageOrientationtoSBSDKTextOrientation. - Renamed property 
pageAnalyzerResulttotextLayoutRecognizerResultinSBSDKOCRPage. - Replaced 
boundingBoxproperty bypolygoninSBSDKOCRResultBlock. - Changed function signatures of methods in 
SBSDKPDFRendererandSBSDKUIPDFRenderer. - Added new values and removed unused values in 
SBSDKPDFRendererPageSize. 
 - Removed 
 - Changed default value of the finder aspect ratio in 
SBSDKUIFinderDocumentScannerUIConfigurationto DIN A4 portrait. 
 - Renamed 
 - 🚙 Under the hood:
- New library libharu.
 
 
Version 3.0.2 (28 September 2023):
- 🐞 Bug fixes:
- Fixed a focusing issue with the new iPhone 15 Pro and 15 Pro Max.
 
 
Version 3.0.0 (23 August 2023):
- 🎉 New:
- Added property 
extensionFilterto all barcode scanning APIs (SBSDKBarcodeScanner,SBSDKBarcodeScannerViewController,SBSDKBarcodeScanAndCountViewController,SBSDKUIBarcodeScannerBehaviorConfigurationandSBSDKUIBarcodesBatchScannerBehaviorConfiguration). - Added property 
extensiontoSBSDKBarcodeScannerResult. - Added new Scanner 
SBSDKVehicleIdentificationNumberScannerwhich scans and validates a Vehicle Identification Number. - Added new Classic UI component 
SBSDKVINScannerViewControllerwhich enables you to scan Vehicle Identification Numbers. - Added new RTU-UI component 
SBSDKUIVINScannerViewControllerwhich enables you to scan Vehicle Identification Numbers. - Added new class 
SBSDKScanAndCountPolygonStyle. - Added new delegate function 
(nonnull SBSDKScanAndCountPolygonStyle *)barcodeScanAndCountController:(nonnull SBSDKBarcodeScanAndCountViewController *)controller polygonStyleForBarcode:(nonnull SBSDKBarcodeScannerResult *)codetoSBSDKBarcodeScanAndCountViewControllerDelegate. - Added 
trackingOverlayControllerproperty toSBSDKBarcodeScannerViewController. - Introduced new classes and protocols to manage barcode tracking overlay:
SBSDKBarcodeTrackingOverlayController: Provides a customizable user interface for displaying barcodes and supports interaction with them.SBSDKBarcodeTrackingOverlayConfiguration: Represents the configuration options for anSBSDKBarcodeTrackingOverlayController.SBSDKBarcodeTrackedViewTextStyle: Represents the style and kind of text rendered below a barcode.SBSDKBarcodeTrackedViewPolygonStyle: Represents the style of the polygon rendered around a barcode.SBSDKTrackedBarcodeInfoView: A protocol that defines the methods and properties required for a custom tracking view.
 - Added functions to 
SBSDKDeviceInformationto get the total, used and unused disk space on the device. 
 - Added property 
 - 🚀 Improvements:
- RTU-UI configurations can now be initialized with partial/incomplete JSON data by internally merging the partial data into the configurations default values.
 - Improved the speed of barcode recognition for most barcode symbologies.
 - OCR quality for the Generic Text Line Scanner is significantly more reliable.
 
 - 🐞 Bug fixes:
- Fixed a bug where 
flashEnabledwas not working properly inSBSDKUIHealthInsuranceCardScannerViewController. - Fixed a crash when denying camera permission.
 - Fixed a bug with magnetic lines in 
SBSDKImageEditingViewControllerandSBSDKUICroppingViewController. - Fixed an issue where the MRZ Scanner was not recognizing the new standard of Belgian ID Cards.
 - Fixed the broken default zoom level in 
SBSDKGenericTextLineRecognizerViewControllerandSBSDKUITextDataScannerViewController. 
 - Fixed a bug where 
 - ⚠️ Breaking Changes:
- Due to a Swift compiler naming collision, the class 
ScanbotSDKhas been renamed toScanbot. - Renamed the class 
ScanbotSDKUItoScanbotUIfor consistency. - Removed barcode type 
SBSDKBarcodeTypeUnknown. - Removed property 
autoCancelTimeoutfromSBSDKUIMRZScannerBehaviorConfiguration. - Removed 
textRecognitionLanguagesandtextFilterStrategyfromSBSDKGenericTextLineRecognizerViewController. - Removed 
textFilterStrategyfromSBSDKUITextDataScannerStep. - Removed 
supportedLanguagesfromSBSDKUITextDataScannerBehaviorConfiguration. - Removed 
qrBarcodeDetectionViewController:selectionOverlayTextFor:fromSBSDKUIBarcodeScannerViewController. - Renamed 
selectionOverlayEnabledtoisTrackingOverlayEnabledinSBSDKBarcodeScannerViewController. - Renamed 
SBSDKUIBarcodeSelectionOverlayConfigurationtoSBSDKUIBarcodeTrackingOverlayConfiguration - Renamed 
selectionOverlayConfigurationtotrackingOverlayConfigurationinSBSDKUIBarcodeScannerConfigurationandSBSDKUIBarcodesBatchScannerConfiguration. - Replaced the properties 
polygonEnabled,polygonColor,polygonFillColorandpolygonLineWidthby the propertypolygonStyleinSBSDKBarcodeScanAndCountViewController. 
 - Due to a Swift compiler naming collision, the class 
 
Version 2.3.0 (22 June 2023):
- 🎉 New:
- Added support for the Micro QR barcode type.
 - Added new property 
viewFinderEnabledtoSBSDKUIBarcodeScannerBehaviorConfigurationandSBSDKUIBarcodesBatchScannerBehaviorConfiguration. - Added new properties 
confirmationDialogTitleandconfirmationDialogMessagetoSBSDKUIBarcodeScannerTextConfiguration. - Machine-readable-zone results have been refactored (please see Breaking Changes):
- Added new properties 
genericDocument,travelDocumentTypeVariantFieldanddateOfIssueFieldtoSBSDKMachineReadableZoneRecognizerResult. - Added new value 
SBSDKMachineReadableZoneRecognizerResultDocumentTypeCrewMemberCertificateto theSBSDKMachineReadableZoneRecognizerResultDocumentTypeenum. - Added new values 
SBSDKMachineReadableZoneRecognizerFieldNameDateOfIssuanceandSBSDKMachineReadableZoneRecognizerFieldNameTravelDocumentTypeVariantto theSBSDKMachineReadableZoneRecognizerFieldNameenum. 
 - Added new properties 
 - Added new Classic UI component 
SBSDKBarcodeScanAndCountViewControllerwhich enables you to scan barcodes multiple times using the shutter button. - Added new function 
-(void)flipHorizontally:(CGSize)sizetoSBSDKPolygon. - Added new function 
-(BOOL)isMirroredtoSBSDKCameraDevice. 
 - 🚀 Improvements:
- Changed the default value for the 
documentTypeproperty inSBSDKUIGenericDocumentRecognizerBehaviorConfigurationto a document type that contains all kinds ofSBSDKGenericDocumentRootType. Simply said, by defaultSBSDKUIGenericDocumentRecognizerViewControllernow recognizes all documents. - Changed the default zoom range from (0.0 - 3.0) to (0.0 - 12.0) in all ClassicUI and RTU-UI components and in 
SBSDKZoomRange. - Better per-frame accuracy for QR code detection.
 - Support for inverted PDF-417 barcodes.
 - The barcode types Code 39 and Code 93 decode slightly faster.
 - Support for generic documents in the MRZ recognizer.
 
 - Changed the default value for the 
 - 🐞 Bug fixes:
- Fixed the detection of a few false positive RSS Expanded codes in live mode.
 - Fixed an unexpected behavior of the barcode scanner when passing 
SBSDKBarcodeTypeUnknownas accepted barcode type. - Fixed a bug in all Classic UI and RTU-UI components where the 
recognitionEnabledproperty might not have worked as intended. - Fixed a bug where 
ocrResolutionLimitwas not being used inSBSDKUITextDataScannerViewControllerfrom JSON. - Fixed a bug where the polygon should be mirrored when using the front camera in 
SBSDKDocumentScannerViewControllerandSBSDKUIDocumentScannerViewController. - Fixed a bug where 
automaticSelectionEnabledwas not working properly inSBSDKUIBarcodesBatchScannerViewController. 
 - ⚠️ Breaking Changes:
- Removed support for iOS 11.x and 12.x. The minimum deployment target to use ScanbotSDK in your app is iOS 13.0!
 - Removed class 
SBSDKUIMachineCodesCollection. - Removed classes 
SBSDKMultipleObjectScannerViewController,SBSDKBusinessCardsImageProcessor,SBSDKMultipleObjectsDetector,SBSDKUIMultipleObjectScannerViewControllerand its configuration classes. - Removed class 
SBSDKBaseCameraViewController. - Renamed the property 
acceptedMachineCodeTypestoacceptedBarcodeTypesinSBSDKUIBarcodeScannerBehaviorConfigurationandSBSDKUIBarcodesBatchScannerBehaviorConfiguration. - The RTU-UI configuration JSON formats have been changed, mostly the enum values have been capitalized.
 - Machine-readable-zone results have been refactored:
- Date fields in machine-readable-zones are returned unformatted now, e.g. in the format 'YYMMDD'. Previously we tried to convert them to the format 'DD.MM.YY'.
 - Removed value 
SBSDKMachineReadableZoneRecognizerFieldNameDiscreetIssuingStateOrOrganizationfrom theSBSDKMachineReadableZoneRecognizerFieldNameenum. - Removed  value 
SBSDKMachineReadableZoneRecognizerResultDocumentTypeTravelDocumentfrom theSBSDKMachineReadableZoneRecognizerResultDocumentTypeenum. - Removed property 
checkDigitCharacterfromSBSDKMachineReadableZoneRecognizerResultCheckDigit. - Removed property 
discreetIssuingStateOrOrganizationFieldfromSBSDKMachineReadableZoneRecognizerResult. - Removed property 
checkDigitsCountfromSBSDKMachineReadableZoneRecognizerResult. 
 
 
Version 2.2.1 (1 June 2023):
- 🎉 New:
- Added properties 
maxNumberOfAccumulatedResultsandrequiredNumberOfEqualAccumulatedResultstoSBSDKMachineReadableZoneRecognizer,SBSDKMRZScannerViewControllerandSBSDKUIMRZScannerBehaviorConfiguration. 
 - Added properties 
 - 🚀 Improvements:
- New configurable machine-readable-zone result accumulator that lets you fine-tune the strictness of the recognizer.
 
 - ⚠️ Breaking Changes:
- Removed property 
resultAccumulationCountfromSBSDKMachineReadableZoneRecognizer,SBSDKMRZScannerViewControllerandSBSDKUIMRZScannerBehaviorConfiguration. 
 - Removed property 
 
Version 2.2.0 (19 April 2023):
- 🎉 New:
- A new machine-learning based machine-readable zone recognizer has been introduced
 - All Classic-UI components now have new methods 
initandattach:parentViewController:containerView, which provide more flexibility. - Portuguese ID cards (old and new format) can now be recognized by the MRZ scanners.
 - Support for barcode type 
SBSDKBarcodeTypeCode25, which is a variant of the Industrial-2of5 type without the checksum, has been added. SBSDKMedicalCertificateRecognizerResultPatientFieldnow has a new propertyrecognitionConfidence.SBSDKMachineReadableZoneRecognizerResultnow has a new propertyrawString, providing direct access to the raw MRZ string.SBSDKBaseScannerGeneralConfigurationnow has a new propertyminimumTimeWithoutDeviceMotionBeforeDetection.SBSDKUIDocumentScannerViewControllernow has a new propertycurrentSettings, which can be used to persist and restore user-made settings.
 - 🚀 Improvements:
- Barcode scanning has been improved with new ML models.
 - Stacked RSS barcode scanning has seen substantial improvements.
 - All Classic-UI view controllers can now be instantiated from storyboards.
 - Patient info box recognition has been improved in the medical certificate scanners.
 SBSDKUIDocumentandSBSDKUIPagenow conform to theNSCopyingprotocol, making it easier to create deep copies of their instances.
 - 🐞 Bug fixes:
- The Generic Document Recognizer now returns no result if MRZ parsing fails.
 - A bug that caused the document scanner to auto-capture a second image shortly after the first image has been fixed.
 - A rare crash with the application state observer has been fixed.
 
 - ⚠️ Breaking Changes:
- The additional 
SBSDKMRZData.bundlehas been removed as it is no longer needed with the new machine-readable zone recognizer. - The MRZ subspec has been removed from the Cocoapods podspec file. Please make sure to check your pods file!
 - The method 
initWithParentViewController:parentViewController:parentView:delegateof all Classic-UI components has been changed so that theparentViewControllerand theparentViewmust not be nil. - The method 
initWithParentViewController:parentViewController:parentViewof all the Classic-UI components has been changed so that theparentViewmust not be nil. - Property 
validationConfidencehas been removed fromSBSDKMedicalCertificateRecognizerDateResult. - The format of date strings in 
SBSDKMedicalCertificateRecognizerDateResulthas been changed fromDD.MM.YYtoDD.MM.YYYY. - Property 
textLineshas been removed fromSBSDKMachineReadableZoneRecognizerResult. - Class 
SBSDKMachineReadableZoneRecognizerTextLinehas been removed. - Property 
decodeStacks1Dhas been removed fromSBSDKBarcodeAdditionalParameters. The barcode scanner now handles this automatically. 
 - The additional 
 - 🚙 Under the hood:
- Removed third-party library 
backward-cpp. 
 - Removed third-party library 
 
Version 2.1.0 (15 March 2023):
- 🎉 New:
- Added optional delegate method 
genericDocumentRecognizerViewControllerShouldRecognize:toSBSDKGenericDocumentRecognizerViewControllerDelegate. - Added optional delegate method 
healthInsuranceCardScannerViewControllerShouldRecognize:toSBSDKHealthInsuranceCardScannerViewControllerDelegate. - Added optional delegate method 
checkRecognizerViewControllerShouldRecognize:toSBSDKCheckRecognizerViewControllerDelegate. - Added optional delegate methods 
barcodeScannerController:didUpdateDetectedBarcodes:,barcodeScannerController:configureCustomCell:forBarcode:withBarcodePolygonPath:, andbarcodeScannerController:customCellFrameForProposedFrame:toSBSDKBarcodeScannerViewControllerDelegate. - Added new property 
automaticSelectionEnabledtoSBSDKBarcodeScannerViewController. - Added new RTU-UI component 
SBSDKUIFinderDocumentScannerViewControllerwhich enables you to scan a single document page with the help of a viewfinder and bound to a certain aspect ratio. - Added new property 
ignoresSafeAreaInsetstoSBSDKFinderView. - Added new property 
requiredAspectRatiostoSBSDKUIDocumentScannerBehaviorConfiguration. - Added new properties 
oneDTypesandtwoDTypestoSBSDKBarcodeType. - Added new function 
-(void)captureDocumentImagetoSBSDKDocumentScannerViewController. - Added properties 
dateOfDetectionandagetoSBSDKBarcodeScannerResult. 
 - Added optional delegate method 
 - 🚀 Improvements:
- Improved performance and accuracy of machine-readable zone recognition.
 
 - 🐞 Bug fixes:
- Fixed a potential memory issue in the check recognizer.
 - Fixed a crash while logging URLs with spaces.
 
 
Version 2.0.0 (1 February 2023):
- 🎉 New:
- Added new properties 
resultWithConfirmationEnabledanddialogTextFormatinSBSDKUIBarcodeScannerBehaviorConfigurationto display a confirmation dialog before returning the results. - Added new properties 
confirmationDialogRetryButtonTitleandconfirmationDialogConfirmButtonTitleinSBSDKUIBarcodeScannerTextConfigurationto configure the text confirmation dialog buttons. - Added new properties 
confirmationDialogStyle,confirmationDialogConfirmButtonStyleandconfirmationDialogRetryButtonStyleinSBSDKUIBarcodeScannerUIConfigurationto configure the style of the confirmation dialog buttons. - Added new property 
automaticSelectionEnabledtoSBSDKUIBarcodeSelectionOverlayConfiguration. - Added new property 
sourceImagetoSBSDKBarcodeScannerResult. - Added new property 
autoSnappingDelaytoSBSDKDocumentScannerViewControllerandSBSDKUIDocumentScannerBehaviorConfiguration. - Added new property 
videoFrameResolutionof the new typeSBSDKVideoFrameResolutiontoSBSDKBaseScannerGeneralConfiguration. 
 - Added new properties 
 - 🚀 Improvements:
- Improved general speed and accuracy when detecting barcodes.
 - Improved recognition of stacked RSS Expanded barcodes.
 - Improved live check recognition by using UHD resolution by default.
 
 - 🐞 Bug fixes:
- Fixed an issue in 
SBSDKPDFPagesExtractorwith QR codes as described in the PDF 1.6 standard. - Fixed a layout problem and log warnings with 
SBSDKZoomingImageScrollView. - Fixed a problem where the colors of magnetic and non-magnetic lines in 
SBSDKImageEditingViewControllerandSBSDKUICroppingViewControllerdid not update properly. 
 - Fixed an issue in 
 - ⚠️ Breaking Changes:
- Removed all deprecated classes: 
SBSDKUIWorkflowScannerViewController,SBSDKUINFCPassportReaderViewController,SBSDKNFCPassportReader,SBSDKScannerViewController,SBSDKPayFormScannerand all their related classes. - Removed deprecated properties and functions in 
SBSDKMachineReadableZoneRecognizerResult,SBSDKMedicalCertificateRecognizer,SBSDKOpticalTextRecognizer,SBSDKCaptureInfo,SBSDKUIPageandSBSDKGenericTextLineRecognizerConfiguration. - Refactored 
SBSDKBarcodeScannerViewControllerDelegate. Please check all your classes that conform toSBSDKBarcodeScannerViewControllerDelegate. - Removed 
deviceparameter from the initializer ofSBSDKMedicalCertificateScannerViewControllerto be on par with other classic UI components. 
 - Removed all deprecated classes: 
 - 🚙 Under the hood:
- Updated third-party library TFlite to version 2.10.
 
 
Version 1.31.0 (3 January 2023):
- 🎉 New:
- Added support for more camera device types in 
SBSDKCameraDevice. The new device types areSBSDKCameraDeviceTypeUltraWide,SBSDKCameraDeviceTypeDualWide,SBSDKCameraDeviceTypeDualandSBSDKCameraDeviceTypeTriple. - Added new barcode scanner parameter 
decodeStacks1DtoSBSDKBarcodeAdditionalParameters. For stacked RSS barcodes, this should be set to the number of stacks with which the barcode was printed. - Added new type 
SBSDKMedicalCertificateRecognizerFormType_21A_BACKtoSBSDKMedicalCertificateRecognizerFormType. - Added new enum values 
SBSDKMedicalCertificateRecognizerCheckboxTypeEntitlementToContinuedPaymentYes,SBSDKMedicalCertificateRecognizerCheckboxTypeEntitlementToContinuedPaymentNo,SBSDKMedicalCertificateRecognizerCheckboxTypeSickPayWasClaimedYes,SBSDKMedicalCertificateRecognizerCheckboxTypeSickPayWasClaimedNo,SBSDKMedicalCertificateRecognizerCheckboxTypeSingleParentYesandSBSDKMedicalCertificateRecognizerCheckboxTypeSingleParentNotoSBSDKMedicalCertificateRecognizerCheckboxType. - Added a new text format property configuration in barcodes overlay 
SBSDKBarcodeOverlayFormatfor RTU-UI, seeoverlayTextFormatinSBSDKUIBarcodeSelectionOverlayConfigurationand for classical component, seeoverlayTextFormatinSBSDKBarcodeScannerViewController. - Added new property 
suppressPolygonLayertoSBSDKDocumentScannerViewController, to hide the polygon layer. 
 - Added support for more camera device types in 
 - 🚀 Improvements:
- Improved recognition of inverted barcodes.
 - Improved performance and reduced false positive rate for stacked RSS barcodes.
 - Improved performance of DataMatrix and QR-codes.
 - Improved recognition of Medical certificates in general.
 
 - 🐞 Bug fixes:
- Fixed a potential crash when the app using ScanbotSDK is suspended by the operating system.
 - Fixed issues with MRZ on Mexican and US passports.
 - Fixed a crash when applying a filter to single channel images.
 - Fixed a crash on the detection of Health Insurance cards in some rare cases.
 
 - ⚠️ Breaking Changes:
- Changed the default back-facing camera to the ultra-wide lens on iPhone 14 Pro (including Max) devices, due to close-focusing issues with these devices.
 - Renamed 
hideDetectionStatusLabeltosuppressDetectionStatusLabelinSBSDKDocumentScannerViewController. - Renamed 
SBSDKMedicalCertificateRecognizerCheckboxTypeAccidenttoSBSDKMedicalCertificateRecognizerCheckboxTypeAccidentYes. - Renamed 
SBSDKMedicalCertificateRecognizerCheckboxTypeRequiresCaretoSBSDKMedicalCertificateRecognizerCheckboxTypeRequiresCareYes. - Deprecated 
SBSDKNFCPassportReader,SBSDKUINFCPassportReaderViewControllerand related classes. Will be removed in the future. - Deprecated 
SBSDKPayformScannerand related classes. Will be removed in the future. 
 - 🚙 Under the hood:
- Added third-party libraries (backward-cpp v1.6 and magic-enum v0.8.1).
 
 
Version 1.30.2 (14 Mar 2023):
- 🐞 Bug fixes:
- Fixed a potential crash in OCR initialization when the app name contains spaces
 
 
Version 1.30.1 (17 October 2022):
- 🐞 Bug fixes:
- Fixed a crash when navigating to and from scanner view controllers.
 
 
Version 1.30.0 (14 October 2022):
- ⚠️ Breaking Changes:
- Xcode 14.0 and higher is now required to build and submit apps using ScanbotSDK!
 - Removed bitcode from ScanbotSDK. Bitcode is no longer needed and Apple deprecated it with Xcode 14. Please turn bitcode off for your apps using ScanbotSDK!
 - The 
SBSDKCameraSession's methodstartSessionis now asynchronous and has a completion handler. 
 - 🎉 New:
- Added support for IATA and Industrial barcode types.
 - Added property 
detectionStatusFontSizetoSBSDKDocumentScannerViewControllerwhich allows you to change the font size for the user guidance. - Added property 
textHintFontSizetoSBSDKUIDocumentScannerTextConfigurationwhich allows you to change the font size of the text hints. - Added property 
initialScanDelaytoSBSDKBaseScannerViewController,SBSDKUIBarcodesBatchScannerBehaviourConfigurationandSBSDKUIBarcodeScannerBehaviourConfiguration, which allows you to define how long the view controller waits (after its appearance) before scanning/recognizing. - Added JSON-support for 
SBSDKUICroppingScreenConfiguration. - Added a new function 
- (nonnull NSArray<SBSDKBarcodeScannerResult *> *)barcodeScanner:(nonnull SBSDKBarcodeScannerViewController *)controller filterResults:(nonnull NSArray<SBSDKBarcodeScannerResult *> *)codestoSBSDKBarcodeScannerViewControllerDelegatewhich allows you to filter detected barcodes before post-processing them in the final delegate call. - Added properties 
displayResultsOverlay,resultsOverlayColorandresultsOverlayTextColortoSBSDKBarcodeScannerViewControllerto display an AR-style overlay highlighting the found recognition result in real-time. - Added properties 
selectionOverlayEnabledas well asselectionPolygonColor,selectionTextColor,selectionTextContainerColorand their highlighted counterparts toSBSDKBarcodeScannerViewControllerto display and configure an overlay for selecting and highlighting recognized barcodes. - Added property 
selectionOverlayConfigurationof the new classSBSDKUIBarcodeSelectionOverlayConfigurationtoSBSDKUIBarcodeScannerConfigurationandSBSDKUIBarcodesBatchScannerConfiguration. - Added property 
applicationStateDidChangeHandlertoSBSDKBaseScannerViewControllerto notify you when the application moved to foreground or background state. - Added property 
zoomFactorDidChangeHandlertoSBSDKBaseScannerViewControllerto notify you when the camera zoom factor has changed. - Added property 
cameraZoomFactorAbsolutetoSBSDKBaseScannerViewControllerwhich returns the absolute camera's video zoom factor. - Added functions 
freezeCameraandunfreezeCameratoSBSDKBaseScannerViewController,SBSDKUIBarcodeScannerViewControllerandSBSDKUIBarcodesBatchScannerViewController. 
 - 🚀 Improvements:
- Improved MRZ detection on the US passports
 
 - 🐞 Bug fixes:
- Fixed a bug where UPC/EAN extensions were not recognized.
 - Fixed a warning with Xcode 14/iOS 16 about the camera session's synchronous start.
 - Fixed a bug in 
SBSDKImageEditingViewControllerwhere magnetic lines were initially not being recognized. 
 
Version 1.29.0 (1 September 2022):
- 🎉 New:
- Added new class 
SBSDKSoundControllerto play a default or custom sound on different actions, e.g. successful code detection. - Added new method 
playBleepSoundtoSBSDKBaseScannerViewControllerto play a default bleep sound. 
 - Added new class 
 - 🚀 Improvements:
- Improved accuracy and performance of the check recognizer.
 
 - 🐞 Bug fixes:
- Fixed a bug in 
SBSDKImageEditingViewControllerwhere the initial document detection failed. - Fixed a bug with inaccurate results of the MRZ recognizer.
 
 - Fixed a bug in 
 
Version 1.28.1 (17 August 2022):
- 🎉 New:
- Added optional delegate method 
documentScannerController:didSampleVideoFrame:detectionResult:toSBSDKDocumentScannerViewControllerDelegate, which informs the delegate that the document scanner has processed a video frame. 
 - Added optional delegate method 
 - 🐞 Bug fixes:
- Fixed a crash in 
SBSDKBarcodeScannerViewController. 
 - Fixed a crash in 
 
Version 1.28.0 (19 July 2022):
- 🎉 New:
- Added support for JSON in all RTU-UI configurations. All 
SBSDKUI...Configurationclasses now have aninitWithJSON:initializer. - Added new parameter 
codeDensitytoSBSDKBarcodeAdditionalParameters. - Replaced 
autoSnappingEnabledwithautoSnappingModeof the new typeSBSDKAutosnappingModeinSBSDKDocumentScannerViewController. - Added new parameter 
forceUserGuidancetoSBSDKUIDocumentScannerBehaviorConfiguration. - Added new parameter 
flashButtonHiddento all RTU-UI screens. 
 - Added support for JSON in all RTU-UI configurations. All 
 - ⚠️ Breaking Changes:
- Moved the parameters 
acceptedMachineCodeTypesandacceptedDocumentTypesfrom the initializers ofSBSDKUIBarcodeScannerViewControllertoSBSDKUIBarcodeScannerBehaviorConfigurationand fromSBSDKUIBarcodesBatchScannerViewControllertoSBSDKUIBarcodesBatchScannerBehaviorConfiguration. - Moved the parameter 
recognitionStepfromSBSDKUITextDataScannerViewControllertoSBSDKUITextDataScannerBehaviorConfiguration. - Removed the parameter 
accumulatedFramesCountand the corresponding initializers fromSBSDKBarcodeScanner. - Removed the parameter 
barcodeAccumulatedFramesCountfromSBSDKBarcodeScannerViewControllerandSBSDKScannerViewController. - Removed parameters 
imageOrientationLockandallowedInterfaceOrientationsfrom all RTU-UI configurations. This has been replaced by the combined propertyorientationLockMode. - Removed delegate methods 
(void)scannerControllerDidChangeDeviceOrientation:(nonnull SBSDKScannerViewController *)controller to:(UIDeviceOrientation)orientation transform:(CGAffineTransform)transformand(BOOL)scannerController:(nonnull SBSDKScannerViewController *)controller shouldRotateInterfaceForDeviceOrientation:(UIDeviceOrientation)orientation transform:(CGAffineTransform)transformfromSBSDKScannerViewControllerDelegate. 
 - Moved the parameters 
 - 🐞 Bug fixes:
- Fixed a crash in the check recognizer.
 
 - 🚙 Under the hood:
- Updated third-party library Boost to version 1.79.0
 
 
Version 1.27.1 (7 June 2022):
- 🐞 Bug fixes:
- Fixed 
autoSnappingEnabledinSBSDUIDocumentScannerBehaviourConfigurationthat had no effect. - Fixed visibility of the shutter button in 
SBSDKUIDocumentScannerViewControllerwhen camera access is denied. 
 - Fixed 
 
Version 1.27.0 (3 June 2022):
- 🎉 New:
- Classic UI components:
- Added a new base scanner view controller 
SBSDKBaseScannerViewControllerwhich provides a lot of base functionality like zooming, viewfinder, energy management, focus locking, flash light and flash animation, automatic interruption of detection on disappearance or when presenting view controllers and more. - Made all Classic UI scanner view controllers subclasses of the new 
SBSDKBaseScannerViewController. - Added new component 
SBSDKCheckRecognizerViewControllerfor scanning checks. - Added new component 
SBSDKHealthInsuranceScannerViewControllerfor scanning health insurance cards. - Added new component 
SBSDKMRZScannerViewControllerfor scanning machine-readable zones. - Added new component 
SBSDKDocumentScannerViewControllerfor scanning documents. This is a simpler version of the soon to be deprecatedSBSDKScannerViewController. 
 - Added a new base scanner view controller 
 - RTU-UI components:
- Refactored all RTU-UI components to make use of the new Classic UI components under the hood.
 - Added new component 
SBSDKUICheckRecognizerViewControllerfor scanning checks. 
 
 - Classic UI components:
 - 🚀 Improvements:
- Beta: An improved Check Recognizer that now supports further bank layouts from different countries (e.g Kuwait, India, Australia). The recognizer is available as Classic and RTU UI components. Please note that this feature is still in beta. Furthermore, due to the renaming of the feature from "Cheque" to "Check", some classes and API methods have been renamed as well as new classes have been introduced. For more details please see the Breaking Changes.
 - Improved 1D barcode recognition
 - Improved generic document recognizer field validation
 
 - 🐞 Bug fixes:
- Driver's license number is being validated now by its checksum.
 - Medical certificates of type 1C are no longer recognized as 1A.
 
 - ⚠️ Breaking Changes:
SBSDKLicensePlateScannerViewController- removed property 
showViewFinder, please useviewFinderConfiguration.viewFinderEnabled. - removed property 
viewFinderBackgroundColor, please useviewFinderConfiguration.backgroundColor. - removed property 
viewFinderLineColor, please useviewFinderConfiguration.lineColor. - removed property 
viewFinderLineWidth, please useviewFinderConfiguration.lineWidth. - removed property 
viewFinderMinimumInset, please useviewFinderConfiguration.minimumInset. 
- removed property 
 SBSDKBarcodeScannerViewController- replaced designated initializer with 
- (nullable instancetype)initWithParentViewController:(nonnull UIViewController *)parentViewController parentView:(nullable UIView *)containerView delegate:(nullable id<SBSDKBarcodeScannerViewControllerDelegate>)delegate. - In 
SBSDKBarcodeScannerViewControllerDelegatethe function- (void)barcodeScannerController:(nonnull SBSDKBarcodeScannerViewController *)controller didDetectBarcodes:(nonnull NSArray<SBSDKBarcodeScannerResult *> *)codes;is renamed to- (void)barcodeScannerController:(nonnull SBSDKBarcodeScannerViewController *)controller didDetectBarcodes:(nonnull NSArray<SBSDKBarcodeScannerResult *> *)codes onImage:(nonnull UIImage *)image;. - removed property 
HUDView, please useoverlayView. - removed property 
cameraZoomRange, please usezoomConfiguration.zoomRange. - removed property 
cameraZoomFactor, please usezoomConfiguration.initialZoomFactor. - removed property 
doubleTapToZoomEnabled, please usezoomConfiguration.doubleTapToZoomEnabled. - removed property 
pinchToZoomEnabled, please usezoomConfiguration.pinchToZoomEnabled. - removed property 
shouldUseFinderFrame. - removed property 
finderAspectRatio, please useviewFinderConfiguration.aspectRatio. - removed property 
finderMinimumInset, please useviewFinderConfiguration.minimumInset. - removed property 
previewBackgroundColor. - removed property 
viewFinderBackgroundColor, please useviewFinderConfiguration.backgroundColor. - removed property 
viewFinderLineColor, please useviewFinderConfiguration.lineColor. - removed property 
viewFinderLineWidth, please useviewFinderConfiguration.lineWidth. 
- replaced designated initializer with 
 SBSDKGenericTextLineRecognizerViewController- removed property 
finderMinimumInset, please useviewFinderConfiguration.minimumInset. - removed property 
viewFinderBackgroundColor, please useviewFinderConfiguration.backgroundColor. - removed property 
viewFinderLineColor, please useviewFinderConfiguration.lineColor. - removed property 
viewFinderLineWidth, please useviewFinderConfiguration.lineWidth. - removed property 
doubleTapToZoomEnabled, please usezoomConfiguration.doubleTapToZoomEnabled. - removed property 
shouldAnimateZooming, please usezoomConfiguration.shouldAnimateZooming. - removed property 
deviceMotionRecognitionDelay. - removed function 
toggleZoom. - removed function 
zoomIn. - removed function 
zoomOut. 
- removed property 
 SBSDKGenericDocumentRecognizerViewController- removed property 
showViewFinder, please useviewFinderConfiguration.viewFinderEnabled. - removed property 
viewFinderBackgroundColor, please useviewFinderConfiguration.backgroundColor. - removed property 
viewFinderLineColor, please useviewFinderConfiguration.lineColor. - removed property 
viewFinderLineWidth, please useviewFinderConfiguration.lineWidth. - removed property 
finderMinimumInset, please useviewFinderConfiguration.minimumInset. 
- removed property 
 - Replaced 
SBSDKFinderLayerwithSBSDKFinderView. - Deprecated 
SBSBDKScannerViewControllerin favor ofSBSDKDocumentScannerViewController. - Deprecated workflows, namely 
SBSDKUIWorkflowScannerViewController, its configurations andSBSDKUIWorkflowStep, these will be removed from the SDK soon as they are not commonly used by our customers. - Removed the deprecated classes 
SBSDKIDCardRecognizer,SBSDKIDCardScannerViewController,SBSDKUIIDCardScannerViewControllerand their related classes, please use theSBSDKGenericDocument-based API. - Renamed 
SBSDKUIVideoContentModetoSBSDKVideoContentMode. 
 
Version 1.26.2 (5 May 2022):
- 🎉 New:
- Added asynchronous, cancellable and progress-observable functions to 
SBSDKPDFPagesExtractor. 
 - Added asynchronous, cancellable and progress-observable functions to 
 - 🐞 Bug fixes:
- Fixed a bug with the viewfinder rectangle not being calculated correctly in landscape mode in 
SBSDKBarcodeScannerViewController. 
 - Fixed a bug with the viewfinder rectangle not being calculated correctly in landscape mode in 
 - 🚀 Improvements:
- Improved loading performance of 
SBSDKImageEditingViewControllerby executing the document detection concurrently. You can specify the queue for the document detection by setting the propertyprocessingQueuebefore assigning an image. - Improved memory footprint of 
SBSDKPDFPagesExtractor. 
 - Improved loading performance of 
 
Version 1.26.0 (7 April 2022):
- 🚀 Improvements:
- Major improvements on barcode detection.
 - Improved barcode image cropping.
 - Changed default OCR language in the health insurance card scanner to German for better recognition of umlauts.
 
 - 🎉 New:
- Added a new property 
topAndBottomButtonsSwappedtoSBSDKUICroppingScreenUIConfigurationwhich enables the swapping of the top and bottom buttons inSBSDKUICroppingViewController. - Added the 
SBSDKUIDialogFactoryclass to create iOS system-style alerts with extended functionality, e.g. displaying images. - Added the function tiffDataForImages:parameters: to get the TIFF image data in 
SBSDKTIFFImageWriter. - Added new checkbox types to the medical certificate recognizer, see 
SBSDKMedicalCertificateRecognizerCheckboxType. 
 - Added a new property 
 - ⚠️ Breaking Changes:
- Renamed 
pageCounterAccessibilityHinttopageCounterButtonAccessibilityHintinSBSDKUIDocumentScannerAccessibilityConfiguration. 
 - Renamed 
 - 🚙 Under the hood:
- Since Swift is now module-stable, internal support for Swift was added. This allows us to implement future features using Swift with its extended robustness. Of course the Objective-C interoperability will still be maintained.
 - Updated third-party library Boost to version 1.75.0
 - Updated third-party library BoringSSL to commit 8f5eb80b
 - Updated third-party library JSON for Modern C++ to version 3.10.2
 - Updated third-party library Leptonica to version 1.82.0
 - Updated third-party library libjpeg-turbo to version 2.1.2
 - Updated third-party library libpng to version 1.6.36
 - Updated third-party library libtiff to version 4.2.0
 - Updated third-party library Nameof C++ to version 0.10.1
 - Updated third-party library OpenCV to version 4.5.3
 - Updated third-party library OpenSSL to version 1.1.1i
 - Updated third-party library Skia to commit 47b4b19
 - Updated third-party library spdlog to version 1.9.2
 - Updated third-party library Tensorflow to version 2.6.1
 - Updated third-party library Tesseract to version 4.1.3
 - Updated third-party library XNNPACK to commit fb8d1f1b2
 - Updated third-party library xsimd to commit 3d17850e
 - Updated third-party library xtensor to commit be35a267
 - Updated third-party library xtl to commit e0f00666
 - Updated third-party library ZXing-C++ to version 1.1.0
 - Updated third-party library G8Tesseract to commit bfc86ac
 
 
Version 1.25.1 (1 March 2022):
- 🐞 Bug fixes:
- Fixed a bug with wrong camera preview orientation when starting 
SBSDKBarcodeScannerViewControllerandSBSDKUIBarcodeScannerViewControllerin landscape orientation. 
 - Fixed a bug with wrong camera preview orientation when starting 
 
Version 1.25.0 (17 February 2022):
- 🎉 New:
- Added the ability to read and write PDF metadata from and to PDF files, see 
SBSDKPDFMetadataProcessor. - Added support for the GS1 barcode document format, see 
SBSDKGS1DocumentFormat. - Added the 
SBSDKBarcodeDocumentParserclass which parses any given string for supported barcode document types. - Added new Classic UI component 
SBSDKMedicalCertificateScannerViewControllerand RTU-UI componentSBSDKUIMedicalCertificateScannerViewControllerto scan medical certificates. - Added the ability to exclude certain fields from the generic document scanner's recognition process, see the 
excludedFieldTypesproperty inSBSDKGenericDocumentRecognizer,SBSDKGenericDocumentRecognizerViewControllerandSBSDKUIGenericDocumentRecognizerBehaviorConfiguration.excludedFieldTypesis an array of normalized names for the document field types, e.g.SBSDKGenericDocumentDeIdCardFrontPINFieldNormalizedName. The full list of supported field types can be found inSBSDKGenericDocumentsModel.h. 
 - Added the ability to read and write PDF metadata from and to PDF files, see 
 - 🚀 Improvements:
- Improved validation for 
SBSDKGenericDocumentField. Fields that havevalidationStatusSBSDKGenericDocumentFieldValidationStatusInvalidwill not be shown in the list of fields ofSBSDKGenericDocument. 
 - Improved validation for 
 - ⚠️ Breaking Changes:
- Renamed all disability certificate recognition APIs from SBSDKDisabilityCertificate... to SBSDKMedicalCertificate...
 - Deprecated 
SBSDKUIScanDisabilityCertificateWorkflowStep. 
 - 🐞 Bug fixes:
- Fixed a crash when setting 
pageCounterButtonAccessibilityLabelinSBSDKUIDocumentScannerAccessibilityConfigurationto nil. 
 - Fixed a crash when setting 
 
Version 1.24.1 (26 January 2022):
- 🐞 Bug fixes:
- Fixes an issue with viewfinder colors and line width not being applied in RTU-UI components.
 - Fixes an issue with the flashlight not turning on automatically if configured in 
SBSDKUIBarcodeScannerViewControllerandSBSDKUIBarcodesBatchScannerViewController. - Fixes a crash when creating an instance of 
SBSDKBlurrinessEstimator. 
 
Version 1.24.0 (14 January 2022):
- 🎉 New:
- Added ability to disable auto-focus by locking the lens at the specified lens position.
- Added property 
isFocusLockEnabledand functions- (BOOL)beginFocusLockAtLensPosition:(CGFloat)lensPosition,- (void)endFocusLocktoSBSDKBarcodeScannerViewControllerandSBSDKCameraSession. - Added properties 
focusLockEnabledandfocusLockPositiontoSBSDKUIBarcodeScannerBehaviorConfigurationandSBSDKUIBarcodesBatchScannerBehaviorConfiguration. 
 - Added property 
 
 - Added ability to disable auto-focus by locking the lens at the specified lens position.
 - 🚀 Improvements:
- Improved machine readable zone recognizer.
 - Improved ID card recognizer.
 - Improved Aztec barcode recognition.
 
 - 🐞 Bug fixes:
- Fixes a bug with simulators not capturing the demo image when the shutter button is pressed
 - Fixes a bug in 
SBSDKPDFPagesExtractorwith transformed PDF pages. 
 
Version 1.23.0 (22 December 2021):
- 🎉 New:
- Support for barcode scanner results filtering in RTU-UI barcode scanning components:
- New subclassable objects 
SBSDKUIBarcodeFilterandSBSDKUIBarcodeExtensionsFilter. - New property 
barcodeFilterinSBSDKUIBarcodeScannerBehaviorConfigurationandSBSDKUIBarcodesBatchScannerBehaviorConfiguration. 
 - New subclassable objects 
 
 - Support for barcode scanner results filtering in RTU-UI barcode scanning components:
 - 🚀 Improvements:
- Improved PDF417 recognition performance on single photos.
 - Improved barcode detection on large documents.
 - Updated flash buttons' icons.
 - Improved GS-1 databar recognition in the next-gen barcode scanner.
 
 - ⚠️ Breaking Changes:
- Added property 
flashButtonInactiveColortoSBSDKUIHealthInsuranceCardScannerUIConfiguration. - Removed properties 
bottomButtonsInactiveColorandbottomButtonsActiveColorofSBSDKUIHealthInsuranceCardScannerUIConfigurationas they are unnecessary. 
 - Added property 
 - 🐞 Bug fixes:
- Fixed a very rare problem in all scanner screens where the camera layer lost track of the device orientation.
 - Fixed a rare crash in 
SBSDKUIMRZScannerViewControllerandSBSDKUIHealthInsuranceCardScannerViewControllerwhen used in landscape mode. - Fixed a problem with an inaccurate finder in 
SBSDKUIMRZScannerViewControllerandSBSDKUIHealthInsuranceCardScannerViewController. 
 
Version 1.22.0 (25 November 2021):
- 🎉 New:
- Support for front-facing, telephoto and wide angle cameras in RTU-UI and classic components:
- New classes for camera support: 
SBSDKCameraDevice,SBSDKUIConfigurationandSBSDKUICameraConfiguration. - New function for camera support: 
[SBSDKCameraSession initForFeature:withDevice:]. - New property for camera support: 
cameraDeviceinSBSDKBaseCameraViewControllerwhich is the base class for all classic components. - All SBSDKUIConfiguration objects now derive from 
SBSDKUIConfigurationwhich adds the new subconfigrationcameraConfigurationof typeSBSDKUICameraConfiguration. 
 - New classes for camera support: 
 - Barcodes:
- Added properties 
rawTextStringWithExtensionandmetadatatoSBSDKBarcodeScannerResultto support barcode extensions of UPC and EAN barcodes. - The results screen of the 
SBSDKUIBarcodesBatchScannerViewControllernow displaysrawTextStringWithExtensioninstead ofrawTextString. 
 - Added properties 
 
 - Support for front-facing, telephoto and wide angle cameras in RTU-UI and classic components:
 - 🐞 Bug fixes:
- Fixed crash when scanning barcodes on certain images.
 - Fixed missing person info on disability certificate scans.
 
 
Version 1.21.2 (2 November 2021):
- 🎉 New:
- Added property 
photoQualityPriorizationof typeSBSDKCapturePhotoQualityPrioritizationtoSBSDKScannerViewControllerand toSBSDKUIDocumentScannerBehaviorConfiguration, which changes the prioritization of quality and speed when capturing still images. 
 - Added property 
 - ⚠️ Breaking Changes:
- Removed enum value SBSDKDocumentDetectorModeMachineLearningNoCoreML from 
SBSDKDocumentDetectorMode, CoreML and NonCoreML document detectors are now working equally, making the distinction of them obsolete. The CoreML version is used on devices with iOS 13.0 and above, on older iOS version the NonCoreML version is used internally. 
 - Removed enum value SBSDKDocumentDetectorModeMachineLearningNoCoreML from 
 - 🚙 Under the hood:
- Updated some third party libraries. (see Third-party Libraries)
 
 
Version 1.21.1 (13 October 2021):
- 🐞 Bug fixes:
- Fixes a crash in 
SBSDKGenericDocumentRecognizerwhen scanning the back of an ID card. 
 - Fixes a crash in 
 
Version 1.21.0 (12 October 2021):
- 🎉 New:
- Added new filter type 
SBSDKImageFilterTypePureGray, a grayscale filter without further optimizations. 
 - Added new filter type 
 - 🚀 Improvements:
- Improved flexibility, speed, and accuracy of the EHIC Scanner (European Health Insurance Cards).
 
 - 🐞 Bug fixes:
- Fixed a rare bug where capturing an image on a physical device returns a dummy image. The dummy image is now only returned on simulators.
 - Fixed a bug in the layout of the status hints label in 
SBSDKScannerViewControlleron some devices. - Fixed a rare crash in 
SBSDKNFCPassportReader. 
 - ⚠️ Breaking Changes:
- Removed enum 
SBSDKHealthInsuranceCardValidationType, removed propertyvalidationTypefromSBSDKUIHealthInsuranceCardScannerBehaviorConfiguration, removedinitWithValidationType:and alldetectAndRecognizeFromImagemethods fromSBSDKHealthInsuranceCardRecognizer, renamedSBSDKHealthInsuranceCardDetectionStatusFailedValidationtoSBSDKHealthInsuranceCardDetectionStatusIncompleteValidationandrecognizeFromImagetorecognizeFromStillImageresp.recognizeFromVideoFrameImage. - Changed the method of localizing status hints in document scanner. Old keys will not work. Instead, added new class 
SBSDKScannerStatusTextConfigurationfor setting the status hint text in the document scanner, along with thetextConfigurationparameter inSBSDKScannerViewController. - Changed property initializer in 
SBSDKUINFCPassportReaderResultfrom(instancetype _Nonnull )initWithDatagroupDG1:(nullable SBSDKNFCDatagroupDG1 *)dg1 datagroupDG2:(nullable SBSDKNFCDatagroupDG2 *)dg2;to(instancetype _Nonnull )initWithDatagroup1:(nullable SBSDKNFCDatagroupDG1 *)dataGroup1 datagroup2:(nullable SBSDKNFCDatagroupDG2 *)dataGroup2;and properties fromdatagroupDG1,datagroupDG2andphotoImageURLtodataGroup1,dataGroup2andphotoURL. - Changed property from 
submitButtonTitletoviewResultsButtonTitleinSBSDKUIGenericDocumentRecognizerTextConfigurationandSBSDKUIIDCardScannerTextConfiguration. 
 - Removed enum 
 
Version 1.20.0 (25 August 2021):
- 🎉 New:
- Added support for zooming in  
SBSDKUIBarcodesBatchScannerViewController. - Added support for the ML based document detector without using CoreML to maintain compliance with the Android implementation, see 
SBSDKDocumentDetectorModeMachineLearningNoCoreML. - Added 
anchorPointsColorproperty toSBSDKImageEditingViewControllerandSBSDKUICroppingScreenUIConfiguration, which allows setting the color of the cropping anchor handles. - Added 
stripCheckDigitsparameter inSBSDKBarcodeAdditionalParametersclass. - Added 
SBSDKPDFPagesExtractorclass that can extract pages from a PDF asUIImages, or convert them to JPEGs and write them to a specified URL. 
 - Added support for zooming in  
 - ⚠️ Breaking Changes:
- Added 
SBSDKSEPADocumentFieldTypePurpose,SBSDKSEPADocumentFieldTypeRemittanceandSBSDKSEPADocumentFieldTypeInformationfields toSBSDKSEPADocumentFieldType. RemovedSBSDKSEPADocumentFieldTypeReferenceandSBSDKSEPADocumentFieldTypeHintfields from it. - Added 
pageImageSourceproperty toSBSDKUIPagewhich replaces the now deprecatedisCapturedAutomaticallyproperty. 
 - Added 
 - 🚀 Improvements:
- Improved recognition of UPC/EAN barcodes due to ink spread.
 
 - 🐞 Bug fixes:
- Fixed a rare bug with calling some delegate function in 
SBSDKUIDocumentScannerViewControllertoo often in some cases. - Fixed a bug with the EHIC recognizer that caused some UTF8 characters to be ignored upon recognition.
 
 - Fixed a rare bug with calling some delegate function in 
 
Version 1.19.3 (7 July 2021):
- 🎉 New:
- Added support for Swift Package Manager: you can now use the Swift Package Manager to embed the Scanbot SDK into your app.
 
 - 🐞 Bug fixes
- Fixed a bug in 
SBSDKGenericDocumentRecognizerViewControllerwhere results come in before the previous results were processed. 
 - Fixed a bug in 
 
Version 1.19.2 (6 July 2021):
- 🎉 New:
- Added support for recognition status and document image in 
SBSDKGenericDocumentRecognizer(seeSBSDKGenericDocumentRecognitionResult). 
 - Added support for recognition status and document image in 
 - ⚠️ Breaking Changes:
SBSDKGenericDocumentRecognizerandSBSDKGenericDocumentRecognizerViewControllerDelegatereturnSBSDKGenericDocumentRecognitionResultinstead ofSBSDKGenericDocument.
 
Version 1.19.1 (1 July 2021):
- 🎉 New:
- Added support for Apple Silicon M1 simulators, your app build with the ScanbotSDK.xcframework or via CocoaPods now will run natively on M1 Mac simulators without having to start Xcode in Rosetta 2 mode.
 
 - ⚠️ Breaking Changes:
- The Scanbot SDK CocoaPod now contains an XCFramework instead of a standard framework, you may need to update CocoaPods and/or Xcode.
 
 
Version 1.19.0 (30 June 2021):
- 🎉 New:
- Brand new "Next Generation" machine-learning-based barcode scanning engine with improved reliability and much faster performance.
 - API changes for the new barcode engine: added 
engineModeproperty of typeSBSDKBarcodeEngineModeon barcode scanning APIs likeSBSDKBarcodeScanner,SBSDKBarcodeScannerViewController, andSBSDKUIBarcodesBatchScannerBehaviorConfigurationto switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used. 
 - ⚠️ Breaking Changes:
- Removed 
enableHighSensitivityModeproperty onSBSDKBarcodeScanner, because it is no longer needed. 
 - Removed 
 - 🚀 Improvements:
- Improved logging for license failures. The app bundle identifier from the license and from the app will be displayed in the log in case you accidentally set up a wrong license. Also, the expiration date of expired licenses is now being logged to the console.
 - More detailed Scanbot SDK module documentation.
 
 - 🐞 Bug fixes
- Fixes a layout bug with long text on detection status labels.
 - Fixes a bug in document scanner view controllers (Classic UI and Ready-to-use UI) where sometimes the energy save mode did not end properly.
 
 - 🚙 Under the hood:
- New third-party libraries: xsimd, xtl und xtensor (see Third-party Libraries).
 
 
Version 1.18.0 (9 June 2021):
- 🎉 New:
- New disability certificate type: 
SBSDKDisabilityCertificatesRecognizerFormType_1B_CUSTOM. - Added support for MSI-Plessey barcodes again: see 
SBSDKBarcodeTypeMSIPlessey, MSI checksum algorithm is selectable viaSBSDKBarcodeAdditionalParametersproperty namedmsiPlesseyChecksumAlgorithm, by default MSI-Plessey is disabled, you must explicitly passSBSDKBarcodeAdditionalParametersas an accepted type to any barcode scanning class. 
 - New disability certificate type: 
 - 🚀 Improvements:
- Better logging of licensing system errors, e.g. display the apps and the licenses bundle identifier.
 
 - 🐞 Bug fixes
- Fixes a problem with UPC-A barcodes being recognized as EAN-13 barcodes.
 
 
Version 1.17.1 (12 May 2021):
- 🐞 Bug fixes
- Fixes a localization issue in 
SBSDKUIGenericDocumentRecognizerViewController. 
 - Fixes a localization issue in 
 
Version 1.17.0 (10 May 2021):
- 🎉 New:
- Introduces the Generic Document Recognizer, providing the ability to scan various types of documents, including German ID cards, German passports and German driver's licenses: 
SBSDKGenericDocument,SBSDKGenericDocumentRecognizer,SBSDKGenericDocumentRecognizerViewControllerandSBSDKUIGenericDocumentRecognizerViewController. 
 - Introduces the Generic Document Recognizer, providing the ability to scan various types of documents, including German ID cards, German passports and German driver's licenses: 
 - ⚠️ Breaking Changes:
- Deprecated 
SBSDKIDCardRecognizer,SBSDKIDCardScannerViewController,SBSDKUIIDCardScannerViewControllerand related classes, please use theSBSDKGenericDocument-based API. 
 - Deprecated 
 
Version 1.16.0 (21 April 2021):
- 🎉 New:
- Added support for zooming in 
SBSDKBarcodeScannerViewControllerandSBSDKUIBarcodeScannerViewController. Use the new propertiescameraZoomRange,cameraZoomFactor,shouldAnimateZooming,doubleTapToZoomEnabledandpinchToZoomEnabledonSBSDKBarcodeScannerViewControllerandSBSDKUIBarcodeScannerBehaviorConfigurationto configure zooming the camera to scan small barcodes. - Added support for document type filtering to 
SBSDKUIBarcodesBatchScannerViewController. 
 - Added support for zooming in 
 - ⚠️ Breaking Changes:
- Breaking change: 
SBSDKBarcodeScannerViewController:capturingFrameAspectRatiowas renamed tofinderAspectRatio, andcapturingFrameMinimumInsetwas renamed tofinderMinimumInset. - Breaking change: Removed 
SBSDKUIMachineCodeScannerConfigurationand related configurations.SBSDKUIMRZScannerViewControllernow usesSBSDKUIMRZScannerConfigurationandSBSDKUIBarcodeScannerViewControllernow usesSBSDKUIBarcodeScannerConfigurationas configurations. 
 - Breaking change: 
 - 🐞 Bug fixes
- Fixes a bug in 
SBSDKScannerViewControllerwhere the default detection status label sometimes showed up although a custom status view was provided. 
 - Fixes a bug in 
 
Version 1.15.1 (9 April 2021):
- 🎉 New:
- Added 
enableGS1Decodingparameter toSBSDKBarcodeAdditionalParameters. - Added 
imageproperty toSBSDKMachineReadableZoneRecognizerField. 
 - Added 
 - 🐞 Bug fixes
- Fixed a bug in 
SBSDKUIBarcodesBatchScannerViewControllerwhereadditionalDetectionParametershave not been applied. - Fixed a rare bug when calculating the finder rectangle in 
SBSDKGenericTextLineRecognizerViewController,SBSDKLicensePlateScannerViewControllerandSBSDKBarcodeScannerViewController. - Fixed the delegate calls in 
SBSDKUILicensePlateScannerViewController. 
 - Fixed a bug in 
 - ⚠️ Breaking Changes:
- Renamed property 
flashImageButtonHiddentoflashButtonHiddeninSBSDKUIDocumentScannerUIConfigurationandSBSDKUIMultipleObjectScannerUIConfiguration. - Removed the 2017 deprecated 
SBSDKCropViewController, please useSBSDKImageEditingViewControllerinstead. 
 - Renamed property 
 - 🚙 Under the hood:
- Updated OpenSSL to version 1.1.1j.
 
 
Version 1.15.0 (23 Mar 2021):
- 🎉 New:
- New feature: vehicle license plate scanner. The new classes are 
SBSDKLicensePlateScanner,SBSDKLicensePlateScannerViewControllerandSBSDKUILicensePlateScannerViewController. - Added 
acceptedDocumentTypestoSBSDKIDCardRecognizer,SBSDKIDCardScannerViewControllerandSBSDKUIIDCardScannerBehaviorConfiguration. - Added  
sharpnessAcceptanceFactortoSBSDKUIIDCardScannerBehaviorConfiguration. - Added 
edgeLineWidthparameter toSBSDKCropViewandSBSDKImageEditingViewController. - Added 
polygonLineWidthparameter toSBSDKUICroppingScreenUIConfiguration. - Added support for Voice-Over in RTU-UI components of the document scanner and the cropping screen, please see 
SBSDKUICroppingScreenAccessibilityConfigurationandSBSDKUIDocumentScannerAccessibilityConfigurationfor further info. You can customize the Voice-Over feature using theaccessibilityConfigurationproperty inSBSDKUICroppingScreenTextConfigurationandSBSDKUIDocumentScannerTextConfiguration. - Added 
additionalParametersproperty toSBSDKBarcodeScannerandSBSDKUIMachineCodeScannerBehaviorConfiguration,additionalDetectionParameterstoSBSDKBarcodeScannerViewControllerandSBSDKUIBarcodesBatchScannerBehaviorConfigurationandadditionalBarcodeDetectionParameterstoSBSDKScannerViewControllerwhich lets you setup a minimum and maximum text length as well as a quiet zone. Currently works for ITF and MSI Plessey barcodes only. 
 - New feature: vehicle license plate scanner. The new classes are 
 - 🐞 Bug fixes
- Fixed a rare out-of-memory crash in barcode (data matrix) scanning on older devices.
 - Fixed issues with title centering in the cropping RTU-UI component.
 
 - 🚀 Improvements:
- The machine-learning-based document detector is now the default detector on iOS devices with iOS 11.2 and above.
 - Added download links for ScanbotSDK.framework and XCFramework in the Installation Guide of the documentation.
 
 
Version 1.14.1 (10 Mar 2021):
- 🐞 Bug fixes
- Fixed a rare crash in the barcode scanner with wrong finder coordinates.
 
 - ⚠️ Breaking Changes:
- Removed support for MSI Plessey barcode detection.
 
 
Version 1.14.0 (23 Feb 2021):
- 🎉 New:
- Added support for Swiss QR codes, see 
SBSDKSwissQRCodeDocumentFormat. - Added support for document type filtering to barcode and QR code scanners, 
acceptedDocumentTypesproperties inSBSDKBarcodeScanner,SBSDKBarcodeScannerViewControllerandSBSDKUIBarcodeScannerViewController. - Added the ability to encrypt TIFF image files using the SDK encryption API, see 
SBSDKTiffImageWriter. - Added global control of status bar visibility and style in SBSDKUI components, see functions 
+ (void)setShouldShowStatusBarOnScanningScreens:(BOOL)shouldShowand+ (void)setDefaultStatusBarStyle:(UIStatusBarStyle)stylein the classScanbotSDKUI. 
 - Added support for Swiss QR codes, see 
 - 🐞 Bug fixes
- Fixed a UI problem in 
SBSDKUIBarcodesBatchScannerViewController. 
 - Fixed a UI problem in 
 
Version 1.13.0 (29 Jan 2021):
- 🎉 New:
- Added support for PDF encryption with new public functions in 
SBSDKPDFRenderer,SBSDKOpticalTextRecognizerandScanbotSDKUI: PDFs can be encrypted usingSBSDKAESEncrypteror your custom written encryption classes. The PDF's data is encrypted in memory before it is written to disk. To decrpyt the PDF you need to run proper decryption in your backend or clients. SBSDKIDCardRecognizernow additionally extracts machine readable zone fields and check digits, see the new propertiesmrzFieldsandmrzCheckDigitsinSBSDKIDCardRecognizerResult.
 - Added support for PDF encryption with new public functions in 
 - 🚀 Improvements:
- Improved ID Card Recognizer with better compensation for perspective distortion
 - Changed 
SBSDKAESEncrypterto create the keyphrase from password using the PBKDF2 method. 
 - ⚠️ Breaking Changes:
- (nullable instancetype)initWithKey:(NSString *)key mode:(SBSDKAESEncrypterMode)modewas replaced by- (nullable instancetype)initWithPassword:(NSString *)password mode:(SBSDKAESEncrypterMode)mode.
 - 🐞 Bug fixes
- Fixed a potential crash in 
SBSDKUIBarcodesBatchScannerViewController. 
 - Fixed a potential crash in 
 
Version 1.12.3 (17 Dec 2020):
- 🚀 Improvements:
- Improved detection of ITF barcodes
 
 
Version 1.12.2 (7 Dec 2020):
- 🚀 Improvements:
- Improved DataMatrix detection
 
 
Version 1.12.1 (2 Dec 2020):
- 🎉 New:
- Added new property 
autoCancelTimeouttoSBSDKUIMachineCodeScannerBehaviorConfiguration - Added new optional delegate function 
- (void)qrBarcodeDetectionViewControllerDidTimeout:(nonnull SBSDKUIBarcodeScannerViewController *)viewController;toSBSDKUIBarcodeScannerViewController 
 - Added new property 
 - 🚀 Improvements:
- Improved some PDF417 detection edge cases
 
 - 🐞 Bug fixes
- Fixed a problem where distribution of an app containing ScanbotSDK would fail
 - Fixed a crash in 
SBSDKUINFCPassportReaderViewController 
 
Version 1.12.0 (26 Nov 2020):
- 🎉 New:
- Added (customizable) encryption/decryption to image stores; new classes: 
SBSDKAESEncrypter,SBSDKStorageCrypting,ScanbotSDKUI - For SBSDKUI components you can enable encryption for stored images globally using the function 
+ (void)setDefaultImageStoreEncrypter:(nullable id<SBSDKStorageCrypting>)encrypterofScanbotSDKUIclass, this will encrypt all stored images in these components - Classic SBSDK components use 
SBSDKKeyedImageStorageorSBSDKIndexedImageStorage, both got a new property namedencrypter. SBSDKAESEncrypterprovides built-in support for AES128 and AES256 encryption, but you can create your own encrypter by implementing a class conforming to the protocolSBSDKStorageCrypting- Added corner radius property 
polygonCornerRadiusto document detection polygon layer inSBSDKScannerViewController - Added delegate method 
scannerController:backgroundPolygonColorForDetectionStatus:toSBSDKScannerViewControllerDelegate - Added ability to enable or disable crop and rotation functionality on 
SBSDKImageEditingViewControllerand RTU UI - Added ability to choose the binarization filter being used when storing TIFF files with 
SBSDKTIFFImageWriter, seebinarizationFilterinSBSDKTIFFImageWriterParameters 
 - Added (customizable) encryption/decryption to image stores; new classes: 
 - 🚀 Improvements:
- Better recognition of rotated PDF417 codes
 
 - ⚠️ Breaking Changes:
- Removed 
polygonAutoSnapProgressCornerRadiusfrom SBSDKScannerViewController because of obsolescence. UsepolygonCornerRadiusinstead. - Simplified 
SBSDKTIFFImageWriterAPI, a lot of functions have been removed because of duplication, the class now has only 2 functions left. Please refer to the documentation of this class. 
 - Removed 
 
Version 1.11.9 (19 Nov 2020):
- 🚀 Improvements:
- Improved barcode and PDF417 detection
 
 
Version 1.11.8 (11 Nov 2020):
- 🐞 Bug fixes
- Fixed a license problem in SBSDKUIWorkflowScannerViewController
 - Fixed a deadlock in 
SBSDKUIBarcodesBatchScannerViewController - Fixed a potential memory leak with 
SBSDKUIBarcodesBatchScannerViewController - The delegate function of 
SBSDKUIBarcodeBatchStorageDelegate- (void)barcodeBatchStorage:(SBSDKUIBarcodeBatchStorage *)storage didUpdateBarcode:(SBSDKUIBarcodeMappedResult *)barcode atIndex:(NSInteger)index;is now called on the main queue 
 
Version 1.11.7 (29 Oct 2020):
- 🚀 Improvements:
- Improved barcode, QR code and data matrix detection
 
 
Version 1.11.6 (22 Oct 2020):
- 🎉 New:
- Added polygon autosnap progress animation to 
SBSDKScannerViewControllerandSBSDKUIDocumentScannerViewController - New properties related to this feature: 
polygonAutoSnapProgressColor,polygonAutoSnapProgressLineWidth,polygonAutoSnapProgressEnabled,polygonAutoSnapProgressCornerRadius - Added another optional function in 
SBSDKIDCardScannerViewControllerDelegate:- (void)idCardScannerViewController:(SBSDKIDCardScannerViewController *)controller didFailRecognition:(SBSDKIDCardRecognizerResult *)idCardResult onImage:(UIImage *)image; 
 - Added polygon autosnap progress animation to 
 - 🐞 Bug fixes
- Potential crash in barcode recognition
 
 
Version 1.11.5 (14 Oct 2020):
- 🐞 Bug fixes
- Fixes call into SBSDKIDCardScannerViewControllerDelegate
 
 
Version 1.11.4 (13 Oct 2020):
- 🚀 Improvements:
- Reduced memory footprint of ID card recognizer by around 50%.
 
 
Version 1.11.3 (12 Oct 2020):
- 🐞 Bug fixes
- Reduced lifetime of memory intensive ID card recognizer instances to reduce memory related crashes on older devices.
 
 - 🎉 New:
- Added new optional function to 
SBSDKIDCardScannerViewControllerDelegate:- (void)idCardScannerViewControllerWillCaptureImage:(SBSDKIDCardScannerViewController *)controller; 
 - Added new optional function to 
 
Version 1.11.2 (6 Oct 2020):
- 🐞 Bug fixes
- Fixed zooming logic in some cases in Text Data Scanner RTU UI.
 - The MRZ result fields in 
SBSDKMachineReadableZoneRecognizerResult, when received from therecognizePersonalIdentityFromText:function, now have the confidence value set to 1.0. 
 - 🚀 Improvements:
- ID card recognition model was updated to improve recognition results for ID cards with address changed sticker.
 
 - 🎉 New:
- Added function to 
SBSDKFinderLayer:+ (CGRect)potentialFinderRectWithBounds:(CGRect)bounds aspectRatio:(double)aspectRatio minimumInsets:(UIEdgeInsets)minimumInsets; 
 - Added function to 
 - ⚠️ Breaking Changes:
- Removed 
SBSDKFilterMethodGPUOpenGLfromSBSDKFilterMethodenum, because OpenGLES is deprecated for a long time now 
 - Removed 
 
Version 1.11.1 (30 Sep 2020):
- 🐞 Bug fixes
- fix font validation issue upon app submission to the app store
 - fixes inivisible finder in 
SBSDKGenericTextLineRecognizerViewController 
 
Version 1.11.0 (29 Sep 2020):
- 🎉 New:
- NFC passport reader RTU UI component 
SBSDKUINFCPassportReaderViewController(requires iOS 13) - Text data scanner RTU UI component 
SBSDKUITextDataScannerViewController SBSDKUICroppingViewControllernow has a hint label. The corresponding parameterhintTitlewas added toSBSDKUICroppingScreenTextConfiguration- Added new delegate function to 
SBSDKGenericTextLineRecognizerViewController- (void)textLineRecognizerViewController:(nonnull SBSDKGenericTextLineRecognizerViewController *)controller didChangeViewFinderRect:(CGRect)rect; - Added new parameter: 
finderMinimumInset,viewFinderBackgroundColor,shouldShowWordBoxes,wordBoxesFillColor,wordBoxesLineColor,viewFinderLineColor,viewFinderLineWidth,currentViewFinderRect,shouldUseAnimationWhileZoomingtoSBSDKGenericTextLineRecognizerViewController - Added parameters 
preferredZoomandocrResolutionLimittoSBSDKGenericTextLineRecognizerConfiguration 
 - NFC passport reader RTU UI component 
 - 🚀 Improvements:
SBSDKUIIDCardScannerViewControllernow has improved MRZ-OCR validation. In case MRZ is scanned, its values are compared to OCR'd ones and result info is presented on details screen.
 - 🐞 Bug fixes
- Crash while scanning large Aztec codes
 - Fixed crash in cropping RTU UI related to too long hint label.
 - Fixed build error with Cocoapods
 
 - ⚠️ Breaking Changes:
- SBSDKGenericTextLineRecognizerViewController:
 - Moved 
preferredFinderHeightandfinderAspectRatioparameters fromSBSDKGenericTextLineRecognizerViewControllertoSBSDKGenericTextLineRecognizerConfigurationclass. - Changed initializer from 
- (nullable instancetype)initWithParentViewController:(nullable UIViewController *)parentViewController parentView:(nullable UIView *)containerView configuration:(nullable SBSDKGenericTextLineRecognizerConfiguration *)configuration preferredFinderHeight:(CGFloat)height finderAspectRatio:(double)aspectRatio delegate:(id<SBSDKGenericTextLineRecognizerViewControllerDelegate>)delegate;to- (nullable instancetype)initWithParentViewController:(nullable UIViewController *)parentViewController parentView:(nullable UIView *)containerView configuration:(nullable SBSDKGenericTextLineRecognizerConfiguration *)configuration delegate:(id<SBSDKGenericTextLineRecognizerViewControllerDelegate>)delegate; 
 - 🚙 Under the hood:
 
- Deeply integrated document detector data into the framework, SBSDKDocumentDetectorData.bundle now is not longer an additional data bundle
 
Version 1.10.5 (23 Sep 2020):
- 🎉 New:
- Added NFC passport reader RTU UI component  
SBSDKUINFCPassportReaderViewController - Added Text Data scanner RTU UI component 
SBSDKUITextDataScannerViewController 
 - Added NFC passport reader RTU UI component  
 - 🐞 Bug fixes:
- Fixed crash while scanning large Aztec codes
 
 - 🚀 Improvements:
- Moved SBSDKDocumentDetectorData.bundle into the SDK, this is no longer an optional component
 
 
Version 1.10.4 (17 Sep 2020):
- 🚀 Improvements:
- Improved recognition of damaged DataMatrix barcodes
 - Modernized camera API usage and removed deprecated API usage, multiple new functions added to process a CVPixelBufferRef
 - Improved Disability Certificate Recognizer
 
 - 🐞 Bug fixes:
- Fixed potential crash in 
SBSDKGenericTextLineRecognizerViewController 
 - Fixed potential crash in 
 - ⚠️ Breaking Changes:
- SBSDKMultipleObjectsDetector:
- (nullable NSArray<SBSDKPolygon*>*) detectInBuffer:(nonnull CMSampleBufferRef)sampleBufferRef orientation:(AVCaptureVideoOrientation)videoOrientation;renamed to- (nullable NSArray<SBSDKPolygon*>*) detectInSampleBuffer:(nonnull CMSampleBufferRef)sampleBufferRef orientation:(AVCaptureVideoOrientation)videoOrientation; - SBSDKCameraSession:
- (void)captureStillImageWithCompletionHandler:(nullable void (^)(CMSampleBufferRef _Nullable, NSError* _Nullable))completion;changed to- (void)captureStillImageWithCompletionHandler:(nullable void (^)(CVPixelBufferRef _Nullable, NSError* _Nullable))completion; 
 - SBSDKMultipleObjectsDetector:
 - 🚙 Under the hood:
- Updated OpenCV to version 4.4.0
 
 
Version 1.10.3 (10 Sep 2020):
- 🎉 New:
- Added Data Scanner module 
SBSDKGenericTextLineRecognizerandSBSDKGenericTextLineRecognizerViewController 
 - Added Data Scanner module 
 - ⚠️ Breaking Changes:
- Removed support for iOS 9 and iOS 10
 
 
Version 1.10.2 (2 Sep 2020):
- 🐞 Bug fixes:
- Fixed passport document number check digit assignment.
 
 
Version 1.10.1 (13 Aug 2020):
- 🐞 Bug fixes:
- Fixed ID card RTU UI startup crash.
 
 
Version 1.10.0 (11 Aug 2020):
- 🎉 New:
- Added ID Card Recognizer RTU UI component 
SBSDKUIIDCardScannerViewController. - Added Barcode batch detector RTU UI component 
SBSDKUIBarcodesBatchScannerViewController. - Beta: Added NFC Passport Scanner component 
SBSDKNFCPassportReader. - Barcode scanner: 
SBSDKBarcodeScannerResultclass now containsrawBytesparameter. 
 - Added ID Card Recognizer RTU UI component 
 - 🐞 Bug fixes:
- Barcode scanner format parser fixes
 - Fixed error type in 
SBSDKOpticalTextRecognizerin case of cancelling operation. 
 - ⚠️ Breaking Changes:
SBSDKBarcodeScannerResultinitializer is now- (instancetype)initWithPolygon:(SBSDKPolygon *)poly type:(SBSDKBarcodeType *)type barcodeImage:(UIImage *)image rawTextString:(NSString *)string rawBytes:(NSData *)rawBytes;
 
Version 1.9.19 (29 Jul 2020):
- 🐞 Bug fixes:
- ID Card Scanning: fixed an issue that caused poor OCR results
 - Added missing debug symbol files
 
 
Version 1.9.18 (13 Jul 2020):
- 🎉 New:
- ID Card Recognizer: added support for german passports
 - Beta: New sensitive binarization image filter 
SBSDKImageFilterTypeSensitiveBinarization - Beta: Added support for MSI Plessey barcode format. Disabled by default, must explicitly be allowed.
 
 - 🚀 Improvements:
- Improved barcode detection model
 - Improved handling of ink spread issues with Code128 barcodes
 - Improved barcode and QR code live detection especially for very dense codes
 
 - 🐞 Bug fixes:
- ID Card Scanning: fixed bug that prevented recognition of the letter 'ß'
 
 
Version 1.9.17 (3 Jul 2020):
- 🐞 Bug fixes:
- Adds missing simulator debug symbol files
 
 
Version 1.9.16 (2 Jul 2020):
- 🎉 New:
- Recognizer for German ID Cards 
SBSDKIDCardRecognizer+ the correspondingSBSDKIDCardScannerViewControlleras Classical Component - Added support for XCFramework - Apple's new binary format of packing frameworks
 - Beta: Blurriness estimator 
SBSDKBlurrinessEstimator - Beta: Model-based solution for BackgroundClean filter
 
 - Recognizer for German ID Cards 
 - 🚀 Improvements:
- Updated the installation guide
 
 - 🚙 Under the hood:
- Updated OpenSSL to version 1.1.1g
 - Updated TensorFlow to version 2.2.0
 
 - ⚠️ Breaking Changes:
- Spelling fixes:
- In 
SBSDKUIEnableCameraUIConfigurationparameterenableCameraDesctiptionColorwas renamed toenableCameraDescriptionColor - In 
SBSDKUIWorkflowStepparameterrunsContinousValidationwas renamed torunsContinuousValidation 
 - In 
 
 - Spelling fixes:
 
Version 1.9.15 (18 May 2020):
- 🎉 New:
- Added support for inverted barcodes
 - Added class 
SBSDKUICroppingScreenBehaviorConfigurationand corresponding property of this class toSBSDKUICroppingScreenConfiguration. - Added 
detectorModeparameter to behavior configuration for RTU UI document scannerSBSDKUIDocumentScannerBehaviorConfiguration. This parameter allows to choose the detector type for scanner: standard or machine learning based. - Added possibility to set default detector mode of 
SBSDKDocumentDetectorvia+ (void)setDefaultDetectorMode:(SBSDKDocumentDetectorMode)newDefaultDetectorMode;. The getter function is+ (SBSDKDocumentDetectorMode)defaultDetectorMode;. - Added  functions 
- (nullable SBSDKDocumentDetectorResult *)detectDocument:(BOOL)applyPolygonIfOkay detectorMode:(SBSDKDocumentDetectorMode)detectorMode;and- (void)applyDocumentDetectionWithDetectorMode:(SBSDKDocumentDetectorMode)detectorMode;toSBSDKUIPage. 
 - ⚠️ Breaking Changes:
SBSDKUICroppingScreenConfigurationinitializer is now- (nonnull instancetype)initWithUIConfiguration:(nonnull SBSDKUICroppingScreenUIConfiguration *)uiConfiguration textConfiguration:(nonnull SBSDKUICroppingScreenTextConfiguration *)textConfiguration behaviorConfiguration:(nonnull SBSDKUICroppingScreenBehaviorConfiguration *)behaviorConfiguration- Removed function 
+ (BOOL)isDocumentDetectorModeAvailable:(SBSDKDocumentDetectorMode)mode;fromSBSDKDocumentDetector. IOS version check can now be used instead of this function. - Removed function 
+ (BOOL)isDocumentDetectorModeAvailable:(SBSDKDocumentDetectorMode)mode;fromSBSDKScannerViewController. IOS version check can now be used instead of this function. SBSDKMedicalPlanPatientFieldTypeAllergysAndIntolerancesis renamed toSBSDKMedicalPlanPatientFieldTypeAllergiesAndIntolerancesSBSDKMedicalPlanSubheadingReceipeFieldTypeenum is renamed toSBSDKMedicalPlanSubheadingPrescriptionFieldType. Its casesSBSDKMedicalPlanSubheadingReceipeFieldTypeGeneralInformationandSBSDKMedicalPlanSubheadingReceipeFieldTypeReceipeFreeTexthas been renamed toSBSDKMedicalPlanSubheadingPrescriptionFieldTypeGeneralInformationandSBSDKMedicalPlanSubheadingPrescriptionFieldTypePrescriptionFreeTextrespectively.SBSDKMedicalPlanSubheadingReceipeFieldclass name is changed toSBSDKMedicalPlanSubheadingPrescriptionField.SBSDKMedicalPlanSubheadingReceipeclass name is changed toSBSDKMedicalPlanSubheadingPrescription.- Cases of 
SBSDKVCardDocumentFieldType-SBSDKVCardDocumentFieldTypeCallendarURIForRequestsandSBSDKVCardDocumentFieldTypeCallendarURIhas been renamed toSBSDKVCardDocumentFieldTypeCalendarURIForRequestsandSBSDKVCardDocumentFieldTypeCalendarURIrespectively. - Case of 
SBSDKBoardingPassDocumentFieldType-SBSDKBoardingPassDocumentFieldTypeSecongNonConsecutiveBaggageTagLicensePlateNumberhas been renamed toSBSDKBoardingPassDocumentFieldTypeSecondNonConsecutiveBaggageTagLicensePlateNumber - In 
SBSDKBarcodeScannerViewControllerDelegatethe function- (void)barcodeScannerController:(nonnull SBSDKBarcodeScannerViewController *)controller didDetecBarcodes:(nonnull NSArray<SBSDKBarcodeScannerResult *> *)codes;is renamed to- (void)barcodeScannerController:(nonnull SBSDKBarcodeScannerViewController *)controller didDetectBarcodes:(nonnull NSArray<SBSDKBarcodeScannerResult *> *)codes;. 
 
Version 1.9.14 (7 May 2020):
- 🐞 Bug fixes:
- Fixes a problem with Apples review process rejecting an app because of pdf.ttf font
 
 
Version 1.9.13 (28 Apr 2020):
- 🐞 Bug fixes:
- Fixes a crash in Workflows
 
 
Version 1.9.12 (27 Apr 2020):
- 🎉 New:
- New ML-based document detector
 - European Health Insurance Card (EHIC): Automatic country detection and support for Austrian EKVK cards
 - Updated Tesseract OCR engine to version 4.1.0
 
 - ⚠️ Breaking Changes:
- Renamed 
SBSDKPageAspectRatiotoSBSDKAspectRatio - In 
SBSDKFinderLayertype of parameterminimumInsetswas changed fromCGSizetoUIEdgeInsets. So now inset from each side can be set up independently. - In 
SBSDKUIMachineCodeScannerUIConfigurationremovedbottomButtonsInactiveColorandbottomButtonsActiveColor. ParametertopBarButtonsColornow affects flash button active state. AddedflashButtonInactiveColor. - In 
SBSDKScannerViewControllertype of parametercapturingFrameMinimumInsetwas changed fromCGSizetoUIEdgeInsets. - In 
SBSDKScannerViewControllerparameterCGSize capturingFrameSizeis changed toSBSDKAspectRatio *capturingFrameAspectRatio. - In 
SBSDKBarcodeScannerViewControllerparameterCGSize capturingFrameSizeis changed toSBSDKAspectRatio *capturingFrameAspectRatio. - In 
SBSDKBarcodeScannerViewControllertype of the parametercapturingFrameMinimumInsetwas changed fromCGSizetoUIEdgeInsets. - In 
SBSDKUIMachineCodeScannerUIConfigurationparametersCGFloat finderWidthandCGFloat finderHeightare replaced bySBSDKAspectRatio *finderAspectRatio. - In 
SBSDKUIScanBarCodeWorkflowStepthe initializer- (instancetype)initWithTitle:(nullable NSString *)title message:(nullable NSString *)message acceptedCodeTypes:(nullable NSArray<SBSDKBarcodeType *> *)acceptedMachineCodeTypes finderViewSize:(CGSize)finderViewSize resultValidation:(nullable SBSDKUIWorkflowStepValidationHandler)resultValidationHandleris changed to- (instancetype)initWithTitle:(nullable NSString *)title message:(nullable NSString *)message acceptedCodeTypes:(nullable NSArray<SBSDKBarcodeType *>*)acceptedMachineCodeTypes finderViewAspectRatio:(nullable SBSDKAspectRatio *)finderViewAspectRatio resultValidation:(nullable SBSDKUIWorkflowStepValidationHandler)resultValidationHandler 
 - Renamed 
 - 🐞 Bug fixes:
- Finder in 
SBSDKUIMRZScannerViewControllernow has the same behavior, as inSBSDKUIBarcodeScannerViewController. By documentation, both should operate with aspect ratio, but MRZ screen operated with actual sizes. 
 - Finder in 
 - 🚀 Improvements:
- In 
SBSDKUIBarcodeScannerViewControllerandSBSDKUIMRZScannerViewControllerflash button was moved to navigation bar to save more space for finder layer. 
 - In 
 
Version 1.9.11 (26 Mar 2020):
- 🎉 New:
- New 
SBSDKUIMultipleObjectScannerViewControllerRTU UI component for scanning multiple objects like business cards - Barcode scanning: Added 
SBSDKUIBarcodeImageStorageclass for handling barcode images storage - Barcode scanning: Added flashLightEnabled property to SBSDKBarcodeScannerViewController
 - General:  Added 
- (void)cameraAccessDidChange:(BOOL)granted;function toSBSDKUICameraViewController. This function can be used bySBSDKUICameraViewControllersubclasses to define behavior after camera access check 
 - New 
 - ⚠️ Breaking Changes:
- removed SBSDKMachineReadableCode, SBSDKMachineReadableCodeMetadata, SBSDKMachineReadableCodeManager, SBSDKGenericBarcode, SBSDKGenericQRCode, SBSDKContactQRCode, SBSDKEventQRCode, SBSDKLocationQRCode, SBSDKMailMessageQRCode, SBSDKPhoneNumberQRCode, SBSDKShortMessageQRCode, SBSDKWebURLQRCode, SBSDKWiFiHotspotQRCode since these classes have become obsolete
 
 
Version 1.9.10 (21 Feb 2020):
- 🐞 Bug fixes:
- Various minor bug fixes and improvements
 
 
Version 1.9.9 (4 Feb 2020):
- 🎉 New:
- Adjustable Filters: Added new GPU-accelerated filters for base manipulation of images, e.g. contrast, brightness, saturation, vibrance, color temperature, tint etc. using Metal.framework with fallback options to OpenGL ES and CPU (see  
SBSDKAdjustableFiltersheaders includes for subclasses) - Barcode Scanning: New ML-based Barcode and QR-code scanner
 - Cheque recognition: New ML-based recognizer with support for american and EU cheque formats
 
 - Adjustable Filters: Added new GPU-accelerated filters for base manipulation of images, e.g. contrast, brightness, saturation, vibrance, color temperature, tint etc. using Metal.framework with fallback options to OpenGL ES and CPU (see  
 - 🚀 Improvements:
- Licensing: Changed license failure handling: invalid licenses will no longer crash the app containing ScanbotSDK, instead SDK API will return nil or empty values
 - Licensing: Query the currents license status using 
+[ScanbotSDK licenseStatus] - Barcode Scanning: Improved static images detection
 - MRZ Scanning: Added support for swiss driver license
 - Added aspect ratio range property to 
SBSDKMultipleObjectsDetector 
 - 🐞 Bug fixes:
- Fixes and improvements for various image filters
 - Various fixes for barcode parsers of different formats
 - Fixed Machine Readable Zones recognition (black background)
 - Fixed a typo in SBSDKMachineReadableZoneRecognizerResult: recognitionSuccessful
 - DC recognizer: bug fixes and performance improvements
 
 - ⚠️ Breaking Changes:
- Fixed a typo in 
SBSDKMachineReadableZoneRecognizerResult: recognitionSuccessful SBSDKBarcodeScanner: function parameters with types of barcodes to detect have been moved to a propertySBSDKBarcodeScanner: some function parameters have been renamedSBSDKUIBarcodeScannerViewControllerDelegate:[SBSDKUIBarcodeScannerViewControllerDelegate qrBarcodeDetectionViewController:didDetect:]has been replaced by[SBSDKUIBarcodeScannerViewControllerDelegate qrBarcodeDetectionViewController:didDetectResults:]
 - Fixed a typo in 
 - ❌ Deprecated API:
SBSDKChequeRecognizerResult: the properties routingNumber, accountNumber and chequeNumber have been encapsulated in a new class namedSBSDKChequeRecognizerResultFieldthat now holds the string value as well as a detection confidence value
 
Version 1.9.8 (15 Jan 2020):
- 🐞 Bug fixes:
- Fixed crash caused by adding 
SBSDKScannerViewControlleras embedded controller via Interface Builder 
 - Fixed crash caused by adding 
 
Version 1.9.7 (25 Oct 2019):
- 🚀 Improvements:
- MRZ Scanner: Added all checkdigits in MRZ result as additional fields - see 
SBSDKMachineReadableZoneRecognizerResult.checkDigits. 
 - MRZ Scanner: Added all checkdigits in MRZ result as additional fields - see 
 - 🐞 Bug fixes:
- Fixed crashes in the beta Barcode Scanner with parsing AAMVA data of PDF417 barcodes on US driver licenses.
 - iOS 13 fix: Set the default 
modalPresentationStyleofSBSDKScannerViewControllerand all RTU UI ViewControllers toUIModalPresentationFullScreen. 
 - ⚠️ Breaking Changes:
- Barcode types passed to ScnabotSDK API are no longer parameters of type 
NSArray<NSNumber *>*but ofNSArray<SBSDKBarcodeType *>*. Affected APIs are located inSBSDKBarcodeScanner,SBSDKBarcodeScannerResult,SBSDKScannerViewController,SBSDKUIBarcodeScannerViewController,SBSDKUIMachineCodesCollectionandSBSDKUIWorkflowStepand its subclasses. 
 - Barcode types passed to ScnabotSDK API are no longer parameters of type 
 
Version 1.9.6 (24 Sep 2019):
- 🐞 Bug fixes:
- Fixed a sporadic crash in the beta Barcode Scanner 
SBSDKBarcodeScanner. - Fixed a crash in the beta Barcode Scanner with parsing AAMVA data of PDF417 barcodes (support for shorter header than in specification).
 
 - Fixed a sporadic crash in the beta Barcode Scanner 
 
Version 1.9.5 (21 Aug 2019):
- 🐞 Bug fixes:
- Fixed UI configs of the RTU UI EHIC Scanner (
SBSDKUIHealthInsuranceCardScannerUIConfiguration.topBarBackgroundColor). - Fixed mappings of new field types 
SBSDKDisabilityCertificateRecognizerCheckboxTypeAccidentandSBSDKDisabilityCertificateRecognizerCheckboxTypeRequiresCareinSBSDKDisabilityCertificatesRecognizerResult. 
 - Fixed UI configs of the RTU UI EHIC Scanner (
 
Version 1.9.4 (12 Aug 2019):
- 🎉 New:
- New recognizer for the European Health Insurance Cards (EHIC). Provides live detection and data extraction of all fields on the back of the card.
Available as Classical SDK Component class 
SBSDKHealthInsuranceCardRecognizeras well as the Ready-To-Use UI Component classSBSDKUIHealthInsuranceCardScannerViewController. Also see our updated example apps on GitHub scanbot-sdk-example-ios for easy integration. - New QR- & Barcode Scanner 
SBSDKBarcodeScanneras beta feature which provides:- better detection and exatraction of 1D and 2D barcodes, especially Data Matrix and PDF 417 codes
 - improved and simplified API - see the class 
SBSDKBarcodeScannerof our Classical SDK Components (implementation as RTU UI Component will follow soon) - out-of-the-box parsers, like German Medical Plans (Medikationsplan) based on Data Matrix (
SBSDKMedicalPlanDocumentFormat), ID Cards (SBSDKIDCardPDF417DocumentFormat) or US Driver Licenses (SBSDKAAMVADocumentFormat) both based on PDF 417. 
 - Please note that the new 
SBSDKBarcodeScannercomponent is a BETA feature and is still under active development and improvement. 
 - New recognizer for the European Health Insurance Cards (EHIC). Provides live detection and data extraction of all fields on the back of the card.
Available as Classical SDK Component class 
 - 🐞 Bug fixes:
- Fixed the delegate call 
imageEditingViewControllerDidChangePolygon:ofSBSDKImageEditingViewController. 
 - Fixed the delegate call 
 
Version 1.9.3 (30 Jul 2019):
- 🎉 New:
- New black & white image filter 
SBSDKImageFilterType.SBSDKImageFilterTypeLowLightBinarization2. - Disability Certificate Recognizer - Recognition of new fields: 
SBSDKDisabilityCertificatesRecognizerResult.patientFields,SBSDKDisabilityCertificatesRecognizerResult.intention,SBSDKDisabilityCertificatesRecognizerResult.insuredPersonType. 
 - New black & white image filter 
 - 🚀 Improvements:
- Validation of the key names in 
-[SBSDKKeyedImageStorage setImage:forKey:]. Please note that passing an invalid key will throw anNSInvalidArgumentExceptionnow. See the API docs of thesetImagemethod for more details. - Improved recognition of SEPA payforms via 
SBSDKPayFormScanner. Added recognition from barcodes and some new fields. Please also note the API breaking changes below. 
 - Validation of the key names in 
 - ⚠️ Breaking Changes:
SBSDKPayFormScannerAPI - Removed the obsolete methodsdetectOnImage:scannedImageandrecognizeFieldsOnImage:scannedImage. Replaced by a new all-in-one method-[SBSDKPayFormScanner recognizeFromImage:]. Removed obsolete classesSBSDKPayFormResult,SBSDKPayFormDetectionResultandSBSDKPayFormDetectedBox.
 - 🐞 Bug fixes:
- Fixed an issue with unknown device orientation 
UIDeviceOrientationUnknowninSBSDKScannerViewController. - Removed hardcoded language string in 
+[SBSDKOpticalTextRecognizer recognizeText:indexSet:languageString:pdfOutputURL:error:]. 
 - Fixed an issue with unknown device orientation 
 
Version 1.9.2 (6 Jun 2019):
- 🎉 New:
- Added a new config property in the RTU UI Document Scanner Component: 
SBSDKUIDocumentScannerBehaviorConfiguration.maxNumberOfPages 
 - Added a new config property in the RTU UI Document Scanner Component: 
 
Version 1.9.1 (23 May 2019):
- 🚀 Improvements:
- Added initializer 
-[SBSDKUIPage initWithPageFileID:polygon:filter:documentImageSizeLimit:] 
 - Added initializer 
 - 🐞 Bug fixes:
- Fixed OCR resource path
 
 
Version 1.9.0 (3 May 2019):
- 🎉 New:
- Workflows - New RTU UI Scanning Components.
 - New black & white image filter 
SBSDKImageFilterType.SBSDKImageFilterTypeLowLightBinarization- Binarization filter primarily intended to use on low-contrast documents with hard shadows. - Added new config properties in the RTU UI Document Scanner Component:
SBSDKUIDocumentScannerBehaviorConfiguration.documentImageSizeLimit- to limit the size of the document image.SBSDKUIDocumentScannerBehaviorConfiguration.stopsCameraSessionWhenDisappeared- to avoid lags in some situations when the receiver returns to the scanning screen.SBSDKUIDocumentScannerUIConfiguration.shutterButtonHidden- to hide the shutter button.
 
 - 🚀 Improvements:
- OCR - Upgraded the OCR engine to Tesseract v4.00. Improved recognition speed and quality. Please also note the Breaking Changes below.
 - Improved performance of the images filter 
SBSDKImageFilterType.SBSDKImageFilterTypeDeepBinarization. - Better visualization and API for energy save management in the Classical UI Scanner Component 
SBSDKScannerViewController. See the new propertySBSDKScannerViewController.energySavingActive. Please make sure to implement a suitable handling and localized text for that (e.g. in the delegate method-[SBSDKScannerViewControllerDelegate scannerController:localizedTextForDetectionStatus:]). - Better visualization for energy save management in the RTU UI Document Scanner Component 
SBSDKUIDocumentScannerViewController. Added a new text hint configurationSBSDKUIDocumentScannerTextConfiguration.textHintEnergySavingActive. Please make sure to provide a suitable localized text for that. - Added a dummy image for simulator image capturing. It can be used to run automated tests of all Document Scanner components on a simulator.
 - Added a new method in 
-[SBSDKDisabilityCertificatesRecognizer detectAndRecognizeFromImage:]as an alternative detection approach to therecognizeFromImagemethod. 
 - ⚠️ Breaking Changes:
- OCR Language Files - If you use the OCR feature of the Scanbot SDK or some recognizer components which are based on OCR, please upgrade the OCR language files to Tesseract 4.00.
 - OCR API - OCR results per page. See 
SBSDKOCRResult.pages. 
 - 🐞 Bug fixes:
- Fixed the status of the torch light toggle button in the RTU UI Document Scanner on reactivating the scanning screen.
 - Various minor bug fixes and improvements.
 
 
Version 1.8.6 (20 Feb 2019):
- 🚀 Improvements:
- Changed the behaviour of image resource loading.
 
 - 🚙 Under the hood:
- Updated OpenSSL to v1.0.2q
 - Updated libtiff to v4.0.10
 - Updated libpng to v1.6.36 (part of other libs)
 - Updated libjpeg to v9b (part of other libs)
 
 
Version 1.8.5 (14 Feb 2019):
- 🎉 New:
- Added business card detector and processor: 
SBSDKMultipleObjectsDetectorandSBSDKBusinessCardsImageProcessor - Added text orientation recognizer: 
SBSDKTextOrientationRecognizer 
 - Added business card detector and processor: 
 - 🐞 Bug fixes:
- Fixed potential synchronization issues with 
SBSDKIndexedImageStorageandSBSDKKeyedImageStorage 
 - Fixed potential synchronization issues with 
 
Version 1.8.4 (31 Jan 2019):
- Fixed crashes in 
SBSDKTIFFImageWriterwhen using write methods with file URLs 
Version 1.8.3 (30 Jan 2019):
- Fixed handling of 
SBSDKUICroppingScreenConfiguration.uiConfigurationarguments in RTU Cropping UI (polygonColor, etc) - Fixed animation of the Shutter Button in SmartMode in 
SBSDKScannerViewController - Fixed handling of 24bit PNG images (e.g iOS 12 screenshots)
 - Implemented a deep copy functionality in  
SBSDKIndexedImageStorageas specified by the protocol-[SBSDKImageStoring copy] - Implemented new methods 
-[SBSDKIndexedImageStorage replaceImageAtIndex:withImage:]and-[SBSDKIndexedImageStorage replaceImageAtIndex:withImageAtURL:] - Implemented new image filter types 
SBSDKImageFilterType.SBSDKImageFilterTypeOtsuBinarization,SBSDKImageFilterType.SBSDKImageFilterTypeDeepBinarizationandSBSDKImageFilterType.SBSDKImageFilterTypeEdgeHighlight - Added storage location initializers to 
SBSDKUIPageFileStorage - Added support for meta-data and compression parameters in 
SBSDKTIFFImageWriter - Added frame limiter for QR/barcode scanning: 
SBSDKScannerViewController.metadataFrameLimiter - Improved recognition of pay cheque: 
SBSDKChequeRecognizer - Improved document detection by required aspect ratios
- ⚠️ Breaking change in the API: Changed the type of the property 
SBSDKScannerViewController.requiredAspectRatios 
 - ⚠️ Breaking change in the API: Changed the type of the property 
 - Various minor bug fixes and improvements
 
Version 1.8.2 (20 Nov 2018):
- Fixed an issue with asset images of RTU UI components
 - Small fixes in MRZ Recognizer (improved detection on still images of some ID cards)
 
Version 1.8.1 (13 Nov 2018):
- Added property  
SBSDKScannerViewController.requiredAspectRatiosto restrict document detection to given aspect ratios - Added a new viewfinder layer to 
SBSDKScannerViewControllerand the related propertySBSDKScannerViewController.finderModeto visualize detection of document with required aspect ratios - Added new functions to 
ScanbotSDKclass to better handle license failures, like expiration and usage of features not included in your license:+[ScanbotSDK setupDefaultLicenseFailureHandler]+[ScanbotSDK setLicenseFailureHandler:]
 - Added property  
SBSDKScannerViewController.frameLimiterwhich limits the detection rate on very fast devices to save a lot of CPU power and prevents unnecessary battery draining - Added a new method 
+[SBSDKUIPDFRenderer renderDocument:withOCRLanguages:output:]which provides a convenient API to perform OCR and render a searchable PDF of anSBSDKUIDocument - Minor accuracy improvements in the document detector
 
Version 1.8.0 (27 Sep 2018):
- Implemented the "Reset/Detect" functionality in RTU Cropping UI
 - Added support for 
allowedInterfaceOrientationsin all RTU UI ViewControllers (can be set via corresponding configurations) - Fixed issues with 
orientationLockModein RTU Document Scanner UI - Added ability to specify preferred aspect ratios for detector in  
SBSDKScannerViewController(seeSBSDKScannerViewController.preferredAspectRatios) - Under the hood: Upgraded to OpenCV version 3.4.3
 - Minor bug fixes and improvements
 
Version 1.7.8 (7 Sep 2018):
- Added a new method 
+[ScanbotSDK setResourceBundle:]to overwrite the location of Scanbot SDK default data bundle (e.g. if you need to embed the data bundles in another bundle) - Added a new property 
SBSDKScannerViewController.defaultShutterButton - Bugfix in MRZ Recognizer (
dateOfBirthfield was not extracted on some French ID cards) - Fixed issues with Xcode inspector showing 
nilfor every field inSBSDKMachineReadableZoneRecognizerResult - Fixed an issue with bundle data location for Cheque Recognizer
 - Improvements and potential fixes in SDK license manager
 
Version 1.7.7 (28 Aug 2018):
- Fixed bitcode generation
 
Version 1.7.6 (28 Aug 2018):
- DC Scanner:
- Improved recognition of low-constrast scans
 - ⚠️ Breaking change: The DC Scanner now uses 
eng.traineddatainstead ofdeu.traineddata! 
 - Removed the obsolete Credit Card Recognizer from SDK (components and bundles)
 - Minor internal refactorings and improvements
 
Version 1.7.4:
- fixes memory leaks
 
Version 1.7.3:
- fix a bug where 
SBSDKIndexedImageStorageremoves image files not properly 
Version 1.7.2:
- extended and improved API to apply image filter on pages coming from Ready-To-Use UI
 - new thread-safe container class 
SBSDKUIDocumentfor scanned pages - added the fields 
checkDigitsCountandvalidCheckDigitsCountinSBSDKMachineReadableZoneRecognizerResult - minor bug fixes and improvements
 
Version 1.7.1:
- fixed rotation bug in 
SBSDKImageEditingViewController 
Version 1.7.0:
- added Ready-To-Use UI components 
SBSDKUIDocumentScannerViewController,SBSDKUICroppingViewController,SBSDKUIMRZScannerViewController,SBSDKUIBarcodeScannerViewController- a set of easy to integrate and customize high-level UI components for the most common tasks in Scanbot SDK - added  
SBSDKCameraExposureSettingsclass to extract the current exposure metering parameters from the camera - deprecated 
SBSDKImageStorage - added 
SBSDKIndexedImageStorageandSBSDKKeyedImageStorageas replacements - minor bug fixes
 - dropped support for iOS 8
 
Version 1.6.2:
- minor bugfixes
 - added two new 
SBSDKPDFRendererPageSizemodes 
Version 1.6.1:
- added support for CocoaPods
 - new documentation
 - new filters and cleaned up filter enum
 - moved OCR lanugage data into a separate bundle
 - added image orientation lock property to 
SBSDKScannerViewController 
Version 1.6.0:
- minor bugfixes and improvements
 - built with Xcode 9.3 toolchain
 
Version 1.5.9:
- fixed a line rendering problem in 
SBSDKImageEditingViewController 
Version 1.5.8:
- added 
SBSDKTIFFImageWriter 
Version 1.5.7:
- updated OCR engine
 - added 
SBSDKMachineReadableZoneRecognizer 
Version 1.5.6:
- added capture simulation to 
SBSDKScannerViewController 
Version 1.5.5:
- added Disability Certificate Recognizer
 
Version 1.5.4:
- fixed a bug with duplicated URLs in 
SBSDKImageStorage 
Version 1.5.3:
- fixed a crash when importing images from the photo library
 
Version 1.5.2:
- fixed a bug with 16 bit per component images and Display P3 colorspace
 
Version 1.5.1:
- added two new functions to 
SBSDKScannerViewControllerto help with energy saving 
Version 1.5.0:
- fixed a bug with unrecognized barcodes
 - added a new 
SBSDKScannerViewControllerDelegatefunction that delivers the captured original image and image metadata 
Version 1.4.8:
- added support for machine readable codes (QR codes, barcodes) scanning in 
SBSDKScannerViewController - added support and protocol for parsing machine readable codes
 - added basic QR and barcode parsers
 - added support for registering custom machine readable code parsers
 - moved demo app from SDK into a separate github repository, now it is located here: https://github.com/doo/scanbot-sdk-example-ios
 
Version 1.4.7:
- new 
SBSDKImageEditingViewControlleras a flexible and more powerful replacement ofSBSDKCropViewController SBSDKCropViewControllerhas been deprecated and will not longer receive software engineering love
Version 1.4.6:
- Fixed a bug where capturing an image would block the main thread unnecessarily long
 
Version 1.4.5:
- Improved performance when capturing images using 
SBSDKScannerViewControllerby around 50% 
Version 1.4.4:
- New functions in 
SBSDKScannerViewControllerDelegatefor scanning documents, customizing UI and QR code scanning - Fixed a bug in 
SBSDKCropViewControllerwhere sometimes the polygon handles were not touchable 
Version 1.4.3:
- Fixed a bug in 
SBSDKCropViewControllerwhere sometimes the polygon handles were not visible 
Version 1.4.2:
- Minor bugfixes
 - New autocaptureSensitivity property in 
SBSDKScannerViewController 
Version 1.4.1:
- Minor bugfixes in documentation
 - Additional synchronous API for 
SBSDKOpticalTextRecognizerandSBSDKPDFRenderer 
Version 1.4.0:
- Added 
SBSDKCropViewController, a Scanbot-like UI for manual cropping of images, including magnetic snapping of edges to found contours 
Version 1.3.0:
- Removed static libraries
 - Changed distribution model to single embeddable framework containing all architectures and bitcode
 
Version 1.2.1:
- Fixed crash in sample app by adding 
NSCameraUsageDescriptionandNSPhotoLibraryUsageDescription. 
Version 1.2.0:
- Improved all detectors accuracy
 - Added 
SBSDKImageMetadataandSBSDKImageMetadataProcessorto extract EXIF data etc. from image - Added 
SBSDKLensCameraPropertieswhich can be passed to polygon based warping functions to improve the aspect ratio of the cropped image and let it be very close to the original documents aspect ratio SBSDKLensCameraPropertiescan be extracted fromSBSDKImageMetadata- Added 3 new filters: SBSDKImageFilterTypePhoto, SBSDKImageFilterTypePhotoBW1, SBSDKImageFilterTypePhotoBW2
 - The photo filter is useful to correct strong color tints, the 2 other new filters create different color-to-gray mappings
 - Added SBSDKMultipleDocumentsDetector (Beta) to detect multiple photos or documents on an image
 - Minor fixes and optimizations
 
Version 1.1.4:
- Added cheque recognizer 
SBSDKChequeRecognizer 
Version 1.1.2:
- Improved credit card recognizer 
SBSDKCreditCardRecognizer 
Version 1.1.1:
- Beta: Added brand new credit card recognizer: SBSDKCreditCardRecognizer
 - Refactored Demo app: now contains Document Detection, Payform Detection and Credit Card detection
 - Fixed some bugs in 
SBSDKScannerViewController, e.g. automatic crop after manual snap - Added imageMode flag to 
SBSDKScannerViewController, can be set to grayscale mode to capture all images in grayscale mode for better memory footprint - Added API to SBSDImageProcessor to pass UIImage objects directly instead of NSURLs
 
Version 1.0.15:
- Added new delegate method -(NSString *)scannerController:(SBSDKScannerViewController *)controller localizedTextForDetectionStatus:(SBSDKDocumentDetectionStatus)status to help you localizing the detection status strings
 
Version 1.0.14:
- New color filter now working correctly
 - Fixed a bug in the binarization filter
 
Version 1.0.13:
- Improved accuracy of automatic document detection
 - Introduced new colored document image filter
 
Version 1.0.12:
- Rebuilt with Xcode 7 final
 - Updated some documentation
 
Version 1.0.11:
SBSDKScannerViewController
- Fixed an orientation issue on iPad
 
Version 1.0.10:
SBSDKScannerViewController
- Significantly improved peak memory usage when capturing images (~ 50%)
 - Added new delegate method - (BOOL)scannerController:shouldRotateInterfaceForDeviceOrientation:transform:(CGAffineTransform)transform
 
Version 1.0.9:
SBSDKScannerViewController
- Added new delegate method (void)scannerControllerDidChangeDeviceOrientation:to:transform:
 
Version 1.0.8:
SBSDKScannerViewController
- Added new method -(BOOL)captureStillImage to allow manual capturing using the delegate interface
 
Version 1.0.7:
SBSDKScannerViewController
- Fixed wrong orientation of original image when capturing a document image
 
Version 1.0.6:
SBSDKScannerViewController
- Fixed a bug that prevented displaying the detection statuses for poor light and noise
 - Added properties acceptedSizeScore and acceptedAngleScore, allowing you to alter the acceptance parameters for automatic shutter release (e.g. more perspective distortion or smaller document size)
 
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get free trial licenseWant to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get free trial license