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
setVoiceandplaySamplecalls - 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
RouteComputeStatusinnEVRangeError - 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
setRestrictionDisplaySettingsfunction tosetRouteRestrictionSettings - Android: Remove old route restriction settings methods and classes
- Android: Add
useTrafficoption toRoutingOptions - iOS: Add support for KPRA and Wheels count
- iOS: Add completion callbacks for SYVoiceCatalog
setCurrentVoiceandplaySample - iOS: Add
useTrafficoption toSYRoutingOptions - iOS: Add voltage range parameters to
SYEVConnector - iOS: Build with Xcode 14.2
- iOS: Make
SYNavigationManagermethods asynchronous, remove deprecated classes - iOS: Make
SYPositioningManagermethods asynchronous - iOS: Make SyMapView initializers nullable
- iOS: Propagate low-level NSError from
SYMapInstallerto public interface - iOS: Remove deprecated properties from
SYRoute - iOS: Remove deprecated
RouteWarninginitializing 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 asyncgetTransitCountriesInfoWithCompletioninstead.Remove
SYRoute.options, useoptionsfrom request.Remove sync
SYRoute.getRouteGeometry, use asyncgetRouteGeometryWithAltitudeinstead. -
Android: Add error handling for added
MapOutOfSyncerror code -
Android: Delete copy constructor of
RoutingOptionsclass, 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, useBriefJsonformat instead - Android: Renamed public interface function
setRestrictionDisplaySettingstosetRouteRestrictionSettings - 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
SYMapInstallermethods deliver NSError instead ofSYMapInstallerResult.SYMapInstallerDelegate.didFinishResumedInstallWithResultis replaced withdidFinishResumedInstallWithError.SYMapInstallerResultis 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
SyMapViewinitializers from nonnull to nullable - iOS:
SYPositioningManagermethods became asynchronous: setting data source, start/stop positioning, start/stop NMEA log.SYPositionDataSourceand 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
startNavigationWithRouteandstopNavigationwith asynchronous versions.Remove property of class SYNavigationManager isNavigating, add property delegate (SYNavigationManagerDelegate) instead.
Replace property of class SYNavigationManager
backgroundNavigationEnabledwith 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
SYPlaceLinkcategory 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.