8.0.0
Released: November 4, 2025
New Features
Scandit's SDK 8.0 marks the evolution of data capture from a high-performing scanning tool into an intelligent AI-powered workflow enabler. As frontline operations face mounting pressures with more data points to capture, increasingly complex workflows to navigate, and tighter resource constraints, SDK 8.0 delivers a set of innovations that:
- Adapt its scanning settings and UI to context by analyzing the scanning environment and user intent;
- Automate the capture of any data format, barcode clustering, task handling or camera settings;
- Accelerate critical use cases to maximize ROI through intuitive, streamlined scanning workflows, using interactive AR-guidance, adaptive UI and out-of-the-box custom-branded passenger experiences.
With SDK 8.0 businesses can transform data capture from a basic function to a strategic advantage. It enables intelligent scanning that:
- Understands not just what is being scanned, but also what you want to scan and why you’re scanning it
- Adapts accordingly by adjusting scanning settings and/or UI, understanding what comes next and how to guide users seamlessly through sophisticated tasks to ensure the highest level of productivity.
Barcode
- Updated the Gradle version for all sample applications to 8.14.3.
BarcodeBatchBasicOverlayandBarcodeBatchBasicOverlayListenernow allow for nullable brushes.
ID
- Added
ElementsToRetaintoMobileDocumentScanner: The set of data elements that the application intends to retain from scanned mobile documents. This information is used to set theIntentToRetainflag in ISO 18013-5 mdoc requests, which is required for legal compliance with data protection standards. An empty set indicates no elements will be retained, andIntentToRetainwill be set tofalsefor all fields. - ID Capture now supports full-frame anonymization.
- The result of
decodeMobileDriverLicenseViz, which is currently returned as part of theVizResultwithinCapturedId, will now be provided through a new field namedmobileDocumentOcr. - Added
CapturedId::isCitizenPassport, which indicates whether the passport was issued to a citizen of the issuing country. Returnsfalsefor travel documents such as refugee, stateless, or alien passports, and for any passports issued by organizations rather than states. - The following Chinese travel permits now extract VIZ + MIZ data during double-sided scanning flows:
- CT - Taiwan Residents Mainland Travel Permit
- W - Mainland Residents Exit-Entry Permit to and from Hong Kong and Macao
- CD - Mainland Residents Entry-Exit Permit to and from Taiwan
Behavioral Changes
Barcode
- Symbology
RM4SCChas been renamed toROYAL_MAIL_4STATE. - Changed the default highlight brush in SparkScan and Barcode Capture.
ID
- The configuration for the following documents has been changed as detailed below:
- Australian mobile driver licenses (mDL) are now treated as normal documents, with no separate mode.
- US Green Cards are now treated as residence permits.
- Removed the deprecated API
DateResult::toDate. UseDateResult::toLocalDateorDateResult::toUtcDateinstead. fullNamenow an optional field on allIdCaptureresult types andcapturedMrznow an optional field onMrzResult.
Bug Fixes
ID
- Fixed a bug that could get the scanner stuck when scanning a US passport card.
Deprecations
Core
VideoResolution::Autois now deprecated. Please use the capture mode'srecommendedCameraSettingsfor the best results.
7.6.4
Released: November 5, 2025
No updates for this framework in this release.
7.6.3
Released: October 29, 2025
Bug Fixes
Core
- Resolved a bug in the
DataCaptureContextListenerthat prevented the native error payload for denied camera permissions from being correctly propagated. Users will now see the intended, actionable error message when camera access is required but denied.
7.6.2
Released: October 20, 2025
Bug Fixes
Barcode
- Fixed an issue occurring during reset of
BarcodeCaptureSessionin some rare cases.
7.6.1
Released: September 18, 2025
Bug Fixes
Core
- Fixed decoding of some ASCII-encoded DataMatrix codes ending with '254' codeword followed by padding.
- Improved support for missing or damaged timing patterns in Aztec codes.
7.6.0
Released: September 15, 2025
New Features
ID
- A proprietary Transaction ID can now be attached to each ID scan to enable end-to-end traceability of user transactions.
- Better UX when scanning Mobile Driver Licenses (mDL) with new screens to handle Bluetooth device state and data transmission progress.
- Added support for the following documents:
- Canadian IDs and Driver Licenses for Newfoundland And Labrador, Northwest Territories, Prince Edward island and Yukon
- UK Military iD (MOD 90 ID Card)
- New US Driver License versions in Alaska and New Hampshire
- Georgia Medical Marijuana Card
Parser
- The GS1 parser now allows for dates in format
YYYYMMalso in non-strict mode if the year starts with20XX.
Bug Fixes
Core
- Fixed lifecycle events not firing properly upon initial startup.
ID
- ID scanning results for
genderof documents that do not specify a gender are now correctly mapped asunspecified.
Behavioral Changes
- The MRZ fields
optionalandoptional1have been renamed tooptionalDataInLine1andoptionalDataInLine2, respectively. - Exposed public constructors for
BarcodeAr,BarcodeBatch,BarcodeCapture,BarcodeSelection,BarcodeCount,SparkScan.
Deprecations
- Deprecated
resultShouldContainImage. - Deprecated
AamvaBarcodeVerification. - Deprecated
IdCaptureSettings.decodeIsoMobileDriverLicensesandIdCaptureSettings.decodeMobileDriverLicenseViz. - Deprecated
BarcodeCaptureOverlayStyle. - Deprecated the
recommendedCameraSettingsprop in different modes in favor of the static function. - Deprecated
BarcodeBatch.forContext. A new constructor has been added. - Deprecated
BarcodeBatchBasicOverlay.withBarcodeBatch,BarcodeBatchBasicOverlay.withBarcodeBatchForViewandBarcodeBatchBasicOverlay.withBarcodeBatchForViewWithStyle. A new public constructor has been added. - Deprecated
BarcodeCapture.forContext. A new constructor has been added. - Deprecated
BarcodeCaptureOverlay.withBarcodeCapture,BarcodeCaptureOverlay.withBarcodeCaptureForViewandBarcodeCaptureOverlay.withBarcodeCaptureForViewWithStyle. A new public constructor has been added. - Deprecated
BarcodeCount.forContext. A new constructor has been added. - Deprecated
BarcodeSelection.forContext. A new constructor has been added. - Deprecated
BarcodeSelectionBasicOverlay.withBarcodeSelection,BarcodeSelectionBasicOverlay.withBarcodeSelectionForViewandBarcodeSelectionBasicOverlay.withBarcodeSelectionForViewWithStyle. A new public constructor has been added. - Deprecated
SparkScan.forSettings. A new constructor has been added. - Deprecated
SparkScanView.forSettings. A new constructor has been added. - Deprecated
IdCapture.forContext. A new constructor has been added. - Deprecated
IdCaptureOverlay.withIdCaptureandIdCaptureOverlay.withIdCaptureForView. A new public constructor has been added. - Deprecated
AamvaBarcodeVerifier. Replaced by IdCaptureSettings.rejectForgedAamvaBarcodes. - Deprecated
LabelCapture.forContext. A new constructor has been added. - Deprecated
LabelCaptureBasicOverlay.withLabelCaptureandLabelCaptureBasicOverlay.withLabelCaptureForView. A new public constructor has been added. - Deprecated
LabelCaptureAdvancedOverlay.withLabelCaptureandLabelCaptureAdvancedOverlay.withLabelCaptureForView. A new public constructor has been added.
7.5.1
Released: September 4, 2025
New Features
ID
- Added
CapturedId::toJsonWithoutImages, a more performant conversion method if images are not needed.
Performance Improvements
ID
- Improved
IdImagehandling for captured IDs by implementing aFileSystemCache.
7.5.0
Released: August 12, 2025
New Features
Barcode
- Added a proper API to configure the file system caching of the Frames:
FrameDataSettings.IsFileSystemCacheEnabled(). Defaults tofalse. - SparkScan now supports Smart Scan Selection. Scanning a single barcode is often difficult in environments where multiple barcodes are placed closely together, like on a densely packed warehouse shelf or on a package with various labels. This can lead to scanning the wrong item, causing errors and slowing down operations. Users might have to manually switch to a special, more precise scanning mode (Target Mode), which is inefficient. Smart Scan Selection solves this problem by automatically detecting when a user is trying to scan in a "dense barcode" environment. The interface then intelligently adapts, providing an aimer to help the user precisely select the desired barcode without needing to manually change any settings. This creates a seamless and more intuitive scanning experience.
- Improved support for non-standard GS1 AI codes.
- The
Barcodeclass now exposes a module count.
ID
- VIZ scanning now supports checking Real ID compliance for US documents.
- Scanning of ISO-18013 compliant mobile driver licenses is now supported in select justifications (Queensland Digital License).
Bug Fixes
ID
- Fixed bug in
AAMVABarcodeVerifierthat triggered error callbacks for each verification after updating from some older SDK version.
Behavioral Changes
- Sample applications now use
httpsto access the DataCapture SPM repository instead ofssh.
Deprecations
- Deprecated
BarcodeCaptureOverlayStyle.
7.4.3
Released: August 29, 2025
No updates for this framework in this release.
7.4.2
Released: August 15, 2025
No updates for this framework in this release.
7.4.1
Released: July 14, 2025
No updates for this framework in this release.
7.4.0
Released: June 19, 2025
New Features
Barcode
- Added an API to update the width and height of the AR View.
- Added the option to enable the
SmartLabelCapturemode in theSparkScanView. - The
LaserViewfinderis now available.
ID
- Added support for Spanish residence permit "Green NIE".
- Added support for US Medical Marijuana IDs from West Virginia, Florida, Pennsylvania, Nevada, New York, and Oklahoma.
Performance Improvements
- Updated ARM MbedTLS from 3.6.2 to 3.6.3.
ID
- Improved AAMVA Barcode Verification accuracy for Missouri documents.
Bug Fixes
ID
- Fixed an issue where the middle name read from an AAMVA-compliant barcode would be at times returned as
NONE.
7.3.3
Released: July 25, 2025
Bug Fixes
ID
- Fixed an issue where preexisting OTA models on the device, if any, would be loaded instead of the latest model for the SDK version, leading to errors.
7.3.2
Released: June 25, 2025
No updates for this framework in this release.
7.3.1
Released: June 13, 2025
No updates for this framework in this release.
7.3.0
Released: May 16, 2025
New Features
Barcode
- Added support for structured append QR codes in all MatrixScan modes. They are exposed over
ScObjectCountingSessionand rendered as a group. The API is identical to how structured append is used in a single barcode use case: the entire structured append data is accessible on all sub code results.
ID
- Unify the result value when parsing the sex field, including added support for special characters used, so that it is always one of the values
female,maleorunspecified.
Bug Fixes
Barcode
- Fixed an issue in SparkScan where the mini preview was closed after a scan, even if the preview behavior was set to
Persistent. - Fixed an issue where
BarcodeFindViewevents were not propagated correctly to the Javascript code. - Fixed an issue where the promise to switch the camera to a desired state would never complete.
Deprecations
- The following APIs have been removed:
BarcodePickIconStyle
Behavioral Changes
- MatrixScan Check has been renamed to MatrixScan AR, including in the naming of all relevant APIs.
7.2.6
Released: November 10, 2025
Bug Fixes
Core
- Fixed a memory leak.
7.2.5
Released: November 5, 2025
Bug Fixes
Core
- Fixed a memory leak.
7.2.4
Released: August 8, 2025
No updates for this framework in this release.
7.2.3
Released: June 24, 2025
No updates for this framework in this release.
7.2.2
Released: May 9, 2025
Bug Fixes
- Fixed an issue in MatrixScan Batch occurring when Aruco marker pairs were detected in the multiscanner. The callback would return only a single marker instead of the result for marker pairs.
7.2.1
Released: April 24, 2025
No updates for this framework in this release.
7.2.0
Released: March 31, 2025
New Features
Barcode
- We simplified the lifecycle of the out-of-the-box views for Android. Now Scandit plugins handle the lifecycle automatically.
ID
- ID Capture now supports the decoding of mobile driver’s licenses (currently limited to Australian licenses).
Performance Improvements
Barcode
- We further optimized the resources management in SparkScan, improving battery life when in Target Mode.
Behavioral Changes
- The default
BarcodeBatchBasicOverlaybrush when using theBarcodeBatchBasicOverlayStyle.FRAMEstyle has been changed from white to Scandit blue.
Bug Fixes
Core
- Fixed rare incorrect QR code reads of codes with a low error correction level.
- Fixed a bug in Barcode Selection that caused inconsistent selection times for single barcodes.
- Fixed an issue where the promise to switch the camera to a desired state would never complete.
7.1.3
Released: March 26, 2025
No updates for this framework in this release.
7.1.2
Released: March 13, 2025
Bug Fixes
- Fixed an issue in SparkScan where the floating button would appear in the center as opposed to bottom-right of the screen.
7.1.1
Released: March 7, 2025
Bug Fixes
- Fixed
sc_recognition_context_releaseto abort potentially still in-progress background set up of the barcode scanner ifsc_barcode_scanner_wait_for_setup_completedwas not called explicitly.
7.1.0
Released: February 21, 2025
New Features
Barcode
- MatrixScan Count now includes the ability to cluster barcodes that belong together. Barcodes can be auto-clustered based on their visual context, or manually grouped by the user by circling them on screen.
- MatrixScan Count now includes the concept of a
Barcode Spacial Grid, bringing the ability to map totes in a grid-like structure. Scanned codes will be returned with their relative location and can be displayed in a map view. This allows for fast and error-free in-store picking using dedicated carts and totes. The following classes have been added:BarcodeSpatialGridBarcodeSpatialGridEditorViewBarcodeSpatialGridEditorViewSettingsBarcodeSpatialGridEditorViewListener
- Introducing the Smart Duplicate Filter: unlike traditional time-based filters, this intelligent solution prevents re-scanning the same barcode unless intended, eliminating delays and improving accuracy. In user testing, it boosted task completion speeds by 10% and reduced unintentional barcode scans by 5% in workflows requiring intentional duplicate scans. Enable this new behavior by setting the existing
codeDuplicateFilterproperty to the special value-2— now the default for both Barcode Capture and SparkScan. See the documentation for details. - The following APIs have been added:
BarcodeFindViewSettingswithHardwareTriggers()hardwareTriggerEnabled()hardwareTriggerKeyCode()
BarcodeFindViewshouldShowZoomControlhardwareTriggerSupported
ID
- Launched DataConsistency Verification, which identifies suspicious documents by verifying the consistency of data encoded in various parts of the document. This helps detect potential tampering or anomalies.
- Launched a Rejection API to reject documents based on predefined criteria, streamlining validation processes. Examples include rejecting expired documents or those belonging to underage holders.
- Enhanced the scanning capabilities for specific document types. When
ScannerType::FullDocumentis enabled, seamless scanning is now supported even for documents where the Scandit DataCapture SDK offers only Machine Readable Zone (MRZ) scanning. - Added support for scanning the Machine Readable Zone of non-standard Indian passports, where an MRZ line consists of 42 characters instead of 44.
- Added support for scanning the Machine Readable Zone of the Chinese Mainland Travel Permit issued for non-Chinese citizens being residents of Hong Kong or Macau.
- Unified the value of the sex field from VIZ and MRZ results so that it is always one of the values
female,maleorunspecified.
Core
- DataCaptureContext can be used as a singleton through
DataCaptureContext.SharedInstance.- The license key must be set using
DataCaptureContext.Initialize. This step is only required once. Once initialized, the context can be used as before. - It is important to call
DataCaptureContext.RemoveCurrentMode()when the active mode is no longer needed, such as when navigating away from a screen used for scanning. - The following methods have been added (also see Deprecations, below, for removed methods):
setMode: Sets a mode to be the active mode in the context.removeCurrentMode: Removes the currently active mode in the context.static sharedInstance: Returns a singleton instance ofDataCaptureContext. This instance is unusable until properly configured by calling initialize() on it.initialize(string licenseKey): Reinitializes the context by configuring it with a license key.initialize(string licenseKey, string? frameworkName, string? frameworkVersion, string? deviceName, string? externalId, DataCaptureContextSettings settings): Reinitializes the context by configuring it with new settings.
- Calling
DataCaptureContext.addMode()orDataCaptureContext.setMode()now replaces the current mode with the new one, so it’s no longer needed to remove a mode when adding a new one. - The old non-singleton API is still available.
- The license key must be set using
Performance Improvements
Barcode
- We’ve increased the scan rate of 10% on our datasets of QR codes with high perspective distortion (so scanned at high angles). This is particularly important for cases such as receiving boxes or scanning shelf labels.
ID
- Scandit ID Scanning now uses an improved AI model to detect forged barcodes on US documents, which significantly improves accuracy.
Behavioral Changes
- XCode 16.1+ is now required.
- After further improving the scanning speed on color-inverted QR and MicroQR codes, these variations can now be scanned without having to set any specific setting (as opposed to before), offering a better experience to developers.
Bug Fixes
Barcode
- Fixed the setting of the default scanning behavior in SparkScanView.
ID
- Fixed an issue where it was not possible to scan the Visual Inspection Zone of passports if a license included the Visual Inspection Zone flag, but no Machine Readable Zone flag.
- Fixed an issue where the scanning would become unresponsive when scanning certain passports.
- Fixed an issue where the scanning would become unresponsive when scanning the back side of Romanian IDs.
- Fixed an issue where some residence permits were incorrectly identified as ID cards when scanning their Machine Readable Zone.
- Fixed an issue where it was not possible to scan an Irish Passport Card when
ScannerType::FullDocumentScannerwas enabled. - Fixed an issue where the personal identification number was not correctly anonymized on certain passports.
Deprecations
Core
- The following methods of
DataCaptureContexthave been removed:addMode: Replaced bysetModeas only one mode can be active at a time.removeAllModes: Replaced byremoveCurrentModeas only one mode can be active at a time.
7.0.2
Released: January 20, 2025
Bug Fixes
Core
- Fixed an issue causing the
SparkScanViewto not be rendered on top of the host application content.
ID
- Fixed an issue where it was not possible to scan Visual Inspection Zone of passports if a license included the Visual Inspection Zone flag but no Machine Readable Zone flag.
- Fixed an issue where the scanning would become unresponsive when scanning the back of Romanian ID Cards.
- Fixed an issue where the personal identification number was not correctly anonymized on certain passports.
- Fixed an issue with
ResidencePermitnot instantiating correctly for the Spanish NIE document.
7.0.1
Released: December 19, 2024
Bug Fixes
- Fixed case when white screen would be displayed after a scan.
7.0.0
Released: November 29, 2024
New Features
Scandit's Smart Data Capture SDK v7.0 addresses the industry's toughest scanning challenges with innovative solutions at every layer. Our enhanced scanning engine is context-aware, understanding both the environment and user needs. This results in smoother integrations, a richer user experience, and improved scanning performance without compromising flexibility.
Version 7.0 also offers increased versatility by supporting multiple input formats including text and barcodes.
SparkScan, our flagship barcode scanning product, embodies the full potential of v7.0 with its versatile user interface coupled with a robust, out-of-the-box scanning engine. SparkScan's success is a testament to our commitment to delivering seamless, high-performance camera-based scanning solutions.
Barcode
- SparkScan introduces a completely redesigned user interface, enhancing ergonomics with a simplified API and in-demand customization options. These updates make SparkScan even more versatile, seamlessly integrating with various use cases and blending smoothly into any existing workflow and UI. See the migration guide for more details.
- Added the
remove_delimiter_dataextension to the CODABAR symbology. - The MatrixScan Find user interface is now optimized for 4:3 camera resolution.
- The Barcode Generator is now available for Capacitor.
- Barcode Generator now supports the generation of Aztec codes.
Core
- Added the following API for fetching all Open Source Software (OSS) license text and attributions for all OSS used by the Scandit SDK.
DataCaptureContext.openSourceSoftwareLicenseInfo()
ID
We’ve completely redesigned the ID Capture API to streamline document capture and validation. The latest version introduces enhanced configuration options and improved result structures for an intuitive integration experience. These include:
- Easily configure which documents you capture using
IdCaptureSettings.acceptedDocumentsandIdCaptureSettings.rejectedDocuments. Choose entire document classes or refine selections by specific countries for precise control. - Use
IdCaptureSettings.scannerTypeto specify which document sections are relevant for your capture process. - With just two callbacks —
IdCaptureListener.onIdCapturedfor success andIdCaptureListener.onIdRejectedfor rejection — it's straightforward to understand outcomes and define next steps, making the API simpler and more intuitive. - Access key aggregated data at the top level of
CapturedIdor retrieve details from specific document parts, such asCapturedId.visualInspectionZone,CapturedId.machineReadableZone, andCapturedId.barcode. - Retrieve document images, including the complete frame, through
CapturedId.images.
Performance Improvements
- Improved tracking of 1D barcodes that are horizontally aligned.
- MatrixScan Count’s tracking robustness is improved with quick recovery of tracking failures.
Breaking Changes
Barcode
- The MatrixScan API (
BarcodeTracking) has been renamed toBarcodeBatch. All classes have been renamed accordingly (e.g.BarcodeTrackingListener→BarcodeBatchListener).
Deprecations
In 7.0, we removed all APIs that were deprecated during the lifetime of 6.0. Before migrating to 7.0, we suggest upgrading to 6.28, fixing all deprecation warnings and then upgrading to 7.0.
Barcode
The following SparkScan APIs have been deprecated in 7.0:
SparkScanView.TorchButtonVisibleSparkScanView.StopCapturingTextSparkScanView.StartCapturingTextSparkScanView.ResumeCapturingTextSparkScanView.ScanningCapturingTextSparkScanView.CaptureButtonBackgroundColorSparkScanView.CaptureButtonActiveBackgroundColorSparkScanView.CaptureButtonTintColor
Text Capture
Text Capture functionality has been deprecated in 7.0. If your use case requires text recognition, we recommend using Smart Label Capture instead.
ID
The legacy ID Capture UI has been removed in 7.0. If you are using the legacy UI, you must migrate to the new ID Capture API.