7.6.5
Released: November 12, 2025
New Features
Barcode
- Added a new API for filtering barcodes in MatrixScan AR,
BarcodeArFilter.
Bug Fixes
Core
- Fixed a memory leak.
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
- Fixed an issue where macro mode would not be maintained when resuming the app from background, causing the camera to switch unexpectedly.
7.6.2
Released: October 20, 2025
Bug Fixes
Smart Label Capture
- A new method for
ReceiptScanningListenerwas added. This is being invoked when a connection error occurs while trying to recognize a document.
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
Core
- A new setting,
MaxResolution, has been added to the available camera resolutions. This will select the highest resolution available for the device based on total pixel count, providing the maximum possible image quality. Note that this may impact performance. - For Objective-C only, added a
SDCQuadrilateralMakeconvenience function for creatingSDCQuadrilateralstructs with simplified syntax.
Barcode
- Added
BarcodeScantrigger for MatrixScan AR annotations that displays immediately when a barcode is scanned and remains visible during scanning.
Smart Label Capture
- Smart Label Capture supports extracting information from purchase receipts, such as items, prices and much more. The feature is released in beta and can be tested by contacting our support.
- Introduced a pre-built field,
DateText, useful to match a single plain date text (as opposed to specific dates such as Packaging and Expiry) when creating Label Definitions. - The following parameter has been added to
LabelDefinitions:numberOfMandatoryInstances
- Smart Label Capture now includes customizable feedback configurable via
LabelCapture.feedback. The feedback is now automatic on scan, requiring less code to set it up.
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
Barcode
- Fixed a crash that could occur in MatrixScan Pick when the
BarcodePickViewis deallocated but the guidance on screen was being updated.
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. DataCaptureContext.sharedInstancehas been renamed toDataCaptureContext.shared.
Deprecations
ID
- Deprecated
resultShouldContainImage. - Deprecated
AamvaBarcodeVerification. - Deprecated
IdCaptureSettings.decodeIsoMobileDriverLicensesandIdCaptureSettings.decodeMobileDriverLicenseViz.
7.5.2
Released: December 4, 2025
New Features
Id
- Added IdCaptureLite to CocoaPods. It is identical to IdCapture but without the dependency on ScanditIDC. This reduces the app size for customers that do not require VIZ scanning capabilities
Bug Fixes
Barcode
- Fixed a rare out-of-bound memory access crash when scanning low-resolution or blurry
EAN13/UPCAcodes at a specific distance
7.5.1
Released: September 4, 2025
Bug Fixes
Core
ScanditIDCsimulator framework no longer incorrectly usesMinimumOSVersion16.6, but is now set to iOS 15.0.
7.5.0
Released: August 12, 2025
New Features
Core
- Added accessibility labels and hints to the Zoom Switch Control.
- Improved support for non-standard GS1 AI codes.
- The
Barcodeclass now exposes a module count.
Barcode
- 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.
- Added
BarcodeArResponsiveAnnotation, which automatically switches between close-up and far-away info annotations based on the barcode’s size on screen. - Barcode AR now supports customizable notifications.
- Updated the
SearchAndFindSampleapplication to use SparkScan instead of BarcodeCapture.
Smart Label Capture
- Smart Label Capture can now support reading numeric values from 7-segment displays, such as digital scales, meters, or other electronic displays. Scanning such targets is possible via a new pre-made label definition. You can enable it using
LabelDefinition.createSevenSegmentDisplayLabelDefinition(). - Added
numberOfMandatoryInstancestoSDCLabelFieldDefinition. For the given field, this integer indicates the exact number of instances of that field that must be present in the label. It is only applicable to mandatory, i.e. non-optional, fields. - Introduced a new
LabelCaptureSimpleSamplesample, that replaces the oldPriceWeightLabelCaptureSampleto get started with the integration of Smart Label Capture. The samples is easier to configure and utilizes the newValidationFlowOverlay.
ID
- Scanning of ISO-18013 compliant mobile driver licenses is now supported in select justifications (Queensland Digital License).
tip
Additional bluetooth permissions are required to scan mobile driver licenses. See here for more information.
Performance Improvements
Smart Label Capture
- Improved performance when extracting text from 7-segment displays.
Bug Fixes
Core
- Fixed crash when toggling zoom switch without an setting a frame source.
- Fixed "Unable to determine framework Swift version" error when installing via Carthage.
Barcode
- Fixed a crash in SparkScan when navigating away from SparkScan when holding the scan button.
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.4
Released: November 22, 2025
New Features
ID
- Added
IdCaptureLiteto CocoaPods that is equal to IdCapture but without the dependency on ScanditIDC which reduces the app size for customers that do not require VIZ scanning capabilities.
Bug Fixes
Core
- Fixed a rare crash in the EAN/UPC reader.
- Fixed a memory leak.
7.4.3
Released: August 29, 2025
Bug Fixes
Core
- Fixed double-pairing in the ArUco marker pair detection for MatrixScan Pick and MatrixScan Batch.
7.4.2
Released: August 15, 2025
New Features
Core
- Improved support for non-standard GS1 AI codes.
Bug Fixes
- Fixed "Unable to determine framework Swift version" error when installing via Carthage.
- Fixed a crash when toggling zoom switch without an setting a frame source.
- Fixed a crash that could occur in MatrixScan Pick when the
BarcodePickViewis deallocated but the guidance on screen was being updated. - Fixed Swift naming for
SDCLabelDateResult. It is now correctly exposed asLabelDateResult, resolving naming conflicts that could cause undefined behavior.
7.4.1
Released: July 14, 2025
New Features
Core
- Added an API to set content description to
ZoomSwitchControl.
Bug Fixes
ID
- Fixed an issue with missing
BirthNameon German passports.BirthNameis now available onadditionalNameInformationfield.
7.4.0
Released: June 19, 2025
New Features
Barcode
- It is now possible to resume scanning after a camera timeout by tapping on the camera preview.
- OCR fallback can now be enabled for certain symbologies. Use
SymbologySettings.ocrFallbackRegexto constrain the results. - Added APIs in MatrixScan Find to track session updates and modify the progress bar color.
- Added serialization to
BarcodeFindSession.
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.
Smart Label Capture
- It is now possible to change the symbology settings in
LabelCapture. - Label Capture
PriceCapturelabel definition factory method added. - VIN labels are now supported via the added creator method
createVinLabelDefinition()toLabelDefinition.
Performance Improvements
- Updated ARM MbedTLS from 3.6.2 to 3.6.3.
ID
- Improved AAMVA Barcode Verification accuracy for Missouri documents.
Bug Fixes
Barcode
- Fixed an issue where the order of the configuration of
BarcodeArInfoAnnotationwould change the computed layout.
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
Bug Fixes
- Fixed a typo in the
labelCaptureValidationFlowOverlay:didCaptureLabelWithFields:method.
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
- In MatrixScan AR, the following properties have been added to
BarcodeArViewto enable setting the offsets of on-screen controls:torchControlOffsetzoomControlOffsetcameraSwitchControlOffsetmacroModeControlOffset
- In MatrixScan Pick, the
BarcodePickSessionnow exposes theaddedandtrackedobjects. - MatrixScan AR now allows custom highlights and annotations to be used.
- The
LaserViewfinderis now available. - In MatrixScan Pick you can now specify different loading text for picking and unpicking in
BarcodePickViewSettings.
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.
Smart Label Capture
- Smart Label Capture introduces a new workflow: Validation Flow. This workflow allows users to confirm OCR results, manually correct errors, or individually capture missing fields without needing to rescan the entire label. It is designed to address common issues such as glare, occlusion, and poor lighting that lead to incomplete label reads, helping you maintain high data integrity.
- Added a new overlay for
LabelCapture:LabelCaptureValidationFlowOverlay. This allows the user to follow a validation flow when scanning a label during several scans, instead of just in one go. Also includes aLabelCaptureValidationFlowListenerto get the final results of the validation process. - Enabled
dataTypePatternsfor all text fields in Smart Label Capture. - MacroMode is now enabled by default in the
LabelCapture.recommendedCameraSettings.
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.
Smart Label Capture
- Fixed an issue with the
monthStringfield inSDCLabelDateResult.
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
Bug Fixes
- Fixed a crash when toggling zoom switch without an setting a frame source.
- Fixed a crash that could occur in MatrixScan Pick when the
BarcodePickViewis deallocated but the the guidance on screen was being updated. - Fixed Swift naming for
SDCLabelDateResult, it is now correctly exposed asLabelDateResult, resolving a naming conflict that could cause undefined behavior.
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
Bug Fixes
- Fixed an issue with the
monthStringfield inSDCLabelDateResult.
7.2.0
Released: March 31, 2025
New Features
Barcode
- For MatrixScan AR, updated the behavior of popover and status icon annotations near screen edges. They no longer change orientation or attachment point when near the edge and can extend offscreen. Additionally, they now expose an anchor property.
- Added the
isPulsingproperty to circle highlights in MatrixScan AR, enabling a pulsing animation effect. - A new sample application is available for tote mapping in MatrixScan Count.
- The
LabelCaptureSettingsAPI of Smart Label Capture now allows for setting optional barcode semantic properties. - In MatrixScan Count, status icons can now be displayed immediately on scan without users needing to explicitly select Status mode to view them. This behavior is set via
SDCBarcodeCountView.shouldShowStatusIconsOnScan. - 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
- 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.
Smart Label Capture
- Improved recognition rate of expiry dates in Smart Label Capture, with a particular focus on dot matrix fonts.
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.
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.
- Fixed a bug in SparkScan where the scanner would restart after tapping the close button when in hold to scan mode.
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 AR in now available, offering prebuilt views designed to quickly build custom workflows with augmented reality for your existing app. By highlighting barcodes and displaying additional information or user interaction elements over them, any process can be enhanced with state-of-the-art augmented reality overlays.
- 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
- SparkScan now supports periscope devices with a new setting that adjusts the camera feed by mirroring it as needed:
sparkScanViewSettings.isPeriscopeModeEnabled()
- 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. - Added a new constructor for
BarcodeFindItemSearchOptionsfor receiving a Brush, allowing different barcodes to use different Brushes for rendering the dots.
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.
Label Capture
- To simplify working with dates in Smart Label Capture (e.g., capturing an expiry date), we’ve added native support for dates in
LabelField. Now, if a field contains a date you can retrieve it as a date object usingLabelField.asDate().
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
- Fix an issue where a deadlock would occur when using the
BarcodeBatchBasicOverlaylistener and setting a custom brush.
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.
- When scanning German Passport or ID Card MRZs the nationality was returned as
Dinstead of the three-letter ISO (3166 standard) codeDEU.
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
No updates for this framework in this release.
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. - SparkScan now provides the ability to switch between SparkScan and Smart Label Capture via a button in the toolbar. See
SparkScanView::labelCaptureButtonVisiblefor more information. - Added the following property to
BarcodeBatchSettings:expectsOnlyUniqueBarcodes.
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()
Smart Label Capture
- A new sample application has been created to demonstrate Smart Label Capture functionality.
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).
Behavioral Changes
- The minimum supported iOS version is now iOS 14.0.
Barcode
- Smart Scan Intention is now enabled by default.
- Updated
BarcodeCountSessionto now expose aBarcodelist. SDCBarcodePickHighlightStyleResponsehas been renamed toSDCBarcodePickViewHighlightStyleResponse.- In
BarcodeCountSettings, the default value ofdisableModeWhenCaptureListCompletedhas been changed to false.
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:
SparkScanViewHandModeSparkScanView.HandModeButtonVisibleSparkScanViewSettings.DefaultHandModeSparkScanView.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.
6.28.7
Find earlier versions in the release notes section of version 6