3.21.0

  • added DataError.NOT_AUTHORIZED which will be thrown in case of an invalid authentication key

  • network calls catch all kind of exceptions now and will always lead on DataError.SERVER_REQUEST_FAILED

  • increased google support library version to 28.0.0

  • increased gson version to 2.8.5

  • increased okHttp version to 3.11.0

  • increased java web socket version to 1.3.9

  • increased altBeacon library version to 2.15.2

We will no longer provide technical support for applications using minSdkVersion < 21. However, it is still technically possible to use a lower minSdkVersion.

3.20.21

  • modules will asynchronously be started whenever data is loaded or reloaded so the UI gets blocked even shorter

  • increased google play services to version 15.0.1

  • increased room library to version 1.1.1

  • Android 9 compatibility

    • targetSdkVersion and compileSdkVersion updated to 28

    • buildToolsVersion updated to 28.0.2

    • as the Android system restricts the SensorManager for background apps we can not ensure the best accuracy of our positioning anymore if your app does not run in the foreground or with the help of a ForegroundService

3.20.18

  • use a named layout for beacon parsing to filter out all other added layouts like eddystone

  • PositionZoneFiltering checks for malformed server urls

3.20.17

  • direction information of the navigation module will now return the correct distance

  • several bugfixes concerning leaking http response bodies

3.20.16

  • every device language (even with non-arabic numbers) will now use US locale for date format parsing

  • solved compatibility issues with out-dated server versions

  • data store was not correctly cleaned up on the database upgrade

3.20.14

  • fixed a bug with the background initialization of the Sdk

  • several apps which integrate the Sdk will generate different device ids for the app registration

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