Change Log

15.0.3 (2019-10-30)

Bug Fixes

  • Android: Fix create incident link crash
  • Android: Fix deadlock when SygicContext.getInstance notify listener which transitively calls mainthread from SDK dispatcher sync call
  • Android: Fix jni ProxyPlaceData class name
  • Android: Fix Android voice instructions
  • Android: Fix incident manager error handling
  • Android: Fix kotlin libs versions to use JDK 8
  • Android: Fix proguard rule for MediaType class
  • Android: Remove Licensing class from the interface
  • Android: Add WariningsSettings POR and POI getters and setters
  • Android: Add WaypoinPass analyzer notification
  • Android: Simple lane search fix
  • Audio: Fix occasional deadlock during audio play
  • Audio: Fix adding/removing audio listeners
  • Audio: Fix crash while exiting app and playing instruction on ios
  • Core: Fix crash when unsupported incident type appears. Fix SchoolZone misspelling.
  • Core: Fix remaining occurencies of operation runner handling
  • Core: Fix road reader big allocations caused by corrupted data
  • Core: Fix simulation stopping on rotation
  • Core: Fix max line count handling in multilang table
  • Core: Notify internal modules first before external modules during initialization
  • Core: Partial trajectory is matched on splitted parts of minimal length
  • Core: Postpone operation execution after callback registration
  • Core: Time intervals weekday fix
  • Core: Timer Fix in case of explicit Fire calls
  • Core: Use thread safe version of time system api functions
  • Core: Wrong iso won't crash application
  • Interface: Android interface Incident manager method argument fix
  • Interface: Fix transaction too large exception by not storing the rote data to the bundle
  • Interface: Do not use the .Get() method while creating incidents info object
  • Interface: Migrate incident types from SY_ prefix
  • Interface: Fix misspelled member name in RouteInfo object from "mDurationIndeal" to "mDurationIdeal"
  • Interface: Fix null pointer exception during navigation with no AudioEventListener's
  • Interface: Fix places and incidents interface naming consistency issues
  • Interface: Fix resume simulation after screen rotation
  • Interface: Fix missing route number format in signpost info
  • Interface: Fix transport mode initialization in route progress info
  • Interface: Delete unsupported navigation types
  • iOS: Add bluetooth central manager initialization with first usage
  • iOS: Fix places mamanger error handling
  • iOS: SYPositioning observer starts PositioningManager with default dataSource
  • iOS: GetRouteProgress returns nil if navigation is not in progress, RouteProgress transportMode default value is Unknown
  • iOS: SYCameraProperties changed to from struct to class
  • iOS: SYMapCameraDelegate protocol methods renamed from mapViewXXX to mapCameraXXX
  • iOS: Incident detils SYPair replaced by dictionary
  • iOS: SYRequestResultState replaced with NSError
  • Map: Allow to define different text styles for each logistic sign
  • Map: Autozoom is initialized even when there is no imminent location
  • Map: Fix crash during map download on Android
  • Map: Disable ninepatch image downscale to prevent corruption for config extraction
  • Map: Don't show restriction on road when vehicle limit is the same as road limit
  • Map: Fix camera clipping through the terrain
  • Map: Fix crash when online incidents are deinitialized
  • Map: Fix duplicate keys for route geometry for different segments
  • Map: Fix improper normal map tiles calculation causing asserts in openGL
  • Map: Fix out of range vector in polyline object
  • Map: Fix road sign color for one digit national roads in Poland
  • Map: Fix size reporting for path geometry
  • Map: Fix typo and constructor list ordering in path geometry test
  • Map: Fix issue with invalid camera distance numeric value in vehicle size computation
  • Map: Fix rendering of map smart label with image
  • Map: Fix 3d junction geometry generation
  • Map: Fix traffic icon types
  • Map: Generate correct long polyline parts
  • Map: Proper color of road signs for national roads in Poland
  • Map: Fix traffic labels to work in multiple views
  • Map: Show road truck restrictions for bus too
  • Map: Fix Traffic on Route visualization in edge cases
  • Map: Fix white junction arrows
  • Maps: Add check against loading one map region twice
  • Navigation: Add option to load incident detail by ID
  • Navigation: Fix RemoveBetterRouteListener crash on Android
  • Navigation: CreateExternalIncidentId returns int32 as 4 bytes vector
  • Navigation: Fix in vehicle interpolator causing freeze
  • Navigation: Fix of route position simulator data source handling
  • Navigation: Fix starting and stopping of gps device
  • Navigation: Fix undeterministic Poi and waypoint on route search with online route
  • Navigation: Fix wrong roundabout exit number
  • Navigation: Fix trajectory invalidation for all instances after it is cleared
  • Navigation: Laneinfo arrow array is filled with eNoDirIndicated
  • Navigation: Change Navigation didPassWaypoint delegate name to didPassWaypointWithIndex
  • Navigation: Fix Possible call stack overflow for offline map
  • Navigation: Fix reading speedlimit in interval when start is higher than to[(h23){h6}]
  • Navigation: Fix reading speedlimit in time and direction in time for online map
  • Navigation: Fix route explorer progress and intermediate results notification
  • Navigation: Route explorer traffic returns error ServiceDisabled correctly
  • Navigation: Speedlimit analyzer wil reset after 15sec timeout
  • Navigation: Turn off recompute after finish reach
  • Navigation: Fix vehicle matching for online route without internet connection
  • Navigation: Zoom out the view more near junctions
  • Navigation: WaypoinPass analyzer is always on
  • Places: Fix missing custom category/grup places
  • Position: Fix vehicle snapping to oposite direction on highways
  • Routing: CalculateRoutes doesn't block ui thread
  • Routing: Active avoids are not send by server anymore
  • Routing: Fix alternative route recompute and selection during recompute event
  • Routing: Fix random junction information reported to user after recompute
  • Routing: Remove recursion from map connection check before offline routing
  • Routing: Routing should no longer signal multiple times that alternative is ready
  • Search: Add city center name to title of a house number result having no street
  • Search: Add coordinates and boundary of respective city to category result
  • Search: Fix incorrect handling of online location ID
  • Search: Fix crash when map provider not being set
  • Search: Fix missing place category and group in PlaceCategory/Group search result
  • Search: Fix multiparent parser returning invalid index on compressed parent interval
  • Search: Fix POI category invalid parent city
  • Search: Fix iOS interface reverse search detail nullable strings
  • Search: Percent-encode all string parameters of a query
  • Search: Prevent search from defaulting to system language
  • Search: Remove timestamp and category from history result
  • Traffic: Automatically avoid blocked or closed traffic
  • Traffic: Fix late inicialization of traffic causing invisible offline map traffic

