8.6.2
iOS
8.6.2
Released: October 26, 2026
Performance Improvements
Barcode
- Improved tracking for long trays in MatrixScan Sequence
- Improved stability of tray ordering in MatrixScan Sequence
Behavioral Changes
Barcode
- Changed MatrixScan Sequence to dim the area outside the scan area restriction band with the dimming color instead of blurring it, so content outside the band stays visible.
Bug Fixes
Barcode
- Fixed an issue with MicroQR that prevented improvements for rotated codes and codes with cluttered backgrounds from being available in production builds.
- Fixed an issue in SparkScan where, with hold-to-scan disabled, pressing and holding the collapsed trigger button and then releasing it started scanning.
- Fixed an issue that could increase the time to scan when only QR or Data Matrix is enabled and there are more than 8 codes in the frame while using Barcode Tracking, Barcode AR, Barcode Pick, Barcode Find and Label Capture.
Core
- Adjusted SDK views and the scan area for devices with horizontal safe-area insets, such as the iPhone Duo cover display. The scan area now excludes the left and right safe-area insets.
8.6.1
Released: October 1, 2026
New Features
Barcode
- Added BarcodeSequenceScanAreaRestrictionSettings to restrict MatrixScan Sequence scanning to an adjustable horizontal band of the camera preview, so only barcodes inside the band are sequenced.
- Added BarcodeSequenceView.highlightProvider to MatrixScan Sequence, letting you supply your own view for the highlight drawn over each sequenced barcode instead of the built-in circle.
Id
- Visa VIZ results for Canadian visa stickers now report the full 10-character number in
VizResult.visaNumber(the MRZ result remains truncated).
Bug Fixes
Barcode
- Fixed a QR scanning accuracy regression introduced in 8.6 for codes with degraded finder patterns (round, dotted, curved, bent, damaged) in single-barcode scanning.
- Rectangular Micro QR: Fixed a rare crash during detection of codes whose finder pattern covers a large part of the frame, such as when scanning at very close range.
- Fixed a Data Matrix scanning accuracy regression introduced in 8.4.0 for codes scanned with the
direct_part_marking_modesymbology extension. - Fixed Data Matrix codes not being read when their encoder ends the data with an Unlatch codeword followed by more than one pad codeword.
- Fixed a 1D symbology scan regression from SDK 5.19 for codes with colored backgrounds, such as dark print on a saturated label.
- Fixed the barcode duplicate filter explicitly set to -2 under SelectionMode On not being respected and being incorrectly relaxed to 0.
Id
- Fixed the 2026 Oklahoma driver's license not returning the Jurisdiction and JurisdictionIso fields.
- Fixed a crash in the IdCapture overlay when it was tapped.
- Updated the bundled ID Validate model to
8.0.20260626, which fixes valid Ohio driver's licenses (OH0901DL format) being reported as forged by ID Validate. This model was previously delivered over the air; it is now included in the SDK, so new installs use it from the first scan.
Smart Label Capture
- Fixed a bug where the camera preview could remain black or frozen when opening a scanning screen after leaving a LabelCapture validation flow screen.
Core
- Fixed a crash that terminated the app when a camera frame used a pixel layout the SDK cannot convert, for example frames produced by the camera image-injection features of automated testing services. Such frames are now skipped with a warning instead.
8.6.0
Released: August 31, 2026
New Features
Barcode
- The MatrixScan Sequence simple sample is now publicly available, showing the minimum setup needed to run MatrixScan Sequence.
- MatrixScan Sequence: introduced several new configurations to adapt the sequencing flow.
initialOrderOnShelfandinitialOrderOnTrayresume scanning from a previous session (already available since 8.5.1).shelfSequencingOrientationsets the accepted device orientation, defaulting to.landscapeOnly; set.portraitOnlyor.anyto enable portrait or any orientation, and the rotate-device prompt's default text follows the setting.
- [BETA] MatrixScan Count can now group barcodes by the physical label they share. Set barcodeCountSettings.AutomaticClusteringMethod to AutomaticClusteringMethod.Label to enable it: the barcodes within each label boundary get associated into a single cluster, so a product carrying several barcodes counts as one item.
- When highlights inside a MatrixScan Count cluster would overlap, the cluster now collapses into a single badge showing how many barcodes it contains, instead of drawing every highlight on top of the others. This also applies in Scan Preview mode.
- Scan Preview now supports two controls that were previously available only in the standard mode: the torch button, shown via
BarcodeCountView.shouldShowTorchControl, and the accept/reject popover for barcodes not in the list, enabled viaBarcodeCountNotInListActionSettings.enabled. - Added an API to customize the text of the hint shown when a new scan group starts (
BarcodeCountView.setTextForNewGroupHint). - BarcodeArResponsiveAnnotation now takes a map of distance thresholds to annotations, so a barcode can show a different annotation at any number of distances instead of only close-up and far-away. The previous two-state API is deprecated, see Deprecations below.
- Extended BarcodeBatch on Android so that setting the overlay brush to null clears the highlights of tracked barcodes, matching iOS.
- Extended the support for DotCode features by adding support for:
- Extended Channel Interpretation (ECI). Symbols that switch character sets (for example to Cyrillic or another code page) now report the correct per-segment encoding. As part of this, the default character set for DotCode is now reported as ISO 8859-1 instead of ASCII.
- Message envelopes as defined in ISO/IEC 15434.
- Structured append. DotCode has no file ID, so segments are not automatically grouped by the buffered barcode session.
Id
- Visa MRZ results now report country-specific additional details such as
MrzResult.visaNumber,MrzResult.visaNumberOfEntries,MrzResult.visaMultipleEntriesandMrzResult.visaDurationInDays. - Added IdCaptureSettings.notifyOnSideCapture, which fires the capture callback after each side of a multi-sided document, and CapturedId.isCapturingComplete, which distinguishes a partial (single-side) result from a complete one.
- Added
setRepeatAsynconSDCImageFrameSource. It determines whether the frame source keeps re-emitting its frames after all of them have been processed. Setting this to true makes a still image behave like a continuous camera feed, giving the recognizer the multiple passes over the image it generally needs. - Added an ID Capture image upload sample that demonstrates scanning ID documents from still images or PDF files on the device instead of using the live camera.
- Added MobileDocumentDataElement::SignatureUsualMark and MobileDocumentResult.signature to allow capture of signature images from ISO mDL documents.
- Extended the VizDocumentScanner sanitizer restriction to run all sanitizers for front-and-back captures and only reject on front-only captures, so front-side VIZ field corrections are no longer lost in double-sided captures.
Smart Label Capture
- [BETA] Added shipping-label support (
AdaptiveRecognitionResultType.shippingLabel,Carrier,ShippingLabelScanningResult) to adaptive recognition. - Added a new sample to quickly test and integrate Smart Label Capture to read and validate price shelf labels against a database - showing live AR overlays based on the match and mismatch of the content.
- Added support for label definitions that use the "semantics" feature on fields of both type "barcode" and "text" simultaneously; previously only one of the two types could use it at once.
Core
- Added support in the GS1 parser for the telecom Application Identifiers 8040 (IMEI), 8041 (IMEI2), 8042 (eSIM/EID), and 8043 (pSIM), so GS1 codes carrying them parse instead of being rejected as unrecognized.
- Added support for parsing the 2D-DOC (French 2D-Doc / ANTS) data format.
- Added more detailed error reporting when required resources are missing.
- Added LicenseInfo.allowedModes, exposing the set of capture modes a license key permits via the new CaptureMode enum.
- Added support for reading camera frames directly into a SharedArrayBuffer in supported environments (currently Chrome or Firefox, when pthread is enabled), avoiding an extra copy.
Performance Improvements
Barcode
- Reduced the false positive rate for EAN13, UPCA, EAN8, and UPC-E.
- Improved ITF decoding robustness, reducing the number of unscanned codes. On our internal datasets, we measured an improvement of more than 20% true positives.
- Improved MicroQR decoding for rotated codes and cluttered backgrounds. On our internal datasets, we measured an improvement of more than 40% true positives.
Id
- Improved performance for the Irish Garda Age Card.
- Improved PDF417 scanning on Quebec, Alaska, and Oklahoma driver’s licenses.
Behavioral Changes
Barcode
- Changed the default highlight brush in SparkScan and Barcode Capture.
- Updated recommended camera settings for MatrixScan Batch, Find, Pick, Sequence, and AR, now using UHD4K resolution with a 16:9 aspect ratio.
- MatrixScan Count uses a new default colour for scanned (counted) barcodes, chosen to meet accessibility contrast requirements. It applies to single scanned barcodes, to the barcodes inside a cluster, and to the cluster highlight itself. To keep your previous appearance, set the colour through the existing icon customization.
- MatrixScan Count now highlights each barcode inside a cluster individually and follows its live position.
- Enabled detection and decoding of mirrored MaxiCodes by default. Previously this required enabling the symbology extension
mirrored, which has been removed. - Limited the GS1 format flag for DotCode to genuine GS1 openings (a leading digit pair without FNC1) per AIM DotCode v3.0, instead of defaulting all symbols to GS1.
- Disabled enhanced low-resolution scanning of QR codes (introduced in 8.5.0) for MatrixScan modes. Customers who need this feature should contact Scandit support.
Bug Fixes
Barcode
- Fixed a crash when clearing highlights or changing the scanning state on a MatrixScan Count mode that had been removed from its data capture context.
- Fixed an issue in MatrixScan Count Scan Preview where the not-in-list action popover overlapped the barcode instead of appearing next to it.
- Fixed an issue where navigating between capture modes that share a camera could leave the camera turned off. Camera-controlling scanner views now release the camera when they are dismissed, unless another mode is still using the shared camera.
- Fixed the MatrixScan Count not-in-list accept/reject popover not reflecting a custom accepted/rejected ScanditIcon when configured.
- Fixed logoStyle and logoAnchor having no effect in MatrixScan Count scan preview mode.
- Fixed MatrixScan Sequence losing the scanned data when the app was restored from the background while the sequence was paused.
- Fixed a visual artifact that could appear around the scan preview indicators in MatrixScan Count when using Scan Preview.
- Fixed rare cases where DotCode Code Set C symbols using the date/lot macro decoded to incorrect data due to a dropped leading zero in a digit pair.
- Fixed a regression where short ITF codes with low wide/narrow ratio were not decoded.
Id
- Fixed a crash that could occur when navigating away from a screen while a hint was displayed.
- Improved the DLID parser, fixing previously unparsable codes found in analytics.
- Fixed a crash caused by an edge case where XCTest called objc_copyClassList() while the ScanditIDC.xcframework was not linked.
- Resolved a duplicate Objective-C class registration that could trigger spurious casting failures or crashes when an app links both ScanditCaptureCore and ScanditIdCapture.
- Fixed an issue where the VLM scanning screen remained permanently displayed if IdCaptureSettings were applied mid-scan.
Smart Label Capture
- Fixed an issue where the software keyboard did not appear when editing fields in the LabelCapture validation flow.
- Fixed a bug where the receipt scanning overlay and validation flow overlay could not be used on the same mode instance.
- Fixed prebuilt date fields to recognize Spanish month abbreviations. The abbreviations
ene,abr,ago, anddicare newly supported; the remaining Spanish abbreviations already resolved because they match their English form. The expiry-date anchor additionally recognizes common Spanish expiry terms such ascaducidad,vencimiento,consumir antes, andconsumo preferente.
Core
- Fixed a SequenceFrameSource occasionally delivering the same frame to its listeners twice.
- Fixed the camera preview appearing darker in single-scan modes after using a mode that applies its own exposure adjustment, such as SparkScan or MatrixScan Count.
- Fixed a race condition in SimplePropertyBehaviorSubject where mutating the subscriber list during a callback could cause crashes or missed notifications.
- Fixed EventsResponse::getRetryTimeoutInSeconds to return a fallback instead of aborting on out-of-range header values.
Deprecations
Barcode
- Removed the deprecated Barcode Sequence view settings API; configure the view's settings directly on the view.
- Deprecated the alternative (accessible) color scheme for Barcode Count; it will be removed in a future release. The default color scheme now provides an accessible appearance, so you can remove the explicit setting.
- Deprecated the two-state BarcodeArResponsiveAnnotation API in favor of a new configurable annotationsByThreshold map that supports more than two distance states; the previous two-state API remains available.
8.5.5
Released: October 29, 2026
New Features
Barcode
- Added BarcodeSequenceScanAreaRestrictionSettings to restrict MatrixScan Sequence scanning to an adjustable horizontal band of the camera preview, so only barcodes inside the band are sequenced.
- Added BarcodeSequenceView.highlightProvider to MatrixScan Sequence, which lets you supply your own view for the highlight drawn over each sequenced barcode, replacing the built-in circle.
Behavioral Changes
Barcode
- Changed MatrixScan Sequence to dim the area outside the scan area restriction band with the dimming color instead of blurring it, so content outside the band stays visible.
Bug Fixes
Barcode
- Fixed a Data Matrix scanning accuracy regression introduced in 8.4.0 for codes scanned with the
direct_part_marking_modesymbology extension.
Core
- Fixed a rare crash during camera setup when the active camera format reported no supported frame-rate ranges.