github microblink/web-sdks @microblink/blinkid@8000.0.0

3 hours ago

v8000

Breaking release. This version aligns the BlinkID Web SDK stack with the v8000 runtime. Integrations built against the 7.x public surface require migration. See the BlinkID v8000 migration guide.

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

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.

All-in-one SDK (@microblink/blinkid)

  • Replaces createBlinkIdUi with createBlinkId. Update imports and entry-point usage.
  • Adds uxManagerOptions on createBlinkId so you can pass timeoutConfiguration and other UX manager options without wiring the UX manager manually.
  • The built-in feedback UI derives extraction mode from session settings:
    • full-document — document capture flow
    • document-with-barcode — document plus barcode steps
    • barcode-only — barcode-focused flow
      Configure via scanningMode and enabled documentCaptureModule, barcodeModule, mrzModule, and vizModule settings.
  • BlinkIdComponent callbacks and filters (also available on BlinkIdUxManager where noted):
    • addOnResultCallback, addOnErrorCallback
    • addOnUiStateChangedCallback — stabilized visible UI state
    • addOnFrameProcessCallback — per-frame control with advanceToNextStep(), triggerStepTimeout(), and getLastFrame(); finish or advance when extracted data is sufficient even if the default flow would wait on an optional barcode step
    • addOnProgressCallback — RAF-driven progress snapshots for debug overlays
    • addDocumentClassFilter, addOnDocumentFilteredCallback
  • Top-level UI customization: targetNode, cameraManagerUiOptions, feedbackUiOptions (including nested localization), and cleanup via BlinkIdComponent.destroy().

Core, worker & runtime (@microblink/blinkid-core, @microblink/blinkid-worker, @microblink/blinkid-wasm)

  • Aligns published TypeScript types, worker Comlink API, and Wasm bindings with the v8000 runtime (breaking for code targeting the 7.x core/worker/wasm surface directly).
  • Result typings trimmed to match the runtime: removes stale exports such as mode, ParentInfo, RecognitionMode, and unsupported VIZ properties; tightens FieldType to currently supported values.
  • Renames SingleSideScanningResult.barcodeInputImagebarcodeImage.
  • Adds getResolvedSessionSettings() on the scanning session to read effective BlinkIdSessionSettings after defaults and resolvers are applied.
  • Data redaction API (replaces 7.x session anonymization):
    • Remove scanningSettings.anonymizationMode and scanningSettings.customDocumentAnonymizationSettings from BlinkIdSessionSettings.
    • Use RedactionSettings and RedactionMode instead (none, image-only, result-fields-only, full-result — same string values as former AnonymizationMode).
    • Pass optional redactionSettingsResolver when creating a session (createBlinkId, BlinkIdCore.createScanningSession, or BlinkIdWorker.createScanningSession). The resolver receives classified DocumentClassInfo and returns settings applied automatically at getResult() time.
    • Seed defaults with BlinkIdWorker.getDefaultRedactionSettings(documentClassInfo) (Wasm: getDefaultRedactionSettings).
    • RedactionSettings adds redactMrz and redactBarcode on the result payload.
    • Migrate legacy DocumentAnonymizationSettings: documentNumberAnonymizationSettingsdocumentNumberRedactionSettings; move per-document filters into resolver logic keyed on DocumentClassInfo.

Feedback UI (@microblink/blinkid-ux-manager)

  • Breaking — localization overrides: Flat top-level keys (e.g. scan_the_barcode, help_modal_title_1, alert_cancel_btn, onboarding_modal_title, scanning_help) are no longer accepted. Use the nested shape:
    • feedback_messages — live scan hints
    • help_modal / onboarding_modal — branches full_document, document_with_barcode, barcode_only (steps visibility, lighting, blur; desktop camera_lens where applicable)
    • document_filtered_modal, document_not_recognized_modal, error_modal, timeout_modal
    • help_button, sdk_aria
  • Notable renames: document_scannedfeedback_messages.document_scanned_aria; front_side_scannedfeedback_messages.front_side_scanned_aria; scan_unsuccessfultimeout_modal.title. New keys include feedback_messages.scan_the_barcode_side and feedback_messages.keep_still. Full flat-key → nested-path table is in the migration guide and package README under Internationalization.
  • Help and onboarding copy and illustrations follow extraction mode (full_document, document_with_barcode, barcode_only assets).
  • Two-timer timeout model via timeoutConfiguration:
    • inactivityTimeoutMs — inactivity between stabilized UI-state changes (restarts when the feedback stabilizer applies a new state)
    • scanStepTimeoutMs — total active capture time for the current step (pauses when capture stops; resets on new intro-anchored step or app foreground)
    • partiallySupportedBarcodeResolveTimeoutMs — wait before resolving a partially supported barcode step
      Set any timer to null to disable. Replaces getTimeoutDuration() / setTimeoutDuration() with getTimeoutConfiguration() / setTimeoutConfiguration().
  • addOnProgressCallback with BlinkIdProgress, BlinkIdProgressTimerState, and BlinkIdProgressTimerStatus for live progress instrumentation.
  • addOnFrameProcessCallback exported as BlinkIdFrameProcessCallback for frame-level flow control.

Minor API changes

  • Removed from session settings: anonymizationMode, customDocumentAnonymizationSettings, custom document rules.
  • Removed / trimmed from typings: stale result-only fields and enums noted above; unsupported VIZ properties.
  • Renamed: barcodeInputImagebarcodeImage; anonymization types/settings → redaction equivalents.
  • Added: createBlinkId, uxManagerOptions, redactionSettingsResolver, getResolvedSessionSettings(), timeoutConfiguration (+ getters/setters on UX manager), progress and frame-process callbacks, nested localization structure, RedactionSettings.redactMrz / redactBarcode.

Don't miss a new web-sdks release

NewReleases is sending notifications on new releases.