1. Kotlin
  2. Release Notes

Kotlin

Release Notes

v2.4.42 (Mar 26, 2026)

📝 Summary

Smoother bounding box rendering

🐛 Bug Fixes

  • Consolidated onIndicationsBoundingBoxes to a single vsync-aligned emission, reducing duplicate callbacks per frame

v2.4.41 (Mar 25, 2026)

📝 Summary

Re-publish of v2.4.40 with corrected build artifacts


v2.4.40 (Mar 25, 2026)

📝 Summary

Bounding box callbacks in Photo/OCR modes and interpolated barcode positions

🌟 New Features

  • Bounding box events in Photo/OCR modesonIndicationsBoundingBoxes now emits in Photo and OCR detection modes
  • Interpolated barcode positions — New callback for interpolated barcode positions at ~30fps for smoother tracking

v2.4.39 (Mar 19, 2026)

📝 Summary

Barcode data integrity fix

🐛 Bug Fixes

  • Fixed barcode data loss when stopping scanning — barcodes are now collected before the scanner is released

v2.4.38 (Mar 16, 2026)

📝 Summary

GS1 barcode field extraction, normalized bounding boxes, and barcode capture in Photo mode

🌟 New Features

  • Barcode capture in Photo modeonImageCaptured now returns detected barcodes in DetectionMode.Photo.
  • GS1 barcode field extraction — New GS1FieldExtractor for single-pass extraction of country, postal, PO, and BOL fields from GS1-128 barcodes.
  • GS1 field validationmergeWithBarcodeValidation helper integrates GS1 barcode data into shipping label predictions.
  • ISO 3166-1 numeric-to-alpha-2 country code mapping — Supports numeric country codes in GS1 Application Identifiers (AI 421, 422, 424, 426).

🐛 Bug Fixes

  • Restricted internal getCountryNameFromCountryCode helper visibility to avoid unintended public API exposure.
  • Added deduplication guards and edge case handling for country code extraction.
  • Fixed JSON control character handling in OCR serialization.

v2.4.37 (Mar 9, 2026)

📝 Summary

Major barcode scanning upgrade with new high-performance scanner, improved detection accuracy, and smoother UI

🌟 New Features

Improved Barcode Scanning

  • Significantly improved barcode detection accuracy and speed
  • Better recognition of damaged or hard-to-read barcodes
  • Improved barcode tracking with smooth, stable bounding box overlays

Newly Supported Barcode Formats

  • EAN2 — 2-digit EAN supplement
  • EAN5 — 5-digit EAN supplement
  • ISBN10 — 10-digit ISBN
  • ISBN13 — 13-digit ISBN
  • GS1DataBar — GS1 DataBar (formerly RSS-14)
  • GS1DataBarExpanded — GS1 DataBar Expanded
  • GS1DataBarLimited — GS1 DataBar Limited
  • MicroPDF417 — Compact version of PDF417
  • MicroQR — Compact version of QR Code
  • MaxiCode — MaxiCode (used by UPS)
  • RMQRCode — Rectangular Micro QR Code

Courier Support

  • Added John Deere as a courier with Box ID and Account ID support

⚡ Performance

  • Faster barcode detection with optimized image processing pipeline
  • Reduced memory allocations during scanning
  • Smoother overlay rendering synced to display refresh rate
  • Improved scanning of PDF417 and damaged barcodes via image enhancement

🎨 UI/UX

  • Smoother bounding box animations with spring physics
  • Improved barcode overlay transitions and persistence

🐛 Bug Fixes

  • Applied focus-frame filtering to barcode callbacks and tracking logic (not just display)
  • Fixed skewed barcode bounding boxes when frame size differs from preview
  • Fixed single barcode scanning mode restrictions
  • Fixed courier false positive detection issue
  • Reduced AAR size

v2.4.36 (Mar 9, 2026)

📝 Summary

Template bounding box filtering and symbology fixes

🌟 New Features

  • Template bounding box filtering — barcodes are now filtered against the focus frame/template region before being reported

