Skip to content

Releases: smartdevicelink/sdl_ios

v5.0.0 – Modernized API

30 Nov 15:33
Compare
Choose a tag to compare

This release makes breaking changes and enhancements to your SDL workflow. See all the changes, and the changelog. See the news post for some code examples of what's new!

The guides have been totally updated and new functionality has been covered in new guides. Check out the guide to update from pre-v4.3 to v4.3+ and from v4.3+ to v5.0.

This release is made up of 736 commits. Thanks to contributors @BrettyWhite, @ChrisB-Elektrobit, @cromotron, @harisheb, @joeljfischer, @mrapitis, @NicoleYarroch, @piyushkhosla, @Rconroy, @shoamano83, Takamitsu Yoshii, and William Wallace.

Breaking Changes

  • SDLProxy.streamingMediaManager is now removed. If you wish to use a streaming media manager, you must use SDLManager.streamingMediaManager. The streaming media manager has been entirely redesigned and now takes into account both phone and head unit app lifecycles SDL-0033. There is now a streaming media configuration added to SDLConfiguration.
  • SDLJingle constants have been removed #7.
  • Public files SDLJsonEncoder.h, SDLJsonDecoder.h, SDLDecoder.h, and SDLEncoder.h have been removed #8.
  • SDLSiphonServer has been removed; if something similar is needed, it may be custom built and inserted into the SDLLogManager #85.
  • RPC array and dictionary properties are now immutable #152.
  • SDLOnWaypointChange, a misspelling of SDLOnWayPointChange has been removed #489.
  • SDLRPCStruct and all RPC subclasses now take an immutable dictionary to decode #122 SDL-0005, SDL-0005.
  • SDL enums are now all stringly typed in Objective-C, and swift enums in Swift #20 SDL-0006.
  • iOS 6 and iOS 7 are no longer supported SDL-0008 SDL-0024.
  • Use nullability annotations throughout the project #73 SDL-0018.
  • Remove SDLRPCRequestFactory, initializers now exist on most RPC classes SDL-0020.
  • SDLTTSChunkFactory was removed, use the initializers on SDLTTSChunk instead SDL-0021.
  • Handler events now provide better parameters instead of generic ones SDL-0027.

Enhancements

  • Most properties are now nonatomic, which should speed up the library significantly #49.
  • SDLLockScreenViewController now uses template images, reducing the size of the library #450.
  • RPC classes now conform to NSCopying SDL-0011.
  • Added convenience methods for pulling out SDL notifications from NSNotification callbacks #553.
  • SDLTouchManager now supports gesture cancellation #673.
  • SDLStreamingMediaManager now supports automatic GetSystemCapability calls #686.
  • SDLRegisterAppInterfaceResponse fixed pcmCapabilities not being exposed #714.
  • Generics have been added for collections throughout the library SDL-0007.
  • SDLFileManager will not stream from a file on disk if possible SDL-0025.
  • SDLFileManager added methods for sending multiple files in one call SDL-0029.
  • Added additional SDLManager delegate methods for all onHMIStatus state changes SDL-0032.
  • Added a handler to SDLPerformAudioPassThru SDL-0035.
  • SDLStreamingMediaManager now supports H.264 + RTP SDL-0048.
  • Added SDL Remote Control baseline SDL-0071.
  • Focusable items can now be sent (to Core 4.4+) and a manager exists that will automatically handle finding and sending those rects if a UIWindow is set in the SDLStreamingMediaConfiguration. They will also be passed back to the developer through the SDLTouchManagerDelegate SDL-0075 SDL-0081 SDL-0090.

Bug Fixes

  • Services are now properly ended with hash ids #661.
  • Constants are now unified into one style #711.
  • Fix streaming media manager always assumed 30fps streaming; it can now be custom set by developers in the video encoding dictionary #717.
  • Fix a possible crash if the List Files request from the FileManager fails due to disconnection or unregistration #789.

Other

  • SDL constants are now constants instead of #define #3.
  • Some protocol property and enum names were incorrect but now fixed #275.
  • Internal getters and setters on RPC classes no longer repeat code everywhere #493.
  • SDLOnLockScreenStatus does not use constants for property keys #497.
  • Removed deprecated methods #679.

