3.20.13

  • several asset tracking bug fixes

  • beacon battery scanner will now re-schedule the upload procedure

  • asset tracking user token can be changed in case of no active root venue

  • notification module initializes in the background now

3.20.8

  • Fixed a bug in the background position calculation

  • Tls12SocketFactory will not be obfuscated on app minification anymore

3.20.5

  • encapsulated Tls12SocketFactory.createTls120SSLContext() to use it in your own http client

3.20.4

  • bug fix for sdk clean up

  • bug fix in obfuscation

  • increased kotlin to version 1.2.30 and fixed some annotationProcessor dependencies

  • use setBeaconBatteryScanEnabled to enable an automatic upload of the scanned beacon battery levels (only if your installation has this feature)

  • bug fix for AnalyticsDispatcher which crashed some times when the app returns from the background

  • fixed a positioning bug in the new averaging logic

  • fixed bugs in some of the local data sources

  • completely re-worked the current data loading module

  • ranged beacons from all levels are now used for position calculation (UseBeaconsFromAllLevels)

  • rssi filter can also filter out beacons which are to far away which is not enabled by default and only recommended for specific installations (SensibleBeaconFilterDistance)

  • if a level change is detected the position will directly be published instead of waiting for the next publish interval

  • SensibleDistanceFilter threshold increased to 2.5m/s and activated by default now

  • the beacon scan callbacks always return a collection of scan results which is sorted by their estimated rssi values descending

  • increased kotlin to version 1.2.20

  • increased google support library to version 27.0.2

  • increased google play services to version 11.8.0

  • increased buildToolsVersion to 27.0.3

  • increased compileSdkVersion and targetSdkVersion to 27

3.18.0

  • the analytics event sending interval can now be adjusted with the help of the analytics configuration

  • increased OkHttp library to version 3.9.0

  • fixed a bug concerning not synchronized asset tracking methods

3.17.0

  • adaptive position calculation is enabled by default

  • deactivated kalman filter of position module by default

  • position path snapping is disabled by default

  • increased altbeacon library to version 2.12.3

  • increased java websocket library to version 1.3.6

  • fixed a bug concerning the properties to exclude of the Coupon and CouponCategory classes

3.16.4

  • increased buildToolsVersion, compileSdkVersion, targetSdkVersion to 26

  • added new google maven repository and updated google support libraries to 26.1.0

3.15.10

  • ok http network logging uses the SDK’s Logger class now

  • AssetWatcher will only be notified when there is an according asset in the local database

  • check if ScanModule is running before toggling the auto background mode

3.15.0

  • added support for bluloc crypto v2 beacons

  • ScanConfig.setUsingCryptoBeacons is deprecated now as everything will be setup in the commander web frontend

  • You can now mix crypto v1, v2 and none encryption in one installation

3.12.0

  • completely re-worked the Turn-By-Turn directions

3.11.0

  • corrected getTrigger in ZoneAlarm model and added getAssetId method

  • fixed issues when inserting assets and zone alarms

3.10.0

  • removed some obsolete log output

  • RootVenuesLoadedListener has worker thread annotations now

3.8.0

  • added BackspinSdk.Assets.loadZones method to public api

  • eager loading depth of entities was 1 by default therefore all sub-entities lazy loaded their data unintentionally

  • load methods of asset tracking api did not save the results to the local database

3.7.0

  • fixed a bug that on occasion caused a running navigation to suddenly stop

3.5.0

  • new beacon library update integrated

  • Sdk initialization can also be done on background threads (non-ui threads) now

  • AssetWatcher only notifies about events for the current root venue

  • WebSocket will not be started when user token is empty

  • several improvements on navigation graph generation

  • walking detector also works on devices without linear acceleration sensor

    • navigation will now start much faster especially with big navigation graphs

3.3.0

  • the positioning module calculates a movement direction now

  • fixed a bug in the asset tracking zone alarms

3.1.0

  • added new WalkingSensorAccelerationPeak which is now the default movement detector used by the adaptive position calculation

  • several improvements on the adaptive position calculation

2.21.0

  • new default position configuration for SensibleRssiThresholdFactor: 1.15 → 1.1

  • adaptive position calculation is now less reactive and more stable

2.20.0

  • AssetWatcher has a removeAsset method now

  • added web socket communication to asset tracking

    • whenever you instantiate and start an AssetWatcher all positions and alerts will be updated continuously in the background

  • BackspinSdk.Assets.setUserToken is deprecated now, use the ConnectionConfig.setUserToken instead

  • asset positions which have no corresponding asset yet will be simply ignored

  • getter for external id in Asset was missing

  • fixed null reference exception when calling AssetPosition.getIndoorLocation

2.19.0

  • OnNotificationListener is deprecated now, use NotificationListener instead, because it also passes information about the source of the notification (beacon or zone)

  • added getLevel to Zone object

  • added IntegerUtil.random method

2.18.5

  • NavigationTask related calculations won’t block the UI thread anymore

    • moved calculations to a worker thread to significantly boost performance

    • all callbacks now happen in a worker thread

make sure to run any UI specific code triggered by the callbacks on the main thread
  • fixed a navigation crash based on concurrency problems

  • added BackspinSdk.Asset.loadAssetsByExternalId and BackspinSdk.Asset.getAssetByExternalId methods

  • fixed a bug that impacted offline capabilities

  • it is now possible to create and enqueue analytics events without an active root venue

  • added BackspinSdk.initRootVenue method to quickly initialize a previously loaded root venue

    • store previously loaded scopeIds, for example using SharedPreferences

    • if no data is cached for the given scopeId the method returns false and no root venue gets loaded

2.18.0

  • You can now start advertisements via the BackspinSdk.Scan.startAdvertisement method

  • Added AssetWatcher

  • NavigationTask.onRouteCalculated is no longer called when the route has not changed

  • NavigationTask now performs a route snapping of the received position and returns it via the new OnPositionSnappedListener

  • NavigationTask does not perform a complete route calculation on every calculate call - It now tries to reuse the already calculated route as long as possible

  • added two new settings to the NavigationConfig: DistanceDifferenceForRouteUpdateMeters, DistanceDifferenceForNewRouteCalculationMeters last

2.15.0

  • BackspinSdk initialization checks if the application context was closed during network request.

  • added CollectionUtil.first and .last methods

  • added asset tracking module

2.13.9

  • seed number which is used by the crypto beacon feature can now be configured via the ScanConfig.setCryptoBeaconsSeed method

  • added DeviceUtil.vibrate method

2.12.2

  • fixed crash within barrier check when no navigation graph is available

  • added try catch for parsing the json of the tags custom field

  • new BackspinSdk.Data.getLevelByNumber(int levelNumber) method

2.10.4

  • added toCategoriesString method for Venue