🐛 Bug Fixes

  • Fixed symbology casing inconsistencies in BarcodeSymbology (added tests)
  • Fixed template bounding box filtering edge cases in VisionCameraView

v2.4.35 (Mar 9, 2026)

Re-tag of v2.4.34 — no changes.


v2.4.34 (Mar 9, 2026)

📝 Summary

Template management, backward-compatible template API, and ProGuard improvements

🌟 New Features

  • Introduced TemplateData class for barcode template creation and updated template management logic
  • Restored template API on VisionCameraView for backward compatibility
  • Added @Keep annotation to CameraOrientationMode to prevent ProGuard stripping

⚙️ Improvements

  • Optimized value reconciliation logic in ResponseReconciler

v2.4.33 (Mar 9, 2026)

📝 Summary

Bug fixes for API response handling, model management, and error reporting improvements

🐛 Bug Fixes

  • Fixed API download info response handling in ConnectResponse
  • Fixed model removal handling — properly clean up models when they are removed from the server

⚙️ Improvements

  • Added new VisionSDKException types for better error reporting
  • Improved Model data class handling in the OCR ML pipeline

v2.4.32 (Jan 1, 2026)

📝 Summary

Camera orientation lock and model version API for better control and debugging

🌟 New Features

Camera Orientation Lock - Control camera orientation behavior for consistent scanning

  • CameraOrientationMode enum with AUTO, PORTRAIT, LANDSCAPE, and SENSOR modes
  • CameraSettings.orientationMode property to configure orientation behavior
  • AUTO mode: Camera follows device rotation (default behavior)
  • PORTRAIT mode: Locks camera to portrait orientation regardless of device rotation
  • LANDSCAPE mode: Locks camera to landscape orientation regardless of device rotation
  • SENSOR mode: Follows device physical sensor orientation
  • Scanning overlays automatically align with locked orientation
  • Useful for workflows requiring consistent scanning behavior (documents, labels, barcodes)

Model Version API - New API to retrieve exact version of loaded models

  • ModelManager.getModelVersion() - Returns version string of downloaded models (e.g., "2025-05-05")
  • Useful for debugging, logging, feature validation, and telemetry
  • Returns null if model not downloaded
  • Main-safe suspend function

⚙️ Improvements

Barcode Scanning Performance - Enhanced temporal validation system

  • Reduced bounding box removal time by 66-75% (from 300-500ms to 100-150ms)
  • Fixed flickering issues when scanning multiple barcodes
  • Implemented BarcodeTracker with timestamp-based tracking
  • Asymmetric thresholds: 2 frames to appear, 100ms to disappear
  • More responsive and stable barcode detection experience

v2.4.31 (Dec 15, 2025)

📝 Summary

Model Management APIs and Camera Control APIs added

🌟 New Features

Model Management APIs - A new API system for managing the OCR model lifecycle

  • ModelManager.initialize() - Initialize model management
  • ModelManager.downloadModel() - Download models with progress tracking and cancellation support
  • ModelManager.loadModel() - Load models into memory
  • ModelManager.unloadModel() - Unload models from memory
  • ModelManager.checkModelUpdates() - Check for and optionally download model updates
  • ModelManager.isModelLoaded() / ModelManager.isModelDownloaded() - Query model status
  • ModelManager.getModelInfo() - Retrieve detailed model information
  • ModelManager.deleteModel() - Remove downloaded models
  • ModelLifecycleListener - Monitor download progress and lifecycle events

New data classes

  • DownloadProgress
  • ModelInfo
  • ModelUpdateInfo

New exception types

  • ModelException
  • ModelNotFoundException
  • ModelDownloadException

Camera Control APIs - Direct access to the camera for advanced configuration

  • VisionCameraView.getCamera() - Retrieve the CameraX Camera object for direct control (Android equivalent of iOS AVCaptureDevice)
  • VisionCameraView.capturePhotoWithSettings() - Capture photos using custom camera settings
  • Direct access to: Zoom, Torch, Exposure, Focus via the Camera object

