Swift
Release Notes
v2.6.0 (Aug 10, 2026)
Summary
Duration-based zoom ramp, a teardown-complete signal, and a raised iOS 16.0 minimum deployment target
Breaking Changes
- Minimum iOS deployment target raised to 16.0. The podspec previously claimed iOS 13.0, but Core has used iOS 14/15/16 APIs without
@availableguards for some time, so 13.0-15.x were never actually functional - this release makes the podspec match reality. If your app supports iOS below 16.0,VisionSDKv2.6.0 is not installable for you; stay on v2.5.0 until you can raise your deployment target. TheDimensioningsubspec is unaffected and still requires iOS 17.0. - Removed a redundant third-party dependency from the
Dimensioningsubspec. It previously declared an external dependency that could conflict with a copy already bundled inside the module, which was both unnecessary and a source of build-time duplicate-symbol issues for some consumers. If you added a manual version pin in your ownPodfileto work around this, you can remove it.
New Features
rampZoomRatio(_:durationMs:)- a duration-based smooth zoom ramp, covered in the Camera Controls guide. Internally converts your requested duration into AVFoundation's rate-based ramp viarate = log2(target / current) / durationSeconds. A replacement ramp issued mid-ramp resumes from the camera's actual current zoom rather than the previous ramp's target, and a discretesetZoomRatio(_:)call that lands mid-ramp supersedes the ramp instead of fighting it.Teardown-complete signal -
stopRunning(completion:)invokes its completion only once the camera session has genuinely finished releasing, and the sameisReleasedfield is delivered on the matchingVSDKCameraStatesnapshot viadidChangeCameraState. Replaces guessing with a fixed delay (previously ~400ms) before mounting a second camera screen.
Improvements
- Camera failures that previously vanished silently are now surfaced to the delegate, including new interruption and runtime-error cases.
v2.5.0 (Aug 6, 2026)
Summary
Opt-in address parsing for shipping labels
New Features
Shipping label address parsing - set
shippingLabelOptionsonOnDeviceOCRManager.sharedto get parsed sender and recipient addresses in the OCR resultBoth flags default to
false. Enabling either adds a network call per prediction and is billable. Credentials are taken from theapiKey/tokenyou already pass todownloadModelorloadModel.
v2.4.1 (Aug 3, 2026)
Summary
Lens pinning fixes
Bug Fixes
- Fixed a lens pinned with
setLensSelection(_:)being silently dropped the next time the camera started - the camera quietly fell back to automatic lens selection with no error or warning - Fixed
setSessionPresetTo(_:)also resetting zoom, torch, and focus mode back to their defaults when called while a lens was pinned
v2.4.0 (Jul 31, 2026)
Summary
Camera controls API - zoom, torch, focus, lens selection, and observable camera state
New Features
- Camera controls API - direct read/write access to the camera behind
CodeScannerView, covered in full in the Camera Controls guide- Zoom -
setZoomRatio(_:),setLinearZoom(_:),getCurrentZoomRatio(),currentLinearZoom(),getMinZoomRatioAvailable(),getMaxZoomRatioAvailable() - Torch -
setFlashTurnedOn(_:) - Focus -
setFocusPoint(_:)andsetFocusMode(_:), withVSDKFocusModevalues for continuous, single, and locked focus - Lens selection -
setLensSelection(_:), taking eitherVSDKLensSelection.automaticorVSDKLensSelection.pin(_:)to keep scanning on one physical lens, for example forcing the telephoto for small barcodes at distance - Device introspection -
VSDKCameraCapabilities.snapshot()withlenses(for:),zoomStops(for:),hasTorch(for:), andsupportsFocusPoint(for:), so a zoom slider, torch button, or lens picker can be built from real device values instead of hardcoded guesses - Gestures -
enableTapToFocus()/disableTapToFocus()andenablePinchPanToZoom()/disablePinchPanToZoom(), both off by default
- Zoom -
- Observable camera state - new optional delegate method
codeScannerView(_:didChangeCameraState:)fires on every camera state transition and hands you a fullVSDKCameraStatesnapshot:VSDKCameraStatus, the activeVSDKLens, current and available zoom range, torch, focus mode, and any error or warning. It is delivered on the main queue, andcurrentCameraStatereads the same snapshot on demand for UI that attaches after the camera is already runningVSDKCameraState.isPreviewActivereports when the currently bound camera has delivered its first frame, so a preview can be revealed only once there is something live in it
- Everything above is part of the core SDK - no new subspec, no new dependency, and no change to the iOS 13.0 minimum deployment target
Improvements
- Switching between the front and back camera is now an in-place transition instead of a full camera restart, so the preview no longer drops to black mid-switch
- The camera preview now fades in on the first frame of a cold start instead of popping from black
- On devices with a multi-lens back camera, scanning now starts on the wide lens - previously the preview could come up on the ultra-wide lens, giving a noticeably wider field of view than expected
Bug Fixes
- Fixed item labels containing more than one item sometimes having a missing model number, carton ID, or MAC address filled in from a different item on the same label
v2.3.14 (Jul 20, 2026)
Summary
Item label extraction accuracy improvements
Improvements
- More accurate extraction on item labels carrying assembly numbers, carton IDs, and MAC addresses - assembly numbers are now returned as the item number instead of the model number, regulatory and description text no longer leaks into part number fields, carton IDs are discarded unless they have the expected shape and length, and MAC addresses that are too short to be real are rejected
- Missing model number, carton ID, and MAC address values are now recovered from the rest of the label text when the primary extraction misses them, without overwriting values that were already found
v2.3.13 (Jul 10, 2026)
Summary
Detection pause/resume API and reduced background camera work
New Features
- Added
pauseDetection()andresumeDetection()to pause all barcode, text, and document detection while keeping the camera preview running - useful for showing a loading state after capture without restarting the camera
Improvements
- Detection config flags (
text,document, image sharpness) now fully stop the underlying analysis work when disabled instead of just hiding the results, reducing unnecessary CPU/Neural Engine usage and device heat - Switching scan modes now automatically resumes detection if it was previously paused
Bug Fixes
- Fixed stale bounding boxes and detection indicators sometimes remaining on screen after pausing detection or switching scan modes
- Fixed a packaging issue in the Dimensioning module that could cause a crash on launch in apps that also use PostHog
v2.3.12 (Jul 2, 2026)
Summary
Further camera orientation and rotation reliability improvements
Bug Fixes
- Fixed barcode and document detection coordinates being computed incorrectly in some cases on devices running versions of iOS before 17
- Fixed camera orientation occasionally becoming stale after the camera session restarted (for example, after returning from the background)
- Fixed price tag detection failing to initialize in certain app configurations
v2.3.5 (Jun 22, 2026)
Summary
Improved barcode position accuracy in captured images
Improvements
normalizedBoundingBoxcoordinates in captured images now match the live camera overlay, giving consistent barcode positions whether you read them from the live stream or a captured photo
v2.3.4 (Jun 22, 2026)
Summary
Improved barcode position accuracy in captured images
Improvements
- Barcode position coordinates are now correctly aligned to the captured image frame
v2.3.3 (Jun 16, 2026)
Summary
Landscape orientation improvements
Improvements
- Barcode bounding boxes are now correctly positioned when scanning in landscape orientation
v2.3.2 (Jun 8, 2026)
Summary
Improved App Store compatibility for Dimensioning module
Improvements
- Improved packaging of the
VSDKDimensioningmodule for smoother App Store submission
v2.3.1 (Jun 3, 2026)
Summary
Item label extraction improvements
Improvements
- More accurate field extraction on item labels across a wider range of label formats, including improved country mapping and quantity recognition
v2.3.0 (May 25, 2026)
Summary
Native barcode bounding-box overlay
New Features
showCodeBoundingBoxesAPI - Set totrueto let the native SDK draw barcode bounding boxes directly on the camera previewbarcodeBoundingBoxBorderColor- Border colorbarcodeBoundingBoxBorderWidth- Border width in pointsbarcodeBoundingBoxFillColor- Fill color
v2.2.8 (May 25, 2026)
Summary
Stability improvements
Improvements
- Stability and reliability improvements for the Dimensioning module
v2.2.7 (May 25, 2026)
Summary
Dimensioning module distribution improvements
Improvements
- Improved CocoaPods distribution reliability for the
VSDKDimensioningmodule
v2.2.6 (May 25, 2026)
Summary
Stability improvements
Improvements
- Stability and reliability improvements
v2.2.5 (May 25, 2026)
Summary
Stability improvements
Improvements
- Stability and reliability improvements
v2.2.4 (May 25, 2026)
Summary
Dimensioning module now available via CocoaPods
Improvements
- The
VSDKDimensioningsubspec is now available via CocoaPods
v2.2.3 (May 25, 2026)
Summary
Dimensioning module CocoaPods improvements
Improvements
- Improved CocoaPods integration for the
VSDKDimensioningsubspec
v2.2.2 (May 21, 2026)
Summary
First release with the optional VSDKDimensioning module: 3D box measurement (length, width, height, volume) using the device's LiDAR sensor.
New Features
- VSDKDimensioning (opt-in CocoaPods subspec / SPM product). On-device 3D box dimensioning on LiDAR-equipped devices. iOS 17+ required.
- UIKit / Objective-C entry point:
VSDKDimensioningViewwith a delegate callback. - SwiftUI / async-await entry point:
VSDKDimensioningSession(CombineObservableObject) andVSDKDimensioningSwiftUIView. - Configurable measurement unit (defaults to centimeters; any
UnitLengthsupported),.offline/.onlinemodes, and a multi-box tracking cap. - Result type
VSDKDimensioningMeasurementreturns length, width, height, distance from camera, confidence, and a derived volume. VSDKDimensioning.deviceCapabilities()for hardware gating;VSDKDimensioning.prefetchModels()to pre-warm on app launch.- Fails fast with
VSDKDimensioningError.lidarUnavailableon non-LiDAR devices and simulators.
- UIKit / Objective-C entry point:
v2.2.1 (Apr 27, 2026)
Summary
Item label OCR accuracy improvements, special handling label detection on shipping labels, and stability fixes.
Improvements
- More accurate quantity extraction on item labels — single-character OCR misreads (e.g.
T/l/O/S) are now mapped to the correct digit before matching. - Better barcode-to-entity matching for quantity, serial number, and origin country fields on item labels.
- Country of origin values are canonicalized against a known country/code list (handles abbreviations like
us,usa,uk,gb,uae). - Shipping label extraction now includes detected special handling labels in the response.
Bug Fixes
- Fixed a potential crash during item label extraction
- Improved spatial matching between barcodes and nearby fields when using
normalizedBoundingBox
v2.2.0 (Apr 14, 2026)
Summary
UPC-A barcode support, normalized bounding boxes, and dynamic camera orientation.
New Features
- Added UPC-A barcode symbology with automatic EAN-13 → UPC-A conversion when a 13-digit EAN code starts with
0. - Added
normalizedBoundingBoxproperty onDetectedCode— barcode rect normalized to the0–1range with top-left origin, for device- and resolution-independent positioning.
Improvements
- Camera preview now rotates dynamically when the device orientation changes.
Bug Fixes
- Corrected model loading for the item label micro model.
v2.1.4 (Apr 1, 2026)
Summary
OCR processing fixes.
Bug Fixes
- Fixed OCR processing issues.
v2.1.3 (Mar 6, 2026)
Summary
Item label micro model support and data extraction fixes
New Features
- Added item label micro model support
Bug Fixes
- More accurate part number, country of origin, and model number extraction
- Fixed an internal crash during text extraction
v2.1.2 (Feb 2026)
Summary
Camera guidance improvements and bug fixes
Improvements
- Improved camera guidance prompts
v2.1.1 (Feb 2026)
Summary
Bug fixes and improvements
v2.1.0 (Jan 26, 2026)
Summary
Barcode template JSON updated
Changes
- Barcode template JSON updated
v2.0.9
Summary
This release introduces significant enhancements to Item Labels (IL), Shipping Labels (SL), and camera capabilities, along with improved data extraction quality and multiple bug fixes. The update focuses on better bounding box handling, richer response metadata, expanded courier support, and improved entity association logic.
New Features & Enhancements
Enhanced Bounding Box Support
Improved bounding box accuracy and fixes for both Large and Micro SL.
Bounding box information is now available for all extracted fields.
Confidence Scores
- Confidence values are now provided for all extracted data fields, enabling better downstream decision-making.
Extended Response Structures
- Updated and extended response formats for both Intelligent Labeling (IL) and Structured Labeling (SL).
Advanced Entity Containment & Association Logic
Implemented containment logic to unify overlapping entities while preserving ML-based and Apriori-based source differentiation.
Added an association workflow to handle cases with multiple model numbers or SKUs.
Ensured entities are properly sectioned and linked to their corresponding model/SKU regions.
Camera Enhancements
- Photo capture settings are now exposed, allowing greater control over camera behavior.
Courier Expansion
- Added support for new couriers.
Bug Fixes
Multiple stability and correctness improvements across IL, SL, camera, and extraction pipelines.
v2.0.0 - Oct 27, 2025
📝 Summary
This release contains improvements for Item Label data extraction and the Camera controls for better image capturing experience.
New Features
- Camera Guidance now in new function
- API or Token expiry error report
- New Item Label Model integrated which is more accurate.
v1.9.8 - Oct 15, 2025
📝 Summary
This release contains improvements for Item Label data extraction and the Camera controls for better image capturing experience.
New Features
- Barcode association with ML extracted data.
- Schema changes where every field is null even if it is not extracted in the json.
- Normalized vertices for bounding boxes
- All keys as snake case in extended response (Bug fix as few keys were not properly formatted as snake case)
- Section Extraction model added to extract different sections separately in an item label single document.
v1.9.4 - Sep 17, 2025
📝 Summary
This release introduces Blur Detection support for both the Camera Module and On-Device OCR, enhancing capture quality and reducing errors.
New Features
- Integrated into the Camera Module for real-time blur feedback.
- Extended to On-Device OCR to ensure high-quality text extraction.
v1.9.3 - Sep 13, 2025
📝 Summary
Expanded courier coverage and improvements for Lanter and Volvo integrations.
New Features
- Enhanced Volvo courier integration
- General bug fixes & performance improvements
v1.9.2 - Aug 31, 2025
📝 Summary
Improved spatial intelligence for Item Labels and refined bounding box outputs.
New Features
- Added bounding box information for Item Labels (IL)
- Introduced data validation info for more accurate extraction
- Bug fixes & stability updates
v1.8.9 - Aug 12, 2025
📝 Summary
This release contains new updates in Sync API's for Shipping Labels and Item Labels. Sync API is the one that is used to sync the data with PX if we are doing the offlien extraction of data.
New Features
- IL and SL Sync API’s updated
v1.8.8 - Jul 22, 2025
📝 Summary
This release contains new updates to improve the purchase order number extraction.
New Features
- Purchase Order Number Extraction improvements are added
v1.8.7 - Jul 21, 2025
📝 Summary
This release introduces GS1 barcodes usage, Crash Analytics, and Response Updates.
New Features
- GS1 barcodes usage and data extraction
- OCR Responses now follow snake_case
- Crash Analytics Added.
v1.8.5 - Jun 10, 2025
📝 Summary
This release has important fixes related to model switching (when one model is loaded and other is unloaded prior to it).
New Features
- Model Switching Issue fixed
- Bug fixes and improvements associated to model switching.
v1.8.4 - May 29, 2025
📝 Summary
This release adds automatic reporting for server issues and request retrying mechanism for failed requests.
New Features
- Automatic reporting enabled
- Bug fixes and improvements
- Default environment set to production
- Request retrying mechanism for failed requests
v1.8.0 - May 01, 2025
📝 Summary
This release now has new Tensor Framework and latest models. Also it provides bounding boxes for detected codes and document.
New Features
- Latest Models
- Improvements
- Bounding boxes for detected codes and document
- Latest Tensor Framework
v1.7.9 - Apr 21, 2025
📝 Summary
This release now has improved integration with its dependencies. It now has significantly less size compared to our previous versions. Detected barcodes now contain their symbology as well
New Features
- Removed TensorFlow framework.
- Improvements
- Barcode symbologies added for detected barcodes.
v1.7.7 - Mar 13, 2025
📝 Summary
This release contains a critical fix for a crash that happens when on-device extraction is performed on an image with no readable text.
New Features
- VisionSDK now handles images with no readable text available.
- VisionSDK also automatically extracts barcodes from provided image when no barcodes are provided externally when performing extraction
v1.7.4 - Mar 11, 2025
📝 Summary
This release introduces an automated logging system in VisionSDK, allowing users to access internal operation logs for better debugging and analysis.
New Features
- Automated Logging System: VisionSDK now automatically records logs for its internal operations. Logs are retained for one week before being automatically deleted.
⚙️ Improvements
- Log Accessibility: Users can now retrieve logs using the following method:
- OnDeviceOCRManager.shared.getVSDKLogs()
- Logs are stored for seven days before being automatically cleared.
- Ensure to retrieve logs within this period if needed for debugging or analysis.
v1.6.6 - Feb 28, 2025
📝 Summary
This release introduces a change in the threading mechanism of VisionSDK internal operations. VisionSDK now employs GCD instead of Swift Concurrency framework. Purpose was to precisely manage thread safety for internal operations.
⚙️ Improvements
VisionSDK now uses GCD for thready handling.