Releases: microblink/blinkid-android
v8000.0.0
What's new
-
SDK Modularization & Enhanced Flexibility - We've transformed our core architecture. Features previously known as "fallback modes" are now independent SDK modules.
- Tailored Implementation: Users can now toggle specific modules such as Capture, Barcode, MRZ, or VIZ scanners to build a workflow that fits their exact needs.
- Total Control: This modular approach offers unprecedented flexibility, allowing you to use BlinkID as a comprehensive recognition tool or a specialized scanner, all while leveraging our latest feature updates.
-
Expanded Barcode Support - When operating in Barcode Mode, BlinkID is no longer limited to PDF417.
- Universal Scanning: We've added support for QR codes, Code 128, Code 39, ITF, EAN, UPC, and DataMatrix.
- Versatility: This expansion allows the SDK to be used across a wider variety of document types beyond standard IDs.
-
Streamlined Extraction & Anonymization - We are putting more power in the hands of our integrators by removing restrictive custom rules.
- Document Rules: Custom document rules have been removed. Customers can now implement their own logic based on result completeness to determine how a document is processed.
- Anonymization: We've transitioned away from fixed anonymization rules. You can now programmatically decide which fields to mask and how to handle them based on the specific data returned.
-
Intelligent Timeout Mechanism - To balance performance with accuracy, we've introduced a new timeout feature
- Non-Blocking Scans: Ensures a smooth user experience by preventing "stuck" scan states.
- Step-by-Step Decisions: After each extraction step, you can decide whether the current data is sufficient or if the SDK should continue processing to gather more information.
- Inactivity Timer: A new inactivity timer ends the scanning session after a configurable period (default
10seconds) during which no changes in scanning events are observed. - Per-Step Timer: The existing per-step timer continues to apply independently to each scanning step (first side, second side, and barcode), and works alongside the new inactivity timer.
-
Improved Barcode Reading Logic - Refined the internal logic for barcode detection and decoding, resulting in more reliable extraction across supported symbologies and document types.
-
Scanning process customization -
BlinkIdCameraScanningScreennow enables easier debugging and custom scan logic. WithFrameProcessResultHandleit is now possible to implement custom logic for handling frame processing results, such as advancing to the next scanning step based on result completeness or other criteria. -
New UI for Extraction Modes - Added dedicated UI flows tailored to each extraction mode:
barcodeOnly: streamlined UI focused exclusively on barcode capture.documentWithBarcode: UI optimized for documents where both the visual document and the barcode are captured.fullDocument: UI for complete document extraction across all supported sides.
-
Document-Specific Improvements
- EU Residence Permits: For documents with redundant fields on both the front and back, BlinkID now intelligently merges these into the top-level results for better data consistency.
- Egypt Driver's License: Enhanced data extraction to now include Date of Birth (DOB) as an additional field.
- Zimbabwe ID: Improved data extraction to support and return both alphabetic and numeric characters within the document number field.
-
Modern language and modern patterns
-
Kotlin version used by the SDK has been updated to
2.2.21, using the latest features and performance improvements. -
AGP has been updated to
9.1.0to ensure compatibility with the latest Android development practices and tools. -
SDK dependencies have been updated to provide improved performance, security, and new features
- Material3 to
1.4.0 - Activity Compose to
1.13.0 - Lifecycle Compose to
2.10.0 - CameraX to
1.6.1 - Compose tooling to
1.11.2.
- Material3 to
-
microblink-uxis no longer a separate artifact; it is now built intoblinkid-ux.
Bug fixes
- Date Conversion Accuracy: Resolved an issue where Islamic-to-Gregorian date conversions could occasionally differ by +/- 1 day. These conversions are now precise and consistent.
API changes
- For detailed API changes and migration guide, visit our documentation page.
v7.8.1
v7.8.0
What's new
- The list of all supported documents and result fields is now available here.
- 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
FieldTypeenum values:CardAccessNumber - new
Typeenum values:ORIGIN_CARD - new
Countryenum value:VIRGIN_ISLANDS_OF_THE_UNITED_STATES
- new
- Added member results to
ScanningResultandVizResult:- 'cardAccessNumber'
- Removed items from enums:
- removed
FieldTypeenum values: RemovedParentsLastName2,ParentsFirstName2,ChinPermanentExpiry - removed
Countryenum value:VIRGIN_ISLANDS_US
- removed
v7.7.1
v7.7.0
What's new
- Barcode extraction is marked as optional on documents where barcode detecton 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)
Minor API changes
-
Added new items to enums:
- new
FieldTypeenum values:EffectiveDate,ParentsLastName,ParentsLastName2,ParentsFirstName2,WorkRestriction,ParentsFirstName,SocialSecurityStatus,LegalStatus,HusbandName,ChinPermanentExpiry - new
Typeenum values:NinCard,MySSSCard,GendarmerieId,PoliceId - new
Countryenum value:SaintThomasAndPrince - new
Regionenum values:Acre,EspiritoSanto,MatoGrossoDoSul,Paraiba,Piaui,RioGrandeDoNorte,Tocantins,Odisha,Uttarakhand
- new
-
Added member results to
ScanningResultandVizResulteffectiveDatehusbandNamelegalStatussocialSecurityStatusworkRestrictionparentsInfo(new class)
-
Android permissions:
blinkid-ux: Removed the mandatory camera hardware requirement from AndroidManifest.xml to improve compatibility with specific devices that incorrectly report camera hardware presence. The camera feature is now declared as optional:<uses-feature android:name="android.hardware.camera.any" android:required="false"/>
Breaking changes
The following changes will impact your implementation only if you have advanced SDK customizations and don’t use the default Activity or Composable:
DocumentSide(Front,Back,Barcode) renamed toUiScanningSide(First,Second,Barcode)CommonStatusMessagechanged its members (to removeDocument,Front, andBackoccurrences):ScanFrontSidetoScanFirstSideScanBackSidetoScanSecondSideFlipDocumenttoFlipKeepDocumentVisibletoKeepVisibleAlignDocumenttoAlignScanBarcode,RotateDocument,RotateDocumentShort,KeepFacePhotoVisible,IncreaseLightingIntensity,DecreaseLightingIntensity,EliminateGlareandFilterSpecificMessagehave been moved fromCommonStatusMessagetoBlinkIdStatusMessage
- Composable
HelpScreensis implemented through a list ofHelpScreenPagedata classes - Composable
OnboardingDialogis implemented through a singleHelpScreenPageinstance - Error dialogs for the default UI are now defined in the
ComposableUtils.ktfile BlinkIdScanActivityColorsreplaced withScanActivityColorsBlinkIdScanActivitySettingsnow extends a newScanActivitySettingsinterface- Changed members of
ScanningUxEvent:RequestDocumentSide(DocumentSide)toRequestSide(UiScanningSide)
BlinkIdColorSchemeandDarkBlinkIdColorSchemeare replaced withLightColorSchemeandDarkColorScheme- Removed
DocumentDrawable(composable used forFlipAnimation) - animations now directly use aDrawable DocumentFlipAnimationreplaced withFlipAnimation
The following changes will possibly impact any implementation:
DocumentAlreadyScannedExceptionrenamed toScanAlreadyCompletedExceptionBlinkIdScanActivityResultStatus(DocumentScanned,Canceled,ErrorSdkInit) renamed toScanActivityResultStatus(Scanned,Canceled,ErrorSdkInit)
These changes were introduced to make the transition to future BlinkID v8000 SDK easier.
Improvements and bug fixes
- Accessibility fixes for dialogs (
OnboardingDialogandHelpDialog) - Removed
MoveDocumentFromEdgescanning UI message - UI messages now correctly reflect
skipImagesWithBlur,skipImagesWithGlare,skipImagesWithInadequateLightingConditionsandskipImagesOccludedByHandsettings - when enabled, feedback message is provided to the user to adjust the document. These settings should be set totruewhen the goal of the scan is not only to correctly read all the data fields but also to capture the document image. - Fixed bug which could cause a crash when closing
BlinkIdScanningSessionin some situations - Added
MbLogfor additional debugging and logging capabilities
v7.6.1
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).
v7.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
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 overriden 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
Other changes
SDK updates
- Updated Kotlin to
v2.0.21in theblinkid-corelibrary. Theblinkid-uxandmicroblink-uxlibraries already use Kotlinv2.1.20. - Target SDK updated to API Level 36
UI/UX updates
- Camera selection setting is now available for our integrated scanning solutions through
CameraSettings - Torch button is now not shown on devices and cameras that do not support it
- Accessibility improvements regarding
TalkBackand navigation - 33 new languages (Full list here)
- Changed default
tiltDetectionLevelfromOfftoMid
UI/UX bugs and fixes
- The correct color from
MaterialThemeis now applied to the loading screen - Timeout and help tooltip timers behave properly on configuration and UI changes (background, dialogs, and device rotation)
v7.5.0
What's New
- We introduced event tracking across the SDK lifecycle, giving you deeper insights into user journeys, success rates, and drop-off points during scanning sessions. These enhanced analytics make it easier to identify optimization opportunities and ensure the best possible user experience.
- Updated detection analysis logic in case of photo mode
- Added new
parsedresult member to the BarcodeResult which indicates whether the raw barcode data was successfully parsed - Barcode recognition is now allowed on all document classes; unparsable barcodes will be returned as raw data
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
Android
Other Changes
- Declared additional
android.permission.ACCESS_NETWORK_STATEin theblinkid-corelibrary manifest- This is a normal protection-level permission, automatically granted at install time – no runtime request is required
- The permission is used to check whether a network connection is available
- Added new optional callbacks to the
CameraComposeComposable from themicroblink-uxlibrary:CameraPermissionCallbacks- track camera permission eventsCameraPreviewCallbacks- track camera preview lifecycle eventsCameraInputDetailsCallback- receive camera input configuration details
v7.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
- Renamed
Productenum toMbProduct dependentsInfoinVizResultis now nullable
Bug fixes
- Replaced caching directory for storing downloaded resource files - avoid rare crashes on specific devices
v7.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
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
Bugs and fixes
- 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
- Onboarding and help screen settings now correctly apply to
BlinkIdScanActivity
UI/UX updates
- Complete scanning instruction messages revamp - the scanning session is now more stable and cleaner, which ensures a better scanning experience
- Added new accessibility features
- Added haptic feedback during the scanning session (setting
allowHapticFeedback) - Added a separate timeout timer for the Barcode step
- Updated help screens with new illustrations
- Updated
Need help?tooltip triggers - Updated translations for Croatian language