Version 3.36.4 – May 05, 2026 #
Changed
- Updated rtls (libserver) to 2.57.4. Fixes an internal initialization issue in the positioning engine that prevented it from starting, resulting in no user positions being returned. The issue was reproducible in very large buildings.
Version 3.36.3 – April 13, 2026 #
Changed
- Fixed a crash due to a SecurityException when starting positioning with FG service while the app is in a non-eligible state. The error is now reported through LocationListener.onError() instead, as a LocationManager.Code.FOREGROUND_SERVICE_NOT_ALLOWED
Version 3.36.2 – April 09, 2026 #
Misc
- Internal refactor to simplify the code.
Version 3.36.1 – March 18, 2026 [STABLE] #
Improved readiness for newer versions of Gradle and the Android SDK
Performance and stability enhancements introduced in recent releases
Security and dependency updates
Please note that versions earlier than 3.31.0 are outside the current active maintenance scope. Existing integrations may continue to operate as currently deployed; however, ongoing support, corrective updates, and compatibility improvements are focused on version 3.31.0 and later.
For applications still using an earlier version, we recommend considering the upgrade as part of regular lifecycle and maintenance planning. Backward compatibility is maintained from version 3.31.0 onward.
Changed
- Update rtls to version 2.56.26. Update internal dependencies (no functional impact).
Internal changes
- Removed the internal logic of SITMapView in charge of using the SDK as a navigation engine, since this “navigation mode” was not being used for a long time. The following WebCommunicationInterface messages were removed:
- navigation.stopped: MapView tells SDK to stop the current navigation.
- navigation.requested: MapView tells SDK to start a new navigation.
- navigation.updated: SDK tells MapView about a navigation update.
- directions.requested: MapView tells SDK to calculate directions.
- directions.update: SDK tells MapView about a directions update.
- Navigation.kt and Directions.kt were directly removed.
Version 3.36.0 – February 23, 2026 #
DEPRECATION NOTICE
Versions of the Situm Android SDK earlier than 3.36.1 (including 3.36.0) are now considered deprecated. To benefit from the latest improvements and ensure ongoing compatibility with the Android ecosystem, we recommend planning an upgrade to version 3.36.1 or later.
Why upgrade
– Improved readiness for newer versions of Gradle and the Android SDK
– Performance and stability enhancements introduced in recent releases
– Security and dependency updates
Please note that versions earlier than 3.36.1 are outside the current active maintenance scope. Existing integrations may continue to operate as currently deployed; however, ongoing support, corrective updates, and compatibility improvements are focused on version 3.36.0 and later.
For applications still using an earlier version, we recommend considering the upgrade as part of regular lifecycle and maintenance planning. Backward compatibility is maintained from version 3.36.1 onward.
Changed
- Changed the default value of NetworkOptions.preloadImages from true to false.
Image preloading is now disabled by default and must be explicitly enabled using:
NetworkOptions.Builder#setPreloadImages(true).
This change improves performance and reduces resource consumption, as POI category images can be numerous and floor plans can be large, avoiding unnecessary preloading unless explicitly required.
Internal improvements
- Improved internal configuration handling to simplify maintenance and reduce complexity.
- Centralized default configuration and normalization logic.
- Optimized CommunicationConfig resolution flow.
Breaking change: Image preloading is now disabled by default.
Integrations that relied on automatic POI category or floor plan image downloads must explicitly enable it using the CommunicationConfig overloads and NetworkOptions.Builder#setPreloadImages(true).
Explicit image downloads continue to work as expected; only the automatic prefetch behavior has changed.
Version 3.35.0 – February 11, 2026 #
Added
- Added Share Live Location functionality, you can find more details about it here.
- New method MapViewController.setShareLiveLocationSession(sessionIdentifier) that allows a user to start visualizing the locations of other user in real time.
- Internal functionality that allows to share the user location (a Share Live Location Session) with another user.
Fixed
- Fix Poi.fromMap() custom fields not being parsed correctly when used from React Native.
- Fixed a crash that was thrown due to directly casting a null value when returning results in CommunicationManager.fetchGeofencesFromBuilding(Building, CommunicationConfig, Handler<List<Geofence>>) and CommunicationManager.fetchBuildings(CommunicationConfig, Handler<Collection<Building>>) . Defensive code was added to report a failure through
onFailure(Error)callback, preventing crashes from taking place.
Version 3.34.1 – February 04, 2026 #
Fixed
- Fixed an issue where starting navigation multiple times consecutively without stopping the previous session could cause onStart and onProgress callbacks to report inconsistent data, as the ongoing navigation was not properly stopped before starting a new one.
Version 3.34.0 – January 20, 2026 [STABLE] #
Changed
- Deprecated Configuration#setApiKey(String, String). The recommended method is now setApiKey(String). The email parameter is ignored, and an internal deterministic email will be generated automatically based on the API key.
Fixed
- Fixed an issue that caused incorrect positioning on outdoor geofences when floor IDs exceeded 65535 due to an unsigned integer overflow.
Disclaimer: Updating to this version will automatically invalidate any existing cached data for users. This is expected behavior and does not cause errors; the cache will be repopulated as needed. Users may experience a temporary rebuild of cached data upon first use after the update.
Version 3.33.3 – November 26, 2025 #
Added
- Added a new method SitumSdk.navigationManager().getRoute() to obtain the on-going route.
Changed
- Added defensive code to avoid IllegalStateException to be thrown when the user clicks on the Situm’s Foreground Notification “STOP” button but the SDK is already being destroyed. This is an extremely rare condition but has now been resolved.
Version 3.33.2 – November 12, 2025 #
Added
- Added an internal configuration message to MapView: This message informs the web layer that spoken messages are now handled natively. It is used internally — no action is required on your side.
Changed
- Added defensive code to NavigationManager.updateNavigationState(ExternalNavigation) to prevent crashes if the MapView sends malformed navigation messages.
Version 3.33.1 – October 06, 2025 [STABLE] #
Changed
- Now when positioning in Global Mode, SDK will also notify the following location statuses:
Version 3.33.0 – September 15, 2025 #
Added
- Now MapView will automatically speak aloud indications during navigation if the TTS feature is enabled in the viewer profile specified. From now on, integrators won’t need to write any code for TTS functionality to work correctly.
Changed
- Changed global mode behavior: Previously, disabling outdoor positioning in the Situm SDK also disabled building detection based on GPS and GPS+WIFI/BLE. With this update, the configuration is decoupled: you can now disable outdoor positioning while still using the building detection features.
- Changed the module name in the dokka task to avoid undesired symbols in the doc links.
Version 3.32.3 – September 09, 2025 #
Changed
- When you start positioning and the RealtimeUpdateInterval is BatterySaver, the first locations are uploaded immediately, instead of waiting 30 minutes.
Version 3.32.2 – August 27, 2025 #
Fixed
- Fixed a bug in DirectionsManager that caused the coordinates of the Points in the returned Route object to be inaccurate.
Version 3.32.1 – August 22, 2025 #
Fixed
- Fixed a bug on fetchRemoteConfig() that returned the remote configuration 2 times when already cached.
Version 3.32.0 – July 11, 2025 #
Added
- New method in Poi and PoiCategory getLocalizedName that returns the name of the POI or POI category in the language specified. If there is no name for that language returns the default value.
Version 3.31.2 – June 23, 2025 [STABLE] #
Changed
- Default URL used internally by our SDK changed from dashboard.situm.com to api.situm.com.
Version 3.31.1 – June 11, 2025 #
Fixed
- Resolved an issue that prevented the LOCATION_DISABLED status from being properly notified when Location Services were turned off (on the phone itself), under certain conditions.
Version 3.31.0 – June 06, 2025 #
Changed
- The TIMED_CACHE strategy has been updated to prioritize faster response times, especially in scenarios with poor network connectivity.
- Previous behavior: If the cache had expired, a network request was triggered before returning any data, causing delays while fresh data was fetched.
- New behavior: Cached data is now returned immediately, even if it has expired. If the cache is stale, a background network request is triggered to refresh the data for future use.
Note: This change means that users may not see updates immediately after the cache expires—they’ll be visible on the next call that uses this strategy. However, this trade-off leads to a significantly smoother experience in low-connectivity environments, where waiting for a network response can take considerable time.