Releases: smartdevicelink/sdl_ios
v7.1.0 - Alert Manager, Keyboard Enhancements, Media Clock Improvements, and More
This release adds a screen manager API for Alerts, many keyboard improvements (when connected to supported modules), set variable media clock timer speed (for supported modules), set skip next / previous buttons with time skip UI (for supported modules), and more.
Remember that some features only work on head units that support that feature.
Supported Specs
Change Highlights
Enhancements
- Added the ability to show menu cells and choice set cells with the same
title
(#1024) - Added the ability to display media time skip buttons instead of the standard track skip buttons, e.g. for podcast apps (#1080)
- Added the ability to use a numeric keyboard layout, mask input characters, and provide custom keys on a keyboard (#1356)
- Added the ability to set a custom playback rate for the media clock timer (#1377)
- Main menu cells and subcells now have additional available text and image properties (#1510)
- Added the ability to present
Alert
RPCs through the screen manager (#1579) - Added the ability for the module and app to declare multiple possible video streaming capabilities so that features like Picture-in-Picture and Split-Screen can be supported (#1730)
- Added the ability to disconnect based on received vehicle details, including before the app registers on 7.1+ modules (#1876)
Bug Fixes
- Fixed soft buttons being delayed on Ford Sync 3.0 and increased SDL CPU usage (#1778)
- Fixed button notifications not working properly the first button press on Ford Sync 3.0 (#1793)
- Fixed a number of potential issues around the iAP transport seen on iOS 14 devices (#1799, #1809, #1892, #1893)
- Fixed uploading the blank artwork every time instead of persisting it (#1864)
- Fixed uploaded files not being divided into multiple RPCs correctly (#1927)
Important Known Issues
- #1795, #1783, and #1847 - Potential bugs with connecting to legacy head units (may persist back to 6.7.0 as well).
- #1954, #1966, and #1969 - Issues with RPC encrypted connections causing crashes or apps that do not successfully connect.
- #1855, #1959, #1961, and #1964 - Potential edge case bugs with voice commands using the
SDLScreenManager
. - #1941 - If a choice fails to preload, the manager may believe it was properly uploaded.
See all the commits and the changelog.
This release is made up of 799 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @FrankElias77, @shiniwat, @yLeonid, @vladmu, and @makinney.
v7.1.0 - Release Candidate 1
See this PR for more details.
v7.0.0 - A Whole New Slightly Changed World
This release adds new vehicle data, a screen manager API for changing template layout, and many bug fixes. In addition, as a major version update, this release removes many previously deprecated APIs.
Remember that some features only work on head units that support that feature.
Supported Specs
Change Highlights
Breaking Changes
- Previously deprecated methods have been removed.
Enhancements
- Added
changeLayout
method toSDLScreenManager
to change templates, including in a batched update (#1612, #1749). - Updated the minimum required iOS version to 10.0 (#1738).
Bug Fixes
SDLServiceUpdateReason
enums are now named properly (#1502).
Important Known Issues
- #1795 and #1783 - Potential bugs with connecting to legacy head units (may persist back to 6.7.0 as well).
- #1797 - Known issue in Carthage that requires a workaround script to receive distribution via Carthage in Xcode 12.
- #1799 - Potential race condition on iOS 13.7 and iOS 14.0 only leading to high CPU usage or a background crash (may persist through every version of the library).
See all the commits and the changelog.
This release is made up of 533 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @FrankElias77, @jordynmackool, @yLeonid, and @vladmu.
v7.0.0 - Release Candidate 2
This release adds new vehicle data, a screen manager API for changing template layout, and many bug fixes. In addition, as a major version update, this release removes many previously deprecated APIs.
Remember that some features only work on head units that support that feature.
Supported Specs
Change Highlights
Enhancements
- Added
changeLayout
method toSDLScreenManager
to change templates, including in a batched update (#1612, #1749). - Updated the minimum required iOS version to 10.0 (#1738).
Bug Fixes
SDLServiceUpdateReason
enums are now named properly (#1502).
Important Known Issues
- #1795 and #1783 - Potential bugs with connecting to legacy head units (may persist back to 6.7.0 as well).
- #1797 - Known issue in Carthage that requires a workaround script to receive distribution via Carthage in Xcode 12.
- #1799 - Potential race condition on iOS 13.7 and iOS 14.0 only leading to high CPU usage or a background crash (may persist through every version of the library).
See all the commits and the changelog.
This release is made up of 454 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @FrankElias77, @jordynmackool, @yLeonid, and @vladmu.
v6.7.0 - Permission Manager and Subscribe Button Manager Updates
This release brings enhancements and bug fixes including Permission Manager updates and adding subscribe button features to the Screen Manager.
Remember that some features only work on head units that support that feature.
Specs Supported
Change Highlights
Enhancements
- Added subscribe button features to the screen manager (#1563).
- Added a new
SDLManager
delegate method for updating the HMI and VR language separately (#1593). - Aligned
SDLPermissionManager
methods with Java Suite and JavaScript Suite libraries, adding methods for parameter permissions and more (#1661, #1667, #1682).
Bug Fixes
- Fix the video background when the app goes into the background not always showing when it should (#1620).
- Better handling of head units sending a
nil
displayCapabilities
in theSystemCapabilityManager
(#1623). - Fixed a deadlock that could happen on the lock screen due to some calls being asynchronous but handled synchronously (#1629).
- Fixed turning wifi off and back on causing secondary transport to fail (#1631, #1639).
- Fixed using the permission manager in Swift would sometimes crash (#1636).
- Fixed sending an empty VR array in an
SDLMenuCell
would fail (#1648). - Fix the encryption manager not being shut down correctly after a disconnect / reconnect (#1675).
- Fix video session properties not being re-set upon reconnection (#1683).
- Fix soft button image uploads failing if the first state has no images but other states do (#1698).
- Fix a deadlock that would occur when restarting the
SDLManager
in themanagerDidDisconnect
callback (#1710).
See all the commits and the changelog.
This release is made up of 471 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @lapinskijw, @zhouxin627, @yangjun, @hannianqiao, and @tyoshii.
v6.6.0 - SystemCapabilityManager Updates and Many Fixes
This release brings enhancements and bug fixes including SystemCapabilityManager updates and Secondary Transport fixes.
Remember that some features only work on head units that support that feature.
Specs Supported
Change Highlights
Enhancements
- The secondary transport now starts only when the app has been brought to HMI Full (#1145).
SDLSystemCapabilityManager
enhancements and alignment with Java Suite ((#1535).- The
SDLManagerDelegate
now has avideoStreamingState
callback (#1546). - The secondary transport will no longer be immediately shut down when the app goes to the background (#1560).
- Deprecated
SyncPData
andEncodedSyncPData
RPCs (#1599).
Bug Fixes
- Many lock screen fixes (#1504, #1523, #1545, #1565).
- Threading fixes around the response handler map (#1515).
- Many secondary transport fixes (#1551, #1561).
- Revert deprecations in RPCs relating to
NSDictionary
(#1557). - Fix
SDLStreamingMediaManager
returning an incorrect value forisStreamingSupported
(#1569). - Fix using incorrect MTU sizes for non-RPC services (#1577).
- Fix IAP crash when the output stream closes (#1583).
- Fix potential threading crash in
SDLChoiceSetManager
(#1584). - Fix a potential race condition crash in the text and graphic manager (#1595).
See all the commits and the changelog.
This release is made up of 464 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @theresalech, @justingluck93, @kshala-ford, @lapinskijw, @ashwink11, @yangjun, @zhouxin627, @yLeonid, @o-mishch, and @vladmu.
v6.5.0 - Lots of Bug Fixes
This release brings bug fixes including issues related to the lock screen, Objective-C++ projects, and more.
Specs Supported
Change Highlights
Bug Fixes
- Fix the Soft Button Manager failing if the template is changed and the new template does not support soft buttons (https://www.github.com/smartdevicelink/sdl_ios/issues/1474).
- Objective-C++ projects would not compile with 6.4.0 or 6.4.1. They will now compile (https://www.github.com/smartdevicelink/sdl_ios/issues/1478).
- Fixed numerous issues related to the lock screen in edge cases where the app used multiple windows simultaneously (https://www.github.com/smartdevicelink/sdl_ios/issues/1480, etc.).
See all the commits and the changelog.
This release is made up of 108 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, and @justingluck93.
v6.5.0 Release Candidate 1
See the develop branch changelog for full release notes.
To use this release candidate with Cocoapods, specify the tag like so:
pod 'SmartDeviceLink', :git => 'https://github.com/smartdevicelink/sdl_ios.git', :tag => '6.5.0-rc.1'
Known Issues
- Unit tests fail with newest version of OCMock (#1517).
v6.4.1 - iOS 13 Lock Screen Bug Fixes
This release fixes the SDL Lock Screen for apps using the iOS 13 multi-window / UIWindowScene
API.
Specs Supported
Change Highlights
Bug Fixes
- Fix lock screen not working properly on apps using iOS 13 multi-window APIs (https://www.github.com/smartdevicelink/sdl_ios/issues/1469).
See all the commits and the changelog.
This release is made up of 41 commits. Thanks to contributors @joeljfischer, and @justingluck93.
v6.4.0 - Widgets, Multiple Remote Control Modules, and More
This release brings enhancements and bug fixes including widgets, a new multithreading architecture, and multiple remote control modules per type.
Remember that some features only work on head units that support that feature.
Specs Supported
Change Highlights
Enhancements
- The autocomplete options for users in searchable choice sets and popup keyboards can now support more than one item (#790).
- Added the ability for the module to turn on or off a gesture to dismiss the lock screen – this can also be disabled on the developer side (#932).
- The RPC session can now be encrypted when the head unit has the capability and desires it. This allows all RPCs, or a subset, to be encrypted over the wire similar to the current capability with video data (#1163).
- Support multiple windows per display via widgets (#1270).
- Support multiple modules per remote control module type (#1272).
- A tile layout is now supported for the main menu and sub-menus (#1276).
- The
SDLSystemCapabilityManager
now has support for the new multi-window display capabilities with automatic backward-compatibility support (#1386).
Bug Fixes
- Fixed the permission manager processing permission updates incorrectly (#965).
- Multithreading throughout the iOS library has been re-implemented for simplicity and speed (#1028).
- Fixed iOS 13 making the lock screen dismissible (#1422).
- Fixed second phone connecting to head unit over iAP disconnecting the first phone (#1431).
- More information is logged when asserts occur due to type mismatches (#1439).
See all the commits and the changelog.
This release is made up of 909 commits. Thanks to contributors @joeljfischer, @NicoleYarroch, @yLeonid, @justingluck93, @SatbirTanda, @t-yoshii, @kshala-ford, @lnafarrateluxoft, @mjuarez-ford, @piyushkhosla, @mrapitis, Yasuhiro Yoneyama, @BrettyWhite, and Amish Sharma.