Repository navigation
Releases: Futurae-Technologies/android-trust-signals-sdk
Releases · Futurae-Technologies/android-trust-signals-sdk
Release list
v0.1.2-alpha
Changelog
Breaking changes
TSCollectionRequesthas been replaced byTSCredentials, and itsappIdfield has been removed.TSCredentialstakesaccountId,accessToken,serviceId,unitId,interactionIdandverificationStatus, and is checked when it's created:
-accountIdandserviceIdmust be UUIDs.
-unitIdmust be 1–1000 characters: letters, numbers and-.
-interactionIdmust be a UUID, optionally followed by-<sessionId>.
-accessTokenmust not be blank.
- An invalid value throwsIllegalArgumentException.TSConfigurationchanges:
-serverURL→collectionUrl, which is now the full URL of the collections endpoint, not a base URL.
-collectionTimeoutMS→collectionTimeoutMs.
- New requiredsensorTagparameter.
-initializethrowsIllegalArgumentExceptionifcollectionUrlisn't a valid http(s) URL orsensorTagis blank.scheduleCollections(interval, …)→scheduleCollections(collectionInterval, vararg credentials: TSCredentials).collectAndUploadnow takesvararg credentials: TSCredentials.- Calling the SDK before
initializenow throwsTSNotInitializedExceptioninstead ofIllegalStateException. - Upload errors other than 401/403 are now reported as
TSUploadRejectedExceptioninstead ofIllegalStateException. Network errors in scheduled jobs are now delivered asTSUploadTransportException, with the originalIOExceptionascause. - The collection models have been renamed and restructured:
-SignalsObservation→TSObservation.
-DeviceObservation,LocaleObservation,SecurityObservation,AppObservationandBatteryObservationare merged intoTSObservation.deviceInfoSignals: TSDeviceInfoSignals. In the merged class,version→appVersion,level→batteryLevelandstatus→batteryStatus.
-ScannedDeviceEntry,ConnectedDeviceEntryandNearbyDeviceEntryare merged intoTSDevice.
- The remaining models are renamed:TSWifiScan,TSBleScan,TSLocation,TSWifiNetwork,TSBlePeripherals,TSNetworkState.
-locationCollection→location, andpermission→permissionGranted.
-timezoneis now aString(the timezone ID).TimezoneObservationhas been removed. - Timestamps: every
timestamp: Longis nowobservationTime: java.util.Date, serialized as RFC 3339. InTSCollection,tag→sensorTag.
New features & Behavior changes
TSVerificationStatus(VERIFIED,UNVERIFIED,FRAUD): the result of the host app's own verification, sent with every upload.TSCollectionnow includescollectionId(a UUID) andtimedOut.timedOutistruewhen at least one long-running collector didn't finish before the deadline.TSCollectionTimedOutException: thrown bycollectandcollectAndUploadwhen every long-running collector timed out and nothing was collected.TSUploadException.failurescauses are now typed:TSAuthenticationException(401/403),TSUploadRejectedException(other non-2xx responses) orTSUploadTransportException(network/IO failure).- Schedules created by an earlier SDK version are cancelled automatically the first time they run after the upgrade. A
TSLegacyScheduleExceptionis sent to the registered error handler with theaccountId. CallscheduleCollectionsagain with a fullTSCredentialsto resume. TrustSignalsSDK.version: exposes the SDK version string.- The BLE scan now returns results sooner in busy Bluetooth environments.
v0.0.4-alpha
Changelog
- Added
timeoutMsas a parameter to collection methods which allows for overriding default collection timeout specified in the SDK config.
v0.0.3-alpha
Changelog
Breaking changes
TSConfigurationno longer acceptsappId. It has been moved toTSCollectionRequest.collectAndUploadandscheduleCollectionsnow acceptvararg requests: TSCollectionRequestinstead of a single named request parameter to make collections and scheduled collections easier for multiple parallel requests.
New features & Behavior changes
- Multi-account
collectAndUpload: pass multipleTSCollectionRequestobjects in one call. Signals are collected once and uploaded in parallel for every account. All uploads are always attempted regardless of individual failures. TSUploadException: thrown bycollectAndUploadwhen one or more uploads fail. failures: Map<String, Exception> maps each failing account ID to its cause. Authentication errors (HTTP 401/403) appear as TSAuthenticationException inside the map.- Per-account scheduled jobs:
scheduleCollectionsnow enqueues one independent WorkManager job per TSCollectionRequest. Cancelling one account's schedule no longer affects others. stopScheduledCollections(vararg accountIds): cancel one or more specific accounts' schedules while leaving all others running.
v0.0.2-alpha
Changelog
- Update proguard rules to prevent namespace conflicts with Futurae android-sdk
- Improve collection entity name sanitization
v0.0.1-alpha
Changelog
First public alpha release.
Features
- Signal collection: collects WiFi scan, BLE scan, location, network state, connected BLE peripherals, nearby Wi-Fi devices, IP address, timezone, device/OS info, locale, security flags, app info, and battery
- Coroutine API:
collect()andcollectAndUpload()as suspend functions - Callback API:
collect()andcollectAndUpload()with onSuccess/onError callbacks; - Scheduled collections:
scheduleCollections(interval, request)via WorkManager; survives process restarts; minimum interval of 15 minutes enforced - Error handler:
registerErrorHandlerdelivers background worker failures (includingTSAuthenticationExceptionon HTTP 401/403) to the main thread - Stop/reschedule:
stopScheduledCollections()cancels by account or all at once