v5.0.0 Release Candidate 3

27 Nov 16:49
Compare
Choose a tag to compare
Pre-release

Bug Fixes

  • Fix a possible crash if the List Files request from the FileManager fails due to disconnection or unregistration.

v5.0.0 Release Candidate 2

31 Oct 13:43
Compare
Choose a tag to compare
Pre-release

See the changelog for the full release notes.

v5.0.0 Release Candidate 1

30 Oct 21:38
Compare
Choose a tag to compare
Pre-release

See the changelog for the full release notes.

v4.7.4 - Fixes for the Future

17 Oct 20:23
Compare
Choose a tag to compare

Bug Fixes

  • Fix for connecting video streaming on Core 4.4.0 (to be released) and above.

v4.7.3 - Streaming Performance Fixes

03 Oct 20:41
Compare
Choose a tag to compare

This release makes small targeted fixes to streaming video performance and background connection bugs on IAP. See all the changes, and the changelog.

This release is made up of about 8 commits. Thanks to contributors @joeljfischer, @t-yoshii.

Below are highlights of the release:

Bug Fixes

  • Performance fixes for streaming video
  • Fixes for background connection on IAP transports

v4.7.2 - Fix Head Unit Connection

20 Sep 17:24
Compare
Choose a tag to compare

To develop in Xcode 9, you must use this release! However, it also bumps the minimum Cocoapods version to iOS 7.0 due to Xcode 9 incompatibilities with iOS 6. See all the changes, and the changelog.

This release is made up of about 4 commits. Thanks to contributors @joeljfischer.

Below are highlights of the release:

Bug Fixes

  • Fixes some head units not connecting properly due to the start service payload length not being set properly.

v4.7.1 - Xcode 9

20 Sep 15:38
Compare
Choose a tag to compare

To develop in Xcode 9, you must use this release! However, it also bumps the minimum Cocoapods version to iOS 7.0 due to Xcode 9 incompatibilities with iOS 6. See all the changes, and the changelog.

This release is made up of about 8 commits. Thanks to contributors @joeljfischer, @cromotron.

Below are highlights of the release:

Breaking Changes

  • This bumps up the minimum supported version to 7.0 due to Xcode 9 changes. The upcoming v5.0.0 will raise the minimum version to 8.0.

Bug Fixes

  • Fixes the possibility of timers not being appropriately deallocated #382.

Tests

  • Any tests must now be run on Xcode 9.
  • The travis config file has been updated to run on Xcode 9.

v4.7.0 - Update your protocol strings!

31 Aug 17:35
Compare
Choose a tag to compare

This is the first release which has features largely guided by the SDL Steering Committee. See all the changes, and the changelog.

This release is made up of about 140 commits. Thanks to contributors @joeljfischer, @BrettyWhite, @NicoleYarroch, @jamescs, and @davidswi.

Below are highlights of the release:

Enhancements

  • This library implements RPC Spec v4.5.0, Protocol Spec v5.0.0.
  • Added App type enum: PROJECTION, for an app that uses video streaming for its interface yet is not a navigation app SDL-0031.
  • Added new TouchType enum for touch canceled SDL-0049.
  • Expanded the SyncMsgVersion struct on Register App Interface Response to include a patch version SDL-0050.
  • Support new protocol spec with constructed control frame payloads SDL-0052 SDL-0078.
  • Added GetSystemCapability RPC request for retrieving additional capabilities. This also expanded the HMICapabilities struct in the RegisterAppInterfaceResponse SDL-0055 SDL-0058.
  • Added language enums for various additional languages SDL-0060 and SDL-0076.
  • Expanded the Show RPC to include metadata types for text fields SDL-0073.
  • Added SendHapticData RPC to send rectangles of touchable buttons in video streaming. This allows the head units with haptic interface devices (such as a selection wheel) to highlight selectable areas SDL-0075.
  • Support IAP multisession with a new protocol string com.smartdevicelink.multisession SDL-0080. Please check the README and add the new protocol string to your apps! This will improve your successful connection rate on supported head units.

In addition to various bug fixes and improvements.

v4.7.0 Release Candidate 1

29 Aug 16:49
Compare
Choose a tag to compare
Pre-release

See the changelog for the full release notes