Skip to content

@microblink/blinkid@8001.0.0

Latest

Choose a tag to compare

@mariokresic mariokresic released this 24 Jul 19:01
b7fbed3

BlinkID Web v8001.0.0

What's new

  • Accelerated support for newly issued documents
    • We’ve dramatically optimized our document support and extraction pipeline to drastically accelerate our time-to-production for newly issued identity documents worldwide, as well as unobtrusively support improvements related to document rules and knowledge.
    • Zero-day readiness: Depending on design availability and when a new document begins circulating, BlinkID can now deliver 0-day support—and at a maximum, within 4 weeks of the document's release.
    • Future-proof compliance: This allows your workflows to seamlessly adapt to global document updates faster than ever before.
  • Enhanced frame selection & image quality
    • We’ve upgraded our image capture engine to ensure only the highest-quality frames are processed, boosting extraction accuracy while reducing friction during scanning
      • Smart quality selection: BlinkID now automatically analyzes multiple frames in real time and picks the crispest, most stable image before extracting data.
      • Higher first-pass success: By filtering out blurry or unstable frames early, the SDK significantly reduces scan failures and false reads.
      • Flexible speed vs. quality tuning: Tune the scanner’s balance between ultra-fast results and maximum image precision with documentCaptureModule.inputImageSelectionStrategy.
      • Intelligent app feedback: Clear state updates inform your application whenever more stable images are needed (processingStatus: "awaiting-more-stable-input-images"), making it easy to provide smooth, real-time guidance to end users.
  • Enhanced photo mode intelligence
    • We’ve expanded Photo Mode workflows around input crop handling:
      • Smart image handling: If you are unsure whether the images being fed into the SDK are already cropped or uncropped, set documentCaptureModule.cropType to "unknown". The SDK optimizes how it handles the input and ensures maximum extraction accuracy regardless of the initial image state.
      • Explicit image signals: The SDK now returns inputImageCropAnalysis, informing the caller whether the input image was cropped. This allows the host application to intelligently determine the required next steps in complex extraction and verification processes.
  • Expanded & improved barcode capabilities
    • We’ve broadened our barcode recognition capabilities and boosted overall scanning performance
      • Aztec barcode support: Enable scanning for Aztec barcodes with barcodeModule.aztecScanningEnabled, expanding the types of documents and codes BlinkID can read.
      • Enhanced 2D & 1D reading: Substantially improved speed and accuracy when scanning QR codes, DataMatrix codes, and select 1D barcode formats, ensuring faster capture even on complex or damaged codes.
  • Parsing & extraction improvements
    • Persian digit recognition: We have significantly improved our parser’s accuracy when reading and processing Persian numbers, ensuring more reliable data extraction for regional documents.
  • As part of the mandatory data redaction we have expanded the list with Netherlands DL QR code being redacted

Bug fixes

  • Document swap data caching: Fixed an issue in continuous-video mode where data from a previously scanned document could persist after a new document was introduced. The SDK now immediately detects document swaps—either when a document is removed from the frame or when a new document is introduced—and automatically clears cached images (such as cropped faces, signatures, and barcodes) to prevent data cross-contamination.

New documents support

  • Bailiwick Of Jersey - Driver's License
  • Bailiwick Of Jersey - Paper Passport
  • Bailiwick Of Jersey - Polycarbonate Passport
  • Botswana - Driver's License
  • Brunei - Polycarbonate Passport
  • Democratic Republic Of The Congo - Polycarbonate Passport
  • Dominican Republic - Polycarbonate Passport
  • Eswatini - Driver's License
  • Gambia - Driver's License
  • Georgia - Residence Permit
  • Iceland - Identity Card
  • Iceland - Residence Permit
  • Japan - Specified Residence Card
  • Liechtenstein - Residence Permit
  • Liechtenstein - Resident ID
  • Mali - Polycarbonate Passport
  • Mauritania - Resident ID
  • Monaco - Identity Card
  • Monaco - Residence Permit
  • Nepal - Identity Card
  • Palestine - Identity Card
  • San Marino - Identity Card
  • Sudan - Driver's License
  • UK, Northern Ireland - Voter ID
  • USA, Arkansas - Medical Marijuana ID
  • USA, Massachusetts - Medical Marijuana ID
  • USA, Michigan - Medical Marijuana ID
  • USA, New Jersey - Medical Marijuana ID
  • Zambia - Residence Permit

New document versions for supported documents

  • Bolivia - Driver's License
  • Burkina Faso - Identity Card
  • Central African Republic - Paper Passport
  • Estonia - Identity Card
  • Dominican Republic - Identity Card
  • Guyana - Identity Card
  • Israel - Identity Card
  • Luxembourg - Polycarbonate Passport
  • Mexico, Baja California - Driver's License
  • Mexico, Hidalgo - Driver's License
  • Oman - Identity Card
  • Oman - Resident ID
  • Uruguay - Identity Card
  • USA, Mississippi - Identity Card
  • USA, Nebraska - Driver's License
  • USA, Nebraska - Identity Card
  • USA, North Carolina - Identity Card
  • USA, Oklahoma - Driver's License
  • USA, Oklahoma - Identity Card
  • USA, Texas - Weapon Permit

