- Beta Feature: Second Page Passport Scanning
- We’ve launched support for scanning and extracting data from the second page of passports for select countries - Slovenia, Ireland, and New Zealand. When BlinkID detects one of these passports, a UI message will guide the user to the second page. By default, this feature is disabled but can be enabled via the
scanPassportDataPageOnly
setting inBlinkIdMultiSideRecognizer
. This feature is in beta, and your feedback is appreciated.
- We’ve launched support for scanning and extracting data from the second page of passports for select countries - Slovenia, Ireland, and New Zealand. When BlinkID detects one of these passports, a UI message will guide the user to the second page. By default, this feature is disabled but can be enabled via the
- USA Green Card - Enabled Data Match for the
Document Number
field, matching values from the VIZ (Visual Inspection Zone) and MRZ to further enhance extraction reliability.
- Spain ID: Fixed an issue with indefinite expiry dates, ensuring consistent values between the MRZ and Visual Inspection Zone (VIZ).
- Bulgaria ID: Improved parsing for indefinite expiry dates in the MRZ for better accuracy.
- Netherlands ID & Norway Passport: Resolved issues with the
Personal ID number
field that were causing the data match feature to fail. - Chinese Passport: Enhanced reliability of extracted data with additional logic for the
Document Number
field. - German ID & Luxembourg ID: Adjusted name extraction logic to resolve issues with name separation, ensuring more consistent results.
- NYC Municipal ID & USA Border Crossing Card - Resolved an issue where the scanning process could get stuck on the back side during multi-side scanning.
- Armenia - Paper Passport
- Bahamas - Temporary Residence Permit
- Bahamas - Work Permit
- Bangladesh - Polycarbonate Passport
- Comoros - Paper Passport
- Dominican Republic - Non Voter ID
- Greece - Polycarbonate Passport
- Jamaica - Voter ID
- Kazakhstan - Paper Passport
- Kyrgyzstan - Paper Passport
- Kyrgyzstan - Polycarbonate Passport
- Lebanon - Driver's License
- Tajikistan - Identity Card
- Turkmenistan - Polycarbonate Passport
- Uzbekistan - Identity Card
- Argentina - Alien ID
- Bulgaria - Identity Card
- Canada, British Columbia - Identity Card
- Canada, British Columbia - Minors Public Services Card
- Croatia - Driver's License
- Jamaica - Paper Passport
- Malaysia - i-Kad
- Mexico, Coahuila - Driver's License
- Montenegro - Driver's License
- Namibia - Identity Card
- Norway - Driver's License
- Pakistan - Proof of Registration
- Panama - Identity Card
- Panama - Residence Permit
- Peru - Minors ID
- Portugal - Identity Card
- Romania - Identity Card
- Trinidad and Tobago - Driver's License
- Turkey - Identity Card
- USA, Arizona - Identity Card
- USA, Colorado - Identity Card
- USA, Michigan - Identity Card
- USA, Mississippi - Driver's License
- USA, Mississippi - Identity Card
- USA, Montana - Identity Card
- USA, North Carolina - Identity Card
- USA, North Carolina - Driver's License
- USA, North Dakota - Driver's License
- USA, Vermont - Identity Card
- USA, Virginia - Identity Card
- USA, Wyoming - Driver's License
- USA, Wyoming - Identity Card
- Uzbekistan - Paper Passport
- Andorra - Paper Passport
- Andorra - Polycarbonate Passport
- Philippines - Driver's License
- Armenia - Work Permit
- Australia - Asic Card
- Azerbaijan - Driver's License
- Bahamas - Paper Passport
- Bahamas - Polycarbonate Passport
- Cayman Islands - Paper Passport
- Cayman Islands - Polycarbonate Passport
- Cayman Islands - Voter ID
- Gibraltar - Driver's License
- Gibraltar - Identity Card
- Gibraltar - Paper Passport
- Gibraltar - Polycarbonate Passport
- Guyana - Paper Passport
- Kuwait - Bidoon Card
- Kyrgyzstan - Driver's License
- Monaco - Paper Passport
- Pakistan - Afghan Citizen Card
- Philippines, Bangsamoro - Driver's License
- Saint Lucia - Driver's License
- Saint Lucia - Paper Passport
- San Marino - Polycarbonate Passport
- Turks and Caicos Islands - Driver's License
- Turks and Caicos Islands - Identity Card
- Turks and Caicos Islands - Paper Passport
- Australia - Interim Health Insurance Card
- Australia - Reciprocal Health Insurance Card
- UAE - Vehicle Registration
- Barbados - Identity Card
- Brazil - Paper Passport
- Dominican Republic - Driver's License
- India, Gujarat - Driver's License
- Mexico, Puebla - Driver's License
- Philippines - Tax ID
- Philippines - Health Insurance Card
- Australia - Health Insurance Card
- USA - Green Card -
eligibilityCategory
- USA - Work Permit -
eligibilityCategory
- Greece - Driver's License -
placeOfBirth
(greek and latin) - Saudi Arabia - Resident ID -
nationality
(arabic) - Bahrain -
dateOfExpiry
- USA - Driver's license & ID card -
specificDocumentValidity
- Pakistan - Proof of Registration -
DependentDateOfBirth
,DependentSex
,DependentDocumentNumber
&DependentFullName
- Barbados - Identity Card -
personalIdNumber
->documentNumber
- Panama - Identity Card -
personalIdNumber
->documentNumber
- Panama - Residence Permit -
personalIdNumber
->documentNumber
- Greek Alphabet Support
- We’ve added support for extracting
Place of Birth
in both Greek and Latin scripts.
- We’ve added support for extracting
- Fixed a bug that would cause a crash on older iOS versions
- Improved reliability and first-time successful scanning experience
- Avoiding Double Scans of the Front Side: For a more reliable scanning process, BlinkID now prompts users to flip the document when they scan the front side twice. This improves the overall experience and reduces the chance of mistakes.
- Starting with the Right Side: If users attempt to scan the back side of a document first, BlinkID will prompt them to begin with the front side. This feature ensures that users follow the correct order, leading to a more reliable and user-friendly experience.
- Sweden - Social Security Card - Back side
- Bolivia - Driver's License - Back side
- Brazil, Distrito Federal - Identity Card - Back side
- Colombia - Temporary Protection Permit
- France - Professional ID
- Mexico - Tax ID
- Brazil, Parana - Identity Card - Back side
- Brazil, Santa Catarina - Identity Card - Back side
- Peru - Alien ID - MRZ
- Accessible button names: Added accessible names to the help and flashlight buttons, enabling TalkBack to read them correctly.
- Glare warning toast: The toast is now correctly detected and read by VoiceOver.
- Fallback for barcode scanning -
Barcode ID
recognition mode will now extract information from any supported barcode if full document recognition fails. Initially available only for US and Canadian documents, this feature is now available to all documents. - MRZ field on US documents - Set to optional by default and currently refers to: Minnesota (DL & ID), New York (DL & ID), Vermont (DL) and Washington (DL & ID).
AdditionalProcessingInfo
- In cases of an empty result, this field now provides details about the reasons why scanning failed.- Improved handling of face photo occlusion - The UI message is slightly changed to prompt users to keep the face photo fully visible when there is a finger occlusion.
- Added new experimental bool
forceUsingPixelFormatTypeBiPlanarFullRange
tocameraSettings
inBlinkIdOverlaySettings
.- As
kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
is an experimental feature, no support will be provided while this flag is active.
- As
- Fixed the issue where in some cases scanning the back side of the document was not working properly.
- Custom mandatory fields
- We’re introducing the option for customers to define their own set of mandatory fields. This feature allows greater flexibility in the scanning process by enabling the extraction of only the necessary information from identity documents. Now you can customize the process and focus on only those fields that are relevant to your use case.
- Custom mandatory fields can be set at the document level or applied universally to all document types.
- Face detector improvements
- We made significant enhancements to our face detector model.
- Added new values to
ClassInfo
enum:Region
: `- ALAGOAS` for Brazilian documents
Type
:AFGHAN_CITIZEN_CARD
EID
PASS
SIS_ID
- Austria - Polycarbonate Passport
- Canada - Polycarbonate Passport
- Ecuador - Paper Passport
- Germany - eID
- Guatemala - Alien ID
- Iraq - Polycarbonate Passport
- Namibia - Identity Card
- Nepal - Polycarbonate Passport
- Sweden - SIS ID
- USA, Delaware - Identity Card
- USA, Louisiana - Identity Card
- USA, Vermont - Identity Card
- Bolivia - Identity Card
- Canada, British Columbia - Public Services Card
- Finland - Identity Card
- Greece - Identity Card
- Malaysia - iKAD
- Mexico, Nuevo Leon - Driver's License
- Mexico, Tlaxcala - Driver's License
- Morocco - Driver's License
- Thailand - Polycarbonate Passport
- USA - Alaska - Driver's License
- USA - Alaska - Identity Card
- USA - Connecticut - Identity Card
- USA - Delaware - Driver's License
- USA - District of Columbia - Driver's License
- USA - Hawaii - Identity Card
- USA - Idaho - Driver's License
- USA - Indiana - Driver's License
- USA - Indiana - Identity Card
- USA - Iowa - Identity Card
- USA - Kansas - Identity Card
- USA - Kentucky - Identity Card
- USA - Kentucky - Driver's License
- USA - Maine - Identity Card
- USA - Maine - Driver's License
- USA - Michigan - Driver's License
- USA - Minnesota - Driver's License
- USA - Minnesota - Identity Card
- USA - Montana - Identity Card
- USA - Montana - Driver's License
- USA - New Hampshire - Identity Card
- USA - New Mexico - Driver's License
- USA - New Mexico - Identity Card
- USA - New York - Identity Card
- USA - North Dakota - Identity Card
- USA - Oregon - Identity Card
- USA - Pennsylvania - Driver's License
- USA - Rhode Island - Identity Card
- USA - South Carolina - Identity Card
- USA - Vermont - Driver's License
- USA - Washington - Identity Card
- USA - Wyoming - Driver's License
- USA - Wyoming - Identity Card
- European Union - Health Insurance Card
- Democratic Republic of the Congo - Voter ID
- Philippines - Alien ID
- Philippines - Postal ID
- Philippines - Work Permit
- Philippines - Health Insurance Card
- Honduras - Paper Passport
- Mexico, Sonora - Driver's License
- Peru - Alien ID
- Philippines - Alien ID
- China Exit Entry Permit - MRZ
- China Mainland Travel Permit Taiwan - MRZ
- France Residence permit -
Remarks
&ResidencePermitType
- Philippines Alien ID -
VisaType
- German ID - Fixed issues in cases when documents contain multiple surnames
- Paraguay ID - Added support for parsing the smaller barcode found on the back side of the ID
- Bulgaria Driver’s License - The Address field is set to optional, improving the extraction process
- Improved MRZ parsing for the back side of the following identity documents:
- Brazil Alien ID
- Kenya ID
- Bosnia and Herzegovina ID
- Ivory Coast ID
- Paraguay ID
- Added missing
ParaguayID
toIdBarcodeDocumentType
- Set
defineSpecificMissingMandatoryFields
inMBBlinkIdOverlaySettings
default value tofalse
. If you want detailed UI messages about missing mandatory fields, set it totrue
- Added
CustomClassRules
setting toBlinkIdSingleSideRecognizer
andBlinkIdMultiSideRecognizer
to support above mentioned custom mandatory fields
- Additional anonymization
- The ClassAnonymizationSettings class used for additional anonymization now includes a ClassFilter for filtering classes by Country, Region, and Type.
- Glare detection
- We’ve introduced glare detection to BlinkID, which removes occlusion on document images caused by glare. You can control the strictness of glare detection with three options (relaxed, normal, and strict) to suit your use case.
- Real-time feedback during scanning includes a new UI message to help users position the document correctly and reduce glare.
- Improved blur detection
- We’ve raised the threshold for our blur model, making it stricter. This improvement ensures that sharper images are accepted for processing. You can now control the strictness of blur detection with three options (relaxed, normal, and strict).
- Real-time feedback during scanning includes a new UI message to help users position the document optimally for a clear image.
- Support for extracting the subtypes of US driver’s licenses & ID cards
- BlinkID now extracts precise information about subtypes of driver’s licenses and ID cards (e.g., conditional driver’s license, learner’s permit, provision, enhanced, etc.). This information is included in the scanning results, allowing you to tailor workflows or processes based on document limitations.
- Classifier improvements
- We upgraded our classifier model to prevent double-capturing of the front side of a document, ensuring the front and the back sides are captured correctly. If the back side of a document is not detected, the processing status will return
UnsupportedClass
.
- We upgraded our classifier model to prevent double-capturing of the front side of a document, ensuring the front and the back sides are captured correctly. If the back side of a document is not detected, the processing status will return
- Option to anonymize barcode data
- You can now anonymize specific fields in the barcode results from an identity document, in addition to the anonymized fields already supported in the Visual Inspection Zone (VIZ).
- Changes to the
BlinkIdSingleSideRecognizer
andBlinkIdMultiSideRecognizer
settings:- renamed
allowBlurFilter
toenableBlurFilter
- renamed
- Added a new result member
documentSubtype
inBlinkIdSingleSideRecognizerResult
,BlinkIdMultiSideRecognizerResult,
andVIZResult
to include subtype information for US driver’s licenses or ID cards (commercial, provisional, etc.) - Changes to the
BlinkIdSingleSideRecognizer
andBlinkIdMultiSideRecognizer
settings:- added
enableGlareFilter
which is set totrue
by default - added
blurStrictnessLevel
which is set toNormal
by default (Strict
,Normal
, orRelaxed
) - added
glareStrictnessLevel
which is set toNormal
by default (Strict
,Normal
, orRelaxed
)
- added
- Changes to the
ImageAnalysisResult
:- renamed
glare
toglareDetected
- renamed
blurred
toblurDetected
- renamed
- Add file timestamp API required reason to the privacy manifest
- Real ID symbol detection on US driver's license
- BlinkID can now identify Real ID symbols from US driver’s licenses, providing feedback on their presence or absence. This ensures customers can quickly determine if a Real ID symbol is available on a scanned US driver’s license to be compliant with Real ID regulations.
- UX Improvements
- Success indicator for front side capture
- BlinkID now displays a clear success indicator after scanning the front side of a document. This visual cue enhances user confidence by providing immediate feedback during the scanning process.
- Success indicator for front side capture
- Partial anonymization of the "Document Number"
- To ensure user privacy and security, BlinkID now offers the option of partially anonymizing the document number from the scanned document.
- Mandatory Barcode Presence on US documents
- To minimize the cases of capturing the front side of the document as the back frame in the results, BlinkID now requires the presence of a barcode before saving the back frame on US documents. Processing status
BarcodeDetectionFailed
is returned when the mandatory barcode is not present on the back of US documents.
- To minimize the cases of capturing the front side of the document as the back frame in the results, BlinkID now requires the presence of a barcode before saving the back frame on US documents. Processing status
- We've added another
ProcessingStatus
calledBarcodeDetectionFailed
- This status is triggered once barcode was not found on the image. This processing status can only occur if document has the mandatory barcode.
- Added new boolean member
realIDDetectionStatus
to theImageAnalysisResult
. Iftrue
, Real ID symbol is present,false
otherwise. - Added new member
documentNumberAnonymizationSettings
to theClassAnonymizationSettings
for seamless integration with the document number anonymization feature.
- Updated internal mapping for Myanmar passports to display nationality as
Myanmarese
instead ofBurmese
on Myanmar passports. - On Peru ID "Date of Issue" is marked optional, offering customers more flexibility in capturing ID information.
- Improved "Date of Expiry" handling logic for MRZ in cases where documents with a date of expiry year 1969 were not correctly sanitized.
- Fixed the issue when
reconfigureRecognizers
function not working properly.
- Australia - Polycarbonate Passport
- Indonesia - Polycarbonate Passport
- Mexico - Consular Voter ID
- Moldova - Polycarbonate Passport
- Pakistan - Proof Of Registration
- Panama - Polycarbonate Passport
- USA - West Virginia - ID Card
- Brazil - Ceara - ID Card
- Brazil - Goias - ID Card
- Brazil - Sergipe - ID Card
- China - Exit Entry Permit
- China - Mainland Travel Permit Taiwan
- Colombia - Temporary Protection Permit
- India - DL
- India - Andhra Pradesh - DL
- India - Haryana - DL
- European Union - Health Insurance Card
- Australia - Queensland - DL
- Australia - Victoria - DL
- Australia - Western Australia - DL
- Bolivia - Minor's ID
- Brazil - Alien ID
- Estonia - DL
- Finland - Alien ID
- Guatemala - Paper Passport
- India - Paper Passport - New side type
- Malta - DL
- Mexico - Guanajuato - DL
- Mexico - San Luis Potosi - DL
- New Zealand - Polycarbonate Passport
- Paraguay - ID Card
- Slovenia - Residence Permit
- USA - Green Card
- USA - Work Permit
- USA - Arizona - ID Card
- USA - Colorado - DL
- USA - Colorado - ID Card
- USA - District of Columbia - DL
- USA - District of Columbia - ID Card
- USA - Idaho - DL
- USA - Idaho - ID Card
- USA - Missouri - ID Card
- USA - Nebraska - ID Card
- USA - Nevada - ID Card
- USA - New York - ID Card
- USA - North Dakota - DL
- USA - Oklahoma - ID Card
- USA - Pennsylvania - ID Card
- USA - Utah - ID Card
- USA - Virginia - DL
- USA - Virginia - ID Card
- USA - West Virginia - DL
- USA - Wisconsin - DL
- USA - Wisconsin - ID Card
- Australia - Queensland - Proof of Age Card
- Brazil - ID Card
- Ireland - Residence Permit
- Mexico - Consular ID
- Mexico - Residence Permit
- Mexico - Nayarit - DL
- USA - North Dakota - ID Card
- Croatia - Residence Permit
- Moldova - Paper Passport
-
Added
PrivacyInfo.xcprivacy
to the framework -
Expanded geographic support with new
Region
enum values:ANDHRA_PRADESH
CEARA
GOIAS
GUERRERO_ACAPULCO_DE_JUAREZ
HARYANA
SERGIPE
-
Document recognition enhanced with new
Type
enum values:EXIT_ENTRY_PERMIT
MAINLAND_TRAVEL_PERMIT_TAIWAN
NBI_CLEARANCE
PROOF_OF_REGISTRATION
TEMPORARY_PROTECTION_PERMIT
-
Data extraction improvements:
- Added
Sponsor
andBloodType
result fields toBlinkIdMultiSideRecognizerResult
,BlinkIdSingleSideRecognizerResult
andVizResult
- Added
-
Upgraded to
YUV
Color Format:- We’ve upgraded our imaging to support the
YUV
color format (kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
), making it the default encoding scheme.
- We’ve upgraded our imaging to support the
- Optimized Color Contrast by fine-tuning color contrasts across the app, enhancing readability for all users.
- Blurred content and translucent areas have been made mostly opaque, simplifying the UI and making it easier to navigate.
- A new icon for harsh light conditions has been added to the onboarding screen, aiding in better navigation and usability.
IdBarcodeRecognizer
is now marked as deprecated. We recommend transitioning toBlinkIdMultiSideRecognizer
, which not only covers the functionality ofIdBarcodeRecognizer
but also offers additional features.
- Improved scanning of Bolivia IDs by addressing cases where the expiration date is covered by a signature, allowing the completion of the scanning process.
- Improved the document side detection for US driver licenses which reduces the possibility of capturing the wrong side of the document. Barcode is now mandatory for the document back side of the US driving licenses
-
Added new result member
cardRotation
toImageAnalysisResult
-
New
CardOrientation
status -NotAvailable
-
New
Region
enum values:DISTRITO_FEDERAL
MARANHAO
MATO_GROSSO
MINAS_GERAIS
PARA
PARANA
PERNAMBUCO
SANTA_CATARINA
-
New
Type
enum values:CONSULAR_VOTER_ID
TWIC_CARD
- Fixed the issue where the wrong missing field message was shown when the mandatory field was missing
- Minor bugfixes and improvements
- Bolivia - Paper Passport
- Brazil - Alien ID
- Brazil - Distrito Federal - Identity Card
- Brazil - Minas Gerais - Identity Card
- Cameroon - Polycarbonate Passport
- Costa Rica - Paper Passport
- UK - Proof of Age Card
- USA - Twic Card
- Brazil - Driver’s License
- Luxembourg - Identity Card
- North Macedonia - Identity Card
- Portugal - Driver’s License
- Slovakia - Identity Card
- Switzerland - Identity Card
- Switzerland - Driver’s License
- Turkey - Polycarbonate Passport
- Ukraine - Driver’s License
- USA - Arizona - Driver’s License
- USA - Arizona - Identity Card
- USA - Nebraska - Driver’s License
- USA - Pennsylvania - Identity Card
- USA - Virginia - Driver’s License
- Australia - Australian Capital Territory - Identity Card
- Australia - Queensland - Proof of Age Card
- Australia - Tasmania - Identity Card
- Australia - Western Australia - Identity Card
- Bahrain - Driver’s License
- Bahrain - Paper Passport
- Brazil - Maranhao - Identity Card
- Brazil - Mato Grosso - Identity Card
- Brazil - Para - Identity Card
- Brazil - Parana - Identity Card
- Brazil - Pernambuco - Identity Card
- Brazil - Santa Catarina - Identity Card
- Cameroon - Paper Passport
- Mexico - Quintana Roo, Benito Juarez - Driver’s License
- Mexico - Quintana Roo -Driver’s License
- Switzerland - Polycarbonate Passport
- UAE - Polycarbonate Passport
- Iceland - Paper Passport
- Mexico - Consular ID
-
Changes to
StringResult
:- new properties:
location
- location coordinates of the first detected result, prioritylatin
,arabic
,cyrillic
side
- document side of the first detected result, prioritylatin
,arabic
,cyrillic
- new methods:
location(AlphabetType)
- location coordinates of every non-empty result are availableside (AlphabetType)
- document side of every non-empty result is available
- new properties:
-
Changes to
BlinkIdSingleSideRecognizerResult
andBlinkIdMultiSideRecognizerResult
:- new properties:
faceImageLocation
faceImageSide
- new properties:
-
added new items to enums:
- Country:
- SCHENGEN_AREA
- Type:
- IMMIGRANT_VISA
- Country:
- Remove autofill on
Russian
passportDateOfExpiry
when present on a document - Improved scanning success rate and stability when using
BlinkIdMultiSideRecognizer
- Fix crash with certain
RecognitionModeFilter
combinations - Improve scanning experience with the new iPhone 15 Pro and iPhone 15 Pro Max devices
- Fixed the issue with reading the back side of the USA/Washington and USA/Vermont driving license documents.
- new and improved machine learning models for data extraction
- expanded support for arabic documents
- added isFilledByDomainKnowledge flag to Date and DateResult
- indicates that date is not extracted from image but filled based on our internal document knowledge
- added new setting additionalAnonymization
- enables custom anonymization for any field per country, region and type of document
- added new items to enums:
- Region:
- NORTHWEST_TERRITORIES (added item to enum, no document support for NORTHWEST_TERRITORIES yet)
- NUNAVUT (added item to enum, no document support for NUNAVUT yet)
- PRINCE_EDWARD_ISLAND
- Type:
- ASYLUM_REQUEST
- DRIVER_QUALIFICATION_CARD
- PROVISIONAL_DL
- REFUGEE_PASSPORT
- SPECIAL_ID
- UNIFORMED_SERVICES_ID
- FieldType:
- BloodType
- Sponsor
- Region:
- Belarus - ID Card
- Guyana - ID Card
- Jamaica - Paper Passport
- Myanmar - Paper Passport
- Palestine - Paper Passport
- Saint Kitts and Nevis - Driving License
- Syria - ID Card
- Trinidad and Tobago - Paper Passport
- USA - Uniformed Services ID Card
- Barbados - Driving License
- Belarus - Polycarbonate Passport
- Belarus - Residence Permit
- Belgium - Provisional Driving License
- Belgium - Special ID Card
- Bulgaria - Alien ID Card
- Bulgaria - Residence Permit
- Canada - New Brunswick - ID Card
- Canada - Prince Edward Island - Driving License
- Estonia - Polycarbonate Passport
- Germany - Driver Qualification Card
- Guyana - Driving License
- Kuwait - Paper Passport
- Lebanon - Paper Passport
- Liechtenstein - Driving License
- Malta - Paper Passport
- Malta - Polycarbonate Passport
- Moldova - Driving License
- Netherlands - Alien ID Card
- Oman - Paper Passport
- Peru - Alien ID Card
- Romania - Residence Permit
- UK - Asylum Request
- Canada - British Columbia - Public Services Card
- Canada - British Columbia - Driving License
- Cyprus - Residence Permit
- Denmark - Polycarbonate Passport
- Germany - ID Card
- Italy - ID Card
- Ireland - Passport Card
- Malta - ID Card
- Montenegro - ID Card
- Montenegro - Polycarbonate Passport
- North Macedonia - ID Card
- North Macedonia - Polycarbonate Passport
- Norway - Driving License
- Norway - Residence Permit
- Norway - Polycarbonate Passport
- Philippines - Driving License
- Sweden - Polycarbonate Refugee Passport
- Sweden - Social Security Card
- UAE - Resident ID Card
- UK - Proof of Age Card
- USA - Arkansas - ID Card
- USA - Colorado - ID Card
- USA - Idaho - ID Card
- USA - Illinois - ID Card
- USA - New York - Driving License
- USA - New York - ID card
- USA - Pennsylvania - Driving License
- USA - Washington - Driving License
- Denmark - Residence Permit
- Estonia - Residence Permit
- Latvia - Residence Permit
- Internal improvements
- Fix isExpired value in recognizer result
- new and improved machine learning models for data extraction
- further improved barcode scanning (parsing for non-standard US DLs)
- added anonymization for QR code on Dutch ID card
- anonymization of religion field on Malaysian documents
- Australia - Victoria - Proof of Age Card
- Brazil - Rio de Janeiro - ID Card
- Liechtenstein - ID Card
- Luxembourg - Passport
- Mozambique - ID Card
- Norway - ID Card
- Togo - ID Card
- USA - Wyoming - ID Card
- Zimbabwe - ID Card
- Barbados - ID Card
- Belgium - Passport
- Brazil - Rio Grande do Sul - ID Card
- Ireland - Residence Permit
- Japan - Residence Permit
- Lithuania - Residence Permit
- Saint Lucia - ID Card
- USA - New Hampshire - ID Card
- USA - South Dakota - ID Card
- Belgium - Resident ID Card
- Canada - Residence Permit
- Estonia - ID Card
- Finland - Alien ID Card
- Finland - ID Card
- Latvia - Alien ID Card
- Lithuania - ID Card
- Luxembourg - ID Card
- Malta - Residence Permit
- Netherlands - ID Card
- Netherlands - Residence Permit
- Poland - ID Card
- Sweden Residence Permit
- USA - Alabama - ID Card
- USA - Alaska - ID Card
- USA - Colorado - Driving License
- USA - Connecticut - ID Card
- USA - District of Colombia - Driving License
- USA - District of Colombia - ID Card
- USA - Iowa - ID Card
- USA - Kansas - ID Card
- USA - Louisiana - Driving License
- USA - Maine - Driving License
- USA - Maine - ID Card
- USA - Minnesota - ID Card
- USA - Mississippi - ID Card
- USA - Nevada - Driving License
- USA - New York - Driving License
- USA - South Carolina - ID Card
- USA - South Dakota - Driving License
- USA - Texas - ID Card
- USA - Vermont - Driving License
- USA - Washington - ID Card
- USA - Wisconsin - Driving License
- Poland - Residence Permit
- Portugal - Residence Permit
- When we say you can scan IDs across the globe, we really mean it. Our list of supported documents got richer now that we can scan IDs including Arabic and Cyrillic scripts. This fantastic new feature also covers multiscript IDs meaning that we extract data written in both Latin and Arabic data fields.
- We’ve improved scanning accuracy for all IDs that hold a PDF417 or other barcode types. This means that the error rate is now 20% lower, which brings even cleaner and more reliable data with every scan of an identity document.
- More detailed instructions on how to scan identity documents, via an intro tutorial or tooltip during scanning, leading to improved success rates in ID scanning and data extraction.
- You asked, we listened! With v6, you’ll get more detailed error messages regarding end-user activity, to better understand if scans should be repeated or accepted.
- Less code, less headaches! You can now implement basic Identity Document Scanning in a single line of code.
- Renamed
BlinkIdRecognier
to BlinkIdSingleSideRecognizer - Renamed
BlinkIdCombinedRecognizer
to BlinkIdMultiSideRecognizer - We introduced new classes:
StringResult
,DateResult
, andDate
in order to support multiple alphabets. If a recognizer supports multiple alphabets, its result class (e.g.,BlinkIdMultiSideRecognizer.Result
) will returnStringResult
for results that previously returnedString
. - Added new result properties of an
AdditionalProcessingInfo
type that provides information aboutmissingMandatoryFields
,invalidCharacterFields
, andextraPresentFields
- Unified
DataMatchResult
andDataMatchDetailedInfo
into a single structureDataMatchResult
(removeddataMatchDetailedInfo
result member) - Added new result member
cardOrientation
toImageAnalysisResult
structure - More info about transitioning to BlinkID v6.0.0 can be found in [
Transition guide.md
](Transition guide.md)
- Mexico - Aguascalientes - Driving license
- Mexico - Baja California - Driving license
- Mexico - Hidalgo - Driving license
- USA - Delaware - Driving license
- USA - Florida - ID card
- USA - Hawaii - Driving license
- USA - Kentucky - ID card
- USA - Maryland - ID card
- USA - Michigan - ID card
- USA - Mississippi - Driving license
- USA - Mississippi - ID card
- USA - Missouri - ID card
- USA - Ohio - ID card
- USA - Oklahoma - ID card
- USA - Rhode Island - Driving license
- Australia - New South Wales - ID card
- Australia - South Australia - Proof of Age Card
- Belgium - Minors ID card
- Belgium - Passport
- Canada - Tribal ID card
- Canada - Weapon Permit
- Canada - British Columbia - Minors Public Services Card
- Ireland - Public Services Card
- Israel - ID card
- Ivory Coast - Driving License
- Lebanon - ID card
- Libya - Polycarbonate Passport
- Mexico - Colima - Driving license
- Mexico - Michoacan - Driving license
- Mexico - Tamaulipas - Driving license
- Mexico - Zacatecas - Driving license
- Myanmar - Driving license
- Panama - Temporary Residence Permit
- Slovenia - Residence Permit
- Trinidad and Tobago - Driving license
- USA - Passport
- USA - Maine - ID card
- Cuba - ID card
- Cayman Islands - Drivers License
- Egypt - ID card
- Jordan - ID card
- UAE - ID card
- UAE - Passport
- UAE - Resident ID
- Bosnia and Herzegovina - ID card
- Bulgaria - Drivers License
- Bulgaria - ID card
- North Macedonia - Drivers License
- North Macedonia - ID card
- Serbia - ID card
- Ukraine - Drivers License
- Ukraine - ID card
- Ukraine - Residence Permit
- Ukraine - Temporary Residence Permit
- Fixed autofocus issues on iPhone 14 Pro and iPhone 14 Pro Max
- ML models with new architecture that result in further 8% decrease in error rate
- USA - Polycarbonate Passport
- USA - Nebraska - ID Card
- USA - New York - ID Card
- USA - Utah - ID Card
- Mexico - Polycarbonate Passport
- Brazil - Sao Paolo - ID Card
- Austria - Residence Permit
- Philippines - ID Card
- Australia - South Australia - Driving license
- Australia - Northern Territory - Proof of Age Card
- Belgium - Minors ID Card
- Belgium - Residence Permit
- Bolivia - ID Card
- Croatia - Residence Permit
- Cyprus - ID Card
- Czechia - ID card
- Czechia - Residence Permit
- Dominican Republic - Paper Passport
- Greece - Residence Permit
- Italy - Residence Permit
- Ivory Coast - Driving license
- Kuwait - Driving license
- Mexico - Jalisco - Driving license
- Mexico - Nuevo Leon - Driving license
- Peru - ID Card
- Poland - Driving license
- Slovenia - ID Card
- Sweden - ID Card
- Sweden - Polycarbonate Passport
- USA - Georgia - ID Card
- USA - Iowa - ID Card
- USA - Kansas - Driving license
- USA - Maryland - ID Card
- USA - Nebraska - ID Card
- USA - New York - Driving license
- USA - New York - ID Card
- USA - Oklahoma - Driving license
- Vietnam - ID Card
- Finland - Residence Permit
- Guatemala - Driving license
- Antigua and Barbuda - Driving license
- Mexico - Professional ID Card
- ClassInfo:
- Added to JSON serialization:
- isoNumericCountryCode
- isoAlpha2CountryCode
- isoAlpha3CountryCode
- Added to JSON serialization:
- BarcodeData:
- JSON serialization update: stringData member is now in base64 format
- Added new item to enums:
- Region:
- Sao Paulo, when scanning Brazilian Driving licenses
- Region:
- Fixed scanning for Argentina ID - there were confusions for Veteran ID, now we enabled successful extraction on Veteran ID as well
- Extract data from Vietnam Passports that have non-ICAO compliant MRZ fields. For example, when the filler arrow is facing the other way (>) instead of the standard way (<)
- We've added the option to not extract the religion field on all supported Malaysian documents (MyKad, MyKas, MyKid, MyPR, MyTentera)
- You will need to set the cameraFrame property of MBImage to
NO
when using still images (photos) for processing, or set cameraFrame toYES
when using a video capture output. - cameraFrame is set to 'YES' by default except when creating MBImage from UIImage when it is set to
NO
- Resolved issues with RGB color overlay when extracting document image, which was present on some devices
- Updated machine learning models resulting in a 41% reduced error rate.
- USA - Passport Card
- USA - District of Columbia - ID Card
- USA - Iowa - ID Card
- USA - Tennessee - ID Card
- Cuba - Paper Passport
- Dominican Republic - Paper Passport
- Panama - Residence Permit (front only)
- Peru - Paper Passport
- Cyprus - Paper Passport
- Germany - Minors Passport
- UK - Proof of Age Card (front only)
- Ukraine - Residence Permit
- Ukraine - Temporary Residence Permit
- Qatar - Paper Passport
- UAE - Paper Passport
- Australia - Northern Territory - Proof of Age Card
- Austria - ID Card
- Australia - South Australia - Driving license
- Australia - Tasmania - Driving license
- Canada - Quebec - Driving license
- Mexico - Quintana Roo Solidaridad - Driving license
- USA - Washington - Driving license
- Afghanistan - ID Card
- Bahrain - ID Card
- Hungary - Residence Permit
- India - ID Card
- Mexico - Tabasco - Driving license
- New Zealand - Driving license (front only)
- The Philippines - Professional ID (front only)
- Slovakia - Residence Permit
- South Africa - ID Card
- Switzerland - Residence Permit
- UK - Driving license
- USA - Colorado - Driving license
- USA - Idaho - Driving license
- USA - Kansas - ID Card
- USA - Kentucky - Driving license
- USA - Maine - Driving license
- USA - Massachusetts - ID Card
- USA - Nebraska - Driving license
- USA - New Hampshire - Driving license
- USA - New Jersey - ID Card
- USA - New Mexico - ID Card
- USA - North Carolina - ID Card
- USA - Utah - Driving license
- USA - Vermont Driving license
- USA - West Virginia - Driving license
- Algeria - Paper Passport
- Slovakia - Residence Permit
- USA - Mississippi - ID Card
- Iceland - Paper Passport
- South Africa - ID Card (front only)
- Brazil - Consular Passport (beta)
- Quintana Roo Cozumel - Driving license
- Canada - Social Security Card (front only)
- Canada - British Columbia - Minor Public Services Card
- USA - Maine - ID Card
- USA - North Dakota - ID Card
- Added new enums:
- Region:
QUINTANA_ROO_COZUMEL
- Type:
CONSULAR_PASSPORT
,MINORS_PASSPORT
, andMINORS_PUBLIC_SERVICES_CARD
- Region:
- Introduced the expanded DataMatch functionality for the BlinkID with the new result member called
dataMatchDetailedInfo
- This result member will enable you to see for which field has been performed, or it did not, the DataMatch functionality. This is enabled for
dateOfBirth
,documentNumber
anddateOfExpiry
. - For example, if the date of expiry is scanned from the front and back side of the document and values do not match, this method will return DataMatchResult: Failed. Result will be DataMatchResult: Success only if scanned values for all fields that are compared are the same. If data matching has not been performed, the result will be DataMatchResult: NotPerformed. This information is available for every of the three mentioned field values above.
- This result member will enable you to see for which field has been performed, or it did not, the DataMatch functionality. This is enabled for
- Fixed issues with scanning Argentina AlienID, where there were confusions with the regular ID.
ClassInfo
now correctly returns which ID type is present based on the barcode data.
- Bugfix for extracting data from the USA Minnesota DL barcode
- Austria - ID Card (front only)
- Germany - ID Card
- Brazil - ID Card (beta)
- Colombia - ID Card (front only)
- Ecuador - ID Card
- Baja California Sur - Driving Licence (beta)
- Ciudad De Mexico - Driving Licence (front only)
- Colima - Driving Licence (front only, beta)
- Michoacan - Driving Licence (beta)
- Nayarit - Driving Licence (beta)
- Quintana Roo Solidaridad - Driving Licence (front only)
- Tlaxcala - Driving Licence
- Veracruz - Driving Licence (beta)
- Australia - Northern Territory (beta)
- Japan - My Number Card (front only)
- Singapore - Resident ID
- USA - Missouri - ID Card
- USA - Nevada - Driving Licence
- USA - New York City - ID Card
- USA - Oklahoma - ID Card
- Mexico - Chiapas - Driving License
- Mexico - Baja California - Driving Licence
- Mexico - Chihuahua - Driving Licence
- Mexico - Coahuila - Driving Licence
- Mexico - Guanajuato - Driving Licence
- Mexico - Mexico - Driving Licence
- Added the setting
saveCameraFrames
for saving camera frames with the default value beingfalse
.- New result members are also available here:
frontCameraFrame
,backCameraFrame
,barcodeCameraFrame
. - Memory consumption significantly increases if set to
true
.
- New result members are also available here:
- We've added new result members when scanning Australian Driving Licences:
vehicleClass
,licenceType
,effectiveDate
andexpiryDate
.- Result member are displayed under the
VehicleClassInfo
field; we can also extract data from multiple rows when this vehicle class info data is present on the document (e.g. multiple expiry dates for different vehicle classes).
- Result member are displayed under the
- We've added new enum values:
- Region:
QUINTANA_ROO
,QUINTANA_ROO_SOLIDARIDAD
,TLAXCALA
which are available when scanning Mexican Driving Licences. - Type:
MY_NUMBER_CARD
which is available when scanning Japanese My Number Card documents.
- Region:
- We've added new result member
additionalOptionalAddressInformation
which gives additional address information about the document owner.- This result member can be present when scanning the Pakistani ID Card for the field
Country of Stay
.
- This result member can be present when scanning the Pakistani ID Card for the field
- We've removed recognizers:
GermanyDLBack Recognizer
andSingaporeChangiEmployeeId Recognizer
.
- For barcodes in countries: Argentina, Colombia, Nigeria, Panama, and South Africa, we now also extract data from the field
Sex
when it's populated with the characterX
.
- We've added support for Brazil ID Card when the cardholder's face image is rotated for 90 degrees on the document.
- We will return face image and document image + data from VIZ part present on the back side.
- BlinkIdCombinedRecognizer can return the full frame from the front side if
saveCameraFrames
is set totrue
, whereas before it returned the full frame only for the back side.
- Fixed exposure of
toSignedJson
method
- We’ve updated Microblink logo and colors
We’ve added 24 new documents to our list:
- Belgium - Driving License (front only)
- Croatia - ID Card
- France - ID Card
- France - Residence Permit (beta)
- Spain - ID Card
- Switzerland - Residence Permit
- UK - Residence Permit
- Australia - Northern Territory - Driving License (front only, beta)
- UAE - ID Card
- UAE - Resident ID
- Honduras - ID Card (beta)
- USA - Colorado - ID Card
- USA - Minnesota - Driving License
- USA - Nevada - Driving License
- USA - Oklahoma - Driving License
- USA - Wyoming - Driving License
- No API changes
DataMatch
functionality is now enabled for single side documents (Passports)- Added a special case to support
DataMatch
for UAE ID Card and Resident ID Card documents for the fieldpersonal_id_number
- Added a special case to support
- We can now extract
additional_personal_id_number
on Ecuador ID Card - Improvements for reading NRIC number on Malaysian documents that have an asterisk (*) character present
- Improved document detection and cropping of the document image
- No API Changes
- Fixed magneticStripeParser crashing
- Calling originalString on dates coming from USDLRecognizer will now return exact actual strings dates were parsed from instead of custom reformatted strings
- Added document type ArgentinaAlienID and parser for ArgentinaAlienID2012BarcodeParser
- Added support for parsing Dominican Republic ID Card, Senegal ID Card and Ecuador ID Card
- Renamed MRTDDocTypeSmallIDPakistan to MRTDDocTypeSmallIDPakistanConsular
- Bugfixes for parsing:
- Mexico Professional ID
- Croatia Driving License
- Thailand - ID Card
- Added new result members -
fathersName
andmothersName
both in BlinkID and BlinkIDCombined Recognizers, as well as in VIZ result
- We can now extract
fathers_name
andmothers_name
from Mexico Voter ID Card - Australian Driving Licenses for New South Wales, Northern Territory, Queensland, Victoria and Western Australia now have the driver license unique card number field extracted as
document_additional_number
- We’ve removed support for
aztec
anddataMatrix
barcode formats from BarcodeRecognizer
- Added
MRTD_TYPE_BORDER_CROSSING_CARD
to MRTD enum
We’ve added 61 new documents:
- Austria - Paper Passport
- Belarus - Paper Passport
- Belgium - Paper Passport (beta)
- Bulgaria - Paper Passport
- Estonia - Paper Passport
- France - Paper Passport (beta)
- Georgia - Paper Passport (beta)
- Germany - Paper Passport
- Greece - Paper Passport
- Hungary- Paper Passport
- Italy - Paper Passport (beta)
- Kosovo - Paper Passport
- Moldova - Paper Passport (beta)
- Poland - Paper Passport
- Portugal - Paper Passport
- Spain - Paper Passport
- Switzerland - Paper Passport
- UK - Paper Passport
- Algeria - Paper Passport (beta)
- Egypt - Paper Passport (beta)
- Eswatini - Paper Passport
- Ghana - Paper Passport
- Iran - Paper Passport (beta)
- Iraq - Paper Passport (beta)
- Israel - Paper Passport (beta)
- Jordan - Paper Passport (beta)
- Kenya - Polycarbonate Passport
- Libya - Polycarbonate Passport (beta)
- Morocco - Paper Passport (beta)
- Nigeria - Paper Passport
- Nigeria - Polycarbonate Passport (beta)
- Qatar - ID Card (front only, beta)
- Saudi Arabia - Paper Passport
- Syria - Paper Passport
- Tanzania - ID Card (beta)
- Tanzania - Voter ID (front only, beta)
- Tunisia - Paper Passport
- Turkey - Paper Passport
- Zimbabwe - Paper Passport
- Argentina - Paper Passport
- Brazil - Paper Passport (beta)
- Guatemala - Paper Passport
- Haiti - Paper Passport
- Honduras - Paper Passport (beta)
- Mexico - Paper Passport (beta)
- Mexico - Nayarit - Driving Licence (beta)
- Bangladesh - Paper Passport
- China - Paper Passport (beta)
- India - Paper Passport
- Indonesia - Paper Passport
- Japan - Paper Passport
- Nepal - Paper Passport
- Pakistan - Paper Passport
- Philippines - Paper Passport
- South Korea - Paper Passport (beta)
- Sri Lanka - Paper Passport
- Uzbekistan - Paper Passport
- Australia - Paper Passport
- Canada - Paper Passport
- Canada - Weapon Permit (front only, beta)
- USA - Paper Passport (beta)
- Greece - ID Card
- Burkina Faso - ID Card
- Democratic Republic of the Congo - Driving Licence
- Mexico - Veracruz - Driving Licence
- Canada - Citizenship Certificate
- Belarus - Driving Licence
- UK - Polycarbonate Passport
- Argentina - Alien ID
- Bahamas - Driving Licence
- Mexico - Durango - Driving Licence
- Venezuela - ID Card
- USA - Kansas - ID Card
- We’ve renamed the Swaziland country to Eswatini in results and ClassInfo
- Improved result validation
FieldIdentificationFailed
processing status is used to indicate if unexpected fields are present on the document. Those fields are then deleted from the result
- We are filling out COUNTRY and REGION fields in ClassInfo, without the field TYPE of document, when using BarcodeID mode for scanning documents where the Front side is not supported, and back side results are extracted from AAMVA compliant barcodes
- This applies only if
ClassInfo
isn’t already prepopulated in some other way and when you’re not inFullRecognition
mode
- This applies only if
- Added support for including or excluding groups of documents supported by the current license with the
captureModeFilter
setting- Scanning of documents with AAMVA compliant barcodes with BarcodeID mode
- Scanning of all licensed documents in BlinkID FullRecognition mode
- We can now extract the date of birth from the document number on the South Korean identity card and from the personal identification number on the driving licence
- We’ve added anonymization support for new documents:
- Document number on Germany paper bio-data page Passport
- Document number on South Korea Identity Card
- Personal identification number on South Korea driving licence
- Personal identification number on South Korea paper bio-data page Passport
- We've fixed the orientation of an image obtained via captureHighResImage
- We've fixed minor UI/layout issues on phones with the notch
- North Macedonia - Polycarbonate Passport
- Botswana - ID Card
- Sudan - Polycarbonate Passport
- Baja California Sur - Driving License (beta)
- Campeche - Driving License (beta)
- Colima - Driving License (beta)
- Australia - Health Insurance Card (front only, beta)
- Azerbaijan - Polycarbonate Passport (beta)
- Tajikistan - Polycarbonate Passport (beta)
- Canada - Citizenship Certificate (front only, beta)
- Canada - Ontario - Health Insurance Card (front only)
- Canada - Quebec - Health Insurance Card (front only, beta)
- USA - Military ID Card
- USA - Rhode Island - ID Card
- USA - South Carolina - ID Card
- Ireland - Passport Card
- Mexico - Puebla - Driving License
- Singapore - S PASS
- Finland - Polycarbonate Passport
- Ireland - Passport Card
- Ireland - Polycarbonate Passport
- Kosovo - Driving License
- Latvia - Polycarbonate Alien Passport
- Latvia - Polycarbonate Passport
- Poland - Polycarbonate Passport
- Cameroon - ID Card
- Ghana - ID Card
- Iraq - ID Card
- Tanzania - Driving License
- Turkey - Polycarbonate Passport
- Uganda - Driving License
- Bolivia - Minors ID
- Chile - Driving License
- Ecuador - Driving License
- Haiti - Driving License
- India - Karnataka - Driving License
- India - Maharashtra - Driving License
- Pakistan - Punjab - Driving License
- USA - Global Entry Card
- USA - New Mexico - ID Card
- USA - Wisconsin - ID Card
- We've added the parameter
maxAllowedMismatchesPerField
to settings. When this is set to a non-zero value, DataMatch will be successful as long as the number of mismatched characters doesn't exceed the specified value. - We've added the parameter
allowUncertainFrontSideScan
to settings. When this parameter is set to true, the Recognizer will proceed scanning the back side of the document even if the front side scanning resultState
isUncertain
. - We've enabled the return of image and back side data results, even when the
State
isUncertain
. Keep in mind that returned images, in this case, might be blurry or low quality.- This applies to all image types: full document image, face and signature image.
- We've added two separate fields for the processing status in the Recognizer Result:
frontProcessingStatus
andbackProcessingStatus
. They indicate the status of the last recognition process for each side.
-
We added support for the Malaysian NRIC numbers that hold an asterisk (*) character.
-
While using
FullRecognitionMode
for scanning unsupported Passports, we are now extractingClassInfo
from MRZ -
Improved quality of fully cropped vertical images
-
Better parsing of Bermuda Driving License AAMVA-compliant barcode dates
-
Fix for correct calculation of check digit for Saudi Arabia ID Card MRZ
-
We are splitting first and last name from the additional name information (e.g., Nom d’ usage, Epouse, Geb. etc.) into two different results. The additional name info will be a part of the
name_additional_info
field. This applies to the following documents:- France
- ID Card
- Residence Permit
- Germany
- ID Card
- Luxembourg
- ID Card
- Netherlands
- Driving License
- Polycarbonate Passport
- France
-
We are removing title prefixes (e.g., Mrs., Mr., Ing., etc.) from
full_name
,first_name
andlast_name
for these documents:- Austria
- Driving License
- ID Card
- Czechia
- Driving License
- Germany
- ID Card
- Thailand
- ID Card
- UK
- Driving License
- Austria
- We've added anonymization for new documents:
- Document number on Germany Polycarbonate Passport
- Document number on Hong Kong Polycarbonate Passport
- Document number and personal ID number on Singapore Polycarbonate Passport
We’ve added 98 new documents:
- Albania - Driver Card (front only)
- Albania - Professional Driver License (front only)
- Belarus - Driver License (front only, beta)
- Belgium - Minors ID (beta)
- Czechia - Residence Permit
- Finland - Alien ID
- Finland - Residence Permit (beta)
- Georgia - Driver License (front only)
- Greece - Residence Permit
- Ireland - Passport Card (beta)
- Ireland - Public Services Card (beta)
- Kosovo - Driver License (front only, beta)
- Latvia - Alien ID
- Luxembourg - ID Card
- Moldova - ID Card (beta)
- North Macedonia - Driver License (front only)
- North Macedonia - ID Card
- Poland - Passport (beta)
- Slovenia - Residence Permit (beta)
- Spain - Alien ID
- UK - Passport (beta)
- Algeria - Driver License
- Burkina Faso - ID Card (front only)
- Cameroon - ID Card (beta)
- Democratic Republic Of The Congo - Driver License (front only, beta)
- Egypt - Driver License (beta)
- Ghana - ID Card (beta)
- Iraq - ID Card (beta)
- Ivory Coast - Driver License (front only, beta)
- Ivory Coast - ID Card
- Lebanon - ID Card (beta)
- Morocco - Driver License
- Mozambique - Driver License (front only, beta)
- Oman - Driver License (beta)
- Rwanda - ID Card (front only)
- Senegal - ID Card
- Tanzania - Driver License (front only, beta)
- Tunisia - Driver License (front only)
- Uganda - Driver License (front only, beta)
- Argentina - Alien ID (beta)
- Bahamas - ID Card (front only, beta)
- Bolivia - Minors ID (beta)
- Jamaica - Driver License
- Mexico - Residence Permit (beta)
- Mexico - Chiapas - Driver License (front only)
- Mexico - Coahuila - Driver License (beta)
- Mexico - Durango - Driver License(front only, beta)
- Mexico - Guerrero-cocula - Driver License (beta)
- Mexico - Guerrero-juchitan - Driver License (beta)
- Mexico - Guerrero-tepecoacuilco - Driver License (front only, beta)
- Mexico - Guerrero-tlacoapa - Driver License (front only, beta)
- Mexico - Hidalgo - Driver License
- Mexico - Mexico - Driver License (beta)
- Mexico - Morelos - Driver License (front only)
- Mexico - Oaxaca - Driver License
- Mexico - Puebla - Driver License (front only, beta)
- Mexico - San Luis Potosi - Driver License (front only)
- Mexico - Sinaloa - Driver License (front only, beta)
- Mexico - Sonora - Driver License (beta)
- Mexico - Tabasco - Driver License (beta)
- Mexico - Yucatan - Driver License (beta)
- Mexico - Zacatecas - Driver License (beta)
- Panama - Temporary Residence Permit (beta)
- Peru - Minors ID (beta)
- Trinidad And Tobago - Driver License (front only, beta)
- Trinidad And Tobago - ID Card
- Australia - South Australia - Proof Of Age Card (front only, beta)
- Armenia - ID Card
- Bangladesh - Driver License (beta)
- Cambodia - Driver License (front only, beta)
- India - Gujarat - Driving Licence (front only, beta)
- India - Karnataka - Driving Licence (front only, beta)
- India - Kerala - Driving Licence (beta)
- India - Madhya Pradesh - Driving Licence (front only, beta)
- India - Maharashtra - Driving Licence (front only, beta)
- India - Punjab - Driving Licence (front only, beta)
- India - Tamil Nadu - Driving Licence (beta)
- Kyrgyzstan - ID Card
- Malaysia - Mypolis (beta)
- Malaysia - Refugee ID (front only)
- Myanmar - Driver License (beta)
- Pakistan - Punjab - Driving Licence (front only, beta)
- Sri Lanka - Driving Licence (front only)
- Thailand - Alien ID (front only)
- Thailand - Driver License (beta)
- Uzbekistan - Driver License (front only, beta)
- Canada - Tribal ID (beta)
- Canada - Nova Scotia - ID Card (beta)
- Canada - Saskatchewan - ID Card (beta)
- USA - Border Crossing Card (front only)
- USA - Global Entry Card (beta)
- USA - Nexus Card (beta)
- USA - Veteran ID (front only)
- USA - Work Permit
- USA - Mississippi - ID Card (beta)
- USA - Montana - ID Card
- USA - New Mexico - ID Card (beta)
- USA - Wisconsin - ID Card (beta)
- Hungary - Residence Permit
- Luxembourg - Residence Permit (no longer beta)
- Mauritius - ID Card
- Colombia - Alien ID (no longer beta)
- Mexico - Baja California - Driver License
- Mexico - Chihuahua - Driver License
- Mexico - Guanajuato - Driver License
- Mexico - Michoacan - Driver License
- Malaysia - MyKid
- Malaysia - MyPR
- Albania - Passport
- Malta - Residence Permit
- Switzerland - Residence Permit
- Bolivia - Driver License
- Chile - Passport
- El Salvador - ID Card
- Peru - ID Card
- Singapore - S Pass (front only)
-
You can now retrieve an image of the document owner along with cropped images of the document itself whenever you’re scanning an AAMVA-compliant ID:
- Using
BarcodeId
as aRecognitionMode
lets you scan US driver licenses and IDs that BlinkID can’t read from the Visual Inspection Zone (VIZ) alone. Use it to extract:- A face image from the front side
- Barcode data from the back side
- Cropped document images of both sides
- You can disable this
RecognitionMode
by settingenableBarcodeId
tofalse
in theRecognitionModeFilter
.
- Using
-
We've improved data extraction through the MRZ:
- We now allow standard M/F values for gender on Mexican documents (along with localized H/M values)
-
We're now converting dates to the Gregorian calendar for:
- Taiwan documents with Republic of China (ROC) calendar dates
- Saudi documents with Islamic calendar dates
-
We're now auto-filling all ‘partial’ dates found on identity documents (showing year or month-year only):
- Date of issue will be converted to the first day of the (first) month
- E.g. '1999' will be converted to '01.01.1999.'
- E.g. '03.1999.' will be converted to '01.03.1999.'
- Date of expiry will be converted to the last day of the (last) month
- E.g. '1999' will be converted to '31.12.1999.'
- E.g. '03.1999.' will be converted to '31.03.1999.'
- Date of issue will be converted to the first day of the (first) month
- Renamed MicroblinkApp
instance
tosharedInstance
(Objective C) /shared
(Swift)
- We've fixed missing CFBundleVersion and CFBundleVersionShort from frameworks Info.plist
- We've fixed a crash when switching to the front camera
- We have full support for Apple Silicon!
- Use
.xcframework
as we now have full Apple Silicon and Intel support. - We are still supporting
fat binary .framework
format, but we’ve removed simulator slices from it.
- Carthage still doesn't support
binary .xcframework
, so there is no support for simulator slices anymore.
-
Newly supported identity documents
- Saudi Arabia - DL (front)
- Saudi Arabia - Resident ID (front)
- We're now able to extract the additional address on Hungary Address Cards
- We've improved data extraction through the MRZ:
- We now return the document type through
MBClassInfo
, regardless of theMBRecognitionMode
you're using (MrzId
,MrzPassport
orMrzVisa
). - This means you can now use
MBClassFilter
to filter these documents by their type. - We now return the document number on Nigeria IDs complete with its check digit.
- We now support Italy Residence Permits with a CR document code.
- We now return the document type through
- We've extended the
ClassInfo
structure with new properties so you can filter documents by country more easily:- Use
countryName
,isoNumericCountryCode
,isoAlpha2CountryCode
andisoAlpha3CountryCode
to get the full country names or their representative codes defined by ISO.
- Use
- We've extended the
MBBarcodeResult
structure withextendedElements
- You can find all data from AAMVA-compliant barcodes under their respective
MBBarcodeElementKey
in theMBBarcodeElements
structure - For a full list of keys please see
MBBarcodeElementKey
enum
- You can find all data from AAMVA-compliant barcodes under their respective
- We've added another
ProcessingStatus
calledAwaitingOtherSide
- This status is triggered once BlinkID has finished with the first side of a document and expects the other side, too.
- We're now able to extract the date of birth from the CURP field on Mexico Voter IDs
- Direct API:
- We've added a new recognition mode for recognizing still images of documents that have already been cropped:
- Set the
scanCroppedDocumentImage
to true when you're feeding BlinkID images of documents that have already been cropped and don't require detection. - Keep in mind that this setting won't work on document images that haven't been properly cropped.
- Set the
- We've added a new recognition mode for recognizing still images of documents that have already been cropped:
- We've extended the results with
extendedElements
- You can find all data from AAMVA-compliant barcodes under their respective
MBBarcodeElementKey
in theMBBarcodeElements
structure - For a full list of keys please see
MBBarcodeElementKey
enum
- You can find all data from AAMVA-compliant barcodes under their respective
- We’ve added a new feedback message to users, prompting them to keep a document fully visible in cases when they accidentally cover a part of it with their finger or an object:
- It appears while scanning the document using
MBBlinkIdOverlayViewController
- It will display an error message "Keep the document fully visible".
- It is displayed only if you’re using
MBBlinkIdRecognizer
orMBBlinkIdCombinedRecognizer
for scanning.
- It appears while scanning the document using
- We added
Carthage
support- For now,
Carthage
is supported for fat binaries,.framework
. We will support.xcframework
as soonCarthage
is updated. - Please check out our guide for implementation
- For now,
- We added
Swift Package Manager
support- Please check out our guide for implementation.
- We are supporting
ARM64 Device
slice through our.xcframework
format. - We are still working on supporting the
ARM64 Simulator
slice for newly released ARM Macs. We will update our SDK withARM64 Simulator
support as soon as it’s out.
- We are no longer supporting iOS 8.
- We are updating our Cocoapods with
.xcframework
format from now on. Please download Cocoapods 1.10.0 or newer to use our SDK.
-
53 documents added:
- ALBANIA - DL (front)
- BELGIUM - RESIDENCE PERMIT (front, back)
- BOLIVIA - ID (front, back)
- BOSNIA AND HERZEGOVINA - PASSPORT
- CAMBODIA - PASSPORT
- CANADA - RESIDENCE PERMIT (front, back)
- CANADA - MANITOBA - ID (front)
- CANADA - ONTARIO - HEALTH INSURANCE CARD (front)
- CHILE - ALIEN ID (front, back)
- CHINA - ID (front, back)
- COLOMBIA - MINORS ID (front, back)
- CYPRUS - RESIDENCE PERMIT (front, back)
- CZECHIA - PASSPORT
- GREECE - ID (front)
- HAITI - ID (front, back)
- ITALY - RESIDENCE PERMIT (front, back)
- LATVIA - DL (front)
- LATVIA - PASSPORT
- LITHUANIA - PASSPORT
- LUXEMBOURG - DL (front)
- MONTENEGRO - DL (front)
- MONTENEGRO - ID (front, back)
- MONTENEGRO - PASSPORT
- NETHERLANDS - RESIDENCE PERMIT (front, back)
- NICARAGUA - ID (front, back)
- NIGERIA - ID (front, back)
- NORWAY - RESIDENCE PERMIT (front, back)
- OMAN - RESIDENT ID (front, back)
- PARAGUAY - DL (front, back)
- PERU - DL (front, back)
- PHILIPPINES - SOCIAL SECURITY CARD (front)
- ROMANIA - PASSPORT
- RUSSIA - PASSPORT
- SERBIA - PASSPORT
- SLOVAKIA - PASSPORT
- SLOVENIA - PASSPORT
- SOUTH KOREA - DL (front)
- SPAIN - RESIDENCE PERMIT (front, back)
- SWEDEN - RESIDENCE PERMIT (front, back)
- THAILAND - PASSPORT
- UKRAINE - DL (front)
- UKRAINE - PASSPORT
- USA - ARKANSAS - ID (front, back)
- USA - CONNECTICUT - ID (front, back)
- USA - GREEN CARD (front, back)
- USA - MARYLAND - ID (front, back)
- USA - MINNESOTA - ID (front, back)
- USA - NEVADA - ID (front, back)
- USA - NEW YORK CITY - ID (front, back)
- USA - TEXAS - WEAPON PERMIT (front)
- USA - VIRGINIA - ID (front, back)
- VENEZUELA - DL (front)
- VENEZUELA - PASSPORT
-
Beta support added for 46 documents:
- ALBANIA - PASSPORT
- BAHAMAS - DL (front)
- BERMUDA - DL (front)
- BOLIVIA - DL (front)
- CHILE - DL (front)
- COLOMBIA - ALIEN ID (front)
- DENMARK - RESIDENCE PERMIT (front, back)
- DOMINICAN REPUBLIC - DL (front, back)
- ECUADOR - DL (front)
- EL SALVADOR - DL (front, back)
- ESTONIA - RESIDENCE PERMIT (front, back)
- GUATEMALA - DL (front, back)
- HAITI - DL (front)
- HONDURAS - DL (front, back)
- HONDURAS - ID (front, back)
- HUNGARY - ADDRESS CARD (front, back)
- HUNGARY - RESIDENCE PERMIT (front)
- ICELAND - DL (front)
- ISRAEL - ID (front, back)
- JAPAN - DL (front)
- JORDAN - DL (front)
- LATVIA - ALIEN PASSPORT
- LATVIA - RESIDENCE PERMIT (front, back)
- LUXEMBOURG - RESIDENCE PERMIT (front)
- MALTA - RESIDENCE PERMIT (front, back)
- MEXICO - BAJA CALIFORNIA - DL (front)
- MEXICO - CHIHUAHUA - DL (front)
- MEXICO - CIUDAD DE MEXICO - DL (front)
- MEXICO - PROFESSIONAL DL (front)
- MEXICO - GUANAJUATO - DL (front)
- MEXICO - MICHOACAN - DL (front)
- MEXICO - TAMAULIPAS - DL (front, back)
- MEXICO - VERACRUZ - DL (front, back)
- PHILIPPINES - TAX ID (front)
- PHILIPPINES - VOTER ID (front)
- POLAND - RESIDENCE PERMIT (front, back)
- PORTUGAL - RESIDENCE PERMIT (front, back)
- PUERTO RICO - VOTER ID (front)
- SLOVAKIA - RESIDENCE PERMIT (front, back)
- SOUTH KOREA - ID (front)
- SWITZERLAND - RESIDENCE PERMIT (front, back)
- TAIWAN - TEMPORARY RESIDENCE PERMIT (front)
- TURKEY - RESIDENCE PERMIT (front)
- USA - KANSAS - ID (front, back)
- VENEZUELA - ID (front)
- VIETNAM - DL (front)
-
Added back side support for 7 documents:
- ARGENTINA - ID
- ECUADOR - ID
- FINLAND - ID
- NIGERIA - DL
- QATAR - RESIDENCE PERMIT
- URUGUAY - ID
- USA - NEW YORK - DL
-
9 documents are no longer beta:
- BRAZIL - DL
- CANADA - ALBERTA - ID
- MALAYSIA - MyKAS
- MEXICO - NUEVO LEON - DL
- PANAMA - DL
- PORTUGAL - DL
- SAUDI ARABIA - ID
- SRI LANKA - ID
- USA - IDAHO - ID
- We’re now able to read partial MRZ formats (2.5 lines), like the ones found on Switzerland and Liechtenstein DLs.
- We’ve added
**documentOptionalAdditionalNumber**
to the main part of the result, as well as front and back side VIZ results. - We’ve expanded the set of possible recognizer states with
**StageValid**
. This state fixesMBBlinkIdCombinedRecognizer
timeout issues, and enables better control of the Combined scanning pipeline. It activates when the first side of a document has been successfully scanned and scanning of the second side is required.
- We've added an error callback when setting license keys on
MBMicroblinkSDK
- You will be getting error callback containing the reason why you could not unlock the SDK - see
MBLicenseError
- You will be getting error callback containing the reason why you could not unlock the SDK - see
- Swift:
- All
unsigned integers
are nowInt
- All
- We’ve fixed an uncommon bug where you’d get incomplete results upon scanning of the MRZ with the
allowUnparsed
setting enabled. - We've fixed some camera session issues
- We are now handling camera session interruption
- We added user feedback when turning on the flashlight on
MBBlinkIdOverlayViewcontroller
:- It prompts user to watch out for flashlight glare
- It can be disabled by setting
showFlashlightWarning
property to NO/false onMBBlinkIdOverlaySettings
- We added
MBBlinkIdOverlayViewController
customization:- Set font, text color, corner radius and custom images
- Use
MBBlinkIdOverlayTheme
We added support for scanning the visual inspection zone - VIZ includes everything except MRZ or barcode. Keep in mind that BlinkID scans and extracts data only from the VIZ that is on the first plastic page found in the passport list below:
- Chile Passport (BETA)
- Colombia Passport
- Croatia Passport
- Denmark Passport
- Finland Passport (BETA)
- Germany Passport
- Hong Kong Passport (BETA)
- Ireland Passport (BETA)
- Malaysia Passport
- Netherlands Passport
- New Zealand Passport
- Norway Passport
- Singapore Passport
- South Africa Passport
- Sweden Passport
- Turkey Passport (BETA)
If you need to scan the MRZ only, you can always set the "MRZ Passport" recognition mode.
- California ID
- Illinois ID
- New York ID
- North Carolina ID
- Texas ID
- Canada Newfoundland and Labrador DL
- Croatia Residence Permit (BETA)
- Guatemala Consular ID
- Malaysia MyKAS (BETA)
- Mexico Jalisco DL / front side only
- Mexico Nuevo Leon DL (BETA)
- Peru ID (BETA)
- Singapore S Pass (BETA)
- Uruguay ID / front side only
- USA Missouri ID
- USA Texas ID
BlinkID extracts data from driver’s licenses that contain single line MRZ:
- Croatia DL
- Estonia DL
- France DL
- Ireland DL
- Netherlands DL
- Slovakia DL
- Azerbaijan ID
- Singapore DL
- Singapore Employment Pass
- Slovakia DL
-
We added
signatureImage
to the result. Extract signature image from the documents below:- Australia Victoria DL
- Austria ID
- Austria DL
- Brunei Military ID
- Colombia ID
- Croatia ID (on 2013 and 2015 versions)
- Cyrus ID
- Czechia ID (on the 2012 version)
- Germany ID (2010 version)
- Germany DL (2013 version)
- Indonesia ID
- Ireland DL
- Italy DL
- Mexico Voter ID
- New Zealand DL
- Slovenia ID
- Spain DL
- Sweden DL
- Switzerland ID
- UAE ID
- UAE Resident ID
-
We enabled extraction of the date of birth from the NRIC from Malaysian documents:
- MyKad
- MyKas
- MyKid
- MyPR
- MyTentera
-
We added anonymization support for:
- MRZ (OPT2 containing the ID number) on China Mainland Travel Permit Hong Kong
- MRZ (Document number) on Germany Alien Passport
- Document number, MRZ (Document number) on Germany ID
- MRZ (Document number) on Germany Minors Passport
- MRZ (Document number) on Germany Passport
- Document number on Hong Kong ID
- MRZ (Document number, OPT1 containing the passport or ID number) on Hong Kong Passport
- Personal ID number on Netherlands DL
- Personal ID number, MRZ (OPT1 containing the BSN) on Netherlands ID
- MRZ (OPT1 containing the BSN) on Netherlands Passport
- Document number on Singapore DL
- Personal ID number on Singapore Employment Pass
- Document number on Singapore FIN Card
- Document number on Singapore ID
- MRZ (Document number, OPT1 containing the NRIC) on Singapore Passport
- Document number on Singapore Resident ID
- Document number on Singapore S Pass
- Personal ID number on Singapore Work Permit
- MRZ (OPT1 containing the resident registration number) on South Korea Diplomatic Passport
- MRZ (OPT1 containing the resident registration number) on South Korea Passport
- MRZ (OPT1 containing the resident registration number) on South Korea Residence Passport
- MRZ (OPT1 containing the resident registration number) on South Korea Service Passport
- MRZ (OPT1 containing the resident registration number) on South Korea Temporary Passport
-
We improved MRZ data extraction on:
- Russia Passport
- We added the field
middleName
toMBBlinkID(Combined)Recognizer
,MBIdBarcodeRecognizer
andMBUsdl(Combined)Recognizer
results. This field is extracted from AAMVA standard compliant barcodes, whenever available.
- We have deprecated following recognizers:
MBDocumentFaceRecognizer
MBMrtdRecognizer
- Use
MBBlinkIdRecognizer
instead
- Use
MBMrtdCombinedRecognizer
MBPassportRecognizer
MBVisaRecognizer
- Use
MBBlinkIdRecognizer
orMBBlinkIdCombinedRecongizer
instead
- Use
MBUsdlRecognizer
- Use
MBIdBarcodeRecognizer
instead
- Use
- We added
errorCallback
onMBMicroblinkSDK
methods which needs to be implemented for properly setting up the license key.
- We improved the data match logic for Guatemala Consular ID in
MBBlinkID(Combined)Recognizer
. - We fixed race conditions and camera asserts that could sometimes cause crashes.
- We fixed camera reticle animation on
MBBlinkIdOverlayViewController
when user would go to the background. - We fixed SDK localization that was broken when device language is set to Chinese Simplified.
- This version fixes bug introduced in v5.7.0 which could cause SDK crash on
applicationDidBecomeActive
event.
- We translated complete SDK to the following additional languages:: Malay, Dutch, Hungarian, Indonesian, Arabic(UAE), Romanian, Chinese traditional, Chinese simplified, Thai, Hewbrew and Vietnamese.
- 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.
- 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
- 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.
- We translated complete SDK to the following additional languages:: Malay, Dutch, Hungarian, Indonesian, Arabic(UAE), Romanian, Chinese traditional, Chinese simplified, Thai, Hewbrew and Vietnamese.
- 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.
- 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
- 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.
-
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
- 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:
- 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
- We fixed US driver's license address extraction (Oregon, Mississippi, Rhode Island).
- We removed OpenGL entirely which was causing unexpected crashes.
- 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 is
MBRecognizerResultStateUncertain
. - 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. - Use
anonymizeImage
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 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
- 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
- Fixed returning of
MBType
onMBClassInfo
object inMBBlinkIdRecognizer
andMBBlinkIdCombinedRecognizer
- 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
-
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 -
We improved document detection with
MBDocumentCaptureRecognizer
- 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
-
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 and driver license
- Panama ID
- Colombia ID and driver license
- 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.
- 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:
- Fixed
Torch
activation for all iOS versions - Fixed OpenGL code which was fragile and sensitive to crashes if used from multiple threads
-
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
-
Bugfixes:
- fixed memory leaks that could cause crashes in some cases
-
Minor API changes:
MBBlinkIdRecognizer
andMBBlinkIdCombinedRecognizer
- methods
setDewarpedImageDelegate
andsetClassifierDelegate
are now propertiesdewarpedImageDelegate
andclassifierDelegate
- methods
-
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 50% 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
-
Updates and additions:
- new options in
MBBlinkIdOverlaySettings
:- option to disable displaying of "Document Not Supported" dialog when
MBBlinkIdRecognizer
orMBBlinkIdCombinedRecognizer
is used in combination with other recognizers - use methodshowNotSupportedDialog
- option to configure back side scanning timeout - use
backSideScanningTimeout
- option to disable displaying of "Document Not Supported" dialog when
- new options in
-
Minor API changes:
- methods
pauseScanning
andresumeScanningAndResetState
inMBRecognizerRunnerViewController
do not return anymoreBOOL
- use
isScanningPaused
to check if scanning is paused
- use
- methods
-
Bugfixes:
- fixed issue where recognizer's result state would not be the same as recognizer's runner state after finished scanning
- fixed issue when pressing immediately close button on overlay view controllers would freeze for couple of seconds SDK
- Updates and fixes:
- Added missing option to remove Microblink branding on
MBBlinkIdOverlayViewController
- contact help.microblink.com. - Fixed turning on flashlight in our overlay view controllers on iOS 13.1.3
- Added missing option to remove Microblink branding on
We are very proud to announce BlinkID v5, the latest upgrade of our most popular product. BlinkID v5 is our first product powered entirely by machine learning.
BlinkID v5 introduces improvements in the speed and accuracy of scanning and data extraction, and you will find:
- Best-in-class card detection.
- Automatic classification of different document types (no need to preselect the country or document type).
- Innovative and seamless UX with real-time instructions for the users.
- Data matching – we match the expiry date, DOB, date of issue, and document number captured from the front side with the data from the barcode or MRZ on the back.
Besides the new features listed above, we have worked on the improved performance of several other document components:
- Scanning of all documents with MRZ (IDs, passports, travel visas), or PDF417 barcodes.
- Scanning and data extraction of the front side of US driver’s licenses and IDs (horizontal).
- Capturing cropped face image supported even on vertical documents, passports and travel visas.
- Capturing document image.
One of the main benefits that BlinkID v5 will bring is scalability and faster support for new document types.
- The integration of the mobile SDK will be significantly easier and faster.
- Mobile SDK build size will be much smaller.
BlinkID v5 mobile SDK release is currently available for native platforms.
- It’s advisable to get familiar with the range of supported document types. We will keep adding support for new documents and regularly update the list on Github.
- If currently supported document types are not yet supported in BlinkID v5 please follow future releases.
- To upgrade to BlinkID v5, you will need to obtain a new license key specifically for the document types that you require.
- Already licensed production keys will continue to work as usual, until you decide to upgrade.
- What if you require document types supported in the previous version (and not yet added in BlinkID v5) and another document type supported in BlinkID v5? That’s manageable, and in that case, we will create a custom build for you.
We strongly recommend checking the list of supported document types regularly. Please star and watch this repository, and take the time to test BlinkID v5 as much as possible.
Your opinion, especially on the performance and redesigned UX is very important for future developments. We would appreciate your feedback at [email protected].
- removed all country specific recognizers
- `MBBlinkIdRecognizer` and `MBBlinkIdCombinedRecognizer` are recognizers that classify and extract data from all country specific recognizers available in 4.x.x versions
- available recognizers are:
- `BlinkIdRecognizer`
- `BlinkIdCombinedRecognizer`
- `MBPassportRecognizer`
- `MBVisaRecognizer`
- `MBDocumentFaceRecognizer`
- `MBMrtdRecognizer`
- `MBMrtdCombinedRecognizer`
- `MBUsdlRecognizer`
- `MBUsdlCombinedRecognizer`
- parsers and detectors are removed from this version onward
- Templating API is no longer supported
- `field by field` scanning feature is no longer supported
- Swift Module has been renamed from `MicroBlink` to `Microblink`
- this will cause Swift project to crash at compile time so please do `import Microblink` from now on
- updated `MBBlinkIdRecognizer` and `MBBlinkIdCombinedRecognizer` with new document types for different countries
- you can check [list of supported document types](https://github.com/BlinkID/blinkid-ios/blob/master/documentation/BlinkIDRecognizer.md)
- in combined recognizers results, `documentDataMatch` value is now returned as `MBDataMatchResult` enum with three possible values: `NotPerformed`, `Failed` and `Success`
-
Updates and additions:
- added support for reading front and back side of Belgium ID - use
MBBelgiumIdFrontRecognizer
,MBBelgiumIdBackRecognizer
andMBelgiumCombinedRecognizer
- added support for reading all visa documents containing Machine Readable Zone - use
MBVisaRecognizer
- added support for reading front and back side of Belgium ID - use
-
Improvements in ID scanning performance:
- improved
MBMrtdRecognizer
:- added support for documents with non-binary gender specification (symbol X)
- improved
MBDocumentFaceRecognizer
:- improved scanning time (faster scan)
- added support for vertical IDs
- removed the
tryBothOrientations
option (improved scan in all directions is enabled by default)
- improved scanning time (faster scan) for
MBPassportRecognizer
- improved
-
Updates and additions:
- added
MBBlinkIdRecognizer
for scanning front side of ID cards andMBBlinkIdCombinedRecognizer
for combined scanning of front and back side of ID cards- for now, these recognizers classify and extract data from 87 different classes of United States driver's licenses (front and back side)
- in the upcoming releases, we are planning to add support for more document types from different countries
- completely new UX for scanning ID cards with scan overlay view controller:
MBBlinkIdOverlayViewController
:- best suited for scanning with
MBBlinkIdRecognizer
andMBBlinkIdCombinedRecognizer
- other single side and combined document recognizers are also supported
- best suited for scanning with
- added
-
added support for reading back side of Nigerian Voter ID card - use
MBNigeriaVoterIdBackRecognizer
-
Improvements in ID scanning performance:
- improved
MBRomaniaIdFrontRecognizer
- now extracts
CNP
number
- now extracts
- improved
MBSloveniaIdFrontRecognizer
andMBloveniaCombinedRecognizer
:- return boolean flag which indicates whether date of expiry is permanent - use
dateOfExpiryPermanent
- return boolean flag which indicates whether date of expiry is permanent - use
- improved
MBGermanyPassportRecognizer
:- better passport classification
- improved
MBColombiaIdFrontRecognizer
:- support for document number in format 1-3-3
- improved
MBSlovakiaIdFrontRecognizer
:- support for German letters
- Malaysia:
MBMalaysiaMyTenteraFrontRecognizer
supports 6-digit army numberMBMalaysiaIkadFrontRecognizer
- better extraction of the following fields (DeepOCR support): date of birth, sector, employer, address and date of expiry
- United Arab Emirates:
- glare detection is disabled by default for
MBUnitedArabEmiratesIdFrontRecognizer
andMBUnitedArabEmiratesIdBackRecognizer
MBUnitedArabEmiratesIdBackRecognizer
- optimized detection for black backgrounds
- glare detection is disabled by default for
- improved
-
Bugfixes:
- fixed bug in
MBBlinkCardOverlayViewController
which caused memory issues
- fixed bug in
- Bugfixes:
- fixed bug in
MBDocumentFaceRecognizer
which caused that DPI settings has not been applied to dewarped image
- fixed bug in
-
Updates and additions:
- added support for reading all passports with MRZ - use
MBPassportRecognizer
- added setting on
MBDocumentFaceRecognizer
for control over face image processor - usetryBothOrientations
- added result property on
MBGermanyCombinedRecognizerResult
to get full mrz string result - userawMrzString
- added support for reading all passports with MRZ - use
-
Improvements in ID scanning performance:
- added support for reading commercial code in two rows for
MBHongKongIdFrontRecognizer
- added support for
MBHongKongIdFrontRecognizer
2018 version - improved reading accuracy for the following recognizers (DeepOCR support):
MBMalaysiaIKadFrontRecognizer
- improved scanning time of all Malaysian ID front recognizers: MyKad, MyKAS, MyPR, MyTentera
- added support for reading commercial code in two rows for
-
Minor API changes:
partialRecognitionTimeout
inMBRecognizerCollection
default value has been changed to 0 which means no timeout will be reported in which partial scanning results will be returned to the user
-
Bugfixes:
- fixed issue with combining surnames in
MBGermanyCombinedRecognizer
's logic - fixed a validation issue for the gender field in
MBSloveniaCombinedRecognizer
- fixed DPI options on images are now correctly applied to dewarped image results in
MBDocumentFaceRecognizer
- fixed issue with combining surnames in
Important notice on MRTD recognizer in the latest BlinkID SDK release (v 4.8.0.)
Please note that we have significantly improved accuracy for MRZ/MRTD scanning because now we switched to the newest OCR technology based on machine learning. To be more precise, we measured and compared existing vs. new MRTD scanning. The new OCR system based on machine learning achieves 99.9% accuracy on the character level, which results with a 50% reduction in the error rate in MRZ extraction.
In order to use new MrtdRecognizer or MrtdCombinedRecognizer or to continue using any additional Recognizer for scanning any ID with the MRZ (machine readable zone) within the latest BlinkID SDK update, you must have a new license key. Before updating to the SDK version 4.8.0, please contact your account manager or send an email to [email protected] to obtain the new production license key.
Important notes:
- The MRTD scanning with the older BlinkID SDK versions (v 4.7.0 and below) will continue to work without any problems - until you decide to update.
- If you upgrade to the SDK version 4.8.0 without a new license key scanning of MRTD/MRZ documents will not work.
- Contact us at [email protected] to obtain a new license key if you plan to update your app with the latest release.
For any questions, you might have, we stand at your service.
-
Updates and additions:
- added support for reading front side of Brunei Military ID - use
MBBruneiMilitaryIdFrontRecognizer
- added support for reading back side of Brunei Military ID - use
MBBruneiMilitaryIdBackRecognizer
- added support for reading front side of Brunei Military ID - use
-
Minor API changes:
- all recognizers for Serbia have been removed from this version
- fields that are not deprecated anymore:
- Sweden DL - reference number
- Ireland DL - driver number
- Malaysia iKad - passport number
- Hong Kong ID - commercial code
- deprecated recocgnizer methods (they have been replaced with properties):
MBUsdlRecognizerResult
:getField:(MBUsdlKeys)usdlKey
optionalElements
- added new recognizer properties:
MBUsdlRecognizerResult
:firstName
lastName
fullName
address
dateOfBirth
dateOfIssue
dateOfExpiry
documentNumber
sex
restrictions
endorsements
vehicleClass
MBMrzResult
:sanitizedOpt1
sanitizedOpt2
sanitizedNationality
sanitizedIssuer
- renamed properties in
MBCzechiaCombinedRecognizerResult
:lastName
tosurname
firstName
togivenNames
identityCardNumber
todocumentNumber
address
topermanentStay
issuingAuthority
toautohority
personalIdentificationNumber
topersonalNumber
- renamed properties in
MBGermanyCombinedRecognizerResult
:lastName
tosurname
firstName
togivenNames
identityCardNumber
todocumentNumber
issuingAuthority
toautohority
eyeColour
tocolourOfEyes
- renamed properties in
MBJordanCombinedRecognizerResult
:issuer
toissuedBy
- renamed properties in
MBSlovakiaCombinedRecognizerResult
:identityCardNumber
todocumentNumber
issuingAuthority
toissuedBy
personalIdentificationNumber
topersonalNumber
- renamed properties in
MBRomaniaIdFrontRecognizerResult
:lastName
tosurname
identityCardNumber
todocumentNumber
nonMrzNationality
tonationality
nonMrzSex
tosex
validFrom
todateOfIssue
validUntil
todateOfExpiry
cardNumber
is now part ofMrzResult
asdocumentNumber
- renamed properties in
MBSloveniaCombinedRecognizerResult
:lastName
tosurname
firstName
togivenNames
identityCardNumber
todocumentNumber
address
topermanentStay
issuingAuthority
toadministrativeUnit
personalIdentificationNumber
topin
citizenship
tonationality
- renamed properties in
MBSloveniaIdBackRecognizerResult
:issuingAuthority
toadministrativeUnit
- renamed properties in
MBPolandCombinedRecognizerResult
:issuer
toissuedBy
- removed properties in
MBRomaniaIdFrontRecognizer
:idSeries
cnp
-
Updates and additions:
- added support for reading front side of Brunei Temporary Residence Permit - use
MBBruneiTemporaryResidencePermitFrontRecognizer
- added support for reading back side of Brunei Temporary Residence Permit - use
MBBruneiTemporaryResidencePermitBackRecognizer
- added
MBBlinkCardOverlayViewController
to be used with BlinkCard recognizers
- added support for reading front side of Brunei Temporary Residence Permit - use
-
Improvements in ID scanning performance:
- improved reading accuracy for
MBSingaporeIdBackRecognizer
with stickers - enabled reading year-only dates of birth on Kuwait IDs
- all recognizers now reset their results on shake, except Combined recognizers
- improved reading accuracy for
-
Minor API changes:
MBPolandIdBackRecognizerResult
has propertymrzResult
containing the results- removed mrz image extraction from
MBMrtdRecognizer
andmrzImage
property inMBMrtdRecognizerResult
- removed mrz image extraction from
MBMrtdCombinedRecognizer
andmrzImage
property inMBMrtdCombinedRecognizerResult
- removed glare detection from
MBMrtdCombinedRecognizer
MBPaymentCardFrontRecognizer
,MBPaymentCardBackRecognizer
andMBPaymentCardCombinedRecognizer
have been replaced withMBBlinkCardRecognizer
MBElitePaymentCardFrontRecognizer
,MBElitePaymentCardBackRecognizer
andMBElitePaymentCardCombinedRecognizer
have been replaced withMBBlinkCardEliteRecognizer
-
Bugfixes:
MBMrtdRecognizer
result state is now properly invalidated after detection fails- templating recognizers no longer execute callbacks with
valid
state once they arevalid
on every frame even if nothing is 'detected'
-
Updates and additions
- added support for reading front side of German Driver's License - use
MBGermanyDlFrontRecognizer
- added support for reading back side of Brunei ID - use
MBBruneiIdBackRecognizer
- added support for reading front side of Brunei Residence Permit - use
MBBruneiResidencePermitFrontRecognizer
- added support for reading back side of Brunei Residence Permit - use
MBBruneiResidencePermitBackRecognizer
- updated overlay view controllers with new icons for
close
andtorch
buttons - switched to using HTTPS in podspec for Cocoapods
- added support for reading front side of German Driver's License - use
-
Improvements in ID scanning performance
- improved reading accuracy for the following recognizers (DeepOCR support):
MBMalaysiaMyKadBackRecognizer
- improved reading accuracy for the following recognizers (DeepOCR support):
-
Minor API changes
- removed
sex
andsignatureImage
properties fromMBMalaysiaMyKadBackRecognizer
- renamed properties in
MBCroatiaCombinedRecognizerResult
:identityCardNumber
todocumentNumber
address
toresidence
issuingAuthority
toissuedBy
personalIdentificationNumber
tooib
nonResident
todocumentForNonResident
- removed
mrzImage
fromMBMrtdCombinedRecognizer
andMBMrtdCombinedRecognizerResult
- renamed properties in
MBAustraliaDlFrontRecognizerResult
:name
tofullName
dateOfExpiry
tolicenceExpiry
- renamed
eyeColour
tocolourOfEyes
inMBGermanyIdBackRecognizerResult
- recognizers that are deprecated:
MBSerbiaIdBackRecognizer
andMBSerbiaIdBackRecognizerResult
MBSerbiaIdFrontRecognizer
andMBSerbiaIdFrontRecognizerResult
MBSerbiaCombinedRecognizer
andMBSerbiaCombinedRecognizerResult
- all properties that are deprecated for recognizers:
MBHongKongIdFrontRecognizerResult
:commercialCode
MBIndonesiaIdFrontRecognizerResult
:bloodType
district
kelDesa
rt
rw
MBNewZealandDlFrontRecognizerResult
:donorIndicator
cardVersion
MBMalaysiaMyKadBackRecognizerResult
:extendedNric
MBMexicoVoterIdFrontRecognizerResult
:electorKey
MBIrelandDlFrontRecognizerResult
:driverNumber
MBSwedenDlFrontRecognizerResult
:referenceNumber
MBMalaysiaIkadFrontRecognizerResult
:passportNumber
MBAustriaIdBackRecognizerResult
:principalResidence
height
eyeColour
MBAustriaPassportRecognizerResult
:height
MBGermanyIdBackRecognizerResult
:colourOfEyes
height
MBSwitzerlandIdBackRecognizerResult
:height
MBSwitzerlandPassportRecognizerResult
:height
MBSingaporeIdBackRecognizerResult
:bloodGroup
MBColombiaIdBackRecognizerResult
:bloodGroup
MBSwitzerlandPassportRecognizerResult
:height
MBPolandIdFrontRecognizerResult
:familyName
parentsGivenNames
MBMoroccoIdBackRecognizerResult
:fathersName
mothersName
MBRomaniaIdFrontRecognizerResult
:parentNames
- removed
-
Updates and additions
- added support for reading front side of Brunei ID - use
MBBruneiIdFrontRecognizer
- added support for reading front and back side of Cyprus ID, issued after 2015. - use
MBCyprusIdFrontRecognizer
andMByprusIdBackRecognizer
- added support for reading front side of Malaysian MyKAS - use
MBMalaysiaMyKasFrontRecognizer
- added support for reading front side of Malaysian MyPR - use
MBMalaysiaMyPrFrontRecognizer
- enabled capturing high resolution camera frames:
- When custom UI integration is performed, use
- (void)captureHighResImage:(MBCaptureHighResImage)highResoulutionImageCaptured
onMBRecognizerRunnerViewController
- When using provided scan overlay view controllers, high resolution full camera frames taken at the moment of successful scan are returned if this option is enabled through
MBOverlaySettings
. ConcreteMBDocumentOverlaySettings
andMBDocumentVerificationOverlaySettings
have propertycaptureHighResImage
to support this feature and new optional delegate on respective delegates
- When custom UI integration is performed, use
- added support for reading front side of Brunei ID - use
-
Improvements in ID scanning performance
- improved reading accuracy for the following recognizers (DeepOCR support):
MBHongKongIdFrontRecognizer
MBMalaysiaMyKadFrontRecognizer
MBMalaysiaMyKadBackRecognizer
MBMalaysiaMyTenteraFrontRecognizer
MBMalaysiaDlFrontRecognizer
MBNewZealandDlFrontRecognizer
- improved
MBPaymentCard
recognizers:- better OCR and data extraction
- added support for reading payment card numbers in 4x6x4 and 4x6x5 format
- improveed UAE recognizers:
- glare detection is enabled for all images returned from
MBUnitedArabEmiratesDlFrontRecognizer
,MBUnitedArabEmiratesIdBackRecognizer
andMBUnitedArabEmiratesIdFrontRecognizer
recognizers
- glare detection is enabled for all images returned from
- improved
MBMrtdRecognizer
:- added option to set extension factors for full document image: use method
fullDocumentImageExtensionFactors
- added option to encode
fullDocumentImage
andmrzImage
to JPEG and save them toMBMrtdRecognizerResult
: useencodeMrzImage
andencodeFullDocumentImage
to enable encoding
- added option to set extension factors for full document image: use method
- improved reading accuracy for the following recognizers (DeepOCR support):
-
Minor API changes
-
renamed
MBIkadRecognizer
toMBMalaysiaIkadFrontRecognizer
and methods in recognizer and itsResult
:expiryDate
todateOfExpiry
sex
togender
-
renamed
MBMyKadFrontRecogniezer
toMBMalaysiaMyKadFrontRecognizer
and methods in recognizer and itsResult
:ownerFullName
tofullName
ownerAddress
tofullAddress
addressStreet
tostreet
ownerAddressZipCode
tozipcode
ownerAddressCity
tocity
ownerAddressState
toownerState
ownerBirthDate
tobirthDate
ownerSex
tosex
ownerReligion
toreligion
nricNumber
tonric
-
MBMalaysiaMyKadFrontRecognizer
does not extractarmyNumber
anymore, useMBMalaysiaMyTenteraFrontRecognizer
for scanningMyTentera
-
MBMrtdRecognizer
:- method
saveImageDPI
which has been used to set DPI for full document and MRZ image is replaced with methodsfullDocumentImageDpi
andmrzImageDpi
- method
-
renamed methods in
MBSwitzerlandIdBackRecognizer
and itsResult
:nonMrzDateOfExpiry
todateOfExpiry
nonMrzSex
tosex
-
renamed methods in
MBSwitzerlandPassportRecognizer
and itsResult
:placeOfBirth
toplaceOfOrigin
nonMrzDateOfBirth
todateOfBirth
nonMrzDateOfExpiry
todateOfExpiry
nonMrzSex
tosex
-
-
Bugfixes
- MBDocumentFaceRecognizer now correctly applies DPI settings to returned face and full document images
- fixed a crash which happened when scanning region was set before overlay view controller loaded, but after it was initialized
- fixed missing
init
inMBDotsResultSubview
for Swift
-
Updates and additions
- added support for reading back side of German Driver's License with B10 support - use
MBGermanyDlBackRecognizer
- added support for reading front side of Mexican Voter Id card - use
MBMexicoVoterIdFrontRecognizer
- added support for reading ExpiresOn date on
MBCyprusIdBackRecognizer
- added support for image(s) anonymization on
MBPaymentCardFrontRecognizer
- use
anonymizeCardNumber
andanonymizeOwner
- use
- added support for image(s) anonymization on
MBPaymentCardBackRecognizer
- use
anonymizeCvv
- use
- added support for image(s) anonymization on
MBPaymentCardCombinedRecognizer
- use
anonymizeCardNumber
,anonymizeOwner
andanonymizeCvv
- use
- added support for image(s) anonymization on
MBElitePaymentCardFrontRecognizer
- use
anonymizeOwner
- use
- added support for image(s) anonymization on
MBElitePaymentCardBackRecognizer
- use
anonymizeCvv
andanonymizeCardNumber
- use
- added support for image(s) anonymization on
MBElitePaymentCardCombinedRecognizer
- use
anonymizeCardNumber
,anonymizeOwner
andanonymizeCvv
- use
- added support for full document image extension factors on
MBUsdlCombinedRecognizer
- added support for reading back side of German Driver's License with B10 support - use
-
Improvements in ID scanning performance
- improved reading of Swiss front side ID cards
- improved reading of German front side ID cards
- improved
MBMalaysiaMyTenteraFrontRecognizer
with DeepOcr support - improved reading of Singapore front side Driver's Licenses with DeepOcr support
- improved reading of Croatian front side ID cards
- improved personal number extraction on Slovakian ID cards
- improved reading of Indonesian front side ID cards with DeepOcr support
- updated image return processor
- the processor now estimates detected (dewarped) document image quality and returns the best quality dewarped image from the best quality detection
-
Minor API changes
- renamed
MBMyTenteraRecognizer
toMBMalaysiaMyTenteraFrontRecognizer
- renamed
MBMyTenteraRecognizerResult
toMBMalaysiaMyTenteraFrontRecognizerResult
and propertiesnricNumber
tonric
ownerAddress
tofullAddress
ownerAddressCity
tocity
ownerAddressState
toownerState
ownerAddressZipCode
tozipcode
ownerAddressStreet
tostreet
ownerBirthDate
tobirthDate
and it is now of typeMBDateResult
ownerFullName
tofullName
ownerReligion
toreligion
ownerSex
tosex
- renamed properties in
MBGermanyIdFrontRecognizerResult
firstName
togivenNames
lastName
tosurname
dateOfBirth
adndateOfExpiry
are now of typeMBDateResult
- renamed
-
Bugfixes
- fix memory issue while using current frame grabber
- fix UI bug on
MBDocumentVerificationOverlayViewController
- now showingDocument scanning done
when scanning finish - all combined recognizers are not optional any more in Swift
-
Updates and additions
- Added support for reading front side of Ireland Driver's License - use
MBIrelandDlFrontRecognizer
- Added support for reading front side of Colombia Driver's License - use
MBColombiaDlFrontRecognizer
- Added support for reading front side of Italy Driver's License - use
MBItalyDlFrontRecognizer
- Added standalone recognizer for reading front side of Austria Driver's License - use
MBAustriaDlFrontRecognizer
- Added support for reading front and back side of elite Payment / Debit cards - use
MBElitePaymentCardFrontRecognizer
,MBElitePaymentCardBackRecognizer
andMBElitePaymentCardCombinedRecognizer
- Added support for reading front side of Ireland Driver's License - use
-
Improvements in ID scanning performance
- improved
MBMrtdCombinedRecognizer
:- added option to allow unparsed and unverified MRZ results - use
allowUnparsedResults
andallowUnverifiedResults
- added option to allow unparsed and unverified MRZ results - use
- improved
MBMalaysiaDlFrontRecognizer
:- added support for reading Malaysia Dl for foreigners
- improved
MBUsdlRecogniezr
:- added support for reading dates on Nigerian Driver's licenses
- added support for setting full document image extension factors for almost all ID document recognizers, they implement interface
MBFullDocumentImageExtensionFactors
- added support for setting the number of stable detections threshold on
MBDocumentFaceRecognizer
and recognizers which use it internally:MBMrtdCombinedRecognizer
andMBUsdlCombinedRecognizer
- usenumStableDetectionsThreshold
. This can help to avoid returning of blurry images. - improved
MBEudlRecognizer
:- better reading accuracy for UK Driver's license
- moved these recognizers to DeepOCR engine (improved reading accuracy):
MBSingaporeIdFrontRecognizer
,MBSingaporeIdBackRecognizer
,MBCroatiaIdFrontRecognizer
,MBCroatiaIdBackRecognizer
- improved DeepOCR accuracy
- improved
-
Minor API changes
- renamed properties in
MBMalaysiaDlFrontRecognizerResult
:state
toownerState
zipCode
tozipcode
- renamed properties in
MBIndonesiaIdFrontRecognizerResult
:validUntil
todateOfExpiry
validUntilPermanent
todateOfExpiryPermanent
- renamed property in
MBSingaporeIdFrontRecognizerResult
:bloodType
tobloodGroup
- renamed property in
MBSingaporeCombinedRecognizerREsult
:bloodType
tobloodGroup
- renamed properties in
-
Bugfixes
- enabled wrapping of combined recogniezrs with
MBSuccessFrameGrabberRecognizer
- fixed bug in
MBEudlRecognizer
which caused that sometimes face image is not returned, even if the recognition was successful - updated overlay view controllers for iPhone X Series
- various other bug fixes and improvements
- enabled wrapping of combined recogniezrs with
-
Updates and additions
- Added support for reading front side of Spain Driver's License - use
MBSpainDlFrontRecognizer
- Added support for reading front side of UAE Driver's License - use
MBUnitedArabEmiratesDlFrontRecognizer
- Added support for reading front side of Cyprus ID card - use
MBCyprusIdFrontRecognizer
- Added support for reading back side of Cyprus ID card - use
MBCyprusIdBackRecognizer
- Added support for reading front side of Kuwait ID card - use
MBKuwaitIdFrontRecognizer
- Added support for reading back side of Kuwait ID card - use
MBKuwaitIdBackRecognizer
- Added support for reading front side of Payment Card - use
MBPaymentCardFrontRecognizer
- Added support for reading back side of Payment Card - use
MBPaymentCardBackRecognizer
- Added support for reading front and back side of Payment Card - use
MBPaymentCardCombinedRecognizer
- Added support for optional protocol method implementation in
MBDocumentVerificationOverlayViewControllerDelegate
-documentVerificationOverlayViewControllerDidFinishScanningFirstSide:
- Added support for reading front side of Spain Driver's License - use
-
Improvements in ID scanning performance
- Added support for reading sticker with new address on back side of Singapore ID card with
MBSingaporeCombinedRecognizer
- Performance improvements
- Added support for reading sticker with new address on back side of Singapore ID card with
-
Minor API changes
- Renamed properties in
MBCroatiaIdBackRecognizerResult
:address
toresidence
documentForNonResident
toisDocumentForNonResident
issuingAuthority
toissuedBy
- MRZ fields are available through
MBMrzResult
which can be obtained by using propertymrzResult
- Renamed properties in
MBSingaporeIdFrontRecognizerResult
:cardNumber
toidentityCardNumber
- Renamed properties in
MBSingaporeCombinedRecognizerResult
:cardNumber
toidentityCardNumber
bloodGroup
tobloodType
isScanningUnsupportedForCameraType:
is now class method ofMBMicroblinkSDK
- Renamed properties in
-
Bugfixes
- Fixed bug where SDK crashed with exception when the user wanted to use custom resource bundle
- Various other bug fixes and improvements
-
Updates and additions
- Added support for reading front side of Swiss Driver's License - use
MBSwitzerlandDlFrontRecognizer
- Added support for reading front side of Singapore Driver's License - use
MBSingaporeDlFrontRecognizer
- Added support for reading front side of Morocco ID card - use
MBMoroccoIdFrontRecognizer
- Added support for reading back side of Morocco ID card - use
MBMoroccoIdBackRecognizer
- Added support for reading Singapore Changi Employee ID card - use
MBSingaporeChangiEmployeeIdRecognizer
- Added support for reading residential status on front side of Hong Kong ID Card
- Added support for reading partial dates on all MRTD documents
- Added support for returning encoded images on all recognizers that support image return
- Added support for checking if scanning is unsupported for camera type on
MBRecognizerRunnerViewController
- Added support for reading sticker with new address on back side of Singapore ID card
- Added missing
oldNric
property onMBMyKadBackRecognizerResult
- Removed manatee
- Added support for reading front side of Swiss Driver's License - use
-
Improvements in ID scanning performance
- Improved reading of New Zealeand Driver's License
- Better name and nationality extraction on
MBUnitedArabEmiratesIdFrontRecognizer
-
Minor API changes
identityCardNumber
property has been renamed todocumentNumber
onMBCroatiaIdFrontRecognizerResult
-
Bugfixes
- Calling
reconfigureRecognizers
before showing camera now correctly applies supplied recognizers - Fixed autorotation of overlays and
MBRecognizerRunnerViewController
- Fixed localization issues with some overlays
- Fixed constraint errors on
MBDocumentVerificationOverlayViewController
- Calling
-
Updates and additions
- Added
reconfigureRecognizers
method toMBBaseOverlayViewController
, enabling it on all it's subclasses
- Added
- new API, which is not backward compatible. Please check README and updated demo applications for more information, but the gist of it is:
PPScanningViewController
has been renamed toMBRecognizerRunnerViewController
andMBCoordinator
toMBRecognizerRunner
PPBarcodeOverlayViewController
has been renamed toMBBarcodeOverlayViewController
- previously internal
MBRecognizer
objects are not internal anymore - instead of having opaqueMBRecognizerSettings
andMBRecognizerResult
objects, you now have statefulMBRecognizer
object that contains itsMBResult
within and mutates it while performing recognition. For more information, see README and updated demo applications - introduced
MBFieldByFieldOverlayViewController
that can be used for easy integration of the field-by-field scanning feature (previously known as segment scan) - introduced
MBDocumentVerificationController
that can be used for easy integration of ID verification scanning feature (previously available only in BlinkID AppStore app - introduced
MBProcessor
concept. For more information, check updated code samples, README and this blog post
- new licence format, which is not backward compatible. Full details are given in README and in updated applications, but the gist of it is:
- licence can now be provided with either file, byte array or base64-encoded bytes
- Bugfixes
- fixed
UnitedArabEmiratesIDBackRecognizer
:- enabled reading of UAE back side where MRZ starts with IR
- fixed
- Bugfixes
coordinatorDidDealloc
method inPPCoordinatorDelegate
is now correctly called when all resources are released
-
Updates and additions
- Added support for reading front side of Swedish Driver's License- use
PPSwedenDLFrontRecognizerSettings
- Added ability to extend full document cropping zone on
PPGermanIDFrontRecognizerSettings
- Added support for CAN number extraction on German ID Front
- Added support for iKAD MM55 ID's
- Added support for reading front side of Swedish Driver's License- use
-
Improvements in ID scanning performance
- Improved reading of document number on Hong Kong ID
- Improvements when returning partial data in Document Face Recognizer
- Improvements in USDL data parsing
- Bugfixes
- Added support for nonstandard pdf417 barcodes which wrongly encode number of data codewords
- Bugfixes
- Fixed error where app upload to the store would be rejected because of missing bitcode
- Bugfixes
- Fixed errors related to fetching document number from Egyptian ID
- Fixed errors related to fetching validFrom and validUntil dates from Malaysian DL
- Fixed errors related to returning and encoding face and full document images when using
PPJordanIDCombinedRecognizerSettings
- Fixed dateOfExpiry property type from
NSString
toNSDate
onPPJordanIDCombinedRecognizerSettings
-
Updates and additions
- added support for reading front and back side of Jordan ID - use
PPJordanIDFrontRecognizerSettings
andPPJordanIDBackRecognizerSettings
- added Jordan Combined Recognizer - use
PPJordanIDCombinedRecognizerSettings
- added support for reading Egyptian ID Front - use
PPEgyptIDFrontRecognizerSettings
- added support for reading Malaysian DL Front - use
PPMalaysianDLFrontRecognizerSettings
- added support for reading Malaysian Passport IMM13P MRTD - be sure to set
allowSpecialCharacters
totrue
when creatingPPMrtdRecognizerSettings
- added support for reading front and back side of Jordan ID - use
-
Improvements in ID scanning performance
- Improved reading Malaysian MyKad and MyTentera
- Improved reading VINs
- Improved parsing of USDL
-
Bugfixes
- fixed returning of face image when using
PPUnitedArabEmiratesIDFrontRecognizer
:- fixed face image position
- fixed crash in
PPDocumentFaceRecognizer
- Fixed expiry date for magnetic stripe USDL subtype - using day of birth not last day of the month for license expiry day
- Fixed rare crashes that sometimes happened when trying to fetch unparsed dates
- fixed crashes that happened when trying to activate the torch while video input hasn't loaded
- fixed returning of face image when using
- Bugfixes
- fixed incorrect setting of missing dates to current date in MRTD recognizers. If date is not present in MRTD, the corresponding getter will now return nil
- fixed an error where disabling extraction of some elements on
PPNewZealandDLFrontRecognizerSettings
did not work correctly
-
Updates and additions
- added support for reading front side of Hong Kong ID - use
PPHongKongIDFrontRecognizerSettings
- added support for reading front and back side of Colombian ID - use
PPColombiaIDFrontRecognizerSettings
andPPColombiaIDBackRecognizerSettings
- added support for reading front and back side of United Arab Emirates ID - use
PPUnitedArabEmiratesIDFrontRecognizerSettings
andPPUnitedArabEmiratesIDBackRecognizerSettings
- added support for reading front side of New Zealand drivers license - use
PPNewZealandDLFrontRecognizerSettings
- added support for reading front side of Hong Kong ID - use
-
Improvements in ID scanning performance
- Improved reading of Belgium ID BRZ OPT2 field
- added support for reading Belgium MRZ with partial date of birth -
PPMrtdRecognizerSettings.allowUnverifiedResults
must be set totrue
- added support for reading Kenya MRZ -
PPMrtdRecognizerSettings.allowUnverifiedResults
must be set totrue
- improved
MyKadFrontSideRecognizer
andMyTenteraRecognizer
:- better reading of name field
- better reading of address field
-
Bugfixes
- when setting DPI for full document image in concrete recognizer settings that has property
fullDocumentImageDPI
, exception is thrown if DPI value is not in the expected range[100, 400]
- fixed a crash in Templating API caused by using a
MultiDetector
withDetectorRecognizer
- fixed returning of face image when using
PPUnitedArabEmiratesIDFrontRecognizer
:- fixed face image position
- fixed returning of face image when using
- when setting DPI for full document image in concrete recognizer settings that has property
-
Updates and additions
- added support for reading back side of Malaysian MyKad - use
PPMyKadBackRecognizerSettings
- added support for reading Malaysian MyTentera documents - use
PPMyTenteraRecognizerSettings
- added support for reading Malaysian MyTentera documents with MyKad recognizer - use
PPMyKadFrontRecognizerSettings
and enable reading of army number - added support for setting DPI for full document images returned by
PPMyKadFrontRecognizerSettings
,PPMyKadBackRecognizerSettings
,PPMyKadFrontRecognizerSettings
andPPIKadRecognizerSettings
: - use
fullDocumentImageDPI
on the corresponding recognizer settings - added full support for iPhone X layout for all SDK's overlay views
- added support for reading back side of Malaysian MyKad - use
-
Minor API changes
- renamed
PPMyKadRecognizerSettings
andPPMyKadRecognizerResult
toPPMyKadFrontRecognizerSettings
andPPMyKadFrontRecognizerResult
- renamed
-
Improvements in ID scanning performance
- improved
PPAustraliaDLFrontRecognizer
:- improved reading of names and addresses
- added support for reading first names with more words
- improved
PPSingaporeIDFrontRecognizer
:- tuned ID card data extraction positions
- improved Malaysian
IKadRecognizer
:- better reading of date of expiry and employer fields
- improved
-
Bugfixes
- fixed crash in
PPDocumentFaceRecognizer
- added missing document classifier property
documentClassifier
toPPTemplatingRecognizerSettings
- fixed crash in
-
Updates and additions
- added support for reading back side of new Australian Driver's licence for state Victoria - use
PPAustraliaDLBackRecognizerSettings
andPPAustraliaDLBackRecognizerResult
- added support for reading front side of Indonesian ID - use
PPIndonesianIDFrontRecognizerSettings
andPPIndonesianIDFrontRecognizerSettings
- added support for Malaysian visa with document code TS - use
PPMrtdRecognizerSettings
andPPMrtdRecognizerResult
- added support for setting DPI for full document images returned by
PPMrtdRecognizerSettings
,PPAustraliaDLBackRecognizerSettings
,PPAustraliaDLFrontRecognizerSettings
andPPEudlRecognizerSettings
:- use
fullDocumentImageDPI
on the corresponding recognizer settings
- use
- added support for reading back side of new Australian Driver's licence for state Victoria - use
-
Minor API changes
- removed
imageDPI
property onPPTemplatingRecognizerSettings
- removed
-
Improvements in ID scanning performance:
- improved reading of Malaysian MyKad address
-
Updates and additions
- added support for scanning front and back side of Polish ID - use
PPPolishIDFrontRecognizerSettings
,PolishIDBackRecognizerSettings
andPPPolishIDCombinedRecognizerSettings
- new document specification presets in
PPDocumentPreset
enum:PPDocumentPresetId1VerticalCard
andPPDocumentPresetId2VerticalCard
- use[PPDocumentSpecification newFromPreset]
method to create document specification for detector PPEudlRecognizer
can return face image from the driver's license- warning for time limited license keys when using provided activities, custom UI integration or Direct API:
- the goal is to prevent unintentional publishing of application to production with the demo license key that will expire
- warning toast can be disabled by using
showLicenseKeyTimeLimitedWarning
property onPPUiSettings
- added
PPMrtdSpecification
and methodsetMrtdSpecifications
onPPMrtdDetectorSettings
- setting
PPMrtdSpecification
onPPMrtdDetectorSettings
will return results only for specified MRTD Documents PPMrtdSpecification
can be created usingPPMrtdPreset
:PPMrtdPresetTd1, PPMrtdPresetTd2, PPMrtdPresetTd3
- setting
- added support for scanning front and back side of Polish ID - use
-
Minor API changes
PPDocumentDetectorResult
does not contain information about screen orientation any more
-
Improvements in ID scanning performance:
- improved face detection in
DocumentFaceRecognizer
: stable detection is required to prevent returning of blurred images - improved reading of Malaysian
MyKad
documents: - improved reading and parsing of address fields: previously recognizer was unable to read some documents because of the expected address format
- improved reading of Malaysian visas and work permits
- better reading of dates on Australian Driver's Licence
- improved face detection in
-
Updates and additions
- Added Australian Driver Licence Recognizer
PPAustraliaDLFrontRecognizerResult
andPPAustraliaDLFrontRecognizerSettings
for state Victoria - Added Swiss ID Back Recognizer
PPSwissIDBackRecognizerResult
andPPSwissIDBackRecognizerSettings
- Added Swiss ID Front Recognizer
PPSwissIDFrontRecognizerResult
andPPSwissIDFrontRecognizerSettings
- Added reading of mirrored QR codes
- Added
PPMrzFilter
protocol and delegatemrzFilter
onPPMrtdRecognizerSettings
- Determines whether document should be processed or it is filtered out, based on its MRZ (Machine Readable Zone)
- Introduced
GlareDetector
which is by default used in all recognizers whose settings implementGlareDetectorOptions
:- When glare is detected, OCR will not be performed on the affected document position to prevent errors in the extracted data
- If the glare detector is used and obtaining of glare metadata is enabled in
MetadataSettings
- Glare detector can be disabled by using
detectGlare
property on the recognizer settings
- Added
PPQuadDetectorResultWithSize
which inherits existingPPQuadDetectorResult
- It's subclasses are
PPDocumentDetectorResult
andPPMrtdDetectorResult
- Returns information about physical size (height) in inches of the detected location when physical size is known
- It's subclasses are
- Added Australian Driver Licence Recognizer
-
Minor API changes
PPBlinkOcrRecognizerResult
andPPBlinkOcrRecognizerSettings
are now deprecated. UsePPDetectorRecognizerResult
andPPDetectorRecognizerSettings
for templating orPPBlinkInputRecognizerResult
andPPBlinkInputRecognizerSettings
for segment scan- removed option to scan 1D Code39 and Code128 barcodes on US Driver's licenses that contain those barcodes alongside PDF417 barcode
-
Bugfixes:
- Fixed crash which sometimes happened while scanning MRTD documents
- Fixed returning valid data for MRZ based recognizers when not all fields outside MRZ have been scanned
- Fixed crash in QR code which happened periodically in all recognizers
- Fixed autorotation of overlay view controller
- Fixed scanning return result type of
PPDetectorRecognizerSettings
when initialized withPPMrtdDetectorSettings
- returningPPMrtdDetectorResult
-
Improvements in ID scanning performance:
- Date parsing improvements
- Better extraction of fields on back side of the Croatian ID card
- Improved reading of issuing authority on Croatian ID back side
- Improved USDLRecognizer - added support for new USDL standard
-
Updates and additions
- Added Austrian Passport Recognizer
PPAusPassportRecognizerResult
andPPAusPassportRecognizerSettings
- Added Swiss Passport Recognizer
PPSwissPassportRecognizerResult
andPPSwissPassportRecognizerSettings
- Added support for scanning MRZ on Mexican voters card
- Added support for reading Croatian ID with permanent DateOfExpiry in
PPCroIDFrontRecognizerResult
andPPCroIDCombinedRecognizerResult
with BOOL propertyisDocumentDateOfExpiryPermanent
- Added combining data from MRZ and fields in Austrian passport through
PPAusIDCombinedRecognizerResult
andPPAusIDCombinedRecognizerSettings
- Added Austrian Passport Recognizer
-
Bugfixes:
- Fixed crash which sometimes happened while scanning MRTD documents
-
Improvements in ID scanning performance:
- Improved scanning of IKad addresses
- Improved reading of Croatian ID Address field
- Improved reading of Croatian ID IssuedBy field
-
Updates and additions:
- Added Barcode Recognizer
PPBarcodeRecognizerResult
andPPBarcodeRecognizerSettings
- Deprecated
PPAztecRecognizerResult
andPPAztecRecognizerSettings
. Use Barcode Recognizer - Deprecated
PPBarDecoderRecognizerResult
andPPBarDecoderRecognizerSettings
. Use Barcode Recognizer - Deprecated
PPZXingRecognizerResult
andPPZXingRecognizerSettings
. Use Barcode Recognizer - Added creation of customized build of framework. If your final app size is too large, you can create a customised build of MicroBlink.framework and MicroBlink.bundle which will contain only features and resources that you really need. You can see detailed explanation at Creating customized build of BlinkID SDK
- Added US Driver's license Combined Recognizer
PPUsdlCombinedRecognizerResult
andPPUsdlCombinedRecognizerSettings
- Added Austrian ID Combined Recognizer
PPAusIDCombinedRecognizerResult
andPPAusIDCombinedRecognizerSettings
- Added Czech ID Combined Recognizer
PPCzIDCombinedRecognizerResult
andPPCzIDCombinedRecognizerSettings
- Added Serbian ID Combined Recognizer
PPSerbianIDCombinedRecognizerResult
andPPSerbianIDCombinedRecognizerSettings
- Added Singapore ID Combined Recognizer
PPSingaporeIDCombinedRecognizerResult
andPPSingaporeIDCombinedRecognizerSettings
- Added Slovakian ID Combined Recognizer
PPSlovakIDCombinedRecognizerResult
andPPSlovakIDCombinedRecognizerSettings
- Added Slovenian ID Combined Recognizer
PPSlovenianIDCombinedRecognizerResult
andPPSlovenianIDCombinedRecognizerSettings
- Added MRTD Combined Recognizer
PPMrtdCombinedRecognizerResult
andPPMrtdCombinedRecognizerSettings
- Added VIN Recognizer
PPVinRecognizerResult
andPPVinRecognizerSettings
- Added
nonMRZNationality
andnonMRZSex
properties to Romanian ID Recognizer for getting sex and nationality outside MRZ - Added support for long addresses and employer names for iKad
extractAddress
property inPPSlovakIDBackRecognizerSettings
is now removed since previously wasn't used- Added
extractDocumentNumber
property inPPSlovakIDFrontRecognizerSettings
for defining if issuing document number should be extracted from Slovakian ID - Added to Slovakian ID Combined Settings options properties:
extractSex
extractNationality
extractDateOfBirth
extractDateOfExpiry
extractDateOfIssue
extractIssuedBy
extractDocumentNumber
extractSurnameAtBirth
extractPlaceOfBirth
extractSpecialRemarks
- Added Barcode Recognizer
-
Bugfixes:
- Fixed reading positions of ID elements on Slovakian ID card
- Fixed reading positions of ID elements on Singapore ID card
-
Improvements in ID scanning performance:
- Always read personal number field on front side of Slovakian ID card
- Improved reading precision of address, place of birth, last name and issuing authority on Slovakian ID card
- Improved reading of name and blood type on Singapore ID card
- Improved reading of pdf417 barcodes having width:height bar aspect ratio less than 2:1
-
Updates and additions:
- Microblink.framework is now a dynamic framework. The change is introduced because of the following reasons:
- isolation of code
- smaller binary size - roughly 38%
- Improved Screen shown when Camera permission is not granted:
- fixed crash which happened on tap anywhere on screen
- close button can now be removed (for example, if the scanning screen is inside
UINavigationController
instance) - Header is now public so you can instantiate that class if needed
- Updated PPUiSettings with new features:
- flag
showStatusBar
which you can use to show or hide status bar on camera screen - flag
showCloseButton
which you can use to show or hide close button on camera screen. By default it's presented, but when insideUINavigationController
it should be hidden - flat
showTorchButton
which you can use to show or hide torch button on camera screen.
- flag
- Deprecated
PPHelpDisplayMode
. You should replace it with a custom logic for presenting help inside the application using the SDK. - Renamed internal extension method with namespace so that they don't interfere with third party libraries
- Added standard tap to focus overlay subview in all default OverlayViewControllers. Also added it as a public header.
- PPScanningViewController now has a simple method to turn on torch
- Simplified
PPOcrLayout
class (removed properties which were not used) - Updated PPTopUpOcrParserFactory with new feature:
- flag
returnCodeWithoutPrefix
which does not return digits prefix and # at the end of scanned ussd code
- flag
- Updated PPMrtdRecognizerSettings with new feature:
- flag
allowUnverifiedResults
which allow obtaining results with incorrect check digits
- flag
- Microblink.framework is now a dynamic framework. The change is introduced because of the following reasons:
-
Bugfixes:
- Fixed case sensitivity in class & file naming
- Fixed issue which sometimes caused scanning not to be started when the user is asked for camera permission (first run of the app)
- Fixed rare crash which Camera paused label UI being updated on background thread
- Fixed incorrect handling of camera mirror when using front facing camera
- Fixed crash which sometimes happened when presenting help screens (if
PPHelpDisplayModeAlways
orPPHelpDisplayModeFirstRun
were used)
-
Improvements in ID scanning performance:
- added PPGermanIDCombinedRecognizer which enables reading of all data contained on German passports, old and new IDs
- Improvements in MRTD scanning:
- WSA (World Goverment of World Citizens) added as valid country code when parsing MRZ
- Added option of encoding images of MRZ and full document in Machine readable travel documents and encoding of images in DocumentFaceRecognizer
- Handling names containing dashes and extra long names inside combined recognizers
- Improvements in iOS SDK:
- Reduced library size by more than 20%
- Fixed case sensitivity in class & file naming
- ID result classes which have Date fields now return both parsed
NSDate
and rawNSString
- Improvements in scanning:
- TopUp scanning improvements
- Restructured German ID recognizers into:
- GermanIDFrontRecognizer, for scanning front side of the new German ID
- GermanIDBackRecognizer, for scanning back side of the new German ID
- GermanOldIDRecognizer, for scanning front side of the old German ID
- GermanPassportRecognizer, for scanning front side of the German Passport
- Splitting address on new German IDs to ZIP code, city, street and house number
- Added name and surname dictionaries for the German ID front side recognizer which improves the scanning performance
- MyKadRecognizer now knows how to split address to street, ZIP code, city and state
- Improved CroIDCombinedRecognizer, which can scan both sides of the ID consecutively
- Added support for polish IBAN without PL prefix in PPIbanParser
- Improvements in CroID scanning, use multiple scans to boost confidence
- Improvements in Samples:
- Added MicroBlinkDynamic sample which packages our static library into a dynamic framework
- Added libz to all samples to prevent linker errors (caused by slimming down the SDK)
- Fixed wrong Assertion which didn't allow usage of custom Resources bundle.
- Fixed internal bug which caused crashes if
PPCoordinator applySettings
was called with the same Recognizer settings (this is a very rare use case) - Added working license key in pdf417-sample for Aztec scanning
- Added Romanian ID Front recognizer for scanning Romanian IDs.
- Added SimCardRecognizer for scanning barcodes on Sim Cards
- Added AztecRecognizer with state of the art Aztec barcode reading. This can be used for scanning digital boarding passes, train tickets, and many more use cases.
- Added play success sound method to
PPScanningViewController
protocol - Added designated initializers to all
PPOcrParserFactory
objects - Added ID2 preset for creating DocumentSpecifications
- Improved getters for image names which are used to get Images of the ID documents
- they are now static methods instead of instance properties
- Improved
MRTDRecognizer
with better support for Arab MRZ - Improved TopUpParser
- Added Generic parsing in TopUpOcrParser
- Updated
CroatianIDFrontSideRecognizer
: returning sex as written on front side of a document - Fixed issue with Direct API which disabled processing
- Fixed issue with blurred camera display when
PPCoordinator
instance was reused between consecutive scanning sessions - Fixed crashed which happened when multiple instances of
PPCoordinator
were used simultaneously (one being terminated and one starting recognition). This most commonly happened when after scanning session, a new view controller was pushed to a Navigation View Controller, when the user repeated the procedure a number of times (five or more). - Updated sample apps:
- Updated Detector-sample to use frame quality so that dewarped images are the sharpest
- Updated BlinkID-sample and BlinkID-Swift-sample with easier obtaining of dewarped images
- Updated DirectAPI-sample with support for OCR in all device orientations
- Updated pdf417-sample with support for Aztec scanning
- Added AutodetectID-sample which uses DocumentFace recognizer
- Internal switch to new build system using cmake. This allows faster deployments and easier updates in the future.
- Added CroIDCombined recognizer which can scan both sides consecutively
- Added DocumentFace recognizer which can be used to get the image of the ID document which contains a face
- Added FaceDetector feature which can now be used in DetectorRecognizer.
- Added support for extracting place of birth on old German IDs
- Added property allowResultForEveryFrame in PPScanSettings which can be used when using Direct API to force calling didOutputResults: callback for every frame
- Added feature to enable frame quality estimation when using Direct API (by exposing property estimateFrameQuality)
- Added support for scanning IBAN from Georgia in IbanParser
- Added logging of the SDK name when the license key is invalid for easier troubleshooting
- Added Belgian account number check to IBAN parser
- Added scaling of the default viewfinder in ID scanning overlay view
- Added a property which you can use to set a custom location for resources. For example, if you would like to avoid using Microblink.bundle as resources bundle, you can set a different one in PPSettings object.
- Improved quality of German ID address recognition
- Updated - Singapore ID recognizer has now split in two recognizers - one for front and one for back side
- Fixed Date of Birth scanning issue in MyKad Recognizer
- Fixed MRTD returning payment data with verified = false when mrtdSettings.allowUnverified(false)
- Fixed bug in MRTD recognizer where mrtd image were not returned although scanning was successful
- Fixed crash when Single dispatch queue was used for processing
- Fixed frame quality issue in PPimageMetadata. Previously it was always nan if used after image getter.
- Fixed Torch button on default camera overlays. Previously it never changed state after it was turned on.
- Fixed help display mode "First run", which previously didn't work
- Fixed crash when the user tapped anywhere on the view controller presented when camera permission wasn't allowed
- Fixed warning message when language is set to something other than @en, @de and @fr and @cro
- Fixed crash on start in swift if custom UI was used to handle detector results
- Fixed a problem which caused internal recognizer state not to be reset when using the scanner for the second time with the same PPCoordinator instance
- Fixed ocrLayout getter in PPBlinkOcrRecognizer which previously returned nil
- Fixed an issue which caused camera settings to be reset each time PPCoordinator's applySettings method was called. This issue manifested, for example, by automatically turning off torch after successful scan in SegmentScan.
- Fixed redundant log warnings in setting language ("Trying to set language to nil, returning") and Camera manager ("Should not have been observing autofocus")
- Updated default overlay UI for ID scanning
- Fixed nullability annotations in result classes. Now, wherever the
nil
value is allowed, it means no data exists on the scanned document. If an empty string@""
is returned, this means the field exist, but it's empty. - Croatian ID scanning now uses dictionary for issuing authority for higher accuracy
- Improved generic Amount and IBAN parsers
- US Driver's Licence:
- fixed parsing of Virgin Islands DL
- added support for Arkansas DL
- added support for new South Carolina DL
- Malaysian ID:
- added support for returning face image
- fixed wrong parsing of birth date
- added support for scanning Malaysian iKad documents
PPDateOcrParser
returns result asNSDate
object and as original dateNSString
- added methods
specificParsedResultForName:
andspecificParsedResultForName:parserGroup:
toPPTemplatingRecognizerResult
(PPBlinkOcrRecognizerResult
) which returns specific parser results, e.g.NSDate
forPPDateOcrParser
- added support for scanning front and back side of Serbian ID cards
- improved IBAN parser
PPMrtdRecognizerResult
now returns date of expiry and date of birth asNSDate
instead ofNSString
- all recognizer results (classes that derive
PPRecognizerResult
) now have annotated nullability for their getters. Some of them used to assume non-null, while still returningnil
sometimes. This has now been corrected and all getters are_Nullable
- iOS updates:
- Aded Slovenian ID recognizer
- Added parser for mobile coupons
- Added frame quality property to PPImageMetadata
- iOS bugfixes:
- Fixed issue where Templating API wasn't working as expected on some devices.
- iOS updates:
- Added German ID recognizer
- Added Slovakian ID recognizer
- Improved performance of Croatian ID recognizer
- iOS fixes:
- Fixed problems with string localizations
- iOS fixes:
- CFBundleSUpportedPlatforms removed from Info.plist files
- Applying affine transformation to
PPQuadrangle
now correctly assigns points. - When using both Direct API and
PPCameraCoordinator
, scanning results will now be correctly outputted toPPCoordinatorDelegate
andPPScanningDelegate
respectively - Fixed crashes related to camera permissions and added dummy view when camera permission is disabled
- Fixed issues related to topLayoutGuide on iOS6
- Improved performance of CroID recognizers
- USDL elements can now be separated by \r
- Improved performance of Date parser
-
iOS updates:
- Added recognizer for Singapore ID
- Added recognizer for Austrian ID
- Added recognizer for Czech ID
-
iOS bugfixes:
- PPOcrEngineOptions are now applyed correctly when set
-
iOS updates:
- Added option to mirror camera frames in 'PPCameraSettings'
- Added VIN parser
-
iOS bugfixes
- Fixed deadlock when 'processImage:' is called from main thread
-
BlinkID now includes BlinkOCR and all it's features
-
iOS updates:
- Implemented
PPCameraCoordinator
.PPCameraCoordinator
assumes the role ofPPCoordinator
from previous versions while newPPCoordinator
is used for Direct API (image processing without camera out management). - Increased speed of scanning for barcode type recognizers.
- Implemented
PPImage
. When using Direct API you can wrapUIImage
andCMSampleBufferRef
intoPPImage
to ensure optimal performance. - Improved performance of Direct API. In addition, you can now use Direct API with your own camera management without any performance drawbacks.
- Added method
isCameraPaused
toPPScanningViewController
. - Added option to fllip input images upside down for processing with
cameraFlipped
property ofPPCameraSettings
. - Implemented
PPViewControllerFactory
for managing creation ofPPScanningViewController
objects. PPImageMetadata
now containsPPImageMetadataType
property, which describes which image type was outputted.
- Implemented
-
Implemented templating API
- Templating API allows creation of custom document scanners, linking specific parsers to specific locations on detected documents
-
iOS bugfixes:
- New Direct API fixed possible deadlocks when sending large amounts of data
-
iOS bugfixes:
- Fixed possible deadlock in some cases when MRTD documents are scanned.
- Fixed issue with OCR speed on arm7 devices when Accelerate framework was used.
- Fixed incorrect returning of Address and License number in UKDL scanning.
-
iOS updates:
-
PPOverlayViewController changed the way Overlay Subviews are added to the view hierarchy. Instead of calling
addOverlaySubview:
(which automatically added a view to view hierarachy), you now need to callregisterOverlaySubview:
(which registers subview for scanning events), and manually add subview to view hierarchy usingaddSubview:
method. This change gives you more flexibility for adding views and managing autolayout and autoresizing masks. -
Localization Macros MB_LOCALIZED and MB_LOCALIZED_FORMAT can now be overriden in your app to provide completely custom localization mechanisms.
-
Dramatically increased OCR engine initialization speed
-
Increased speed of scanning cancellation when Cancel button is pressed.
-
-
ID scanning improvements
- Added EUDL recognizer (replaced UKDL recognizer). EUDL is capable of automatically detecting various EU Drivers licenses. Currently it works only on German and UK DLs.
- Fixed issue with 0 and O misclassifications in MRTD recognition
- Added support for Austrian MRTD ID documents
-
Internal changes:
- Implementeded Templating API for easier implementation of new document types
- Implemented Face detection
- Implemented support for Eastern Arabic numeral characters
-
Added better integration for Swift
- Added Nullability Attributes
- Added modulemap file
- Added sample app in Swift
-
Added recognizers for scanning barcodes
- for scanning PDF417 barcodes, use PPPdf417Recognizer
- for scanning Code128 and Code39 barcodes, use PPBarDecoderRecognizer
- for scanning QR codes, and other barcode types, use PPZxingRecognizer
-
Refactored
PPMetadataSettings
- Added debug metadata settings for debugging payslip detection and image processing
successfulScanFrame
renamed tosuccessfulFrame
currentVideoFrame
renamed tocurrentFrame
-
Exposed
PPModernViewfinderOverlaySubview
overlay subview class in public headers. This enables you to more easily recreate default overlay UI in your custom Overlay view controllers. -
Added Detector API, a completely new feature which enables you to detect various document types on images. Detector API allows two types of document detections
- MRTD detection (based on OCR line detection, for MRTD documents like passports, visas, ...)
- Document Detection (based on edge detection, for ID cards, plastic cards, credit cards, ...)
-
in
PPCoordinator
, renamed methodisScanningUnsupported:
toisScanningUnsupportedForCameraType:error:
. This was introduced to provide more granularity in checking if scanning is supported. -
Fixed issues in obtaining images in scanning, most notably in MyKad scanning.
-
Fixed issues with Direct API processing of UIImages in some orientations
-
Fixed issues with scanning MRZ lines on arm7 devices.
-
Added recognition of Malysian ID cards (MyKads). To use MyKad recognition initialize the scanning library using
PPMyKadRecognizerSettings
-
Improvements in UK drivers license recognition. BlinkID is now tested on many more UKDL samples and yields much higher recognition rate.
-
Improvements in MRTD recognition. Errors such as '0' and 'O' confusions should no longer happen. Improved MRTD document detection algorithm, which now makes old "fixed" recognition redundant. Because of that, the feature to define
mrtdRoi
is now removed. -
Added feature to obtain cropped and trimmed image of the whole MRTD document.
-
Fixed several issues in USDL parsing - implemented special cases for barcodes which don't have keys according to the AAMVA version written in the barcode - implemented heuristics for extraction of firstName, middleName, lastName, address, and other fields, if they can be determined based on the other fields.
-
Bugfixes and tweaks in camera management code - fixed potential deadlock when multiple instances of
PPCoordinator
objects are instantiated. - exiting from the scanning when user presses "cancel" button is now faster -
Renamed
PPUkdlRecognizerResult
's propertyownerAdress
toownerAddress
(fixed typo)
-
PPMrtdRecognizerSettings
now setsdetectMachineReadableZonePosition
to YES by default. This means MRZ detection will work by default, meaning you no longer need to position the ID card precisely inside the frame shown in the UI. -
Added full support for parsing MRTD documents according to ICAO Document 9303 standard)
-
Added support for scanning VISAs, and Belgian ID documents.
-
PPMrtdRecognizerSettings
now has a new settingsallowUnparsedResults
(default: NO), which you can use to get raw OCR results of the MRZ text, even if BlinkID parsing didn't manage to parse the text (this can happen since MRZ isn't always formatted according to ICAO Document 9303 standard)-
When YES,
MrtdRecognizerResult
will be returned withisParsed
property set to NO, and withrawOcrLayout
property set to thePPOcrLayout
object which was the result of the OCR process. -
You should be careful when this property is set to YES, since obtained
OcrLayout
can contain OCR errors (for example (0 <-> O, 2 <-> Z, etc.). If you set this to YES, then you need to perform your own parsing and error correction. -
If you set this to YES, we suggest the following approach in your result callback
- obtain mrtdResult
- if [mrtdResult isParsed]
- present result and return
- else if mrtdResult can be parsed with your custom parsing algorithm
- present your custom results and return
- else continue scanning since MRTD result cannot be parsed at all
-
-
Improved video frame quality detection: now only the sharpest and the most focused frames are being processed. This improves quality of the results, but at a slight expense of processing time
-
Frame quality estimation can now be enabled using
PPScanSettings frameQualityEstimationMode
property:- when set to
PPFrameQualityEstimationModeOn
, frame quality estimation is always enabled - when set to
PPFrameQualityEstimationModeOff
, frame quality estimation is always disabled - when set to
PPFrameQualityEstimationModeDefault
, frame quality estimation is enabled internally, if the SDK determines it makes sense
- when set to
-
iOS 9 introduced new app multitasking features Split View and Slide Over. When the scanner is on screen and one of those features are used, iOS automatically pauses the Camera (this behaviour is default as of iOS 9 beta 5). This SDK version introduces new setting in
PPUISettings
class, calledcameraPausedView
, where you can define theUIView
which is presented centered on screen when this happens. -
Known issue on iOS 9: if you use Autorotate overlay feature (
settings.uiSetttings.autorotateOverlay
), presentPPScanningViewController
as a modal view controller, and support Split View iOS 9 feature, then autorotation of camera overlays isn't correct. The best way is to opt-out of Split View feature, and wait for SDK fix when iOS 9 comes out of beta. -
PPScanningViewController
methodspauseScanning
,isScanningPaused
, andresumeScanningAndResetState:
should now be called only from Main thread, and they are effective immediately. E.g., ifpauseScanning
is called and there is a video frame being processed, result of processing of that frame will be discarded, ifresumeScanningAndResetState:
isn't called in the meantime. -
Added support for
PPCameraPresetPhoto
camera preset. Use this if you need the same zoom level as in iOS Camera app. The resolution for video feed when using this preset is the same as devices screen resolution.
-
Added support for several new special cases of US Driver Licenses in USDL recognizer.
-
Disabled Bitcode in Sample apps so that they are buildable with XCode 7 (Bitcode support in the framework coming soon!)
-
Added library dependencies in podspec without which the app after integration couldn't be built
-
Changes in Direct processing API
- You are no longer required to call
PPCoordinator initializeRecognizers
andPPCoordinator terminateRecognizers
. - Instead,
initializeRecognizers
is called lazily on first call ofprocessImage
method. terminateRecognizers
is called automatically inPPCoordinator
destructor
- You are no longer required to call
-
Added support for autorotation of
PPScanningViewController
. To support autorotation, usePPScanningViewController
's new propertiesautorotate
andsupportedOrientations
-
Added
didOutputMetadata:
callback method toPPOverlayViewControllers
-
Fixed bug which caused Overlay events to be called when direct API is used. Direct API now only reports events to
PPScanDelegate
instance. -
Fixed bug which caused image property of
PPImageMetadata
not take the image orientation into account -
PPMetadataSettings
cleanup -
PPApp
class no longer part of public API
- US passport scanning now has less confusions between characters 0 and O
- Fixes for French passport format
- Fixed timeout bug which manifested between consecutive scans
- Added Direct processing API
-
Added support for defining region for scaninng in
PPMrtdRecognizerSettings
-
For example, with this code you can specify bottom 25% of the image will be used for MRZ scanning.
PPMrtdRecognizerSettings *mrtdSettings = [[PPMrtdRecognizerSettings alloc] init];
mrtdSettings.mrtdRoi = CGRectMake(0.0, 0.75, 1.0, 0.25);
[settings.scanSettings addRecognizerSettings:mrtdSettings];
- Added support for scanning UK Driver's license. To scan them, add PPUkdlRecognizerSettings to
settings.scanSettings
[settings.scanSettings addRecognizerSettings:[[PPUkdlRecognizerSettings alloc] init]];
- To collect UKDL results, look for
PPUkdlRecognizerResult
object inscanningViewController:didOutputResults:
callback
for (PPRecognizerResult *result in results) {
if ([result isKindOfClass:[PPUkdlRecognizerResult class]]) {
PPUkdlRecognizerResult* ukdlResult = (PPUkdlRecognizerResult*)result;
[self processUkdlResult:ukdlResult scanningViewController:scanningViewController];
}
}
-
License key format is now changed. If you use license keys generated pior to this version, please contact us so we can generate you a new license key
-
Methods and properties in
PPCoordinator
class which were not meant to be part of the public API are now hidden.
-
Naming changes in API (see Transition guide)
PPBaseResult
renamed toPPRecognizerResult
PPBaseResult
subclasses renamed accordinglyPPOcrResult
renamed toPPOcrLayout
-
Each
PPRecognizerResult
now has implementeddescription
method for easier debugging -
Fixed orientation handling for case when overlay autorotates.
-
Scanning region is now a property of Scanning view controller, and overlay view controller now delegates to this property.
- API consolidation, Bugfixes and improvements
- Initial documentation added
- Initial USDL and MRZ scanning