Skip to content

Releases: microblink/blinkid-android

v8000.0.0

03 Jun 20:38
84716b2

Choose a tag to compare

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 10 seconds) 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 - BlinkIdCameraScanningScreen now enables easier debugging and custom scan logic. With FrameProcessResultHandle it 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.0 to 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.
  • microblink-ux is no longer a separate artifact; it is now built into blinkid-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

v7.8.1

11 May 18:07
1349b4f

Choose a tag to compare

What's new

  • Fixed a bug in the remote licence check mechanism

v7.8.0

07 May 07:13
f1a7485

Choose a tag to compare

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 FieldType enum values: CardAccessNumber
    • new Type enum values: ORIGIN_CARD
    • new Country enum value: VIRGIN_ISLANDS_OF_THE_UNITED_STATES
  • Added member results to ScanningResult and VizResult:
    • 'cardAccessNumber'
  • Removed items from enums:
    • removed FieldType enum values: Removed ParentsLastName2, ParentsFirstName2, ChinPermanentExpiry
    • removed Country enum value: VIRGIN_ISLANDS_US

v7.7.1

20 Mar 15:07
a10fffe

Choose a tag to compare

What's new

  • Improved SDK and session shutdown behavior, and removed misleading warning logs during normal cleanup
  • Improved analytics reporting
  • Improved SDK initialization to help reduce failures

v7.7.0

25 Feb 13:08
04fcb12

Choose a tag to compare

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 FieldType enum values: EffectiveDate, ParentsLastName, ParentsLastName2, ParentsFirstName2, WorkRestriction, ParentsFirstName, SocialSecurityStatus, LegalStatus, HusbandName, ChinPermanentExpiry
    • new Type enum values: NinCard, MySSSCard, GendarmerieId, PoliceId
    • new Country enum value:SaintThomasAndPrince
    • new Region enum values:Acre,EspiritoSanto,MatoGrossoDoSul,Paraiba,Piaui,RioGrandeDoNorte,Tocantins,Odisha,Uttarakhand
  • Added member results to ScanningResult and VizResult

    • effectiveDate
    • husbandName
    • legalStatus
    • socialSecurityStatus
    • workRestriction
    • parentsInfo (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 to UiScanningSide (First, Second, Barcode)
  • CommonStatusMessage changed its members (to remove Document, Front, and Back occurrences):
    • ScanFrontSide to ScanFirstSide
    • ScanBackSide to ScanSecondSide
    • FlipDocument to Flip
    • KeepDocumentVisible to KeepVisible
    • AlignDocument to Align
    • ScanBarcode, RotateDocument, RotateDocumentShort, KeepFacePhotoVisible, IncreaseLightingIntensity, DecreaseLightingIntensity, EliminateGlare and FilterSpecificMessage have been moved from CommonStatusMessage to BlinkIdStatusMessage
  • Composable HelpScreens is implemented through a list of HelpScreenPage data classes
  • Composable OnboardingDialog is implemented through a single HelpScreenPage instance
  • Error dialogs for the default UI are now defined in the ComposableUtils.kt file
  • BlinkIdScanActivityColors replaced with ScanActivityColors
  • BlinkIdScanActivitySettings now extends a new ScanActivitySettings interface
  • Changed members of ScanningUxEvent:
    • RequestDocumentSide(DocumentSide) to RequestSide(UiScanningSide)
  • BlinkIdColorScheme and DarkBlinkIdColorScheme are replaced with LightColorScheme and DarkColorScheme
  • Removed DocumentDrawable (composable used for FlipAnimation) - animations now directly use a Drawable
  • DocumentFlipAnimation replaced with FlipAnimation

The following changes will possibly impact any implementation:

  • DocumentAlreadyScannedException renamed to ScanAlreadyCompletedException
  • BlinkIdScanActivityResultStatus(DocumentScanned, Canceled, ErrorSdkInit) renamed to ScanActivityResultStatus(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 (OnboardingDialog and HelpDialog)
  • Removed MoveDocumentFromEdge scanning UI message
  • UI messages now correctly reflect skipImagesWithBlur, skipImagesWithGlare, skipImagesWithInadequateLightingConditions and skipImagesOccludedByHand settings - when enabled, feedback message is provided to the user to adjust the document. These settings should be set to true when 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 BlinkIdScanningSession in some situations
  • Added MbLog for additional debugging and logging capabilities

v7.6.1

17 Nov 08:39
613460c

Choose a tag to compare

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

29 Oct 15:57
b9f86c7

Choose a tag to compare

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.21 in the blinkid-core library. The blinkid-ux and microblink-ux libraries already use Kotlin v2.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 TalkBack and navigation
  • 33 new languages (Full list here)
  • Changed default tiltDetectionLevel from Off to Mid

UI/UX bugs and fixes

  • The correct color from MaterialTheme is 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

05 Sep 08:50
5e846b2

Choose a tag to compare

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 parsed result 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_STATE in the blinkid-core library 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 CameraCompose Composable from the microblink-ux library:
    • CameraPermissionCallbacks - track camera permission events
    • CameraPreviewCallbacks - track camera preview lifecycle events
    • CameraInputDetailsCallback - receive camera input configuration details

v7.4.0

17 Jul 09:40
a56182d

Choose a tag to compare

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 Product enum to MbProduct
  • dependentsInfo in VizResult is now nullable

Bug fixes

  • Replaced caching directory for storing downloaded resource files - avoid rare crashes on specific devices

v7.3.0

27 Jun 15:33
c738105

Choose a tag to compare

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