Links to the API Reference can be found here
- iOS: Fix probable rare attempt to use OpenGL in background on iOS 12 that would result in a crash
- Navigation: Improve reading of road numbers in US and apply same rules for streetname and road numbers
- Navigation: Correctly separate numbers in Turkish TTS
- Navigation: Fix crash when playing empty audio input
Routing: Apply avoid settings to EV route
When calculating an EV route, avoids would not be applied. This has now been fixed
Routing: Do not compute EV route with online POIs
Sometimes the EV compute would try to look for POIs in online maps and it would result in a crash. This has now been fixed.
Routing: Prefer charging stations which do not break avoid conditions
When avoiding a toll road or a highway, the EV compute algorithm would still look for charging stations that are in an area where the avoid strategy would be broken. This has now been fixed.
Navigation: Snap POR on nearest unclosed road
POIs would sometimes be snapped on a closed road. Therefore they would not be sent via several callbacks. Since this patch, we try to snap the POIs on the closest open road which should assure that all of the POIs on route will be sent in the callbacks.
Routing: Fix EV station filtering for EV compute
Some of the EV stations would sometimes be filtered out of the search due to unexpected attributes. This has now been fixed.
Routing: Unify EV compute compute error results
PathNotFounderror would be produced in some cases when calculating an EV route and one of the Charging waypoints couldn't be reached. The error produced should always be
InsufficientRemainingChargefrom now on.
Map: Restrict crossing from offline to online maps
It would sometimes happen that the offline routing would be tempted to read data from online maps. This would cause crashes before and should be hereby fixed.
Navigation: Do not change railway search distance if setting is changed
Setting a railway search distance would not overwrite it all the time as internal changes were taken into account. This has now been fixed and the value that is set from the interface should remain the final one.
Navigation: Find multiple types of poi on highway road
Some of the algorithms that search for PoIs on route have been tweaked so that they recognize more PoIs.
Navigation: Fix crash when saying special characters using non-TTS voices
Reading of a road number containing a special character by a non-TTS voice would result in a crash. This has now been fixed.
Navigation: Fix getAvailableVoices in offline mode
Requesting available non-TTS voices in offline mode would not return the ones that are already installed. This has been fixed.
Android: Use correct class loader when unmarshalling EVProfile class
This fixes a crash which happened when trying to unmarshall an EVProfile class
Core: Prohibit simultaneous writes to one CRoad object
Random crashes during navigation have been fixed.
Map: Check invalid data in terrain file header to prevent crash
- Map: Fix crash when map is trying to show junction-related information on invalid route
- Map: Fix minor bugs in heightmap when maps are loaded or unloaded
Navigation: Fix crash after the route preview finished
When scout compute would have been triggered after finishing a route preview, the engine would have crashed. This has been fixed.
Navigation: Fix grammatical error in Czech TTS
- Routing: Fix geometry gap in some EV routes
- Routing: Prevent EV engine to sometimes produce invalid routes
iOS: Set global avoids correctly to routing options
When setting "do not avoid unpaved roads" to Routing options, the resulting route would still avoid them. This has been fixed.
Traffic: Fix crash when the traffic engine is trying to add traffic to invalid route
Android: Make ChangeWaypointTargetRoads the default NAP strategy
The Nearest Accessible Point strategy during compute was set to
Disabledwhen creating a default
RoutingOptionsclass on Android. As the default should be
ChangeWaypointTargetRoads, it was made the default one since this patch.
Core: Fix validation of language iso compatibility
- Core: Refactor static iso groups to be const
Navigation: Prefer saying street names instead of road numbers if there is no signpost
An incorrect condition would cause the TTS engine to say road numbers too often even when a street name would be more convenient. We now check if the road number to be said is present in the upcoming signpost.
Android: Fix not resizing map on layout change
Resizing the MapView dynamically would not resize it over 1080p or it would misplace taps. This should be fixed now.
Audio: Fix pairing signpost numbers with road numbers
Signposts announced via TTS should no longer be different from the ones received via the Signpost listener.
Navigation: Update Italian TTS Instructions
Several Italian TTS instructions have been corrected
Online: Fix crash while downloading speed cameras
A rare crash would occur while accessing an array of speed cameras while being already changed by another thread. This should now be fixed.
Routing: Fix random traffic-on-route related crashes
Routing: Fix restoring, recomputing and scouting of offline alternative route
After choosing an alternative route and serializing it, it should no longer occur that another route is computed after deserialization.
Android: Fix crash when restoring EV route
Restoring an EV route that contained charging providers would result in a crash. This has now been fixed.
Android: Fix location update on Xiaomi devices
Several devices had problems with positioning after being in background for some time. This is caused by using the
FusedLocationProviderClientwhich can stop responding after some time. If this happens, we switch to the default
AndroidLocationManagerwhich works fine even in background.
Android: Fix reading installed files from assets and sdk directory (if it is different than application's default directory)
- Map: Fix junction generation
Map: Fix speed cameras related crash
Several un-treated conditions would have caused crashes during the drawing process of speed cameras. This has now been fixed.
Map: Get last data from navigation analyzers when warning handlers are created
After creating a new
MapView, some objects, such as speed limits would not be seen in the new view. This has now been fixed.
Position: Fix interpolation stability
Android: Fix downloading files on some Android systems with SD-Card support
It sometimes happened that the application would stop responding when downloading offline maps on an SD-card on specific devices with Android 11. This has now been fixed and should work properly.
Navigation: Do not report traffic warnings immediately after route has been created and after the route has been canceled
The TTS engine will no longer say "No delays on route" after reaching the finish or "Traffic delay has changed" when starting the navigation as it brought no added value.
Navigation: Fix TTS "Destination is on your left/right" instruction
When the TTS engine announced the destination side, it would say the opposite one. This has now been fixed and the TTS engine should say the correct destination side.
Android: Fix not destroying previous surface when adding new surface
Adding a new custom Surface to MapSurface via the onSurfaceAvailable method would result in an Application Not Responding state because the old mapView wasn't destroyed. This has been fixed.
Map: Use guarded reads when reading LanesInfo
Fixes an occasional crash that might have occured during navigation while reading LanesInfo.
Map: Add default skin set to the active skin sets, if missing
Setting just one skin such as
["night"]would result in a crash. This has been fixed.
Position: Fix trajectory matching with invalid heading
Receiving a GPS signal without a valid heading would result in the position not being able to be matched on the trajectory. This caused problems in one-way roads where the invalid heading would be opposite to the trajectory.
Online: Fix refresh token timer
The token would not be refreshed after expiring, which would cause some online services to stop working. This has now been fixed and the token should be refreshed correctly.
- Context: Fix rare crash while SDK is deinitializing
- Online: Correctly propagate a new Access Token after a refresh session request
- Routing: Fix crash when deserializing a route from JSON on a map that's not loaded
- iOS: Avoid using CATransaction during rendering each frame
- Online: Fix crash when multiple traffic requests are sent simultaneously
- Android: Fix crash in http download initialization
- Map: Read road offsets only for non null roads
- Map: Render watermark on non-production builds
- Navigation: Add missing Cantonese translations
- Navigation: Fix Czech TTS translations
- Core: Return correct operation result for getAvailableVoiceList in case of network/server error
- iOS: Offline speedcams are now downloaded
- MapReader: Extra checks were added to avoid crashes while reading roads from map
- Routing: EV Compute should no longer return invalid geometry when detour starts at first element of route part
- RoutingLib: Fix issue with EV progress sometimes not reporting progress with desired frequency
- Android: Fix AudioTrack creation on M+ systems
- Android: Fix TTS initialization on systems without TTS engine
- Core: Fix crash when context is deinitialized while the initialization is running
- iOS: Fix route compute to use traffic
- Core: Unsubscribe COnlineAuthService from signals when destroying it
- Routing: Fix crash when route has invalid geometry
- Map: Fix crash in lane assist after GPS location jumps backwards
- Routing: Invalid time setting should no longer significantly slow down routing
- Android: Change default timeout for http requests to 10s. Add More HTTP logs
- Map: Read names with currently set language if possible
- Navigation: Ensure that OnPrimaryComputeStarted is triggered before the first progress
- Core: Allocate buffer with null terminator when decoding Base64 string
- Core: Fix issue with reading roads
- Android: Add SygicContextInitResult to proguard
- Android: Do not call onMapInitializationInterrupted on new MapView
- Android: Fix OkHttp logs
- Core: Call correct Parse function when parsing map install resume data
- Core: Fix a few seconds freeze when starting download of more than one country-split map
- Core: Return correct ISO for Kosovo
- iOS: Fix crash when carplay disconnects
- iOS: Fix downloading files which have spaces in URL
- iOS: Limit downloads to max 10 files at once, move downloads creation to another dispatch queue
- Map: Get scaling of images and fonts from the map view they are drawn on
- Navigation: Fix not changing old logistic info settings to defaults
- Navigation: Make didPassWaypoint being called only once per waypoint
- Routing: Do not mark full compute parts as partial
- Routing: Fix parallel route compute
- Route: Fix roundabout instructions where road touches RB in only one point
- Routing: Disable violated restrictions for pedestrian
- Routing: Fix discontinued road elements in route
- Android: Add map matching functionality
- Core: Add caching of selected MapsAPI Responses
- Core: Add option for getting user profile to Online interface
- Core: Add option to clear MapLoader cache
- iOS: Add interface for SetLogisticInfoSettings to SYMapView
- iOS: Add map matching functionality
- iOS: Add possibility to provide Apple user name and email during sign in
- Map: Allow to use background color or image for lane assist view
- Map: Update skin files and textures
- Navigation: Add scout compute settings to json config file
- Navigation: Set waypoint as visited in shorter distance
- Routing: Add possibility to avoid route segments
- Routing: Add rectangle avoids
- Routing: Map matching functionality has been enhanced with additional information
- Routing: Remove maxSpeed from truck profile
- Routing: Routing re-compute can now enforce reconnection to original route
- Routing: Store and load route as route plan
- Search: Set flat data search priorities
Also, the skin has been changed.