v2.4.30 (Dec 15, 2025)

📝 Summary

Memory-efficient issue reporting, new ScannedCodeResult methods, and critical bug fixes

🌟 New Features

  • Memory-Efficient Issue Reporting API with file-based image storage and lazy loading
  • Coroutine support for async operations
  • getExtractedData() method in ScannedCodeResult
  • getStringValue() method in ScannedCodeResult
  • Enhanced OCR methods with additional utility functions

⚙️ Improvements

  • Enhanced ScannedCodeResult structure with richer metadata
  • Enhanced key-value extraction accuracy and performance
  • Improved courier signal detection logic
  • Improved error handling across SDK

🐛 Bug Fixes

  • Critical: Fixed crash when using ModelManager.loadModel() with shipping label models
  • Improved error handling in model download and configuration processes
  • Improved stability and error handling

v2.4.29 (Nov 19, 2025)

📝 Summary

KV Classifier improvements and courier signal detection enhancements

⚙️ Improvements

  • Improved key-value field extraction accuracy
  • Enhanced courier signal detection reliability

v2.4.28 (Nov 19, 2025)

📝 Summary

KV Classifier and courier detection stability fixes


v2.4.27 (Nov 19, 2025)

📝 Summary

Error handling improvements for model download and configuration


v2.4.26 (Nov 17, 2025)

📝 Summary

Paccar Courier support and iOS-Android compatibility improvements

🌟 New Features

  • Added Paccar Courier support
  • Rule-based key-value information extraction

⚙️ Improvements

  • LanterDS changes for Paccar Courier
  • Response format consistency improvements

v2.4.25 (Nov 12, 2025)

📝 Summary

Paccar Courier added and response format updates

🌟 New Features

  • Added Paccar Courier
  • Added tests for verifying responses

⚙️ Improvements

  • Standardized response formats for consistency

v2.4.24 (Oct 31, 2025)

📝 Summary

ProGuard rules improvements

⚙️ Improvements

  • Added ProGuard rules to keep callback classes

v2.4.23 (Oct 23, 2025)

📝 Summary

Consistent and fuller JSON responses, barcode values with bounding boxes for indications

⚙️ Improvements

  • JSON response of on-device AI processing is more consistent and complete
  • Instead of Rect, we're using ScannedCodeResult in onIndicationsBoundingBoxes

v2.4.22 (Sep 27, 2025)

📝 Summary

Blur detection and bounding boxes improvements added

⚙️ Improvements

  • Image sharpness score callback added.
  • Bounding boxes extraction improvements are added in JSON result
  • Improved purchase order detection

v2.4.20 (Sep 23, 2025)

📝 Summary

Blur detection and bounding boxes for regex results added

⚙️ Improvements

  • When an image is detected as blur, it won't be used for prediction
  • Blur image callback added
  • Bounding boxes of regexes are added in JSON result
  • Improved purchase order detection

v2.4.19 (Sep 20, 2025)

📝 Summary

Blur detection and bounding boxes for regex results added

⚙️ Improvements

  • When an image is detected as blur, it won't be used for prediction
  • Blur image callback added
  • Bounding boxes of regexes are added in JSON result

v2.4.17 (Sep 16, 2025)

📝 Summary

Stability and performance improvements for barcode scanning


v2.4.16 (Sep 4, 2025)

📝 Summary

SLNano model introduced

⚙️ Improvements

  • Custom SLNano model for very quick response.

v2.4.15 (Sep 1, 2025)

📝 Summary

Extended response added in the on-device response of Shipping Label and Item Label

⚙️ Improvements

  • Bounding boxes of each entry
  • Confidence of each entry
  • Extraction type of each entry

v2.4.14 (Aug 27, 2025)

📝 Summary

Improved detection of tracking number and provider name for Volvo.

⚙️ Improvements

  • Volvo courier AI improvements added

v2.4.13 (Aug 15, 2025)

📝 Summary

Improved Shipping Label data sync API and adding more data in to the telemetry API

