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
createBlinkIdUiwithcreateBlinkId. Update imports and entry-point usage. - Adds
uxManagerOptionsoncreateBlinkIdso you can passtimeoutConfigurationand 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 flowdocument-with-barcode— document plus barcode stepsbarcode-only— barcode-focused flow
Configure viascanningModeand enableddocumentCaptureModule,barcodeModule,mrzModule, andvizModulesettings.
BlinkIdComponentcallbacks and filters (also available onBlinkIdUxManagerwhere noted):addOnResultCallback,addOnErrorCallbackaddOnUiStateChangedCallback— stabilized visible UI stateaddOnFrameProcessCallback— per-frame control withadvanceToNextStep(),triggerStepTimeout(), andgetLastFrame(); finish or advance when extracted data is sufficient even if the default flow would wait on an optional barcode stepaddOnProgressCallback— RAF-driven progress snapshots for debug overlaysaddDocumentClassFilter,addOnDocumentFilteredCallback
- Top-level UI customization:
targetNode,cameraManagerUiOptions,feedbackUiOptions(including nested localization), and cleanup viaBlinkIdComponent.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; tightensFieldTypeto currently supported values. - Renames
SingleSideScanningResult.barcodeInputImage→barcodeImage. - Adds
getResolvedSessionSettings()on the scanning session to read effectiveBlinkIdSessionSettingsafter defaults and resolvers are applied. - Data redaction API (replaces 7.x session anonymization):
- Remove
scanningSettings.anonymizationModeandscanningSettings.customDocumentAnonymizationSettingsfromBlinkIdSessionSettings. - Use
RedactionSettingsandRedactionModeinstead (none,image-only,result-fields-only,full-result— same string values as formerAnonymizationMode). - Pass optional
redactionSettingsResolverwhen creating a session (createBlinkId,BlinkIdCore.createScanningSession, orBlinkIdWorker.createScanningSession). The resolver receives classifiedDocumentClassInfoand returns settings applied automatically atgetResult()time. - Seed defaults with
BlinkIdWorker.getDefaultRedactionSettings(documentClassInfo)(Wasm:getDefaultRedactionSettings). RedactionSettingsaddsredactMrzandredactBarcodeon the result payload.- Migrate legacy
DocumentAnonymizationSettings:documentNumberAnonymizationSettings→documentNumberRedactionSettings; move per-document filters into resolver logic keyed onDocumentClassInfo.
- Remove
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 hintshelp_modal/onboarding_modal— branchesfull_document,document_with_barcode,barcode_only(stepsvisibility,lighting,blur; desktopcamera_lenswhere applicable)document_filtered_modal,document_not_recognized_modal,error_modal,timeout_modalhelp_button,sdk_aria
- Notable renames:
document_scanned→feedback_messages.document_scanned_aria;front_side_scanned→feedback_messages.front_side_scanned_aria;scan_unsuccessful→timeout_modal.title. New keys includefeedback_messages.scan_the_barcode_sideandfeedback_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_onlyassets). - 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 tonullto disable. ReplacesgetTimeoutDuration()/setTimeoutDuration()withgetTimeoutConfiguration()/setTimeoutConfiguration().
addOnProgressCallbackwithBlinkIdProgress,BlinkIdProgressTimerState, andBlinkIdProgressTimerStatusfor live progress instrumentation.addOnFrameProcessCallbackexported asBlinkIdFrameProcessCallbackfor 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:
barcodeInputImage→barcodeImage; 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.