Changelog

Release notes for the BagID SDK consumed by partner apps. Versions follow semantic versioning and match git tags in the SDK repository (vMAJOR.MINOR.PATCH).

Where to get releases

Platform Source

Android

Maven Central — com.bagid:bagid-sdk-android:<version> (and com.bagid:bagid-api-client-android:<version>)

iOS

Swift Package Manager — bagid-ios-sdk (pre-built BagIdSDK XCFramework + BagIdSDKUI sources)

Version number

The numeric version equals the git tag without the v prefix (e.g. tag v0.2.20.2.2).

Published Android artifacts are deployed via the Sonatype Central Portal. iOS binaries are hosted on Azure Blob Storage; the public SPM repo pins URL and checksum per release.

Unreleased

Changes on the development branch not yet tagged. Consult git history and Managed BLE Operations for the current managed BLE contract.

New API surface

  • Managed BLE operations — full operation set: TRANSFER, CLEAR, READ_BATTERY, READ_FIRMWARE, SEND_NAMETAG, HIDE_TICKET, RESTORE_TICKET. Unified JSON payload/result contract on Android and iOS.

  • BagIdIosHost.presentManagedBleFlow (iOS BagIdSDKUI) — SwiftUI full-screen managed BLE flow, equivalent to Android ManagedBleFlowActivity. Completion closure receives the same result JSON as Android’s EXTRA_RESULT_JSON.

  • Headless BagIdSdk.runBleOperation(operation, payloadJson) — programmatic managed BLE without SDK-owned scan/selection UI. Requires data.uniqueDeviceId in the payload.

  • SEND_NAMETAG operation — writes a 48,000-byte Base64-encoded personal image to the EBT display. Backend authorization included.

  • HIDE_TICKET / RESTORE_TICKET operations — toggle EBT display between hidden and ticket modes over BLE.

  • GATT v2.1 auto-routingEbtTagIdentity.BagIdBleV21 enables EBT Security (SEC) handshake. Partner apps call the same APIs; routing is transparent.

  • BagIdSdk.notifyDiscoveredModel(device) — informs the SDK of the BLE model discovered during partner-owned scan, enabling correct GATT version routing before connectEbt.

Breaking changes

None since 0.2.x — the managed BLE operation strings, payload envelope, and result JSON are additive.

Deprecations

  • CustodyProofRequiredException — no longer thrown by transferTag flows in current builds. Handle custody through the managed surface or CustodyProofCollector.

0.2.2

Patch release — publishing and tooling.

  • Azure storage account / container settings for XCFramework upload

  • Release script alignment for Maven Central + public SPM repo workflow

0.2.0

Minor release — distribution pipeline.

  • Maven Central publishing setup for Android artifacts (com.bagid:bagid-sdk-android, com.bagid:bagid-api-client-android)

  • Public iOS SPM distribution (bagid-ios-sdk) with Azure-hosted XCFramework

0.1.1

Patch release — early access.

  • BLE transfer and clear (transferTag, clearTag) stabilisation

  • Initial BagIdConfig, configure(), initialize(), loadJourney, createBaggageTag API surface

0.1.0

Initial release — internal early access.

  • Kotlin Multiplatform SDK for Android and iOS

  • BLE GATT v2.0 (EbtTagIdentity.BagId) transfer, clear, scan

  • Ktor-based API client generated from OpenAPI spec

  • Android AAR + iOS XCFramework (manual distribution)

Earlier versions

Tags v0.1.0 and v0.1.1 predate the current partner documentation set. For historical API shape, check the tag in source control.

Upgrading

  1. Read the sections above for your current and target version.

  2. Confirm managed BLE operation strings and JSON envelopes in Managed BLE Operations still match your host code.

  3. Re-run the UAT checklist on physical devices after bumping the SDK.

  4. See Versioning & FAQ for semver policy and breaking-change expectations.