SDK 6 Migration Guide

Use this guide to migrate an integration from SDK 5.17.x to SDK 6.0.0-beta11.

SDK 6 is a beta release with breaking API changes. The biggest changes are the readable-code to barcode terminology migration, new native platform requirements, aligned scan-flow error codes for native and wrapper integrations, the rebuilt iOS custom camera API, and the Android scan flow result contract.

Overall, only iOS custom integrations require a hands-on migration. Most other integrations require small, mechanical updates.

Platform guides

Capacitor is new in SDK 6. If you are adopting it, follow the Capacitor install guide rather than a migration page. If you previously used the Cordova plugin from a Capacitor app, start with the Cordova migration guide.

For wrapper integrations, the native SDK requirements still apply: iOS 15 or later and Android 6.0, API 23 or later. If an older wrapper template or package metadata still shows a lower minimum, use these SDK 6 native minimums.

Barcode terminology

SDK 6 standardizes the public API on barcode terminology. In practice this affects:

  • Dedicated barcode scanning flows.
  • Structured data extraction configuration.
  • Structured data extraction results.

Prefer the new barcode and barcodes names everywhere. Some native dictionary bridges still accept or emit legacy readable-code keys for compatibility, but new application code should not depend on them.

Error codes

SDK 6 aligns scan-flow error categories across platforms. Native iOS exposes them through GSKScanFlowErrorCode, native Android exposes them through ScanFlowErrorCode, and wrapper integrations expose the same categories as stable string codes or typed wrapper exceptions.

In SDK 5, wrapper integrations did not have one cross-platform cancellation shape. Flutter and React Native could receive com.thegrizzlylabs.gssdk.scanflow.ErrorDomain error 999 on iOS and E_SCAN_CANCELED on Android. Cordova received cancellation message strings. .NET integrations received generic exceptions or NSErrorException. SDK 6 replaces those platform-specific checks with the shared cancellation_error code.

Error category String code
User canceled the flow cancellation_error
Invalid configuration or input configuration_error
License key invalid, expired, or not initialized licensing_error
Camera or capture failure capture_error
Not enough storage space storage_space_error
Unexpected SDK error internal_error

Handle cancellation_error as a normal user action. Treat the other codes as failures and use the platform-specific error payload for the message, recovery message, and underlying error when available.

The Web SDK has its own JavaScript error model and does not expose this native and wrapper string-code taxonomy.

Final checks

After applying the platform guide, build each target your app ships and run the scan paths your users rely on.

Validate document scanning, barcode scanning if used, structured data extraction if used, generated document output, user cancellation, and at least one non-cancellation error path such as licensing or invalid configuration.

Ready to get started?

Start with a free trial license to test the SDK, or contact us directly for a custom quote tailored to your needs.

Products

Industries

Case Studies

Integration

Company

© 2026 The Grizzly Labs. All rights reserved.