Skip to content

Releases: smartdevicelink/sdl_core

Hotfix Release 4.4.2

30 Oct 17:08
79ea432
Compare
Choose a tag to compare

Supported Specifications

Bug Fixes

Release 5.0.0

19 Oct 19:06
d363167
Compare
Choose a tag to compare

Supported Specifications

Implemented Proposals / New Features

Bug Fixes

Enhancements

...

Read more

Hotfix Release 4.1.4LTS

24 Sep 20:12
d09eaaa
Compare
Choose a tag to compare

Release 4.5.1

18 Apr 14:57
7f7fcbb
Compare
Choose a tag to compare

Supported Specifications

Hot Fixes Included

Release 4.5.0

05 Apr 19:02
61fd83f
Compare
Choose a tag to compare

Supported Specifications

Implemented Proposals

Connectivity via iAP-BT and Transport Switch - Implementation of a mechanism to change a registered app connected over one transport to another seamlessly.

Mark public deprecated methods - Implemented a DEPRECATED macro for marking deprecated methods in the project. Using methods marked with this macro will result in a warning being generated.

Remove QT HMI from SDL Core (Partially Complete) - The qt_hmi component was removed from SDL Core, the QT_HMI_API interface and dbus adapter will be removed in the next major release, due to this aspect of the proposal requiring breaking changes.

Use Boost Library (Partially Complete) - The boost library is now installed as a 3rd party library, this library is currently only used in the refactored message broker component.

Enhancements

  • DBus and libusb are now dynamically linked, instead of being installed as 3rd-party libraries during the SDL Core build - #2004

Bug Fixes

Security Related Fixes

Release 4.4.1

08 Nov 15:27
61c37f3
Compare
Choose a tag to compare

Release 4.4.0

30 Oct 22:29
70eec5c
Compare
Choose a tag to compare

Implemented Proposals

System Capabilities Query - Implementation of a new RPC which allows an app to query the capabilities of a specific component (i.e. video streaming, remote control) within a given integration of SDL Core.

Constructed Payloads - Addition of constructed payloads for control (non-RPC type) packets. These payloads allow for control packets to be more descriptive without using the overhead needed by an RPC message. The feature has been implemented using the BSON standard through use of the bson_c_lib. This includes the introduction of protocol version 5, versions prior to this do not support this feature.

Control Frame Payloads v1.0.0 - Introduced specific parameters that will be sent with a control frame's constructed payload. This is part of the introduction of protocol version 5, versions prior to this do not support this feature.

Support Indian English and Thai - Adds the possibility to support languages English - India and Thai - Thailand.

Support For Additional Languages - Adds the possibility to support 8 new languages.

Mobile Projection - Defines new AppHMIType PROJECTION. This AppHMIType allows an app to use the same video streaming technologies as a navigation app.

Gesture Cancellation - Addition of a CANCEL element to the TouchType Enum used during an OnTouchEvent RPC.

Add Video Streaming Capabilities - Allows core to notify the proxy of the HMI's video streaming capabilities. This addition also includes a video format negotiation procedure that uses a combination of RPC and constructed payload messages.

Adding Metadata Types - Add metadataTags parameter to the Show RPC, as well as the new types MetadataTag and MetadataType. These additions allow for a more detailed description of the main field strings sent during a Show RPC request.

Human Interface Device Support - Implementation of the SendHapticData RPC. This RPC sends the HMI an array of rectangle coordinates for focusable elements used during video streaming.

Remote Control Baseline - Implementation of a new core plugin/functional module RemoteControl. This feature includes a set of RPCs that the proxy may use to control certain aspects of the HMI's climate and radio modules. Changes also include additions to the GetSystemCapability RPC and policy configurations.

Update Mobile API Mandatory Flag - Update formatting of MOBILE_API.xml to include the mandatory flag on all parameters.

Bug Fixes

Video Streaming Related

Connection Related

Policy Related

Documentation

General Fixes

Release 4.3.1

21 Jul 19:35
Compare
Choose a tag to compare

Bug Fixes

  • ListFiles request now queries the file system on each request instead of referring to a cached list - #1393

Release 4.3.0

14 Jul 19:07
Compare
Choose a tag to compare

New Features

EXTENDED_POLICY modes:

  • The EXTENDED_POLICY CMake variable (previously ENABLE_EXTENDED_POLICY) now has three possible configurations
    • HTTP (previously ENABLE_EXTENDED_POLICY: OFF) - #941
    • PROPRIETARY (previously ENABLE_EXTENDED_POLICY: ON) - #940
    • EXTERNAL_PROPRIETARY (new, fully featured version of PROPRIETARY mode) - #942

EXTERNAL_PROPRIETARY mode:

New policy table update sequence

A new policy table update flow was created specifically for the EXTERNAL_PROPRIETARY policy mode

External Policy Manager

As part of the EXTERNAL_PROPRIETARY policy mode, the concept of an "external policy manager" is necessary. This policy manager is a separate program which is in charge of encrypting/decrypting policy tables and attaching an HTTP header to the OnSystemRequest payload when performing a Policy Table Update.

As part of this release, a sample application which performs this function was added to this repository for those who wish to implement this new policy mode, and this program can be started along with Core using an included bash script. This sample application does nothing with the policy table snapshot during the encryption and decryption phases, allowing for OEMs to implement their own encryption algorithms in their place.

App permissions/User consent

Users can now control what functional groups that they want apps to be able to access, as well as decide whether to enable SDL functionality at all on a device-by-device basis.

  • Logic was added to allow the user to control what devices are permitted to use SDL functionality - #934
    • Users are prompted when activating an app on a new device for the first time whether or not to allow the device to use SDL functionality (sequence shown in this diagram)
  • Logic was added to the Policy Manager to allow the user to control what apps have access to specific functional groups - #939
    • Users are prompted when activating an app for the first time (or modifying permissions in settings) with information on what access a requested functional group requires. The user responds to determine whether or not to allow this functionality within the new app (sequence shown in this diagram)

External user consent

External user consent allows the HMI to define several groups of permissions within the policy table. This allows the user to enable/disable several functional groups at once.

  • The externalConsentStatus field is included as part of a GetListOfPermissions response from SDL Core to communicate which groups are activated - #1047
  • External consent groups can be used to enable sets of functional groups using the disallowed_by_external_consent_entities_off field in the Policy Table - #1049
    • If this external consent group is set to ON, all functional groupings with this parameter are allowed by the user - #1048
    • If this external consent group is set to OFF, all functional groupings with this parameter are disallowed by the user - #1050
  • External consent groups can be used to disable sets of functional groups using the disallowed_by_external_consent_entities_on field in the Policy Table
    • If this external consent group is set to ON, all functional groupings with this parameter are disallowed by the user
    • If this external consent group is set to OFF, all functional groupings with this parameter are allowed by the user

Cache Manager Function Implementations

Prior to this release, several functions included in cache_manager.cc were not fully implemented and would not query the local policy table for defined rules and policies. The newly implemented functions for the EXTERNAL_PROPRIETARY cache manager are listed below:

Security behavior

Requirements/Details - #937

HMI_API additions:

A new RPC was added as part of the implementation of EXTERNAL_PROPRIETARY policy mode

Several API additions were made as part of the implementation of the external user consent feature

Implemented proposals

Two new evolution proposals were implemented in release 4.3.0:

  • Add API Patch Version SDL-0050
    • A patch version was added to the MOBILE API version, HMI API interface versions, and SyncMsgVersion struct
  • External Policy Manager SDL-0045
    • Details for the implementation of this proposal can be found in the External Policy Manager section of these release notes

Fixes

  • Includes fixes for all defects found by the Coverity scan tool that were introduced in this release - #1641
  • Includes fixes for several Coverity defects that were previously implemented in the coverity branch - #1637

Release 4.2.3

05 Apr 19:33
Compare
Choose a tag to compare

Hotfix release with API fixes:

  • Fixed GetWayPoints implementation. The wayPointType parameter is now mandatory in the GetWayPoints mobile and HMI request. Missing wayPoints parameter was added to the GetWayPoints response.
  • Fixed the function IDs for all WayPoints related message in the Mobile API.
  • Update Mobile API, HMI API versions to reflect API fixes.