Skip to content

Release 4.0.0

Compare
Choose a tag to compare
@justinjdickow justinjdickow released this 01 Nov 17:24
· 4626 commits to master since this release

SDL 4.0.0 Release Notes

This is the second release candidate for the SDL Core Component version 4.0.0.

Changes to Mobile RPCs

  • Added the LAUNCH_APP request type
  • Added the QUERY_APPS request type

Changes to HMI RPCs

  • Added the greyOut parameter to HMIApplications

Changes to Protocol

  • Updated protocol version to 4 to indicate support for App Querying and Launching

Changes to Policy Table structure

  • Added QueryAppsUrl to the URLs

New Features

App Launching and Querying

To enable querying and launching of applications from a server endpoint defined by SDL Core and updatable by the policy table, SDL has made the following changes

  • SDL saves state information about connected applications (foreground and inactive) received from a connected application and sent via OnHmiStatus notifications
  • SDL sends an OnSystemRequest with requestType = QUERY_APPS to an application supporting protocol V4 or higher after a successful register app interface if the application is in the foreground
  • SDL sends an OnSystemRequest notification with requestType = QUERY_APPS to applications supporting protocol V4 or higher running on different devices after a successful register app interface if the application is in the foreground
  • SDL does not send OnSystemRequest (QUERY_APPS) to applications in the inactive state
  • Applications which are received by the SystemRequest (QUERY_APPS) are stored and sent to the HMI via UpdateAppList RPC
  • SDL validates the JSON received from the OnSystemRequest(QUERY_APPS) according to the following structure defined by the sdl server
  • When sending UpdateAppList RPCs, applications which are not registered have a greyOut value of true if there is no foregrounded application on the device and false if there is
  • When SDL receives an ActivateApp from the HMI for an application which has not registered, SDL sends an OnSystemRequest(LAUNCH_APP) to an application which is in the foreground
  • SDL defines a timeout for which to wait to receive a register app interface from the requested appId associated with a LAUNCH_APP command
  • If an app does not register within the defined timeout, SDL sends an ActivateApp Response with APPLICATION_NOT_REGISTERED error
  • If SDL receives an OnFindApplications from the HMI, and SDL is connected to an application using protocol V4 or greater, SDL will send an OnSystemRequest with requestType QUERY_APPS

Bug Fixes

The following bugs or internal behaviors have been fixed and updated in version 4.0.0 of SmartDeviceLink

  • Fixed an issue where user consent was not properly revoked
  • Fixed an issue where a policy table update might be applied before all previous changes were recorded and could result in a loss of information
  • Defined timeouts in the .ini for SDL to wait for new audio and video data
  • Add ability for video streaming applications to stream from a limited state if allowed by policies
  • Fixed a bug where an iterator was not being incremented properly before the object was deleted
  • Fixed a bug in perform interaction where manual text entry was not being triggered properly
  • Fixed an issue where display capabilities were not being checked correctly for field names
  • Fixed an issue where OnHMILevelChanged was not being called properly
  • Add mutexes where needed for video and audio streaming timers
  • Start microphone recording only on TTSSpeak success
  • Update validation of Register App Interface Response parameters to not assume types are sent as array
  • Rework cmake installation of HMI to bin directory
  • Fix memory leak for TTS Speak start and stop
  • Fix issue where sdl returns an empty templatesAvailable array after opening a non-media app with alternate template
  • Make policy table and update comparison case sensitive for keys
  • Add emergency event notification to HMI RPC
  • Modify some log levels