Features

  • Android: Add geographic bounding box of route polyline from current position to end position to RouteProgress
  • Android: Add status parameter to RouteUpdated callback
  • Android: Explore places on route callback method
  • Android: Add None option to filter type in search request
  • Android: Add Place request with optional parameters
  • Core: Add unexpected end of stream exception
  • Core: Redesigned incidents interface
  • Core: Redesigned place interface
  • Core: SearchPlaces now supports none fiter type
  • Interface: Extend LogisticInfoSettings with more properties
  • Interface: Extract proxy methods to ProxyObjectManager
  • Interface: MapView model minor refactor
  • Interface: Method to get links from proxy objects extracted to ProxyObjectsManager
  • Interface: Safe initialization of managers
  • iOS: Add geographic bounding box of route polyline from current position to end position to RouteProgress
  • iOS: Explore places on route callback method
  • iOS: Incidents manager error handling
  • iOS: Add incidents proxy load link error handling
  • iOS: Redesigned places interface
  • iOS: Add place group and place detail key constants
  • iOS: Add places proxy load link error handling
  • iOS: SYGeoCoordinate initializers chenged from nullable to nonnull
  • iOS: SYPair implements NSCopying protocol for better usage within swift structures
  • Map: Add startup_online_maps_enabled to configuration
  • Map: Add support for new landmark texture format resulting in lower size
  • Map: Add possibility to call custom render loop
  • Map: Add city center loader with callback
  • Map: Redesigned licensing for online/offline maps
  • Map: Add checks to CMapFile for filename nullptr
  • Navigation: Add ExplorePlacesOnRoute function
  • Navigation: Redesign iOS navigation observer
  • Navigation: Redesigned search interface
  • Navigation: Navigation manager notify about navigation route recomputing and sets recomputed route to navigation automatically
  • Navigation: New navigation warnings design
  • Places: Replace Places interface with new one
  • Positioning: iOS interface SYPositioning changed from singleton to instances, added SYPositioningManager singleton instance to handle positioning dataSource and position logging
  • Routing: Add compute type to request header
  • Routing: Add support for street numbers for online instructions
  • Routing: Apply license to routing service
  • Routing: Remove api_key for online directions service, service using token
  • Routing: Switch online routing service from api_key oriented to authenticated session
  • Search: Add location id implementation for coordinate results
  • Search: Add source id to search results
  • Search: Apply license to search service
  • Search: Redesign atocomplete and geocode CPP interface
  • Search: Enable search request cancellation
  • Search: Implement flat data geocoding
  • Search: Replace unsupported map reader calls
  • Traffic: Redesign traffic interface

Performance Improvements

  • Map: Move number of strings saved in map files
  • Map: Reduce allocations rendering roads
  • Search: Limit number of cities in postal result output

BREAKING CHANGES

  • Search: Search::Search() and GetDetail() have been removed from CPP interface.
    To migrate your project, please replace these methods with Autocomplete() and Geocode() from SearchManager
  • iOS: Camera protocol methods renamed to not collide with old deprecated SYMapViewDelegate methods.
  • iOS: SYCameraProperties should be visible on swift interface as NSObject subclass
  • Android: Place request paremeters order has changed and some parameters are optional now
  • iOS: - SYPair replaced by NSDictionary to Fix undefined behavior of key and value properties
  • Navigation: Warnings have been renamed as Route event notifications. OnRouteInfo/RouteInfo analyzer has been removed and route informations has been moved to route progress concept.
    Information about analyzer progress is no longer included in route event notification. Option to analyze whole route from start to finish is now available via Route Explorer. Route Explorer provides
    traffic, incident and places exploration.
  • Positioning: - SYPositioning changed from singleton to instance
  • SYPositioning handles only position updated events
  • SYPositioningManager singleton
  • SYPositioningManager is responsible for positioning datasource, background updating and position logging
  • lastKnownPosition is now static function on SYPosition class
  • Places: Places interface has been completely replaced by new one. Now Place can be referenced by PlaceLink data type and described by Place data type. Results from navigation warnings or results from Search implements PlaceLink interface and Place can be loaded via PlaceManager.
  • Route progress changed from notification to sync method.
  • Interface: - removed duplicated method to get PlaceLink, CityLink and IncidentLink from ProxyObjects (Shared PlaceManager and shared IncitentsMAnager method should be used instead)
  • iOS interface SYProxyPlace, SYProxyCity and SYProxyIncident method extracted to SYProxyObjectsManager