New extracted fields from documents

  • Brazil national identity card and regional (22 regions) identity cards now extract parent names via parentsInfo[].fullName (FieldType: "parentFullName").
  • Croatia identity card: added support for cyrillic values in sex, address, issuingAuthority, lastName and firstName (via StringResult alphabet "cyrillic"), and latin sex ("latin").
  • Virgin Islands of the United States identity card and driver's license: added documentSubtype and specificDocumentValidity.
  • Tunisia identity card: added arabic values for lastName, firstName, placeOfBirth (via StringResult alphabet "arabic"); added dateOfBirth.
  • Argentina identity card and alien identity card: instead of documentAdditionalNumber, cardAccessNumber should now be used.

API changes

  • The documentClassInfo object has changed:
    • type is now documentType.
    • country, region, and documentType are no longer plain string enums but objects with an optional strongly-typed id and a rawValue string for over-the-air updates:
      documentClassInfo: {
        country: { id: "croatia", rawValue: "CROATIA" },
        region: { id: "none", rawValue: "NONE" },
        documentType: { id: "id", rawValue: "ID" },
      }
    • Migration: replace documentClassInfo.country === "usa" with documentClassInfo.country?.id === "usa", and use id ?? rawValue when displaying values. This also affects redactionSettingsResolver, addDocumentClassFilter, and addOnDocumentFilteredCallback.
  • Added new ProcessingStatus: "awaiting-more-stable-input-images"
  • Added new types:
    • InputImageCropAnalysis: "not-cropped" | "cropped" | "not-available" | "undetermined"
    • InputImageSelectionStrategy: "single-image" | "optimize-for-speed" | "balanced" | "optimize-for-quality"
    • VizExtractionType: "not-available" | "segmentation" | "templating" | "unsupported"
  • Added new members to BlinkIdProcessResult / InputImageAnalysisResult:
    • inputImageCropAnalysis
    • vizExtractionType
  • Added new members to BlinkIdScanningResult and VizResult:
    • ethnicity
  • Added new member on parentsInfo entries:
    • fullName
  • Added new FieldType values: "parentFullName", "ethnicity"
  • Added barcodeModule.aztecScanningEnabled (default false)
  • Added documentCaptureModule.inputImageSelectionStrategy (default "balanced")

Web Platform specific:

New OTA (over-the-air) feature

  • We’ve introduced OTA support so your application can scan the latest documents without requiring a full SDK update. Every SDK build hosts baseline document-support resources under resources/ota-resources/, and the SDK can fetch newer compatible resources from an OTA provider during initialization.
  • Configure OTA through the otaResources option on createBlinkId / loadBlinkIdCore:
const blinkid = await createBlinkId({
  licenseKey: import.meta.env.VITE_LICENCE_KEY,
  otaResources: {
    checkForUpdates: true, // default; set false to skip the provider check
    strict: false, // default; set true to fail init on OTA errors
    // otaResourceProviderUrl: "https://your-proxy.example.com/blinkid-ota",
    // resourcesLocation: "https://cdn.example.com/blinkid-ota",
    // timeoutMilis: 20_000, // default
  },
});
  • Behavior:
    • The hosted baseline is always loaded and required for initialization.
    • By default the SDK also queries https://blinkid-ota.microblink.com and uses a provider resource only when its version is strictly newer than the hosted baseline.
    • checkForUpdates: false skips only the provider check; the hosted baseline is still loaded.
    • strict: true makes provider/download failures fatal. Hosted baseline failures are always fatal.
    • Provider endpoint:
      GET {otaResourceProviderUrl}/api/v1/versions?generic_version={recognizerVersion}
      
      The SDK supplies generic_version from the BlinkID recognizer (this release: 24.0.3).
  • Important to note:
    • otaResources is separate from top-level resourcesLocation (static SDK Wasm/resources) and from microblinkProxyUrl (licensing/analytics). Don’t cross-wire these.
    • Selected OTA files are written under /microblink/blinkid-ota in the worker MEMFS before SDK init.
    • See the blinkid-ota-setup example app for a working configuration.

Other Web platform changes

  • Browser / Wasm requirements: The non-SIMD basic Wasm build has been removed. BlinkID now requires WebAssembly SIMD: Chrome/Edge 91+, Firefox 89+, Safari / iOS Safari 16.4+, Samsung Internet 16+.
  • Wasm resource directories renamed: advancedsimd, advanced-threadssimd-threads. Update any hard-coded resource paths accordingly.
  • UX timeout errors: BlinkIdProcessingError value "timeout" was replaced by "inactivity_timeout" and "scan_step_timeout".
  • Localization: keep_document_still translation key renamed to keep_still (used by the BLUR_DETECTED UI state).

Detailed technical changes: