Releases: smartdevicelink/sdl_ios
v6.3.1 - IAP Transport Fixes
This release brings a few IAP transport fixes.
Specs Supported
Change Highlights
Bug Fixes
- Fix unregistering for EATransport notifications can interfere with other apps' EATransport notifications (#1329).
- Fix issues related to the background task running when the device is in the process of making an IAP connection but is in the background (#1326, #1327).
See all the changes and the changelog.
This release is made up of 9 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, and @t-yoshii.
v6.3.0 - Subscriptions and Dynamic Menu Updates
This release brings enhancements and bug fixes including dynamic menu updates, SDLSystemCapability subscriptions, and a rewritten IAP transport.
Remember that some features only work on head units that support that feature.
Specs Supported
Change Highlights
Enhancements
- Support dynamic adding / deleting of menu items when they need to be replaced instead of a full delete / add (#1144).
- Update to Swift 5.0 (#1245).
- Add RPC subscription methods to
SDLManager
for ease of use (#1257). - Support subscribing to SystemCapabilities with the SystemCapabilityManager (#1271).
Bug Fixes
- Deprecate RPC superclass initializers as they are not for public use (#1204).
- Fixed the audio stream manager shutting down when the device app was in the background. It now stays active when the app is in the background (#1224).
- Fixed numerous IAP transport issues with a near full rewrite of the related classes (#1239, #1263, #1316, #1321).
- Fixed
SDLManager.stop
crashes in certain circumstances (#1268).
See all the changes and the changelog.
This release is made up of 215 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @t-yoshii, and @justingluck93.
v6.2.3 - Lock Screen Related Crashes Fixed
This release fixes lock screen related crashes if SDL is set up before the app's main window exists. This removes the exception created in v6.2.2.
Remember that some features only work on head units that support that feature.
Specs Supported
Change Highlights
Bug Fixes
- Fix lock screen related crashes and remove an exception. (#1258).
See all the changes and the changelog.
This release is made up of 5 commits. Thanks to @joeljfischer.
v6.2.2 - Clarify SDL Startup Timing
This release adds a clarification on a possible crash. SDL must be started after the app's window is setup or else an exception will be thrown.
Remember that some features only work on head units that support that feature.
Specs Supported
Change Highlights
Bug Fixes
- Add an explicit exception if SDL is setup before the app's window. The app's window must be setup before SDL is started (#1255).
See all the changes and the changelog.
This release is made up of 4 commits. Thanks to @joeljfischer.
v6.2.1 - Lock Screen and Audio Stream Hotfixes
NOTE: There is an issue in this release that will cause a crash if your app starts SDL before setting up it's UIWindow
. This is a very rare case. If this is the case for you, please alter your app to start SDL only after your UIWindow
is setup. This will be made more explicit in a future release.
This release adds a few bug fixes. The primary bug fixes are rotation fixes when using the lock screen and backgrounding fixes when using the navigation audio stream.
Remember that some features only work on head units that support that feature.
Specs Supported
Change Highlights
Enhancements
- SmartDeviceLinkSwift updated to Swift 5.0 (https://www.github.com/smartdevicelink/sdl_ios/issues/1245).
Bug Fixes
- Fixed the audio service being stopped when the navigation app is in
HMI_BACKGROUND
(#1235). - Fix setting up the lock screen window causing rotation issues (#1250).
Example App
- The example apps will now auto-reconnect if disconnected physically from the head unit (#1172, #1237, #1243).
- Update the example swift app to Swift 5 (#1245).
See all the changes and the changelog.
This release is made up of 27 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, and @justingluck93.
v6.2.0 - App Services and Many Fixes
This release adds many important bug fixes. It is strongly recommended to update to this release. It also adds support for App Services via RPCs, the ability to block head units by RPC or Protocol version, a backgrounding string for video streaming navigation apps, and more small features.
Remember that some features only work on head units that support that feature.
Specs Supported
Change Highlights
Enhancements
- Added a screen informing the user what they must do if a video streaming app is not in the foreground on their mobile device (#1058).
- Added
SDLLifecycleConfiguration
properties for enforcing minimumprotocolVersion
andrpcVersion
connections to head units, effectively blocking older head units as desired (#1142). - Added RPC support for app services, including all three current app service types:
media
,weather
, andnavigation
(#1147, #1148, #1162). - Added automatic updates and caching to the System Capability Manager for v5.1+ head units (#1212).
Bug Fixes
- Fixed IAP-Bluetooth to IAP-USB transport switching (#1079).
- Fixed an issue where the manager would attempt to reconnect even if the head unit unregistered the app for a reason where the app should not reconnect (#1084, #1097).
- Improved RTC video streaming resumption (#1137).
- Added more informative exception on creation of an invalid
SDLSoftButtonState
(#1126). - Fixed numerous crashes in RELEASE builds when connected to head units that are providing invalid data (DEBUG builds will continue to crash unless the log configuration is altered to disable those assertions in DEBUG as well) (#1153, #1159, #1161, #1198, #1218, #1230).
- Fixed Swift 4.2 support in
SDLPermissionManager
by removing someSDLBool
specifier protocols fromNSNumber
callbacks inNSDictionary
(#1190). - Fix calling single tap callback checks for the hit view in the
SDLTouchManager
from a background thread. The callback itself will continue to occur on a background thread until the next major version change (#1207).
See all the changes and the changelog.
This release is made up of 390 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @BrettyWhite, @mvyrko, and @justingluck93.
v6.1.2 - Bug Fixes
Bug Fixes
- Fix external accessories never reconnecting if connected over both Bluetooth and USB when one transport is disconnected (#1113).
v6.1.1
Bug Fixes
- Fix possible crash when checking text fields in the screen manager (#1122).
- Fix possible crash when checking language field of
RegisterAppInterfaceResponse
inSDLLifecycleManager
(#1127).
See all the changes, and the changelog.
v6.1.0 - Choice Set Manager
This release updates to support RPC spec 5.0.0. It also adds a Choice Set Manager that exposed through the SDLScreenManager
introduced in v.5.2.0.
Remember that some features only work on head units that support that feature.
Specs Supported
Changelog
Enhancements
PlayPause
button name has been added for subscription #246.- Added the ability to play an audio file (such as a jingle) through
TTSChunk
, which may be used in anAlert
orSpeak
RPC, for example [SDL-0014] #524. - Added CRC checksums to data transfers (such as images or files) and automatic retrying of failed transfers, customizable via a new
SDLFileManagerConfiguration
[SDL-0037] #599 #1013 [SDL-0191] #1043. - Added the ability for app icons to appear on the head unit without data being transferred after the first connection [SDL-0041] #600.
- Added the ability to send an image as "template", this is a single color image that can be re-colored by the head unit automatically to fit with the background. e.g. on a white background the image will appear black, and on a black background, white [SDL-0062] #626.
- Added a
displayName
parameter todisplayCapabilities
and deprecatedisplayType
[SDL-0063] #627. - Added new vehicle data: Fuel Range [SDL-0072] #641, Engine Oil Life [SDL-0082] #706, Electronic Park Brake Status [SDL-0102] #761, Tire Pressure [SDL-0097] #748, and Turn Signal [SDL-0107] #791.
- Add the ability for submenu menu cells to have icons [SDL-0085] #719.
- Add new vehicle capabilities that can be remotely controlled by an application: Seat Controls [SDL-0105] #792, lights, display settings, and additional audio capabilities [SDL-0099] #755, [SDL-0165] #954, [SDL-0182] #1022.
- Add the ability to check the status of remote control modules [SDL-0106] #800, [SDL-0172] #990.
- Add the ability to modify the play / pause button to show either play, pause, stop, or play / pause [SDL-0109] #892.
- Support both USB / BT and WiFi transports simultaneously when streaming video on supported head units [SDL-0141] #900.
- Allow apps to alter template primary, secondary, and tertiary colors while connected to a supported head unit through the RegisterAppInterface and SetDisplayLayout APIs [SDL-0147] #909.
- Allow checking for the availability of a secondary graphic [SDL-0151] #917.
- Support short and full appIds [SDL-0153] #942.
- Allow Perform Interaction Choice Set Choices to not include voice commands [SDL-0064] #943.
- Add a choice set manager to assist in presenting choice set menus and keyboard interactions [SDL-0157] #970.
- Add an enum for static icons [SDL-0159] #944.
- Update TCP transport for production #946.
- Separate SDL example app code better #1056.
Bug Fixes
- TCP transport failure is now reported via a notification #911.
- The Obj-C and Swift example apps can now run without crashing without cleaning #981.
- Swift Cocoapods subspec will now properly download lock screen assets #1026.
- The
SDLLockScreenConfiguration
showInOptionalState
beingtrue
was not properly preventing dismissal of the lock screen #1070. - Fix possible crashes in SDLAsynchronousRPCOperation on cancellation of operations #1076.
- Fix can't get CarWindow
rootViewController
#1100. - Fix setting CarWindow
rootViewController
not on main thread #1101. - Add audio transcode files to default log module map #1103.
See all the changes and the changelog.
This release is made up of 459 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @piyushkhosla, @mrapitis, @shoamano83, @Lievesley, @t-yoshii, @kshala-ford .
v6.1.0 Release Candidate 2
See the changelog for full release notes.