24.0¶
Links to the API Reference can be found here
24.0.2 (2023-08-21)¶
Bug Fixes¶
- Map: Do not reset previous user traffic sign settings when setting new ones
- Map: Fix crash in circle rendering when height is not available
- Map: Free memory after map cache limits are reached
- Map: Improve performance of City Center labels
- Navigation: Fix memory leak when setting route for navigation
- Navigation: Fix zone radars detection
- Navigation: Remove the dot at the beginning of the warning in all TTS voices
- Navigation: Fix memory leaks that happened in route waypoints
- Places: Properly load and store external IDs of custom places
- Position: Fix memory leak by calling destroy handle for each created road
- Routing: Remove artifacts in EV station route part mapping
- Routing: Update weight on waypoints in EV compute mode
- Search: Fix crash caused by multiple launches reindexing over single dataset
- Search: Fix potential indexing crash caused by invalid path for custom places index
24.0.0 (2023-07-26)¶
Bug Fixes¶
-
Android: Fix removeMapObject removing object with wrong ID
Fixes a a bug where some map objects would remain visible after calling
removeMapObject()
on them. -
Android: Suppress map flickering for all Mali-GXX chips on android 12 or higher
-
Audio: Fix TTS lang codes
Fixes a bug where TTS translations would not be available for some languages.
-
Core: Fix truncating long UTF strings
Fixes a crash when the UTF string would be incorrectly truncated.
-
Core: Store compiled OpenGL shaders to reduce memory leaks in OpenGL driver
Fixes a bug where the OpenGL driver would leak memory on Android platform after switching between foregroung and background multiple times.
-
iOS: Fix crash if SYNavigationObserver is destroyed inside of another SYNavigationObserver delegate
- Map: Fix reading road offsets
- Map: Fix downloading maps when root path is on different partition than trusted root path
- Navigation: Fix order of the transit countries on route
- Position: Use only gps heading for vehicle animation in Dead Reckoning mode
-
Routing: Fix cancel route compute
It would sometimes happen that the alternative routes would not be correctly canceled. This should no longer happen.
-
Routing: Fix crash when online route doesn't have geometry of an avoid restriction
- Routing: Fix multiple issues with automatic and manual charging via points
- Routing: Fix negative battery SoC on last way-points
- Routing: Make EV cost of boat ferries to be zero kWh
Features¶
-
Android: Add Android interface for the new consumption curve
Adds a new interface for the consumption curve, which allows you to set the consumption curve for all vehicles. This only works when choosing an economic route. You can find the
consumptionData
in theRoutingOptions()
class. -
Android: Add datasets support to CustomPlacesManager
It is now possible to have multiple datasets of custom places and switch between them.
-
Android: Add option to change vehicle weight on waypoint
From now on it is possible to change the weight of the vehicle on a waypoint. This is useful when planning a route with multiple waypoints where the vehicle weight changes. The route from the waypoint is calculated according to the weight that is set at the waypoint.
-
Android: Add support for custom places offline search with datasets
To support the new Custom Places datasets completely, it was necessary to re-work the search mechanism. This introduced a Breaking Change, where the
CustomPlacesSearchIndexingListener
now has a new parameterdataset
. -
Android: Add support for installing map bundle from local folder
Should you need to install offline maps from local data, you can now do so by using a MapBundle. This is useful when you need to install maps from a local folder, for example when you need to install maps from a USB drive. This makes it possible for you to install maps from a local folder, without having to download them from the internet. The maps will be fully functional and "synced" with the server once you connect to the internet. That means if the maps in the bundle are from May 2023 and the most recent maps on the server are also from May 2023, the check for updates function will not notify about a newer update. Please note that the MapBundle has to have a specific structure and has to be generated by the Sygic team.
-
Android: Use shared preferences for secure content storage and other settings
-
iOS: Add consumption curve to be able to compute eco route
Adds a new interface for the consumption curve, which allows you to set the consumption curve for all vehicles. This only works when choosing an economic route. You can find the
consumptionCurve
in theSYRoutingOptions()
class. -
iOS: Add datasets support to SYCustomPlacesManager
It is now possible to have multiple datasets of custom places and switch between them.
-
iOS: Add option to change vehicle weight on waypoint
From now on it is possible to change the weight of the vehicle on a waypoint. This is useful when planning a route with multiple waypoints where the vehicle weight changes. The route from the waypoint is calculated according to the weight that is set at the waypoint.
-
iOS: Add possibility to search in specific custom places datasets
-
iOS: Add support for installing map bundle from local folder
Should you need to install offline maps from local data, you can now do so by using a MapBundle. This is useful when you need to install maps from a local folder, for example when you need to install maps from a USB drive. This makes it possible for you to install maps from a local folder, without having to download them from the internet. The maps will be fully functional and "synced" with the server once you connect to the internet. That means if the maps in the bundle are from May 2023 and the most recent maps on the server are also from May 2023, the check for updates function will not notify about a newer update. Please note that the MapBundle has to have a specific structure and has to be generated by the Sygic team.
-
Map: Add bundle-compatible localization feature to Map Installer
- Map: Add support for installing map bundle from local folder
-
Routing: Add ability to enforce EV preferences
It is now possible to "enforce" some of the EV preferences. As of now, the route is calculated even if some of the charging stations do not meet the preference criteria and returns a Success with warnings status. However, if you enforce the power range and the engine does not find a suitable charging station on the route, the route calculation will fail.
-
Routing: Allow setting consumption curve for all vehicles
- Routing: Allow to change vehicle weight on waypoints
BREAKING CHANGES¶
- Map: Removed deprecated map installer metadata processing. When migrating from SDK 16 and older, maps will be processed without metadata.
- Android: Removed support for EncryptedSharedPreferences. Maps installed with secure content enabled won't work and have to be reinstalled
- Android: New parameter (
dataset
) was added forCustomPlacesSearchIndexingListener
methods -
iOS: Parameter (
datasetId
) was added toSYCustomPlacesSearch
andSYOnlineMapSearch
creation andSYCustomPlacesManagerDelegate
methods.getCategoriesWithCompletion
is no longer available. You can get the categories by callinggetInstalledDatasets
and each dataset has its own categories member.The ID of the default dataset is "bf19e514-487b-43c4-b0df-9073b2397dd1"
-
iOS: Installation of custom places via
SYCustomPlacesManager
requires a new parameter: dataset.Swift: custom places error codes and error domains are available under
SYCustomPlacesError
. -
Android: Removed methods without dataset parameter from CustomPlacesManager. Use methods with dataset parameter instead.
installOfflinePlaces
has been changed toinstallOfflineDatasets
getInstalledCountries
has been changed togetInstalledDatasets
InstalledCountriesListener
has been changed toInstalledDatasetListener
The ID of the default dataset is "bf19e514-487b-43c4-b0df-9073b2397dd1"
Also, the
getCategories()
function no longer exists. You can get the categories by callinggetInstalledDatasets()
and each dataset has its own categories member. -
Routing: Naming of couple of attributes in EV Preferences has been slightly modified
enforceDCChargers
->preferDCChargers
enforceNonstopChargers
->preferNonstopChargers