- Version 3.8.0 -November 27,2023
- Version 3.7.0 -November 20,2023
- Version 3.6.0 -November 15,2023
- Version 3.5.3 -November 06,2023
- Version 3.5.2 -October 31,2023
- Version 3.5.1 -October 26,2023
- Version 3.5.0 -October 25,2023
- Version 3.4.0 - October 19, 2023
- Version 3.3.1 - October 16, 2023 [Stable]
- Version 3.3.0 - October 11, 2023
- Version 3.2.0 - September 21, 2023
- Version 3.1.2 - September 05, 2023
- Version 3.1.1 -August 11,2023
- Version 3.1.0 - August 04, 2023
- Version 3.0.1 - July 18, 2023
- Version 3.0.0 - July 7, 2023
Version 3.8.0 -November 27,2023 #
Added
- Added a new method LocationRequest.Builder#foregroundServiceNotificationOptions(…) to customize the Notification shown in the foreground mode.
- Added a new “stop” button to the Foreground Service Notification, to stop positioning from the Notification UI. The button is disabled by default and can be enabled using the new method foregroundServiceNotificationOptions(…).
Version 3.7.0 -November 20,2023 #
Added
- New methods in MapViewConfiguration setRemoteIdentifier(String) and setViewerDomain(String)
- setRemoteIdentifier: Allows you to specify the ID of the map settings. This ID is provided by Situm upon request.
- setViewerDomain: Allows you to specify the URL of the MapViewer (default: https://map-viewer.situm.com).
Deprecated
- Methods setConfigurationIdentifier and setBaseUrl in MapViewConfiguration. You should use the methods added in this version instead.
Version 3.6.0 -November 15,2023 #
Added
- New method CommunicationManager.fetchIndoorPOIFromBuilding(…) to fetch a single POI. Also added a new Error HTTP_NOT_FOUND to the CommunicationManager domain.
- New method Poi.getCategories() that returns the list of categories the POI belongs to.
- Also added two method to obtain category identifiers from a POI, Poi.getCategoryIdentifier and Poi.getCategoryIdentifiers.
Changed
- The position adjustment is now decoupled from the orientation adjustment. If the distance from the calculated pose to the route is less than RouteAdjustment.distanceThreshold, the position will always be projected onto the route. The orientation will only be forced to align with the route direction if the position is projected onto the route and the difference between the bearing and the route direction is less than RouteAdjustment.angleDifferenceThreshold.
- Improved flexibility in PoiCategory.equals() method, allowing for a more relaxed comparison where matching the default category name is sufficient, irrespective of variations in alternative languages.
Fixed
- Leaked file stream at `StreamFile`.
Version 3.5.3 -November 06,2023 #
Changed
- Reduced time to obtain the first position.
Version 3.5.2 -October 31,2023 #
Changed
- Improves positioning performance when starting to follow a route. With this, the Map Viewer is able to adjust the location & orientation to the route smoothly. The routeAdjustement feature was broken from release 3.3.0. You can learn how to configure how the position is adjusted to the route from here.
Fix
- Corrected some polish translations.
Version 3.5.1 -October 26,2023 #
Changed
- From iOS Version 3.2.3 and Android version 3.5.1 routes behave the same on both platforms.
Version 3.5.0 -October 25,2023 #
WARNING: this version contains breaking changes.
Added
- Introduced a new method Configuration.setLanguageFromSystem(Context context) to automatically set the cartography translation language based on the current system language (when configured in the dashboard).
Changed
- Performance enhancements:
- Reduced the time to obtain the first position.
- Reduced the load times in all the CommunicationManager method calls.
- Behavior change: adjusted the behavior of Configuration.setLanguage to default to an empty value. This change ensures that the SDK does not utilize any specific language preference by default. Before this change, the device language was used by default.
- Cache max age adjustment: changed the default maximum cache age from 5 seconds to 1 hour for improved data management.
Deprecated
- Deprecated the getUpdatedAt and getCreatedAt methods for all model classes. Do not use these methods as they may not return the expected values.
Version 3.4.0 – October 19, 2023 #
Changed
- Updated Altbeacon library to version 2.19.5
- Improved the beacon scanning when useForegroundService is not enabled.
- The behaviour added in version 2.86.0 was removed. Now the positioning won’t restart when the app goes to background and returns to foreground. It is no longer necessary with the improvements to the beacon scanning
Version 3.3.1 – October 16, 2023 [Stable] #
Added
- New polish translation.
Version 3.3.0 – October 11, 2023 #
Changed
- We are pleased to announce that we have drastically improved route calculation algorithm for significantly enhanced performance. No action required from integrators as all enhancements have been seamlessly implemented internally.
Version 3.2.0 – September 21, 2023 #
Added
- Added new method callbacks to the NavigationListener interface. These new methods have a default empty implementation that aims to mitigate compatibility breaks. Default methods are available from Java 8 onwards so compatibility breakage could occur.
- onStart(Route): new method callback called when the navigation actually starts after a call to requestNavigationUpdates(…).
- onCancellation(): new callback called when the navigation is cancelled due to a call to removeUpdates().
- Added new methods to NavigationManager:
- addNavigationListener(NavigationListener), removeNavigationListener(NavigationListener), removeAllNavigationListeners(): add and remove listeners to the current navigation.
- requestNavigationUpdates(NavigationRequest): this overload of requestNavigationUpdates(NavigationRequest, NavigationListener) allows you to start navigation without passing a navigation listener.
- requestNavigationUpdates(NavigationRequest, DirectionsRequest, Handler): this is an overload of requestNavigationUpdates(NavigationRequest, NavigationListener) that calculates the route for you and automatically starts navigation when the route is obtained. Also you will not need to call NavigationManager#updateWithLocation(Location) as the SDK will do it internally.
Changed
- Until now, the Android SDK continued to respond with true to calls to NavigationManager#isRunning() after reaching the destination. However, reaching the destination now implies that navigation stops correctly, and isRunning() will return false as expected.
Version 3.1.2 – September 05, 2023 #
Deprecated
- MotionMode BY_FOOT_VISUAL_ODOMETRY and VEHICLE_VISUAL_ODOMETRY are now deprecated and if selected they will be changed to BY_FOOT
Removed
- ARCore library from the dependencies
Version 3.1.1 -August 11,2023 #
Changed
- Use the route information to improve the calculation of the user’s position.
- The parameters useRouteAdjustment, distanceThreshold and angleDifferenceThreshold used to improve the route guidance experience can be modified from the Remote Configuration.
Version 3.1.0 – August 04, 2023 #
Added
- Early support for Android 14. Previously, the SDK crashed in this version. Please bear in mind that Android 14 is not stable yet, therefore new issues might appear in the future.
- Method LocationRequest.avoidDoze and status LocationStatus.ALARM_PERMISSIONS_NEEDED_TO_AVOID_DOZE have been introduced. This allows you to prevent Doze mode from activating in your device. Previously, this was done internally by the SDK when needed, but this is no longer possible / advisable in Android 14. Using this configuration (avoiding Doze mode) is not recommended in most cases (except some tracking special cases), so you shouldn’t use it in general. If you want to know more about Doze Mode you can check these Android docs.
Removed
- Permission SCHEDULE_EXACT_ALARMS is no longer declared by the SDK.
Version 3.0.1 – July 18, 2023 #
Changed
- Improved positioning when the user is following a route and decides to ignore it in order to go in another direction.
Added
- Added experimental parameters useRouteAdjustment, distanceThreshold and angleDifferenceThreshold that allow the user’s position and orientation to be adjusted to the route being followed.
Version 3.0.0 – July 7, 2023 #
Introducing the new Situm SDK 3.0.
We are thrilled to announce the release of Situm SDK 3.0, which implies a significant architectural change in our SDK. With this update, we have integrated the previous UI standalone solution Wayfinding library directly into the SDK. This integration aims to streamline the development process and provide a more cohesive and comprehensive solution.
Furthermore we have introduced a remarkable evolution and improvement upon the Wayfinding library with the addition of the MapView component, powered by the new Situm Map Viewer. We’ve been listening to our customers’ feedback, and we have incorporated a wide range of enhancements based on your valuable input. Checkout the Situm page for further details.
As this library includes significant changes, compatibility with previous versions has been broken. We understand that transitioning to a new library may require some adjustments. To facilitate a smooth migration process, we have prepared comprehensive documentation:
We are incredibly grateful for your continued support and trust in our library. Situm SDK 3.0 represents our commitment to empowering developers with the most advanced tools and ensuring a brighter future for your software development endeavors.
Thank you for being part of this exciting journey with us!
Added
- The new Situm SDK 3.0 introduces a new visual component, MapView to provide interactive maps within your application. The MapView allows you to show indoor maps of your buildings on your app! It is a fully interactive Android View with improved capabilities:
- Intuitive Guidance with Dynamic and Static Navigation.
- Advanced POI Display Based on Zoom Level and Density.
- “What’s Nearby” Exploration Made Easy with Category & Subcategory Filtering, and POI search.
- POI information visualization.
- Tailored User Experience with High Configurability.
- Out of the box support for raster floorplans, raster tiles and GeoJSON/IMDF floorplans.
- Multilingual Interface.
- This new version lays the foundation for future improvements, specifically enabling full 3D maps and even augmented reality capabilities.
- Introduced MapViewController, a class that acts as a controller for MapView and manages user interactions and map data.