Skip to content

joeygrover/sdl_evolution

 
 

Repository files navigation

SDL Evolution

Do not submit a proposal without reading this roadmap document. Ideas should be discussed on the SDL Slack #sdl_evolution open channel before a proposal is created here.

For more information about SDL, go to www.smartdevicelink.com.

This process and document is based on Apple's excellent Swift Evolution process.

This document tracks the ongoing evolution of SDL. Proposals should be made for any public API surface change, that is, any change that would necessitate a minor or major version change in any SDL mobile library. If a protocol or RPC change does not change any API surface, they must still be brought through the proposal process. If changes are made to modify any remote control feature, only a single module should be addressed within a proposal. In sum, the following changes must be proposed:

  • Changes necessitating minor or major version updates to SDL Core, the mobile libraries, Manticore, SDL Policy Server, and SHAID according to semantic versioning, except those that are caused by a misspelling.
  • Any change to the SDL Protocol.
  • Any change to the SDL RPC spec.

Important documents:

Platforms

When entering a proposal, only one platform will be listed as impacted on the proposal status page. It's inherent that some platforms impact others, as described below:

Protocol

The SmartDeviceLink protocol specification describes the method for establishing communication between an application and head unit and registering the application for continued communication with the head unit. The protocol is used as the base formation of packets sent from one module to another.

All new SDL implementations should implement the newest version of the protocol.

Repository: https://github.com/smartdevicelink/protocol_spec

Changes to Protocol also impact the following platforms:

  • Core
  • iOS
  • Java Suite
  • JavaScript Suite

RPC Spec

Spec for RPC messages sent between mobile devices and hardware modules.

Repository: https://github.com/smartdevicelink/rpc_spec

Changes to RPC also impact the following platforms:

  • Core
  • iOS
  • Java Suite
  • JavaScript Suite
  • HMI (in most cases)

Core

The Core component is the software which Vehicle Manufacturers (OEMs) implement in their vehicle head units. Integrating this component into their head unit and HMI based on a set of guidelines and templates enables access to various applications.

Repository: https://github.com/smartdevicelink/sdl_core

Changes to Core also impact the following platforms:

  • Manticore

Java Suite

The Android, Java SE, and Java EE libraries are implemented by app developers into their applications to enable command and control via the connected head unit.

Repository: https://github.com/smartdevicelink/sdl_java_suite


iOS SDK

The iOS library is implemented by iOS app developers into their applications to enable command and control via the connected head unit.

Repository: https://github.com/smartdevicelink/sdl_ios


JavaScript Suite

The JavaScript Suite library is implemented by app developers into their JavaScript applications to enable command and control via the connected head unit.

Repository: https://github.com/smartdevicelink/sdl_javascript_suite


Manticore

Manticore is used to dynamically provision SDL Core and SDL HMI instances in the cloud.

Repository: https://github.com/smartdevicelink/manticore

SDL hosted instance: https://smartdevicelink.com/resources/manticore/


SDL Policy Server

The SDL Policy Server handles authentication, data collection, and basic configurations for SDL connected vehicles.

Repository: https://github.com/smartdevicelink/sdl_server


SHAID

SHAID is a centralized service designed to keep information about SDL-supported applications synchronized across the SmartDeviceLink (SDL) ecosystem.

Documentation: SHAID Documentation

Recent and Upcoming Releases

You can see a detailed list of accepted and implemented proposals for upcoming versions on the proposal status page. Each proposal is listed as only impacting one platform, as it's inherent that some platforms impact others, as described above in the Platforms Section.

Manticore: 2.6.0

Release Date: May 28, 2019

Contents: Release information can be found here.


SDL Protocol Spec: 5.3.0

Release Date: November 5, 2020

Contents: Release information can be found here.


SDL RPC Spec: 7.0.0

Release Date: November 5, 2020

Contents: Release information can be found here.


SDL Core: 7.0.0

Release Date: November 5, 2020

Contents: Release information can be found here.


SDL Policy Server: 2.10.0

Release Date: November 5, 2020

Contents: Release information can be found here.


SDL iOS: 7.0.0

Release Date: November 5, 2020

Contents: Release information can be found here.


SDL Java Suite: 5.0.0

Release Date: November 5, 2020

Contents: Release information can be found here.


SDL JavaScript Suite: 1.2.0

Release Date: November 5, 2020

Contents: Release information can be found here.


SDL Core: 7.1.0

Expected Release Date: April 14, 2021

Contents: Contents of this release can be tracked on the Core 7.1.0 Project Page.


SDL RPC Spec: 7.1.0

Expected Release Date: April 14, 2021

Contents: Contents of this release can be tracked on the RPC Spec 7.1.0 Project Page.


SDL iOS: 7.1.0

Expected Release Date: April 14, 2021

Contents: Contents of this release can be tracked on the iOS 7.1.0 Project Page.


SDL Java Suite: 5.1.0

Expected Release Date: April 14, 2021

Contents: Contents of this release can be tracked on the Java Suite 5.1.0 Project Page.


SDL JavaScript Suite: 1.3.0

Expected Release Date: April 14, 2021

Contents: Contents of this release can be tracked on the JavaScript Suite 1.3.0 Project Page.


SDL Policy Server: 2.11.0

Expected Release Date: April 14, 2021

Contents: Contents of this release can be tracked on the Policy Server 2.11.0 Project Page.


About

Tracking and proposing changes to SDL's public APIs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 68.8%
  • XSLT 31.2%