Release History and Changelog
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
autoCancelTimeout
toSBSDKUIMachineCodeScannerBehaviorConfiguration
- 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>)encrypter
ofScanbotSDKUI
class, this will encrypt all stored images in these components - Classic SBSDK components use
SBSDKKeyedImageStorage
orSBSDKIndexedImageStorage
, both got a new property namedencrypter
. SBSDKAESEncrypter
provides 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
polygonCornerRadius
to document detection polygon layer inSBSDKScannerViewController
- Added delegate method
scannerController:backgroundPolygonColorForDetectionStatus:
toSBSDKScannerViewControllerDelegate
- Added ability to enable or disable crop and rotation functionality on
SBSDKImageEditingViewController
and RTU UI - Added ability to choose the binarization filter being used when storing TIFF files with
SBSDKTIFFImageWriter
, seebinarizationFilter
inSBSDKTIFFImageWriterParameters
- Added (customizable) encryption/decryption to image stores; new classes:
🚀 Improvements:
- Better recognition of rotated PDF417 codes
⚠️ Breaking Changes:
- Removed
polygonAutoSnapProgressCornerRadius
from SBSDKScannerViewController because of obsolescence. UsepolygonCornerRadius
instead. - Simplified
SBSDKTIFFImageWriter
API, 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
SBSDKScannerViewController
andSBSDKUIDocumentScannerViewController
- 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.
- 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
SBSDKFilterMethodGPUOpenGL
fromSBSDKFilterMethod
enum, 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
SBSDKUICroppingViewController
now has a hint label. The corresponding parameterhintTitle
was 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
,shouldUseAnimationWhileZooming
toSBSDKGenericTextLineRecognizerViewController
- Added parameters
preferredZoom
andocrResolutionLimit
toSBSDKGenericTextLineRecognizerConfiguration
- NFC passport reader RTU UI component
- 🚀 Improvements:
SBSDKUIIDCardScannerViewController
now 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
preferredFinderHeight
andfinderAspectRatio
parameters fromSBSDKGenericTextLineRecognizerViewController
toSBSDKGenericTextLineRecognizerConfiguration
class. - 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
SBSDKGenericTextLineRecognizer
andSBSDKGenericTextLineRecognizerViewController
- 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:
SBSDKBarcodeScannerResult
class now containsrawBytes
parameter.
- Added ID Card Recognizer RTU UI component
- 🐞 Bug fixes:
- Barcode scanner format parser fixes
- Fixed error type in
SBSDKOpticalTextRecognizer
in case of cancelling operation.
- ⚠️ Breaking Changes:
SBSDKBarcodeScannerResult
initializer 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 ‘ß’
- 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 correspondingSBSDKIDCardScannerViewController
as 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 installation guide
- 🚙 Under the hood:
- Updated OpenSSL to version 1.1.1g
- Updated TensorFlow to version 2.2.0
- ⚠️ Breaking Changes:
- Spelling fixes:
- In
SBSDKUIEnableCameraUIConfiguration
parameterenableCameraDesctiptionColor
was renamed toenableCameraDescriptionColor
- In
SBSDKUIWorkflowStep
parameterrunsContinousValidation
was renamed torunsContinuousValidation
Version 1.9.15 (18 May 2020):
🎉 New:
- Added support for inverted barcodes
- Added class
SBSDKUICroppingScreenBehaviorConfiguration
and corresponding property of this class toSBSDKUICroppingScreenConfiguration
. - Added
detectorMode
parameter 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
SBSDKDocumentDetector
via+ (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:
SBSDKUICroppingScreenConfiguration
initializer 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. SBSDKMedicalPlanPatientFieldTypeAllergysAndIntolerances
is renamed toSBSDKMedicalPlanPatientFieldTypeAllergiesAndIntolerances
SBSDKMedicalPlanSubheadingReceipeFieldType
enum is renamed toSBSDKMedicalPlanSubheadingPrescriptionFieldType
. Its casesSBSDKMedicalPlanSubheadingReceipeFieldTypeGeneralInformation
andSBSDKMedicalPlanSubheadingReceipeFieldTypeReceipeFreeText
has been renamed toSBSDKMedicalPlanSubheadingPrescriptionFieldTypeGeneralInformation
andSBSDKMedicalPlanSubheadingPrescriptionFieldTypePrescriptionFreeText
respectively.SBSDKMedicalPlanSubheadingReceipeField
class name is changed toSBSDKMedicalPlanSubheadingPrescriptionField
.SBSDKMedicalPlanSubheadingReceipe
class name is changed toSBSDKMedicalPlanSubheadingPrescription
.- Cases of
SBSDKVCardDocumentFieldType
-SBSDKVCardDocumentFieldTypeCallendarURIForRequests
andSBSDKVCardDocumentFieldTypeCallendarURI
has been renamed toSBSDKVCardDocumentFieldTypeCalendarURIForRequests
andSBSDKVCardDocumentFieldTypeCalendarURI
respectively. - Case of
SBSDKBoardingPassDocumentFieldType
-SBSDKBoardingPassDocumentFieldTypeSecongNonConsecutiveBaggageTagLicensePlateNumber
has been renamed toSBSDKBoardingPassDocumentFieldTypeSecondNonConsecutiveBaggageTagLicensePlateNumber
- In
SBSDKBarcodeScannerViewControllerDelegate
the 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
SBSDKPageAspectRatio
toSBSDKAspectRatio
- In
SBSDKFinderLayer
type of parameterminimumInsets
was changed fromCGSize
toUIEdgeInsets
. So now inset from each side can be set up independently. - In
SBSDKUIMachineCodeScannerUIConfiguration
removedbottomButtonsInactiveColor
andbottomButtonsActiveColor
. ParametertopBarButtonsColor
now affects flash button active state. AddedflashButtonInactiveColor
. - In
SBSDKScannerViewController
type of parametercapturingFrameMinimumInset
was changed fromCGSize
toUIEdgeInsets
. - In
SBSDKScannerViewController
parameterCGSize capturingFrameSize
is changed toSBSDKAspectRatio *capturingFrameAspectRatio
. - In
SBSDKBarcodeScannerViewController
parameterCGSize capturingFrameSize
is changed toSBSDKAspectRatio *capturingFrameAspectRatio
. - In
SBSDKBarcodeScannerViewController
type of the parametercapturingFrameMinimumInset
was changed fromCGSize
toUIEdgeInsets
. - In
SBSDKUIMachineCodeScannerUIConfiguration
parametersCGFloat finderWidth
andCGFloat finderHeight
are replaced bySBSDKAspectRatio *finderAspectRatio
. - In
SBSDKUIScanBarCodeWorkflowStep
the initializer- (instancetype)initWithTitle:(nullable NSString *)title message:(nullable NSString *)message acceptedCodeTypes:(nullable NSArray<SBSDKBarcodeType *> *)acceptedMachineCodeTypes finderViewSize:(CGSize)finderViewSize resultValidation:(nullable SBSDKUIWorkflowStepValidationHandler)resultValidationHandler
is 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
SBSDKUIMRZScannerViewController
now 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
SBSDKUIBarcodeScannerViewController
andSBSDKUIMRZScannerViewController
flash button was moved to navigation bar to save more space for finder layer.
- In
Version 1.9.11 (26 Mar 2020):
🎉 New:
- New
SBSDKUIMultipleObjectScannerViewController
RTU UI component for scanning multiple objects like business cards - Barcode scanning: Added
SBSDKUIBarcodeImageStorage
class 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 bySBSDKUICameraViewController
subclasses 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
SBSDKAdjustableFilters
headers 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 namedSBSDKChequeRecognizerResultField
that 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
SBSDKScannerViewController
as 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
modalPresentationStyle
ofSBSDKScannerViewController
and 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
,SBSDKUIMachineCodesCollection
andSBSDKUIWorkflowStep
and 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
SBSDKDisabilityCertificateRecognizerCheckboxTypeAccident
andSBSDKDisabilityCertificateRecognizerCheckboxTypeRequiresCare
inSBSDKDisabilityCertificatesRecognizerResult
.
- 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
SBSDKHealthInsuranceCardRecognizer
as 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
SBSDKBarcodeScanner
as 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
SBSDKBarcodeScanner
of 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
SBSDKBarcodeScanner
component 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 anNSInvalidArgumentException
now. See the API docs of thesetImage
method 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:
SBSDKPayFormScanner
API - Removed the obsolete methodsdetectOnImage:scannedImage
andrecognizeFieldsOnImage:scannedImage
. Replaced by a new all-in-one method-[SBSDKPayFormScanner recognizeFromImage:]
. Removed obsolete classesSBSDKPayFormResult
,SBSDKPayFormDetectionResult
andSBSDKPayFormDetectedBox
.
- 🐞 Bug fixes:
- Fixed an issue with unknown device orientation
UIDeviceOrientationUnknown
inSBSDKScannerViewController
. - 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. See the Workflows section for more details.
- 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 therecognizeFromImage
method.
- ⚠️ 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. See the OCR section for more details.
- 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:
SBSDKMultipleObjectsDetector
andSBSDKBusinessCardsImageProcessor
- Added text orientation recognizer:
SBSDKTextOrientationRecognizer
- Added business card detector and processor:
- 🐞 Bug fixes:
- Fixed potential synchronization issues with
SBSDKIndexedImageStorage
andSBSDKKeyedImageStorage
- Fixed potential synchronization issues with
Version 1.8.4 (31 Jan 2019):
- Fixed crashes in
SBSDKTIFFImageWriter
when using write methods with file URLs
Version 1.8.3 (30 Jan 2019):
- Fixed handling of
SBSDKUICroppingScreenConfiguration.uiConfiguration
arguments 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
SBSDKIndexedImageStorage
as specified by the protocol-[SBSDKImageStoring copy]
- Implemented new methods
-[SBSDKIndexedImageStorage replaceImageAtIndex:withImage:]
and-[SBSDKIndexedImageStorage replaceImageAtIndex:withImageAtURL:]
- Implemented new image filter types
SBSDKImageFilterType.SBSDKImageFilterTypeOtsuBinarization
,SBSDKImageFilterType.SBSDKImageFilterTypeDeepBinarization
andSBSDKImageFilterType.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.requiredAspectRatios
to restrict document detection to given aspect ratios - Added a new viewfinder layer to
SBSDKScannerViewController
and the related propertySBSDKScannerViewController.finderMode
to visualize detection of document with required aspect ratios - Added new functions to
ScanbotSDK
class to better handle license failures, like expiration and usage of features not included in your license: - Added property
SBSDKScannerViewController.frameLimiter
which 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 aSBSDKUIDocument
- 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
allowedInterfaceOrientations
in all RTU UI ViewControllers (can be set via corresponding configurations) - Fixed issues with
orientationLockMode
in 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 (
dateOfBirth
field was not extracted on some French ID cards) - Fixed issues with Xcode inspector showing
nil
for 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.traineddata
instead 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
SBSDKIndexedImageStorage
removes 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
SBSDKUIDocument
for scanned pages - added the fields
checkDigitsCount
andvalidCheckDigitsCount
inSBSDKMachineReadableZoneRecognizerResult
- 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
SBSDKCameraExposureSettings
class to extract the current exposure metering parameters from the camera - deprecated
SBSDKImageStorage
- added
SBSDKIndexedImageStorage
andSBSDKKeyedImageStorage
as replacements - minor bug fixes
- dropped support for iOS 8
Version 1.6.2:
- minor bugfixes
- added two new
SBSDKPDFRendererPageSize
modes
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
SBSDKScannerViewController
to help with energy saving
Version 1.5.0:
- fixed a bug with unrecognized barcodes
- added a new
SBSDKScannerViewControllerDelegate
function 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
SBSDKImageEditingViewController
as a flexible and more powerful replacement ofSBSDKCropViewController
SBSDKCropViewController
has 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
SBSDKScannerViewController
by around 50%
Version 1.4.4:
- New functions in
SBSDKScannerViewControllerDelegate
for scanning documents, customizing UI and QR code scanning - Fixed a bug in
SBSDKCropViewController
where sometimes the polygon handles were not touchable
Version 1.4.3:
- Fixed a bug in
SBSDKCropViewController
where 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
SBSDKOpticalTextRecognizer
andSBSDKPDFRenderer
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
NSCameraUsageDescription
andNSPhotoLibraryUsageDescription
.
Version 1.2.0:
- Improved all detectors accuracy
- Added
SBSDKImageMetadata
andSBSDKImageMetadataProcessor
to extract EXIF data etc. from image - Added
SBSDKLensCameraProperties
which 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 SBSDKLensCameraProperties
can 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:
- Fixed an orientation issue on iPad
Version 1.0.10:
- Significantly improved peak memory usage when capturing images (~ 50%)
- Added new delegate method - (BOOL)scannerController:shouldRotateInterfaceForDeviceOrientation:transform:(CGAffineTransform)transform
Version 1.0.9:
- Added new delegate method (void)scannerControllerDidChangeDeviceOrientation:to:transform:
Version 1.0.8:
- Added new method -(BOOL)captureStillImage to allow manual capturing using the delegate interface
Version 1.0.7:
- Fixed wrong orientation of original image when capturing a document image
Version 1.0.6:
- 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)