Releases: BlinkID/blinkid-ios
v5.7.1
Major bug fix:
- This version fixes bug introduced in v5.7.0 which could cause SDK crash on
applicationDidBecomeActive
event.
New features:
- We translated complete SDK to the following additional languages:: Malay, Dutch, Hungarian, Indonesian, Arabic(UAE), Romanian, Chinese traditional, Chinese simplified, Thai, Hewbrew and Vietnamese.
Improvements to existing features:
- We have improved parsing of MRZ formats deviating from the ISO/IEC 7501 standard:
- Document discriminator was in place of the document number on driver licenses and IDs from:
- New York
- Michigan
- Canada
- Different check digit calculation for Mexico (Consular) ID
- Recognition of the unofficial
XCT
country code for Northern Cyprus ID - Recognition of different country codes and check digit calculation on China Mainland Travel Permit for Hong Kong and Macao Residents
- Document discriminator was in place of the document number on driver licenses and IDs from:
- We added anonymization support for:
- MRZ on the Mainland Travel Permit for Hong Kong and Macao Residents
- We have made some changes to the MBBlinkIdRecognizer and MBBlinkIdCombinedRecognizer
- You can now see
MBProcessingStatus
in the results to inspect potential processing errors, such as when barcode detection fails, a mandatory field is missing, etc. - You can now also see a more detailed
MBImageAnalysisResult
showing you when:- Face image is detected
- MRZ is detected
- Barcode is detected
- We added a
MBRecognitionModeFilter
settings group. You can toggle flags on this object to control the recognition mode of the recognizer:enableMrzId
lets you scan MRZ on all identity documents except visas and passports.enableMrzVisa
lets you scan MRZ on visa documents.enableMrzPassport
lets you scan MRZ on passports.enablePhotoId
lets you scan photo IDs. Use it to enable or disable document and face image extraction on unsupported documents.enableFullRecognition
lets you scan all data from our supported documents.- Your license key still controls which of the above recognition modes are allowed.
- We have added a
MBRecognitionMode
result member describing which recognition mode was used to produce the results. - We are now retrieving sex and nationality fields from the MRZ in cases where those two fields cannot be found in the document’s VIZ. Previously, we only used to do this for dates, name fields and document numbers.
- We are now preserving the original string (raw data) of the dates we couldn’t parse.
- You can now see
- We have improved the thresholds for card detection feedback messages ("move closer" and "move farther"). This will improve the UX when scanning in landscape mode as the document can now be closer to the camera.
- We added
disableMicroblinkLogging
method toMBLogger
for easier implementation- This also enables disabling Microblink logging in Swift.
Minor API changes:
- We have made some changes to the MBBlinkIdRecognizer and MBBlinkIdCombinedRecognizer:
- We renamed
MBDocumentImageMoireStatus
toMBImageAnalysisDetectionStatus
. - We grouped the
conditions
member from the results with theMBDriverLicenseDetailedInfo
structure.
- We renamed
- We renamed
MBRecogitionMode
toMBRecognitionDebugMode
inMBRecognizerCollection
. - Swift:
- We renamed all
sharedInstance
toshared
. - All enums are now
Int
.
- We renamed all
Bug fixes:
- We added a
nullable
attribute to therecognizerRunnerViewControllerWithOverlayViewController
to fix a force unwrapping issue in Swift that could occur if the camera is broken or not working.
v5.7.0
New features:
- We translated complete SDK to the following additional languages:: Malay, Dutch, Hungarian, Indonesian, Arabic(UAE), Romanian, Chinese traditional, Chinese simplified, Thai, Hewbrew and Vietnamese.
Improvements to existing features:
- We have improved parsing of MRZ formats deviating from the ISO/IEC 7501 standard:
- Document discriminator was in place of the document number on driver licenses and IDs from:
- New York
- Michigan
- Canada
- Different check digit calculation for Mexico (Consular) ID
- Recognition of the unofficial
XCT
country code for Northern Cyprus ID - Recognition of different country codes and check digit calculation on China Mainland Travel Permit for Hong Kong and Macao Residents
- Document discriminator was in place of the document number on driver licenses and IDs from:
- We added anonymization support for:
- MRZ on the Mainland Travel Permit for Hong Kong and Macao Residents
- We have made some changes to the MBBlinkIdRecognizer and MBBlinkIdCombinedRecognizer
- You can now see
MBProcessingStatus
in the results to inspect potential processing errors, such as when barcode detection fails, a mandatory field is missing, etc. - You can now also see a more detailed
MBImageAnalysisResult
showing you when:- Face image is detected
- MRZ is detected
- Barcode is detected
- We added a
MBRecognitionModeFilter
settings group. You can toggle flags on this object to control the recognition mode of the recognizer:enableMrzId
lets you scan MRZ on all identity documents except visas and passports.enableMrzVisa
lets you scan MRZ on visa documents.enableMrzPassport
lets you scan MRZ on passports.enablePhotoId
lets you scan photo IDs. Use it to enable or disable document and face image extraction on unsupported documents.enableFullRecognition
lets you scan all data from our supported documents.- Your license key still controls which of the above recognition modes are allowed.
- We have added a
MBRecognitionMode
result member describing which recognition mode was used to produce the results. - We are now retrieving sex and nationality fields from the MRZ in cases where those two fields cannot be found in the document’s VIZ. Previously, we only used to do this for dates, name fields and document numbers.
- We are now preserving the original string (raw data) of the dates we couldn’t parse.
- You can now see
- We have improved the thresholds for card detection feedback messages ("move closer" and "move farther"). This will improve the UX when scanning in landscape mode as the document can now be closer to the camera.
- We added
disableMicroblinkLogging
method toMBLogger
for easier implementation- This also enables disabling Microblink logging in Swift.
Minor API changes:
- We have made some changes to the MBBlinkIdRecognizer and MBBlinkIdCombinedRecognizer:
- We renamed
MBDocumentImageMoireStatus
toMBImageAnalysisDetectionStatus
. - We grouped the
conditions
member from the results with theMBDriverLicenseDetailedInfo
structure.
- We renamed
- We renamed
MBRecogitionMode
toMBRecognitionDebugMode
inMBRecognizerCollection
. - Swift:
- We renamed all
sharedInstance
toshared
. - All enums are now
Int
.
- We renamed all
Bug fixes:
- We added a
nullable
attribute to therecognizerRunnerViewControllerWithOverlayViewController
to fix a force unwrapping issue in Swift that could occur if the camera is broken or not working.
v5.6.0
New features:
-
We have translated complete SDK to following languages: Croatian, Czech, English, French, German, Italian, Portuguese, Slovak, and Spanish.
-
In
MBBlinkIdCombinedRecognizer
andMBBlinkIdRecognizer
we added:- Support for US documents with vertical orientations:
- Alabama DL
- Arizona DL
- California DL
- Colorado DL
- Connecticut DL
- Georgia DL
- Illinois DL
- Iowa DL
- Kansas DL
- Kentucky DL
- Maryland DL
- Massachusetts DL
- Minnesota DL
- Missouri DL
- New Jersey DL
- Ohio DL
- Pennsylvania DL
- South Carolina DL
- Tennessee DL
- Texas DL
- Utah DL
- Washington DL
- Wisconsin DL
- Support for new document types:
- Croatia Health Insurance Card / front side / BETA
- Ecuador ID / front side
- El Salvador ID / BETA
- Sri Lanka ID / BETA
- No longer BETA:
- Canada Nova Scotia DL
- Canada Yukon DL
- Norway DL
- Back side support:
- Kenya ID
- Result anonymization - with this option enabled, results are not returned for protected fields on certain documents. The full document image will also have this data blacked out.
- Protected fields are:
- Document number on Hong Kong ID
- MRZ on Hong Kong passports
- Personal ID number on Netherlands DL
- Personal ID number and MRZ on Netherlands ID
- MRZ on Netherlands passports
- Document number on Singapore DL, ID, Fin Card, Resident ID
- Personal ID number on Singapore Employment Pass
- Document number and personal ID number on Singapore Work Permit
- MRZ on Singapore passports
- By using
anonymizationMode
property, you can choose theMBAnonymizationMode
:ImageOnly
,ResultFieldsOnly
,FullResult
orNone
. FullResult
anonymization (both images and data) is set by default.
- Support for US documents with vertical orientations:
-
We added support for new MRZ formats:
- Guatemala ID
- Kenya ID
Improvements to existing features:
- We updated
MBUsdlRecognizerResult
andMBIdBarcodeRecognizer.Result
with additional address fields:street
,postalCode
,city
andjurisdiction
- We added
expired
(in SwiftisExpired
) property toMBBlinkIdRecognizerResult
,MBBlinkIdCombinedRecognizerResult
andMBIdBarcodeRecognizerResult
.- It compares the current time on the device with the date of expiry and checks whether the document has expired or not.
- We made changes to the result structure of
MBBlinkIdCombinedRecognizer
andMBBlinkIdRecognizer
:- Barcode data is now encapsulated in its own result structure:
MBBarcodeResult
. - Data from all OCR-ed fields, without MRZ data, is now encapsulated in a
MBVizResult
structure, representing the "Visual Inspection Zone" data. InMBBlinkIdCombinedRecognizer
, front side data is available in its own structure (frontVizResult
), back side data in its own (backVizResult
), so you can now access data from each side separately. - The main part of the result, outside these structures, is filled according to these rules:
- Document number is filled with data from the MRZ, if present.
- Remaining data is then filled with barcode data.
- Remaining data is filled from the back side's visual inspection zone (OCR data outside of MRZ).
- Remaining data is filled from the front side's visual inspection zone.
- Remaining data is filled with data from the MRZ.
- Barcode data is now encapsulated in its own result structure:
Minor API changes:
- We moved
MBBlinkIdRecognizerResult
memberscolorStatus
andmoireStatus
to the result'simageAnalysisResult
(frontImageAnalysisResult
andbackImageAnalysisResult
inMBBlinkIDCombinedRecognizerResult
). - We moved all resources inside framework, we are not shipping
Microblink.bundle
anymore
Bug fixes:
- We fixed US driver's license address extraction (Oregon, Mississippi, Rhode Island).
- We removed OpenGL entirely which was causing unexpected crashes.
v5.5.0
New features:
- In
MBBlinkIdCombinedRecognizer
andMBBlinkIdRecognizer
we added:-
Support for obtaining full document image for IDs with barcodes. Now you can capture document image and extract barcode data with a single scan.
-
Scanning & data extraction for travel visas and passports.
-
Field validation - we validate if the results from certain fields match predefined character sets.
- If validation fails, the recognizer's state isMBRecognizerResultStateUncertain
.
- UsevalidateResultCharacters
to enable or disable validation. -
Field anonymization for sensitive data.
- Enable or disable whether certain sensitive data should be anonymized in full document image result.
- UseanonymizeImage
to enable or disable image anonymization. -
Support for new document types:
- Australia New South Wales - ID Card / Front only / BETA
- Brazil - Driver License / BETA
- Brunei - Military ID / BETA
- Brunei - Residence Permit / BETA
- Brunei - Temporary Residence Permit / BETA
- Ghana - Driver License / Front only
- Latvia - ID Card
- Norway - Driving Licence / Front only / BETA
- Oman - ID Card
- Saudi Arabia - ID Card / BETA
- Sweden - Social Security Card / Front only
- USA - Social Security Card / BETA
- Back side supported:
- Malaysia - MyTentera
-
No longer BETA:
- Australia Tasmania - Driving Licence
- Canada British Columbia - ID Card
- Germany - Residence Permit
- Morocco - ID Card
- Nigeria - Voter ID
- Singapore - Work Permit
- USA Alaska - ID Card
- USA District Of Columbia - Driver License
- USA Indiana - ID Card
- USA Kentucky - ID Card
-
Barcode scanning on the following documents:
- Argentina ID
- Colombia ID
- Nigeria Voter ID
- South Africa ID
-
Improvements for existing features:
- Improvements in
MBBlinkIdCombinedRecognizer
andMBBlinkIdRecognizer
:- Documents discarded with the class filter are now reported as not supported
onDocumentSupportStatus
will be called if a documents is filtered out by theclassInfoFilter
.
- For Malaysian MyKad we are now returning if a Moire pattern is present on the scanned document (detected or not detected).
- use
documentImageMoireStatus
inMBBlinkIdRecognizer
. - use
documentFrontImageMoireStatus
anddocumentBackImageMoireStatus
inMBBlinkIdCombinedRecognizer
.
- use
- Documents discarded with the class filter are now reported as not supported
- We added digital signature support to
MBPassportRecognizer
. - We updated
MBIdBarcodeRecognizerResult
with specific driving license info.- Use
restrictions
,endorsements
andvehicleClass
- Use
Bug fixes:
- Fixed check mark confirmation image and flip animation image appearing sometimes one over another on back side scanning on
MBBlinkIdOverlayViewController
- Fixed immediately back side scanning on
MBBlinkIdOverlayViewController
which sometimes caused not getting full document back side image
v5.4.1
Bug fixes:
- Fixed returning of
MBType
onMBClassInfo
object inMBBlinkIdRecognizer
andMBBlinkIdCombinedRecognizer
v5.4.0
New features:
- Introducing support for new framework format - XCFramework:
- it contains all the necessary device and simulator architecture slices
- no neeed to remove simulator slices before distributing your app to the App Store as described here
- for now, only available from this repo, not available on Cocoapods
- We added age verification feature:
- Now you can more easily obtain the age of the document owner in years and check whether it is above some age limit
- available on
MBMrzResult
,MBBlinkIdRecognizerResult
,MBBlinkIdCombinedRecognizerResult
,MBUsdlRecognizerResult
,MBUsdlCombinedRecognizerResult
andMBIdBarcodeRecognizerResult
- Added presets for camera - Preset1080p, and 4K; Optimal always chooses the highest quality
Improvements for existing features:
-
We added support for new document types in
MBBlinkIdCombinedRecognizer
andMBBlinkIdRecognizer
:- Australia - Australian Capital Territory - Driving Licence / front only
- Australia - Northern Territory - Driving Licence / BETA
- Australia - Tasmania - Driving Licence / front only / BETA
- Canada - Alberta - ID Card / BETA
- Canada - British Columbia - Driver License/Public Services Card (Combined)
- Canada - British Columbia - ID Card / BETA
- Canada - British Columbia - Public Services Card
- Canada - New Brunswick - Driving Licence
- Canada - Nova Scotia - Driving Licence / BETA
- Canada - Yukon - Driving Licence / BETA
- Panama - Driving Licence / front only / BETA
- Panama - ID Card / front only
- Singapore - Work Permit / BETA
- Taiwan - ID Card / front only / BETA
- USA - Alabama - ID Card
- USA - Alaska - ID Card / BETA
- USA - District Of Columbia - Driver License / BETA
- USA - Idaho - ID Card / BETA
- USA - Indiana - ID Card / BETA
- USA - Kentucky - ID Card / BETA
- USA - Massachusetts - ID Card
- USA - Oregon - ID Card
- USA - Washington - ID Card
- Back side supported:
- Australia - Western Australia - Driving Licence
- Mexico - Voter ID
- Netherlands - Driving Licence
-
Additional improvements in
BlinkIdCombinedRecognizer
andBlinkIdRecognizer
:- When the back side of the document is not fully supported by the
MBBlinkIdCombinedRecognizer
, we will capture and return the back side image without performing data extraction. You can disable this behaviour by usingskipUnsupportedBack
. - We are now returning color status for the scanned document (black and white or color) in the following result fields:
documentImageColorStatus
inMBBlinkIdRecognizerResult
.documentFrontImageColorStatus
anddocumentBackImageColorStatus
inMBBlinkIdCombinedRecognizerResult
- We are now returning
ClassInfo
which holds the following information about the scanned document:Country
,Region
, andType
of the document. UseclassInfo
- We introduced
ClassFilter
which determines whether a document should be processed or is filtered out, based on itsClassInfo
. UseclassFilter
- To improve the scanning performance, we added additional feedback for users that ensures a detected document is entirely inside the frame. When a document is too close to the edge of the camera frame, we will display an appropriate message to the user in
MBBlinkIdOverlayController
. You can configure the minimum distance from the edge of the frame by using thepaddingEdge
settings method
- When the back side of the document is not fully supported by the
-
Improvements in
MBBlinkIdOverlayViewController
:- When a document is too close to the edge of the camera frame, we display
Move the document from the edge
message. - We added better user instructions when barcodes are being scanned in
MBUsdlCombinedRecognizer
. We displayScan the barcode
message.
- When a document is too close to the edge of the camera frame, we display
-
We are now delivering the complete list of open source dependencies used in the SDK. Please check the
open-source-software-used
directory
Bug fixes:
- Fixed animation on back side scanning on
MBBlinkIdOverlayViewController
when recognizer is wrapped inMBSuccessFrameGrabberRecognizer
- Large memory consumption introduced in v5.3.0 is due to 4K video session on all 4K eligible iPhones; we introduced new camera presets 1080p and 4K, so to reduce your app memory consumption set camera preset on 1080p or 720p
v5.3.0
New features:
-
We added a new recognizer specialized for scanning and parsing barcodes on various identity cards -
MBIdBarcodeRecognizer
. Supported document types are:- AAMVA compliant (US DL, Canada DL, etc.)
- Argentina ID
- Panama ID
- Colombia ID
- South Africa ID
- Nigeria Voter ID and driver license
-
We added the option to disable Microblink logs in the console output. Use
MBLogger
class and conform toMBLoggerDelegate
inAppDelegate
. To disable logs, implement delegate method- (void)log:(MBLogLevel)level format:(const char *)format arguments:(va_list)arguments
. Be careful with this option. We need full log outputs from the application for support purposes. In case of having problems with scanning certain items, undesired behavior on the specific device(s), crashes inside SDK or anything unmentioned, we will need a full log from your side. If you disable Microblink logging, you won't be able to provide us this information. Hence support might be limited.
Improvements for existing features:
- We added new result fields in
MBMrzResult
, returned by all recognizers which scan MRZ (Machine Readable Zone):issuerName
nationalityName
- Improvements in
MBBlinkIdCombinedRecognizer
andMBBlinkIdRecognizer
:- new recognizer options:
allowUnparsedMrzResults
andallowUnverifiedMrzResults
- new result field:
dateOfExpiryPermanent
- support for 14 new document types:
South Australia DL
,Bosnia and Herzegovina DL
,Canada Ontario ID
,Costa Rica DL
,Denmark DL
,Estonia DL
,Finland DL
,Kenya ID
,Lithuania DL
,Malaysia MyPR
,Malta DL
,Mexico Consular ID
,Nigeria Voter ID
,Philippines Professional ID
- improved support for:
USA Hawaii DL
,Colombia DL
,Costa Rica ID
,France ID
,India ID
,Kazakhstan ID
,Kuwait Resident ID
,Israel DL
,Kuwait DL
,Thailand ID
- new recognizer options:
Bug fixes:
- Fixed
Torch
activation for all iOS versions - Fixed OpenGL code which was fragile and sensitive to crashes if used from multiple threads
v5.2.0
-
Improvements in ID scanning performance:
- overall size impact on application reduced for almost 4MB when BlinkID SDK v5.2 is used, relative to size impact of the previous v5.1
-
Updates and additions:
- added Canada Alberta DL support for
MBBlinkIdRecognizer
andMBBlinkIdCombinedRecognizer
- enabled scanning back sides of 6 documents for
MBBlinkIdCombinedRecognizer
:- Czechia ID
- Egypt ID
- Germany ID
- Italy ID
- Pakistan Consular ID
- Pakistan ID
- enabled digital signing of
MBBlinkIdCombinedRecognizerResult
- enabled setting
MBMrzCombinedFilter
onMBMrtdCombinedRecognizer
:- determines whether document should be processed or it is filtered out, based on its MRZ (Machine Readable Zone)
- added property
localizedName
toMBBlinkIdRecognizerResult
andMBBlinkIdCombinedRecognizerResult
(CCC to chinese alphabet conversion for Hong Kong ID) - added setting
anonymizeNetherlandsMrz
onMBPassportRecognizer
- added Canada Alberta DL support for
-
Bugfixes:
MBBlinkIDCombinedRecognizer
- fixed issue when the front side of a document was accepted as a back side
v5.1.1
-
Bugfixes:
- fixed memory leaks that could cause crashes in some cases
-
Minor API changes:
MBBlinkIdRecognizer
andMBBlinkIdCombinedRecognizer
- methods
setDewarpedImageDelegate
andsetClassifierDelegate
are now propertiesdewarpedImageDelegate
andclassifierDelegate
- methods
v5.1.0
-
Updates and additions:
- added 38 new documents for
MBBlinkIdRecognizer
andMBBlinkIdCombinedRecognizer
- Algeria ID, Argentina DL, Australia Victoria DL, Australia Queensland DL, Australia Western Australia DL, Belgium Resident ID, Canada British Columbia DL, Canada Ontario DL, Canada Quebec DL, Cyprus ID, Czechia DL, Czechia ID, Egypt ID, Greece DL, India ID, India Pan Card, Israel DL, Malaysia MyKid, Malaysia MyTentera, Maldives ID, Morocco ID, Nigeria DL, Paraguay ID, Portugal DL, Puerto Rico DL, Qatar DL, Russia DL, Singapore Fin Card, Singapore Resident ID, Slovakia DL, Slovenia DL, South Africa DL, South Africa ID, Thailand ID, Tunisia ID, UAE DL, Uganda ID, Vietnam ID
- details on each new document and the complete list of the supported documents is here
- added 38 new documents for
-
Improvements in ID scanning performance:
- reduced overall size impact on application for approximately 40% when BlinkID SDK v5.1 is used, relative to size impact of the previous version (v5.0)
- new fields in
MBMrzResult
:sanitizedDocumentCode
sanitizedDocumentNumber
- improved
MBBlinkIdRecognizer
andMBBlinkIdCombinedRecognizer
:- introduced blur filter that discards blurred frames and prevents reading data from them, this option is enabled by default, it can be disabled by setting
allowBlurFilter
toNO/false
- introduced blur filter that discards blurred frames and prevents reading data from them, this option is enabled by default, it can be disabled by setting
-
Bugfixes:
- fixed bug when scanning would not resume after doment sides would not match on
MBBlinkIdOverlayViewController
- fixed bug when scanning would not resume after doment sides would not match on