⚙️ Improvements

  • Shipping Label sync API now sends address information, if retrieved
  • If network call to server responds but with unexpected response, it is reported through the error reporting API call

v2.4.12 (Aug 13, 2025)

📝 Summary

Phone number extraction improvements, and sender receiver name processing improved. Other minor improvements in Sync API calls.

⚙️ Improvements

  • Phone number extraction improved
  • Name processing improved
  • Metadata field added in IL (item label) Sync API
  • On-device response contains the model version ID

v2.4.6 (Jul 30, 2025)

📝 Summary

New Item Label model added that can extract Sender/Recipient information

⚙️ Improvements

  • Item Label model updated to extract sender/recipient information

🐛 Bug Fixes

  • Image rotation issue on some devices has been fixed

v2.4.2 (Jul 16, 2025)

📝 Summary

On-device response now includes confidence scores and bounding boxes for each field, GS1 barcode data integration, race condition fix, and Android 16 support

🌟 New Features

  • Confidences of every field
  • Bounding boxes of every field

⚙️ Improvements

  • GS1 barcode information is added in on-device response
  • Error handling improved

🐛 Bug Fixes

  • A race-condition is resolved using Mutex

🗒️ Notes

This version supports Android 16.


v2.3.5 (Jul 3, 2025)

📝 Summary

On-device models are more customizable, courier tracking number detection improved, crash reporting improved

🌟 New Features

  • On-Device models can be further customized. Client app can request what information to extract.

v2.3.4 (Jun 24, 2025)

📝 Summary

Country name detection improvement

⚙️ Improvements

  • Fuzzy search algorithm is improved to get better results when looking for country

v2.3.3 (Jun 12, 2025)

📝 Summary

Sync API for Item Label has been introduced in this version

🌟 New Features

  • Sync API for Item Label

v2.3.2 (May 23, 2025)

📝 Summary

Minor improvements with For AccountId, Shipment Date and weight extraction and improved rotation of images on capture.

⚙️ Improvements

  • AccountId, Shipment Date and weight extraction improvements
  • Captured image rotation aware of camera orientation

v2.3.1 (May 19, 2025)

📝 Summary

An issue of PriceTag bounding boxes fixed

🐛 Bug Fixes

  • Bounding boxes of PriceTag

v2.2.4 (May 6, 2025)

📝 Summary

This release includes changes in how indications are received, template creation flow is improved, item label model updated and around 28 new couriers added.

🌟 New Features

  • Bounding boxes of barcodes, QR codes and document
  • Item label model updated
  • 28 new couriers

⚙️ Improvements

  • Template creation flow improved
  • Processing speed improved by reducing number of calculations

v2.2.1 (Apr 19, 2025)

📝 Summary

PriceTag and ItemRetrieval features enabled

New Features

  • PriceTag
  • ItemRetrieval

v2.2.0 (Apr 10, 2025)

📝 Summary

This version has Barcode symbology added. When user scans a barcode or QR code, we send the type of barcode along with the barcode result.

⚙️ Improvements

  • Barcode symbology is now being sent to client

🐛 Bug Fixes

  • NPE on some specific barcodes fixed

v2.1.14 (Apr 8, 2025)

📝 Summary

Improved error diagnostics for unhandled crashes

⚙️ Improvements

  • Automatic crash reporting for better issue resolution

v2.1.13 (Mar 25, 2025)

📝 Summary

Minimum SDK lowered to Android 23 and improved initialization error messages

⚙️ Improvements

  • Expanded device compatibility down to Android API 23
  • Clearer error messages when accessing SDK methods before initialization

v2.1.12 (March 13, 2025)

📝 Summary

This version contains log file management. Client app actions and processes are logged in a file. And then client app can share those logs with PackageX, should they need to.

⚙️ Improvements

  • Log files management

v2.1.5 (Feb 10, 2025)

📝 Summary

This release has two minor changes. In telemetry API, we're now sending improved name and model of device and image resizing is now optional for users when making API calls.

⚙️ Improvements

  • Improved device model name in telemetry API
  • Resizing option available for client app