--- Source: https://docs.microblink.com/extraction/api/changelog Title: API changelog Description: Self-hosted extraction API release notes --- # API changelog ## 5.1.0 ### What's new - The list of all supported documents and result fields is now available [here](https://docs.microblink.com/blinkid/supported-documents). - We have added extraction of date of birth from document numbers on Egypt DL. - If a residence permit has a "remarks" field on both the front and back side, values of these fields will be combined in the top level result. ### Bug fixes - We have fixed MRZ parsing rules for Zimbabwe ID and the new version of Brunei ID; these are now successfully extracted. #### New documents support - Argentina - Polycarbonate Passport - Bhutan - Identity Card - Georgia - Polycarbonate Passport - Jamaica - Identity Card - Maldives - Driver's License - Mongolia - Identity Card - New Zealand - Proof Of Age Card - Pakistan - Origin Card - Saint Kitts And Nevis - Polycarbonate Passport - South Sudan - Identity Card - Virgin Islands Of The United States - Driver's License - Virgin Islands Of The United States - Identity Card ##### New document versions for supported documents - Argentina - Alien ID - Argentina - Identity Card - Armenia - Identity Card - Australia, Australian Capital Territory - Driver's License - Australia, Australian Capital Territory - Identity Card - Brunei - Identity Card - Bulgaria - Residence Permit - Denmark - Driver's License - Georgia - Identity Card - Greece - Residence Permit - Guatemala - Alien ID - Guatemala - Identity Card - Guyana - Paper Passport - Kosovo - Driver's License - Kyrgyzstan - Polycarbonate Passport - Liechtenstein - Identity Card - Mauritius - Identity Card - Nigeria - Identity Card - Puerto Rico - Driver's License - Puerto Rico - Identity Card - Uganda - Identity Card - USA - Paper Passport - USA - Polycarbonate Passport - USA, Montana - Driver's License - USA, Montana - Identity Card - USA, New York City - Identity Card - Venezuela - Driver's License ##### New segments supported on documents - Pakistan, proof of registration: renamed fathersName to additionalNameInformation - Mauritania, ID: renamed documentNumber to personalIdNumber #### Minor API changes - Added new items to enums: - new `FieldType` enum values: `CARD_ACCESS_NUMBER` - new `Type` enum values: `TYPE_ORIGIN_CARD` - new `Country` enum value: `COUNTRY_VIRGIN_ISLANDS_OF_THE_UNITED_STATES` - Added member results to `ScanningResult` and `VizResult`: - `cardAccessNumber` - Removed items from enums: - removed `FieldType` enum values: `PARENTS_LAST_NAME2`, `PARENTS_FIRST_NAME2`, `CHIN_PERMANENT_EXPIRY` - removed `Country` enum value: `COUNTRY_VIRGIN_ISLANDS_US` ## 5.0.0 ### What's new - Barcode extraction is marked as optional on documents where barcode detection has bad performance (Cuba ID and Passport, Philippines DL, Haiti ID, Sudan ID, Egypt ID, Ecuador Passport, Ghana Passport, Iraq Passport, Nicaragua Passport, Pakistan Passport) ### Bug fixes - In situations where some fields on different sides of a document have values in multiple alphabets it could happen that while merging results we overwrite them and keep only one alphabet. With this version this is fixed and both alphabets are returned. ### New documents support - Angola - Identity Card - Antigua And Barbuda - Paper Passport - Barbados - Paper Passport - Belize - Paper Passport - Benin - Driver's License - Benin - Polycarbonate Passport - Bermuda - Paper Passport - Bermuda - Polycarbonate Passport - Bhutan - Paper Passport - Botswana - Paper Passport - Brazil, Acre - Identity Card - Brazil, Espirito Santo - Identity Card - Brazil, Mato Grosso Do Sul - Identity Card - Brazil, Paraiba - Identity Card - Brazil, Piaui - Identity Card - Brazil, Rio Grande Do Norte - Identity Card - Brazil, Tocantins - Identity Card - Central African Republic - Paper Passport - Chad - Paper Passport - Chad - Polycarbonate Passport - Congo - Paper Passport - Democratic Republic Of The Congo - Paper Passport - Djibouti - Paper Passport - Djibouti - Polycarbonate Passport - Equatorial Guinea - Paper Passport - Equatorial Guinea - Polycarbonate Passport - Eswatini - Identity Card - Ethiopia - Paper Passport - Federated States Of Micronesia - Paper Passport - Gabon - Paper Passport - Gabon - Polycarbonate Passport - Ghana - Polycarbonate Passport - Ghana - Social Security Card - Guinea - Driver's License - Guinea Bissau - Paper Passport - Guinea Bissau - Polycarbonate Passport - India, Odisha - Driver's License - India, Uttarakhand - Driver's License - Ireland - Proof Of Age Card - Laos - Paper Passport - Lesotho - Paper Passport - Liberia - Driver's License - Liberia - Social Security Card - Madagascar - Paper Passport - Malawi - Driver's License - Mauritania - Identity Card - Mauritania - Polycarbonate Passport - Mexico - Social Security Card - Mongolia - Paper Passport - Mongolia - Polycarbonate Passport - Namibia - Paper Passport - Niger - Paper Passport - Nigeria - Nin Card - Papua New Guinea - Paper Passport - Philippines - eID - Philippines - MySSS Card - Puerto Rico - Identity Card - Saint Thomas And Prince - Paper Passport - Saint Vincent And The Grenadines - Paper Passport - Seychelles - Paper Passport - Seychelles - Polycarbonate Passport - South Sudan - Polycarbonate Passport - Taiwan - Paper Passport - Togo - Gendarmerie ID - Togo - Military ID - Togo - Police ID - Togo - Residence Permit - Togo - Voter ID - Tonga - Paper Passport - Yemen - Paper Passport - Ghana - Health Insurance Card #### New document versions for supported documents - Afghanistan - Identity Card - Cameroon - Identity Card - Chile - Driver's License - Colombia - Alien ID - Costa Rica - Identity Card - Malaysia - Driver's License - Moldova - Identity Card - Netherlands - Driver's License - Panama - Driver's License - South Korea - Driver's License - South Korea - Identity Card - Sweden - Driver's License - UK - Polycarbonate Passport - USA - Veteran ID - USA, Alaska - Identity Card - USA, California - Driver's License - USA, California - Identity Card - USA, North Carolina - Driver's License - USA, Texas - Driver's License - USA, Texas - Identity Card - USA, Texas - Weapon Permit - Vietnam - Driver's License - Zimbabwe - Identity Card #### New segments supported on documents - Greece, Estonia, Finland, Hungary, Ireland, Latvia, Lithuania, Norway, Romania, Slovenia, Croatia, Slovakia, Poland, Malta, Austria, Luxembourg, Netherlands, Bulgaria, Portugal, Cyprus, Sweden, Czechia, Belgium, Germany, Italy, Spain, Switzerland, Denmark - Residence Permit: remarks, residencePermitType - Belgium, Minors ID: added parentsInfo vector - Nicaragua, Passport: barcode - USA, Social Security Card: workRestriction - China, Identity Card: permanentExpiry (Chinese) ### API changes This release contains numerous **breaking** API-level changes, predominantly for the `/blinkcard` endpoint. Many fields have been renamed or relocated. A rename may have been accompanied with a logic change or a change in default values. For a detailed explanation of the underlying changes, see the [v3000 migration guide](/blinkcard/migration-v3000), specifically the [Changes in scanning settings](/blinkcard/migration-v3000#changes-in-scanning-settings) and the [Changes in the result object](/blinkcard/migration-v3000#changes-in-the-result-object) chapters. #### `/blinkcard` In the request body: - `extractOwner` has been renamed to `extractCardholderName`. - `allowInvalidCardNumber` has been renamed to `extractInvalidCardNumber`. - `returnFullDocumentImage` has been renamed to `returnFullCardImage`. - `skipFramesWithBlur` has been renamed to `skipImagesWithBlur`. - `handScaleThreshold` has been renamed to `handToCardSizeRatio`. - `handDocumentOverlapThreshold` has been renamed to `handCardOverlapThreshold`. - `screenAnalysisMatchLevel` has been renamed to `screenCheckStrictnessLevel`. - `photocopyAnalysisMatchLevel` has been renamed to `photocopyCheckStrictnessLevel`. - `anonymizationSettings.ownerAnonymizationMode` has been renamed to `anonymizationSettings.cardholderAnonymizationMode`. - `anonymizationSettings.fallbackAnonymization` has been removed with no replacement. - `enableCardHeldInHandCheck` has been added. In the `data` response object: - `cardIssuer` has been renamed to `issuingNetwork`. - `owner` has been renamed to `cardholderName`. - `firstSideFullDocumentImage` has been renamed to `firstSideFullCardImage`. - `secondSideFullDocumentImage` has been renamed to `secondSideFullCardImage`. - `firstSideBlurred` (boolean) has been replaced by `firstSideBlurDetectionStatus` (enum: `NOT_AVAILABLE`, `NOT_DETECTED`, `DETECTED`). - `secondSideBlurred` (boolean) has been replaced by `secondSideBlurDetectionStatus` (enum: `NOT_AVAILABLE`, `NOT_DETECTED`, `DETECTED`). - `documentLivenessCheck` (with `.front`/`.back` sub-objects) has been replaced by two separate top-level fields: `firstSideCardLivenessResult` and `secondSideCardLivenessResult`. Each contains `screenCheckResult`, `photocopyCheckResult`, and `cardHeldInHandCheckResult` (replacing the old `handPresenceCheck`). The `matchLevel` sub-field has been removed. The result type changed from `CheckResult` to `CardCheckResult`: the `NOT_PERFORMED` value has been renamed to `NOT_AVAILABLE`. - The following fields have been added: `fundingType`, `cardCategory`, `issuerName`, `issuerCountryCode`, `issuerCountry`. - The `processingStatus` enum has three new values: `AWAITING_OTHER_SIDE`, `FRAME_NOT_FOCUSED`, `NOT_SCANNED`. It no longer has `UNSUPPORTED_CARD`. #### `/blinkid-multi-side` Enum values affect document rules and anonymization settings when filtering. They are present in both request and response bodies. The following enum values have been added: - In `FieldType` (a type describing numerous `AdditionalProcessingInfo` fields): - `CHIN_PERMANENT_EXPIRY` - `EFFECTIVE_DATE` - `HUSBAND_NAME` - `LEGAL_STATUS` - `PARENTS_FIRST_NAME` - `PARENTS_FIRST_NAME2` - `PARENTS_LAST_NAME` - `PARENTS_LAST_NAME2` - `SOCIAL_SECURITY_STATUS` - `WORK_RESTRICTION` - In `Type` (describing new document classes): - `TYPE_GENDARMERIE_ID` - `TYPE_MYSSS_CARD` - `TYPE_NIN_CARD` - `TYPE_POLICE_ID` - In `Country`: - `COUNTRY_SAINT_THOMAS_AND_PRINCE` - In `Region`: - `REGION_ACRE` - `REGION_ESPIRITO_SANTO` - `REGION_MATO_GROSSO_DO_SUL` - `REGION_ODISHA` - `REGION_PARAIBA` - `REGION_PIAUI` - `REGION_RIO_GRANDE_DO_NORTE` - `REGION_TOCANTINS` - `REGION_UTTARAKHAND` New fields have been added to `BlinkIdMultiSideRecognizerOutput` and `VIZResult` (reflected in `data`, `firstSideViz`, and `secondSideViz`): - `effectiveDate` - `husbandName` - `legalStatus` - `parentsInfo` (array of `ParentInfo`) - `socialSecurityStatus` - `workRestriction` #### `/blinkid-single-side` Same enum additions as `/blinkid-multi-side`. New fields have been added to `BlinkIdSingleSideRecognizerOutput` and `VIZResult` (reflected in `data` and `viz`): - `effectiveDate` - `husbandName` - `legalStatus` - `parentsInfo` (array of `ParentInfo`) - `socialSecurityStatus` - `workRestriction` ## 4.7.0 ### What's New - For some documents, the document type was returned as None, which was causing confusion. To prevent this, we are filling in the document type from the barcode in case customers are using BarcodeId mode. - The fix is applied to all the AAMVA types, plus some others (Argentina, Canada, Colombia, Nigeria, Panama, Paraguay, SouthAfrica). ### Added - `SUB_FIELD_DESIGNATOR` added to the `BarcodeElementKey` enum. - Three new management endpoints: `/info`, `/health`, and `/health/{selector}` (to check for `LIVENESS` and `READINESS`). These last two are also enumerated in the `HealthCheckType` component. ## 4.6.0 ### What's new - Added support for capturing the back of US and India passports that feature a barcode. - Prevent parsing of two-line MRZ in TD1 format unless it's explicitly allowed. This will prevent false positive MRZ extraction on documents where the last line of the MRZ is covered or not fully visible. ### API changes - Added to the `Region` enum: - `REGION_TELANGANA` - Added to the `FieldType` enum: - `MUNICIPALITY_OF_REGISTRATION` - `LOCALITY_CODE` - `MAIDEN_NAME` - `STATE_CODE` - `DATE_OF_ENTRY` - `MUNICIPALITY_CODE` - `POLLING_STATION_CODE` - `SECTION_CODE` - `REGISTRATION_CENTER_CODE` - `STATE_NAME` - Added to the `Type` enum: - `TYPE_EMERGENCY_PASSPORT` - `TYPE_TEMPORARY_PASSPORT` - `TYPE_METIS_FEDERATION_CARD` - `TYPE_ADR_CERTIFICATE` - Added to `BlinkIdMultiSideRecognizerOutput`, `BlinkIdSingleSideRecognizerOutput`, and `VIZResult` objects: - `dateOfEntry` - `localityCode` - `maidenName` - `municipalityCode` - `municipalityOfRegistration` - `pollingStationCode` - `registrationCenterCode` - `sectionCode` - `stateCode` - `stateName` - Added to `BlinkIdMultiSideRecognizerOutput` and `BlinkIdSingleSideRecognizerOutput` objects: - `fathersName` - `mothersName` ### Bugfixes - Users are no longer forced to scan back sides of Alien and Refugee passports. - Fixed the issue with Togo ID where document number from VIZ was overridden by a wrong value from MRZ. ### New Documents Support - Angola - Paper Passport - Bahrain - Polycarbonate Passport - Burkina Faso - Polycarbonate Passport - Cameroon - Driver's License - Canada, Manitoba - Metis Federation Card - East Timor - Polycarbonate Passport - El Salvador - Paper Passport - Eritrea - Paper Passport - France - Adr Certificate - Germany - Adr Certificate - Ghana - Voter ID - India, Telangana - Driver's License - Ivory Coast - Paper Passport - Japan - Polycarbonate Passport - Liberia - Paper Passport - Liberia - Voter ID - Malawi - Identity Card - Malawi - Paper Passport - Maldives - Polycarbonate Passport - Mali - Paper Passport - Mauritius - Paper Passport - Oman - Vehicle Registration - Paraguay - Polycarbonate Passport - Rwanda - Driver's License - Senegal - Driver's License - Sierra Leone - Paper Passport - Somalia - Paper Passport - Switzerland - Adr Certificate - Togo - Driver's License - Togo - Paper Passport - USA, Maryland - Medical Marijuana ID - Vietnam - Paper Passport ### New Document Versions for Supported Documents - Chile - Polycarbonate Passport - India - Paper Passport - Moldova - Identity Card - Pakistan - Identity Card - Peru - Identity Card - Romania - Identity Card - Slovakia - Identity Card - USA, California - Driver's License - USA, California - Identity Card - USA, New Hampshire - Identity Card - USA, Georgia - Medical Marijuana ID - USA, Pennsylvania - Medical Marijuana ID - USA, South Carolina - Driver's License - USA, South Carolina - Identity Card - USA, Texas - Driver's License - USA, Texas - Identity Card ### New Segments Supported on Documents - Switzerland, Residence Permit - 'dateOfEntry' - Hungary, Identity Card - 'maidenName', 'nationality', 'sexOrGender', 'documentNumber', 'dateOfBirth' - Greece, Identity Card - 'fathersName' (Latin and Greek), 'mothersName' (Latin and Greek), 'personalIdNumber', 'issuingAuthority' (Greek), 'municipalityOfRegistration' (Greek) - Mexico, Voter ID - 'sectionCode', 'stateCode', 'municipalityCode', 'localityCode' - Mexico, Consular Voter ID - 'stateCode', 'stateName' ### Renamed segments - Hungary - Identity Card - `additionalNameInformation` -> `mothersName` ## 4.5.0 ### What's New - Updated detection analysis logic in case of photo mode - Added new `parsed` result member to the `BarcodeResult` which indicates whether the raw barcode data was successfully parsed ### Bugfixes - Fixed the issue with scanning the back of the Essad Card which was causing only Date of Expiry to be extracted - Fixed the issue with `additionalNameInformation` extraction for France ID and Residence Permit ## 4.4.0 ### New Documents Support - Canada, Newfoundland And Labrador - Identity Card - Canada, Northwest Territories - Driver's License - Canada, Northwest Territories - Identity Card - Canada, Prince Edward Island - Identity Card - Canada, Yukon - Identity Card ### New Document Versions for Supported Documents - Canada, Yukon - Driver's License ### API Changes - `dependentsInfo` in `VizResult` is now nullable ## 4.3.0 ### What's new - Improved extraction for Canada/Nunavut ID and DL by introducing error correction for "1" and "I" characters which look the same in the font used on a document ### API changes - Added to the `FieldType` enum: - `NATIONAL_INSURANCE_NUMBER` - `COUNTRY_CODE` - `CERTIFICATE_NUMBER` - Added to `Type` enum: - `TYPE_NON_CARD_TRIBAL_ID` - `TYPE_DIPLOMATIC_ID` - Added to `BlinkIdMultiSideRecognizerOutput`, `BlinkIdSingleSideRecognizerOutput`, and `VIZResult` objects: - `certificateNumber` - `countryCode` - `nationalInsuranceNumber` ### Bugfixes - Fixed document number extraction from Canada/Nunavut barcodes - Fix for ARGENTINA ID and ALIEN_ID documents - made separate barcode scanning step optional for these documents. They have a barcode on the front side, and requiring barcode extraction was causing the scanning process to get stuck on the front. ### New Documents Support - Canada, Nunavut - Driver's License - Canada, Nunavut - Identity Card - Liberia - Identity Card - Mali - Identity Card - UK - Military ID ### New Document Versions for Supported Documents - Bahrain - Identity Card - Canada - Weapon Permit - Chile - Alien ID - Chile - Identity Card - Finland - Driver's License - Indonesia - Driver's License - Kosovo - Identity Card - Latvia - Polycarbonate Passport - Mexico, Chiapas - Driver's License - Mexico, Ciudad de Mexico - Driver's License - Mexico, Durango - Driver's License - Mexico, Jalisco - Driver's License - Sri Lanka - Driver's License - USA, Alaska - Driver's License - USA, New Hampshire - Driver's License - European Union - Health Insurance Card ### New Beta Documents Support - Canada - Non Card Tribal ID - Dominica - Paper Passport - Dominica - Polycarbonate Passport - UAE - Diplomatic ID - USA, Georgia - Medical Marijuana ID ### New Document Versions for Beta-Supported Documents - Egypt - Driver's License - Mexico, Quintana Roo - Driver's License - Philippines - Postal ID - Vietnam - Identity Card ### New Segments Supported on Documents - European Union, Health Insurance Card - `countryCode` - Italy, Identity Card - `documentOptionalAdditionalNumber` - France, Identity Card - `additionalNameInformation` - UK, Asylum Request - `residencePermitType`, `remarks` - UK, Residence Permit - `residencePermitType`, `remarks`, `certificateNumber`, `nationalInsuranceNumber` ### Renamed segments - Bahrain - Identity Card - `documentNumber` -> `personalIdNumber` ## 4.2.1 ### Bug Fixes - Fixed a bug in which location strings would show up as "Infinity" in the response. This has been fixed for all scripts: - `latinLocation` - `cyrillicLocation` - `arabicLocation` - `greekLocation` ## 4.2.0 ### Bug Fixes - Fixed data match bug when partial anonymization is enabled - Fixed face extraction bug for rotated face images on documents - Improved face extraction for documents without face image (skipping face image extraction in that case) - Fixed face extraction bug for Philippines Passport document - Properly fill ProcessResult during the Barcode Capture step, ensuring only relevant fields are filled - Fixed bug that forced scanning of the back side of the Germany Residence Permit in passport document - Fixed bug that caused skipping back side when only signature was present ## 4.1.0 ### New Documents Support - Austria - Refugee Passport - Austria - Polycarbonate Refugee Passport - Burkina Faso - Driver's License - Burkina Faso - Paper Passport - Costa Rica - Residence Permit - Gambia - Paper Passport - Guinea - Polycarbonate Passport - Rwanda - Polycarbonate Passport - South Korea - Polycarbonate Passport - Tanzania - Polycarbonate Passport - Uganda - Paper Passport - Uganda - Polycarbonate Passport - Zambia - Driver's License - Zambia - Paper Passport - USA, Florida - Medical Marijuana ID - USA, Pennsylvania - - Medical Marijuana ID ### New Document Versions for Supported Documents - Bangladesh - Second data page support on Paper Passport and Polycarbonate Passport - Kosovo - Paper Passport - Mexico, Colima - Driver's License - Mexico, Mexico - Driver's License - Netherlands - Identity Card - Netherlands - Polycarbonate Passport - Romania - Identity Card, Back side scanning - Romania - Polycarbonate Passport - Singapore - Employment Pass, Back side scanning - Slovakia - Polycarbonate Passport - Syria - Paper Passport ### New Beta Documents Support - Benin - Paper Passport - Burundi - Polycarbonate Passport - Chad - Identity Card - Kenya - Driver's License - Mozambique - Polycarbonate Passport - Spain - Registration Certificate - Sudan - Identity Card - Zimbabwe - Driver's License - USA, Nevada - Medical Marijuana ID - USA, New York - Medical Marijuana ID - USA, Oklahoma - Medical Marijuana ID ### New Document Versions for Beta-Supported Documents - Mexico, Guanajuato - Driver's License - Mexico, Puebla - Driver's License - Croatia - Health Insurance Card ### New Segments Supported on Documents - Greece - Identity Cards, Driver's Licenses, Residence Permits and Passports - expanding support for extracting segments in Greek script - Saudi Arabia, Identity Card - expanding support for extracting segments in Arabic script - Egypt, Driver's Licenses - expanding support for extracting segments in Arabic script ## 4.0.0 ### What's New - **Removed ID barcode endpoint** - `/id-barcode` endpoint has now been removed from the API. If you previously relied on the`/id-barcode` endpoint, use `/blinkid-single-side` instead. - **Improved error handling**: - If a request is made to an endpoint that is not supported by the provided license key, the API will now return an error message `Recognizer Not Supported by License`. - **Backward compatibility** - Existing production keys will continue to work with version 3.15.0. No new license key is required for the upgrade. - **Security improvements** - Updated major frameworks and libraries. - Updated base image to enhance security and performance. ### Major API Changes **Note**: In addition to API functionality changes, the provided OpenAPI schemas may also contain syntactic differences which don't affect the usage of the API. #### Request The request structure has been updated to improve clarity. Changes include renamed request properties, newly added properties, and removed properties. Ensure your integration reflects these changes. #### Renamed Properties To align with our naming conventions, request properties have been updated: - `imageFront` → `imageFirstSide` - `imageBack` → `imageSecondSide` - `enableBlurFilter` → `skipImagesWithBlur` - `allowBarcodeScanOnly`→ `enableBarcodeScanOnly` - `scanUnsupportedBack` → `scanUnsupportedSecondSide` - `allowUncertainFrontSideScan` → `allowUncertainFirstSideScan` - `validateResultCharacters` → `enableCharacterValidation` - `additionalAnonymization` → `customDocumentAnonymizationSettings` - `skipUnsupportedBack` → `scanUnsupportedSecondSide` - `customClassRules` → `customDocumentRules` (changed type from `ClassFilter` to `DocumentFilter`) #### Added Properties - `enableBarcodeScanOnly` - Allows barcode recognition to proceed even if initial extraction fails. - `enableCharacterValidation` - Ensures extracted characters meet expected formats. - `customDocumentRules` - Allows defining custom document processing rules. - `skipImagesWithBlur` - Filters out blurry images to improve recognition accuracy. - `skipImagesWithInadequateLightingConditions` - Filters out images with poor lighting. - `skipImagesOccludedByHand` - Skips images that are partially covered by a hand. - `customDocumentAnonymizationSettings` - Allows setting custom anonymization settings per document type. #### Removed Properties - `allowUnverifiedMrzResults` - No longer needed as both verified and unverified MRZ will always be returned. You can use the `verified` boolean field in the `mrzData` response to check whether the MRZ was valid or not. We define MRZ to be `valid` if check digits in the MRZ are correct. - `validateResultCharacters` - Replaced by `enableCharacterValidation`. - `allowBarcodeScanOnly` - Now replaced by `enableBarcodeScanOnly`. - `enableBlurFilter` - Now handled by `skipImagesWithBlur`. - `additionalAnonymization` - Moved or consolidated into `customDocumentAnonymizationSettings`. - `customClassRules` - Removed from request settings. - `allowUnparsedMrzResults` - No longer needed as the new and improved MRZ parser will now always return the result, as long as OCR returns the MRZ characters. If MRZ cannot be parsed, the `mrzData` response will be `null`. #### Response The response structure has been updated for consistency with the new request structure. Changes include renamed response properties, newly added properties, and removed properties. Be sure to adjust your processing logic accordingly. #### Renamed Properties To align with our naming conventions, response properties have been renamed: - `fullDocumentFrontImageBase64` → `fullDocumentFirstSideImage` - `fullDocumentBackImageBase64` → `fullDocumentSecondSideImage` - `frontViz` → `firstSideViz` - `backViz` → `secondSideViz` - `frontImageAnalysisResult` → `firstSideImageAnalysisResult` - `backImageAnalysisResult` → `secondSideImageAnalysisResult` - `frontProcessingStatus` → `firstSideProcessingStatus` - `backProcessingStatus` → `secondSideProcessingStatus` - `frontAdditionalProcessingInfo` → `firstSideAdditionalProcessingInfo` - `backAdditionalProcessingInfo` → `secondSideAdditionalProcessingInfo` - `glareDetected` → `glareDetectionStatus` - `blurDetected` → `blurDetectionStatus` - `cardOrientation` → `documentOrientation` - `cardRotation` → `documentRotation` - `classInfo` → `documentClassInfo` - `belowAgeLimit` → `isBelowAgeLimit` - In the `ProcessingStatus` object: - `CLASS_FILTERED` → `DOCUMENT_FILTERED` - `UNSUPPORTED_CLASS` → `UNSUPPORTED_DOCUMENT` - The `LocationInfo.side` object now uses `FIRST` and `SECOND` instead of `SIDE_FRONT` and `SIDE_BACK` #### Added Properties - `fullDocumentImage` - Stores the full image of the document. - `signatureImage` - Stores the extracted signature image. - `faceImage` - Stores the extracted face image. - `verified` - Boolean in MrzResult that is true if all check digits inside MRZ are correct, false otherwise. #### Removed Properties - `fullDocumentImageBase64` - Now stored in `fullDocumentImage`. - `faceImageBase64` - Now stored in `faceImage`. - `faceImageLocation` - Now stored in `faceImage` - `signatureImageBase64` - Now stored in `signatureImage`. - `UNSUPPORTED_BY_LICENSE` value in the `ProcessingStatus` object ### Plan Your Upgrade For any questions or feedback, reach out to support@microblink.com. We value your input and look forward to hearing how the new BlinkID improves your app’s experience! ## 3.15.0 ### New Documents Support - Benin - Identity Card - Costa Rica - Polycarbonate Passport - Gambia - Identity Card - Guinea - Identity Card - Nicaragua - Paper Passport - Pakistan - Polycarbonate Passport - Saudi Arabia - Polycarbonate Passport - Senegal - Paper Passport - Suriname - Identity Card - Uruguay - Paper Passport - Zimbabwe - Polycarbonate Passport ### New Document Versions for Supported Documents - Australia, Northern Territory - Proof Of Age Card - Ecuador - Driver's License - Ecuador - Paper Passport - El Salvador - Identity Card - Finland - Identity Card - Germany - eID - Greece - Driver's License - Guatemala - Driver's License - Kenya - Identity Card - Luxembourg - Residence Permit - Mexico, Hidalgo - Driver's License - Mexico, Quintana Roo-Solidaridad - Driver's License - Mexico, Tamaulipas - Driver's License - Mozambique - Identity Card - New Zealand - Driver's License - Nicaragua - Identity Card - Tunisia - Driver's License - Uganda - Driver's License - UK - Asylum Request - UK - Proof Of Age Card - USA - Passport Card - USA, Michigan - Identity Card - USA, Tennessee - Driver's License - USA, Tennessee - Identity Card ### New Beta Documents Support - Brazil, Alagoas - Identity Card - Grenada - Paper Passport - Honduras - Resident ID - Paraguay - Paper Passport - Saint Kitts and Nevis - Paper Passport - UAE - Esaad Card ### New Document Versions for Beta-Supported Documents - El Salvador - Driver's License - Honduras - Driver's License - Hong Kong - Polycarbonate Passport - India, Gujarat - Driver's License - Liechtenstein - Driver's License - Mexico, Quintana Roo-Cozumel - Driver's License - Mozambique - Driver's License - Saint Lucia - Paper Passport ### Out of beta - UK - Asylum Request - USA, North Dakota - Identity Card ### Bug Fixes - NY ID/DL: Added logic to expose the Enhanced document subtype, allowing customers to distinguish between regular and enhanced versions. - Bolivia & Namibia ID: Resolved data match inconsistencies that were causing data match failures. - Romanian ID: Multi side scan no longer expects blank back card of old IDs, even with `skipUnsupportedBack` set to `false`. - Fixed `backImageAnalysisResult.cardRotation` not being correctly populated when scanning the wrong side of a document. ## 3.14.0 ### What's New - **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. By default, this feature is disabled but can be enabled via the `scanPassportDataPageOnly` setting. This feature is in beta, and your feedback is appreciated. - 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. ### Bug Fixes - 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. ## 3.13.1-lite ### Bug fixes - 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 ## 3.13.0-lite ### New Documents Support - 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 #### New Document Versions for Supported Documents - 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 ### New Beta Documents Support - 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 ### New Document Versions for Beta-Supported Documents - 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 ### New Segments Supported on Documents - 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` ### Renamed segments - Barbados - Identity Card - `personalIdNumber` -> `documentNumber` - Panama - Identity Card - `personalIdNumber` -> `documentNumber` - Panama - Residence Permit - `personalIdNumber` -> `documentNumber` ### New Features - **Greek Alphabet Support** - We’ve added support for extracting `Place of Birth` in both Greek and Latin scripts. - **The Quite OK Image Format** - introduced `QOI` image format for result images - ImageFormat enum has now new value: `QOI` ## 3.12.0-lite ### New features - **Ability to choose image format** - You can now select the image format in which BlinkID returns images, with options for JPG and PNG. This new setting allows you to tailor the image output to meet the specific requirements of your use case, providing flexibility in balancing image quality and file size. ### New document versions for supported documents - Sweden - Social Security Card - Back side - Bolivia - Driver's License - Back side - Brazil, Distrito Federal - Identity Card - Back side ### Out of beta - Colombia - Temporary Protection Permit ### New beta documents support - France - Professional ID - Mexico - Tax ID ### New document versions for beta-supported documents - Brazil, Parana - Identity Card - Back side - Brazil, Santa Catarina - Identity Card - Back side ### New segments supported on documents - Peru - Alien ID - MRZ ### Bug fixes - 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. ## 3.11.0-lite ### New Features - **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. If BlinkID can not detect a complete face image, it will prompt users with real-time feedback _"Keep the document fully visible."_ - **Added new values to `Class Info` enum:** - Region: `ALAGOAS` for Brazilian documents - Type: `AFGHAN_CITIZEN_CARD`, `EID`, `PASS`, `SIS_ID` ### API breaking change - **Additional anonymization** - The ClassAnonymizationSettings class used for additional anonymization now includes a ClassFilter for filtering classes by Country, Region, and Type. - example of old additionalAnonymization JSON structure: ``` "additionalAnonymization": [ { "country": "COUNTRY_USA", "region":"REGION_CALIFORNIA", "type": "TYPE_DL", "fields":["FIRST_NAME"] } ] ``` - example of new additionalAnonymization JSON structure: ``` "additionalAnonymization": [ { "classFilter": { "country": "COUNTRY_USA", "region": "REGION_CALIFORNIA", "type": "TYPE_DL" }, "fields": ["FIRST_NAME"] } ] ``` ### New Documents Support - 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 ### New Document Versions for Supported Documents - 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 ### Out of Beta - European Union - Health Insurance Card ### New Beta Documents Support - Democratic Republic of the Congo - Voter ID - Philippines - Alien ID - Philippines - Postal ID - Philippines - Work Permit - Philippines - Health Insurance Card ### New Document Versions for Beta-Supported Documents - Honduras - Paper Passport - Mexico, Sonora - Driver's License - Peru - Alien ID - Philippines - Alien ID ### New Segments Supported on Documents - China Exit Entry Permit - MRZ - China Mainland Travel Permit Taiwan - MRZ - France Residence permit - `Remarks` & `ResidencePermitType` - Philippines Alien ID - `visaType` ### Bug Fixes - 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 ## 3.10.0-lite ### New Features - **Glare detection** - We’ve introduced glare detection to BlinkID. - **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 disable blur filtering by setting the `enableBlurFilter` (ex. `allowBlurFilter`) boolean parameter to `false`. - **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. - **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). ### Minor API changes - Added a new result member `documentSubtype` in BlinkIDSingleSideResponse, BlinkIDMultiSideResponse, and VIZResult to include subtype information for US driver’s licenses or ID cards (commercial, provisional, etc.) - Renamed setting `allowBlurFilter` to `enableBlurFilter` - Changes to the`ImageAnalysisResult`: - added boolean `glareDetected` - renamed `blurred` to `blurDetected` ### Bug Fixes - Fixed data match for Paraguay ID 2023 to cover inconsistencies between the MRZ and Visual Inspection Zone (VIZ) ## 3.9.1-lite ### Bug Fixes - Fixed document number anonymization bug ## 3.9.0-lite ### New Features - 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.. - 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. ### Minor API changes - Added `BarcodeDetectionFailed` as a new `ProcessingStatus` - This status is triggered once the barcode was not found on the image. This processing status can only occur if the document has the mandatory barcode. - Added new boolean member `realIdDetectionStatus` to the `ImageAnalysisResult`. If `true`, Real ID symbol is present, `false` otherwise. - Added new member `documentNumberAnonymizationSettings` to the `ClassAnonymizationSettings` for seamless integration with the document number anonymization feature. ### Bug Fixes - Updated internal mapping for Myanmar Passports to display nationality as "Myanmarese" instead of "Burmese" on Myanmar passports. ## 3.8.0-lite ### Changes to BlinkID(Combined) Recognizer - Added support for extraction of `sponsor` and `bloodType` in vizResult ### Added support for 7 new documents: - 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 ### Added support for 10 new documents in BETA: - 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 ### Added new version support for 37 already supported documents - 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 ### Added new version support for 7 already supported documents in BETA: - 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 ### These documents are no longer BETA: - Croatia - Residence Permit - Moldova - Paper Passport ## 3.7.0 ### Improvements - Added support for extraction of `visaType` and `numberOfEntries` from visas ## 3.6.0-lite ### Bugfixes - Fixed data matching issue in Guatamala Passport - 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 ### Changes to BlinkCardRecognizer - Improved scanning performance and added support for virtually any card layout - Improved IBAN parser which now supports more IBAN formats - Added option `allowInvalidCardNumber` which allows reading invalid card numbers to avoid endless scanning on samples and test cards: - use with care as it might reduce accuracy in certain situations in production - for invalid card number the flag `cardNumberValid` in `data` will be set to `false` ### Improvements - Better support for RTL languages in our default UX ## 3.5.0-lite ### New features - 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` ## 3.4.0-lite ### New features - Changes to the `BlinkIdSingleSideRecognizer` and `BlinkIdMultiSideRecognizer`: - added new structure LocationInfo (with `topLeftCorner`, `dimensions`, `side` members) - added new result members inside `StringResult`: - `latinLocation` - location of latin recognition - `cyrillicLocation` - location of cyrillic recognition - `arabicLocation` - location of arabic recognition - new result member in `BlinkIdSingleSideRecognizerOutput` and `BlinkIdMultiSideRecognizerOutput`: - `faceImageLocation` - Add new `Country` enum value - `SCHENGEN_AREA` - And new `Type` enum value - `IMMIGRANT_VISA` ### Bugfixes - Remove autofill on `Russian` passport `DateOfExpiry` when present on a document - Improved scanning success rate and stability when using `BlinkIdMultiSideRecognizer` ## 3.3.0 ### New features - support for visa documents - fix for data match for Korean Passport - postprocessing of full name for France Residence Permit - data is split to first name and last name - added new items to enums: - Country: - SCHENGEN_AREA - Type: - IMMIGRANT_VISA - FieldType: - durationOfStay - numberOfEntries - visaType ### Added support for 8 new documents in BETA - Canada - Visa - China - Visa - India - Visa - Schengen Area - Visa - UK - Visa - USA - Immigrant Visa - USA - Visa - UAE - Residence Permit ### Improvements - Included hand, photocopy, and screen detection models to achieve liveness functionality - Added anonymization info on which side was anonymized. String data is anonymized using an asterisk instead of blanking the result. - Expanded the number of supported credit card types by 100%. - Improved data extraction, including a 30% reduction in incorrect processing of CVV field. ## 3.2.0 ### New features - 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 ### Added support for 9 new documents - 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 ### Added support for 23 new documents in BETA - 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 ### Added support for 28 new versions of already supported documents - 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 ### Added support for 3 new versions of already supported documents in BETA - Denmark - Residence Permit - Estonia - Residence Permit - Latvia - Residence Permit ## 3.1.0 ### New features - added support for ARM processors - 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 ### Added support for 9 new 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 ### Added support for 9 new documents in BETA: - 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 ### Added support for 34 new versions of already supported documents: - 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 ### Added support for 2 new versions of already supported documents in BETA: - Poland - Residence Permit - Portugal - Residence Permit ## 3.0.0 ### New features - option to enable extraction of arabic data on certain documents and fields - option to enable extraction of cyrillic data on certain documents and fields - barcode performance improvement (new ML model) - unified DataMatchResult and DataMatchDetailedInfo into a single structure DataMatchResult (removed dataMatchDetailedInfo result member) - added new result member cardOrientation to ImageAnalysisResult structure - added new structure AdditionalProcessingInfo - added new structure StringResult (with Latin, Cyrillic, Arabic members) - separated DateResult into Date and DateResult - renamed endpoints: `/blinkid` into `/blinkid-single-side` and `/blinkid-combined` into `/blinkid-multi-side` ### Added support for 50 new versions of already supported documents: - 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 ### These documents are no longer BETA: - 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 ### Added support for 2 new ID types in BETA: #### Latin America and the Caribbean - Cuba - ID card - Cayman Islands - Drivers License ### Already supported documents but now with option to enable extraction for new scripts #### Arabic - 5 ID types - Egypt - ID card - Jordan - ID card - UAE - ID card - UAE - Passport - UAE - Resident ID #### Cyrillic - 10 ID types - 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 ## 2.10.0 ### New feature: - ML models with new architecture that result in further 8% decrease in error rate ### Support for 8 new document types: - Northern America - USA - Polycarbonate Passport - USA - Nebraska - ID Card - USA - New York - ID Card - USA - Utah - ID Card -Latin America and the Caribbean - Mexico - Polycarbonate Passport - Brazil - Sao Paolo - ID Card - Europe - Austria - Residence Permit - Asia - Philippines - ID Card ### Back side support added: - Australia - South Australia - Driving license ### Added support for 29 new versions of already supported documents: - 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 ### These documents are no longer BETA: - Finland - Residence Permit - Guatemala - Driving license ### Added support for 2 new ID types in BETA: - Antigua and Barbuda - Driving license - Mexico - Professional ID Card ### Changes to BlinkID(Combined) Recognizer - Added new item to enums: - Region: - Sao Paulo, when scanning Brazilian Driving licenses - Fixed scanning for Argentina ID - there were confusions for Veteran ID, now we enabled successful extraction on Veteran ID as well ## 2.9.0 ### Changes to BlinkID(Combined) Recognizer - We can now successfully extract data from non-ICAO compliant MRZ fields on the Vietnam Passports when the filler arrow is facing the other way (\>) instead of the standard way (\<). ### Anonymization - We've added additional anonymization support for: - Religion field on all supported Malaysian documents (MyKad, MyKas, MyKid, MyPR, MyTentera) ### Bugfixes - Resolved issues with RGB color overlay while extracting document image, which was present on some devices ### New feature: - Added SSL support - Introduced new docker environment variables: SSL_ENABLED, SSL_KEY_STORE_PATH, SSL_KEY_STORE_PASSWORD, SSL_KEY_STORE_TYPE, SSL_KEY_STORE_PROVIDER, SSL_KEY_PASSWORD and SSL_KEY_ALIAS ## 2.8.1 ### Improvements for existing features: * We've resolved security vulnerabilities ## 2.8.0 ### New feature: - Updated machine learning models resulting in a 41% reduced error rate. ### Support for 16 new document types: - Northern America - USA - Passport Card - USA - District of Columbia - ID Card - USA - Iowa - ID Card - USA - Tennessee - ID Card - Latin America and the Caribbean - Cuba - Paper Passport - Dominican Republic - Paper Passport - Panama - Residence Permit (front only) - Peru - Paper Passport - Europe - Cyprus - Paper Passport - Germany - Minors Passport - UK - Proof of Age Card (front onyl) - Ukraine - Residence Permit - Ukraine - Temporary Residence Permit - Middle East and Africa - Qatar - Paper Passport - UAE - Paper Passport - Oceania - Australia - Northern Territory - Proof of Age Card ### Back side support added: - 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 ### Added support for 26 new versions of already supported documents: - 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 ### These documents are no longer BETA: - Algeria - Paper Passport - Slovakia - Residence Permit - USA - Mississippi - ID Card ### Added support for 8 new ID types in BETA: - 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 ### Changes to BlinkID(Combined) Recognizer - Added new enums: - Region: `QUINTANA_ROO_COZUMEL` - Type: `CONSULAR_PASSPORT`, `MINORS_PASSPORT`, and `MINORS_PUBLIC_SERVICES_CARD` ## 2.7.1 ### Improvements for existing features: * We've resolved security vulnerabilities ## 2.7.0 ### Changes to BlinkID(Combined) Recognizer - 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` and `dateOfExpiry`. - 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. - 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. ### Changes to BlinkCardRecognizer - We’ve added support for 1000+ new credit card types. - Decrease of wrongly PAN field processing by 30% for horizontal credit cards, and by 60% for vertical credit cards. - Improvements in the Anonymization functionality for Quick Read formats on VISA credit cards, as well as general improvements for all other credit card types. ## 2.6.2 ### Improvements for existing features: * We've resolved security vulnerabilities ## 2.6.1 ### Improvements for existing features: * We've resolved security vulnerabilities ## 2.6.0. ### We've added new documents to our list of supported documents - Europe - Austria - ID Card (front only) - Germany - ID Card - Latin America and the Caribbean - Brazil - ID Card (beta) - Colombia - ID Card (front only) - Ecuador - ID Card - Mexico - 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) - Oceania - Australia - Northern Territory (beta) - Asia - Japan - My Number Card (front only) - Singapore - Resident ID - Northern America - USA - Missouri - ID Card - USA - Nevada - Driving Licence - USA - New York City - ID Card - USA - Oklahoma - ID Card ### Back side support added: - Mexico - Chiapas - Driving License ### No longer BETA: - Mexico - Baja California - Driving Licence - Mexico - Chihuahua - Driving Licence - Mexico - Coahuila - Driving Licence - Mexico - Guanajuato - Driving Licence - Mexico - Mexico - Driving Licence ### Changes to BlinkID(Combined) Recognizer - We've added new result members when scanning Australian Driving Licences: `vehicleClass`, `licenceType`, `effectiveDate` and `expiryDate`. - 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). - 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. - 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`. ### Removed recognizers - We've removed recognizers: `GermanyDLBack Recognizer` and `SingaporeChangiEmployeeId Recognizer`. ### Changes to IDBarcodeRecognizer - 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 character "X". ### Improvements - 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. ## 2.5.1 ### Bug fixes: * Fixed issues with barcode recognition ## 2.5.0 ### Newly added versions of documents for already supported documents ### We’ve added 24 new documents to our list: - Europe - Belgium - Driving License (front only) - Croatia - ID Card - France - ID Card - France - Residence Permit (beta) - Spain - ID Card - Switzerland - Residence Permit - UK - Residence Permit - Oceania - Australia - Northern Territory - Driving License (front only, beta) - Middle East and Africa - UAE - ID Card - UAE - Resident ID - Northern America - Honduras - ID Card (beta) - USA - Colorado - ID Card - USA - Minnesota - Driving License - USA - Nevada - Driving License - USA - Oklahoma - Driving License - USA - Wyoming - Driving License ### Changes to BlinkID(Combined) Recognizer - No API changes ### Improvements - `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 field `personal_id_number` - 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 ### Changes to USDLRecognizer - No API Changes - Fixed magneticStripeParser crashing ### Changes to IDBarcodeRecognizer - Added document type ArgentinaAlienID and parser for ArgentinaAlienID2012BarcodeParser ### Changes to MRTDRecognizer - 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 ## 2.4.0 ### New feature - Added proxy support - Introduced new docker environment variables: PROXY_HOST, PROXY_PORT, TRUST_STORE and TRUST_STORE_PASSWORD ## 2.3.0 ### Back side support added: - Thailand - ID Card ### Changes to BlinkID(Combined) Recognizer - Added new result members - `fathersName` and `mothersName` both in BlinkID and BlinkIDCombined Recognizers, as well as in VIZ result ### Improvements - We can now extract `fathers_name` and `mothers_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` ### Changes to BarcodeRecognizer - We’ve removed support for `aztec` and `dataMatrix` barcode formats from BarcodeRecognizer ### Changes to MRTDRecognizer - Added `MRTD_TYPE_BORDER_CROSSING_CARD` to MRTD enum ## 2.2.2 ### Improvements for existing features: * We've resolved security vulnerabilities ## 2.2.1 ### Bug fixes: * We’ve fixed an issue with face and signature image extraction ## 2.2.0 ### We’ve added 61 new documents to our supported document list - Europe - 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 - Middle East and Africa - 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 - Latin America and the Caribbean - 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) - Asia - 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 - Oceania - Australia - Paper Passport - Northern America - Canada - Paper Passport - Canada - Weapon Permit (front only, beta) - USA - Paper Passport (beta) ### Back side support added: - Greece - ID Card - Burkina Faso - ID Card - Democratic Republic of the Congo - Driving Licence - Mexico - Veracruz - Driving Licence - Canada - Citizenship Certificate ### No longer BETA: - Belarus - Driving Licence - UK - Polycarbonate Passport - Argentina - Alien ID - Bahamas - Driving Licence - Mexico - Durango - Driving Licence - Venezuela - ID Card - USA - Kansas - ID Card ### Changes to BlinkID(Combined) Recognizer - 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 in `FullRecognition` mode ### Changes to BlinkCardRecognizer - We've added support for reading and extraction of expiry date in MM/YYYY format ### Improvements - 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 - Introduced new docker environment variables: LOG_ENABLE_CONSOLE_APPENDER, LOG_ENABLE_FILE_APPENDER and LOG_PATTERN ### Anonymization - 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 ## 2.1.1 ### Improvements - Introduced new docker environment variable MAX_REQUEST_SIZE with ability to limit max http request size. - Minor logging improvements. ## 2.1.0 ### We've added 15 new documents to our list of supported documents: - Europe - North Macedonia - Polycarbonate Passport -Middle East and Africa - Botswana - ID Card - Sudan - Polycarbonate Passport - Mexico - Baja California Sur - Driving License (beta) - Campeche - Driving License (beta) - Colima - Driving License (beta) - Oceania - Australia - Health Insurance Card (front only, beta) - Asia - Azerbaijan - Polycarbonate Passport (beta) - Tajikistan - Polycarbonate Passport (beta) - Northern America - 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 ### Back side support added: - Ireland - Passport Card - Mexico - Puebla - Driving License - Singapore - S PASS ### No longer BETA: - 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 ### Changes to BlinkID(Combined) Recognizer - 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 result `recognitionStatus` is `UNCERTAIN`. - We've enabled the return of image and back side data results, even when the `recognitionStatus` is `UNCERTAIN`. 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` and `backProcessingStatus`. They indicate the status of the last recognition process for each side. ### Improvements - We added support for the Malaysian NRIC numbers that hold an asterisk (*) character. - While using `FullRecognitionMode` for scanning unsupported Passports, we are now extracting `ClassInfo` 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’ve updated the alpine linux version in docker container to version 3.13 - 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 - We are removing title prefixes (e.g., Mrs., Mr., Ing., etc.) from `full_name`, `first_name` and `last_name` for these documents: - Austria - Driving License - ID Card - Czechia - Driving License - Germany - ID Card - Thailand - ID Card - UK - Driving License ### Anonymization - 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 ## 2.0.0 ### New features and improvements * New endpoints with statically defined request and responses for all supported recognizers * Introduced `blink card` and `barcode` recognizers with own endpoints * OpenApi specification in json format for easier integration * Improved logging * added `executionId` and `traceId` to all log outputs * available customizations for log levels * Use of GraalVM-CE for application * improved startup times * Parallel image processing for `blink id combined` recognizer * Ablitiy to expose metrics endpoints * Ability to enable/disable CORS support * Automatic CPU architecture detection for better recognition performance ## 1.36.1 ### Bug fixes: * We’ve fixed a casting issue with `ageLimit` on `/execute` endpoint ## 1.36.0 ### We've added 15 new documents to our list of supported documents: - Europe - North Macedonia - Polycarbonate Passport - Middle East and Africa - Botswana - ID Card - Sudan - Polycarbonate Passport - Mexico - Baja California Sur - Driving License (beta) - Campeche - Driving License (beta) - Colima - Driving License (beta) - Oceania - Australia - Health Insurance Card (front only, beta) - Asia - Azerbaijan - Polycarbonate Passport (beta) - Tajikistan - Polycarbonate Passport (beta) - Northern America - 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 ### Back side support added: - Ireland - Passport Card - Mexico - Puebla - Driving License - Singapore - S PASS ### No longer BETA: - 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 ### Changes to BlinkID(Combined) Recognizer - 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 result `recognitionStatus` is `UNCERTAIN`. - We've enabled the return of image and back side data results, even when the `recognitionStatus` is `UNCERTAIN`. 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` and `backProcessingStatus`. They indicate the status of the last recognition process for each side. ### Improvements - We added support for the Malaysian NRIC numbers that hold an asterisk (*) character. - While using `FullRecognitionMode` for scanning unsupported Passports, we are now extracting `ClassInfo` 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 - We are removing title prefixes (e.g., Mrs., Mr., Ing., etc.) from `full_name`, `first_name` and `last_name` for these documents: - Austria - Driving License - ID Card - Czechia - Driving License - Germany - ID Card - Thailand - ID Card - UK - Driving License ### Anonymization - 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 ## 1.35.1 ### Bug fixes: * We've fixed an issue where the readiness probe incorrectly returned not ready as a result of a wrong calculation of request queue size ## 1.35.0 ### New documents added to BlinkID(Combined)Recognizer: - Europe - Albania - Driver Card (front only) - Albania - Professional DL (front only) - Belarus - Driving Licence (front only, beta) - Belgium - Minors ID (beta) - Czechia - Residence Permit - Finland - Alien ID - Finland - Residence Permit (beta) - Georgia - Driving Licence (front only) - Greece - Residence Permit - Ireland - Passport Card (beta) - Ireland - Public Services Card (beta) - Kosovo - Driving Licence (front only, beta) - Latvia - Alien ID - Luxembourg - ID Card - Moldova - ID Card (beta) - North Macedonia - Driving Licence (front only) - North Macedonia - ID Card - Poland - Passport (beta) - Slovenia - Residence Permit (beta) - Spain - Alien ID - UK - Passport (beta) - MEA - Algeria - Driving Licence - Burkina Faso - ID Card (front only) - Cameroon - ID Card (beta) - Democratic Republic Of The Congo - Driving Licence (front only, beta) - Egypt - Driving Licence (beta) - Ghana - ID Card (beta) - Iraq - ID Card (beta) - Ivory Coast - Driving Licence (front only, beta) - Ivory Coast - ID Card - Lebanon - ID Card (beta) - Morocco - Driving Licence - Mozambique - Driving Licence (front only, beta) - Oman - Driving Licence (beta) - Rwanda - ID Card (front only) - Senegal - ID Card - Tanzania - Driving Licence (front only, beta) - Tunisia - Driving Licence (front only) - Uganda - Driving Licence (front only, beta) - Latin America & the Caribbean - Argentina - Alien ID (beta) - Bahamas - ID Card (front only, beta) - Bolivia - Minors ID (beta) - Jamaica - Driving Licence - Mexico - Residence Permit (beta) - Mexico - Chiapas - Driving Licence (front only) - Mexico - Coahuila - Driving Licence (beta) - Mexico - Durango - Driving Licence (front only, beta) - Mexico - Guerrero-cocula - Driving Licence (beta) - Mexico - Guerrero-juchitan - Driving Licence (beta) - Mexico - Guerrero-tepecoacuilco - Driving Licence (front only, beta) - Mexico - Guerrero-tlacoapa - Driving Licence (front only, beta) - Mexico - Hidalgo - Driving Licence - Mexico - Mexico - Driving Licence (beta) - Mexico - Morelos - Driving Licence (front only) - Mexico - Oaxaca - Driving Licence - Mexico - Puebla - Driving Licence (front only, beta) - Mexico - San Luis Potosi - Driving Licence (front only) - Mexico - Sinaloa - Driving Licence (front only, beta) - Mexico - Sonora - Driving Licence (beta) - Mexico - Tabasco - Driving Licence (beta) - Mexico - Yucatan - Driving Licence (beta) - Mexico - Zacatecas - Driving Licence (beta) - Panama - Temporary Residence Permit (beta) - Peru - Minors ID (beta) - Trinidad And Tobago - Driving Licence (front only, beta) - Trinidad And Tobago - ID Card - Oceania - Australia - South Australia - Proof Of Age Card (front only, beta) - Asia - Armenia - ID Card - Bangladesh - Driving Licence (beta) - Cambodia - Driving Licence (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 - Driving Licence (beta) - Pakistan - Punjab - Driving Licence (front only, beta) - Sri Lanka - Driving Licence (front only) - Thailand - Alien ID (front only) - Thailand - Driving Licence (beta) - Uzbekistan - Driving Licence (front only, beta) - Northern America - 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) - Back side support added: - Hungary - Residence Permit - Luxembourg - Residence Permit (no longer beta) - Mauritius - ID Card - Colombia - Alien ID (no longer beta) - Mexico - Baja California - Driving Licence - Mexico - Chihuahua - Driving Licence - Mexico - Guanajuato - Driving Licence - Mexico - Michoacan - Driving Licence - Malaysia - MyKid - Malaysia - MyPR - No longer beta: - Albania - Passport - Malta - Residence Permit - Switzerland - Residence Permit - Bolivia - Driving Licence - Chile - Passport - El Salvador - ID Card - Peru - ID Card - Singapore - S Pass (front only) ### Improvements for existing features * We've enabled retrieving the face image and cropped document image on all documents with AAMVA-compliant barcodes. This behavior activates the `BADCODE_ID` `RecognitionMode`. You can opt-out of this behavior by setting `enableBarcodeId` to `false` in the `RecognitionModeFilter`. * This enables scanning US driver licenses and IDs on which OCR isn't supported. Use this new recognition mode to extract: * Face image from the front side * Barcode data from the back side * Cropped document images for both sides * 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: * On Taiwan documents with ROC calendar dates * On Saudi documents with Islamic calendar dates * We're now filling all date fields when dates are written in a 'partial' form (year only 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.' ### Bug fixes: * We fixed an issue where using `BLINK_ID` and `BLINK_ID_COMBINED` on the same document resulted in different values for some fields. * We fixed an issue where string type fields sometimes returned `null` instead of `""` as a default value * We fixed an issue where date type fields (day, month, year) sometimes returned `null` instead of `0` as a default value ## 1.34.1 ### Bug fixes: * We've fixed an issue where the readiness probe incorrectly returned not ready as a result of a wrong calculation of request queue size ## 1.34.0 ###Newly supported identity documents: * Saudi Arabia - DL (front) * Saudi Arabia - Resident ID (front) ### Changes to the BlinkId(Combined)Recognizer: * 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 `ClassInfo`, regardless of the `RecognitionMode` you're using (`MrzId`, `MrzPassport` or `MrzVisa`). * This means you can now use `ClassFilter` 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've extended the `ClassInfo` structure with helper methods so you can filter documents by country more easily: * Use `countryName`, `isoNumericCountryCode`, `isoAlpha2CountryCode` and `isoAlpha3CountryCode` to get the full country names or their representative codes defined by [ISO](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). * We've extended the `BarcodeResult` structure with `extendedElements` * You can find all data from AAMVA-compliant barcodes under their respective BarcodeElementKey in the [BarcodeElements](https://microblink.com/docs/cloudapi/overview.html#tocS_BarcodeElement) structure * For a full list of keys please see [here](https://microblink.com/docs/cloudapi/overview.html#tocS_BarcodeElement) * We've added another `ProcessingStatus` called `AwaitingOtherSide` * 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 * 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. ### Changes to the IdBarcodeRecognizer: * We've extended the results with `extendedElements` * You can find all data from AAMVA-compliant barcodes under their respective BarcodeElementKey in the [BarcodeElements](https://microblink.com/docs/cloudapi/overview.html#tocS_BarcodeElement) structure * For a full list of keys please see [here](https://microblink.com/docs/cloudapi/overview.html#tocS_BarcodeElement) ### Deprecated recognizers: * We've deprecated `UsdlRecognizer`. Please use `IdBarcodeRecognizer` instead. ## 1.33.2 ### Improvements for existing features: We upgraded image to use [microblink/java:16](https://hub.docker.com/r/microblink/java) as base image for its security improvements ## 1.33.1 ### Improvements for existing features: We changed the default value for `WORKER_TIMEOUT_MS` parameter to `30000`. ## 1.33.0 ### New additions to our supported documents list - 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 ### New features and updates to the BlinkId(Combined)Recognizer * 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 fixes `BlinkIDCombinedRecognizer` 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. ### Fixes * We’ve fixed an uncommon bug where you’d get incomplete results upon scanning of the MRZ with the `allowUnparsed` setting enabled. ### Other features and updates * We've added **ENABLE_LOG_FILE** docker variable which is FALSE by default. To enable logging to file, set variable to TRUE. * We've enabled graceful shutdown, with a grace period of 30 seconds. * We've introduced **WORKER_TIMEOUT_MS** docker variable that interrupts recognition after the specifed time period - We introduced health, livness and readiness endpoints. By default they are located on port 8081 and the port can be switched via **HEALTH_PORT** docker variable - /actuator/health/readiness - /actuator/health/liveness - /actuator/health/ ## 1.32.1 ### Bug fixes We fixed an issue where `traceId` wasn't shown in logs for `BLINK_ID_COMBINED` recognizer ### Improvements for existing features: We changed the default value for `allowBlurFilter` parameter to `false`. Now blurred documents wont be discarded by default. If you wish to prevent extracting data from such documents set this value to `true` in your request ## 1.32.0 ### New additions to our supported documents list #### Plastic page passports 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) ​ #### Vertical US documents * **California** ID * **Illinois** ID * **New York** ID * **North Carolina** ID * **Texas** ID ​ #### Other documents * **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 #### European DLs with a single line MRZ BlinkID extracts data from driver’s licenses that contain single line MRZ: * **Croatia** DL * **Estonia** DL * **France** DL * **Ireland** DL * **Netherlands** DL * **Slovakia** DL #### Back side supported on: * **Azerbaijan** ID * **Singapore** DL * **Singapore** Employment Pass #### No longer BETA * **Slovakia** DL ### New features and updates in BlinkID(Combined)Recognizer * We standardized return values for field `documentType` in a `mrzData` object of a response. Values are the following: * UNKNOWN * IDENTITY_CARD * PASSPORT * VISA * GREEN_CARD * MALAYSIAN_PASS_IMM13P * DRIVER_LICENSE * INTERNATIONAL_TRAVEL_DOCUMENT * We changed enum value of `recognitionMode` from MRZ_PHOTO_ID to PHOTO_ID * We added `signatureImageBase64` to the result. Signature image export is controlled by `exportSignatureImage` in a request body. 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) * Cyprus 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 are deprecating some recognizers, below is the list of deprecated recognizers and recognizers you should use instead | Deprecated recognizer | New recognizer | |-----------------|------------| | DOC_FACE | BLINK_ID with photoId right | | MRTD | BLINK_ID with mrz_id, mrz_visa, mrz_passport rights | | PASSPORT | BLINK_ID with mrz_passport right | | VISA | BLINK_ID with mrz_visa right | | AUT_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | BEL_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | BEL_ID_BACK | BLINK_ID_COMBINED | | BRN_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | BRN_ID_BACK | BLINK_ID_COMBINED | | COL_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | CYP_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | CYP_ID_BACK | BLINK_ID_COMBINED | | CYP_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | HKG_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | INDONESIA_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | IRL_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | ITA_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | KWT_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | KWT_ID_BACK | BLINK_ID_COMBINED | | MYS_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | IKAD_FRONT | BLINK_ID or BLINK_ID_COMBINED | | MYKAD_FRONT | BLINK_ID or BLINK_ID_COMBINED | | MYKAD_BACK | BLINK_ID_COMBINED | | MYPR_FRONT | BLINK_ID or BLINK_ID_COMBINED | | MYTENTERA_FRONT | BLINK_ID or BLINK_ID_COMBINED | | MEX_VOTER_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | NZL_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | NIGERIA_VOTER_ID_BACK | BLINK_ID_COMBINED | | SGP_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | SGP_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | SGP_ID_BACK | BLINK_ID_COMBINED | | ESP_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | UAE_DL_FRONT | BLINK_ID or BLINK_ID_COMBINED | | UAE_ID_FRONT | BLINK_ID or BLINK_ID_COMBINED | | UAE_ID_BACK | BLINK_ID_COMBINED | ### Other features and updates * We added the field `middleName` to BlinkID(Combined)Recognizer, IDBarcodeRecognizer and USDL Recognizer results. This field is extracted from AAMVA standard compliant barcodes, whenever available. * We added the field `nameSuffix` to the USDL recognizer. * Standard output is added as logging output. ### Fixes * We improved the data match logic for **Guatemala Consular ID** in BlinkID(Combined)Recognizer. * We fixed an issue that prevented recognition on older generation of CPUs (pre Haswell). To enable recognition to work on older CPUs set docker environment variable WRAPPER_PATH=/wrapper/wrapper. ## 1.31.1 ### Bug fixes - We fixed an issue where a part of the `blinkid-combined` response was missing. ## 1.31.0 ### Improvements to existing features: - We have improved parsing of **MRZ** formats deviating from the ISO/IEC 7501 standard: - Document discriminator was in place of the document number on driver licenses and IDs from: - **New York** - **Michigan** - **Canada** - Different check digit calculation for **Mexico** (Consular) ID - Recognition of the unofficial `XCT` country code for Northern **Cyprus** ID - Recognition of different country codes and check digit calculation on **China** Mainland Travel Permit for Hong Kong and Macao Residents - We added **anonymization** support for: - MRZ on the Mainland Travel Permit for Hong Kong and Macao Residents - We have made some changes to the **BlinkID(Combined)Recognizer** - You can now see `ProcessingStatus` 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 `ImageAnalysisResult` showing you when: - Face image is detected - MRZ is detected - Barcode is detected - We have added a `RecognitionMode` result member describing which recognition mode was used to produce the results. - `None` if no recognition was performed. - `MrzId` if MRZ recognition was performed on an identity document (but not a passport or a visa). - `MrzVisa` if MRZ recognition was performed on a visa. - `MrzPassport` if MRZ recognition was performed on a passport. - `PhotoId` if recognition was performed on any unsupported photo ID. - `FullRecognition` if recognition was performed on any [supported](https://github.com/BlinkID/blinkid-android/blob/master/documentation/BlinkIDRecognizer.md) document. - 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. - Sanitized MRZ fields are returned (removed filler `<`) ### Minor API Changes - We have made some changes to the **BlinkID(Combined)Recognizer**: - We added additional values to `MrtdDocumentType` - We grouped the `conditions` member from the results with the `DriverLicenseDetailedInfo` structure - Old `conditions` field is now deprecated - We introduced `ENABLE_DEBUG` docker environment variable that enables verbose debug mode - By default `ENABLE_DEBUG` is set to false. - We introduced `ENABLE_LOG_TRACE` docker environment variable so that users can send a `traceId` to enhance request summary log. - By default `ENABLE_LOG_TRACE` is set to false. As you will probably notice we skipped one version, it's not a mistake. The version 1.30.0 was our internal release. ## 1.29.0 ### New features - `USDL` - We added new fields in the scanning results: `street`, `postalCode`, `city` and `jurisdiction`. - We added the `enableCompactParser`boolean request parameter - By default it will be set to false - `ID_BARCODE` - We added new fields in the scanning results: `street`, `postalCode`, `city` and `jurisdiction`. - We removed the `additionalAddressInformation` field - `BLINK_ID(BLINK_ID_COMBINED)` - We added the `additionalPersonalIdNumber` field - 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 - We made changes to the result structure: - Barcode data is now encapsulated in its own result structure: `BarcodeResult`. - Data from all OCR-ed fields, without MRZ data, is now encapsulated in a `VIZResult` structure, representing the "Visual Inspection Zone" data. - `BLINK_ID_COMBINED`: Front side data is available in `frontViz`, back side data in `backViz`, 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 MRZ, if present. - Remaining data is then filled with barcode data. - Remaining data is filled from back side's visual inspection zone (OCR data outside of MRZ). - Remaining data is filled from front side's visual inspection zone. - Remaining data is filled with data from the MRZ. - We added result anonymization. With this option enabled, results are not returned for protected fields on documents listed here. 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. - You can choose the anonymization mode: `NONE`, `IMAGE_ONLY`, `RESULT_FIELDS_ONLY`, `FULL_RESULT`. - FullResult anonymization (both images and data) is set by default. - Members `documentImageColorStatus` and `documentImageMoireStatus` can now be found in the result's `imageAnalysisResult` (`frontImageAnalysisResult` and `backImageAnalysisResult` in `BlinkIDCombinedRecognizer`). - We added blur detection status to `imageAnalysisResult`. - We added support for new identity document types: - Croatia Health Insurance Card / front side / BETA - Ecuador ID / front side - El Salvador ID / BETA - Sri Lanka ID / BETA - Back side supported: - Kenya ID - No longer BETA: - Canada Nova Scotia DL - Canada Yukon DL - Norway DL - We added support for new MRZ formats: - Guatemala ID - Kenya ID ####Bug fixes - We fixed `recognitionStatus` For `MRTD` and `UAE_ID_BACK` because result field was not returned. ## 1.28.1 ### Bug fixes - We fixed the bug that caused some requests to be blocked by the CORS policy ## 1.28.0 ### New features - As of this release, even if the document scan is uncertain or irregular, the results will be retrieved. Meaning that they will contain the data that was possible to read. - We added `recognitionStatus` result field for `BlinkIDRecognizer`, `BlinkIdCombinedRecognizer` and `IDBarcodeRecognizer` that indicate if the scan was successful. - We introduced `MAX_RECOGNIZERS_PER_REQUEST` docker environment variable that sets a limit for the number of recognizers that can be sent per request - By default `MAX_RECOGNIZERS_PER_REQUEST` will be set to 0, meaning there is no limit. We also added support for removing duplicate recognizers in request. ## 1.27.0 ### Improvements for existing features: - `IDBarcodeRecognizer` - We added new fields in the scanning results: `restrictions`, `endorsements`, and `vehicleClass`. - When barcode data parsing fails, the recognizer will now return raw barcode data. The license key controls this functionality. - We modified the result field `firstName` which now contains firstName, middle name and name suffix. - `BlinkID(Combined)Recognizer` - We added support for passport and travel visa scanning. - For Malaysian MyKad we are now returning if a Moire pattern is present on the scanned document (`NOT_AVAILABLE`, `NOT_DETECTED` or `DETECTED`). - Use`documentImageMoireStatus` for `BLINK_ID`. - Use`documentFrontImageMoireStatus` and `documentBackImageMoireStatus` for `BLINK_ID_COMBINED`. - We added new recognizer options for field anonymization for specific sensitive data. Enable or disable whether certain sensitive data should be anonymized in full document image result. - By default`anonymizeImage` request parameter is set to TRUE to enable image anonymization. Set it to FALSE to disable anonymization. - We added support for obtaining full document image for IDs with barcodes. - We added support for barcode parsing on the following documents: - Argentina ID - Colombia ID - Nigeria Voter ID - South Africa ID - We added support for new identity 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 - You can find the list of all currently supported documents [here](https://github.com/BlinkID/blinkid-android/blob/master/documentation/BlinkIDRecognizer.md). ## 1.26.0 ### New features: - We added the age verification feature: - Now you can more easily obtain the age of the document owner in years and check whether it is below some age limit. - `age` and `isBelowAgeLimit` fields are added to the result. The field `age` contains a person's age in years, and `isBelowAgeLimit` will return true or false based on your setup in the `ageLimit` request parameter. - Age verification is available in `BLINK_ID`, `BLINK_ID_COMBINED`, `PASSPORT`, `ID_BARCODE`, `USDL`, `VISA`, and `MRTD` recognizers. ### Improvements for existing features: - With the power of machine learning, we significantly improved the scanning of ID barcodes. We implemented the Barcode ML Booster feature, which enables scanning of lower quality barcode images. - Now `USDL` recognizer returns `dateOfBirth` field as an object with `year`, `month` and `day` fields instead of the date as a string. - We added `driverLicenseDetailInfo` object in the result field for driver license document types. - We added `extractIban`, `extractOwner` and `extractValidThru` boolean request parameters for `BLINK_CARD` to enable/disable extraction of specific fields. - We added recognition from the string option, either from the barcode or MRZ string for `ID_BARCODE`, `MRTD` and `USDL` recognizers. The `inputString` parameter provides string recognition. - We added support for new document types in `BLINK_ID` and `BLINK_ID_COMBINED` recognizers: - 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 - You can find the list of all currently supported documents [here](https://github.com/BlinkID/blinkid-ios/tree/master/documentation/BlinkIDRecognizer.md). - Additional improvements in `BLINK_ID` and `BLINK_ID_COMBINED` recognizers: - When the back side of the document is not fully supported by the `BLINK_ID_COMBINED`, we will capture and return the back side image. If the back side contains MRZ, we will also try to extract data from it. You can disable this behavior by using `skipUnsupportedBack` request parameter with value `true`. - We are now returning color status for the scanned document (`COLOR`, `BLACK_AND_WHITE` or `NOT_AVAILABLE`) in the result fields: - `documentImageColorStatus` for `BLINK_ID`. - `documentFrontImageColorStatus` and `documentBackImageColorStatus` for `BLINK_ID_COMBINED` - We are now returning the `classInfo` field, which holds the following information about the scanned document: `country`, `region`, and `type` of the document. - Results from the MRZ section of the document are now available in the `mrzData` field. - We added a data match feature for the `BLINK_ID_COMBINED` recognizer that will try to perform the matching of the data on the front and back side of the document. The result of the matching is available in the `dataMatchResult` field and can have one of the following values: `SUCCESS`, `FAILED`, `NOT_PERFORMED`. ## 1.25.0 ### New features - We added a new recognizer for scanning both sides of identity documents - `BLINK_ID_COMBINED`. With this recognizer, you can send images of both the front and back sides of the document and get combined data in the result. You can find the list of the currently supported documents [here](https://github.com/BlinkID/blinkid-ios/tree/master/documentation/BlinkIDRecognizer.md). There is a more detailed explanation of how to use `BLINK_ID_COMBINED` recognizer in our Postman collection. ## 1.24.1 ### Bug fixes - We fixed the bug that caused an empty result field when multiple recognizer types were specified ## 1.24.0 ### New features: - We added a new recognizer specialized for scanning and parsing barcodes on various identity cards - `ID_BARCODE`. Supported document types are: - AAMVA compliant (US DL, Canada DL, etc.) - Argentina ID - Panama ID - Colombia ID - South Africa ID - Nigeria Voter ID and driver license - We added recognition from string for `MRTD` and `USDL` recognizers, which can extract data from the string in MRZ format. The `mrzString` parameter provides the MRZ string. ### Improvements for existing features: - We added new result fields, returned by all recognizers which scan MRZ (Machine Readable Zone): - `issuerName` - `nationalityName` - New recognizer options in `BLINK_ID` and `MRTD` recognizers: `allowUnparsedMrzResults` and `allowUnverifiedMrzResults`. - Improvements in `BLINK_ID` recognizer: - 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` ## 1.23.0 ### New Features - We added `localizedName` property in the result for `BLINK_ID` and `HKG_ID_FRONT` recognizers (CCC to Chinese alphabet conversion) - With the new `anonymizeNetherlandsMrz` parameter in the `PASSPORT` recognizer, you can hide the MRZ section in the extracted image of the Netherlands passport - We added `iban` property in the result for the `BLINK_CARD_FRONT` recognizer - With the new `anonymizeIban` parameter in the `BLINK_CARD_FRONT` recognizer, you can hide the IBAN section in the extracted image ### Support for new document types - We added support for Canada Alberta driver's license (front side) to the `BLINK_ID` recognizer ## 1.22.0 ### New features - We added recognizer `DOC_FACE` which allows extraction of face image and image of the entire document. This recognizer replaces experimental `FACE` recognizer. - recognizer `FACE` is deprecated and will be removed in future release. Until then it could be used as an alias for `DOC_FACE` - We added properties `kelDesa`, `district`, `rt` and `rw` in the result for `INDONESIA_ID_FRONT` recognizer ## 1.21.0 ### Security Updates - We added the environment variables for configuring which URLs are allowed as `imageURL` property in the request. - `IMAGE_URL_HOSTS_ALLOWED` - if empty, all hosts are allowed. Default value: empty - allow all. - `IMAGE_URL_PORTS_ALLOWED` - Default value: `80,443` - `IMAGE_URL_PROTOCOLS_ALLOWED` - Default value: `http, https` - We added the environment variable for disabling details in HTTP responses in case of error. - `VERBOSE_HTTP_RESPONSE` - Default value: `true`. If set to `false` HTTP response will return only a generic error message with HTTP status 500. ### New Features - We introduced a blur filter property that discards blurred frames and prevents reading the data from such frames. By default, the option is enabled, but it can be disabled by adding property `allowBlurFilter` to request with value `false`. - We added the location of the barcode for barcode result types. The location is available in the `detectionPoints` in the property result. ### Supported Documents - We added support for new document types for `BLINK_ID` recognizer. `BLINK_ID` recognizer automatically detects the type of identity document. You can find a list of supported documents [here](https://github.com/BlinkID/blinkid-ios/blob/v5.1.0/documentation/BlinkIDRecognizer.md) - Changes in the already supported documents - We’ve split the `UAE_ID` into two separate documents: `UAE_ID` and `UAE_RESIDENT_ID` - Removed support for `BRUNEI_TEMPORARY_RESIDENCE_PERMIT`, `LATVIA_ID`, `SAUDI_ARABIA_ID`, `KENYA_ID`, and `TAIWAN_ID` document rights - Added `MEXICO_VOTER_ID` document right ## 1.20.1 ### New features - added support for new document types for `BLINK_ID` recognizer. `BLINK_ID` recognizer autodetects type of the Identity document. You can find a list of supported documents [here](https://github.com/BlinkID/blinkid-ios/blob/b7cb7f29e91b86e3302d7591213d554abaed1ad3/documentation/BlinkIDRecognizer.md) - If you want to scan both the front and back side of the document you can do that in two separate requests. For example if BLINK_ID recognizer is used for scanning front side of the USA Supported identity documents, use USDL recognizer to scan and extract the information from the PDF417 barcode on the back side of the USA Supported identity document - added support for image annonimization for `BLINK_CARD_FRONT` recognizer. You can control annonimization with optional API boolean properties: - `anonymizeCardNumber`- if `anonymizeCardNumber=true` the result will look like [this](https://storage.googleapis.com/microblink-data-public/microblink-api/docs/anon_number.jpg) - `anonymizeCvv`- if `anonymizeCvv=true` the result will look like [this](https://storage.googleapis.com/microblink-data-public/microblink-api/docs/anon_cvv.jpg) - `anonymizeOwner`- if `anonymizeOwner=true` the result will look like [this](https://storage.googleapis.com/microblink-data-public/microblink-api/docs/anon_owner.jpg) - added support for reading front side of Belgian ID - use `BelgiumIdFrontRecognizer` - added support for reading back side of Belgian ID - use `BelgiumIdBackRecognizer` - added support for reading all visas with MRZ - use `VisaRecognizer` ### Improvements for existing features - `MRTD` - support for documents with non-binary gender specification (symbol X) ## 1.19.0 ### New features - public HTTP health check endpoint available at routes `/hc` and `/recognize/hc`, it will also be publicly available when basic authentication is enabled, basic authentication will protect `/version` and `/info`, but not `/hc` - every response at route `/recognize/execute` contains property `executionId` at HTTP body response root object, this is the request identificator of a type 4 (pseudo randomly generated) UUID ## 1.18.1 ### Internal improvements - better image file type detection for deciding location of the image decompression (`C++` or `Java`) based on the checking file signature prefix of the file `base64` as string file's representation - all `base64` strings of `JPEG`s starts with `/9j/` and `PNG`s starts with `iVBOR` - other file types like `GIF`s are still decompressed in the Java with `ImageIO` ## 1.18.0 ### New features - added `BLINK_ID` recognizer for scanning front side of ID cards, recognizer classify and extract data from 87 different classes of United States driver's licenses and IDs - in the upcoming releases, we are planning to add support for more document types from different countries - added support for reading back side of Nigeria Voter ID - use `NIGERIA_VOTER_ID_BACK` - added support for Basic authentication - by default it is disabled - to enable set both environment variables `BASIC_AUTH_USERNAME` and `BASIC_AUTH_PASSWORD` - if both `username` and `password` are set (not `null`, default value if not defined is `null`) then the application will be protected with basic authentication - `BASIC_AUTH_PASSWORD` should be a BCrypt hash of the plain password which will be used in an authenticated HTTP request ### Improvements for existing features - Malaysia - added support for MyTentera's 6-digit army number `MYTENTERA_FRONT` - United Arab Emirates ID - improved scanning of back side `UAE_ID_BACK` ### Internal improvements - faster `JPEG` and `PNG` images decompression to RAW pixels for compressed images greater than `1MB` - decompression is moved from Java to native C++ wrapper with a performance boost, waiting time is decreased for around `15%` (example: `150ms` less for images with resolution in pixels `4608x3456`) - other formats and small images will be still decompressed in the Java ## 1.17.1 ### Improvements - removed the option `USER microblink` from the `Dockerfile` to avoid issues with a file permissions during volume mapping, to run the container as non-root user use the option `--user=microblink` during container run, by default container will be run under the `root` user ## 1.17.0 ### New features - added support for the reading first side of Malaysian iKad documents - `IKAD_FRONT` recognizer - added support to use `HTTPS` protocol (SSL encryption) without the web proxy (Nginx) directly on the Java (Spring Boot) application ### Improvements - upgrade Spring Boot to v2.1.6 (Spring to v5.1.8) - the application will be started as non-root user `microblink`, this is configured with the Docker `USER` definition - this Docker image uses new `BASE` image `microblink/java` which is custom runtime based on the Alpine Linux and OpenJDK. More details about the new base image and it's `Dockerfile` read it in repository description at https://hub.docker.com/r/microblink/java/ ### Notes - to use the application available at `HTTPS` protocol, configure it with `JAVA_OPTS` docker environment variable - Example - `JAVA_OPTS=-Dserver.ssl.enabled=true` - this will use self-signed SSL certificate and application will not be available at the `HTTP` protocol - to use the application with the custom SSL certificate at the `HTTPS` protocol, use this more complex configuration. To mount the custom certificate from the host machine to the docker container, use the docker volume! - Example - `JAVA_OPTS=-Dserver.ssl.enabled=true -Dserver.ssl.key-store-type=PKCS12 -Dserver.ssl.key-store=/custom/mounted/path/my-custom-keystore.p12 -Dserver.ssl.key-store-password=my-custom-keytore-password -Dserver.ssl.key-alias=custom-key-alias` ### Tutorials - https://www.baeldung.com/spring-boot-https-self-signed-certificate - https://dzone.com/articles/spring-boot-secured-by-lets-encrypt - https://stackoverflow.com/questions/30896234/how-set-up-spring-boot-to-run-https-http-ports - https://medium.com/better-programming/running-a-container-with-a-non-root-user-e35830d1f42a ## 1.16.1 ### New features - added support for limiting incoming connections - waiting-queue can be limited with environment variable `EXECUTION_QUEUE_CAPACITY`, the default value is `500`, 501st (`EXECUTION_QUEUE_CAPACITY+1`) waiting for the request will be rejected with HTTP status code 503 `SERVICE_UNAVAILABLE` - executions in progress which will exceed timeout limit will be terminated with the HTTP status code 504 `GATEWAY_TIMEOUT`, timeout customization with environment variable `EXECUTION_TIMEOUT_IN_SECONDS`, the default value is `60`, so by default, if the waiting for a response is more than 60 seconds then OCR task will be terminated ### Improvements - internally refactored OCR engine async task handling with task pool size depends on the available CPUs, only limited number of tasks will be executed in parallel, other will wait in the execution queue until thread from the pool become available, this is the huge improvement with memory consumption and response waiting time ## 1.15.0 ### New features - added support for reading all passports with MRZ - use `PASSPORT` recognizer - introduced on application start and periodical (every 60 seconds) workers health check - visible as DEBUG, ERROR and WARNING logs. When the license key is invalid then it is not possible to start the application and when the license becomes invalid during the runtime then warning logs will describe the summary about the issue. ### Improvements for existing features - added support for reading the commercial code in two rows for Hong Kong ID front documents - `HKG_ID_FRONT` recognizer - added support for Hong Kong ID front documents 2018 version - improved scanning time of all Malaysian ID front documents - `MYKAD_FRONT`, `MYKAS_FRONT`, `MYPR_FRONT` and `MYTENTERA_FRONT` recognizers ## 1.14.0 ### New features - added ability to limit image upload size, by default any image file will be sent to OCR engine - created new response status code `FORBIDDEN_RECOGNIZER` which will be part of response if license key has not all required rights but some recognizer which depends on missing rightdoc is requested #### Notes - to activate upload size limit please set environment variable `MICROBLINK_IMAGE_SIZE_LIMIT_IN_MB=` - to set limit is recommended because when large files are loaded to the memory they can crash the application due to the out of memory issue - average smart phone camera has **12MP** sensor with JPEG image file size between **2MB and 9MB** - recommended image upload size limit is **10MB** which will avoid potential application out of memory issue but with success pass for 99% of incoming requests `MICROBLINK_IMAGE_SIZE_LIMIT_IN_MB=10` - large memory consumption is because of conversion compressed JPEG image to the RAW pixels and that's the reason why images with high resolution consume so much memory ##### Examples | Image file size | Image type | Image resolution | Megapixels | Memory consumption | |-----------------|------------|------------------|------------|--------------------| | 0.8MB | JPEG | 1024x1365 | 1.4 | 127MB | | 2.9MB | JPEG | 2048x2731 | 5.59 | 182MB | | **3.3MB** | **JPEG** | **4000x3000** | **12** | **298MB** | | 8.2MB | JPEG | 4096x5461 | 22.4 | 451MB | | 19.5MB | JPEG | 8192x10923 | 89.5 | 960MB | | 72MB | JPEG | 16384x21845 | 358 | 3.5GB | ## 1.13.0 ### New features - ability to set application arguments through `APP_PARAMS` environment variable ### Bug fixes - fixed problem with container crash because out of memory, native wrapper management improved with closing detached child processes - the bug involved in the previous versions: `1.11.2` and `1.12.0` ## 1.12.0 ### New features - added support for reading front `BRN_MILITARY_ID_FRONT` side of Brunei Military ID - added support for reading back `BRN_MILITARY_ID_BACK` side of Brunei Military ID ### Existing features update - 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. - `USDL` recognizer - new fields: `rawDataBase64`, `rawStringData`, `uncertain`, `firstName`, `lastName`, `fullName`, `address`, `dateOfBirth`, `dateOfIssue`, `dateOfExpiry`, `documentNumber`, `restrictions`, `endorsements`, `vehicleClass` - deprecated fields: `documentType`, `standardVersionNumber`, `customerFamilyName`, `customerFirstName`, `customerFullName`, `eyeColor`, `addressStreet`, `addressCity`, `addressJurisdictionCode`, `addressPostalCode`, `fullAddress`, `height`, `heightIn`, `heightCm`, `customerMiddleName`, `hairColor`, `nameSuffix`, `AKAFullName`, `AKAFamilyName`, `AKAGivenName`, `AKASuffixName`, `weightRange`, `weightPounds`, `weightKilograms`, `customerIdNumber`, `familyNameTruncation`, `firstNameTruncation`, `middleNameTruncation`, `placeOfBirth`, `addressStreet2`, `raceEthnicity`, `namePrefix`, `countryIdentification`, `residenceStreetAddress`, `residenceStreetAddress2`, `residenceCity`, `residenceJurisdictionCode`, `residencePostalCode`, `residenceFullAddress`, `under18`, `under19`, `under21`, `socialSecurityNumber`, `AKASocialSecurityNumber`, `AKAMiddleName`, `AKAPrefixName`, `organDonor`, `veteran`, `AKADateOfBirth`, `issuerIdentificationNumber`, `documentExpirationDate`, `jurisdictionVersionNumber`, `jurisdictionVehicleClass`, `jurisdictionRestrictionCodes`, `jurisdictionEndorsementCodes`, `documentIssueDate`, `federalCommercialVehicleCodes`, `issuingJurisdiction`, `standardVehicleClassification`, `issuingJurisdictionName`, `standardEndorsementCode`, `standardRestrictionCode`, `jurisdictionVehicleClassificationDescription`, `jurisdictionEndorsmentCodeDescription`, `jurisdictionRestrictionCodeDescription`, `inventoryControlNumber`, `cardRevisionDate`, `documentDiscriminator`, `limitedDurationDocument`, `auditInformation`, `complianceType`, `issueTimestamp`, `permitExpirationDate`, `permitIdentifier`, `permitIssueDate`, `numberOfDuplicates`, `HAZMATExpirationDate`, `medicalIndicator`, `nonResident`, `uniqueCustomerId`, `dataDiscriminator`, `documentExpirationMonth`, `documentNonexpiring`, `securityVersion` ### API change - `USDL` recognizer - `dateOfBirth` is date object `{ "day": INT, "month": INT, "year": INT, "originalString": STRING }` instead of `STRING` which is now in field `originalString` ## 1.11.2 - improved wrapper process management - removed usage of temp files and refactored whole OCR process to be executed in memory ## 1.11.1 - more verbose wrapper logs ## 1.11.0 - `POST /execute` can accept property `imagePath` where value can be a local path to the source image. Example: `/data/path/to/the/my-id-image.jpg`, if `imagePath` is set and API is able to read file, then properties `imageURL` and `imageBase64` will be ignored, if `imagePath` is not set or API is not able to read file than `imageURL` or `imageBase64` will be used as source image by default. - FIX: files `temp-image*.jpg` are permanently deleted after all success and error responses ## 1.10.0 - `POST /execute` can accept property `imageURL` where value can be public available http path to the source image. Example: `https://www.example.com/my-id-image.jpg`, if `imageURL` is set and API is able download image, then property `imageBase64` will be ignored, if `imageURL` is not set or API is not able to download image than `imageBase64` will be used as source image by default. - added support for reading front `AUT_DL_FRONT` side of Austrian DL - added support for reading front `BRN_ID_FRONT` and back `BRN_ID_BACK` side of Brunei ID - added support for reading front `BRN_RES_PERMIT_FRONT` and back `BRN_RES_PERMIT_BACK` side of Brunei Residence Permit - added support for reading front `BRN_TEMP_RES_PERMIT_FRONT` and back `BRN_TEMP_RES_PERMIT_BACK` side of Brunei Temporary Residence Permit - added support for reading front `COL_DL_FRONT` side of Colombia DL - added support for reading front `DEU_DL_FRONT` side of German DL - added support for reading front `ITA_DL_FRONT` side of Italy DL - added support for reading front `MYS_DL_FRONT` side of Malaysia DL - added support for reading back `MYKAD_BACK` side of Malaysian MyKad - added support for reading front `MEX_VOTER_ID_FRONT` side of Mexico Voter ID - added support for reading front `NZL_DL_FRONT` side of New Zealand DL - added support for reading front `SGP_DL_FRONT` side of Singapore DL ## 1.9.0 - Upgraded base Docker image [microblink/base](https://cloud.docker.com/u/microblink/repository/docker/microblink/base) to [v2.0](https://cloud.docker.com/u/microblink/repository/docker/microblink/base/tags) - new base image v2.0 is based on Linux Alpine and image size of [microblink/api](https://cloud.docker.com/u/microblink/repository/docker/microblink/api) is reduced for 5.35 times from 471MB to 88MB ## 1.8.0 - added support for reading front `SGP_ID_FRONT` and back `SGP_ID_BACK` side of Singapore ID - added support for reading front side of Malaysian MyTentera `MYTENTERA_FRONT`, MyPr `MYPR_FRONT` and MyKas `MYKAS_FRONT` documents - added support for reading front side of Ireland Driver's license `IRL_DL_FRONT` - added support for reading the front side of Hong Kong ID `HKG_ID_FRONT` - added support for reading front side of credit cards `BLINK_CARD_FRONT` ## 1.7.1 - fix UK Driver's license export of face image - redirect wrapper logs to `/opt/microblink-api-ws/logs/wrapper.log` ## 1.7.0 - added support for reading UK Driver's license `UK_DL_FRONT` - added support for reading the front side of Indonesia ID `INDONESIA_ID_FRONT` - added support for reading front side of Malaysian MyKad `MYKAD_FRONT` ## 1.6.0 - Added support for new Cyprus ID format, new and old formats are now available to read with `CYP_ID_FRONT` and `CYP_ID_BACK` recognizers. ## 1.5.0 - Added support to load `LICENSEE` and `LICENSE_KEY` environment variables from the Docker secrets. NOTE: [Docker secrets](https://docs.docker.com/engine/swarm/secrets/) are only available to swarm services, not to standalone containers. Docker Compose template is available on GitHub as [docker-compose.swarm.yml](https://github.com/microblink/docker/blob/master/api/docker-compose.swarm.yml). How to start application on the Swarm node please follow this [steps](https://github.com/microblink/docker/blob/master/api/README.md#docker-swarm). ## 1.4.1 - Added `expiresOn` field to `CYP_ID_BACK` recognizer ## 1.4.0 - Transformed `rawData` of `PDF417` recognizer to unsigned 8 byte integer `[0,255]` ## 1.3.3 - when environment variable `PORT` is set then the application will be bind to this value, otherwise, the application will be exposed to the host at a default port `8080` ## 1.3.2 - internal performance improvements ## 1.3.1 - All logs are available inside of container on path `/opt/microblink-api-ws/logs` - Created route `GET /recognize/info` with API details about version and available recognizers ## 1.3.0 - Added recognizers: `CRO_ID_FRONT` (Croatian identity card front side), `CRO_ID_BACK` (Croatian identity card back side), `UAE_DL_FRONT` (United Arab Emirates driving license front side), `KWT_ID_FRONT` (Kuwait identity card front side), `KWT_ID_BACK` (Kuwait identity card back side), `ESP_DL_FRONT` (Spanish driving license front side). - Added Codes: `HTTP_REQUEST_IS_NOT_VALID`, `HTTP_ENDPOINT_DOES_NOT_EXIST` and `NOT_ALLOWED_TO_EXECUTE_THIS_API_ENDPOINT`, `VERSION`, `DEFAULT` and `AUTHORIZATION_HEADER_IS_NOT_FOUND_AND_RESULTS_ARE_MASKED`. - Added optional API boolean properties: `detectGlare`, `exportMrzImage`, `exportFaceImage`, `exportFullDocumentImage`, `exportSignatureImage`, default values are `false`. If `detectGlare=true` than documents with glare will be ignored, in response object `result` will be `null`. When `exportImages=true` (introduced in v1.1.0) then all available images extracted from the document will be returned (NOTE: extracting multiple documents extends API waiting time), for better performances use specific `export*Image` flag. ## 1.2.0 - Improved response with `code` property which describes error message with a string constant. Codes: `AUTHORIZATION_HEADER_IS_NOT_FOUND`, `AUTHORIZATION_HEADER_IS_NOT_VALID`, `INSUFFICIENT_BALANCE`, `IDENTITY_IS_ARCHIVED`, `IMAGE_AS_BASE64_IS_REQUIRED`, `RECOGNIZER_OR_RECOGNIZERS_IS_REQUIRED`, `RECOGNIZER_IS_NOT_STRING`, `RECOGNIZER_IS_NOT_VALID`, `RECOGNIZER_IS_NOT_STRING`, `RECOGNIZERS_IS_EMPTY`, `IMAGE_IS_NOT_VALID_BASE64_STRING`, `IMAGE_IS_NOT_ABLE_TO_CONVERT_TO_RAW_PIXELS`, `NOT_ALLOWED_TO_EXECUTE_REQUESTED_RECOGNIZER`, `API_ROLE_IS_NOT_FOUND` and `INVALID_LICENSE_KEY`, also with `code` propery is available property `summary` which in one sentance describes response. ## 1.1.0 - Added new recognizers: VIN, SIM, UAE_ID_FRONT, UAE_ID_BACK, CYP_ID_FRONT and CYP_ID_BACK Improved existing recognizers with the upgrade to new Microblink API and new licensing format. Added optional `exportImages` boolean property to get all available images from the document. This option is available only for these recognizers: MRTD, CYP_ID_FRONT and CYP_ID_BACK. ## 1.0.2 - Added validation with detailed API return messages and added validation which protects API from worker stuck state. ## 1.0.1 - Support for run wrapper when some wrapper's right in the license key is missing. This recognizer is still not able to run but other allowed recognizers can be executed. ## 1.0.0 - Initial public version with recognizers: `MRTD`, `USDL`, `PDF417`, `CODE128`, `CODE39`, `AZTEC`, `DATA_MATRIX`, `EAN13`, `EAN8`, `ITF`, `QR`, `UPCA` and `UPCE` Last updated on May 8, 2026