7.2.0-beta.2
Released: March 23, 2025
New Features
Barcode
- For MatrixScan Check, 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
isPulsing
property to circle highlights in MatrixScan Check, enabling a pulsing animation effect. - A new sample application is available for tote mapping in MatrixScan Count.
- The
LabelCaptureSettings
API of Smart Label Capture now allows for setting optional barcode semantic properties.
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
BarcodeBatchBasicOverlay
brush when using theBarcodeBatchBasicOverlayStyle.FRAME
style 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_release
to abort potentially still in-progress background set up of the barcode scanner ifsc_barcode_scanner_wait_for_setup_completed
was not called explicitly.
7.1.0
Released: February 21, 2025
New Features
Barcode
- MatrixScan Check 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:BarcodeSpatialGrid
BarcodeSpatialGridEditorView
BarcodeSpatialGridEditorViewSettings
BarcodeSpatialGridEditorViewListener
- 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
codeDuplicateFilter
property to the special value-2
— now the default for both Barcode Capture and SparkScan. See the documentation for details. - Added a new constructor for
BarcodeFindItemSearchOptions
for 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::FullDocument
is 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
,male
orunspecified
.
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