Skip to content

Releases: microblink/blinkid-flutter

v8000.0.0

12 Jun 11:58

Choose a tag to compare

What's new

  • The list of all supported documents and result fields is now available here.
  • 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 more 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 & data redaction (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.
    • Data redaction (Anonymization): We’ve transitioned away from fixed data redaction (anonymization) rules. You can now programmatically decide which fields to mask and how to handle them based on the specific data returned.
    • We are transitioning our terminology from 'anonymization' to 'data redaction' to more accurately reflect the nature of this feature.
  • 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.
  • 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.
    • 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

  • 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.
  • 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

Requirements

  • Flutter 3.44.1 or newer
  • Dart 3.12.1 or newer
  • iOS 16.0 or newer; Swift Package Manager must be enabled (flutter config --enable-swift-package-manager)
  • Android API level 24 or newer; compileSdk 36; AGP 9.1.0; Kotlin 2.2.21
  • Integrator apps do not need Jetpack Compose setup; Compose is used internally by BlinkID UX

Breaking changes

  • Module-based scanning settings: flat fields on BlinkIdScanningSettings (e.g. glareDetectionLevel, CroppedImageSettings) are replaced by optional module configs: DocumentCaptureModuleSettings, MrzModuleSettings, BarcodeModuleSettings, VizModuleSettings
  • UX settings: use BlinkIdScanningUxSettings (already renamed from BlinkIdUiSettings in v7.6; v8000 builds on the module model)
  • Method signatures: performScan and performDirectApiScan use named parameters instead of positional arguments
  • SDK settings constructor: BlinkIdSdkSettings(licenseKey: ...) — the v7 positional sdkLicenseKey parameter name is gone
  • Class filter: prefer ClassFilter()..includeDocuments = [...] / ..excludeDocuments = [...] instead of ClassFilter.withIncludedDocumentClasses(...)
  • Anonymization → redaction: AnonymizationSettings / fixed rules removed; use RedactionSettings (DirectAPI) or RedactionSettingsResolver (camera scan)
  • Custom document rules removed: customDocumentRules on BlinkIdScanningSettings is no longer supported — implement completeness logic in your app
  • Session timeouts: BlinkIdSessionSettings adds stepTimeoutDuration and inactivityTimeoutDuration (milliseconds)
  • Enum/result changes: see Minor API changes below (VIRGIN_ISLANDS_USVIRGIN_ISLANDS_OF_THE_UNITED_STATES, removed FieldType values, new cardAccessNumber, etc.)

For step-by-step migration examples, see the Migrating from v7.x section in the README and the native v8000 migration guide.

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.0

23 Mar 15:16
9e94019

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.
  • Fixed issue with incorrect retrieval of properties primaryID and secondaryID from the MrzResult.

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 DocumentType 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 BlinkIdScanningResult and VizResult

    • effectiveDate
    • husbandName
    • legalStatus
    • socialSecurityStatus
    • workRestriction
    • parentsInfo (new class)

v7.6.1

21 Nov 13:04
760ae4e

Choose a tag to compare

What's New

  • For some documents document type was returned as None, which was causing confusion. To prevent this, we are filling in 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

07 Nov 15:31
7e52769

Choose a tag to compare

What's New

  • Added two new methods in BlinkidFlutter: loadBlinkIdSdk & unloadBlinkIdSdk
    • loadBlinkIdSdk - Initializes and loads the BlinkID SDK if it is not already loaded. This method can be called in advance to preload the SDK before starting a scanning session. Doing so reduces loading time for the performScan and performDirectApiScan methods since all resources will already be available and the license verified.
    • unloadBlinkIdSdk - Terminates the BlinkID SDK and releases all associated resources. This method safely shuts down the SDK instance and frees any allocated memory. If the parameter deleteCachedResources is set to true, the method performs a complete cleanup, including deletion of all downloaded and cached SDK resources from the device.
  • You can now configure the SDK to load resources locally instead of downloading them. Set downloadResources to false, and provide the local resource path using resourceLocalFolder (Android) and bundleIdentifier (iOS).
  • 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

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

New languages

  • Added 33 new languages (see full list here)

Breaking changes

  • Renamed the bundleURL to bundleIdentifier in BlinkIdSdkSettings.
  • Renamed BlinkIdUiSettings to BlinkIdScanningUxSettings.

Native platform changes

iOS

  • The SDK was built with Xcode 26

Android

  • Updated Kotlin to v2.0.21 in the blinkid-core library. The blinkid-ux and microblink-ux libraries already used Kotlin v2.1.20.
  • Target SDK updated to API Level 36

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

Other changes

  • Changed default tiltDetectionLevel from Off to Mid

v7.5.0

23 Sep 11:14
1ae2a52

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 crash when the optional BlinkIdUiSettings parameter was not being passed to the performScan method.

v7.4.0

23 Jul 11:44
f008bbe

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

Bug fixes

  • Fixed issue with incorrect DriverLicenseDetailedInfo serialization

v6.13.3

18 Jul 08:03

Choose a tag to compare

Bug fixes

  • Additional localization fixes.

v7.3.0

08 Jul 10:44
2acf22a

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
  • Added BlinkIdUiSettings for customizing various aspects of the UI used during the scanning process

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
  • Fixed issue with DateResult where day, month and year were not properly returned

iOS-specific

  • Fixed issue with adding customDocumentRules in BlinkIdScanningSettings

v6.13.2

20 May 13:55

Choose a tag to compare

Bug fixes

  • Fixed an issue where the SDK did not update its language based on the device's language settings.

v7.2.0

12 May 11:20
843fce3

Choose a tag to compare

7.2.0

The version 7 release of the BlinkID SDK.

Breaking changes

  • The plugin now requires:

    • iOS version 16.0 and above.
    • Android API version 24 and above.
    • Flutter version 3.29 and above.
  • Class MicroblinkScanner has been renamed to BlinkidFlutter.

  • Method scanWithCamera has been renamed to performScan.

  • Method scanWithDirectApi has been renamed to performDirectApiScan.

  • Many of the older settings have been renamed to be more intuitive, for more information see the blinkid_settings.dart file, and the native documentation for Android and iOS.

  • See section Version 7 plugin usage for more details about how to use each method, and how to handle the scanned results.

Version 7 plugin usage

The performScan method

The performScan method launches the BlinkID scanning process with the default UX properties.
It takes the following parameters:

  1. BlinkID SDK settings
  2. BlinkID session settings
  3. The optional ClassFilter object for filtering documents.

BlinkID SDK Settings - BlinkIdSdkSettings: the class that contains all of the available SDK settings. It contains settings for the license key, and how the models, that the SDK needs for the scanning process, should be obtained.

BlinkID Session Settings - BlinkIdSessionSettings: the class that contains various settings for the scanning session. It contains the settings for the ScanningMode and BlinkIdScanningSettings, which define various parameters that control the scanning process.

The optional ClassFilter class - ClassFilter: the class which controls which documents will be accepted or reject for information extraction during the scanning session.

The performDirectApiScanning method

The performDirectApiScan method launches the BlinkID scanning process inteded for information extraction from static images.
It takes the following parameters:

  1. BlinkID SDK settings
  2. BlinkID session settings
  3. First image string in the Base64 format
  4. The optional second image string in the Base64 format

BlinkID SDK Settings - BlinkIdSdkSettings: the class that contains all of the available SDK settings. It contains settings for the license key, and how the models, that the SDK needs for the scanning process, should be obtained.

BlinkID Session Settings - BlinkIdSessionSettings: the class that contains various settings for the scanning session. It contains the settings for the [ScanningMode] and [BlinkIdScanningSettings], which define various parameters that control the scanning process.

The first image Base64 string - String: image that represents one side of the document. If the document contains two sides and the ScanningMode is set to automatic, this should contain the image of the front side of the document. In case the ScanningMode is set to single, it can be either the front or the back side of the document. If the document contains only one side (for example, various passports), the SDK will automatically detect it, and will not look for the other side.

The optional second image Base64 string - String: needed if the information from back side of the document is required and the ScanningMode is set to automatic.

BlinkID result

  • Both methods return the BlinkIdScanningResult object, which contains the results of scanning a document, including the extracted data and images from the document.

  • All of the available results can be viewed here.

Implementation guide

  • A detailed guide about the integration and usage of the plugin can be viewed here.
  • The sample application which demonstrates the usage of the SDK can be found in the main.dart file.