8.4.0
Released: May 18, 2026
New Features
Barcode
- Added an Error entry to
BarcodeSequenceState, triggered when the sequencing process encounters an error. - Added
dotRadiusproperty toBarcodeBatchBasicOverlayto allow customizing the size of dots when using the Dot overlay style. - Added
shouldShowShutterButtonflag inBarcodeSequenceViewto hide the main shutter button and blinking indicator; addedBarcodeSequenceView::startSequencing()andBarcodeSequenceView::pauseSequencing()(iOS) /BarcodeSequenceView::stopSequencing()(Android) to programmatically replicate the shutter button behavior; exposedBarcodeSequenceStateenum andBarcodeSequenceViewUIListener::onStateChangedto be notified when a state change occurs; exposedBarcodeSequenceView::stateto retrieve the current state; exposedBarcodeSequenceView::sequencedShelfModuleto retrieve the scanned shelf module.
Id
- Added support for reading the vehicle table on the back of New Zealand driving licences, with the latest expiry date returned; supported vehicle classes are 1–6, including L=learner and R=restricted variants.
- Added support for new versions of USA, California – Driver's License; USA, North Carolina – Driver's License; USA, Texas – Driver's License; and USA, Oklahoma – Driver's License.
Core
- Redesigned
ZoomSwitchControlto support multiple configurable zoom levels; the control now displays as a compact button that expands to show all available zoom levels, automatically filtered to those supported by the device hardware. - Added a new
PinchToZoomgesture. - Introduced a new
ZoomListeneron the Camera object.
Performance Improvements
Barcode
- Improved Code 128 scan robustness for codes with uneven blur and geometric distortions. Available on all platforms except WebAssembly without SIMD and ARM without FP16.
- Improved 1D barcode scanning speed and reduced false positives for linear symbologies.
- Further improved scanning of square DataMatrix codes with damaged or occluded timing patterns.
Behavioral Changes
Barcode
- Smart Scan Intention now continuously adapts between Single Scan and Selection modes during a scanning session when Smart Scan Selection is enabled, switching back to Single Scan when the scene no longer requires Selection mode. Previously, once Selection mode was activated it remained active for the rest of the session.
- Changed ITF scanning to reduce false positives by introducing checksum-dependent scoring. ITF has an optional checksum which is mandated to be enabled by many of the standards that use ITF as the data carrier. Starting with this release, checksum-passing ITF codes are scanned with more relaxed conditions than codes that don't pass the checksum test. This happens even if the optional mod 10 checksum isn't enabled. To disable this behavior, enable the
no_checksum_dependent_validationsymbology extension for the ITF symbology. - Removed the Abseil library dependency.
- Reduced Code 39 false positives.
Core
- Updated mbedtls from version 3.6.5 to 3.6.6.
Bug Fixes
Barcode
- Fixed an issue in
BarcodeCountwhere the floating shutter button was not visible after settingshouldShowFloatingShutterButtontotrue. - Fixed an issue preventing
BarcodeFindfrom finding binary barcodes. - Fixed PDF417 macro block file ID decoding to correctly handle numeric formatting according to the ISO/IEC 15438:2015 specification.
- Fixed a crash that could occur when scanning barcodes with the k-out-of-n filter enabled, if some detected barcodes were not subject to filtering.
- Fixed an issue where the Smart Scan Selection aimer would become too small when scan-area margins restricted the visible scan area; the aimer is now sized relative to the view, keeping a consistent on-screen size regardless of margins.
- Fixed an issue in BarcodeCount where the strap mode setting would not be saved in all cases.
Id
- Fixed an issue where the US Permanent Residence Card was not processed through the VizMrz flow.
- Fixed an issue where AAMVA verification was being performed even when no AAMVA document types were enabled in the accepted documents.
Smart Label Capture
- Fixed a memory leak in LabelCapture
- Fixed an issue where the validation flow viewfinder was not displayed.
- Fixed a race condition in the validation flow.
- Fixed a bug that caused error messages in
DataCaptureViewto be rendered partially out-of-view. - Fixed a bug that would cause the buttons in the
LabelCaptureValidationFlowOverlayto overlap when applying a long custom text. - Fixed a rare race condition in Label Capture.
- Added
.asDate()support toExpiryDateandPackingDatelabel fields when the text is provided as manual input or as an Adaptive-Recognition-Engine response. - Fixed a bug where the receipt scanning overlay and validation flow overlay could not be used on the same LabelCapture mode instance.
Core
- Fixed a crash that occurred when the
DataCaptureContextsingleton was initialized more than once. - Fixed a rare crash when opening the camera.
- Fixed a rare SIGABRT crash on camera initialization on devices whose HAL returns null from
Camera.Parameters.getSupportedFocusModes()(e.g. industrial barcode scanners like the Newland NLS-MT93). - Fixed custom sound not working in Barcode Find on Android.
- Fixed a rare crash when starting camera capture while under memory pressure.
8.3.1
Released: April 14, 2026
New Features
Barcode
- Added
shouldShowShutterButtonflag inBarcodeSequenceViewto hide the main shutter button and blinking indicator; addedBarcodeSequenceView::startSequencing()andBarcodeSequenceView::pauseSequencing()to programmatically replicate the shutter button behavior; exposedBarcodeSequenceStateenum as well asBarcodeSequenceViewUIListener::onStateChangedto be notified when a state change occurs; exposedBarcodeSequenceView::stateto retrieve the current state; exposedBarcodeSequenceView::sequencedShelfModuleto retrieve the scanned shelf module.
Bug Fixes
Smart Label Capture
- Fixed the validation flow to accept dates in more formats when manually entered
- Fixed a race condition in the validation flow
8.3.0
Released: March 26, 2026
New Features
Barcode
- Added support for composite codes in SparkScan
- Added PDF417 barcode generation support with configurable options like error correction level, compaction mode, and dimensions through the new
Pdf417BarcodeGeneratorBuilder.
Id
- Added support for OCR scanning of the 2026 version of Victoria mobile driver licenses
- Added IdCaptureSettings.anonymizeDefaultFields setting that controls whether the SDK applies default anonymization rules for specific document types and regions
- US, EU/ Schengen + UK passports no longer fallback to MRZ only. Now, US, EU/ Schengen + UK passports must capture VIZ instead of returning MRZ values after the configurable timeout has elapsed. This applies to FullDocumentScanner or SingleSideScanner when both VIZ and MRZ zones are enabled.
Smart Label Capture
- Fixed a rare race condition
Core
- Deprecated outdated DataCaptureViewListener
Performance Improvements
Barcode
- Improved EAN8 false positive filtering in strict mode
- Improved speed of MatrixScan Count scanning phase for mid- and high-end devices
Core
- Improved nullability handling across the library to ensure null-safety contracts are enforced consistently, reducing the risk of unexpected crashes
Behavioral Changes
Core
- Updated Android documentation to render in Kotlin
Bug Fixes
Barcode
- Fixed an issue in BarcodeCount where the floating shutter button was not visible after setting shouldShowFloatingShutterButton to true.
- Fixed a bug that was causing BarcodeFind to render barcodes filtered out by the Transformer as if they were valid targets.
Id
- Fixed support for UAE Esaad card
- Sanitized name fields on ACT driver license to split FullName and populate first and last name properties
- Added support for scanning MRZ from the back of Argentinian DN when using
FullDocumentScanner
Smart Label Capture
- Fixed an issue in the
LabelCaptureValidationFlowOverlaywhen using it with Jetpack Compose that caused focus loss when opening the keyboard - Added
LabelCaptureValidationFlowOverlay.ShouldHandleKeyboardInsetsInternallyfor cases when customers don't want to follow official Android edge-to-edge and inset guidelines
Core
- Fixed a potential app hang when the app transitions to the background for licenses without analytics enabled.
8.2.1
Released: March 5, 2026
Bug Fixes
Id
- Sanitized name fields on ACT DL. Splits FullName to populate first and last name properties
Smart Label Capture
- Fixed LabelCaptureValidationFlowOverlay possible issue with Jetpack Compose that caused focus loss when opening the keyboard
- Added LabelCaptureValidationFlowOverlay::ShouldHandleKeyboardInsetsInternally in case customers don't want to follow official Android guidelines for edge-to-edge and insets
- Fixed a rare race condition
8.2.0
Released: February 13, 2026
New Features
Barcode
- Added new getFeedbackForScannedItem method to SparkScanFeedbackDelegate
Id
- Added a Jetpack compose settings sample for ID
- Enabled scanning of MRZ on the backside of several EU residence permits
- Added extraction of a cropped document image from Passports and VISAs that do not support VIZ extraction
- Added extraction of the date of birth from Romanian IDs
Smart Label Capture
- The Validation Flow, our ready‑to‑use workflow in Smart Label Capture for capturing and validating label data with minimal code, now features a completely redesigned user interface. The update improves ergonomics through a simplified API and highly requested customization options, making Smart Label Capture more intuitive and significantly reducing integration and customization effort across a wider range of use cases
- Added LabelCapture Validation Flow Manual input delegate, that allows the developer to receive a callback when the users trigger the manual input.
Core
- Added ability to emit sound or vibration separately in Feedback
Performance Improvements
Core
- Reduced intermittent memory spikes while configuring the barcode scanner across all capture modes
- Barcode Generator: Improved DataMatrix encoding efficiency, which depending on input data may result in smaller generated codes
Behavioral Changes
Barcode
- Highlights in BarcodeAr can now be updated when BarcodeArView is in a paused mode
- Updated MatrixScan tote mapping sample to Kotlin
Bug Fixes
Barcode
- Improved the Smart Scan Intention logic for detecting main codes + five-digit add on codes. This improves the rate of complete main + add-on code pairs.
- Fixed an issue where the successful hint in BarcodeFind is not displayed
Id
- Fixed an issue affecting MRZ scanning performance when using the user facing camera in portrait mode on Android
- Fixed a memory issue leading to a persistent black screen during ID Capture startup
- Treated Puerto Rico driver licenses as AAMVA to enforce barcode capture with FullScanner
- Fixed a bug that would cause Canada Northwest Territories driver license scans to be incomplete
Core
- Fixed an issue where the camera would not restart when opened from another app
- Fixed a bug that could in rare cases produce a black screen when starting the camera
- Fixed an issue where some LabelCapture fields were being returned incorrectly on TS frameworks
Deprecations
Smart Label Capture
- Deprecated some LabelCaptureValidationFlowSetting APIs: requiredFieldErrorText, missingFieldsHintText, manualInputButtonText, as those don't make sense anymore with the redesign of Validation Flow in 8.2
8.1.5
Released: June 10, 2026
New Features
Barcode
- Added
shouldShowTrayIndicatorTexttoBarcodeSequenceViewto toggle the per-row tray indicator label (e.g. "Row 1"). - Added an option to configure the duration of BarcodeSequence's idle timeout.
Bug Fixes
Barcode
- Fixed an issue where the "Remove" button in the sequence popover would sometimes not work.
- Fixed a memory leak in item-based scanning.
Smart Label Capture
- Fixed a memory leak in LabelCapture.
Core
- Fixed a rare crash when starting camera capture while under memory pressure.
- Fixed a rare crash when opening the camera.
- Fixed a rare native crash (SIGABRT in BitTube::recvObjects) that could occur on Android during camera preview rendering.
8.1.4
Released: April 21, 2026