Releases: smartdevicelink/sdl_core
Hotfix Release 6.1.1
Supported Specifications
- SDL Mobile RPC Spec: Version 6.0.0
- SDL Protocol Spec: Version 5.2.0 (minimum 2.0.0)
Bug Fixes
Release 6.1.0
Supported Specifications
- SDL Mobile RPC Spec: Version 6.0.0
- SDL Protocol Spec: Version 5.2.0 (minimum 2.0.0)
Completed Features
Completed Bug Fixes/Enhancements
-
SDL Core crash after quickly and repeatedly connect/disconnect USB cable
-
SDL Crash - SIGABRT during execution of transport_manager unit tests
-
End session handler returns
hashId
as a rejected parameter regardless of the service type -
Fix issue where building the logger would rebuild all other 3rd party libraries
-
PerformInteraction only forwards second set of parameters to mobile
-
SDL does not stop streaming from mobile app with NOT_STREAMABLE state
-
SDL does not support attribute "until" for any element in Mobile_API
-
SDL doesn't increment 'count_of_rejections_duplicate_name' counter
-
SDL incorrectly assigns default permissions for an app if they were defined in preloaded
-
SDL unregisters streaming app if it's deactivated/activated during
StopStreamingTimeout
-
Sometimes SDL doesn't send OnSystemRequest(LOCK_SCREEN_ICON_URL)
Documentation
Hotfix Release 6.0.1
Supported Specifications
- SDL Mobile RPC Spec: Version 6.0.0
- SDL Protocol Spec: Version 5.2.0 (minimum 2.0.0)
Bug Fixes
- SDL switches applications into incorrect HMILevel after IGNITION_OFF/IGNITION_ON cycle #3111
- SDL Crash - SegFault during execution of transport_manager unit tests #3110
- Fix vehicle data schema items in the preloaded PT #3129
- SDL Crash - After all apps exited #3108
- hybrid_app_preference is not applied #3130
Release 6.0.0
Supported Specifications
- SDL Mobile RPC Spec: Version 6.0.0
- SDL Protocol Spec: Version 5.2.0 (minimum 2.0.0)
Completed Features
-
[SDL 0221] Remote Control - Allow Multiple Modules per Module Type
-
[SDL 0204] Support running the same app from multiple devices at the same time
-
[SDL 0223] Add Currently Playing Media Image to MediaServiceData
-
[SDL 0213] Remote Control - Radio and Climate Parameter Update
-
[SDL 0212] Add Ability to Reuse a SyncFileName for a PutFile
Completed Bug Fixes/Enhancements
-
DialNumber: Update HMI API description to match Mobile API description
-
EmergencyEvent->maximumChangeVelocity data type is incorrect in HMI API
-
SDL crashes while sending OnSystemRequest in case if RPC service is protected
-
Audio stream internal data stream error when using socket streaming
-
SDL does not send GENERIC_ERROR in case HMI does NOT respond during +<RPCs_internal_timeout>
-
SDL is unable to start protected Audio/Video service in multi-transport configuration
-
SDL respond with not supported resultCode = UNSUPPORTED_RESOURCE for ChangeRegistration
-
Provide operation result to function file_system::CreateDirectory
-
Application does not retrieve subscriptions to app service after resumption
Hotfix Release 5.1.3
Supported Specifications
- SDL Mobile RPC Spec: Version 5.1.0
- SDL Protocol Spec: Version 5.2.0 (minimum 2.0.0)
Bug Fix:
Hotfix Release 5.1.2
Supported Specifications
- SDL Mobile RPC Spec: Version 5.1.0
- SDL Protocol Spec: Version 5.2.0 (minimum 2.0.0)
Bug Fixes
Hotfix Release 5.1.1
Supported Specifications
- SDL Mobile RPC Spec: Version 5.1.0
- SDL Protocol Spec: Version 5.2.0 (minimum 2.0.0)
Bug Fixes
Release 5.1.0
Supported Specifications
- SDL Mobile RPC Spec: Version 5.1.0
- SDL Protocol Spec: Version 5.2.0 (minimum 2.0.0)
Implemented Proposals
[SDL 0158] Cloud App Transport Adapter
Allows SDL Core to communicate with SDL-enabled cloud applications over websocket connections.
Cloud apps are configurable via the policy table. To connect your cloud application, you need to specify several fields in the app policies section of the policy table:
"WebAppID12345" : {
...
"endpoint": "wss://fakesdlwebsocketurl.com:8080",
"enabled" : true,
"cloud_transport_type": "WSS"
}
The endpoint
field includes the URL/IP and port which SDL Core can connect to in order to communicate with your cloud application.
The enabled
field determines whether this cloud app appears on the HMI. When set to true, this cloud app will be included in the HMI RPC "UpdateAppList". Selecting this app when it appears on the HMI will result in Core attempting to connect to the specified endpoint. Upon a successful connection, the app will be registered and brought to the foreground.
The cloud_transport_type
field is used to specify the type of connection SDL Core will use to connect to your cloud application. Currently SDL Core supports two values for this field (WS
and WSS
), but the cloud app transport adapter can be configured to incorporate other transport types as well. The WS
transport type is intended only for testing and development purposes. Any application in a production environment should use a secured transport type, such as WSS
.
"WebAppID12345" : {
...
"certificate" : "-----BEGIN CERTIFICATE-----\n" ...,
"auth_token" : "ABCD12345",
"hybrid_app_preference": "MOBILE"
}
The certificate
field is used for opening a secured websocket connection.
The auth_token
field is sent to the cloud application in its StartServiceACK, if present in the policy table. This value is meant to be used by the cloud application to determine which user is logged into this vehicle.
The hybrid_app_preference
field is used to specify the user's preference for using a cloud app that is also available on the user's phone. For example: when the preference is set to MOBILE
and the user connects a mobile app while using the same cloud app, the cloud app will unregister and the mobile version will be the only app to be displayed on the app list. Possible values for this field are MOBILE
, CLOUD
, and BOTH
.
[SDL 0167] App Services - Media Service, Weather Service, and Navigation Service
Allows apps to advertise services which can be used by the HMI and other SDL connected applications.
The following service types were implemented in this release: MEDIA
, WEATHER
, and NAVIGATION
Services that an application wants to publish must be declared in the app policies section of the policy table:
"SDLSuperApp12345": {
...
"app_services": {
"MEDIA": {
"service_names": ["SDL Music", "App Music"],
"handled_rpcs": [{"function_id": 41}]
},
"NAVIGATION": {
"service_names": ["SDL Navigation", "App Navigation"],
"handled_rpcs": [{"function_id": 39}]
}
}
}
An app service can be published by sending a PublishAppService
RPC with one of these declared service types. Both the HMI and other connected applications can then query your service for data using the GetAppServiceData
RPC, and any updates to this data can be published using the OnAppServiceData
RPC.
The PerformAppServiceInteraction
is a generic RPC which can be sent by an app consumer to request custom actions on your service independent of existing SDL messages. In order to support these custom actions, a predetermined API should be published separately from the SDL project to potential consumers.
In addition, the handled_rpcs
field can be used to define which RPCs can be handled by your service (such as SendLocation
for NAVIGATION
services). If your service is active, such messages will be routed to your application instead of the HMI.
The HMI is able to act as a service provider or consumer through the new AppService
interface in the HMI_API. This includes the same RPC messages available to mobile applications for app services (PublishAppService
, GetAppServiceData
, etc.) as well as several HMI-specific RPCs.
The AppService.AppServiceActivation
and AppService.GetAppServiceRecords
RPCs are available to enable the HMI to include a screen where the user can control the active and default services for each service type.
The AppService.GetActiveServiceConsent
RPC is sent by SDL Core when an application includes requestServiceActive=true
in a PerformAppServiceInteraction
request to an app service provider. The HMI is expected to prompt the user to either allow or disallow activation of the service in question, and respond to the RPC according to their choice.
The BasicCommunication.GetFilePath
RPC is sent by SDL Core when a GetFile
request is sent by an app service consumer for an embedded provider. The name of the file being retrieved is included in this request, and the HMI is expected to provide the full path to the file in the response to SDL Core. This file name can be provided to the application via the embedded service's serviceManifest
or serviceData
, ex. serviceManifest.serviceIcon
.
Bug Fixes
-
Possible cyclic reference of shared pointers of
Application
class -
SDL processes Light name values from the default capabilities incorrectly
-
SDL sends UnsubscribeWayPoint request to HMI for App1 when App2 is still subscribed to the WayPoint
-
SDL build fails in case if ENABLE_LOG=OFF or ENABLE_SECURITY=OFF
Hotfix Release 5.0.1
Supported Specifications
- SDL Mobile RPC Spec: Version 5.0.0
- SDL Protocol Spec: Version 5.1.0 (minimum 2.0.0)
Bug Fixes
Hotfix Release 4.5.2
Supported Specifications
- SDL Mobile RPC Spec: Version 4.5.1
- SDL Protocol Spec: Version 5.0.0 (minimum 2.0.0)