26.0¶
Links to the API Reference can be found here
26.0.1 (2024-07-02)¶
Bug Fixes¶
-
Map: Evaluate environmental zones in logistic attributes
If your vehicle's emission category does not conform to the road's minimal category, the road will now be shown as impassable with default NoTruck image.
-
Map: Fix calculation of camera frustum planes making vehicle object invisible
This fixes a case where if the center of the camera is offset, the vehicle indicator would disappear.
-
Map: Fix crash where referenced TextureAtlas was deleted while still in use
- Map: Resolve SkinLoader crash on recource holders reset
- Map: Improve texture atlases management to suppress icons blinking
- Navigation: Fix maneuver from start distance when route has multiple waypoints
- Navigation: Fix truck and RV speedlimits on motorways
- Navigation: Resolve crash on exiting with simulated position
-
Navigation: Use vehicle heading in scout recompute
Use the vehicle heading when searching for a better route.
-
Position: Fix changing speedlimit in tunnel simulation
- Routing: Create instruction for internal intersection only if more than one way is possible
- Routing: Fix wrong U-turn instruction
Features¶
- Android: Add completion callbacks for
setVoice
andplaySample
calls - Android: Add support for KPRA and Wheels count
- Android: Add voltage range support for EV charging
- Android: Bump minSdkVersion to 24
- Android: Change EVECode to
RouteComputeStatus
innEVRangeError
- Android: Convert Java classes from Android Position module to Kotlin
- Android: Extend MapInstaller errors to include native errors
- Android: Improved error handling in MapInstaller
- Android: Navigation Manager inferface was re-written to be asynchronous
- Android: Positioning sync methods replaced with async versions
- Android: Refactor Java classes from Routing module to Kotlin
- Android: Remove deprecated RouteWarning constructors
- Android: Removed deprecated Truck Aid functionality from interface
- Android: Rename
setRestrictionDisplaySettings
function tosetRouteRestrictionSettings
- Android: Remove old route restriction settings methods and classes
- Android: Add
useTraffic
option toRoutingOptions
- iOS: Add support for KPRA and Wheels count
- iOS: Add completion callbacks for SYVoiceCatalog
setCurrentVoice
andplaySample
- iOS: Add
useTraffic
option toSYRoutingOptions
- iOS: Add voltage range parameters to
SYEVConnector
- iOS: Build with Xcode 14.2
- iOS: Make
SYNavigationManager
methods asynchronous, remove deprecated classes - iOS: Make
SYPositioningManager
methods asynchronous - iOS: Make SyMapView initializers nullable
- iOS: Propagate low-level NSError from
SYMapInstaller
to public interface - iOS: Remove deprecated properties from
SYRoute
- iOS: Remove deprecated
RouteWarning
initializing blocks - iOS: Use SygicAuth 2.0
- Navigation: Integrate Incident API version 4 with incident GUIDs instead of legacy IDs
- Navigation: Provide sign post colors in directions interface
-
Online: Accept empty Speed cameras URL in order to disable downloading speedcams database
If the integrator would not like to download the speed camera database by default, it is possible to set an empty url override in JSON config to ensure that the database will not be downloaded.
-
Places: Add unknown value to EV connector type and power type
- Routing: Remove conversion from legacy ITF format
- Routing: Unify routing behaviour across vehicle types
BREAKING CHANGES¶
- iOS: SygicMaps requires SygicAuth 2.0.
- Android: Bumping the minimum Android SDK version from 21 to 24 will break projects that use our SDK and still have minSdkVersion which is less that 24
-
iOS: Remove sync
SYRoute.transitCountries
, use asyncgetTransitCountriesInfoWithCompletion
instead.Remove
SYRoute.options
, useoptions
from request.Remove sync
SYRoute.getRouteGeometry
, use asyncgetRouteGeometryWithAltitude
instead. -
Android: Add error handling for added
MapOutOfSync
error code -
Android: Delete copy constructor of
RoutingOptions
class, use .copy() insteadRemove deprecated synchronous methods
Route.getRouteGeometry()
andgetTransitCountries()
, use asynchronous counterparts instead. Separate route avoids to dedicated class RouteAvoids using public data members instead of numerous getter and setter methods. -
Routing: Deprecated function
Router.CreateBriefJsonFromItfFile()
was deleted, useBriefJson
format instead - Android: Renamed public interface function
setRestrictionDisplaySettings
tosetRouteRestrictionSettings
- Android: Changed parameter type in public interface callback function
onEVRangeError
- Android: Removed deprecated Truck Aid functionality from interface, use Vehicle Aid alternatives instead
- iOS: Framework is now built with Xcode 14.2, which is based on LLVM 14. Newer version of compiler can potentially introduce undesirable behaviour due to different optimizations at compile time.
-
iOS: Completion blocks of
SYMapInstaller
methods deliver NSError instead ofSYMapInstallerResult
.SYMapInstallerDelegate.didFinishResumedInstallWithResult
is replaced withdidFinishResumedInstallWithError
.SYMapInstallerResult
is used as error code for NSError with domainSYMapInstallerErrorDomain
. -
Android: LoadResult was changed from enum class to sealed class
-
Android:
GeoboundingBox.union()
returns new GeoBoudingBox instance instead of changing the calling oneGeoCoordinate's, GeoPosition's and GeoBoundingBox's function
isValid()
is changed to read-only property -
Android: Added new enum values in
RouteRestrictionDisplaySettings.ViolationType
,TrafficSignSettings.SignType
,RestrictionInfo.RestrictionType
- iOS: Change
SyMapView
initializers from nonnull to nullable - iOS:
SYPositioningManager
methods became asynchronous: setting data source, start/stop positioning, start/stop NMEA log.SYPositionDataSource
and all derived classes can be created only with asynchronous methods createWithCompletion. - Android: Replace synchronous methods of position and simulator classes by their asynchronous counterparts.
- Android: Remove/rename deprecated public methods in MapView and MapDataModel and remove old deprecated classes
- iOS: Deprecated RouteWarning initializing blocks have been removed as affected structures are not meant to be constructed by integrators.
- Android: Deprecated RouteWarning constructors have been removed as affected structures are not meant to be constructed by integrators.
- Android: Replace synchronous NavigationManager methods by their asynchronous counterparts
-
iOS: Replace methods of class SYNavigationManager
startNavigationWithRoute
andstopNavigation
with asynchronous versions.Remove property of class SYNavigationManager isNavigating, add property delegate (SYNavigationManagerDelegate) instead.
Replace property of class SYNavigationManager
backgroundNavigationEnabled
with async methods:getBackgroundNavigationEnabledWithCompletion:
,setBackgroundNavigationEnabled:completion:
.Remove property of class SYNavigationManager
batteryStatusUpdateEnabled
(BOOL).Remove deprecated class
SYTruckAidInfo
.Remove deprecated method of protocol SYNavigationDelegate
navigation:didNotifyTruckAid:
.Remove deprecated method of protocol SYNavigationDelegate
navigation:didUpdateIncident:
.Remove deprecated method of protocol SYNavigationAudioFeedbackDelegate
navigation:shouldPlayTruckAidAudioFeedback:
.Replace property of
SYPlaceLink
category with categories (make array instead of single value).Rename method arguments in class
SYRouteExplorer
, change withCompletion to completion.
Changes to the routing interface¶
There have been significant changes to the vehicles used in Routing Options classes that are passed to the RouteRequest. This is to ensure that not only Truck-like vehicles can have dimensional restrictions and to be more in sync with map providers. Vehicle profiles have been created for this purpose. From now on, the Routing Options class accepts a VehicleProfile that consists of several traits:
- General Vehicle Traits
- Hazmat traits
- Dimensional traits
- Powertrain Traits
General Vehicle Traits¶
This category consists of maximal speed, year of manufacture, vehicle type (car/truck/bus/motorcycle/motorhome) and specialized vehicle attributes, such as if the vehicle is taxi or HOV.
Hazmat Traits¶
This category specifies hazardous materials and tunnel restrictions.
Dimensional Traits¶
Here you can set the payload capacity, height, weight, length, width and add additional instances of trailers or semi-trailers which are specified as separate objects having their own attributes (such as number of axles or wheels).
Powertrain Traits¶
This category defines whether the vehicle is electric or has a combustion engine. For the combustion profile, fuel type, emission standard and consumption data can be defined.
The electric powertrain is much more robust, consisting of Battery specifications, charging preferences, connectors and consumption data which all play a role in the Automatic EV Compute.