Skip to content

21.5

Links to the API Reference can be found here

21.5.3 (2023-04-03)

Bug Fixes

  • Map: Fix crash in heightmap calculation

21.5.2 (2023-03-07)

Bug Fixes

  • Routing: Fix endless recompute if there's faraway traffic

21.5.1 (2023-02-22)

Bug Fixes

  • Android: Fix MapView state serialization and deserialization
  • Core: Fix crash when parsing invalid JSON in downloader
  • Map: Add more precise synchronization and state checking to height map cells processing
  • Map: Calculate font size for an unscaled extent of a traffic sign label
  • Map: Fix crash caused by data race in loading of roads in asynchronous threads
  • Map: Stabilize visibility of logistic signs using visibility time ordering and rectangle size hysteresis
  • Navigation: Correctly count side roads on left or right to instruction
  • Navigation: Fix broken route object in notification caused by thread race
  • Navigation: Fix duplicate exit highway instructions
  • Routing: Call online routing with correct compute type
  • Routing: Recompute multiple route parts if needed due to traffic closures
  • Routing: Terminate EV compute if no station is reachable
  • Traffic: Don't read the same road tiles multiple times when parsing OpenLR tile

21.5.0 (2023-02-07)

Bug Fixes

  • Android: Fix crash when using EV consumption curve on Android API 30+
  • Android: Fix TTS engine being deinitialized forever

    Fixed a rare occasion in which TTSAndroid would throw DeadObjectException.

  • iOS: Fix empty result of SYRouting computeRouteDurations

    The method computeRouteDurations now works properly and returns a full list of requested times.

  • iOS: Fix rare crash in getRouteProgress

  • Map: Allow to change 2D/3D view in autozoom junction approach
  • Map: Fix unnecessary addition of daylight saving time

    When calculating a route multiple times and using different overridden start times, the daylight saving time would be added even in the cases where it was not applicable.

  • Navigation: Add missing instruction on bifurcations

  • Navigation: Fix duplicate danger turn warnings
  • Navigation: Fix incorrect exit instruction in a roundabout
  • Navigation: Fix other instruction issues
  • Places: Handle http client errors in custom places install
  • Places: Upgrade custom places database with handle column missing
  • Routing: Do not fetch traffic around every waypoint

    When computing a route, only the traffic around the starting point will be taken into account by the routing engine as it is probable that traffic events that are far away (not including closures) will be gone by the time the driver reaches the place.

  • Routing: Pass direction of arrival to SRL

    From now on, the side on which the destination point is located will be taken into account when computing a route. Therefore, if possible, the destination will always be reached in the driving direction.

Features

  • Android: Add a listener to receive search indexing operation callbacks

    It is now possible to register a listener which informs you about the on-device indexing of imported/downloaded Custom Places. This is important so that the integrator knows when the Custom Places search is available.

    Added CustomPlacesSearchIndexingListener that can be added to the manager like this: CustomPlacesManagerProvider.getInstance().get().addSearchIndexingListener(yourListenerObject) This listener returns onStarted() when a change is made to the Custom Places database. When the indexing is finished, either onSuccess() or onError() callbacks will be called. Note that the callbacks are called for the indexing operation as a whole, so you may receive the callbacks either once (for example when importing more than one bigger JSON, the indexing will most probably take more than importing) or more times (when the indexing operation finishes sooner than the next batch of Custom Places is imported).

  • Android: Update Compile SDK version and target SDK version 33. Gradle Plugin 7.4.0. Gradle wrapper 7.6.

  • Android: Update dependencies to newer versions

    Due to several CVE vulnerabilities, we have decided to update most of our project's dependencies. The most notable is: Kotlin 1.5.32 -> 1.7.21.

    Warning

    If you are using com.google.android.gms:play-services-location:version in your app, it is necessary that you update this dependency to version 21.0.1 or higher. There has been a breaking change in the library. Using an older version of the library will cause a crash of the application.

  • iOS: Add SYCustomPlacesManagerDelegate with callbacks for start/finish indexing

    It is now possible to register a delegate which informs you about the on-device indexing of imported/downloaded Custom Places. This is important so that the integrator knows when the Custom Places search is available.

    Create a new object or add the new SYCustomPlacesManagerDelegate to an existing object. This delegate implements two new callbacks customPlacesManagerDidStartCreatingSearchIndex(manager) and customPlacesManager(manager, didFinishCreatingSearchIndexWithError). To use it, assign the object to the delegate: SYCustomPlacesManager.shared().delegate = theObject. It is necessary to hold the reference to the object as the manager only hold it as a weak reference.

    Note that the callbacks are called for the indexing operation as a whole, so you may receive the callbacks either once (for example when importing more than one bigger JSON, the indexing will most probably take more than importing) or more times (when the indexing operation finishes sooner than the next batch of Custom Places is imported).

  • iOS: Add turn preference setting to SYRoutingOptions

    You can now choose/let the user choose whether it is preferred to use right turns (left turns in UK, Australia) or turns that cross the crossroads. More information here

    Info

    In Android, this feature is available since SDK 21.4.0.

  • Map: Do not draw disputed borders from WCL by default

    When using certain versions of WCL, disputed borders of countries can be drawn on the map. However, this should only be enabled on demand. Should you need to enable this feature, please contact us.

  • Navigation: Add new Ukrainian TTS commands

  • Routing: Return specific error when map is not available

    When using offline mode and trying to compute a route to GeoCoordinates that are located in a place where offline maps are not downloaded, an error MapNotAvailable will be thrown.

  • Search: Add option to get local time in country based on position and utc time

    Added a new feature using which it is possible to retrieve the time zone of a location in order to be able to calculate ETA if the destination is in a different time zone.

    Android reference

    iOS reference